@arcgis/core 5.1.0-next.73 → 5.1.0-next.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/Viewpoint.js +1 -1
  2. package/applications/Urban/editingSessionUtils.d.ts +95 -0
  3. package/applications/Urban/editingSessionUtils.js +2 -0
  4. package/arcade/ArcadePortal.js +1 -1
  5. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  6. package/arcade/functions/aiServices.js +1 -1
  7. package/arcade/functions/featuresetbase.js +1 -1
  8. package/arcade/functions/geomasync.js +1 -1
  9. package/arcade/functions/knowledgegraph.js +1 -1
  10. package/arcade/functions/string.js +1 -1
  11. package/arcade/languageUtils.js +1 -1
  12. package/arcade/portalUtils.js +1 -1
  13. package/assets/esri/core/workers/RemoteClient.js +1 -1
  14. package/assets/esri/core/workers/chunks/{d17fcfc502f0e0fa6523.js → 003476e950bd27a2f884.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{8a664451845a47048859.js → 0539b5d015157c1d34a0.js} +1 -1
  16. package/assets/esri/core/workers/chunks/07aca5ecad659d55e795.js +2 -0
  17. package/assets/esri/core/workers/chunks/{5a4d7ba6dc1d4b41d80d.js → 07eff82916681fcff069.js} +1 -1
  18. package/assets/esri/core/workers/chunks/09630888267cde87654f.js +1 -0
  19. package/assets/esri/core/workers/chunks/{8a14e3db28c403b046cf.js → 0d2bc1be5802681666a4.js} +1 -1
  20. package/assets/esri/core/workers/chunks/0eed2b1b06355ab89013.js +1 -0
  21. package/assets/esri/core/workers/chunks/0fa207c68dfd7ddee160.js +1 -0
  22. package/assets/esri/core/workers/chunks/146424b5717d0a645ee1.js +1 -0
  23. package/assets/esri/core/workers/chunks/{cfe246adb5e6cb6f0cfc.js → 14eb2cc8e2ad6d8d03fd.js} +1 -1
  24. package/assets/esri/core/workers/chunks/1765dfeac20e34ce25b7.js +1 -0
  25. package/assets/esri/core/workers/chunks/176dd195f77b98cb0b0f.js +1 -0
  26. package/assets/esri/core/workers/chunks/18f77ee3552d92962f15.js +1 -0
  27. package/assets/esri/core/workers/chunks/1906416c84bab369bbd6.js +1 -0
  28. package/assets/esri/core/workers/chunks/1a87e9bbd85ba29b1514.js +1 -0
  29. package/assets/esri/core/workers/chunks/{b98c24229463029504e8.js → 1f6b7626f333809837ef.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{b54b7cc6b23a70fed700.js → 1f8ccf96069ac3a40c3d.js} +1 -1
  31. package/assets/esri/core/workers/chunks/1ff3c15a51c4dc991806.js +1 -0
  32. package/assets/esri/core/workers/chunks/{cdf6ad970dc1893dac58.js → 24646a1176ce34039155.js} +1 -1
  33. package/assets/esri/core/workers/chunks/2a2e97918524e0f436d7.js +1 -0
  34. package/assets/esri/core/workers/chunks/2b0b398180ed98c2c84c.js +1 -0
  35. package/assets/esri/core/workers/chunks/{03894992558d063d0d5e.js → 312036c89a6a09bb06c2.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{80ace1c7203c5059525d.js → 330b47ac0759c3c35cc5.js} +1 -1
  37. package/assets/esri/core/workers/chunks/34b6b5dd415c68f0b0d1.js +1 -0
  38. package/assets/esri/core/workers/chunks/{422824e407b550170c8c.js → 34ea3ed78041437a8fc8.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{93ceb74ac88ef460fe5f.js → 359d3acb3953e64e5a78.js} +1 -1
  40. package/assets/esri/core/workers/chunks/384c235d36f32769e32b.js +1 -0
  41. package/assets/esri/core/workers/chunks/3a183259805638c25363.js +1 -0
  42. package/assets/esri/core/workers/chunks/{0839da55707f7c4cf780.js → 3b9100c59a8050f4834e.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{deaca3cd202851ecf9c2.js → 3cce9dad8ee0e4971d50.js} +1 -1
  44. package/assets/esri/core/workers/chunks/3efbb684c0409955186d.js +1 -0
  45. package/assets/esri/core/workers/chunks/40d251b6b42a41d68bd2.js +1 -0
  46. package/assets/esri/core/workers/chunks/42336e0d1ef88737b078.js +1 -0
  47. package/assets/esri/core/workers/chunks/452c01cecbbd1e370098.js +1 -0
  48. package/assets/esri/core/workers/chunks/47656ec12401e53f4bd3.js +1 -0
  49. package/assets/esri/core/workers/chunks/47b3a5213539548ff3a6.js +1 -0
  50. package/assets/esri/core/workers/chunks/{260d4571722cb1ff1366.js → 484d6c1b0fe1633515b7.js} +1 -1
  51. package/assets/esri/core/workers/chunks/4a23b27bfbcfa08fd9a7.js +1 -0
  52. package/assets/esri/core/workers/chunks/4c97cc922eece3a91b6b.js +1 -0
  53. package/assets/esri/core/workers/chunks/52b3a11c962810bc6dbe.js +1 -0
  54. package/assets/esri/core/workers/chunks/53750e85f3128993a43a.js +1 -0
  55. package/assets/esri/core/workers/chunks/{f207b3be0714cc50030a.js → 537fe2522dff1e6ce03b.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{656d6963e8f837fbf28f.js → 54023458195549f66215.js} +1 -1
  57. package/assets/esri/core/workers/chunks/55fd201ca5e10c6e4761.js +1 -0
  58. package/assets/esri/core/workers/chunks/56941e8bbd2d49bf2656.js +1 -0
  59. package/assets/esri/core/workers/chunks/{faad127dc07e54e7f6d1.js → 5abe34bb0110694f7b42.js} +1 -1
  60. package/assets/esri/core/workers/chunks/5d8e944b192aad4cf986.js +1 -0
  61. package/assets/esri/core/workers/chunks/{a78bc340a794fd332667.js → 5e1b847b116d21908a54.js} +1 -1
  62. package/assets/esri/core/workers/chunks/5ed8d8b5336c81fbcda3.js +1 -0
  63. package/assets/esri/core/workers/chunks/60915a3708a34da1977e.js +1 -0
  64. package/assets/esri/core/workers/chunks/6124141ac642e4ce1454.js +1 -0
  65. package/assets/esri/core/workers/chunks/61c523dd9d8027922465.js +1 -0
  66. package/assets/esri/core/workers/chunks/65c61171e6c6be5c5c2f.js +1 -0
  67. package/assets/esri/core/workers/chunks/6a3d207308b29651f397.js +1 -0
  68. package/assets/esri/core/workers/chunks/{b6cadb8a579241adcb86.js → 6b66fc32451433129a88.js} +1 -1
  69. package/assets/esri/core/workers/chunks/6c35583707f5c339ee99.js +1 -0
  70. package/assets/esri/core/workers/chunks/6f7aaba26773fe416ac2.js +1 -0
  71. package/assets/esri/core/workers/chunks/702e8468836863abd81b.js +1 -0
  72. package/assets/esri/core/workers/chunks/7540f7df86620f067b5a.js +1 -0
  73. package/assets/esri/core/workers/chunks/{9f4b97204def91567e3c.js → 7595ceba529ed01c7590.js} +1 -1
  74. package/assets/esri/core/workers/chunks/75d5ea0da181f9e7425f.js +1312 -0
  75. package/assets/esri/core/workers/chunks/{af75e91b88e747aa76ac.js → 7601278ebced0c0c31cf.js} +1 -1
  76. package/assets/esri/core/workers/chunks/76e34f81bb4a7b0e694c.js +1 -0
  77. package/assets/esri/core/workers/chunks/{1661684357912726a72a.js → 77dd719516138afb1a2a.js} +1 -1
  78. package/assets/esri/core/workers/chunks/7b6c8be59ed87e386aa4.js +1 -0
  79. package/assets/esri/core/workers/chunks/7c820c5f6f05480d5050.js +1 -0
  80. package/assets/esri/core/workers/chunks/{ce2aa75e084ee56f5e29.js → 7f55eef696e9ed717bfc.js} +1 -1
  81. package/assets/esri/core/workers/chunks/80f4f686ce403cb2693f.js +1 -0
  82. package/assets/esri/core/workers/chunks/852f4cd514008fee5a55.js +1 -0
  83. package/assets/esri/core/workers/chunks/85aac8539996372f1ee8.js +1 -0
  84. package/assets/esri/core/workers/chunks/{50d5d6654ada9f28345d.js → 85e65ced3312bf9cf162.js} +1 -1
  85. package/assets/esri/core/workers/chunks/8a3bff0f58483c1665f9.js +1 -0
  86. package/assets/esri/core/workers/chunks/8b046e28f879079caada.js +1 -0
  87. package/assets/esri/core/workers/chunks/8d738e9acc2f222235ea.js +1 -0
  88. package/assets/esri/core/workers/chunks/{b9848bdbaf3d9ac93d54.js → 8f4cd30ce23e41c1a42c.js} +1 -1
  89. package/assets/esri/core/workers/chunks/9103eb0b9078019d3a26.js +1 -0
  90. package/assets/esri/core/workers/chunks/915e2711d3a2cfa402b2.js +1 -0
  91. package/assets/esri/core/workers/chunks/91f9e0e3662d4bf9f163.js +1 -0
  92. package/assets/esri/core/workers/chunks/983f6c8727fd9484718e.js +1 -0
  93. package/assets/esri/core/workers/chunks/99c161fecae710b53b40.js +1 -0
  94. package/assets/esri/core/workers/chunks/99d298d0039c536fcf3e.js +1 -0
  95. package/assets/esri/core/workers/chunks/9a5ef33d99a8f89956ff.js +1 -0
  96. package/assets/esri/core/workers/chunks/9d10db72e342fe63c981.js +1 -0
  97. package/assets/esri/core/workers/chunks/{bef27a25fbc4a6e19ec0.js → 9d6491f996eeb0c646ed.js} +1 -1
  98. package/assets/esri/core/workers/chunks/a015c2f54eb91e43a1f4.js +1 -0
  99. package/assets/esri/core/workers/chunks/a242ec19a7508de436da.js +1 -0
  100. package/assets/esri/core/workers/chunks/a320998f18922a35899f.js +1 -0
  101. package/assets/esri/core/workers/chunks/a7f9f478bd1493fc3c76.js +1 -0
  102. package/assets/esri/core/workers/chunks/aac6a57edd7494125204.js +1 -0
  103. package/assets/esri/core/workers/chunks/b73c146d3e550eaf07eb.js +1 -0
  104. package/assets/esri/core/workers/chunks/b7af0e6b9aadbcaf6a0b.js +1 -0
  105. package/assets/esri/core/workers/chunks/b803e7b0d489bb628d72.js +1 -0
  106. package/assets/esri/core/workers/chunks/b858adff7043683fe41c.js +1 -0
  107. package/assets/esri/core/workers/chunks/baeb96aef03d4c566af7.js +1 -0
  108. package/assets/esri/core/workers/chunks/bc75ab48f4c7609ef09d.js +1 -0
  109. package/assets/esri/core/workers/chunks/bc78937986854e500b8e.js +1 -0
  110. package/assets/esri/core/workers/chunks/{6ef3b8d67b498d655a99.js → bcb021a167580bb1619f.js} +1 -1
  111. package/assets/esri/core/workers/chunks/bd10d21545bca9a49de0.js +1 -0
  112. package/assets/esri/core/workers/chunks/bec3ee5ea945e1e07a35.js +1 -0
  113. package/assets/esri/core/workers/chunks/{5c663d5f98bdfa29151b.js → bf8f603848bad4a7deb4.js} +1 -1
  114. package/assets/esri/core/workers/chunks/bfe575da727ce7c8d331.js +2 -0
  115. package/assets/esri/core/workers/chunks/c31ee5617c61a933cb0e.js +1 -0
  116. package/assets/esri/core/workers/chunks/cb45e5d4a4ef82cda583.js +1 -0
  117. package/assets/esri/core/workers/chunks/ce7ef7c4ca14d66d96f6.js +1 -0
  118. package/assets/esri/core/workers/chunks/{f5c57ff48ca505ed701d.js → cf14b3a44705dacefac4.js} +1 -1
  119. package/assets/esri/core/workers/chunks/d1a7d13e1d48abcd7bf1.js +1 -0
  120. package/assets/esri/core/workers/chunks/{06df187a116709f69952.js → d35c475f004367e333eb.js} +1 -1
  121. package/assets/esri/core/workers/chunks/d3b086eb9aa8c7d09048.js +1 -0
  122. package/assets/esri/core/workers/chunks/d55cef8199b8246fea3f.js +1 -0
  123. package/assets/esri/core/workers/chunks/d82da31dc702b8fd6a07.js +1 -0
  124. package/assets/esri/core/workers/chunks/d8decaee2c780e1b5e35.js +1 -0
  125. package/assets/esri/core/workers/chunks/{41809c16544ec25120fa.js → d95ffd990b3a7df69e1e.js} +1 -1
  126. package/assets/esri/core/workers/chunks/dc54d4a9fe1691862356.js +1 -0
  127. package/assets/esri/core/workers/chunks/dd4f431511edd975a53b.js +1 -0
  128. package/assets/esri/core/workers/chunks/dda2cb5c073d1e65f14f.js +1 -0
  129. package/assets/esri/core/workers/chunks/e18badd11f360cc2912b.js +1 -0
  130. package/assets/esri/core/workers/chunks/{e25a684eb9f025bdcc01.js → e262c4864dc06c43b380.js} +1 -1
  131. package/assets/esri/core/workers/chunks/e610d24539a675fb054b.js +1 -0
  132. package/assets/esri/core/workers/chunks/{99101789035f1787c630.js → e785f76c1a75cb1d1e1f.js} +1 -1
  133. package/assets/esri/core/workers/chunks/e9c5c295b6bf10e942a4.js +1 -0
  134. package/assets/esri/core/workers/chunks/ea59b81299acaf0d85ee.js +1 -0
  135. package/assets/esri/core/workers/chunks/{873c1b705ac3d4e6c384.js → ea97619a4470f1540b99.js} +1 -1
  136. package/assets/esri/core/workers/chunks/eaab5ac049622986e3bc.js +1 -0
  137. package/assets/esri/core/workers/chunks/edee616b6f1b5be8fd39.js +1 -0
  138. package/assets/esri/core/workers/chunks/ef0085aa743b33cb549f.js +1 -0
  139. package/assets/esri/core/workers/chunks/f0250cecb243b32cdba7.js +1 -0
  140. package/assets/esri/core/workers/chunks/f518835b2dc89a48cfb1.js +1 -0
  141. package/assets/esri/core/workers/chunks/f590b60fca607d66001a.js +1 -0
  142. package/assets/esri/core/workers/chunks/{f6d047358d14328f3622.js → f60292d97bcdbf19165b.js} +1 -1
  143. package/assets/esri/core/workers/chunks/f6c8e93ca2987e83f925.js +1 -0
  144. package/assets/esri/core/workers/chunks/fb5a2205f05afc396119.js +1 -0
  145. package/assets/esri/themes/base/widgets/_Sketch.scss +32 -0
  146. package/assets/esri/themes/dark/main.css +1 -1
  147. package/assets/esri/themes/light/main.css +1 -1
  148. package/assets/esri/themes/light/view.css +1 -1
  149. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  150. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  151. package/assets/esri/widgets/Sketch/t9n/Sketch.json +1 -1
  152. package/assets/esri/widgets/Sketch/t9n/Sketch_en.json +1 -1
  153. package/chunks/MultiPathImpl.js +1 -1
  154. package/chunks/Point2D.js +1 -1
  155. package/chunks/SpatialReference.js +1 -1
  156. package/chunks/aiServices.js +1 -1
  157. package/chunks/geometryEngineBase.js +1 -1
  158. package/chunks/languageUtils.js +1 -1
  159. package/config.js +1 -1
  160. package/core/has.js +1 -1
  161. package/core/workers/registry.js +1 -1
  162. package/form/elements/AttachmentElement.d.ts +15 -16
  163. package/form/elements/FieldElement.js +1 -1
  164. package/form/elements/GroupElement.d.ts +3 -2
  165. package/form/elements/inputs/attachments/AttachmentInput.d.ts +7 -9
  166. package/form/elements/inputs/attachments/AudioInput.d.ts +6 -8
  167. package/form/elements/inputs/attachments/DocumentInput.d.ts +5 -7
  168. package/form/elements/inputs/attachments/ImageInput.d.ts +6 -8
  169. package/form/elements/inputs/attachments/Input.d.ts +2 -6
  170. package/form/elements/inputs/attachments/SignatureInput.d.ts +5 -7
  171. package/form/elements/inputs/attachments/VideoInput.d.ts +6 -8
  172. package/form/elements/inputs/attachments/types.d.ts +3 -3
  173. package/geometry/FlatGeometry.js +1 -1
  174. package/geometry/geometryEngine.js +1 -1
  175. package/geometry/geometryEngineJSON.js +1 -1
  176. package/geometry/operators/projectOperator.d.ts +5 -4
  177. package/geometry/operators/projectOperator.js +1 -1
  178. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  179. package/geometry/support/normalizeUtils.js +1 -1
  180. package/geometry/support/normalizeUtilsCommon.js +1 -1
  181. package/graphic/ImageryGraphicOrigin.js +1 -1
  182. package/graphic/ImageryTileGraphicOrigin.js +1 -1
  183. package/graphic/WCSGraphicOrigin.js +1 -1
  184. package/identity/IdentityManagerBase.js +1 -1
  185. package/kernel.js +1 -1
  186. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  187. package/layers/IntegratedMeshLayer.js +1 -1
  188. package/layers/mixins/ArcGISImageService.js +1 -1
  189. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  190. package/layers/support/SymbolLayerDrawing.d.ts +18 -4
  191. package/package.json +4 -4
  192. package/popup/Features.d.ts +9 -9
  193. package/popup/Features.js +1 -1
  194. package/popup/actionUtils.js +1 -1
  195. package/popup/actions.js +1 -1
  196. package/portal/Portal.js +1 -1
  197. package/portal/PortalQueryParams.js +1 -1
  198. package/rest/print.js +1 -1
  199. package/support/revision.js +1 -1
  200. package/symbols/cim/CIMSymbolHelper.js +1 -1
  201. package/symbols/cim/CIMSymbolRasterizer.js +1 -1
  202. package/symbols/support/previewCIMSymbol.js +1 -1
  203. package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
  204. package/views/2d/engine/webgl/TextureManager.js +1 -1
  205. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  206. package/views/2d/layers/MediaLayerView2D.js +1 -1
  207. package/views/2d/layers/TileLayerView2D.js +1 -1
  208. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  209. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  210. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  211. package/views/3d/analysis/Dimension/DimensionController.js +1 -1
  212. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  213. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  214. package/views/3d/camera/intersectionUtils.js +1 -1
  215. package/views/3d/input/SceneInputManager.js +1 -1
  216. package/views/3d/input/handlers/PinchAndPanNavigation.js +1 -1
  217. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  218. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  219. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
  220. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  221. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  222. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  223. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  224. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  225. package/views/3d/state/GoToOperation.js +1 -1
  226. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  227. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  228. package/views/3d/support/cameraScaleUtils.js +2 -0
  229. package/views/3d/support/cameraUtils.js +1 -1
  230. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  231. package/views/3d/support/renderInfoUtils/line.js +1 -1
  232. package/views/3d/support/viewpointUtils.js +1 -1
  233. package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
  234. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +13 -12
  235. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  236. package/views/3d/webgl.js +1 -1
  237. package/views/SceneView.d.ts +1 -0
  238. package/views/VideoView.js +1 -1
  239. package/views/draw/DrawGraphicTool.js +1 -1
  240. package/views/draw/DrawTool.js +1 -1
  241. package/views/draw/support/Box.js +1 -1
  242. package/views/draw/support/Reshape.js +1 -1
  243. package/views/draw/support/editingSessionUtils.js +2 -0
  244. package/views/draw/support/managers/MeasurementManager.js +1 -1
  245. package/views/interactive/SegmentLabels.js +1 -1
  246. package/views/interactive/sketch/SketchTooltipOptions.d.ts +9 -1
  247. package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
  248. package/views/support/GeometryWorker.js +2 -0
  249. package/views/support/GeometryWorkerHandle.js +2 -0
  250. package/views/support/Scheduler.js +1 -1
  251. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  252. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  253. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  254. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  255. package/widgets/Editor/EditorViewModel.js +1 -1
  256. package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
  257. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  258. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  259. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  260. package/widgets/Editor/support/SketchController.js +1 -1
  261. package/widgets/Editor/workflowUtils.js +1 -1
  262. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -3
  263. package/widgets/FeatureTable/Grid/GridViewModel.d.ts +2 -11
  264. package/widgets/FeatureTable/support/types.d.ts +2 -1
  265. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.d.ts +28 -0
  266. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
  267. package/widgets/OrientedImageryViewer.d.ts +27 -0
  268. package/widgets/Sketch/SketchViewModel.d.ts +10 -2
  269. package/widgets/Sketch/SketchViewModel.js +1 -1
  270. package/widgets/Sketch/support/ResponsiveToolbar/MeasuredContentGroup.js +1 -1
  271. package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
  272. package/widgets/Sketch.js +1 -1
  273. package/assets/esri/core/workers/chunks/00bae4b7e179336e0362.js +0 -1
  274. package/assets/esri/core/workers/chunks/027c3ea756db68e51f0a.js +0 -1
  275. package/assets/esri/core/workers/chunks/041c372e98a6fba90b36.js +0 -1
  276. package/assets/esri/core/workers/chunks/0783890816bac45277b9.js +0 -1
  277. package/assets/esri/core/workers/chunks/07aac6245a0d1adbb2d4.js +0 -1
  278. package/assets/esri/core/workers/chunks/0c00e5e4bd18467bcecd.js +0 -1
  279. package/assets/esri/core/workers/chunks/0dad0bca8d58b2c63d22.js +0 -1
  280. package/assets/esri/core/workers/chunks/0ef93722524620023f69.js +0 -1
  281. package/assets/esri/core/workers/chunks/1286f41f245ef22b3a26.js +0 -1
  282. package/assets/esri/core/workers/chunks/12e575a6d2b008b8fc2b.js +0 -1
  283. package/assets/esri/core/workers/chunks/161d60fdac2013c15543.js +0 -1
  284. package/assets/esri/core/workers/chunks/168de44a789d1cecc1f8.js +0 -1
  285. package/assets/esri/core/workers/chunks/1d9d7915cf7449e5d468.js +0 -1
  286. package/assets/esri/core/workers/chunks/235cb82952a18ff8d206.js +0 -1
  287. package/assets/esri/core/workers/chunks/266ba61b72a278d93a26.js +0 -1
  288. package/assets/esri/core/workers/chunks/27b80c386cebadcaca3c.js +0 -1
  289. package/assets/esri/core/workers/chunks/29d3890a5a43d934067a.js +0 -1
  290. package/assets/esri/core/workers/chunks/29e76256e3e867e80520.js +0 -1
  291. package/assets/esri/core/workers/chunks/2abf124e2956e4f76688.js +0 -1
  292. package/assets/esri/core/workers/chunks/2f17438d215bea3ce70f.js +0 -1
  293. package/assets/esri/core/workers/chunks/30f04dc001eaf838d64c.js +0 -1
  294. package/assets/esri/core/workers/chunks/356cb86606b8c674f947.js +0 -1
  295. package/assets/esri/core/workers/chunks/398e0dd2bc7e1ab84831.js +0 -1
  296. package/assets/esri/core/workers/chunks/3b1052aa30af3f6186cc.js +0 -1
  297. package/assets/esri/core/workers/chunks/3e87e3ad857d72f6ecbb.js +0 -1
  298. package/assets/esri/core/workers/chunks/42e483fde18f12da32a6.js +0 -1
  299. package/assets/esri/core/workers/chunks/43678e08a3d9d51c2a6d.js +0 -1
  300. package/assets/esri/core/workers/chunks/43ab44d37bc0ea97ef98.js +0 -1
  301. package/assets/esri/core/workers/chunks/47f2113357b2aa4f4f37.js +0 -1
  302. package/assets/esri/core/workers/chunks/488ed9584b527ec47be3.js +0 -1
  303. package/assets/esri/core/workers/chunks/4ad32580e0c0699fde1f.js +0 -1
  304. package/assets/esri/core/workers/chunks/54ed37ec9682ea739deb.js +0 -1
  305. package/assets/esri/core/workers/chunks/55369c5bd65bcaf78da1.js +0 -1
  306. package/assets/esri/core/workers/chunks/56fd3da911c2c4511e5d.js +0 -1
  307. package/assets/esri/core/workers/chunks/59592bb25f226865e88a.js +0 -1
  308. package/assets/esri/core/workers/chunks/5a83ea967ecde01d5622.js +0 -1
  309. package/assets/esri/core/workers/chunks/5b278b9980752ef495a2.js +0 -1
  310. package/assets/esri/core/workers/chunks/5d55b4449bcb24cd72b6.js +0 -1
  311. package/assets/esri/core/workers/chunks/5d8fe41a3c06ddb4094b.js +0 -1
  312. package/assets/esri/core/workers/chunks/5e59ff96aecdf2adcb3b.js +0 -1
  313. package/assets/esri/core/workers/chunks/608d707fd9d9f9088473.js +0 -1
  314. package/assets/esri/core/workers/chunks/6a21c9a4aeebe806ea39.js +0 -1
  315. package/assets/esri/core/workers/chunks/6c7ff968bd4fc816442d.js +0 -1
  316. package/assets/esri/core/workers/chunks/6d11ec355e5474b2968b.js +0 -1
  317. package/assets/esri/core/workers/chunks/6ea8b0d68881d16a2432.js +0 -1
  318. package/assets/esri/core/workers/chunks/7027d93dc5a4595d70c6.js +0 -1
  319. package/assets/esri/core/workers/chunks/70b35b2446558d5280e3.js +0 -1
  320. package/assets/esri/core/workers/chunks/7349cb45a93e6916f115.js +0 -1
  321. package/assets/esri/core/workers/chunks/74be994d789c57031631.js +0 -1
  322. package/assets/esri/core/workers/chunks/76edaeaf8fe344bb77a8.js +0 -1
  323. package/assets/esri/core/workers/chunks/76fe5b821d6b54db5721.js +0 -1
  324. package/assets/esri/core/workers/chunks/770880ad43f252962017.js +0 -1
  325. package/assets/esri/core/workers/chunks/7951d93f5f15aa76f49c.js +0 -1
  326. package/assets/esri/core/workers/chunks/7a56c836c89a8b978800.js +0 -1
  327. package/assets/esri/core/workers/chunks/81750c5177d8d52a3e05.js +0 -1
  328. package/assets/esri/core/workers/chunks/81d30c9062ad0120a863.js +0 -1
  329. package/assets/esri/core/workers/chunks/84772b023d04e415f17f.js +0 -1
  330. package/assets/esri/core/workers/chunks/88c5f7c712c6b89b5109.js +0 -1
  331. package/assets/esri/core/workers/chunks/88e469b82d2594f23649.js +0 -1
  332. package/assets/esri/core/workers/chunks/8a8242e7cc7e6a9e7876.js +0 -1
  333. package/assets/esri/core/workers/chunks/9444ed8ea117861ae89b.js +0 -1
  334. package/assets/esri/core/workers/chunks/9a38fd68b02b617c45d3.js +0 -1
  335. package/assets/esri/core/workers/chunks/9eb4ae556950e1d0124d.js +0 -2
  336. package/assets/esri/core/workers/chunks/a11f05ddd8314b648f76.js +0 -1
  337. package/assets/esri/core/workers/chunks/a37c28e3c4a2be9fd1d5.js +0 -1
  338. package/assets/esri/core/workers/chunks/a8d7f59927bdad564141.js +0 -1
  339. package/assets/esri/core/workers/chunks/a94bd20551c1179c7ec5.js +0 -1
  340. package/assets/esri/core/workers/chunks/abe22ae8ee0dcc9efbb7.js +0 -1
  341. package/assets/esri/core/workers/chunks/af5db0372d526e592fcc.js +0 -1
  342. package/assets/esri/core/workers/chunks/b702279c48f3009f6dd8.js +0 -1
  343. package/assets/esri/core/workers/chunks/bc53ce9a643f82d516c2.js +0 -1
  344. package/assets/esri/core/workers/chunks/bc887bd62579dba81e2b.js +0 -1
  345. package/assets/esri/core/workers/chunks/be1d6a571f76933dfbb0.js +0 -1
  346. package/assets/esri/core/workers/chunks/bfcdc5c315131aae34d8.js +0 -1
  347. package/assets/esri/core/workers/chunks/c0f624a2ca0d07ef8f8c.js +0 -1
  348. package/assets/esri/core/workers/chunks/c327fe276238af60fda4.js +0 -1
  349. package/assets/esri/core/workers/chunks/c3381b9a36299210ee47.js +0 -1
  350. package/assets/esri/core/workers/chunks/cb5e4b9b4a59c2622eb5.js +0 -1
  351. package/assets/esri/core/workers/chunks/d201a5dff18a5bb467ab.js +0 -1
  352. package/assets/esri/core/workers/chunks/d21fdd67477800101f3b.js +0 -1
  353. package/assets/esri/core/workers/chunks/d65b1234867f7d773d50.js +0 -2
  354. package/assets/esri/core/workers/chunks/d8d7331600d93bbca2b4.js +0 -1
  355. package/assets/esri/core/workers/chunks/db588bf3256e95c977b7.js +0 -1
  356. package/assets/esri/core/workers/chunks/dfdd474fddcd1d6091ce.js +0 -1
  357. package/assets/esri/core/workers/chunks/e1bc9ad767e08dc18bbc.js +0 -1
  358. package/assets/esri/core/workers/chunks/e235ea4293d5d463acfb.js +0 -1
  359. package/assets/esri/core/workers/chunks/e272411e2c9378aa8496.js +0 -1312
  360. package/assets/esri/core/workers/chunks/e43486113aaf72ac4dc1.js +0 -1
  361. package/assets/esri/core/workers/chunks/ea4c3393c5757e309a71.js +0 -1
  362. package/assets/esri/core/workers/chunks/ed216ddeb7f59f510bd0.js +0 -1
  363. package/assets/esri/core/workers/chunks/ef8886dff54063928bcb.js +0 -1
  364. package/assets/esri/core/workers/chunks/f43a63094190d2074cd0.js +0 -1
  365. package/assets/esri/core/workers/chunks/f5223ffb3be548c9b0a1.js +0 -1
  366. package/assets/esri/core/workers/chunks/fa160a2a5dc9f5a7c34b.js +0 -1
  367. package/geometry/support/triangulationUtilsDeprecated.js +0 -2
  368. package/views/3d/layers/graphics/extrudeUtilsDeprecated.js +0 -2
  369. package/views/3d/support/renderInfoUtils/polygonDeprecated.js +0 -2
  370. package/views/support/MeasurementWorker.js +0 -2
  371. package/views/support/MeasurementWorkerHandle.js +0 -2
  372. /package/assets/esri/core/workers/chunks/{9eb4ae556950e1d0124d.js.LICENSE.txt → 07aca5ecad659d55e795.js.LICENSE.txt} +0 -0
  373. /package/assets/esri/core/workers/chunks/{d65b1234867f7d773d50.js.LICENSE.txt → bfe575da727ce7c8d331.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3661],{55537(t,s,e){function i(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}e.d(s,{A:()=>I,B:()=>k,C:()=>L,D:()=>S,G:()=>m,a:()=>M,b:()=>w,c:()=>R,d:()=>z,e:()=>v,f:()=>d,g:()=>i,h:()=>x,i:()=>p,j:()=>N,k:()=>b,l:()=>_,m:()=>g,n:()=>T,o:()=>E,p:()=>B,q:()=>D,r:()=>q,s:()=>C,t:()=>A,u:()=>P,v:()=>y,w:()=>Z,x:()=>F,y:()=>G,z:()=>f});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 u extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class h extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class o extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var m,l;(l=m||(m={}))[l.enumUnknown=0]="enumUnknown",l[l.enumPoint=513]="enumPoint",l[l.enumLine=5122]="enumLine",l[l.enumBezier=5123]="enumBezier",l[l.enumEllipticArc=5124]="enumEllipticArc",l[l.enumEnvelope=3077]="enumEnvelope",l[l.enumMultiPoint=8710]="enumMultiPoint",l[l.enumPolyline=25607]="enumPolyline",l[l.enumPolygon=27656]="enumPolygon",l[l.enumMultipatch=40969]="enumMultipatch",l[l.enumGeometryCollection=3594]="enumGeometryCollection",l[l.enumRationalBezier2=5134]="enumRationalBezier2",l[l.enumBezier2=5135]="enumBezier2",l[l.enumRationalBezier23d=5392]="enumRationalBezier23d",l[l.enumGreatArc3d=5393]="enumGreatArc3d";const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function f(t){return c[15&t]}function v(t){return!!(512&t)}function _(t){return!!(1024&t)}function b(t){return!!(2048&t)}function d(t){return!!(4096&t)}function p(t){return!!(8192&t)}function x(t){return!!(16384&t)}function N(t){return!!(32768&t)}function y(t){const s=t.getGeometryType();return p(s)?t.getPointCount():t.isEmpty()?0:s===m.enumEnvelope?4:s===m.enumPoint?1:d(s)?2:void z("missing type")}function g(t){const s=t.getGeometryType();if(x(s))return t.hasNonLinearSegments();if(s===m.enumGeometryCollection){const s=t;for(let t=0,e=s.getGeometryCount();t<e;t++)if(g(s.getGeometry(t)))return!0;return!1}return!!d(s)&&s!==m.enumLine}function T(t){throw new o(t)}function E(t){throw new r(t)}function M(t){throw new Error(t)}function w(t){throw new h(t)}function I(){M("Geometry type is not supported for 3D operations.")}function D(t){throw new n(12,t)}function P(t){throw new u(t)}function A(t){throw new n(14,t)}function q(t){throw new Error(t)}function z(t){throw new n(13,t)}function C(t){throw new Error(t)}function Z(t){throw new a(t)}function B(t){t&&g(t)&&A("Operation does not support curves.")}function R(t){t&&N(t.getGeometryType())&&A("Unsupported geometry type.")}function k(t){t===m.enumGeometryCollection&&M("Geometry_collection instances are not supported in this operation")}function G(t){k(t.getGeometryType())}function S(t){M(`bad wkid: ${t}`)}function L(t){let s="bad wkt: ";s+=t,s+="...",M(s)}function F(t,s){t||M(s)}},83661(t,s,e){e.d(s,{$:()=>Ms,A:()=>ft,B:()=>_s,C:()=>xt,D:()=>xs,E:()=>a,F:()=>Jt,G:()=>Ht,H:()=>l,I:()=>p,J:()=>d,K:()=>n,L:()=>Pt,M:()=>zs,N:()=>ys,O:()=>Ns,P:()=>Ls,Q:()=>$t,R:()=>St,S:()=>Zt,T:()=>Is,U:()=>R,V:()=>ct,W:()=>Ct,X:()=>Z,Y:()=>B,Z:()=>pt,_:()=>A,a:()=>G,a0:()=>Ps,a1:()=>D,a2:()=>P,a3:()=>q,a4:()=>z,a5:()=>x,a6:()=>Bs,a7:()=>Nt,a8:()=>Es,a9:()=>ws,aA:()=>hs,aB:()=>Ss,aC:()=>Xt,aD:()=>Ts,aE:()=>M,aF:()=>ls,aG:()=>Qt,aH:()=>Gs,aI:()=>ks,aJ:()=>vs,aK:()=>ms,aa:()=>it,ab:()=>nt,ac:()=>wt,ad:()=>N,ae:()=>y,af:()=>et,ag:()=>Rt,ah:()=>Zs,ai:()=>Cs,aj:()=>lt,ak:()=>As,al:()=>yt,am:()=>V,an:()=>S,ao:()=>at,ap:()=>L,aq:()=>ps,ar:()=>ss,as:()=>_t,at:()=>os,au:()=>cs,av:()=>At,aw:()=>Dt,ax:()=>I,ay:()=>Tt,az:()=>as,b:()=>vt,c:()=>bt,d:()=>zt,e:()=>F,f:()=>w,g:()=>ds,h:()=>Et,i:()=>ts,j:()=>Wt,k:()=>Bt,l:()=>st,m:()=>It,n:()=>qt,o:()=>Gt,p:()=>kt,q:()=>C,r:()=>Kt,s:()=>gs,t:()=>O,u:()=>gt,v:()=>dt,w:()=>Mt,x:()=>k,y:()=>g,z:()=>E});var i=e(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 e;if(Math.abs(this.sum)>=Math.abs(t)){const i=this.sum-s+t;e=this.compensation+i}else{const i=t-s+this.sum;e=this.compensation+i}this.sum=s,this.compensation=e}sub(t){this.add(-t)}addProduct(t,s){const e=[0],i=J(t,s,e);this.add(i),this.add(e[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],u=[-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 o(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 $t(this.vmin,t)&&$t(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,e=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(e)}mergeNe(t){const s=t.vmin,e=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(e)}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=bt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return gs(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?ds():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*ds()}static unit(){return m}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=bt(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 m=new a(0,1);class l{static getNAN(){return new l(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new l(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=l.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new l(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,e=this.m_eps+t.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}addThis(t){const s=this.m_value+t,e=this.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,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,e=this.m_eps+t.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}subThis(t){const s=this.m_value-t,e=this.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+l.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=l.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+l.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+l.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+l.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=l.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+l.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+l.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+l.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)+l.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 e=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+l.ulp(e),this.m_value=e,this}setMul(t,s){return this.m_value=t*s,this.m_eps=l.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 l(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),e=this.m_value/t.m_value;let i=(this.m_eps+Math.abs(e)*t.m_eps)/s;if(t.m_eps>.01*s){const e=t.m_eps/s;i*=1+(1+e)*e}return this.m_value=e,this.m_eps=i+l.ulp(e),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+l.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=l.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(p.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+=l.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+l.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),e=Math.cos(t.m_value);this.m_value=s;const i=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(e)+.5*i*t.m_eps)*t.m_eps+l.ulp(i+n),this}static ulp(t){let s=Ut(t);const e=((0x7ff0000000000000n&s)>>52n)-1075n;return e>-1023n?(s=e+0x3ffn<<52n,function(t){return Ot[0]=t,Ft[0]}(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),e=Math.cos(t.m_value);this.m_value=e;const i=Math.abs(e),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*i*t.m_eps)*t.m_eps+l.ulp(i+n),this}static st_cosAndSin(t,s,e){const i=Math.sin(t.m_value),n=Math.cos(t.m_value);e.m_value=i,s.m_value=n;const r=Math.abs(i),u=Math.abs(n),h=Math.abs(t.value());e.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+l.ulp(r+h),s.m_eps=(Math.abs(i)+.5*u*t.m_eps)*t.m_eps+l.ulp(u+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(b)}setEuler(){this.set(2.718281828459045,_())}static size(){return 1}}function c(t,s){const e=Vt(t),i=Vt(s),n=53-o(e),r=53-o(i);return(n>=0?n:0)+(r>=0?r:0)<=52}function f(t,s){const e=t+s;return e-t===s&&e-s===t}function v(t,s){const e=t-s;return t-e===s&&s+e===t}function _(){return Ns()}l.dimensions=1;const b=new l(Math.PI,.5*_()),d=new l(0,0),p=new l(1,0),x=new l(4,0);function N(t,s,e){return t.addE(s.subE(t).mulE(e))}function y(t,s,e){return s.subE(s.subE(t).mulE(p.subE(e)))}function g(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 e;const i=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(i/Math.log(n)+2.5)-1;t>1;t-=2)e=1/t,s=(s+e)*n;s+=1}return s}function T(t){const s=Math.PI*Math.PI/6;let e;if(1===t)e=s;else if(t>1)e=s;else if(0===t)e=t;else if(t<0){const s=1+(t=Math.abs(t)),i=Math.log(s);e=i*i/-2-T(t/s)}else if(t>.5){const i=1-t,n=Math.log(t)*Math.log(i);e=s-T(i)-n}else{e=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let i=s;for(let n=s;n>0;n--,i-=1)e*=t,e+=1/(i*i);e*=t}return e}function E(t,s){const e=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=e,s+=1/t/t;return s*=t,s}return T(e)/s}function M(t,s){return t<s?Bt(t,s):Bt(s,t)}function w(t,s){const e=Math.abs(t);return s>=0?e:-e}function I(t){return Math.round(t)}function D(t,s,e,i,n){n[0]=s[0]+(e[0]-s[0])*i,n[1]=s[1]+(e[1]-s[1])*i,3===t&&(n[2]=s[2]+(e[2]-s[2])*i)}function P(t,s,e,i,n){n[0]=e[0]-(e[0]-s[0])*(1-i),n[1]=e[1]-(e[1]-s[1])*(1-i),3===t&&(n[2]=e[2]-(e[2]-s[2])*(1-i))}function A(t,s,e,i,n){i<=.5?D(t,s,e,i,n):P(t,s,e,i,n)}function q(t,s,e,i,n){n[0]=s[0].addE(e[0].subE(s[0]).mulE(i)),n[1]=s[1].addE(e[1].subE(s[1]).mulE(i))}function z(t,s,e,i,n){n[0]=e[0].subE(e[0].subE(s[0]).mulE(p.subE(i))),n[1]=e[1].subE(e[1].subE(s[1]).mulE(p.subE(i)))}function C(t,s,e){let i;return i=e<=.5?t+(s-t)*e:s-(s-t)*(1-e),i}function Z(t,s,e){return t+(s-t)*e}function B(t,s,e){return s-(s-t)*(1-e)}function R(t,s,e,i){e<=.5?(i.x=t.x+(s.x-t.x)*e,i.y=t.y+(s.y-t.y)*e):(i.x=s.x-(s.x-t.x)*(1-e),i.y=s.y-(s.y-t.y)*(1-e))}function k(t,s,e,i){e<=.5?(i.x=t.x+(s.x-t.x)*e,i.y=t.y+(s.y-t.y)*e,i.z=t.z+(s.z-t.z)*e):(i.x=s.x-(s.x-t.x)*(1-e),i.y=s.y-(s.y-t.y)*(1-e),i.z=s.z-(s.z-t.z)*(1-e))}function G(t){return t*t}function S(t){return t*t*t}function L(t){return 1/Math.sqrt(t)}function F(t){return t<0?-1:t>0?1:0}function O(t,s,e,i){const n=[0],r=[0],u=[0];return tt(J(t,e,n),J(s,i,r),u)+(n[0]+r[0]+u[0])}const Q=[0],U=[0];function V(t,s,e){return function(t,s,e,i){const n=tt(t,s,W),r=tt(n,e,X);return tt(r,W[0]+X[0],i)}(J(t,s,Q),e,Q[0],U)}const j=[0],Y=[0],$=[0],H=[0];function J(t,s,e){const i=t*s;return K(t,j,Y),K(s,$,H),e[0]=Y[0]*H[0]-(i-j[0]*$[0]-Y[0]*$[0]-j[0]*H[0]),i}function K(t,s,e){const i=134217729*t;s[0]=i-(i-t),e[0]=t-s[0]}const W=[0],X=[0];function tt(t,s,e){const i=t+s;return Math.abs(t)>Math.abs(s)?e[0]=t-i+s:e[0]=s-i+t,i}function st(t,s){return t%s}function et(t){const s=1-t;if(0===s)return 1;let e;if(s<=.01){const t=s,i=Math.log(t);e=1+t*(.4431471805599453-.25*i+t*(.05680519270997949-.09375*i+t*(.02183137044373718-.05859375*i+t*(.011544521417308362-.042724609375*i+t*(.00714200031339596-.0336456298828125*i+t*(.004854743337164948-.027757644653320312*i+t*(.003514687963781376-.023627042770385742*i)))))))}else{if(t<.016){const s=t,e=.25,i=.046875,n=.01953125,r=.01068115234375,u=.0067291259765625,h=.004626274108886719,o=.0033752918243408203,a=.0025710230693221092;return Is()*(1-s*(e+s*(i+s*(n+s*(r+s*(u+s*(h+s*(o+s*a))))))))}e=rt(0,s,1)-t*ut(0,s,1)/3}return gs(e,1,Is())}function it(t,s,e=Number.NaN){if((0,i.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/Ms()),s=r-t*Ms();return n*(2*t+Math.sin(s))}const u=Is(),h=Math.floor(r/u);1&h?r=(h+1)*u-r:r-=h*u;const o=Math.sin(r),a=Number.isNaN(e)?et(s):e;let m;if(1===o)m=a+Math.sqrt(1-s)*(r-u);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*Ns())m=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),e=Math.sin(4*r),i=Math.sin(6*r),n=Math.sin(8*r),u=Math.sin(10*r);m=r+s*((2*-r+t)/8+s*((-3*r+2*t-.25*e)/64+s*((-20*r+15*t-3*e+i/3)/1024+s*(5*(-140*r+112*t-28*e+16/3*i-.5*n)/65536+7*s*((-63*r+52.5*t-15*e+3.75*i-.625*n+.05*u)/65536+s*(-693*r+594*t-185.625*e+1.375*i-12.375*n+1.8*u-.125*Math.sin(12*r))/1048576)))))}else{const t=o*o,e=Math.cos(r),i=e*e,n=ht(o,e,s);m=o*(rt(i,n,1)-s*t*ut(i,n,1)/3)}}return 1&h?m=a*(h+1)-m:m+=a*h,n*m}function nt(t,s,e=Number.NaN){if(0===t)return 0;let i=1,n=t;t<0&&(n=-n,i=-1);const r=Number.isNaN(e)?et(s):e,u=Math.floor(n/r);1&u?n=(u+1)*r-n:n-=u*r;let h=n<=0?0:n>=r?Is():function(t,s,e){if(0===s)return t;if(1===s)return Math.asin(t);let i=0,n=!0;if(t<.2){const e=t*t,r=t*(1+e*s*(1/6+e*((13*s-4)/120+(16-284*s+493*s*s)/5040*e))),u=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(u<Math.abs(r)*Ns())return r;i=r,n=u>.1*r}if(n){const n=1-s,r=1-t/e,u=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+Ns());i=Is()+Math.sqrt(u)*(h-Is())}let r=0;for(let n=0;n<7;n++){r=it(i,s,e);const u=ht(Math.sin(i),Math.cos(i),s);if(i-=(r-t)/Math.sqrt(u),n>0&&Math.abs(r-t)<=4*Ns()*t)break}return i}(n,s,r);return 1&u?h=Is()*(u+1)-h:h+=Is()*u,i*h}function rt(t,s,e){(0,i.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,u=e;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*u)+Math.sqrt(u*n);n=.25*(n+t),r=.25*(r+t),u=.25*(u+t);const s=(n+r+u)/3,e=(s-n)/s,i=(s-r)/s,h=(s-u)/s;if(Math.abs(e)<=.0024&&Math.abs(i)<=.0024&&Math.abs(h)<=.0024){const t=e*i-h*h,n=e*i*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 ut(t,s,e){(0,i.g)(0!==t||0!==s);let r=t,u=s,h=e;const o=new n(0);let a=1;for(;;){const t=.2*(r+u+3*h),s=(t-r)/t,e=(t-u)/t,i=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(e)<=.0015&&Math.abs(i)<=.0015){const n=s*e,r=i*i,u=n-r,h=n-6*r,m=h+u+u,l=9/22,c=3/26,f=h*(.25*l*h-.21428571428571427-1.5*c*i*m),v=i*(1/6*m+i*(-l*u+i*c*n));return 3*o.getResult()+a*(1+f+v)/(t*Math.sqrt(t))}const n=Math.sqrt(r),m=Math.sqrt(u),l=Math.sqrt(h),c=n*(m+l)+m*l;o.add(a/(l*(h+c))),a*=.25,r=.25*(r+c),u=.25*(u+c),h=.25*(h+c)}}function ht(t,s,e){return t<.999?1-e*G(t):1-e+e*G(s)}const ot=new class{constructor(t){for(this.values=[[1]];this.values.length<t+1;){const t=this.values.at(-1),s=zt(t.length+1,1);for(let e=1;e<t.length;++e)s[e]=t[e-1]+t[e];this.values.push(s)}}get(t,s){return this.values[t][s]}}(32);function at(t,s){if(t<ot.values.length)return ot.get(t,s);const e=Math.exp(((0,i.g)(0),0));return e+.01>2147483647&&(0,i.r)("The result value of n choose k is out of range"),e+.01}function mt(t,s){if(t.isZero())return t.clone();const e=t.clone().divThis(t);if(s<0)return e.divThis(mt(t,-s));for(t=t.clone(),s=Math.trunc(s);1&s&&e.mulThis(t),s>>=1;)t.mulThis(t);return e}function lt(t,s){if(0===s)return[];const e=t[0].clone().mulDoubleThis(0),i=[];i.length=s;const n=s-1;for(let s=0;s<=n;++s){i[s]=e.clone();for(let e=0;e<=s;++e)i[s].addThis(t[e].clone().mulDoubleThis(at(s,e)/at(n,e)))}return i}function ct(t,s,e,n,r){return 0===t?0===n?s:1===n?e:r:1===t?0===n?s:1===n?e:C(s,e,n):(2===t&&(0,i.t)("angular interpolation"),void(0,i.t)(""))}function ft(t,s,e,n,r,u,h,o){if(0===t)for(let t=0;t<u;++t)n[t+r]=0===h?s[t]:1===h?e[t]:o;else if(1===t)if(0===h)vt(n,s,r,0,u);else if(1===h)vt(n,e,r,0,u);else for(let t=0;t<u;++t)n[t+r]=C(s[t],e[t],h);else if(2===t)if(0===h)vt(n,s,r,0,u);else if(1===h)vt(n,e,r,0,u);else{let t=0;for(let i=0,o=r;i<u;++i,++o)n[o]=C(s[i],e[i],h),t+=n[o]*n[o];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+u;++s)n[s]/=t}else{for(let t=r;t<r+u;++t)n[t]=0;n[r]=1}}else(0,i.t)("")}function vt(t,s,e,i,n){if(0===n)return;let r=0,u=e,h=i;for(;r++<n;)t[u++]=s[h++]}function _t(t,s,e){let i=0;for(let n=0;!i&&n<e;++n)i=t[n]-s[n];return i}function bt(t,s){return t}function dt(t){t.sort((t,s)=>t<s?-1:t>s?1:0)}function pt(t,s){const e=t.slice(0,s);dt(e),vt(t,e,0,0,s)}function xt(t,s,e,i){const n=t.slice(s,s+e);n.sort(i),vt(t,n,s,0,e)}function Nt(t,s){return t<s?-1:t>s?1:0}function yt(t,s,e,i){return t<e?-1:t>e?1:s<i?-1:s>i?1:0}function gt(t,s){if(t.length<2)return t.length;let e=0;for(let i=1;i<t.length;++i)s(t[i],t[e])||(e++,t[i]=bt(t[e],t[e]=t[i]));return 1+e}function Tt(t,s){t[s]=t.at(-1),t.pop()}function Et(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Mt(t,s,e){t.length=s,t.fill(e)}function wt(t,s,e){t.length=e;for(let i=0;i<e;++i)t[i]=new s}function It(t,s){const e=new Array(s);for(let i=0;i<s;++i)e[i]=new t;return e}function Dt(t,s,e){for(let i=0;i<e;++i)t[i].assign(s[i]);return e}function Pt(t,s){const e=t.slice(0,s);for(let t=0;t<s;++t)e[t]=e[t].clone();return e}function At(t){return Array.from({length:t},()=>null)}function qt(t,s){return Array.from({length:s},()=>t())}function zt(t,s){const e=new Array(t);return e.fill(s),e}function Ct(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Zt{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 Bt(t,s){return{first:t,second:s}}const Rt=Math.PI,kt=2*Math.PI,Gt=.5*Math.PI;class St{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=zt(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,e){this.m_v[t*this.m_cc+s]=e}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const Lt=new ArrayBuffer(8),Ft=new Float64Array(Lt),Ot=new BigUint64Array(Lt);function Qt(){return Number.EPSILON*bs}function Ut(t){return Ft[0]=t,Ot[0]}function Vt(t){return 4503599627370495n&Ut(t)}function jt(t){return Number((9218868437227405312n&Ut(t))>>52n)}function Yt(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,e=512n,i=1n<<s+e;for(;t>=i;)s+=e,e<<=1n,i<<=e;let n=s;e>>=1n;let r=n+e;for(;e>0n;)t<1n<<r||(n=r),e>>=1n,r=n+e;return n}function $t(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function Ht(t,s,e){return t===s||Math.abs(t-s)<=e||Number.isNaN(t)&&Number.isNaN(s)}function Jt(t,s){return t<s?-1:t>s?1:0}function Kt(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const e=Number.isNaN(t),i=Number.isNaN(s);return e<i?-1:e>i?1:0}}function Wt(){return 2147483647}function Xt(){return 32767}function ts(){return 2147483647}function ss(){return-2147483648}const es=2147483647,is=BigInt(es),ns=2166136261,rs=16777619,us=1099511628211n;function hs(t){let s=ns;for(let e=0,i=t.length;e<i;++e)s=(s^t.charCodeAt(e))*rs;return s&es}function os(t,s){return s+2654435769+(t<<6)+(t>>2)&es}function as(t,s){return os(t,fs(s))}function ms(t){return os(3735928559,t)}function ls(t,s){return os(t,ms(s))}function cs(t){return function(t){let s=ns,e=t;return s=(s^255&e)*rs,e>>=8,s=(s^255&e)*rs,e>>=8,s=(s^255&e)*rs,e>>=8,s=(s^255&e)*rs,s&es}(t)}function fs(t){return Number(function(t){let s=14695981039346656037n,e=t;return s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,s&is}(t))}function vs(t){return fs(Ut(function(t){return As(t)}(t)))}function _s(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const bs=100;function ds(){return 100*Number.EPSILON}function ps(){return.38196601125010515}function xs(){return 1.4142135623730951}function Ns(){return Number.EPSILON}function ys(t,s,e){return t===s||t===e}function gs(t,s,e){return t>=s?t<=e?t:e:s}function Ts(t,s,e){const i=t[0];if(i>=s){if(i<=e)return!1;t[0]=e}else t[0]=s;return!0}function Es(t,s){return t>=s?s:t<-s?-s:t}function Ms(){return Rt}function ws(){return kt}function Is(){return Gt}const Ds=3*Is();function Ps(){return Ds}function As(t){return t+0}function qs(t){return{v:t}}class zs{constructor(){this.m_rn=qs(0n),this.m_rd=qs(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const e=t.clone();return void 0!==s&&e.limitPrecisionThis(s),e}static constructDouble(t){return(new zs).setDouble(t)}static constructInt64(t){return(new zs).setInt64(t)}static constructRational(t,s){return(new zs).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 zs).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=Ut(t),e=(s&zs.s_em)>>52n,n=!!(s&zs.s_sm),r=s&zs.s_fm;if(e===zs.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===e&&(0,i.t)("denormalized numbers not yet implemented");const u=e-1023n,h=u>=0n?u:0n,o=u<0n?-u:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+o,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,i.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(zs.constructDouble(t))}thisMulInt64(t){return(0,i.g)(0),this}thisMulInt32(t){return(0,i.g)(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(zs.constructDouble(t))}addDoubleThis(t){return this.addThis(zs.constructDouble(t))}subDoubleThis(t){return this.subThis(zs.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(zs.constructInt64(t))}mulDouble(t){return this.clone().mulThis(zs.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(zs.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(zs.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 e=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,e+=32;return s&=this.m_rd.v,s>>=BigInt(e),e+=h(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(e),this.m_power+=t-e,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=bt(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(Yt(this.m_rn.v));if(s>t){const e=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=e}if(s=Number(Yt(this.m_rd.v)),s>t){const e=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=e}return this}hiBitIndex(){return Math.max(Number(Yt(this.m_rn.v)),Number(Yt(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}static lerp(t,s,e){return zs.lerpLo(s,s,e)}static lerpLo(t,s,e){return s.sub(t).mulThis(e).addThis(t)}static lerpHi(t,s,e){return s.sub(t).mulThis(Cs.sub(e)).addThis(t)}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,i.r)("MP_value: sqrt(-1)"),t.isZero())return t.clone();let e=52,n=2220446049250313e-31;for(;e<s;)2*e<=s?(n*=n,e*=2):(n*=2220446049250313e-31,e+=52);e+=52;const r=Yt(t.m_rn.v),u=Yt(t.m_rd.v);let h,o=t.m_power+Number(r-u);const a=new zs;Math.abs(o)>200?(1&Math.abs(o)&&(o+=1),h=zs.constructAssign(t,53).ldexpThis(-o).value(),a.setThis(t).ldexpThis(-o),(0,i.g)(Number.isFinite(h))):(a.setThis(t),h=a.value(),(0,i.g)(Number.isFinite(h)),o=0),h=Math.sqrt(h);const m=zs.constructDouble(h),l=zs.constructDouble(n);l.mulThis(m).ldexpThis(1);const c=n*h*2,f=m.clone(),v=new zs;let _;for(let t=0;t<10;++t){f.mulThis(m),v.setThis(a).subThis(f).absThis();let t=v.value();if(_=1,t<.9)for(;t>c;)t*=t,++_;else _=4;if(v.lte(l))break;for(let t=0;t<_;t++)f.setThis(m).divThis(a).invertThis().addThis(m).ldexpThis(-1).limitPrecisionThis(e),m.setThis(f)}return m.ldexpThis(o/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let e=52,i=2220446049250313e-31;for(;e<s;)2*e<=s?(i*=i,e*=2):(i*=2220446049250313e-31,e+=52);e+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=zs.constructDouble(n),u=r.clone();u.sqrThis().mulDoubleThis(3).mulDoubleThis(i),u.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let s=0;s<10;++s){const s=r.clone();s.sqrThis().mulThis(r);const i=s.clone();if(i.subThis(t),i.absThis().limitPrecisionThis(32),i.lte(u))break;i.setThis(t),i.ldexpThis(1),i.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),i.divThis(n),r.mulThis(i),r.limitPrecisionThis(e)}return r}isInTheRangeOfDouble(){return(0,i.g)(0),!1}sign(){return this.m_sign}cosAndSin(t,s){(0,i.g)(0)}pow(t){return mt(this,t)}static nan(){return(0,i.g)(0),new zs}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 e=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const i=s/e;let n=Number(i);if(BigInt(n)!==i)return t?-n:n;let r=s-i*e;if(r){let t=Yt(e)-1023n;t>0n&&(e>>=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(e)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const e=Math.min(this.m_power,t.m_power);let i,n;this.m_power>e?(i=BigInt(this.m_power-e),n=0n):(i=0n,n=BigInt(t.m_power-e));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<i,u=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+u:r-u,this.m_rd.v*=t.m_rd.v,this.m_power=e,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}}zs.s_sm=0x8000000000000000n,zs.s_em=0x7ff0000000000000n,zs.s_fm=0x000fffffffffffffn,zs.s_emax=0x7ffn;const Cs=zs.constructInt32(1),Zs=zs.constructInt32(0),Bs=zs.constructDouble(.5);function Rs(t,s){let e=jt(t);const i=jt(s);return e===i?(e-=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+u[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(Vt(t),Vt(s)),e):e>i?e:i}function ks(t,s){for(let e=0,i=0,n=t.length;e<n;e+=2,i++)s[i].x=t[e],s[i].y=t[e+1]}function Gs(t){const s=new Float64Array(2*t.length);for(let e=0,i=t.length;e<i;++e){const i=e<<1;s[i]=t[e].x,s[i+1]=t[e].y}return s}function Ss(t){const s=It(Ls,t.length);for(let e=0,i=t.length;e<i;++e)s[e].setCoords(t[e][0],t[e][1]);return s}class Ls{static construct(t,s){return new Ls(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new Ls(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,e){return void 0!==e?Math.abs(this.x-t)<=e&&Math.abs(this.y-s)<=e: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,i.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,e){(0,i.g)(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,e){this.x=s.x*t+e.x,this.y=s.y*t+e.y}scaleOther(t,s){(0,i.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,i.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,i.g)(0),{}}static average(t,s){const e=new Ls;if(0===s)return e.setNAN(),e;if(1===s)return e.assign(t[0]),e;const i=new n(t[0].x),r=new n(t[0].y);for(let e=1;e<s;e++)i.add(t[e].x),r.add(t[e].y),255&e||(i.normalize(),r.normalize());return e.x=i.getResult()/s,e.y=r.getResult()/s,e}static calculateLength(t,s){const e=new n(0);for(let i=1;i<s;i++)e.add(Ls.distance(t[i],t[i-1]));return e.getResult()}offset(t,s){const e=Ls.distance(t,s),i=Ls.construct(this.x,this.y);if(0===e)return Ls.distance(i,t);const n=s.clone();return n.subThis(t),i.subThis(t),i.crossProduct(n)/e}side(t,s){return t.equals(s)?this.equals(t)?0:1:Ls.orientationRobust(s,t,this)}static sqrDistance(t,s){const e=t.x-s.x,i=t.y-s.y;return e*e+i*i}static sqrDistanceCoords(t,s,e,i){const n=e-t,r=i-s;return n*n+r*r}static distance(t,s){return Math.sqrt(Ls.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,i.g)(0),0}rotateDirect(t,s){const e=this.x*t-this.y*s,i=this.x*s+this.y*t;this.x=e,this.y=i}rotateReverse(t,s){const e=this.x*t+this.y*s,i=-this.x*s+this.y*t;this.x=e,this.y=i}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 Ls(this.x+t.x,this.y+t.y)}sub(t){return new Ls(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new Ls(-this.x,-this.y)}mul(t){return new Ls(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new Ls(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 Ls(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),e=t-s;return e>=0?t:e<=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,i.a)("norm")}}getQuarter(){return Ls.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 e=t.getQuarter(),i=s.getQuarter();return i===e?Ls.orientationRobustImpl(Ls.construct(0,0),s,t,!0):e<i?-1:1}static compareVectorsOrigin(t,s,e){const i=s.sub(t),n=e.sub(t),r=i.getQuarter(),u=n.getQuarter();return u===r?Ls.orientationRobustImpl(t,e,s,!0):r<u?-1:1}static orientationRobust(t,s,e){return Ls.orientationRobustImpl(t,s,e,!1)}static orientationRobustEx(t,s,e,i){if(t.equals(s)||e.equals(i))return 0;const n=s.x-t.x,r=s.y-t.y,u=i.x-e.x,h=i.y-e.y;{const t=Ls.getQuarterCoords(n,r)-1,s=Ls.getQuarterCoords(u,h)-1,e=Ls.d[t][s];if(0!==e)return e}const o=n*h,a=r*u,m=4*Ns()*(Math.abs(o)+Math.abs(a)),l=o-a;return Math.abs(l)>=m?l<0?-1:l>0?1:0:Ls.orientationRobustExMp(t,s,e,i)}static orientationRobustExMp(t,s,e,i){const n=zs.constructDouble(s.x),r=zs.constructDouble(i.x);n.subThis(zs.constructDouble(t.x)),r.subThis(zs.constructDouble(e.x));const u=zs.constructDouble(s.y),h=zs.constructDouble(i.y);return u.subThis(zs.constructDouble(t.y)),h.subThis(zs.constructDouble(e.y)),n.mulThis(h),u.mulThis(r),n.subThis(u),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,e){const i=s.sub(t).crossProduct(e.sub(t));return i<0?-1:i>0?1:0}static orientationRobustImpl(t,s,e,i){if(s.isEqualPoint2D(t)||e.isEqualPoint2D(t)||s.isEqualPoint2D(e))return 0;const n=s.x-t.x,r=s.y-t.y,u=e.x-t.x,h=e.y-t.y;if(!i){const t=Ls.getQuarterCoords(n,r)-1,s=Ls.getQuarterCoords(u,h)-1,e=Ls.d[t][s];if(0!==e)return e}const o=(Math.abs(n)+Math.abs(r)+Math.abs(u)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(e.x)+Math.abs(e.y))*8*_(),a=n*h-r*u;if(Math.abs(a)>o)return a<0?-1:1;if(v(s.x,t.x)&&v(e.y,t.y)&&v(s.y,t.y)&&v(e.x,t.x)&&c(n,h)&&c(r,u)){const t=n*h,s=r*u;if(v(t,s)){const e=t-s;return e<0?-1:e>0?1:0}}return Ls.orientationRobustMp(t,s,e)}static orientationRobustMp(t,s,e){const i=zs.constructDouble(s.x),n=zs.constructDouble(e.x);{const s=zs.constructDouble(t.x);i.subThis(s),n.subThis(s)}const r=zs.constructDouble(e.y),u=zs.constructDouble(s.y);{const s=zs.constructDouble(t.y);r.subThis(s),u.subThis(s)}return i.mulThis(r),u.mulThis(n),i.subThis(u),i.LZ()?-1:i.GZ()?1:0}static inCircleRobust(t,s,e,i){const n=new l,r=new l;n.set(t.x),n.subThis(i.x),r.set(t.y),r.subThis(i.y);const u=new l,h=new l;u.set(s.x),u.subThis(i.x),h.set(s.y),h.subThis(i.y);const o=new l,a=new l;o.set(e.x),o.subThis(i.x),a.set(e.y),a.subThis(i.y);const m=n.mulE(h).subE(r.mulE(u)),c=u.mulE(a).subE(h.mulE(o)),f=n.mulE(a).subE(r.mulE(o)),v=n.mulE(n).addE(r.mulE(r)),_=u.mulE(u).addE(h.mulE(h)),b=o.mulE(o).addE(a.mulE(a)),d=v.mulE(c).subE(_.mulE(f)).addE(b.mulE(m));if(!d.isFuzzyZero()){const t=d.value();return t<0?-1:t>0?1:0}return Ls.inCircleRobustMp(t,s,e,i)}static inCircleRobustMp(t,s,e,i){do{if(!v(t.x,i.x)||!v(t.y,i.y))break;if(!v(s.x,i.x)||!v(s.y,i.y))break;if(!v(e.x,i.x)||!v(e.y,i.y))break;const n=t.x-i.x,r=t.y-i.y,u=s.x-i.x,h=s.y-i.y,o=e.x-i.x,a=e.y-i.y;if(!c(n,h)||!c(r,u))break;if(!c(u,a)||!c(h,o))break;if(!c(n,a)||!c(r,o))break;if(!c(n,n)||!c(r,r))break;if(!c(u,u)||!c(h,h))break;if(!c(o,o)||!c(a,a))break;const m=n*h,l=r*u,_=u*a,b=h*o,d=n*a,p=r*o,x=n*n,N=r*r,y=u*u,g=h*h,T=o*o,E=a*a;if(!v(m,l))break;if(!v(_,b))break;if(!v(d,p))break;if(!f(x,N))break;if(!f(y,g))break;if(!f(T,E))break;const M=m-l,w=_-b,I=d-p,D=x+N,P=y+g,A=T+E;if(!c(D,w))break;if(!c(P,I))break;if(!c(A,M))break;const q=D*w,z=P*I,C=A*M;if(!v(q,z))break;const Z=q-z;if(!f(Z,C))break;const B=Z+C;return B<0?-1:B>0?1:0}while(0);const n=zs.constructDouble(i.x),r=zs.constructDouble(i.y),u=zs.constructDouble(t.x),h=zs.constructDouble(t.y);u.subThis(n),h.subThis(r);const o=zs.constructDouble(s.x),a=zs.constructDouble(s.y);o.subThis(n),a.subThis(r);const m=zs.constructDouble(e.x),l=zs.constructDouble(e.y);m.subThis(n),l.subThis(r);const _=u.mul(a).sub(h.mul(o)),b=o.mul(l).sub(a.mul(m)),d=u.mul(l).sub(h.mul(m)),p=u.mul(u).add(h.mul(h)),x=o.mul(o).add(a.mul(a)),N=m.mul(m).add(l.mul(l)),y=p.mul(b).sub(x.mul(d)).add(N.mul(_));return y.LZ()?-1:y.GZ()?1:0}static inCircleRobustMp3Point(t,s,e){const i=zs.constructDouble(t.x),n=zs.constructDouble(t.y),r=zs.constructDouble(s.x),u=zs.constructDouble(s.y),h=zs.constructDouble(e.x),o=zs.constructDouble(e.y),a=h.mul(h).add(o.mul(o)).sub(h.mul(i).add(o.mul(n)).add(h.mul(r)).add(o.mul(u))).add(i.mul(r).add(n.mul(u)));return a.LZ()?-1:a.GZ()?1:0}static inCircleRobust3Point(t,s,e){const i=new l(t.x),n=new l(t.y),r=new l(s.x),u=new l(s.y),h=new l(e.x),o=new l(e.y),a=h.mulE(h).addE(o.mulE(o)).subE(h.mulE(i).addE(o.mulE(n)).addE(h.mulE(r)).addE(o.mulE(u))).addE(i.mulE(r).addE(n.mulE(u)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return Ls.inCircleRobustMp3Point(t,s,e)}static calculateCircleCenterFromThreePoints(t,s,e){if(t.equals(e)||t.equals(s)||e.equals(s))return Ls.getNAN();const i=function(t,s,e){const i=new l(s.x);i.subThis(t.x);const n=new l(s.y);n.subThis(t.y);const r=new l(e.x);r.subThis(t.x);const u=new l(e.y);u.subThis(t.y);const h=i.clone();h.mulThisE(u);let o=n.clone();if(o.mulThisE(r),h.subThisE(o),0===h.value())return Ls.getNAN();h.mulThis(2);const a=i.clone();a.mulThisE(i);const m=n.clone();m.mulThisE(n);const c=a.clone();c.addThisE(m);const f=r.clone();f.mulThisE(r);const v=u.clone();v.mulThisE(u);const _=f.clone();_.addThisE(v);const b=n.clone();b.mulThisE(_),o=u.clone(),o.mulThisE(c),b.subThisE(o),b.divThisE(h);const d=i.clone();d.mulThisE(_),o=r.clone(),o.mulThisE(c),d.subThisE(o),d.divThisE(h);const p=Ls.construct(t.x-b.value(),t.y+d.value()),x=t.sub(p).length(),N=s.sub(p).length(),y=e.sub(p).length(),g=1e-15*(x+Math.abs(t.x)+Math.abs(s.x)+Math.abs(e.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(e.y));return Math.abs(x-N)<=g&&Math.abs(x-y)<=g&&b.eps()<g&&d.eps()<g?p:Ls.getNAN()}(t,s,e);return i.isNAN()?function(t,s,e){const i=zs.constructDouble(s.x);i.subDoubleThis(t.x);const n=zs.constructDouble(s.y);n.subDoubleThis(t.y);const r=zs.constructDouble(e.x);r.subDoubleThis(t.x);const u=zs.constructDouble(e.y);u.subDoubleThis(t.y);const h=i.clone();h.mulThis(u);let o=n.clone();if(o.mulThis(r),h.subThis(o),h.isZero())return Ls.getNAN();h.mulDoubleThis(2);const a=i.clone();a.mulThis(i);const m=n.clone();m.mulThis(n);const l=a.clone();l.addThis(m);const c=r.clone();c.mulThis(r);const f=u.clone();f.mulThis(u);const v=c.clone();v.addThis(f);const _=n.clone();_.mulThis(v),o=u.clone(),o.mulThis(l),_.subThis(o),_.divThis(h);const b=i.clone();return b.mulThis(v),o=r.clone(),o.mulThis(l),b.subThis(o),b.divThis(h),Ls.construct(t.x-_.value(),t.y+b.value())}(t,s,e):i}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,s,e){return(0,i.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 e=Ls.c_compare_zorder_xx[t.x<0?1:0]|Ls.c_compare_zorder_yy[t.y<0?1:0],i=Ls.c_compare_zorder_xx[s.x<0?1:0]|Ls.c_compare_zorder_yy[s.y<0?1:0];if(e===i){let e=0,i=0;for(let n=0;n<2;++n){const r=Rs(t[n],s[n]);r>e&&(e=r,i=n)}return t[i]<s[i]}return e<i}static lerp(t,s,e){const i=new Ls;return R(t,s,e,i),i}static getClosestCoordinate(t,s,e,i=!1){const n=Ls.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(e))return 1;const u=Ls.getNAN();u.setSub(e,t);let h=u.dotProduct(n)/r;return i||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,e,i){if(t.equals(s)||e.equals(i))return Ls.getNAN();const n=s.x-t.x,r=e.x-i.x,u=s.y-t.y,h=e.y-i.y,o=n*h-r*u;if(!o)return Ls.getNAN();const a=o;if(0===a)return Ls.getNAN();let m=(e.x-t.x)*h-(e.y-t.y)*r;m/=a;const l=new Ls;return R(t,s,m,l),l.isFinite()?l:Ls.getNAN()}toString(){return`[${this.x},${this.y}]`}}Ls.dimensions=2,Ls.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],Ls.c_compare_zorder_xx=[2,0],Ls.c_compare_zorder_yy=[1,0]}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6042],{55537(t,s,e){function i(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}e.d(s,{A:()=>I,B:()=>k,C:()=>L,D:()=>S,G:()=>m,a:()=>M,b:()=>w,c:()=>R,d:()=>z,e:()=>v,f:()=>d,g:()=>i,h:()=>x,i:()=>p,j:()=>N,k:()=>b,l:()=>_,m:()=>g,n:()=>T,o:()=>E,p:()=>B,q:()=>D,r:()=>q,s:()=>C,t:()=>A,u:()=>P,v:()=>y,w:()=>Z,x:()=>F,y:()=>G,z:()=>f});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 u extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class h extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class o extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var m,l;(l=m||(m={}))[l.enumUnknown=0]="enumUnknown",l[l.enumPoint=513]="enumPoint",l[l.enumLine=5122]="enumLine",l[l.enumBezier=5123]="enumBezier",l[l.enumEllipticArc=5124]="enumEllipticArc",l[l.enumEnvelope=3077]="enumEnvelope",l[l.enumMultiPoint=8710]="enumMultiPoint",l[l.enumPolyline=25607]="enumPolyline",l[l.enumPolygon=27656]="enumPolygon",l[l.enumMultipatch=40969]="enumMultipatch",l[l.enumGeometryCollection=3594]="enumGeometryCollection",l[l.enumRationalBezier2=5134]="enumRationalBezier2",l[l.enumBezier2=5135]="enumBezier2",l[l.enumRationalBezier23d=5392]="enumRationalBezier23d",l[l.enumGreatArc3d=5393]="enumGreatArc3d";const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function f(t){return c[15&t]}function v(t){return!!(512&t)}function _(t){return!!(1024&t)}function b(t){return!!(2048&t)}function d(t){return!!(4096&t)}function p(t){return!!(8192&t)}function x(t){return!!(16384&t)}function N(t){return!!(32768&t)}function y(t){const s=t.getGeometryType();return p(s)?t.getPointCount():t.isEmpty()?0:s===m.enumEnvelope?4:s===m.enumPoint?1:d(s)?2:void z("missing type")}function g(t){const s=t.getGeometryType();if(x(s))return t.hasNonLinearSegments();if(s===m.enumGeometryCollection){const s=t;for(let t=0,e=s.getGeometryCount();t<e;t++)if(g(s.getGeometry(t)))return!0;return!1}return!!d(s)&&s!==m.enumLine}function T(t){throw new o(t)}function E(t){throw new r(t)}function M(t){throw new Error(t)}function w(t){throw new h(t)}function I(){M("Geometry type is not supported for 3D operations.")}function D(t){throw new n(12,t)}function P(t){throw new u(t)}function A(t){throw new n(14,t)}function q(t){throw new Error(t)}function z(t){throw new n(13,t)}function C(t){throw new Error(t)}function Z(t){throw new a(t)}function B(t){t&&g(t)&&A("Operation does not support curves.")}function R(t){t&&N(t.getGeometryType())&&A("Unsupported geometry type.")}function k(t){t===m.enumGeometryCollection&&M("Geometry_collection instances are not supported in this operation")}function G(t){k(t.getGeometryType())}function S(t){M(`bad wkid: ${t}`)}function L(t){let s="bad wkt: ";s+=t,s+="...",M(s)}function F(t,s){t||M(s)}},83661(t,s,e){e.d(s,{$:()=>Ms,A:()=>ft,B:()=>_s,C:()=>xt,D:()=>xs,E:()=>a,F:()=>Jt,G:()=>Ht,H:()=>l,I:()=>p,J:()=>d,K:()=>n,L:()=>Pt,M:()=>zs,N:()=>ys,O:()=>Ns,P:()=>Ls,Q:()=>$t,R:()=>St,S:()=>Zt,T:()=>Is,U:()=>R,V:()=>ct,W:()=>Ct,X:()=>Z,Y:()=>B,Z:()=>pt,_:()=>A,a:()=>G,a0:()=>Ps,a1:()=>D,a2:()=>P,a3:()=>q,a4:()=>z,a5:()=>x,a6:()=>Bs,a7:()=>Nt,a8:()=>Es,a9:()=>ws,aA:()=>hs,aB:()=>Ss,aC:()=>Xt,aD:()=>Ts,aE:()=>M,aF:()=>ls,aG:()=>Gs,aH:()=>ks,aI:()=>vs,aJ:()=>Qt,aK:()=>ms,aa:()=>it,ab:()=>nt,ac:()=>wt,ad:()=>N,ae:()=>y,af:()=>et,ag:()=>Rt,ah:()=>Zs,ai:()=>Cs,aj:()=>lt,ak:()=>As,al:()=>yt,am:()=>V,an:()=>S,ao:()=>at,ap:()=>L,aq:()=>ps,ar:()=>ss,as:()=>_t,at:()=>os,au:()=>cs,av:()=>At,aw:()=>Dt,ax:()=>I,ay:()=>Tt,az:()=>as,b:()=>vt,c:()=>bt,d:()=>zt,e:()=>F,f:()=>w,g:()=>ds,h:()=>Et,i:()=>ts,j:()=>Wt,k:()=>Bt,l:()=>st,m:()=>It,n:()=>qt,o:()=>Gt,p:()=>kt,q:()=>C,r:()=>Kt,s:()=>gs,t:()=>O,u:()=>gt,v:()=>dt,w:()=>Mt,x:()=>k,y:()=>g,z:()=>E});var i=e(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 e;if(Math.abs(this.sum)>=Math.abs(t)){const i=this.sum-s+t;e=this.compensation+i}else{const i=t-s+this.sum;e=this.compensation+i}this.sum=s,this.compensation=e}sub(t){this.add(-t)}addProduct(t,s){const e=[0],i=J(t,s,e);this.add(i),this.add(e[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],u=[-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 o(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 $t(this.vmin,t)&&$t(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,e=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(e)}mergeNe(t){const s=t.vmin,e=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(e)}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=bt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return gs(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?ds():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*ds()}static unit(){return m}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=bt(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 m=new a(0,1);class l{static getNAN(){return new l(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new l(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=l.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new l(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,e=this.m_eps+t.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}addThis(t){const s=this.m_value+t,e=this.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,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,e=this.m_eps+t.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}subThis(t){const s=this.m_value-t,e=this.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+l.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=l.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+l.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+l.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+l.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=l.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+l.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+l.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+l.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)+l.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 e=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+l.ulp(e),this.m_value=e,this}setMul(t,s){return this.m_value=t*s,this.m_eps=l.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 l(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),e=this.m_value/t.m_value;let i=(this.m_eps+Math.abs(e)*t.m_eps)/s;if(t.m_eps>.01*s){const e=t.m_eps/s;i*=1+(1+e)*e}return this.m_value=e,this.m_eps=i+l.ulp(e),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+l.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=l.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(p.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+=l.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+l.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),e=Math.cos(t.m_value);this.m_value=s;const i=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(e)+.5*i*t.m_eps)*t.m_eps+l.ulp(i+n),this}static ulp(t){let s=Ut(t);const e=((0x7ff0000000000000n&s)>>52n)-1075n;return e>-1023n?(s=e+0x3ffn<<52n,function(t){return Ot[0]=t,Ft[0]}(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),e=Math.cos(t.m_value);this.m_value=e;const i=Math.abs(e),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*i*t.m_eps)*t.m_eps+l.ulp(i+n),this}static st_cosAndSin(t,s,e){const i=Math.sin(t.m_value),n=Math.cos(t.m_value);e.m_value=i,s.m_value=n;const r=Math.abs(i),u=Math.abs(n),h=Math.abs(t.value());e.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+l.ulp(r+h),s.m_eps=(Math.abs(i)+.5*u*t.m_eps)*t.m_eps+l.ulp(u+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(b)}setEuler(){this.set(2.718281828459045,_())}static size(){return 1}}function c(t,s){const e=Vt(t),i=Vt(s),n=53-o(e),r=53-o(i);return(n>=0?n:0)+(r>=0?r:0)<=52}function f(t,s){const e=t+s;return e-t===s&&e-s===t}function v(t,s){const e=t-s;return t-e===s&&s+e===t}function _(){return Ns()}l.dimensions=1;const b=new l(Math.PI,.5*_()),d=new l(0,0),p=new l(1,0),x=new l(4,0);function N(t,s,e){return t.addE(s.subE(t).mulE(e))}function y(t,s,e){return s.subE(s.subE(t).mulE(p.subE(e)))}function g(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 e;const i=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(i/Math.log(n)+2.5)-1;t>1;t-=2)e=1/t,s=(s+e)*n;s+=1}return s}function T(t){const s=Math.PI*Math.PI/6;let e;if(1===t)e=s;else if(t>1)e=s;else if(0===t)e=t;else if(t<0){const s=1+(t=Math.abs(t)),i=Math.log(s);e=i*i/-2-T(t/s)}else if(t>.5){const i=1-t,n=Math.log(t)*Math.log(i);e=s-T(i)-n}else{e=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let i=s;for(let n=s;n>0;n--,i-=1)e*=t,e+=1/(i*i);e*=t}return e}function E(t,s){const e=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=e,s+=1/t/t;return s*=t,s}return T(e)/s}function M(t,s){return t<s?Bt(t,s):Bt(s,t)}function w(t,s){const e=Math.abs(t);return s>=0?e:-e}function I(t){return Math.round(t)}function D(t,s,e,i,n){n[0]=s[0]+(e[0]-s[0])*i,n[1]=s[1]+(e[1]-s[1])*i,3===t&&(n[2]=s[2]+(e[2]-s[2])*i)}function P(t,s,e,i,n){n[0]=e[0]-(e[0]-s[0])*(1-i),n[1]=e[1]-(e[1]-s[1])*(1-i),3===t&&(n[2]=e[2]-(e[2]-s[2])*(1-i))}function A(t,s,e,i,n){i<=.5?D(t,s,e,i,n):P(t,s,e,i,n)}function q(t,s,e,i,n){n[0]=s[0].addE(e[0].subE(s[0]).mulE(i)),n[1]=s[1].addE(e[1].subE(s[1]).mulE(i))}function z(t,s,e,i,n){n[0]=e[0].subE(e[0].subE(s[0]).mulE(p.subE(i))),n[1]=e[1].subE(e[1].subE(s[1]).mulE(p.subE(i)))}function C(t,s,e){let i;return i=e<=.5?t+(s-t)*e:s-(s-t)*(1-e),i}function Z(t,s,e){return t+(s-t)*e}function B(t,s,e){return s-(s-t)*(1-e)}function R(t,s,e,i){e<=.5?(i.x=t.x+(s.x-t.x)*e,i.y=t.y+(s.y-t.y)*e):(i.x=s.x-(s.x-t.x)*(1-e),i.y=s.y-(s.y-t.y)*(1-e))}function k(t,s,e,i){e<=.5?(i.x=t.x+(s.x-t.x)*e,i.y=t.y+(s.y-t.y)*e,i.z=t.z+(s.z-t.z)*e):(i.x=s.x-(s.x-t.x)*(1-e),i.y=s.y-(s.y-t.y)*(1-e),i.z=s.z-(s.z-t.z)*(1-e))}function G(t){return t*t}function S(t){return t*t*t}function L(t){return 1/Math.sqrt(t)}function F(t){return t<0?-1:t>0?1:0}function O(t,s,e,i){const n=[0],r=[0],u=[0];return tt(J(t,e,n),J(s,i,r),u)+(n[0]+r[0]+u[0])}const Q=[0],U=[0];function V(t,s,e){return function(t,s,e,i){const n=tt(t,s,W),r=tt(n,e,X);return tt(r,W[0]+X[0],i)}(J(t,s,Q),e,Q[0],U)}const j=[0],Y=[0],$=[0],H=[0];function J(t,s,e){const i=t*s;return K(t,j,Y),K(s,$,H),e[0]=Y[0]*H[0]-(i-j[0]*$[0]-Y[0]*$[0]-j[0]*H[0]),i}function K(t,s,e){const i=134217729*t;s[0]=i-(i-t),e[0]=t-s[0]}const W=[0],X=[0];function tt(t,s,e){const i=t+s;return Math.abs(t)>Math.abs(s)?e[0]=t-i+s:e[0]=s-i+t,i}function st(t,s){return t%s}function et(t){const s=1-t;if(0===s)return 1;let e;if(s<=.01){const t=s,i=Math.log(t);e=1+t*(.4431471805599453-.25*i+t*(.05680519270997949-.09375*i+t*(.02183137044373718-.05859375*i+t*(.011544521417308362-.042724609375*i+t*(.00714200031339596-.0336456298828125*i+t*(.004854743337164948-.027757644653320312*i+t*(.003514687963781376-.023627042770385742*i)))))))}else{if(t<.016){const s=t,e=.25,i=.046875,n=.01953125,r=.01068115234375,u=.0067291259765625,h=.004626274108886719,o=.0033752918243408203,a=.0025710230693221092;return Is()*(1-s*(e+s*(i+s*(n+s*(r+s*(u+s*(h+s*(o+s*a))))))))}e=rt(0,s,1)-t*ut(0,s,1)/3}return gs(e,1,Is())}function it(t,s,e=Number.NaN){if((0,i.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/Ms()),s=r-t*Ms();return n*(2*t+Math.sin(s))}const u=Is(),h=Math.floor(r/u);1&h?r=(h+1)*u-r:r-=h*u;const o=Math.sin(r),a=Number.isNaN(e)?et(s):e;let m;if(1===o)m=a+Math.sqrt(1-s)*(r-u);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*Ns())m=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),e=Math.sin(4*r),i=Math.sin(6*r),n=Math.sin(8*r),u=Math.sin(10*r);m=r+s*((2*-r+t)/8+s*((-3*r+2*t-.25*e)/64+s*((-20*r+15*t-3*e+i/3)/1024+s*(5*(-140*r+112*t-28*e+16/3*i-.5*n)/65536+7*s*((-63*r+52.5*t-15*e+3.75*i-.625*n+.05*u)/65536+s*(-693*r+594*t-185.625*e+1.375*i-12.375*n+1.8*u-.125*Math.sin(12*r))/1048576)))))}else{const t=o*o,e=Math.cos(r),i=e*e,n=ht(o,e,s);m=o*(rt(i,n,1)-s*t*ut(i,n,1)/3)}}return 1&h?m=a*(h+1)-m:m+=a*h,n*m}function nt(t,s,e=Number.NaN){if(0===t)return 0;let i=1,n=t;t<0&&(n=-n,i=-1);const r=Number.isNaN(e)?et(s):e,u=Math.floor(n/r);1&u?n=(u+1)*r-n:n-=u*r;let h=n<=0?0:n>=r?Is():function(t,s,e){if(0===s)return t;if(1===s)return Math.asin(t);let i=0,n=!0;if(t<.2){const e=t*t,r=t*(1+e*s*(1/6+e*((13*s-4)/120+(16-284*s+493*s*s)/5040*e))),u=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(u<Math.abs(r)*Ns())return r;i=r,n=u>.1*r}if(n){const n=1-s,r=1-t/e,u=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+Ns());i=Is()+Math.sqrt(u)*(h-Is())}let r=0;for(let n=0;n<7;n++){r=it(i,s,e);const u=ht(Math.sin(i),Math.cos(i),s);if(i-=(r-t)/Math.sqrt(u),n>0&&Math.abs(r-t)<=4*Ns()*t)break}return i}(n,s,r);return 1&u?h=Is()*(u+1)-h:h+=Is()*u,i*h}function rt(t,s,e){(0,i.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,u=e;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*u)+Math.sqrt(u*n);n=.25*(n+t),r=.25*(r+t),u=.25*(u+t);const s=(n+r+u)/3,e=(s-n)/s,i=(s-r)/s,h=(s-u)/s;if(Math.abs(e)<=.0024&&Math.abs(i)<=.0024&&Math.abs(h)<=.0024){const t=e*i-h*h,n=e*i*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 ut(t,s,e){(0,i.g)(0!==t||0!==s);let r=t,u=s,h=e;const o=new n(0);let a=1;for(;;){const t=.2*(r+u+3*h),s=(t-r)/t,e=(t-u)/t,i=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(e)<=.0015&&Math.abs(i)<=.0015){const n=s*e,r=i*i,u=n-r,h=n-6*r,m=h+u+u,l=9/22,c=3/26,f=h*(.25*l*h-.21428571428571427-1.5*c*i*m),v=i*(1/6*m+i*(-l*u+i*c*n));return 3*o.getResult()+a*(1+f+v)/(t*Math.sqrt(t))}const n=Math.sqrt(r),m=Math.sqrt(u),l=Math.sqrt(h),c=n*(m+l)+m*l;o.add(a/(l*(h+c))),a*=.25,r=.25*(r+c),u=.25*(u+c),h=.25*(h+c)}}function ht(t,s,e){return t<.999?1-e*G(t):1-e+e*G(s)}const ot=new class{constructor(t){for(this.values=[[1]];this.values.length<t+1;){const t=this.values.at(-1),s=zt(t.length+1,1);for(let e=1;e<t.length;++e)s[e]=t[e-1]+t[e];this.values.push(s)}}get(t,s){return this.values[t][s]}}(32);function at(t,s){if(t<ot.values.length)return ot.get(t,s);const e=Math.exp(((0,i.g)(0),0));return e+.01>2147483647&&(0,i.r)("The result value of n choose k is out of range"),e+.01}function mt(t,s){if(t.isZero())return t.clone();const e=t.clone().divThis(t);if(s<0)return e.divThis(mt(t,-s));for(t=t.clone(),s=Math.trunc(s);1&s&&e.mulThis(t),s>>=1;)t.mulThis(t);return e}function lt(t,s){if(0===s)return[];const e=t[0].clone().mulDoubleThis(0),i=[];i.length=s;const n=s-1;for(let s=0;s<=n;++s){i[s]=e.clone();for(let e=0;e<=s;++e)i[s].addThis(t[e].clone().mulDoubleThis(at(s,e)/at(n,e)))}return i}function ct(t,s,e,n,r){return 0===t?0===n?s:1===n?e:r:1===t?0===n?s:1===n?e:C(s,e,n):(2===t&&(0,i.t)("angular interpolation"),void(0,i.t)(""))}function ft(t,s,e,n,r,u,h,o){if(0===t)for(let t=0;t<u;++t)n[t+r]=0===h?s[t]:1===h?e[t]:o;else if(1===t)if(0===h)vt(n,s,r,0,u);else if(1===h)vt(n,e,r,0,u);else for(let t=0;t<u;++t)n[t+r]=C(s[t],e[t],h);else if(2===t)if(0===h)vt(n,s,r,0,u);else if(1===h)vt(n,e,r,0,u);else{let t=0;for(let i=0,o=r;i<u;++i,++o)n[o]=C(s[i],e[i],h),t+=n[o]*n[o];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+u;++s)n[s]/=t}else{for(let t=r;t<r+u;++t)n[t]=0;n[r]=1}}else(0,i.t)("")}function vt(t,s,e,i,n){if(0===n)return;let r=0,u=e,h=i;for(;r++<n;)t[u++]=s[h++]}function _t(t,s,e){let i=0;for(let n=0;!i&&n<e;++n)i=t[n]-s[n];return i}function bt(t,s){return t}function dt(t){t.sort((t,s)=>t<s?-1:t>s?1:0)}function pt(t,s){const e=t.slice(0,s);dt(e),vt(t,e,0,0,s)}function xt(t,s,e,i){const n=t.slice(s,s+e);n.sort(i),vt(t,n,s,0,e)}function Nt(t,s){return t<s?-1:t>s?1:0}function yt(t,s,e,i){return t<e?-1:t>e?1:s<i?-1:s>i?1:0}function gt(t,s){if(t.length<2)return t.length;let e=0;for(let i=1;i<t.length;++i)s(t[i],t[e])||(e++,t[i]=bt(t[e],t[e]=t[i]));return 1+e}function Tt(t,s){t[s]=t.at(-1),t.pop()}function Et(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Mt(t,s,e){t.length=s,t.fill(e)}function wt(t,s,e){t.length=e;for(let i=0;i<e;++i)t[i]=new s}function It(t,s){const e=new Array(s);for(let i=0;i<s;++i)e[i]=new t;return e}function Dt(t,s,e){for(let i=0;i<e;++i)t[i].assign(s[i]);return e}function Pt(t,s){const e=t.slice(0,s);for(let t=0;t<s;++t)e[t]=e[t].clone();return e}function At(t){return Array.from({length:t},()=>null)}function qt(t,s){return Array.from({length:s},()=>t())}function zt(t,s){const e=new Array(t);return e.fill(s),e}function Ct(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Zt{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 Bt(t,s){return{first:t,second:s}}const Rt=Math.PI,kt=2*Math.PI,Gt=.5*Math.PI;class St{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=zt(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,e){this.m_v[t*this.m_cc+s]=e}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const Lt=new ArrayBuffer(8),Ft=new Float64Array(Lt),Ot=new BigUint64Array(Lt);function Qt(){return Number.EPSILON*bs}function Ut(t){return Ft[0]=t,Ot[0]}function Vt(t){return 4503599627370495n&Ut(t)}function jt(t){return Number((9218868437227405312n&Ut(t))>>52n)}function Yt(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,e=512n,i=1n<<s+e;for(;t>=i;)s+=e,e<<=1n,i<<=e;let n=s;e>>=1n;let r=n+e;for(;e>0n;)t<1n<<r||(n=r),e>>=1n,r=n+e;return n}function $t(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function Ht(t,s,e){return t===s||Math.abs(t-s)<=e||Number.isNaN(t)&&Number.isNaN(s)}function Jt(t,s){return t<s?-1:t>s?1:0}function Kt(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const e=Number.isNaN(t),i=Number.isNaN(s);return e<i?-1:e>i?1:0}}function Wt(){return 2147483647}function Xt(){return 32767}function ts(){return 2147483647}function ss(){return-2147483648}const es=2147483647,is=BigInt(es),ns=2166136261,rs=16777619,us=1099511628211n;function hs(t){let s=ns;for(let e=0,i=t.length;e<i;++e)s=(s^t.charCodeAt(e))*rs;return s&es}function os(t,s){return s+2654435769+(t<<6)+(t>>2)&es}function as(t,s){return os(t,fs(s))}function ms(t){return os(3735928559,t)}function ls(t,s){return os(t,ms(s))}function cs(t){return function(t){let s=ns,e=t;return s=(s^255&e)*rs,e>>=8,s=(s^255&e)*rs,e>>=8,s=(s^255&e)*rs,e>>=8,s=(s^255&e)*rs,s&es}(t)}function fs(t){return Number(function(t){let s=14695981039346656037n,e=t;return s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,e>>=8n,s=(s^0xffn&e)*us,s&is}(t))}function vs(t){return fs(Ut(function(t){return As(t)}(t)))}function _s(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const bs=100;function ds(){return 100*Number.EPSILON}function ps(){return.38196601125010515}function xs(){return 1.4142135623730951}function Ns(){return Number.EPSILON}function ys(t,s,e){return t===s||t===e}function gs(t,s,e){return t>=s?t<=e?t:e:s}function Ts(t,s,e){const i=t[0];if(i>=s){if(i<=e)return!1;t[0]=e}else t[0]=s;return!0}function Es(t,s){return t>=s?s:t<-s?-s:t}function Ms(){return Rt}function ws(){return kt}function Is(){return Gt}const Ds=3*Is();function Ps(){return Ds}function As(t){return t+0}function qs(t){return{v:t}}class zs{constructor(){this.m_rn=qs(0n),this.m_rd=qs(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const e=t.clone();return void 0!==s&&e.limitPrecisionThis(s),e}static constructDouble(t){return(new zs).setDouble(t)}static constructInt64(t){return(new zs).setInt64(t)}static constructRational(t,s){return(new zs).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 zs).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=Ut(t),e=(s&zs.s_em)>>52n,n=!!(s&zs.s_sm),r=s&zs.s_fm;if(e===zs.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===e&&(0,i.t)("denormalized numbers not yet implemented");const u=e-1023n,h=u>=0n?u:0n,o=u<0n?-u:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+o,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,i.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(zs.constructDouble(t))}thisMulInt64(t){return(0,i.g)(0),this}thisMulInt32(t){return(0,i.g)(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(zs.constructDouble(t))}addDoubleThis(t){return this.addThis(zs.constructDouble(t))}subDoubleThis(t){return this.subThis(zs.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(zs.constructInt64(t))}mulDouble(t){return this.clone().mulThis(zs.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(zs.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(zs.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 e=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,e+=32;return s&=this.m_rd.v,s>>=BigInt(e),e+=h(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(e),this.m_power+=t-e,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=bt(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(Yt(this.m_rn.v));if(s>t){const e=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=e}if(s=Number(Yt(this.m_rd.v)),s>t){const e=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=e}return this}hiBitIndex(){return Math.max(Number(Yt(this.m_rn.v)),Number(Yt(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}static lerp(t,s,e){return zs.lerpLo(s,s,e)}static lerpLo(t,s,e){return s.sub(t).mulThis(e).addThis(t)}static lerpHi(t,s,e){return s.sub(t).mulThis(Cs.sub(e)).addThis(t)}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,i.r)("MP_value: sqrt(-1)"),t.isZero())return t.clone();let e=52,n=2220446049250313e-31;for(;e<s;)2*e<=s?(n*=n,e*=2):(n*=2220446049250313e-31,e+=52);e+=52;const r=Yt(t.m_rn.v),u=Yt(t.m_rd.v);let h,o=t.m_power+Number(r-u);const a=new zs;Math.abs(o)>200?(1&Math.abs(o)&&(o+=1),h=zs.constructAssign(t,53).ldexpThis(-o).value(),a.setThis(t).ldexpThis(-o),(0,i.g)(Number.isFinite(h))):(a.setThis(t),h=a.value(),(0,i.g)(Number.isFinite(h)),o=0),h=Math.sqrt(h);const m=zs.constructDouble(h),l=zs.constructDouble(n);l.mulThis(m).ldexpThis(1);const c=n*h*2,f=m.clone(),v=new zs;let _;for(let t=0;t<10;++t){f.mulThis(m),v.setThis(a).subThis(f).absThis();let t=v.value();if(_=1,t<.9)for(;t>c;)t*=t,++_;else _=4;if(v.lte(l))break;for(let t=0;t<_;t++)f.setThis(m).divThis(a).invertThis().addThis(m).ldexpThis(-1).limitPrecisionThis(e),m.setThis(f)}return m.ldexpThis(o/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let e=52,i=2220446049250313e-31;for(;e<s;)2*e<=s?(i*=i,e*=2):(i*=2220446049250313e-31,e+=52);e+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=zs.constructDouble(n),u=r.clone();u.sqrThis().mulDoubleThis(3).mulDoubleThis(i),u.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let s=0;s<10;++s){const s=r.clone();s.sqrThis().mulThis(r);const i=s.clone();if(i.subThis(t),i.absThis().limitPrecisionThis(32),i.lte(u))break;i.setThis(t),i.ldexpThis(1),i.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),i.divThis(n),r.mulThis(i),r.limitPrecisionThis(e)}return r}isInTheRangeOfDouble(){return(0,i.g)(0),!1}sign(){return this.m_sign}cosAndSin(t,s){(0,i.g)(0)}pow(t){return mt(this,t)}static nan(){return(0,i.g)(0),new zs}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 e=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const i=s/e;let n=Number(i);if(BigInt(n)!==i)return t?-n:n;let r=s-i*e;if(r){let t=Yt(e)-1023n;t>0n&&(e>>=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(e)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const e=Math.min(this.m_power,t.m_power);let i,n;this.m_power>e?(i=BigInt(this.m_power-e),n=0n):(i=0n,n=BigInt(t.m_power-e));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<i,u=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+u:r-u,this.m_rd.v*=t.m_rd.v,this.m_power=e,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}}zs.s_sm=0x8000000000000000n,zs.s_em=0x7ff0000000000000n,zs.s_fm=0x000fffffffffffffn,zs.s_emax=0x7ffn;const Cs=zs.constructInt32(1),Zs=zs.constructInt32(0),Bs=zs.constructDouble(.5);function Rs(t,s){let e=jt(t);const i=jt(s);return e===i?(e-=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+u[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(Vt(t),Vt(s)),e):e>i?e:i}function ks(t,s){for(let e=0,i=0,n=t.length;e<n;e+=2,i++)s[i].x=t[e],s[i].y=t[e+1]}function Gs(t){const s=new Float64Array(2*t.length);for(let e=0,i=t.length;e<i;++e){const i=e<<1;s[i]=t[e].x,s[i+1]=t[e].y}return s}function Ss(t){const s=It(Ls,t.length);for(let e=0,i=t.length;e<i;++e)s[e].setCoords(t[e][0],t[e][1]);return s}class Ls{static construct(t,s){return new Ls(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new Ls(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,e){return void 0!==e?Math.abs(this.x-t)<=e&&Math.abs(this.y-s)<=e: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,i.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,e){(0,i.g)(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,e){this.x=s.x*t+e.x,this.y=s.y*t+e.y}scaleOther(t,s){(0,i.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,i.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,i.g)(0),{}}static average(t,s){const e=new Ls;if(0===s)return e.setNAN(),e;if(1===s)return e.assign(t[0]),e;const i=new n(t[0].x),r=new n(t[0].y);for(let e=1;e<s;e++)i.add(t[e].x),r.add(t[e].y),255&e||(i.normalize(),r.normalize());return e.x=i.getResult()/s,e.y=r.getResult()/s,e}static calculateLength(t,s){const e=new n(0);for(let i=1;i<s;i++)e.add(Ls.distance(t[i],t[i-1]));return e.getResult()}offset(t,s){const e=Ls.distance(t,s),i=Ls.construct(this.x,this.y);if(0===e)return Ls.distance(i,t);const n=s.clone();return n.subThis(t),i.subThis(t),i.crossProduct(n)/e}side(t,s){return t.equals(s)?this.equals(t)?0:1:Ls.orientationRobust(s,t,this)}static sqrDistance(t,s){const e=t.x-s.x,i=t.y-s.y;return e*e+i*i}static sqrDistanceCoords(t,s,e,i){const n=e-t,r=i-s;return n*n+r*r}static distance(t,s){return Math.sqrt(Ls.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,i.g)(0),0}rotateDirect(t,s){const e=this.x*t-this.y*s,i=this.x*s+this.y*t;this.x=e,this.y=i}rotateReverse(t,s){const e=this.x*t+this.y*s,i=-this.x*s+this.y*t;this.x=e,this.y=i}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 Ls(this.x+t.x,this.y+t.y)}sub(t){return new Ls(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new Ls(-this.x,-this.y)}mul(t){return new Ls(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new Ls(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 Ls(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),e=t-s;return e>=0?t:e<=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,i.a)("norm")}}getQuarter(){return Ls.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 e=t.getQuarter(),i=s.getQuarter();return i===e?Ls.orientationRobustImpl(Ls.construct(0,0),s,t,!0):e<i?-1:1}static compareVectorsOrigin(t,s,e){const i=s.sub(t),n=e.sub(t),r=i.getQuarter(),u=n.getQuarter();return u===r?Ls.orientationRobustImpl(t,e,s,!0):r<u?-1:1}static orientationRobust(t,s,e){return Ls.orientationRobustImpl(t,s,e,!1)}static orientationRobustEx(t,s,e,i){if(t.equals(s)||e.equals(i))return 0;const n=s.x-t.x,r=s.y-t.y,u=i.x-e.x,h=i.y-e.y;{const t=Ls.getQuarterCoords(n,r)-1,s=Ls.getQuarterCoords(u,h)-1,e=Ls.d[t][s];if(0!==e)return e}const o=n*h,a=r*u,m=4*Ns()*(Math.abs(o)+Math.abs(a)),l=o-a;return Math.abs(l)>=m?l<0?-1:l>0?1:0:Ls.orientationRobustExMp(t,s,e,i)}static orientationRobustExMp(t,s,e,i){const n=zs.constructDouble(s.x),r=zs.constructDouble(i.x);n.subThis(zs.constructDouble(t.x)),r.subThis(zs.constructDouble(e.x));const u=zs.constructDouble(s.y),h=zs.constructDouble(i.y);return u.subThis(zs.constructDouble(t.y)),h.subThis(zs.constructDouble(e.y)),n.mulThis(h),u.mulThis(r),n.subThis(u),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,e){const i=s.sub(t).crossProduct(e.sub(t));return i<0?-1:i>0?1:0}static orientationRobustImpl(t,s,e,i){if(s.isEqualPoint2D(t)||e.isEqualPoint2D(t)||s.isEqualPoint2D(e))return 0;const n=s.x-t.x,r=s.y-t.y,u=e.x-t.x,h=e.y-t.y;if(!i){const t=Ls.getQuarterCoords(n,r)-1,s=Ls.getQuarterCoords(u,h)-1,e=Ls.d[t][s];if(0!==e)return e}const o=(Math.abs(n)+Math.abs(r)+Math.abs(u)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(e.x)+Math.abs(e.y))*8*_(),a=n*h-r*u;if(Math.abs(a)>o)return a<0?-1:1;if(v(s.x,t.x)&&v(e.y,t.y)&&v(s.y,t.y)&&v(e.x,t.x)&&c(n,h)&&c(r,u)){const t=n*h,s=r*u;if(v(t,s)){const e=t-s;return e<0?-1:e>0?1:0}}return Ls.orientationRobustMp(t,s,e)}static orientationRobustMp(t,s,e){const i=zs.constructDouble(s.x),n=zs.constructDouble(e.x);{const s=zs.constructDouble(t.x);i.subThis(s),n.subThis(s)}const r=zs.constructDouble(e.y),u=zs.constructDouble(s.y);{const s=zs.constructDouble(t.y);r.subThis(s),u.subThis(s)}return i.mulThis(r),u.mulThis(n),i.subThis(u),i.LZ()?-1:i.GZ()?1:0}static inCircleRobust(t,s,e,i){const n=new l,r=new l;n.set(t.x),n.subThis(i.x),r.set(t.y),r.subThis(i.y);const u=new l,h=new l;u.set(s.x),u.subThis(i.x),h.set(s.y),h.subThis(i.y);const o=new l,a=new l;o.set(e.x),o.subThis(i.x),a.set(e.y),a.subThis(i.y);const m=n.mulE(h).subE(r.mulE(u)),c=u.mulE(a).subE(h.mulE(o)),f=n.mulE(a).subE(r.mulE(o)),v=n.mulE(n).addE(r.mulE(r)),_=u.mulE(u).addE(h.mulE(h)),b=o.mulE(o).addE(a.mulE(a)),d=v.mulE(c).subE(_.mulE(f)).addE(b.mulE(m));if(!d.isFuzzyZero()){const t=d.value();return t<0?-1:t>0?1:0}return Ls.inCircleRobustMp(t,s,e,i)}static inCircleRobustMp(t,s,e,i){do{if(!v(t.x,i.x)||!v(t.y,i.y))break;if(!v(s.x,i.x)||!v(s.y,i.y))break;if(!v(e.x,i.x)||!v(e.y,i.y))break;const n=t.x-i.x,r=t.y-i.y,u=s.x-i.x,h=s.y-i.y,o=e.x-i.x,a=e.y-i.y;if(!c(n,h)||!c(r,u))break;if(!c(u,a)||!c(h,o))break;if(!c(n,a)||!c(r,o))break;if(!c(n,n)||!c(r,r))break;if(!c(u,u)||!c(h,h))break;if(!c(o,o)||!c(a,a))break;const m=n*h,l=r*u,_=u*a,b=h*o,d=n*a,p=r*o,x=n*n,N=r*r,y=u*u,g=h*h,T=o*o,E=a*a;if(!v(m,l))break;if(!v(_,b))break;if(!v(d,p))break;if(!f(x,N))break;if(!f(y,g))break;if(!f(T,E))break;const M=m-l,w=_-b,I=d-p,D=x+N,P=y+g,A=T+E;if(!c(D,w))break;if(!c(P,I))break;if(!c(A,M))break;const q=D*w,z=P*I,C=A*M;if(!v(q,z))break;const Z=q-z;if(!f(Z,C))break;const B=Z+C;return B<0?-1:B>0?1:0}while(0);const n=zs.constructDouble(i.x),r=zs.constructDouble(i.y),u=zs.constructDouble(t.x),h=zs.constructDouble(t.y);u.subThis(n),h.subThis(r);const o=zs.constructDouble(s.x),a=zs.constructDouble(s.y);o.subThis(n),a.subThis(r);const m=zs.constructDouble(e.x),l=zs.constructDouble(e.y);m.subThis(n),l.subThis(r);const _=u.mul(a).sub(h.mul(o)),b=o.mul(l).sub(a.mul(m)),d=u.mul(l).sub(h.mul(m)),p=u.mul(u).add(h.mul(h)),x=o.mul(o).add(a.mul(a)),N=m.mul(m).add(l.mul(l)),y=p.mul(b).sub(x.mul(d)).add(N.mul(_));return y.LZ()?-1:y.GZ()?1:0}static inCircleRobustMp3Point(t,s,e){const i=zs.constructDouble(t.x),n=zs.constructDouble(t.y),r=zs.constructDouble(s.x),u=zs.constructDouble(s.y),h=zs.constructDouble(e.x),o=zs.constructDouble(e.y),a=h.mul(h).add(o.mul(o)).sub(h.mul(i).add(o.mul(n)).add(h.mul(r)).add(o.mul(u))).add(i.mul(r).add(n.mul(u)));return a.LZ()?-1:a.GZ()?1:0}static inCircleRobust3Point(t,s,e){const i=new l(t.x),n=new l(t.y),r=new l(s.x),u=new l(s.y),h=new l(e.x),o=new l(e.y),a=h.mulE(h).addE(o.mulE(o)).subE(h.mulE(i).addE(o.mulE(n)).addE(h.mulE(r)).addE(o.mulE(u))).addE(i.mulE(r).addE(n.mulE(u)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return Ls.inCircleRobustMp3Point(t,s,e)}static calculateCircleCenterFromThreePoints(t,s,e){if(t.equals(e)||t.equals(s)||e.equals(s))return Ls.getNAN();const i=function(t,s,e){const i=new l(s.x);i.subThis(t.x);const n=new l(s.y);n.subThis(t.y);const r=new l(e.x);r.subThis(t.x);const u=new l(e.y);u.subThis(t.y);const h=i.clone();h.mulThisE(u);let o=n.clone();if(o.mulThisE(r),h.subThisE(o),0===h.value())return Ls.getNAN();h.mulThis(2);const a=i.clone();a.mulThisE(i);const m=n.clone();m.mulThisE(n);const c=a.clone();c.addThisE(m);const f=r.clone();f.mulThisE(r);const v=u.clone();v.mulThisE(u);const _=f.clone();_.addThisE(v);const b=n.clone();b.mulThisE(_),o=u.clone(),o.mulThisE(c),b.subThisE(o),b.divThisE(h);const d=i.clone();d.mulThisE(_),o=r.clone(),o.mulThisE(c),d.subThisE(o),d.divThisE(h);const p=Ls.construct(t.x-b.value(),t.y+d.value()),x=t.sub(p).length(),N=s.sub(p).length(),y=e.sub(p).length(),g=1e-15*(x+Math.abs(t.x)+Math.abs(s.x)+Math.abs(e.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(e.y));return Math.abs(x-N)<=g&&Math.abs(x-y)<=g&&b.eps()<g&&d.eps()<g?p:Ls.getNAN()}(t,s,e);return i.isNAN()?function(t,s,e){const i=zs.constructDouble(s.x);i.subDoubleThis(t.x);const n=zs.constructDouble(s.y);n.subDoubleThis(t.y);const r=zs.constructDouble(e.x);r.subDoubleThis(t.x);const u=zs.constructDouble(e.y);u.subDoubleThis(t.y);const h=i.clone();h.mulThis(u);let o=n.clone();if(o.mulThis(r),h.subThis(o),h.isZero())return Ls.getNAN();h.mulDoubleThis(2);const a=i.clone();a.mulThis(i);const m=n.clone();m.mulThis(n);const l=a.clone();l.addThis(m);const c=r.clone();c.mulThis(r);const f=u.clone();f.mulThis(u);const v=c.clone();v.addThis(f);const _=n.clone();_.mulThis(v),o=u.clone(),o.mulThis(l),_.subThis(o),_.divThis(h);const b=i.clone();return b.mulThis(v),o=r.clone(),o.mulThis(l),b.subThis(o),b.divThis(h),Ls.construct(t.x-_.value(),t.y+b.value())}(t,s,e):i}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,s,e){return(0,i.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 e=Ls.c_compare_zorder_xx[t.x<0?1:0]|Ls.c_compare_zorder_yy[t.y<0?1:0],i=Ls.c_compare_zorder_xx[s.x<0?1:0]|Ls.c_compare_zorder_yy[s.y<0?1:0];if(e===i){let e=0,i=0;for(let n=0;n<2;++n){const r=Rs(t[n],s[n]);r>e&&(e=r,i=n)}return t[i]<s[i]}return e<i}static lerp(t,s,e){const i=new Ls;return R(t,s,e,i),i}static getClosestCoordinate(t,s,e,i=!1){const n=Ls.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(e))return 1;const u=Ls.getNAN();u.setSub(e,t);let h=u.dotProduct(n)/r;return i||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,e,i){if(t.equals(s)||e.equals(i))return Ls.getNAN();const n=s.x-t.x,r=e.x-i.x,u=s.y-t.y,h=e.y-i.y,o=n*h-r*u;if(!o)return Ls.getNAN();const a=o;if(0===a)return Ls.getNAN();let m=(e.x-t.x)*h-(e.y-t.y)*r;m/=a;const l=new Ls;return R(t,s,m,l),l.isFinite()?l:Ls.getNAN()}toString(){return`[${this.x},${this.y}]`}}Ls.dimensions=2,Ls.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],Ls.c_compare_zorder_xx=[2,0],Ls.c_compare_zorder_yy=[1,0]}}]);