@arcgis/core 5.2.0-next.87 → 5.2.0-next.88

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 (632) hide show
  1. package/arcade/Dictionary.js +1 -1
  2. package/arcade/Feature.js +1 -1
  3. package/arcade/ImmutablePointArray.js +1 -1
  4. package/arcade/arcadeAsyncRuntime.js +1 -1
  5. package/arcade/arcadeCompiler.js +1 -1
  6. package/arcade/arcadeRuntime.js +1 -1
  7. package/arcade/containerUtils.js +1 -1
  8. package/arcade/debug.js +1 -1
  9. package/arcade/deepClone.js +1 -1
  10. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  11. package/arcade/featureset/support/FeatureSet.js +1 -1
  12. package/arcade/functions/centroid.js +1 -1
  13. package/arcade/functions/date.js +1 -1
  14. package/arcade/functions/feature.js +1 -1
  15. package/arcade/functions/featuresetbase.js +1 -1
  16. package/arcade/functions/featuresetgeom.js +1 -1
  17. package/arcade/functions/featuresetstats.js +1 -1
  18. package/arcade/functions/featuresetstring.js +1 -1
  19. package/arcade/functions/fieldStats.js +1 -1
  20. package/arcade/functions/geomasync.js +1 -1
  21. package/arcade/functions/geometry.js +1 -1
  22. package/arcade/functions/geomsync.js +1 -1
  23. package/arcade/functions/knowledgegraph.js +1 -1
  24. package/arcade/functions/maths.js +1 -1
  25. package/arcade/functions/stats.js +1 -1
  26. package/arcade/functions/string.js +1 -1
  27. package/arcade/functions/track.js +1 -1
  28. package/arcade/geometry/adapters/accessor.js +2 -0
  29. package/arcade/geometry/adapters/dehydrated.js +2 -0
  30. package/arcade/geometry/adapters/gx.js +2 -0
  31. package/arcade/geometry/adapters/json.js +2 -0
  32. package/arcade/geometry/adapters/optimized.js +2 -0
  33. package/arcade/geometry/adapters/tuple.js +2 -0
  34. package/arcade/geometry/adapters/utils.js +2 -0
  35. package/arcade/geometry/arrayOfPointsConversions.js +2 -0
  36. package/arcade/geometry/constructors.js +1 -1
  37. package/arcade/geometry/functions.js +1 -1
  38. package/arcade/geometry/isSelfIntersecting.js +2 -0
  39. package/arcade/geometry/nearestCoordinate.js +2 -0
  40. package/arcade/geometry/nearestVertex.js +1 -1
  41. package/arcade/geometry/operators.js +1 -1
  42. package/arcade/geometry/operatorsWorker.js +1 -1
  43. package/arcade/geometry/rotate.js +1 -1
  44. package/arcade/geometry.js +2 -0
  45. package/arcade/languageUtils.js +1 -1
  46. package/arcade.js +1 -1
  47. package/arcgisGlobal.d.ts +1 -0
  48. package/assets/esri/core/workers/RemoteClient.js +1 -1
  49. package/assets/esri/core/workers/chunks/{0b8c9657975388f1e4c8.js → 00181785a180e934bf7c.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{01e648b258efa6408070.js → 0336f4f8498a22347720.js} +1 -1
  51. package/assets/esri/core/workers/chunks/0439d4f4dfd6e78be97e.js +1 -0
  52. package/assets/esri/core/workers/chunks/05393b23ab24126d4236.js +1 -0
  53. package/assets/esri/core/workers/chunks/08263c07d92c48806834.js +1 -0
  54. package/assets/esri/core/workers/chunks/09e01fd1c199be0c8e03.js +1 -0
  55. package/assets/esri/core/workers/chunks/{12d6d73ca1fa55640a4f.js → 0b4a7209b99227a842ad.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{073224c6ac77dc9e97af.js → 0b7860a3f18d252b774a.js} +1 -1
  57. package/assets/esri/core/workers/chunks/0d95f72e1c07ab867d21.js +1 -0
  58. package/assets/esri/core/workers/chunks/0dbbac7a2378728571a7.js +1 -0
  59. package/assets/esri/core/workers/chunks/0f15468ffefd3e9a17b8.js +29 -0
  60. package/assets/esri/core/workers/chunks/13e92f6a9573a2818fb7.js +1 -0
  61. package/assets/esri/core/workers/chunks/19aa4072764937743bd8.js +1 -0
  62. package/assets/esri/core/workers/chunks/19e93d4d37018e3ee849.js +1 -0
  63. package/assets/esri/core/workers/chunks/{911f3a1b8dd4bc5c9782.js → 1bf5c0a4bc5a960a3fa2.js} +1 -1
  64. package/assets/esri/core/workers/chunks/1c378d489c5402888f76.js +1 -0
  65. package/assets/esri/core/workers/chunks/1d1e8d8b1fcf2d9f3dfc.js +1 -0
  66. package/assets/esri/core/workers/chunks/{e5c8f9fef88ca33624e9.js → 1e087fb13b7b0a5d6fec.js} +1 -1
  67. package/assets/esri/core/workers/chunks/1e192ac0533a5c0b5a7a.js +1 -0
  68. package/assets/esri/core/workers/chunks/1f9d6180a96d557838e9.js +1 -0
  69. package/assets/esri/core/workers/chunks/1fe077f57a087c0e9119.js +1 -0
  70. package/assets/esri/core/workers/chunks/212222b64039d436b9a6.js +1 -0
  71. package/assets/esri/core/workers/chunks/22c94f9a69b2157f8dbd.js +1 -0
  72. package/assets/esri/core/workers/chunks/25a2e02677a74834c8b5.js +1 -0
  73. package/assets/esri/core/workers/chunks/26ecc841396e5e719b6a.js +1 -0
  74. package/assets/esri/core/workers/chunks/{fcf7299e2ee904ab9882.js → 2724900f7992a79fc442.js} +1 -1
  75. package/assets/esri/core/workers/chunks/27c0bed59626c7f64125.js +1 -0
  76. package/assets/esri/core/workers/chunks/2bc3e7f394386fa75447.js +1 -0
  77. package/assets/esri/core/workers/chunks/2c9783e3b44986e86797.js +1 -0
  78. package/assets/esri/core/workers/chunks/2ceb07b125c84b51f02a.js +1 -0
  79. package/assets/esri/core/workers/chunks/2cf2f2842c19be84ab4d.js +1 -0
  80. package/assets/esri/core/workers/chunks/2d07d5a9ec67c39ef10c.js +1 -0
  81. package/assets/esri/core/workers/chunks/{a7c715648a07ed70b122.js → 2ec44ebc48beeba11201.js} +1 -1
  82. package/assets/esri/core/workers/chunks/2f2d699b072472fa710e.js +1 -0
  83. package/assets/esri/core/workers/chunks/2f3bbc1f7d4abbbeec2f.js +1 -0
  84. package/assets/esri/core/workers/chunks/304a36e862947fdb05c0.js +1 -0
  85. package/assets/esri/core/workers/chunks/30af0f7c4cfa541c9efd.js +1 -0
  86. package/assets/esri/core/workers/chunks/32f11b4aeae1ef00e466.js +1 -0
  87. package/assets/esri/core/workers/chunks/35d3e60d15294f268992.js +1 -0
  88. package/assets/esri/core/workers/chunks/37a2be4380796f14fe4e.js +1 -0
  89. package/assets/esri/core/workers/chunks/37adb55d9f83faad1712.js +1 -0
  90. package/assets/esri/core/workers/chunks/3869dca884d7ca6488f5.js +1 -0
  91. package/assets/esri/core/workers/chunks/3a9c6f58a1a065c14017.js +1 -0
  92. package/assets/esri/core/workers/chunks/3b552afffaa78bf4fe18.js +1 -0
  93. package/assets/esri/core/workers/chunks/{fe06cc2f90b2d551e4c1.js → 3bbd2d4a19c3b7ad82e4.js} +1 -1
  94. package/assets/esri/core/workers/chunks/3de07326da4c47cd2aab.js +1 -0
  95. package/assets/esri/core/workers/chunks/3f5234120d3a14186c1c.js +1 -0
  96. package/assets/esri/core/workers/chunks/{dbd6bbd3e834ff9d220e.js → 41cf6163758d28fb1968.js} +1 -1
  97. package/assets/esri/core/workers/chunks/466bb1b69aabaeabad6a.js +1 -0
  98. package/assets/esri/core/workers/chunks/47e60b2acec18ef37b6c.js +1 -0
  99. package/assets/esri/core/workers/chunks/4849849fc8330d05a8e6.js +1 -0
  100. package/assets/esri/core/workers/chunks/497c5a9c95e9a89ac217.js +1 -0
  101. package/assets/esri/core/workers/chunks/49d36e54644dc2966128.js +1 -0
  102. package/assets/esri/core/workers/chunks/4aefe6fd4d725a107758.js +1 -0
  103. package/assets/esri/core/workers/chunks/4b6f433022a6822706cb.js +1 -0
  104. package/assets/esri/core/workers/chunks/4d4ebb4e4d83c1123b63.js +1 -0
  105. package/assets/esri/core/workers/chunks/4ee99e654dad6f09abee.js +1 -0
  106. package/assets/esri/core/workers/chunks/4f0804429d8989aa4c51.js +1 -0
  107. package/assets/esri/core/workers/chunks/50525b617ef78086d3c7.js +1 -0
  108. package/assets/esri/core/workers/chunks/5235b9c21ac4156c2375.js +1 -0
  109. package/assets/esri/core/workers/chunks/52422500ca3d6cf2e596.js +1 -0
  110. package/assets/esri/core/workers/chunks/527b87fddf33bb5d519e.js +1 -0
  111. package/assets/esri/core/workers/chunks/55572cefc752b755cf0a.js +1 -0
  112. package/assets/esri/core/workers/chunks/{a4bae2396fae48b57047.js → 595edbc1e9bba47d5676.js} +1 -1
  113. package/assets/esri/core/workers/chunks/59cf23cc8f91b5bea31a.js +1 -0
  114. package/assets/esri/core/workers/chunks/5af16937904c06fb06f6.js +1 -0
  115. package/assets/esri/core/workers/chunks/5d7a5aa608ed6192b016.js +1 -0
  116. package/assets/esri/core/workers/chunks/5d9c92c4e60a4696fdad.js +1 -0
  117. package/assets/esri/core/workers/chunks/5ed7bc9e6cb7cdee92e2.js +1 -0
  118. package/assets/esri/core/workers/chunks/{272c8ccdbd3dcc14e99b.js → 5ed89c862eee1345e3af.js} +1 -1
  119. package/assets/esri/core/workers/chunks/5fbd7d8d8896a224fff3.js +1 -0
  120. package/assets/esri/core/workers/chunks/64ce2d060ae7cdd412cf.js +1 -0
  121. package/assets/esri/core/workers/chunks/65f4ca7201e7267bfc81.js +1 -0
  122. package/assets/esri/core/workers/chunks/67efdd296007a809586c.js +1 -0
  123. package/assets/esri/core/workers/chunks/691434d4c6a38e63d819.js +1 -0
  124. package/assets/esri/core/workers/chunks/{ba67aaa08e4f11e1140a.js → 696cb3bf167327d5b0b9.js} +1 -1
  125. package/assets/esri/core/workers/chunks/69700ed16727ed0c4e3a.js +1 -0
  126. package/assets/esri/core/workers/chunks/6a2d890640b2cd6c5ccb.js +1 -0
  127. package/assets/esri/core/workers/chunks/6a4f007f87d9f2a6fbc4.js +1 -0
  128. package/assets/esri/core/workers/chunks/{7343a44a2382a1d68497.js → 6b9dbf43c0659e55c539.js} +1 -1
  129. package/assets/esri/core/workers/chunks/6de5c6af62776e1b9776.js +1 -0
  130. package/assets/esri/core/workers/chunks/70dc25f721c0ac5f3660.js +1 -0
  131. package/assets/esri/core/workers/chunks/71308dca3fd05687e7bd.js +1 -0
  132. package/assets/esri/core/workers/chunks/75bddfe2be64379db8fd.js +1 -0
  133. package/assets/esri/core/workers/chunks/78085f804969c9282700.js +1 -0
  134. package/assets/esri/core/workers/chunks/7aa9b61ca9b66f30449f.js +1 -0
  135. package/assets/esri/core/workers/chunks/7c1f989ee3d13dfe7ebd.js +1 -0
  136. package/assets/esri/core/workers/chunks/7c56446184abcd14678b.js +1 -0
  137. package/assets/esri/core/workers/chunks/7ce9c84f90e9dd1deb38.js +1 -0
  138. package/assets/esri/core/workers/chunks/7f55a150e4da02786311.js +1 -0
  139. package/assets/esri/core/workers/chunks/7fc3231768ce79e375ae.js +1 -0
  140. package/assets/esri/core/workers/chunks/7febb434f2de2436435f.js +1 -0
  141. package/assets/esri/core/workers/chunks/847b02d188ece9b563ad.js +1 -0
  142. package/assets/esri/core/workers/chunks/903c7bd079888f65fef1.js +1 -0
  143. package/assets/esri/core/workers/chunks/{bdafd4f03585351cecc3.js → 909a85cb6e0e9a3c8567.js} +1 -1
  144. package/assets/esri/core/workers/chunks/9226205850e35b7fc610.js +1 -0
  145. package/assets/esri/core/workers/chunks/922c24b9bb68f4201b03.js +1 -0
  146. package/assets/esri/core/workers/chunks/9474c913e53f69679197.js +1 -0
  147. package/assets/esri/core/workers/chunks/94ddfe165ac25aef8229.js +1 -0
  148. package/assets/esri/core/workers/chunks/{75a2c43311f5f9058f62.js → 94f62ff81cc6fb83e73f.js} +1 -1
  149. package/assets/esri/core/workers/chunks/95ccac3734ac70387b03.js +1 -0
  150. package/assets/esri/core/workers/chunks/97c7dfd29ad4c2966cb4.js +1 -0
  151. package/assets/esri/core/workers/chunks/{1354b8442c2c501238f1.js → 986c5024f22bbfc49aba.js} +1 -1
  152. package/assets/esri/core/workers/chunks/9b81bd62a2c72f592db1.js +1 -0
  153. package/assets/esri/core/workers/chunks/{62596065747abce1964d.js → 9b8e33985310f281f084.js} +1 -1
  154. package/assets/esri/core/workers/chunks/9e2b3754a76e0dd4a94a.js +1 -0
  155. package/assets/esri/core/workers/chunks/9eb3e6800f5034f1593f.js +1 -0
  156. package/assets/esri/core/workers/chunks/a0300fac6a06e7d89a52.js +1 -0
  157. package/assets/esri/core/workers/chunks/a03e7333e3328036f478.js +1 -0
  158. package/assets/esri/core/workers/chunks/a0565137027c83108953.js +1 -0
  159. package/assets/esri/core/workers/chunks/a3b403f8acb90af19adb.js +1 -0
  160. package/assets/esri/core/workers/chunks/a4596f028758649da099.js +1 -0
  161. package/assets/esri/core/workers/chunks/a46ac0be9aabc4cfedc7.js +1 -0
  162. package/assets/esri/core/workers/chunks/a4a22149077c7780481c.js +1 -0
  163. package/assets/esri/core/workers/chunks/a6ab627e965fe7e5bd52.js +1 -0
  164. package/assets/esri/core/workers/chunks/a7954ad55a241af9064f.js +1 -0
  165. package/assets/esri/core/workers/chunks/a8b878c12cb1a6ea012b.js +1 -0
  166. package/assets/esri/core/workers/chunks/{ec0803cfa5051c4d300d.js → aa0ef4493a7e9bed159f.js} +1 -1
  167. package/assets/esri/core/workers/chunks/aa8ab28e0c1ae3b55ac0.js +1 -0
  168. package/assets/esri/core/workers/chunks/ab9927a32350063cb5f0.js +1 -0
  169. package/assets/esri/core/workers/chunks/adc2620cbe735532004d.js +1 -0
  170. package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +1 -0
  171. package/assets/esri/core/workers/chunks/{bbf4c2ee4d56bb0f1a81.js → afa6b74d9ca9ed0154af.js} +1 -1
  172. package/assets/esri/core/workers/chunks/b0e25ccb5a1e57a82628.js +1 -0
  173. package/assets/esri/core/workers/chunks/b17a9853250ab626d58d.js +1 -0
  174. package/assets/esri/core/workers/chunks/b19cff0e43fab2632660.js +1 -0
  175. package/assets/esri/core/workers/chunks/b2e2234fdf8e05bc3312.js +1 -0
  176. package/assets/esri/core/workers/chunks/b6063d1755def00d4889.js +1 -0
  177. package/assets/esri/core/workers/chunks/{39c0a3eb6a870953d530.js → b6f67302d0d5d57add66.js} +1 -1
  178. package/assets/esri/core/workers/chunks/bb56ab53c5a10c9518a6.js +1 -0
  179. package/assets/esri/core/workers/chunks/bd2602195e265f8fdb15.js +1 -0
  180. package/assets/esri/core/workers/chunks/{f762f0f6c83748d8e328.js → bee411f08e2a9499f8f5.js} +1 -1
  181. package/assets/esri/core/workers/chunks/bf357afbabaa8dec4d75.js +1 -0
  182. package/assets/esri/core/workers/chunks/bf7875fda48b15271a10.js +1 -0
  183. package/assets/esri/core/workers/chunks/bfa59005a9b191d18546.js +1 -0
  184. package/assets/esri/core/workers/chunks/bfb8fc6b940bd5510e29.js +1 -0
  185. package/assets/esri/core/workers/chunks/{b311658b8a223efe35d6.js → c0e073a77484b0dfd383.js} +1 -1
  186. package/assets/esri/core/workers/chunks/c13aa45ccd5efb662f88.js +1 -0
  187. package/assets/esri/core/workers/chunks/c176df477bbbbc9c6922.js +1 -0
  188. package/assets/esri/core/workers/chunks/c35553d07ad169910742.js +1 -0
  189. package/assets/esri/core/workers/chunks/c4f582dec07895d3bb93.js +1 -0
  190. package/assets/esri/core/workers/chunks/c4fef90cf08bbe4f0bb5.js +1 -0
  191. package/assets/esri/core/workers/chunks/c5c2fed38e0ccf84f1fa.js +1 -0
  192. package/assets/esri/core/workers/chunks/c80277a313205853a857.js +1 -0
  193. package/assets/esri/core/workers/chunks/c91042f8bf886056a29c.js +1 -0
  194. package/assets/esri/core/workers/chunks/ca204c110438f7315790.js +1 -0
  195. package/assets/esri/core/workers/chunks/ca36d85a47179d95f2fc.js +1 -0
  196. package/assets/esri/core/workers/chunks/cb6fb04fe5c8d90d4196.js +1 -0
  197. package/assets/esri/core/workers/chunks/ccaeabc3be07f3c96f50.js +1 -0
  198. package/assets/esri/core/workers/chunks/{85f459297b0214141d43.js → cd02a6078443b8f63927.js} +1 -1
  199. package/assets/esri/core/workers/chunks/{e64ccdb8328eb6514e59.js → cd8b3c2fc27c239f9954.js} +1 -1
  200. package/assets/esri/core/workers/chunks/{3a36c132ceddef3d15c8.js → cdbcc4cd9145dd93db49.js} +1 -1
  201. package/assets/esri/core/workers/chunks/{e90feee1756a2209f93f.js → ce9fe1a89b474f9e7ee7.js} +1 -1
  202. package/assets/esri/core/workers/chunks/d04a01dc1b4947478264.js +1 -0
  203. package/assets/esri/core/workers/chunks/d0cf9ff48f051adbd455.js +1 -0
  204. package/assets/esri/core/workers/chunks/d119671a32a050517cca.js +1 -0
  205. package/assets/esri/core/workers/chunks/d26be8313526ecea9c68.js +1 -0
  206. package/assets/esri/core/workers/chunks/d270b49c037085503016.js +1 -0
  207. package/assets/esri/core/workers/chunks/{f5eee6e548bb24b5a003.js → d30a7fc8dab4ebb8893b.js} +1 -1
  208. package/assets/esri/core/workers/chunks/d344c3fd9f6b113bbcd7.js +1 -0
  209. package/assets/esri/core/workers/chunks/d36bbda9b7261534568f.js +1 -0
  210. package/assets/esri/core/workers/chunks/d4b0012ae1d3b8a9ba01.js +1 -0
  211. package/assets/esri/core/workers/chunks/d6b87134e0d120c68d2f.js +1 -0
  212. package/assets/esri/core/workers/chunks/d6f7aa280f1bd201d4ef.js +1 -0
  213. package/assets/esri/core/workers/chunks/da9aacdb0b4a04f42fb8.js +1 -0
  214. package/assets/esri/core/workers/chunks/daf7b647bd960d8bad56.js +1 -0
  215. package/assets/esri/core/workers/chunks/{10ac92dcd3738ec23dfb.js → db04c1bad40d068306ba.js} +1 -1
  216. package/assets/esri/core/workers/chunks/{3427f0c026301bcf7272.js → db180f8d25471cfa48af.js} +1 -1
  217. package/assets/esri/core/workers/chunks/db4c9a9103e979292948.js +1 -0
  218. package/assets/esri/core/workers/chunks/dceaa6b68eee090073b1.js +1 -0
  219. package/assets/esri/core/workers/chunks/ddf284648a73b6993737.js +1 -0
  220. package/assets/esri/core/workers/chunks/dfbe0efe453587ec5eb2.js +1 -0
  221. package/assets/esri/core/workers/chunks/e1682e94cc714197ebb4.js +1 -0
  222. package/assets/esri/core/workers/chunks/e2576c37cf13dc421f69.js +1 -0
  223. package/assets/esri/core/workers/chunks/e32a14770e036fce79d9.js +1 -0
  224. package/assets/esri/core/workers/chunks/e370a3337b3c90240e73.js +1 -0
  225. package/assets/esri/core/workers/chunks/e39bccc000c768120a32.js +1 -0
  226. package/assets/esri/core/workers/chunks/e40e08029325f43452d0.js +1 -0
  227. package/assets/esri/core/workers/chunks/{0d7d54e74b5639a0be6e.js → e707534a700a2de687ca.js} +1 -1
  228. package/assets/esri/core/workers/chunks/e823c9ccb7bc348d8824.js +1 -0
  229. package/assets/esri/core/workers/chunks/e88eee4c2fc4229c2a8b.js +1 -0
  230. package/assets/esri/core/workers/chunks/e9f29019aa78f07ace66.js +1 -0
  231. package/assets/esri/core/workers/chunks/ea75c23c44452f45a949.js +1 -0
  232. package/assets/esri/core/workers/chunks/ea91c57a0b31f3f65ee5.js +1 -0
  233. package/assets/esri/core/workers/chunks/eacf216dcd6397c7bd7f.js +1 -0
  234. package/assets/esri/core/workers/chunks/ee77999df3785468b2b6.js +1 -0
  235. package/assets/esri/core/workers/chunks/ef851a2cff76fd211c07.js +1 -0
  236. package/assets/esri/core/workers/chunks/eff359210893239ecec3.js +1 -0
  237. package/assets/esri/core/workers/chunks/f106cc7f559856f69b9f.js +1 -0
  238. package/assets/esri/core/workers/chunks/f210cd8afb86b6eaf7a2.js +1 -0
  239. package/assets/esri/core/workers/chunks/f247f3c5148fa0237a7c.js +1 -0
  240. package/assets/esri/core/workers/chunks/f250a7aa571889c5ad4b.js +1 -0
  241. package/assets/esri/core/workers/chunks/{a26dc2647a15b830390e.js → f253875feb11883deb84.js} +1 -1
  242. package/assets/esri/core/workers/chunks/f31330d628d7e741bf5b.js +1 -0
  243. package/assets/esri/core/workers/chunks/f3d57c5b9dffd12e45b4.js +1 -0
  244. package/assets/esri/core/workers/chunks/f43ae1c2f89e1c4396cc.js +1 -0
  245. package/assets/esri/core/workers/chunks/f60ed579981913d44675.js +1 -0
  246. package/assets/esri/core/workers/chunks/{147d1e7e2852a4197e5f.js → f665fb4c5633e0a459d8.js} +1 -1
  247. package/assets/esri/core/workers/chunks/f66e597e524b26e61cd3.js +1 -0
  248. package/assets/esri/core/workers/chunks/{bec140a69cfdb0519680.js → f74c7cbe4bd12f73ae90.js} +1 -1
  249. package/assets/esri/core/workers/chunks/{e6f6b38eda34708d61c5.js → f7f2102b16d201e5f531.js} +1 -1
  250. package/assets/esri/core/workers/chunks/f82ae237452b97cfc024.js +1 -0
  251. package/assets/esri/core/workers/chunks/f8f7b86bbd62106bc3d4.js +1 -0
  252. package/assets/esri/core/workers/chunks/f9a4387f850d85c44ca5.js +1 -0
  253. package/assets/esri/core/workers/chunks/fbc7576ed12964059da6.js +1 -0
  254. package/assets/esri/core/workers/chunks/fc4a5996fc03f6c32030.js +1 -0
  255. package/assets/esri/core/workers/chunks/fdd0e6d9927d3c43b0d3.js +1 -0
  256. package/assets/esri/core/workers/chunks/fddcb8be714ad18ad0c8.js +1 -0
  257. package/assets/esri/core/workers/chunks/{baa46edd87e97f922128.js → ffe749d790320dddfa74.js} +1 -1
  258. package/chunks/Bufferer-CclWhXVb.js +1 -1
  259. package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
  260. package/chunks/Envelope.js +1 -1
  261. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  262. package/chunks/GeodeticUtils.js +1 -1
  263. package/chunks/GeographicTransformation.js +1 -1
  264. package/chunks/Geometry.js +1 -1
  265. package/chunks/GlowComposite.glsl.js +9 -7
  266. package/chunks/MultiPathImpl.js +1 -1
  267. package/chunks/OperatorCentroid2D.js +1 -1
  268. package/chunks/OperatorContains.js +2 -0
  269. package/chunks/OperatorCrosses.js +1 -1
  270. package/chunks/OperatorCut.js +1 -1
  271. package/chunks/OperatorDisjoint.js +2 -0
  272. package/chunks/OperatorDistance.js +2 -0
  273. package/chunks/OperatorEquals.js +2 -0
  274. package/chunks/OperatorGeodesicBuffer.js +1 -1
  275. package/chunks/OperatorGeodeticArea.js +1 -1
  276. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  277. package/chunks/OperatorGeodeticLength.js +1 -1
  278. package/chunks/OperatorGraphicBuffer.js +1 -1
  279. package/chunks/OperatorIntegrate.js +1 -1
  280. package/chunks/OperatorIntersects.js +1 -1
  281. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  282. package/chunks/OperatorOverlaps.js +1 -1
  283. package/chunks/OperatorProximity.js +1 -1
  284. package/chunks/OperatorProximityGeodesic.js +1 -1
  285. package/chunks/OperatorRelate.js +2 -0
  286. package/chunks/OperatorShapePreservingLength.js +1 -1
  287. package/chunks/OperatorShapePreservingProject.js +1 -1
  288. package/chunks/OperatorSimplifyOGC.js +1 -1
  289. package/chunks/OperatorTouches.js +1 -1
  290. package/chunks/OperatorWithin.js +1 -1
  291. package/chunks/Point2D.js +1 -1
  292. package/chunks/ProjectionTransformation.js +1 -1
  293. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  294. package/chunks/UnitFactory.js +1 -1
  295. package/chunks/aiServices.js +1 -1
  296. package/chunks/array.js +1 -1
  297. package/chunks/languageUtils.js +1 -1
  298. package/config.js +1 -1
  299. package/core/sql/TimeOnly.js +1 -1
  300. package/core/units.js +1 -1
  301. package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
  302. package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
  303. package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
  304. package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
  305. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  306. package/form/elements/inputs/inputUtils.js +1 -1
  307. package/geometry/operators/areaOperator.js +1 -1
  308. package/geometry/operators/bufferOperator.js +1 -1
  309. package/geometry/operators/centroidOperator.js +1 -1
  310. package/geometry/operators/clipOperator.js +1 -1
  311. package/geometry/operators/containsOperator.js +1 -1
  312. package/geometry/operators/convexHullOperator.js +1 -1
  313. package/geometry/operators/crossesOperator.js +1 -1
  314. package/geometry/operators/cutOperator.js +1 -1
  315. package/geometry/operators/densifyOperator.js +1 -1
  316. package/geometry/operators/differenceOperator.js +1 -1
  317. package/geometry/operators/disjointOperator.js +1 -1
  318. package/geometry/operators/distanceOperator.js +1 -1
  319. package/geometry/operators/equalsOperator.js +1 -1
  320. package/geometry/operators/generalizeOperator.js +1 -1
  321. package/geometry/operators/geodesicBufferOperator.js +1 -1
  322. package/geometry/operators/geodeticAreaOperator.js +1 -1
  323. package/geometry/operators/geodeticDensifyOperator.js +1 -1
  324. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  325. package/geometry/operators/geodeticLengthOperator.js +1 -1
  326. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  327. package/geometry/operators/gx/operatorBuffer.js +1 -1
  328. package/geometry/operators/gx/operatorDifference.js +1 -1
  329. package/geometry/operators/gx/operatorIntersection.js +1 -1
  330. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  331. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  332. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  333. package/geometry/operators/gx/operatorSimplify.js +1 -1
  334. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  335. package/geometry/operators/gx/operatorUnion.js +1 -1
  336. package/geometry/operators/intersectionOperator.js +1 -1
  337. package/geometry/operators/intersectsOperator.js +1 -1
  338. package/geometry/operators/json/containsOperator.js +1 -1
  339. package/geometry/operators/json/crossesOperator.js +1 -1
  340. package/geometry/operators/json/disjointOperator.js +1 -1
  341. package/geometry/operators/json/intersectsOperator.js +1 -1
  342. package/geometry/operators/json/overlapsOperator.js +1 -1
  343. package/geometry/operators/json/touchesOperator.js +1 -1
  344. package/geometry/operators/json/unionOperator.js +1 -1
  345. package/geometry/operators/json/withinOperator.js +1 -1
  346. package/geometry/operators/labelPointOperator.js +1 -1
  347. package/geometry/operators/lengthOperator.js +1 -1
  348. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  349. package/geometry/operators/offsetOperator.js +1 -1
  350. package/geometry/operators/overlapsOperator.js +1 -1
  351. package/geometry/operators/proximityOperator.js +1 -1
  352. package/geometry/operators/relateOperator.js +1 -1
  353. package/geometry/operators/reshapeOperator.js +1 -1
  354. package/geometry/operators/simplifyOGCOperator.js +1 -1
  355. package/geometry/operators/simplifyOperator.js +1 -1
  356. package/geometry/operators/support/apiConverter.js +1 -1
  357. package/geometry/operators/support/jsonConverter.js +1 -1
  358. package/geometry/operators/support/projectionTransformation.js +1 -1
  359. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  360. package/geometry/operators/touchesOperator.js +1 -1
  361. package/geometry/operators/unionOperator.js +1 -1
  362. package/geometry/operators/withinOperator.js +1 -1
  363. package/geometry/support/curves/circleUtils.js +1 -1
  364. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  365. package/geometry/support/webMercatorUtils.js +1 -1
  366. package/kernel.js +1 -1
  367. package/layers/VectorTileLayer.js +1 -1
  368. package/layers/graphics/hydratedFeatures.js +1 -1
  369. package/layers/mixins/DataSeriesLayer.js +1 -1
  370. package/layers/support/csvUtils.js +1 -1
  371. package/layers/support/fieldUtils.js +1 -1
  372. package/layers/video/VideoController.js +1 -1
  373. package/package.json +3 -3
  374. package/support/ArcadeExpression.js +1 -1
  375. package/support/arcadeUtils.js +1 -1
  376. package/support/loadArcade.js +1 -1
  377. package/support/revision.js +1 -1
  378. package/support/tests/serviceMockDependencies.js +1 -1
  379. package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
  380. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementController.js +1 -1
  381. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  382. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
  383. package/views/3d/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
  384. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  385. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  386. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  387. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
  388. package/views/3d/input/SceneInputManager.js +1 -1
  389. package/views/3d/input/handlers/RopePullNavigation.js +2 -0
  390. package/views/3d/layers/TiledLayerView3D.js +1 -1
  391. package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
  392. package/views/3d/layers/i3s/I3SNode.js +1 -1
  393. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  394. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  395. package/views/3d/state/controllers/RopePullController.js +2 -0
  396. package/views/3d/state/utils/ropePullUtils.js +1 -1
  397. package/views/3d/support/ElevationAgnosticVisibility.js +1 -1
  398. package/views/3d/support/sphericalTileUtils.js +1 -1
  399. package/views/3d/terrain/PlanarPatch.js +1 -1
  400. package/views/3d/terrain/SphericalPatch.js +1 -1
  401. package/views/3d/terrain/Tile.js +1 -1
  402. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  403. package/views/SelectionManager.js +1 -1
  404. package/views/draw/DrawTool.js +1 -1
  405. package/views/draw/support/createUtils.js +1 -1
  406. package/views/support/GeometryWorker.js +1 -1
  407. package/views/support/selectionUtils.js +1 -1
  408. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  409. package/widgets/BatchAttributeForm/expressions/ArcadeExecutorProvider.js +1 -1
  410. package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
  411. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  412. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  413. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  414. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  415. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  416. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  417. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  418. package/widgets/OrientedImageryViewer/support/panConstraint.js +1 -1
  419. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  420. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  421. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  422. package/widgets/support/SelectionList/selectionListUtils.d.ts +58 -0
  423. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  424. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  425. package/arcade/kernel.js +0 -2
  426. package/assets/esri/core/workers/chunks/01b7babaefe6500fd6eb.js +0 -1
  427. package/assets/esri/core/workers/chunks/06e109e92de7fa0956e3.js +0 -1
  428. package/assets/esri/core/workers/chunks/0775d1e3034d5e7ef7bc.js +0 -1
  429. package/assets/esri/core/workers/chunks/0993e51d3a9701ed2198.js +0 -1
  430. package/assets/esri/core/workers/chunks/09a0a1e794ddff65aa08.js +0 -1
  431. package/assets/esri/core/workers/chunks/0e57d33bd202d0972207.js +0 -1
  432. package/assets/esri/core/workers/chunks/114ba901fd319ce87dc6.js +0 -1
  433. package/assets/esri/core/workers/chunks/151bac9e519a3b821baf.js +0 -1
  434. package/assets/esri/core/workers/chunks/156f85ac1885464f0072.js +0 -1
  435. package/assets/esri/core/workers/chunks/180eebd8b7badc2840c9.js +0 -1
  436. package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +0 -1
  437. package/assets/esri/core/workers/chunks/19d4ecee1c161ac0f33c.js +0 -1
  438. package/assets/esri/core/workers/chunks/19ece9f5313f53384cac.js +0 -1
  439. package/assets/esri/core/workers/chunks/1d770e8f0fe57d937daa.js +0 -1
  440. package/assets/esri/core/workers/chunks/1dd22b8df6a52277c64b.js +0 -1
  441. package/assets/esri/core/workers/chunks/1ede298ab815e9ad625c.js +0 -1
  442. package/assets/esri/core/workers/chunks/208bc524bd1e0d3aab79.js +0 -1
  443. package/assets/esri/core/workers/chunks/20a4ae83542c7d39cf0f.js +0 -1
  444. package/assets/esri/core/workers/chunks/21071ab3d7b2771406ae.js +0 -1
  445. package/assets/esri/core/workers/chunks/21bfa89363104f041101.js +0 -1
  446. package/assets/esri/core/workers/chunks/21d0a4d6639d32278f11.js +0 -1
  447. package/assets/esri/core/workers/chunks/22a75fdc6ba60213a870.js +0 -1
  448. package/assets/esri/core/workers/chunks/22e004ed97e06536ecef.js +0 -1
  449. package/assets/esri/core/workers/chunks/23942712a3f6290e0fdb.js +0 -1
  450. package/assets/esri/core/workers/chunks/242287de82586d42f0a4.js +0 -1
  451. package/assets/esri/core/workers/chunks/25cb5086eaa412f6820b.js +0 -1
  452. package/assets/esri/core/workers/chunks/26c8ed0aef59ed6d5267.js +0 -1
  453. package/assets/esri/core/workers/chunks/2742d62fceaf0736aef0.js +0 -1
  454. package/assets/esri/core/workers/chunks/276eba546dc8774076ee.js +0 -1
  455. package/assets/esri/core/workers/chunks/28e02b213da9e682d3dc.js +0 -29
  456. package/assets/esri/core/workers/chunks/2d8195231cb16247f198.js +0 -1
  457. package/assets/esri/core/workers/chunks/2db1227ecd421728630d.js +0 -1
  458. package/assets/esri/core/workers/chunks/2ddc9c9ff6ec243d85e2.js +0 -1
  459. package/assets/esri/core/workers/chunks/2e712154ebb895d96ba1.js +0 -1
  460. package/assets/esri/core/workers/chunks/2f2df51d4976ae65edae.js +0 -1
  461. package/assets/esri/core/workers/chunks/32d31fd4cffdf5a80acb.js +0 -1
  462. package/assets/esri/core/workers/chunks/33aaa5a49e396a0aca47.js +0 -1
  463. package/assets/esri/core/workers/chunks/35622088727e120c93b9.js +0 -1
  464. package/assets/esri/core/workers/chunks/3714cc26f446c4d9cc2c.js +0 -1
  465. package/assets/esri/core/workers/chunks/3722d40d161d60370936.js +0 -1
  466. package/assets/esri/core/workers/chunks/3ac4cfeb1af12a9dc27d.js +0 -1
  467. package/assets/esri/core/workers/chunks/3b009c05eaec5a7048a8.js +0 -1
  468. package/assets/esri/core/workers/chunks/3b376318df4ff8519370.js +0 -1
  469. package/assets/esri/core/workers/chunks/3bf37fd3280f4891c76b.js +0 -1
  470. package/assets/esri/core/workers/chunks/3d18a10a1ecfabe92db3.js +0 -1
  471. package/assets/esri/core/workers/chunks/3de20165796fa4f76728.js +0 -1
  472. package/assets/esri/core/workers/chunks/3fbd4c7e25440c4713f2.js +0 -1
  473. package/assets/esri/core/workers/chunks/407dba2be21255eb47fc.js +0 -1
  474. package/assets/esri/core/workers/chunks/44b1a4e8a65221ad3808.js +0 -1
  475. package/assets/esri/core/workers/chunks/48b31b8534e7bfe42976.js +0 -1
  476. package/assets/esri/core/workers/chunks/48f6af09436723f2d861.js +0 -1
  477. package/assets/esri/core/workers/chunks/49e37f653b81f9e4f7cc.js +0 -1
  478. package/assets/esri/core/workers/chunks/4b4221a869b3f0d517fa.js +0 -1
  479. package/assets/esri/core/workers/chunks/4b86bcde5992eb752ab0.js +0 -1
  480. package/assets/esri/core/workers/chunks/4b9095e2bd060efd47c4.js +0 -1
  481. package/assets/esri/core/workers/chunks/5084de4d0d4961b63ab7.js +0 -1
  482. package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +0 -1
  483. package/assets/esri/core/workers/chunks/5324e4feb78203204c0c.js +0 -1
  484. package/assets/esri/core/workers/chunks/5536cee0dfc183584a9b.js +0 -1
  485. package/assets/esri/core/workers/chunks/58d10928959ae1e2e8d9.js +0 -1
  486. package/assets/esri/core/workers/chunks/597a8e3d9e458298fdd3.js +0 -1
  487. package/assets/esri/core/workers/chunks/5a006ff759fad9fc25cb.js +0 -1
  488. package/assets/esri/core/workers/chunks/60be6de19c5659091d8f.js +0 -1
  489. package/assets/esri/core/workers/chunks/61a38237e163b39520e5.js +0 -1
  490. package/assets/esri/core/workers/chunks/61fcdba6f2097378dce5.js +0 -1
  491. package/assets/esri/core/workers/chunks/6561c01c67db1f4c546e.js +0 -1
  492. package/assets/esri/core/workers/chunks/65eff0ae773505495f21.js +0 -1
  493. package/assets/esri/core/workers/chunks/67452ba9e87962b9e01e.js +0 -1
  494. package/assets/esri/core/workers/chunks/68195277046861ed39a7.js +0 -1
  495. package/assets/esri/core/workers/chunks/68705692335d57522030.js +0 -1
  496. package/assets/esri/core/workers/chunks/6a2a4da3a1cd64ff576f.js +0 -1
  497. package/assets/esri/core/workers/chunks/6af1680771fd8ae8c7dc.js +0 -1
  498. package/assets/esri/core/workers/chunks/6c367de583e0e657ca3a.js +0 -1
  499. package/assets/esri/core/workers/chunks/6d2021a0f0c9a3c6a0e6.js +0 -1
  500. package/assets/esri/core/workers/chunks/6db4a4f9a9ce7cc738d0.js +0 -1
  501. package/assets/esri/core/workers/chunks/6f2a9259240769c7cd6e.js +0 -1
  502. package/assets/esri/core/workers/chunks/724260e36efea90585f4.js +0 -1
  503. package/assets/esri/core/workers/chunks/74ae1222787389d5fcaa.js +0 -1
  504. package/assets/esri/core/workers/chunks/74bfaa98da6c5d375f05.js +0 -1
  505. package/assets/esri/core/workers/chunks/7a68a16f7fea712b9fd6.js +0 -1
  506. package/assets/esri/core/workers/chunks/7b2174b19d06c16715f0.js +0 -1
  507. package/assets/esri/core/workers/chunks/7d8e59ad438fb34b476d.js +0 -1
  508. package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
  509. package/assets/esri/core/workers/chunks/80795118467fb31ea4ed.js +0 -1
  510. package/assets/esri/core/workers/chunks/820c530b8765ecb1f36e.js +0 -1
  511. package/assets/esri/core/workers/chunks/830daaca32352da6eebe.js +0 -1
  512. package/assets/esri/core/workers/chunks/852649460d664b0a1a1d.js +0 -1
  513. package/assets/esri/core/workers/chunks/85c538bf1209f0da1f8e.js +0 -1
  514. package/assets/esri/core/workers/chunks/8c2921081ca3e7fd0385.js +0 -1
  515. package/assets/esri/core/workers/chunks/8db3fd97e8eccd3ba1db.js +0 -1
  516. package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +0 -1
  517. package/assets/esri/core/workers/chunks/8e79a84e224d05204e7d.js +0 -1
  518. package/assets/esri/core/workers/chunks/8e9aff66a2d4e2cc102b.js +0 -1
  519. package/assets/esri/core/workers/chunks/917318f8e186f466dc52.js +0 -1
  520. package/assets/esri/core/workers/chunks/9267f6a65c2245696eac.js +0 -1
  521. package/assets/esri/core/workers/chunks/958e161634b5bfd50625.js +0 -1
  522. package/assets/esri/core/workers/chunks/9658b46a7111cda53b0d.js +0 -1
  523. package/assets/esri/core/workers/chunks/974bcaf2a059b8cfb153.js +0 -1
  524. package/assets/esri/core/workers/chunks/99881d0a6c2490a16268.js +0 -1
  525. package/assets/esri/core/workers/chunks/99980c944acb8ff88d6a.js +0 -1
  526. package/assets/esri/core/workers/chunks/9c227785f4454d3966ea.js +0 -1
  527. package/assets/esri/core/workers/chunks/9d61d9136f3d00aab530.js +0 -1
  528. package/assets/esri/core/workers/chunks/9df2685583393a87df2d.js +0 -1
  529. package/assets/esri/core/workers/chunks/9e840a71906c4deef776.js +0 -1
  530. package/assets/esri/core/workers/chunks/9ee6e8a6b9bfda758c21.js +0 -1
  531. package/assets/esri/core/workers/chunks/a03f4605bde69bfb6d41.js +0 -1
  532. package/assets/esri/core/workers/chunks/a327843cee2057ee76c0.js +0 -1
  533. package/assets/esri/core/workers/chunks/a557347fb313df6fcc79.js +0 -1
  534. package/assets/esri/core/workers/chunks/a8da0728a12fc46dca23.js +0 -1
  535. package/assets/esri/core/workers/chunks/a9ea28e0f22cfe3ccf92.js +0 -1
  536. package/assets/esri/core/workers/chunks/aae92f23b38ae22dd8bf.js +0 -1
  537. package/assets/esri/core/workers/chunks/ad3714da9c90d7471385.js +0 -1
  538. package/assets/esri/core/workers/chunks/b047f9e9ba26037657ed.js +0 -1
  539. package/assets/esri/core/workers/chunks/b1323800119bd5c1759b.js +0 -1
  540. package/assets/esri/core/workers/chunks/b18c35f25da18a3219d7.js +0 -1
  541. package/assets/esri/core/workers/chunks/b1f68ee65cce457d7b5b.js +0 -1
  542. package/assets/esri/core/workers/chunks/b2d6fd436981c890152f.js +0 -1
  543. package/assets/esri/core/workers/chunks/b3c518ca8679fbe16ece.js +0 -1
  544. package/assets/esri/core/workers/chunks/b4b4fe06364bea9b0750.js +0 -1
  545. package/assets/esri/core/workers/chunks/b61b7005edd9ced925e9.js +0 -1
  546. package/assets/esri/core/workers/chunks/b661aae7e3ce955a783e.js +0 -1
  547. package/assets/esri/core/workers/chunks/b66ebe53bd879aa9de57.js +0 -1
  548. package/assets/esri/core/workers/chunks/b8ca80134abfcc692244.js +0 -1
  549. package/assets/esri/core/workers/chunks/bbdf10d76d852072c878.js +0 -1
  550. package/assets/esri/core/workers/chunks/bbeb61d9302323bae9fb.js +0 -1
  551. package/assets/esri/core/workers/chunks/bbfd2b4af8e498b61af9.js +0 -1
  552. package/assets/esri/core/workers/chunks/bddd5aa7a14cd45ff91c.js +0 -1
  553. package/assets/esri/core/workers/chunks/be31c2cb97f664a54306.js +0 -1
  554. package/assets/esri/core/workers/chunks/be4319827db91aa71bf5.js +0 -1
  555. package/assets/esri/core/workers/chunks/bef32acf368b4d5aba37.js +0 -1
  556. package/assets/esri/core/workers/chunks/c1568bcd3f04014152e1.js +0 -1
  557. package/assets/esri/core/workers/chunks/c1a7c475ce0c59ffa75a.js +0 -1
  558. package/assets/esri/core/workers/chunks/c229a4eedda468c914a9.js +0 -1
  559. package/assets/esri/core/workers/chunks/c2b2942456f1b10d0e96.js +0 -1
  560. package/assets/esri/core/workers/chunks/c308d8f419ba63c583e6.js +0 -1
  561. package/assets/esri/core/workers/chunks/c5dc2743c7116d0bc0d8.js +0 -1
  562. package/assets/esri/core/workers/chunks/c68cc3b9c170b8de22dc.js +0 -1
  563. package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +0 -1
  564. package/assets/esri/core/workers/chunks/c71368cd64f240da1743.js +0 -1
  565. package/assets/esri/core/workers/chunks/cb2f27e5d465124b9868.js +0 -1
  566. package/assets/esri/core/workers/chunks/cee2f7f3b3f84688e49d.js +0 -1
  567. package/assets/esri/core/workers/chunks/d0942860a53b02371e94.js +0 -1
  568. package/assets/esri/core/workers/chunks/d13eeff678972a245d5d.js +0 -1
  569. package/assets/esri/core/workers/chunks/d3d7b4cd28a0dc2720d4.js +0 -1
  570. package/assets/esri/core/workers/chunks/d3ea7ac6fe71c95faa75.js +0 -1
  571. package/assets/esri/core/workers/chunks/d41e4498aaf4970f48b0.js +0 -1
  572. package/assets/esri/core/workers/chunks/d56603e1d0031f3c5f3b.js +0 -1
  573. package/assets/esri/core/workers/chunks/d7c8725ffb175cec5f8a.js +0 -1
  574. package/assets/esri/core/workers/chunks/d96fa373dcb621c2a869.js +0 -1
  575. package/assets/esri/core/workers/chunks/da233362b06b6db375f1.js +0 -1
  576. package/assets/esri/core/workers/chunks/dbc8f15a6be835f4897d.js +0 -1
  577. package/assets/esri/core/workers/chunks/e00d0036974aaec7d876.js +0 -1
  578. package/assets/esri/core/workers/chunks/e0c75ae3a211a8da10f7.js +0 -1
  579. package/assets/esri/core/workers/chunks/e474106292834633e7d4.js +0 -1
  580. package/assets/esri/core/workers/chunks/e557043f90c051e93925.js +0 -1
  581. package/assets/esri/core/workers/chunks/e5cbed6f19c743915c8e.js +0 -1
  582. package/assets/esri/core/workers/chunks/e5ecd93bd32e99bc99d1.js +0 -1
  583. package/assets/esri/core/workers/chunks/eb8c4f194bb66a27d418.js +0 -1
  584. package/assets/esri/core/workers/chunks/ebd8c77df5df63bd3efe.js +0 -1
  585. package/assets/esri/core/workers/chunks/f14347f5d63f5d102617.js +0 -1
  586. package/assets/esri/core/workers/chunks/f3c0280b6c87f2383a60.js +0 -1
  587. package/assets/esri/core/workers/chunks/f42c4dcb8f413ca1c6fd.js +0 -1
  588. package/assets/esri/core/workers/chunks/f5773321487ec248fa3b.js +0 -1
  589. package/assets/esri/core/workers/chunks/f76911f71540b058a881.js +0 -1
  590. package/assets/esri/core/workers/chunks/f988d5a6dcc15fe34797.js +0 -1
  591. package/assets/esri/core/workers/chunks/fa29b5064d6626cfc019.js +0 -1
  592. package/assets/esri/core/workers/chunks/fa882d0f4a9826533421.js +0 -1
  593. package/assets/esri/core/workers/chunks/fb2d43608006f588e3cb.js +0 -1
  594. package/assets/esri/core/workers/chunks/fbd02e8277fe2252ecd2.js +0 -1
  595. package/assets/esri/core/workers/chunks/fc1aeea22f8c9d63864a.js +0 -1
  596. package/assets/esri/core/workers/chunks/fc3c03cfa3d6bf3b37dc.js +0 -1
  597. package/assets/esri/core/workers/chunks/ff07d351553deb70b889.js +0 -1
  598. package/assets/esri/core/workers/chunks/ffee66699f5d26569baf.js +0 -1
  599. package/chunks/OperatorDefinitions.js +0 -2
  600. package/chunks/areaOperator.js +0 -2
  601. package/chunks/bufferOperator.js +0 -2
  602. package/chunks/centroidOperator.js +0 -2
  603. package/chunks/clipOperator.js +0 -2
  604. package/chunks/containsOperator.js +0 -2
  605. package/chunks/convexHullOperator.js +0 -2
  606. package/chunks/crossesOperator.js +0 -2
  607. package/chunks/cutOperator.js +0 -2
  608. package/chunks/densifyOperator.js +0 -2
  609. package/chunks/differenceOperator.js +0 -2
  610. package/chunks/disjointOperator.js +0 -2
  611. package/chunks/distanceOperator.js +0 -2
  612. package/chunks/equalsOperator.js +0 -2
  613. package/chunks/generalizeOperator.js +0 -2
  614. package/chunks/geodesicBufferOperator.js +0 -2
  615. package/chunks/geodeticAreaOperator.js +0 -2
  616. package/chunks/geodeticDensifyOperator.js +0 -2
  617. package/chunks/geodeticDistanceOperator.js +0 -2
  618. package/chunks/geodeticLengthOperator.js +0 -2
  619. package/chunks/intersectionOperator.js +0 -2
  620. package/chunks/intersectsOperator.js +0 -2
  621. package/chunks/labelPointOperator.js +0 -2
  622. package/chunks/lengthOperator.js +0 -2
  623. package/chunks/multiPartToSinglePartOperator.js +0 -2
  624. package/chunks/offsetOperator.js +0 -2
  625. package/chunks/overlapsOperator.js +0 -2
  626. package/chunks/proximityOperator.js +0 -2
  627. package/chunks/relateOperator.js +0 -2
  628. package/chunks/simplifyOperator.js +0 -2
  629. package/chunks/symmetricDifferenceOperator.js +0 -2
  630. package/chunks/touchesOperator.js +0 -2
  631. package/chunks/unionOperator.js +0 -2
  632. package/chunks/withinOperator.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{G as s,a as i,k as n,t as r,l as m,f as o,m as a,n as h,h as l,d as c,g as u}from"./Geometry.js";import{G as f}from"./GeometryCursor.js";import{C as _,c as g,P as d,E as p,s as b}from"./Envelope.js";import{i as y,m as P,P as x,k as C,h as D,d as w,a as T}from"./Point2D.js";import{L as v,D as I,P as S,a as M,i as E,E as V,n as k}from"./MultiPathImpl.js";import{Envelope2D as R}from"./Envelope2D.js";import{T as A}from"./Transformation2D.js";import{c as B}from"./GeometryCleaner-CIE8Wfmb.js";import{_ as X,H as Y,a6 as F}from"./UnitFactory.js";import{O as L}from"./OperatorSimplifyOGC.js";import{O as q}from"./OperatorGeneralize.js";function z(e){return e>=0?e>C?C:e:0}var j;function G(e,t,s,i,n,r){return{m_from:e.clone(),m_to:t.clone(),m_center:s.clone(),m_next:n,m_type:i}}function N(e,t,s,i,n){return{m_from:e.clone(),m_to:t.clone(),m_next:s,m_type:4,m_center:new x}}!function(e){e[e.enumDummy=256]="enumDummy",e[e.enumLine=1]="enumLine",e[e.enumArc=2]="enumArc",e[e.enumMiter=8]="enumMiter",e[e.enumBevel=16]="enumBevel",e[e.enumJoinMask=26]="enumJoinMask",e[e.enumConnectionMask=27]="enumConnectionMask"}(j||(j={}));class O extends f{m_parent;m_index=0;m_bufferedPolygon=null;m_mp;m_spatialReference;m_distance;m_densifyDist;m_x=0;m_y=0;m_miterLimit;m_joins;m_caps;m_maxVertexInCompleteCircle;m_progressTracker;constructor(e,t,s,i,n,r,m,o,a,h){super(),this.m_progressTracker=h,this.m_parent=e,this.m_mp=t,this.m_distance=s,this.m_spatialReference=i,this.m_densifyDist=o,this.m_maxVertexInCompleteCircle=a,this.m_joins=n,this.m_caps=r,this.m_miterLimit=m}next(){const e=new d;for(;;){if(this.m_index===this.m_mp.getPointCount())return null;if(1===this.m_caps)return this.m_index=this.m_mp.getPointCount(),new S({vd:this.m_mp.getDescription()});if(this.m_mp.getPointByVal(this.m_index,e),this.m_index++,!e.isEmpty())break}let t,s=!1;if(null===this.m_bufferedPolygon&&(this.m_x=e.getX(),this.m_y=e.getY(),this.m_bufferedPolygon=this.m_parent.buffer(e,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle),s=!0),t=this.m_index<this.m_mp.getPointCount()?this.m_bufferedPolygon.clone():this.m_bufferedPolygon,!s){const s=new A,i=e.getX()-this.m_x,n=e.getY()-this.m_y;s.setShiftCoords(i,n),t.applyTransformation(s)}return b(t,0),t}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class U extends f{m_polyline;m_currentPathIndex=0;constructor(e){super(),this.m_polyline=e}next(){if(!this.m_polyline)return null;const e=this.m_polyline.getImpl(),t=e.getPathCount();if(this.m_currentPathIndex<t){const t=this.m_currentPathIndex;if(this.m_currentPathIndex++,!e.isClosedPathInXYPlane(t)){let s=e.getXY(e.getPathEnd(t)-1);for(;this.m_currentPathIndex<e.getPathCount();){const t=e.getXY(e.getPathStart(this.m_currentPathIndex));if(e.isClosedPathInXYPlane(this.m_currentPathIndex))break;if(!t.equals(s))break;s=e.getXY(e.getPathEnd(this.m_currentPathIndex)-1),this.m_currentPathIndex++}}if(0===t&&this.m_currentPathIndex===this.m_polyline.getPathCount()){const e=this.m_polyline;return this.m_polyline=null,e}const s=new M({vd:this.m_polyline.getDescription()});s.addPath(this.m_polyline,t,!0);for(let i=t+1;i<this.m_currentPathIndex;i++)s.addSegmentsFromPath(this.m_polyline,i,0,e.getSegmentCountPath(i),!1);return this.m_currentPathIndex===this.m_polyline.getPathCount()&&(this.m_polyline=null),s}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class J extends f{m_bufferer;m_geoms;m_geometry=null;m_index=0;m_bFilter;constructor(e,t,s){super(),this.m_bufferer=e,this.m_geoms=t,this.m_index=0,this.m_bFilter=s}next(){if(null===this.m_geometry&&(this.m_index=0,this.m_geometry=this.m_geoms.next(),!this.m_geometry))return null;const e=this.m_geometry.getImpl();if(this.m_index<e.getPathCount()){const e=this.m_index;this.m_index++;return this.m_bufferer.bufferPolylinePath(this.m_geometry,e,this.m_bFilter)}return this.m_geometry=null,this.next()}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class H extends f{m_bufferer;m_index=0;constructor(e){super(),this.m_bufferer=e}next(){const e=this.m_bufferer.m_geometry;if(this.m_index<e.getPathCount()){const t=this.m_index,s=e.calculateRingArea2D(this.m_index);for(u(s>0),this.m_index++;this.m_index<e.getPathCount();){if(e.calculateRingArea2D(this.m_index)>0)break;this.m_index++}let i;return i=0===t&&this.m_index===e.getPathCount()?this.m_bufferer.bufferPolygonImpl(e,0,e.getPathCount()):this.m_bufferer.bufferPolygonImpl(e,t,this.m_index),i}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class W{m_geometry=null;m_densificator;m_bufferCommands=[];m_originalGeomType=s.enumUnknown;m_progressTracker;m_maxVertexInCompleteCircle=-1;m_circleTemplateSize=-1;m_oldCircleTemplateSize=0;m_spatialReference=null;m_tolerance=new _(0,0);m_smallTolerance=new _(0,0);m_filterTolerance=0;m_densifyDist=-1;m_distance=Number.NaN;m_absDistance=0;m_absDistanceReversed=0;m_dA=-1;m_miterLimit=4;m_joins=0;m_caps=0;m_bRoundBuffer=!0;m_bOutputLoops=!0;m_bFilter=!0;m_circleTemplate=[];m_leftStack=[];m_middleStack=[];m_helperLine1=new v;m_helperLine2=new v;m_helperArray=[];m_progressCounter=0;constructor(e){this.m_densificator=I.constructDefault(e),this.m_progressTracker=e}buffer(e,t,s,l,c,u,f,_){if(e||i("Geometry.Bufferer.Impl.Buffer"),f<0&&i("Geometry.Bufferer.Impl.Buffer"),n(e.getGeometryType())&&r("Unsupported geometry type."),e.isEmpty())return new S({vd:e.getDescription()});if(this.m_joins=l,this.m_caps=c,this.m_bRoundBuffer=!1,this.m_miterLimit=u,this.m_originalGeomType=e.getGeometryType(),m(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_joins:o(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_caps:a(this.m_originalGeomType)&&(this.m_bRoundBuffer=0===this.m_joins&&0===this.m_caps),this.m_bFilter=this.m_bRoundBuffer,this.m_geometry=B(e),this.m_geometry.isEmpty())return new S({vd:e.getDescription()});const d=new R;this.m_geometry.queryLooseEnvelope(d),t>0&&d.inflateCoords(t,t),this.m_tolerance=g(s,d,!0),this.m_smallTolerance=g(null,d,!0),_<=0&&(_=96),this.m_spatialReference=s,this.m_distance=t,this.m_absDistance=Math.abs(this.m_distance),this.m_absDistanceReversed=0!==this.m_absDistance?1/this.m_absDistance:0,Number.isNaN(f)||0===f?f=1e-5*this.m_absDistance:f>.5*this.m_absDistance&&(f=.5*this.m_absDistance),_<12&&(_=12);const p=Math.abs(t)*(1-Math.cos(Math.PI/_));if(p>f)f=p;else if(0!==t){const e=Math.PI/Math.acos(1-f/Math.abs(t));e<_-1&&(_=Math.trunc(e))<12&&(_=12,f=Math.abs(t)*(1-Math.cos(Math.PI/_)))}this.m_densifyDist=f,this.m_maxVertexInCompleteCircle=_,this.m_filterTolerance=this.m_bRoundBuffer?Math.min(this.m_smallTolerance.total(),.25*this.m_densifyDist):0,this.m_circleTemplateSize=this.calcN(),this.m_circleTemplateSize!==this.m_oldCircleTemplateSize&&(this.m_circleTemplate.length=0,this.m_oldCircleTemplateSize=this.m_circleTemplateSize),this.m_densifyDist>0&&h(this.m_geometry)&&(this.m_geometry=this.m_densificator.densifyEx(this.m_geometry,0,this.m_densifyDist,0,0!==this.m_joins,y()));const b=this.bufferImpl();return this.m_geometry=null,b}generateCircleTemplate(){if(this.m_circleTemplate.length)return;const e=this.m_circleTemplateSize,t=Math.trunc((e+3)/4),s=.5*Math.PI/t;this.m_dA=s,this.m_circleTemplate=P(x,4*t);const i=Math.cos(s),n=Math.sin(s),r=x.construct(0,1);for(let m=0;m<t;m++)this.m_circleTemplate[m+0*t].setCoords(r.y,-r.x),this.m_circleTemplate[m+1*t].setCoords(-r.x,-r.y),this.m_circleTemplate[m+2*t].setCoords(-r.y,r.x),this.m_circleTemplate[m+3*t].setCoords(r.x,r.y),r.rotateReverse(i,n)}bufferImpl(){const e=this.m_geometry.getGeometryType();if(l(e)){const e=new M({vd:this.m_geometry.getDescription()});return e.addSegment(this.m_geometry,!0),this.m_geometry=e,this.bufferImpl()}if(this.m_distance<=this.m_tolerance.total()){if(!m(e))return new S({vd:this.m_geometry.getDescription()});if(this.m_distance<0){const e=new R;if(this.m_geometry.queryEnvelope(e),e.width()<=2*this.m_absDistance||e.height()<=2*this.m_absDistance)return new S({vd:this.m_geometry.getDescription()})}}switch(this.m_geometry.getGeometryType()){case s.enumPoint:return this.bufferPoint();case s.enumMultiPoint:return this.bufferMultiPoint();case s.enumPolyline:return this.bufferPolyline();case s.enumPolygon:return this.bufferPolygon();case s.enumEnvelope:return this.bufferEnvelope();default:c("")}}bufferPolyline(){if(this.isDegenerateGeometry(this.m_geometry)){const e=new d;this.m_geometry.getPointByVal(0,e);const t=new R;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const e=this.m_geometry,t=this.m_geometry.getDescription();this.m_geometry=null;const s=new U(e);let i,n;i=0===this.m_joins?(new q).executeMany(s,.25*this.m_densifyDist,!1,this.m_progressTracker):s,n=this.m_bRoundBuffer?(new L).executeMany(i,null,!0,this.m_progressTracker):i;const r=new J(this,n,this.m_bFilter),m=(new X).executeMany(r,this.m_spatialReference,this.m_progressTracker,2),o=(new Y).executeMany(m,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==o?o:new S({vd:t})}bufferPolygon(){if(0===this.m_distance)return this.m_geometry;this.generateCircleTemplate();const e=(new Y).execute(this.m_geometry,null,!1,this.m_progressTracker);if(this.m_distance<0){if(this.m_geometry=e,this.m_geometry.isEmpty())return this.m_geometry;const t=this.m_geometry,s=this.bufferPolygonImpl(t,0,t.getPathCount());return(new Y).execute(s,this.m_spatialReference,!1,this.m_progressTracker)}{if(this.m_geometry=e,this.isDegenerateGeometry(this.m_geometry)){const e=new d;this.m_geometry.getPointByVal(0,e);const t=new R;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const t=new H(this),s=(new X).executeMany(t,this.m_spatialReference,this.m_progressTracker,2),i=(new Y).executeMany(s,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==i?i:new S({vd:this.m_geometry.getDescription()})}}bufferPolygonImpl(e,t,s){const i=e,n=i.getImpl();let r=new S({vd:e.getDescription()});for(let m=t;m<s;m++){if(n.getPathSize(m)<1)continue;const t=n.calculateRingArea2D(m),s=new R;if(n.queryPathEnvelope(m,s),this.m_distance>0)if(t>0)if(this.isDegeneratePath(n,m)){const e=new d;n.getPointByVal(n.getPathStart(m),e),e.setXY(s.getCenter()),r.add(this.bufferDegeneratePath(e,!0),!1)}else{const t=new M({vd:e.getDescription()}),s=t.getImpl();if(E(this.m_geometry,m)){const e=this.bufferConvexPath(i,m);r.add(e,!1)}else{this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,1);const e=this.bufferCleanup(t);r.add(e,!1)}}else{if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new M({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,1),!t.isEmpty()){const e=s,n=Math.max(1,this.m_absDistance),m=e.clone();m.inflateCoords(n,n),i.addEnvelope(m,!1);const o=this.bufferCleanup(t);r.reserve(r.getPointCount()+o.getPointCount()-4),se(o,r,m,!0)}}else if(t>0){if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new M({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,-1),!t.isEmpty()){const e=new R;i.queryLooseEnvelope(e);const s=Math.max(1,this.m_absDistance),n=e.clone();n.inflateCoords(s,s),i.addEnvelope(n,!1);se(this.bufferCleanup(t),r,n,!0)}}else{const t=new M({vd:e.getDescription()}),s=t.getImpl();this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,-1);const i=this.bufferCleanup(t);for(let e=0,n=i.getPathCount();e<n;e++)r.addPath(i,e,!0)}}if(this.m_distance>0){if(r.getPathCount()>1){return this.bufferCleanup(r)}return K(r)}{const e=new R;if(r.queryLooseEnvelope(e),r.isEmpty())return K(r);{const t=Math.max(1,this.m_absDistance),s=e.clone();s.inflateCoords(t,t),r.addEnvelope(s,!1);const i=this.bufferCleanup(r);r=new S;const n=new S({vd:i.getDescription()});return se(i,n,s,!1),K(n)}}}bufferPoint(){return this.bufferPointImpl(this.m_geometry)}bufferPointImpl(e){const t=new S({vd:e.getDescription()});return 0===this.m_caps?(this.addCircle(t.getImpl(),e),this.setStrongSimple(t)):2===this.m_caps?(this.addSquare(t.getImpl(),e),this.setStrongSimple(t)):t}bufferDegeneratePath(e,t){const s=new S({vd:e.getDescription()});return t&&0===this.m_joins||!t&&0===this.m_caps?(this.addCircle(s.getImpl(),e),this.setStrongSimple(s)):t||2!==this.m_caps?s:(this.addSquare(s.getImpl(),e),this.setStrongSimple(s))}bufferMultiPoint(){const e=new O(this,this.m_geometry,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle,this.m_progressTracker);return(new X).executeMany(e,this.m_spatialReference,this.m_progressTracker,2).next()}bufferEnvelope(){let e=new S({vd:this.m_geometry.getDescription()});if(this.m_distance<=0){if(0===this.m_distance)e.addEnvelope(this.m_geometry,!1),Q(this.m_geometry,this.m_tolerance.total())&&(e=this.setStrongSimple(e));else{const t=new p;this.m_geometry.queryEnvelope(t),t.inflateCoords(this.m_distance,this.m_distance),e.addEnvelope(t,!1),Q(t,this.m_tolerance.total())&&(e=this.setStrongSimple(e))}return e}if(1===this.m_joins){const t=new p({copy:this.m_geometry});return t.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(t,!1),e}const t=this.m_geometry.clone();if(0===t.width()||0===t.height()){if(0===t.width()&&0===t.height()){const e=new d({vd:this.m_geometry.getDescription()});return t.queryCornerByVal(0,e),this.m_geometry=e,this.bufferImpl()}const e=new M({vd:this.m_geometry.getDescription()}),s=new d;return t.queryCornerByVal(0,s),e.startPathPoint(s),t.queryCornerByVal(2,s),e.lineToPoint(s),this.m_geometry=e,this.bufferImpl()}return e.addEnvelope(this.m_geometry,!1),this.m_geometry=e,this.bufferConvexPath(e,0)}bufferConvexPath(e,t){this.generateCircleTemplate();const s=e.hasAttribute(10),i=new S({vd:e.getDescription()}),n=i.getImpl();i.reserve((this.m_circleTemplate.length/10+4)*e.getPathSize(t));const r=new x,m=new x,o=new x,a=new x(0,0),h=new x,l=new x,u=e.getImpl(),f=e.getPathSize(t),_=e.getPathStart(t);for(let g=0,d=e.getPathSize(t);g<d;g++){const e=u.getXY(_+g),t=u.getXY(_+(g+1)%f),i=u.getXY(_+(g+2)%f);h.setSub(t,e),0===h.length()&&c("");const d=s&&!!(1&u.getAttributeAsInt(10,(g+1)%f,0));h.normalize();const p=h.clone();h.leftPerpendicularThis(),h.scale(this.m_absDistance),r.setAdd(h,e),m.setAdd(h,t),0===g?n.startPath(r):n.lineTo(r),n.lineTo(m),l.setSub(i,t),0===l.length()&&c(""),l.normalize();const b=l.clone();l.leftPerpendicularThis(),l.scale(this.m_absDistance),o.setAdd(l,t);let y=j.enumArc;const P=d?0:this.m_joins;if(2===P)y=j.enumBevel;else if(1===P){const e=-p.crossProduct(b);a.setSub(p,b),a.scale(this.m_absDistance/e),a.length()<this.m_miterLimit*this.m_absDistance?(a.addThis(t),y=j.enumMiter):y=j.enumBevel}else a.assign(t);this.addJoin(y,n,a,m,o,!1,!1)}return K(i)}bufferPolylinePath(e,t,s){this.generateCircleTemplate();const i=e,n=i.getImpl();if(n.getPathSize(t)<1)return null;let r;if(r=this.m_bRoundBuffer?n.isClosedPathInXYPlane(t):n.isClosedPath(t),this.isDegeneratePath(n,t)&&this.m_distance>0){const e=new d;n.getPointByVal(n.getPathStart(t),e);const s=new R;return n.queryPathEnvelope(t,s),e.setXY(s.getCenter()),this.bufferDegeneratePath(e,r)}const m=new M({vd:e.getDescription()});m.reserve((Math.trunc(this.m_circleTemplate.length/10)+4)*n.getPathSize(t));const o=m.getImpl();return r?2!==this.bufferClosedPath(i,t,o,s,1)&&this.bufferClosedPath(i,t,o,s,-1):this.bufferOpenPath(i,t,o,s),this.bufferCleanup(m)}progress_(){}bufferCleanup(e,t=!1){const s=t?this.m_tolerance:this.m_smallTolerance;return F(e,s,!0,!t,-1,this.m_progressTracker,0,!1)}calcN(){const e=4;if(0===this.m_densifyDist)return this.m_maxVertexInCompleteCircle;const t=1-this.m_densifyDist*Math.abs(this.m_absDistanceReversed);let s=e;return s=t<-1?e:2*Math.PI/Math.acos(t)+.5,s<e?s=e:s>this.m_maxVertexInCompleteCircle&&(s=this.m_maxVertexInCompleteCircle),Math.trunc(s)}addJoin(e,t,s,i,n,r,m){if(this.generateCircleTemplate(),r&&(t.startPath(i),r=!1),e===j.enumBevel)return void(m&&t.lineTo(n));if(e===j.enumMiter){const e=s.clone();return t.lineTo(e),void(m&&t.lineTo(n))}const o=new x;o.setSub(i,s),o.scale(this.m_absDistanceReversed);const a=new x;a.setSub(n,s),a.scale(this.m_absDistanceReversed);let h=Math.atan2(o.y,o.x)/this.m_dA;h<0&&(h=this.m_circleTemplate.length+h),h=this.m_circleTemplate.length-h;let l=Math.atan2(a.y,a.x)/this.m_dA;l<0&&(l=this.m_circleTemplate.length+l),l=this.m_circleTemplate.length-l,l<h&&(l+=this.m_circleTemplate.length);let c=Math.trunc(l),u=Math.ceil(h),f=this.m_circleTemplate[u%this.m_circleTemplate.length].clone();f.scaleAddThis(this.m_absDistance,s);const _=10*this.m_tolerance.total();f.sub(i).length()<_&&(u+=1),f=this.m_circleTemplate[c%this.m_circleTemplate.length].clone(),f.scaleAddThis(this.m_absDistance,s),f.sub(n).length()<_&&(c-=1);let g=c-u;g++;for(let d=0,p=u%this.m_circleTemplate.length;d<g;d++,p=(p+1)%this.m_circleTemplate.length)f=this.m_circleTemplate[p].clone(),f.scaleAddThis(this.m_absDistance,s),t.lineTo(f),this.progress_();m&&t.lineTo(n)}bufferClosedPath(e,t,s,i,n){const r=new V,m=r.addPathFromMultiPath(e,t,!0);return this.bufferClosedPathImpl(r,m,s,i,n)}bufferClosedPathImpl(e,t,s,i,n){const r=e.getFirstVertex(e.getFirstPath(t)),m=new d;e.queryPoint(r,m),e.filterClosePoints(this.m_filterTolerance,!1,!1,!1,-1);if(e.getPointCount(t)<2)return n<0?0:(this.m_bRoundBuffer&&this.addCircle(s,m),2);u(e.getFirstPath(t)!==k),u(e.getFirstVertex(e.getFirstPath(t))!==k);const o=e.getXY(e.getFirstVertex(e.getFirstPath(t))),a=new A;if(a.setShift(o.negate()),e.applyTransformation(a),i){const i=te(e,t,n,!0,this.m_absDistance,this.m_filterTolerance,this.m_densifyDist);if(u(1===i),e.getPointCount(t)<2)return n<0?0:(this.addCircle(s,m),2)}const h=0!==this.m_joins&&e.getVertexDescription().hasAttribute(10);this.m_bufferCommands.length=0;const l=e.getFirstPath(t);let c=e.getFirstVertex(l),f=1===n?e.getPrevVertex(c):e.getNextVertex(c),_=1===n?e.getNextVertex(c):e.getPrevVertex(c),g=!0;const p=new x,b=new x,y=new x,P=new x,C=new x,D=new x,w=new x,T=new x,v=this.m_absDistance,I=e.getPathSize(l),S=new x(0,0);for(let u=0;u<I;u++){b.assign(e.getXY(_)),g&&(p.assign(e.getXY(c)),y.assign(e.getXY(f)),D.setSub(p,y),D.normalize(),T.leftPerpendicularOther(D),T.scale(v),P.setAdd(T,p));const t=h&&!!(1&e.getAttributeAsDbl(10,c,0));C.setSub(b,p),C.normalize(),w.leftPerpendicularOther(C),w.scale(v);const s=new x;s.setAdd(p,w);const i=D.crossProduct(C),r=D.dotProduct(C);if(i<0||r<0&&i<Math.abs(r)*Number.EPSILON*8){let e=!1;const n=t?0:this.m_joins;if(1===n){const t=-i;S.setSub(D,C),S.scale(this.m_absDistance/t),S.length()<this.m_miterLimit*this.m_absDistance&&(S.addThis(p),e=!0),this.m_bufferCommands.push(G(P,s,S,e?j.enumMiter:j.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(P,s,p,0===n?j.enumArc:j.enumBevel,this.m_bufferCommands.length+1))}else P.equals(s)||(this.m_bufferCommands.push(N(P,p,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(N(p,s,this.m_bufferCommands.length+1)));const m=new x;m.setAdd(b,w),this.m_bufferCommands.push(G(s,m,p,j.enumLine,this.m_bufferCommands.length+1)),P.setCoordsPoint2D(m),T.setCoordsPoint2D(w),y.setCoordsPoint2D(p),p.setCoordsPoint2D(b),D.setCoordsPoint2D(C),f=c,c=_,g=!1,_=1===n?e.getNextVertex(c):e.getPrevVertex(c)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),a.setShift(o),s.applyTransformationToPath(a,s.getPathCount()-1),1}bufferOpenPath(e,t,s,i){if(this.m_bRoundBuffer){const n=new M({vd:e.getDescription()});return n.addPath(e,t,!1),n.addSegmentsFromPath(e,t,0,e.getSegmentCountPath(t),!1),this.bufferClosedPath(n,0,s,i,1)}let n=0;const r=new M({vd:e.getDescription()}),m=new x(0,0);{const i=new V,o=i.addPathFromMultiPath(e,t,!1),a=i.getFirstVertex(i.getFirstPath(o)),h=new d;i.queryPoint(a,h),m.assign(h.getXY()),i.filterClosePoints(0,!1,!1,!1,-1);if(i.getPointCount(o)<2)return this.m_bRoundBuffer&&this.addCircle(s,h),2;const l=i.getGeometry(i.getFirstGeometry());r.addPath(l,0,!1),n=r.getPointCount()-1,r.addSegmentsFromPath(l,0,0,l.getSegmentCountPath(0)-1,!1)}const o=new V,a=o.addPathFromMultiPath(r,0,!0);u(o.getFirstPath(a)!==k),u(o.getFirstVertex(o.getFirstPath(a))!==k);const h=new A;h.setShift(m.negate()),o.applyTransformation(h),this.m_bufferCommands.length=0;const l=o.getFirstPath(a),c=0!==this.m_joins&&o.getVertexDescription().hasAttribute(10);let f=o.getFirstVertex(l),_=o.getPrevVertex(f),g=o.getNextVertex(f),p=!0;const b=new x,y=new x,P=new x,C=new x,D=new x,w=new x,T=new x,v=new x,I=this.m_absDistance,S=o.getPathSize(l),E=new x(0,0);for(let u=0;u<S;u++){let e=!1;0!==u&&u!==n||(e=!0),y.assign(o.getXY(g)),p&&(b.assign(o.getXY(f)),P.assign(o.getXY(_)),w.setSub(b,P),w.normalize(),v.leftPerpendicularOther(w),v.scale(I),C.setAdd(v,b));const t=c&&!!(1&o.getAttributeAsDbl(10,f,0));D.setSub(y,b),D.normalize(),T.leftPerpendicularOther(D),T.scale(I);const s=new x;s.setAdd(b,T);const i=w.crossProduct(D),r=w.dotProduct(D);if(i<0||r<0&&i<Math.abs(r)*Number.EPSILON*8)if(e)if(0===this.m_caps)this.m_bufferCommands.push(G(C,s,b,j.enumArc,this.m_bufferCommands.length+1));else if(1===this.m_caps)this.m_bufferCommands.push(G(C,s,b,j.enumLine,this.m_bufferCommands.length+1));else{const e=D.mul(this.m_absDistance).negate(),t=e.clone();e.addThis(C),t.addThis(s),this.m_bufferCommands.push(G(C,e,b,j.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(e,t,b,j.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(t,s,b,j.enumLine,this.m_bufferCommands.length+1))}else{let e=!1;const n=t?0:this.m_joins;if(1===n){const t=-i;E.setSub(w,D),E.scale(this.m_absDistance/t),E.length()<this.m_miterLimit*this.m_absDistance&&(E.addThis(b),e=!0),this.m_bufferCommands.push(G(C,s,E,e?j.enumMiter:j.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(C,s,b,0===n?j.enumArc:j.enumBevel,this.m_bufferCommands.length+1))}else C.equals(s)||(this.m_bufferCommands.push(N(C,b,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(N(b,s,this.m_bufferCommands.length+1)));const m=new x;m.setAdd(y,T),this.m_bufferCommands.push(G(s,m,b,j.enumLine,this.m_bufferCommands.length+1)),C.setCoordsPoint2D(m),v.setCoordsPoint2D(T),P.setCoordsPoint2D(b),b.setCoordsPoint2D(y),w.setCoordsPoint2D(D),_=f,f=g,p=!1,g=o.getNextVertex(f)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),h.setShift(m),s.applyTransformationToPath(h,s.getPathCount()-1),1}processBufferCommands(e){const t=this.cleanupBufferCommands();let s=!0,i=t+1;for(let n=t;i!==t;n=i){const t=this.m_bufferCommands[n];i=-1!==t.m_next?t.m_next:(n+1)%this.m_bufferCommands.length,t.m_type&&(s&&(e.startPath(t.m_from),s=!1),t.m_type&j.enumJoinMask?this.addJoin(t.m_type,e,t.m_center,t.m_from,t.m_to,!1,!0):e.lineTo(t.m_to))}}cleanupBufferCommands(){this.m_helperArray=P(x,9);let e=0;for(let s=0,i=this.m_bufferCommands.length;s<i;){const t=this.m_bufferCommands[s];if(t.m_type&j.enumConnectionMask){e=s;break}s=t.m_next}let t=e+1;for(let s=e;t!==e;s=t){const e=this.m_bufferCommands[s];t=e.m_next;let i=1,n=null;for(;t!==s&&(n=this.m_bufferCommands[t],!(n.m_type&j.enumConnectionMask));)t=n.m_next,i++;if(1!==i&&(e.m_type&n.m_type)===j.enumLine){this.m_helperLine1.setStartXY(e.m_from),this.m_helperLine1.setEndXY(e.m_to),this.m_helperLine2.setStartXY(n.m_from),this.m_helperLine2.setEndXY(n.m_to);1===this.m_helperLine1.intersect(this.m_helperLine2,this.m_helperArray,null,null,this.m_smallTolerance.total())&&(e.m_to.assign(this.m_helperArray[0]),n.m_from.assign(this.m_helperArray[0]),e.m_next=t)}}return e}isDegeneratePath(e,t){if(1===e.getPathSize(t))return!0;if(0===this.m_joins&&0===this.m_caps){const s=new R;if(e.queryPathEnvelope(t,s),Math.max(s.width(),s.height())<.5*this.m_densifyDist)return!0}return!1}isDegenerateGeometry(e){if(0===this.m_joins&&0===this.m_caps){const t=new R;if(e.queryEnvelope(t),Math.max(t.width(),t.height())<.5*this.m_densifyDist)return!0}return!1}addCircle(e,t){const s=t.getXY();if(0!==this.m_circleTemplate.length){let t=this.m_circleTemplate[0].clone();t.scaleAddThis(this.m_absDistance,s),e.startPath(t);for(let i=1,n=this.m_circleTemplate.length;i<n;i++)t=this.m_circleTemplate[i].clone(),t.scaleAddThis(this.m_absDistance,s),e.lineTo(t);return}const i=this.m_circleTemplateSize,n=Math.trunc((i+3)/4),r=.5*Math.PI/n;e.reserve(4*n);const m=Math.cos(r),o=Math.sin(r);for(let a=3;a>=0;a--){const t=x.construct(0,this.m_absDistance);switch(a){case 0:for(let i=0;i<n;i++)e.lineToCoords(t.x+s.x,t.y+s.y),t.rotateReverse(m,o);break;case 1:for(let i=0;i<n;i++)e.lineToCoords(-t.y+s.x,t.x+s.y),t.rotateReverse(m,o);break;case 2:for(let i=0;i<n;i++)e.lineToCoords(-t.x+s.x,-t.y+s.y),t.rotateReverse(m,o);break;default:e.startPathCoords(t.y+s.x,-t.x+s.y);for(let i=1;i<n;i++)t.rotateReverse(m,o),e.lineToCoords(t.y+s.x,-t.x+s.y)}this.progress_()}}addSquare(e,t){const s=new p({vd:t.getDescription()});s.setCoords(t.getX(),t.getY(),t.getX(),t.getY()),s.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(s,!1)}setStrongSimple(e){return e.getImpl().setIsSimple(4,this.m_tolerance.total()),e.getImpl().updateOGCFlagsProtected(),e}}function K(e){return b(e,0),e}function Q(e,t){return!!e.isEmpty()||Math.min(e.width(),e.height())>t}function Z(e,t,s,i,n,r,m,o){const a=e.getXY(s),h=e.getXY(i);if(a.equals(h))return-1;const l=.25*m,c=.25*m,f=new x;f.setSub(h,a);const _=f.length(),g=_*_*.25,d=r*r-g;if(d<=g)return-1;const p=Math.sqrt(d);f.normalize();const b=f.clone();b.rightPerpendicularThis();const y=g/p,P=y<=c,C=x.lerp(h,a,.5),D=b.clone(),v=y-l;D.scaleAddThis(Math.max(0,v),C);b.negate().scaleAddThis(p,C);const I=3.61*T(r-c),S=D.sub(a),M=D.sub(h);let E=!1,V=0;const k=w(64,0);u(o===k.length);{for(let o=e.getPrevVertexEx(i,n);o!==s;){if(1===e.getUserIndex(o,t))return-1;if(e.getXY(o).equals(h)){const t=e.getPrevVertexEx(o,n);e.removeVertex(o,!1),o=t;continue}break}const r=new x,m=a.clone();k[V++]=1;for(let o=e.getNextVertexEx(s,n);o!==i;){if(1===e.getUserIndex(o,t))return-1;const s=e.getXY(o);if(s.equals(m)){const t=e.getNextVertexEx(o,n);e.removeVertex(o,!1),o=t;continue}k[V++]=0;const i=new x;if(i.setSub(s,a),i.dotProduct(b)<0)return 0;(x.sqrDistance(s,a)>I||x.sqrDistance(s,h)>I)&&(E=!0);let l=0;s.sub(a).crossProduct(S)>=0&&(l=1);if(s.sub(h).crossProduct(M)<=0&&(l|=2),0===l)return 0;k[V-1]=l,r.assign(m),m.assign(s),o=e.getNextVertexEx(o,n)}if(1===V)return 0;u(V<k.length),k[V++]=2}let R=!0;for(let u=1,x=0;u<V;u++)if(k[u]!==k[u-1]&&(x++,R=x<3&&(1===x&&3===k[u]||2===x&&2===k[u]),!R))return 0;if(V>2&&R&&(3===V||!E)){let t=0,r=e.getNextVertexEx(s,n);for(P||(e.setXY(r,D),r=e.getNextVertexEx(r,n));r!==i;){const s=e.getNextVertexEx(r,n);e.removeVertex(r,!1),r=s,++t}return t}if(u(3!==V),E&&V>3)return 0;const A=a.clone();let B=s;const X=a.clone();let Y=1,F=-1,L=B,q=0;for(V=1;L!==i;){L=e.getNextVertexEx(L,n);const t=k[V++];if(0===t){if(L===i)break;continue}const s=e.getXY(L);if(-1!==F){if(3&(F&Y&t)){e.removeVertex(B,!0),q++,B=L,X.setCoordsPoint2D(s),Y=t;continue}if(3===Y&&0!==F&&0!==t){if(X.setCoordsPoint2D(D),P||X.equals(A)){e.removeVertex(B,!0),q++,B=L,X.setCoordsPoint2D(s),Y=t;continue}e.setXY(B,X)}}F=Y,A.setCoordsPoint2D(X),B=L,Y=t,X.setCoordsPoint2D(s)}return q}function $(e,t,s,i){let n=-1;const r=new x,m=new x,o=new x;for(let a=0,h=e.getPathSize(i),l=e.getFirstVertex(i);a<h;++a){-1===n&&(e.queryXY(l,m),n=e.getPrevVertex(l),-1!==n&&(e.queryXY(n,r),o.setSub(m,r),o.normalize()));const s=e.getNextVertex(l);if(-1===s)break;const i=e.getXY(s),a=i.sub(m);if(a.normalize(),-1!==n){a.dotProduct(o)<-.99&&Math.abs(a.crossProduct(o))<1e-7&&e.setUserIndex(l,t,1)}n=l,l=s,r.assign(m),m.assign(i),o.assign(a)}}function ee(s,i,n,r,m,o,a){const h={stack:[],error:void 0,hasError:!1};try{const t=s.getFirstPath(i),r=s.createUserIndex();e(h,D(()=>{s.removeUserIndex(r)},!1),!1),$(s,r,i,t);for(let e=0;e<100;++e){if(0===s.getPathSize(t))return 1;let e=s.getFirstVertex(t),i=s.getPathSize(t);if(i<3)return 1;s.isClosedPath(t)||(i-=1);const o=64;let h=0,l=!1;for(let t=0;t<i&&e!==k;t++){let c=0,u=e;for(let h=1,l=Math.min(o,i-t);h<l;h++)if(u=s.getNextVertexEx(u,n),h>1){const t=Z(s,r,e,u,n,m,a,o);if(-1===t)break;c+=t,i-=t}if(h+=c,l=c>0,l){const t=s.getPrevVertexEx(e,n);if(-1!==t){e=t,i++;continue}}e=s.getNextVertexEx(e,n)}if(0===h)break}return s.filterClosePoints(o,!1,!1,!1,-1),1}catch(l){h.error=l,h.hasError=!0}finally{t(h)}}function te(e,t,s,i,n,r,m){return ee(e,t,s,i,n,r,m)}function se(e,t,s,i){for(let n=0,r=e.getPathCount();n<r;n++){const r=e.getXY(e.getPathStart(n));r.x!==s.xmin&&r.x!==s.xmax&&t.addPath(e,n,i)}}export{W as B,z as s};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{G as s,a as i,k as n,t as r,l as m,f as o,m as a,n as h,h as l,d as c,g as u}from"./Geometry.js";import{G as f}from"./GeometryCursor.js";import{C as _,c as g,P as d,E as p,s as b}from"./Envelope.js";import{i as y,m as P,P as x,k as C,h as D,d as w,a as T}from"./Point2D.js";import{L as v,D as I,P as S,a as M,i as E,E as V,n as k}from"./MultiPathImpl.js";import{Envelope2D as R}from"./Envelope2D.js";import{T as A}from"./Transformation2D.js";import{c as B}from"./GeometryCleaner-CIE8Wfmb.js";import{a5 as X,J as Y,ab as F}from"./UnitFactory.js";import{O as L}from"./OperatorSimplifyOGC.js";import{O as q}from"./OperatorGeneralize.js";function z(e){return e>=0?e>C?C:e:0}var j;function G(e,t,s,i,n,r){return{m_from:e.clone(),m_to:t.clone(),m_center:s.clone(),m_next:n,m_type:i}}function N(e,t,s,i,n){return{m_from:e.clone(),m_to:t.clone(),m_next:s,m_type:4,m_center:new x}}!function(e){e[e.enumDummy=256]="enumDummy",e[e.enumLine=1]="enumLine",e[e.enumArc=2]="enumArc",e[e.enumMiter=8]="enumMiter",e[e.enumBevel=16]="enumBevel",e[e.enumJoinMask=26]="enumJoinMask",e[e.enumConnectionMask=27]="enumConnectionMask"}(j||(j={}));class O extends f{m_parent;m_index=0;m_bufferedPolygon=null;m_mp;m_spatialReference;m_distance;m_densifyDist;m_x=0;m_y=0;m_miterLimit;m_joins;m_caps;m_maxVertexInCompleteCircle;m_progressTracker;constructor(e,t,s,i,n,r,m,o,a,h){super(),this.m_progressTracker=h,this.m_parent=e,this.m_mp=t,this.m_distance=s,this.m_spatialReference=i,this.m_densifyDist=o,this.m_maxVertexInCompleteCircle=a,this.m_joins=n,this.m_caps=r,this.m_miterLimit=m}next(){const e=new d;for(;;){if(this.m_index===this.m_mp.getPointCount())return null;if(1===this.m_caps)return this.m_index=this.m_mp.getPointCount(),new S({vd:this.m_mp.getDescription()});if(this.m_mp.getPointByVal(this.m_index,e),this.m_index++,!e.isEmpty())break}let t,s=!1;if(null===this.m_bufferedPolygon&&(this.m_x=e.getX(),this.m_y=e.getY(),this.m_bufferedPolygon=this.m_parent.buffer(e,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle),s=!0),t=this.m_index<this.m_mp.getPointCount()?this.m_bufferedPolygon.clone():this.m_bufferedPolygon,!s){const s=new A,i=e.getX()-this.m_x,n=e.getY()-this.m_y;s.setShiftCoords(i,n),t.applyTransformation(s)}return b(t,0),t}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class U extends f{m_polyline;m_currentPathIndex=0;constructor(e){super(),this.m_polyline=e}next(){if(!this.m_polyline)return null;const e=this.m_polyline.getImpl(),t=e.getPathCount();if(this.m_currentPathIndex<t){const t=this.m_currentPathIndex;if(this.m_currentPathIndex++,!e.isClosedPathInXYPlane(t)){let s=e.getXY(e.getPathEnd(t)-1);for(;this.m_currentPathIndex<e.getPathCount();){const t=e.getXY(e.getPathStart(this.m_currentPathIndex));if(e.isClosedPathInXYPlane(this.m_currentPathIndex))break;if(!t.equals(s))break;s=e.getXY(e.getPathEnd(this.m_currentPathIndex)-1),this.m_currentPathIndex++}}if(0===t&&this.m_currentPathIndex===this.m_polyline.getPathCount()){const e=this.m_polyline;return this.m_polyline=null,e}const s=new M({vd:this.m_polyline.getDescription()});s.addPath(this.m_polyline,t,!0);for(let i=t+1;i<this.m_currentPathIndex;i++)s.addSegmentsFromPath(this.m_polyline,i,0,e.getSegmentCountPath(i),!1);return this.m_currentPathIndex===this.m_polyline.getPathCount()&&(this.m_polyline=null),s}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class J extends f{m_bufferer;m_geoms;m_geometry=null;m_index=0;m_bFilter;constructor(e,t,s){super(),this.m_bufferer=e,this.m_geoms=t,this.m_index=0,this.m_bFilter=s}next(){if(null===this.m_geometry&&(this.m_index=0,this.m_geometry=this.m_geoms.next(),!this.m_geometry))return null;const e=this.m_geometry.getImpl();if(this.m_index<e.getPathCount()){const e=this.m_index;this.m_index++;return this.m_bufferer.bufferPolylinePath(this.m_geometry,e,this.m_bFilter)}return this.m_geometry=null,this.next()}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class W extends f{m_bufferer;m_index=0;constructor(e){super(),this.m_bufferer=e}next(){const e=this.m_bufferer.m_geometry;if(this.m_index<e.getPathCount()){const t=this.m_index,s=e.calculateRingArea2D(this.m_index);for(u(s>0),this.m_index++;this.m_index<e.getPathCount();){if(e.calculateRingArea2D(this.m_index)>0)break;this.m_index++}let i;return i=0===t&&this.m_index===e.getPathCount()?this.m_bufferer.bufferPolygonImpl(e,0,e.getPathCount()):this.m_bufferer.bufferPolygonImpl(e,t,this.m_index),i}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class H{m_geometry=null;m_densificator;m_bufferCommands=[];m_originalGeomType=s.enumUnknown;m_progressTracker;m_maxVertexInCompleteCircle=-1;m_circleTemplateSize=-1;m_oldCircleTemplateSize=0;m_spatialReference=null;m_tolerance=new _(0,0);m_smallTolerance=new _(0,0);m_filterTolerance=0;m_densifyDist=-1;m_distance=Number.NaN;m_absDistance=0;m_absDistanceReversed=0;m_dA=-1;m_miterLimit=4;m_joins=0;m_caps=0;m_bRoundBuffer=!0;m_bOutputLoops=!0;m_bFilter=!0;m_circleTemplate=[];m_leftStack=[];m_middleStack=[];m_helperLine1=new v;m_helperLine2=new v;m_helperArray=[];m_progressCounter=0;constructor(e){this.m_densificator=I.constructDefault(e),this.m_progressTracker=e}buffer(e,t,s,l,c,u,f,_){if(e||i("Geometry.Bufferer.Impl.Buffer"),f<0&&i("Geometry.Bufferer.Impl.Buffer"),n(e.getGeometryType())&&r("Unsupported geometry type."),e.isEmpty())return new S({vd:e.getDescription()});if(this.m_joins=l,this.m_caps=c,this.m_bRoundBuffer=!1,this.m_miterLimit=u,this.m_originalGeomType=e.getGeometryType(),m(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_joins:o(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_caps:a(this.m_originalGeomType)&&(this.m_bRoundBuffer=0===this.m_joins&&0===this.m_caps),this.m_bFilter=this.m_bRoundBuffer,this.m_geometry=B(e),this.m_geometry.isEmpty())return new S({vd:e.getDescription()});const d=new R;this.m_geometry.queryLooseEnvelope(d),t>0&&d.inflateCoords(t,t),this.m_tolerance=g(s,d,!0),this.m_smallTolerance=g(null,d,!0),_<=0&&(_=96),this.m_spatialReference=s,this.m_distance=t,this.m_absDistance=Math.abs(this.m_distance),this.m_absDistanceReversed=0!==this.m_absDistance?1/this.m_absDistance:0,Number.isNaN(f)||0===f?f=1e-5*this.m_absDistance:f>.5*this.m_absDistance&&(f=.5*this.m_absDistance),_<12&&(_=12);const p=Math.abs(t)*(1-Math.cos(Math.PI/_));if(p>f)f=p;else if(0!==t){const e=Math.PI/Math.acos(1-f/Math.abs(t));e<_-1&&(_=Math.trunc(e))<12&&(_=12,f=Math.abs(t)*(1-Math.cos(Math.PI/_)))}this.m_densifyDist=f,this.m_maxVertexInCompleteCircle=_,this.m_filterTolerance=this.m_bRoundBuffer?Math.min(this.m_smallTolerance.total(),.25*this.m_densifyDist):0,this.m_circleTemplateSize=this.calcN(),this.m_circleTemplateSize!==this.m_oldCircleTemplateSize&&(this.m_circleTemplate.length=0,this.m_oldCircleTemplateSize=this.m_circleTemplateSize),this.m_densifyDist>0&&h(this.m_geometry)&&(this.m_geometry=this.m_densificator.densifyEx(this.m_geometry,0,this.m_densifyDist,0,0!==this.m_joins,y()));const b=this.bufferImpl();return this.m_geometry=null,b}generateCircleTemplate(){if(this.m_circleTemplate.length)return;const e=this.m_circleTemplateSize,t=Math.trunc((e+3)/4),s=.5*Math.PI/t;this.m_dA=s,this.m_circleTemplate=P(x,4*t);const i=Math.cos(s),n=Math.sin(s),r=x.construct(0,1);for(let m=0;m<t;m++)this.m_circleTemplate[m+0*t].setCoords(r.y,-r.x),this.m_circleTemplate[m+1*t].setCoords(-r.x,-r.y),this.m_circleTemplate[m+2*t].setCoords(-r.y,r.x),this.m_circleTemplate[m+3*t].setCoords(r.x,r.y),r.rotateReverse(i,n)}bufferImpl(){const e=this.m_geometry.getGeometryType();if(l(e)){const e=new M({vd:this.m_geometry.getDescription()});return e.addSegment(this.m_geometry,!0),this.m_geometry=e,this.bufferImpl()}if(this.m_distance<=this.m_tolerance.total()){if(!m(e))return new S({vd:this.m_geometry.getDescription()});if(this.m_distance<0){const e=new R;if(this.m_geometry.queryEnvelope(e),e.width()<=2*this.m_absDistance||e.height()<=2*this.m_absDistance)return new S({vd:this.m_geometry.getDescription()})}}switch(this.m_geometry.getGeometryType()){case s.enumPoint:return this.bufferPoint();case s.enumMultiPoint:return this.bufferMultiPoint();case s.enumPolyline:return this.bufferPolyline();case s.enumPolygon:return this.bufferPolygon();case s.enumEnvelope:return this.bufferEnvelope();default:c("")}}bufferPolyline(){if(this.isDegenerateGeometry(this.m_geometry)){const e=new d;this.m_geometry.getPointByVal(0,e);const t=new R;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const e=this.m_geometry,t=this.m_geometry.getDescription();this.m_geometry=null;const s=new U(e);let i,n;i=0===this.m_joins?(new q).executeMany(s,.25*this.m_densifyDist,!1,this.m_progressTracker):s,n=this.m_bRoundBuffer?(new L).executeMany(i,null,!0,this.m_progressTracker):i;const r=new J(this,n,this.m_bFilter),m=(new X).executeMany(r,this.m_spatialReference,this.m_progressTracker,2),o=(new Y).executeMany(m,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==o?o:new S({vd:t})}bufferPolygon(){if(0===this.m_distance)return this.m_geometry;this.generateCircleTemplate();const e=(new Y).execute(this.m_geometry,null,!1,this.m_progressTracker);if(this.m_distance<0){if(this.m_geometry=e,this.m_geometry.isEmpty())return this.m_geometry;const t=this.m_geometry,s=this.bufferPolygonImpl(t,0,t.getPathCount());return(new Y).execute(s,this.m_spatialReference,!1,this.m_progressTracker)}{if(this.m_geometry=e,this.isDegenerateGeometry(this.m_geometry)){const e=new d;this.m_geometry.getPointByVal(0,e);const t=new R;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const t=new W(this),s=(new X).executeMany(t,this.m_spatialReference,this.m_progressTracker,2),i=(new Y).executeMany(s,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==i?i:new S({vd:this.m_geometry.getDescription()})}}bufferPolygonImpl(e,t,s){const i=e,n=i.getImpl();let r=new S({vd:e.getDescription()});for(let m=t;m<s;m++){if(n.getPathSize(m)<1)continue;const t=n.calculateRingArea2D(m),s=new R;if(n.queryPathEnvelope(m,s),this.m_distance>0)if(t>0)if(this.isDegeneratePath(n,m)){const e=new d;n.getPointByVal(n.getPathStart(m),e),e.setXY(s.getCenter()),r.add(this.bufferDegeneratePath(e,!0),!1)}else{const t=new M({vd:e.getDescription()}),s=t.getImpl();if(E(this.m_geometry,m)){const e=this.bufferConvexPath(i,m);r.add(e,!1)}else{this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,1);const e=this.bufferCleanup(t);r.add(e,!1)}}else{if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new M({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,1),!t.isEmpty()){const e=s,n=Math.max(1,this.m_absDistance),m=e.clone();m.inflateCoords(n,n),i.addEnvelope(m,!1);const o=this.bufferCleanup(t);r.reserve(r.getPointCount()+o.getPointCount()-4),se(o,r,m,!0)}}else if(t>0){if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new M({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,-1),!t.isEmpty()){const e=new R;i.queryLooseEnvelope(e);const s=Math.max(1,this.m_absDistance),n=e.clone();n.inflateCoords(s,s),i.addEnvelope(n,!1);se(this.bufferCleanup(t),r,n,!0)}}else{const t=new M({vd:e.getDescription()}),s=t.getImpl();this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,-1);const i=this.bufferCleanup(t);for(let e=0,n=i.getPathCount();e<n;e++)r.addPath(i,e,!0)}}if(this.m_distance>0){if(r.getPathCount()>1){return this.bufferCleanup(r)}return K(r)}{const e=new R;if(r.queryLooseEnvelope(e),r.isEmpty())return K(r);{const t=Math.max(1,this.m_absDistance),s=e.clone();s.inflateCoords(t,t),r.addEnvelope(s,!1);const i=this.bufferCleanup(r);r=new S;const n=new S({vd:i.getDescription()});return se(i,n,s,!1),K(n)}}}bufferPoint(){return this.bufferPointImpl(this.m_geometry)}bufferPointImpl(e){const t=new S({vd:e.getDescription()});return 0===this.m_caps?(this.addCircle(t.getImpl(),e),this.setStrongSimple(t)):2===this.m_caps?(this.addSquare(t.getImpl(),e),this.setStrongSimple(t)):t}bufferDegeneratePath(e,t){const s=new S({vd:e.getDescription()});return t&&0===this.m_joins||!t&&0===this.m_caps?(this.addCircle(s.getImpl(),e),this.setStrongSimple(s)):t||2!==this.m_caps?s:(this.addSquare(s.getImpl(),e),this.setStrongSimple(s))}bufferMultiPoint(){const e=new O(this,this.m_geometry,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle,this.m_progressTracker);return(new X).executeMany(e,this.m_spatialReference,this.m_progressTracker,2).next()}bufferEnvelope(){let e=new S({vd:this.m_geometry.getDescription()});if(this.m_distance<=0){if(0===this.m_distance)e.addEnvelope(this.m_geometry,!1),Q(this.m_geometry,this.m_tolerance.total())&&(e=this.setStrongSimple(e));else{const t=new p;this.m_geometry.queryEnvelope(t),t.inflateCoords(this.m_distance,this.m_distance),e.addEnvelope(t,!1),Q(t,this.m_tolerance.total())&&(e=this.setStrongSimple(e))}return e}if(1===this.m_joins){const t=new p({copy:this.m_geometry});return t.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(t,!1),e}const t=this.m_geometry.clone();if(0===t.width()||0===t.height()){if(0===t.width()&&0===t.height()){const e=new d({vd:this.m_geometry.getDescription()});return t.queryCornerByVal(0,e),this.m_geometry=e,this.bufferImpl()}const e=new M({vd:this.m_geometry.getDescription()}),s=new d;return t.queryCornerByVal(0,s),e.startPathPoint(s),t.queryCornerByVal(2,s),e.lineToPoint(s),this.m_geometry=e,this.bufferImpl()}return e.addEnvelope(this.m_geometry,!1),this.m_geometry=e,this.bufferConvexPath(e,0)}bufferConvexPath(e,t){this.generateCircleTemplate();const s=e.hasAttribute(10),i=new S({vd:e.getDescription()}),n=i.getImpl();i.reserve((this.m_circleTemplate.length/10+4)*e.getPathSize(t));const r=new x,m=new x,o=new x,a=new x(0,0),h=new x,l=new x,u=e.getImpl(),f=e.getPathSize(t),_=e.getPathStart(t);for(let g=0,d=e.getPathSize(t);g<d;g++){const e=u.getXY(_+g),t=u.getXY(_+(g+1)%f),i=u.getXY(_+(g+2)%f);h.setSub(t,e),0===h.length()&&c("");const d=s&&!!(1&u.getAttributeAsInt(10,(g+1)%f,0));h.normalize();const p=h.clone();h.leftPerpendicularThis(),h.scale(this.m_absDistance),r.setAdd(h,e),m.setAdd(h,t),0===g?n.startPath(r):n.lineTo(r),n.lineTo(m),l.setSub(i,t),0===l.length()&&c(""),l.normalize();const b=l.clone();l.leftPerpendicularThis(),l.scale(this.m_absDistance),o.setAdd(l,t);let y=j.enumArc;const P=d?0:this.m_joins;if(2===P)y=j.enumBevel;else if(1===P){const e=-p.crossProduct(b);a.setSub(p,b),a.scale(this.m_absDistance/e),a.length()<this.m_miterLimit*this.m_absDistance?(a.addThis(t),y=j.enumMiter):y=j.enumBevel}else a.assign(t);this.addJoin(y,n,a,m,o,!1,!1)}return K(i)}bufferPolylinePath(e,t,s){this.generateCircleTemplate();const i=e,n=i.getImpl();if(n.getPathSize(t)<1)return null;let r;if(r=this.m_bRoundBuffer?n.isClosedPathInXYPlane(t):n.isClosedPath(t),this.isDegeneratePath(n,t)&&this.m_distance>0){const e=new d;n.getPointByVal(n.getPathStart(t),e);const s=new R;return n.queryPathEnvelope(t,s),e.setXY(s.getCenter()),this.bufferDegeneratePath(e,r)}const m=new M({vd:e.getDescription()});m.reserve((Math.trunc(this.m_circleTemplate.length/10)+4)*n.getPathSize(t));const o=m.getImpl();return r?2!==this.bufferClosedPath(i,t,o,s,1)&&this.bufferClosedPath(i,t,o,s,-1):this.bufferOpenPath(i,t,o,s),this.bufferCleanup(m)}progress_(){}bufferCleanup(e,t=!1){const s=t?this.m_tolerance:this.m_smallTolerance;return F(e,s,!0,!t,-1,this.m_progressTracker,0,!1)}calcN(){const e=4;if(0===this.m_densifyDist)return this.m_maxVertexInCompleteCircle;const t=1-this.m_densifyDist*Math.abs(this.m_absDistanceReversed);let s=e;return s=t<-1?e:2*Math.PI/Math.acos(t)+.5,s<e?s=e:s>this.m_maxVertexInCompleteCircle&&(s=this.m_maxVertexInCompleteCircle),Math.trunc(s)}addJoin(e,t,s,i,n,r,m){if(this.generateCircleTemplate(),r&&(t.startPath(i),r=!1),e===j.enumBevel)return void(m&&t.lineTo(n));if(e===j.enumMiter){const e=s.clone();return t.lineTo(e),void(m&&t.lineTo(n))}const o=new x;o.setSub(i,s),o.scale(this.m_absDistanceReversed);const a=new x;a.setSub(n,s),a.scale(this.m_absDistanceReversed);let h=Math.atan2(o.y,o.x)/this.m_dA;h<0&&(h=this.m_circleTemplate.length+h),h=this.m_circleTemplate.length-h;let l=Math.atan2(a.y,a.x)/this.m_dA;l<0&&(l=this.m_circleTemplate.length+l),l=this.m_circleTemplate.length-l,l<h&&(l+=this.m_circleTemplate.length);let c=Math.trunc(l),u=Math.ceil(h),f=this.m_circleTemplate[u%this.m_circleTemplate.length].clone();f.scaleAddThis(this.m_absDistance,s);const _=10*this.m_tolerance.total();f.sub(i).length()<_&&(u+=1),f=this.m_circleTemplate[c%this.m_circleTemplate.length].clone(),f.scaleAddThis(this.m_absDistance,s),f.sub(n).length()<_&&(c-=1);let g=c-u;g++;for(let d=0,p=u%this.m_circleTemplate.length;d<g;d++,p=(p+1)%this.m_circleTemplate.length)f=this.m_circleTemplate[p].clone(),f.scaleAddThis(this.m_absDistance,s),t.lineTo(f),this.progress_();m&&t.lineTo(n)}bufferClosedPath(e,t,s,i,n){const r=new V,m=r.addPathFromMultiPath(e,t,!0);return this.bufferClosedPathImpl(r,m,s,i,n)}bufferClosedPathImpl(e,t,s,i,n){const r=e.getFirstVertex(e.getFirstPath(t)),m=new d;e.queryPoint(r,m),e.filterClosePoints(this.m_filterTolerance,!1,!1,!1,-1);if(e.getPointCount(t)<2)return n<0?0:(this.m_bRoundBuffer&&this.addCircle(s,m),2);u(e.getFirstPath(t)!==k),u(e.getFirstVertex(e.getFirstPath(t))!==k);const o=e.getXY(e.getFirstVertex(e.getFirstPath(t))),a=new A;if(a.setShift(o.negate()),e.applyTransformation(a),i){const i=te(e,t,n,!0,this.m_absDistance,this.m_filterTolerance,this.m_densifyDist);if(u(1===i),e.getPointCount(t)<2)return n<0?0:(this.addCircle(s,m),2)}const h=0!==this.m_joins&&e.getVertexDescription().hasAttribute(10);this.m_bufferCommands.length=0;const l=e.getFirstPath(t);let c=e.getFirstVertex(l),f=1===n?e.getPrevVertex(c):e.getNextVertex(c),_=1===n?e.getNextVertex(c):e.getPrevVertex(c),g=!0;const p=new x,b=new x,y=new x,P=new x,C=new x,D=new x,w=new x,T=new x,v=this.m_absDistance,I=e.getPathSize(l),S=new x(0,0);for(let u=0;u<I;u++){b.assign(e.getXY(_)),g&&(p.assign(e.getXY(c)),y.assign(e.getXY(f)),D.setSub(p,y),D.normalize(),T.leftPerpendicularOther(D),T.scale(v),P.setAdd(T,p));const t=h&&!!(1&e.getAttributeAsDbl(10,c,0));C.setSub(b,p),C.normalize(),w.leftPerpendicularOther(C),w.scale(v);const s=new x;s.setAdd(p,w);const i=D.crossProduct(C),r=D.dotProduct(C);if(i<0||r<0&&i<Math.abs(r)*Number.EPSILON*8){let e=!1;const n=t?0:this.m_joins;if(1===n){const t=-i;S.setSub(D,C),S.scale(this.m_absDistance/t),S.length()<this.m_miterLimit*this.m_absDistance&&(S.addThis(p),e=!0),this.m_bufferCommands.push(G(P,s,S,e?j.enumMiter:j.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(P,s,p,0===n?j.enumArc:j.enumBevel,this.m_bufferCommands.length+1))}else P.equals(s)||(this.m_bufferCommands.push(N(P,p,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(N(p,s,this.m_bufferCommands.length+1)));const m=new x;m.setAdd(b,w),this.m_bufferCommands.push(G(s,m,p,j.enumLine,this.m_bufferCommands.length+1)),P.setCoordsPoint2D(m),T.setCoordsPoint2D(w),y.setCoordsPoint2D(p),p.setCoordsPoint2D(b),D.setCoordsPoint2D(C),f=c,c=_,g=!1,_=1===n?e.getNextVertex(c):e.getPrevVertex(c)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),a.setShift(o),s.applyTransformationToPath(a,s.getPathCount()-1),1}bufferOpenPath(e,t,s,i){if(this.m_bRoundBuffer){const n=new M({vd:e.getDescription()});return n.addPath(e,t,!1),n.addSegmentsFromPath(e,t,0,e.getSegmentCountPath(t),!1),this.bufferClosedPath(n,0,s,i,1)}let n=0;const r=new M({vd:e.getDescription()}),m=new x(0,0);{const i=new V,o=i.addPathFromMultiPath(e,t,!1),a=i.getFirstVertex(i.getFirstPath(o)),h=new d;i.queryPoint(a,h),m.assign(h.getXY()),i.filterClosePoints(0,!1,!1,!1,-1);if(i.getPointCount(o)<2)return this.m_bRoundBuffer&&this.addCircle(s,h),2;const l=i.getGeometry(i.getFirstGeometry());r.addPath(l,0,!1),n=r.getPointCount()-1,r.addSegmentsFromPath(l,0,0,l.getSegmentCountPath(0)-1,!1)}const o=new V,a=o.addPathFromMultiPath(r,0,!0);u(o.getFirstPath(a)!==k),u(o.getFirstVertex(o.getFirstPath(a))!==k);const h=new A;h.setShift(m.negate()),o.applyTransformation(h),this.m_bufferCommands.length=0;const l=o.getFirstPath(a),c=0!==this.m_joins&&o.getVertexDescription().hasAttribute(10);let f=o.getFirstVertex(l),_=o.getPrevVertex(f),g=o.getNextVertex(f),p=!0;const b=new x,y=new x,P=new x,C=new x,D=new x,w=new x,T=new x,v=new x,I=this.m_absDistance,S=o.getPathSize(l),E=new x(0,0);for(let u=0;u<S;u++){let e=!1;0!==u&&u!==n||(e=!0),y.assign(o.getXY(g)),p&&(b.assign(o.getXY(f)),P.assign(o.getXY(_)),w.setSub(b,P),w.normalize(),v.leftPerpendicularOther(w),v.scale(I),C.setAdd(v,b));const t=c&&!!(1&o.getAttributeAsDbl(10,f,0));D.setSub(y,b),D.normalize(),T.leftPerpendicularOther(D),T.scale(I);const s=new x;s.setAdd(b,T);const i=w.crossProduct(D),r=w.dotProduct(D);if(i<0||r<0&&i<Math.abs(r)*Number.EPSILON*8)if(e)if(0===this.m_caps)this.m_bufferCommands.push(G(C,s,b,j.enumArc,this.m_bufferCommands.length+1));else if(1===this.m_caps)this.m_bufferCommands.push(G(C,s,b,j.enumLine,this.m_bufferCommands.length+1));else{const e=D.mul(this.m_absDistance).negate(),t=e.clone();e.addThis(C),t.addThis(s),this.m_bufferCommands.push(G(C,e,b,j.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(e,t,b,j.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(t,s,b,j.enumLine,this.m_bufferCommands.length+1))}else{let e=!1;const n=t?0:this.m_joins;if(1===n){const t=-i;E.setSub(w,D),E.scale(this.m_absDistance/t),E.length()<this.m_miterLimit*this.m_absDistance&&(E.addThis(b),e=!0),this.m_bufferCommands.push(G(C,s,E,e?j.enumMiter:j.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(C,s,b,0===n?j.enumArc:j.enumBevel,this.m_bufferCommands.length+1))}else C.equals(s)||(this.m_bufferCommands.push(N(C,b,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(N(b,s,this.m_bufferCommands.length+1)));const m=new x;m.setAdd(y,T),this.m_bufferCommands.push(G(s,m,b,j.enumLine,this.m_bufferCommands.length+1)),C.setCoordsPoint2D(m),v.setCoordsPoint2D(T),P.setCoordsPoint2D(b),b.setCoordsPoint2D(y),w.setCoordsPoint2D(D),_=f,f=g,p=!1,g=o.getNextVertex(f)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),h.setShift(m),s.applyTransformationToPath(h,s.getPathCount()-1),1}processBufferCommands(e){const t=this.cleanupBufferCommands();let s=!0,i=t+1;for(let n=t;i!==t;n=i){const t=this.m_bufferCommands[n];i=-1!==t.m_next?t.m_next:(n+1)%this.m_bufferCommands.length,t.m_type&&(s&&(e.startPath(t.m_from),s=!1),t.m_type&j.enumJoinMask?this.addJoin(t.m_type,e,t.m_center,t.m_from,t.m_to,!1,!0):e.lineTo(t.m_to))}}cleanupBufferCommands(){this.m_helperArray=P(x,9);let e=0;for(let s=0,i=this.m_bufferCommands.length;s<i;){const t=this.m_bufferCommands[s];if(t.m_type&j.enumConnectionMask){e=s;break}s=t.m_next}let t=e+1;for(let s=e;t!==e;s=t){const e=this.m_bufferCommands[s];t=e.m_next;let i=1,n=null;for(;t!==s&&(n=this.m_bufferCommands[t],!(n.m_type&j.enumConnectionMask));)t=n.m_next,i++;if(1!==i&&(e.m_type&n.m_type)===j.enumLine){this.m_helperLine1.setStartXY(e.m_from),this.m_helperLine1.setEndXY(e.m_to),this.m_helperLine2.setStartXY(n.m_from),this.m_helperLine2.setEndXY(n.m_to);1===this.m_helperLine1.intersect(this.m_helperLine2,this.m_helperArray,null,null,this.m_smallTolerance.total())&&(e.m_to.assign(this.m_helperArray[0]),n.m_from.assign(this.m_helperArray[0]),e.m_next=t)}}return e}isDegeneratePath(e,t){if(1===e.getPathSize(t))return!0;if(0===this.m_joins&&0===this.m_caps){const s=new R;if(e.queryPathEnvelope(t,s),Math.max(s.width(),s.height())<.5*this.m_densifyDist)return!0}return!1}isDegenerateGeometry(e){if(0===this.m_joins&&0===this.m_caps){const t=new R;if(e.queryEnvelope(t),Math.max(t.width(),t.height())<.5*this.m_densifyDist)return!0}return!1}addCircle(e,t){const s=t.getXY();if(0!==this.m_circleTemplate.length){let t=this.m_circleTemplate[0].clone();t.scaleAddThis(this.m_absDistance,s),e.startPath(t);for(let i=1,n=this.m_circleTemplate.length;i<n;i++)t=this.m_circleTemplate[i].clone(),t.scaleAddThis(this.m_absDistance,s),e.lineTo(t);return}const i=this.m_circleTemplateSize,n=Math.trunc((i+3)/4),r=.5*Math.PI/n;e.reserve(4*n);const m=Math.cos(r),o=Math.sin(r);for(let a=3;a>=0;a--){const t=x.construct(0,this.m_absDistance);switch(a){case 0:for(let i=0;i<n;i++)e.lineToCoords(t.x+s.x,t.y+s.y),t.rotateReverse(m,o);break;case 1:for(let i=0;i<n;i++)e.lineToCoords(-t.y+s.x,t.x+s.y),t.rotateReverse(m,o);break;case 2:for(let i=0;i<n;i++)e.lineToCoords(-t.x+s.x,-t.y+s.y),t.rotateReverse(m,o);break;default:e.startPathCoords(t.y+s.x,-t.x+s.y);for(let i=1;i<n;i++)t.rotateReverse(m,o),e.lineToCoords(t.y+s.x,-t.x+s.y)}this.progress_()}}addSquare(e,t){const s=new p({vd:t.getDescription()});s.setCoords(t.getX(),t.getY(),t.getX(),t.getY()),s.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(s,!1)}setStrongSimple(e){return e.getImpl().setIsSimple(4,this.m_tolerance.total()),e.getImpl().updateOGCFlagsProtected(),e}}function K(e){return b(e,0),e}function Q(e,t){return!!e.isEmpty()||Math.min(e.width(),e.height())>t}function Z(e,t,s,i,n,r,m,o){const a=e.getXY(s),h=e.getXY(i);if(a.equals(h))return-1;const l=.25*m,c=.25*m,f=new x;f.setSub(h,a);const _=f.length(),g=_*_*.25,d=r*r-g;if(d<=g)return-1;const p=Math.sqrt(d);f.normalize();const b=f.clone();b.rightPerpendicularThis();const y=g/p,P=y<=c,C=x.lerp(h,a,.5),D=b.clone(),v=y-l;D.scaleAddThis(Math.max(0,v),C);b.negate().scaleAddThis(p,C);const I=3.61*T(r-c),S=D.sub(a),M=D.sub(h);let E=!1,V=0;const k=w(64,0);u(o===k.length);{for(let o=e.getPrevVertexEx(i,n);o!==s;){if(1===e.getUserIndex(o,t))return-1;if(e.getXY(o).equals(h)){const t=e.getPrevVertexEx(o,n);e.removeVertex(o,!1),o=t;continue}break}const r=new x,m=a.clone();k[V++]=1;for(let o=e.getNextVertexEx(s,n);o!==i;){if(1===e.getUserIndex(o,t))return-1;const s=e.getXY(o);if(s.equals(m)){const t=e.getNextVertexEx(o,n);e.removeVertex(o,!1),o=t;continue}k[V++]=0;const i=new x;if(i.setSub(s,a),i.dotProduct(b)<0)return 0;(x.sqrDistance(s,a)>I||x.sqrDistance(s,h)>I)&&(E=!0);let l=0;s.sub(a).crossProduct(S)>=0&&(l=1);if(s.sub(h).crossProduct(M)<=0&&(l|=2),0===l)return 0;k[V-1]=l,r.assign(m),m.assign(s),o=e.getNextVertexEx(o,n)}if(1===V)return 0;u(V<k.length),k[V++]=2}let R=!0;for(let u=1,x=0;u<V;u++)if(k[u]!==k[u-1]&&(x++,R=x<3&&(1===x&&3===k[u]||2===x&&2===k[u]),!R))return 0;if(V>2&&R&&(3===V||!E)){let t=0,r=e.getNextVertexEx(s,n);for(P||(e.setXY(r,D),r=e.getNextVertexEx(r,n));r!==i;){const s=e.getNextVertexEx(r,n);e.removeVertex(r,!1),r=s,++t}return t}if(u(3!==V),E&&V>3)return 0;const A=a.clone();let B=s;const X=a.clone();let Y=1,F=-1,L=B,q=0;for(V=1;L!==i;){L=e.getNextVertexEx(L,n);const t=k[V++];if(0===t){if(L===i)break;continue}const s=e.getXY(L);if(-1!==F){if(3&(F&Y&t)){e.removeVertex(B,!0),q++,B=L,X.setCoordsPoint2D(s),Y=t;continue}if(3===Y&&0!==F&&0!==t){if(X.setCoordsPoint2D(D),P||X.equals(A)){e.removeVertex(B,!0),q++,B=L,X.setCoordsPoint2D(s),Y=t;continue}e.setXY(B,X)}}F=Y,A.setCoordsPoint2D(X),B=L,Y=t,X.setCoordsPoint2D(s)}return q}function $(e,t,s,i){let n=-1;const r=new x,m=new x,o=new x;for(let a=0,h=e.getPathSize(i),l=e.getFirstVertex(i);a<h;++a){-1===n&&(e.queryXY(l,m),n=e.getPrevVertex(l),-1!==n&&(e.queryXY(n,r),o.setSub(m,r),o.normalize()));const s=e.getNextVertex(l);if(-1===s)break;const i=e.getXY(s),a=i.sub(m);if(a.normalize(),-1!==n){a.dotProduct(o)<-.99&&Math.abs(a.crossProduct(o))<1e-7&&e.setUserIndex(l,t,1)}n=l,l=s,r.assign(m),m.assign(i),o.assign(a)}}function ee(s,i,n,r,m,o,a){const h={stack:[],error:void 0,hasError:!1};try{const t=s.getFirstPath(i),r=s.createUserIndex();e(h,D(()=>{s.removeUserIndex(r)},!1),!1),$(s,r,i,t);for(let e=0;e<100;++e){if(0===s.getPathSize(t))return 1;let e=s.getFirstVertex(t),i=s.getPathSize(t);if(i<3)return 1;s.isClosedPath(t)||(i-=1);const o=64;let h=0,l=!1;for(let t=0;t<i&&e!==k;t++){let c=0,u=e;for(let h=1,l=Math.min(o,i-t);h<l;h++)if(u=s.getNextVertexEx(u,n),h>1){const t=Z(s,r,e,u,n,m,a,o);if(-1===t)break;c+=t,i-=t}if(h+=c,l=c>0,l){const t=s.getPrevVertexEx(e,n);if(-1!==t){e=t,i++;continue}}e=s.getNextVertexEx(e,n)}if(0===h)break}return s.filterClosePoints(o,!1,!1,!1,-1),1}catch(l){h.error=l,h.hasError=!0}finally{t(h)}}function te(e,t,s,i,n,r,m){return ee(e,t,s,i,n,r,m)}function se(e,t,s,i){for(let n=0,r=e.getPathCount();n<r;n++){const r=e.getXY(e.getPathStart(n));r.x!==s.xmin&&r.x!==s.xmax&&t.addPath(e,n,i)}}export{H as B,z as s};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{G as n,v as i}from"./Geometry.js";import{S as r,P as s,s as o}from"./MultiPathImpl.js";import{I as m}from"./UnitFactory.js";import{P as a,c as u,s as c,i as h,h as l,j as g,d as y}from"./Point2D.js";import{Envelope2D as _}from"./Envelope2D.js";import{P as D,E as p}from"./Envelope.js";function v(){return{outPoint:new a,index:-1,t:Number.NaN}}function N(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function f(e,t,n,i){e.outPoint.assign(t),e.index=n,e.t=i}function P(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function I(e,t,n,i){e.index=n,e.t=i,t.queryCoord2D(e.t,e.outPoint)}function d(e,t){const n=v();P(n,e),P(e,t),P(t,n)}function q(e,t,i,r,s,o){if(e.getGeometryType()===n.enumPolygon){for(;r.nextPath();)if(r.hasNextSegment()){const t=r.nextSegment();if(0!==m(e,t.getEndXY(),0))return f(s,t.getEndXY(),-1,Number.NaN),f(o,t.getEndXY(),-1,Number.NaN),!0}r.resetToFirstPath()}if(t.getGeometryType()===n.enumPolygon){for(;i.nextPath();)if(i.hasNextSegment()){const e=i.nextSegment();if(0!==m(t,e.getEndXY(),0))return f(s,e.getEndXY(),-1,Number.NaN),f(o,e.getEndXY(),-1,Number.NaN),!0}i.resetToFirstPath()}return!1}function M(e){const t=e.getPathCount(),n=y(e.getSegmentCount(),0);let i=0;for(let r=0;r<t;++r){const t=i+e.getSegmentCountPath(r);for(let s=i,o=e.getPathStart(r);s<t;++s,++o)n[s]=o;i=t}return o(e.getPointCount(),n),n}function x(e,t){return!!Number.isNaN(t)||e<=t}function E(e){const t=new s;return t.addEnvelope(e,!1),t}class b{m_progressTracker;m_env2DgeometryA=null;m_env2DgeometryB=null;m_maxSqrDistance;m_maxDistance;m_progressCounter=0;m_bIsNearCalc;constructor(e,t){if(this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,i){if(e.getGeometryType()!==D.type||t.getGeometryType()!==D.type){this.m_env2DgeometryA=new _,this.m_env2DgeometryB=new _,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB);if(!x(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance))return Number.POSITIVE_INFINITY}const r=N(new a,g(),Number.NaN),s=N(new a,g(),Number.NaN),o=this._ExecuteBruteForce(e,t,r,s);return x(o,this.m_maxDistance)?(null!==n&&P(n,r),null!==i&&P(i,s),o):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==D.type&&e.getGeometryType()!==p.type||t.getGeometryType()!==D.type&&t.getGeometryType()!==p.type||(n=!1),n){if(this.m_env2DgeometryA=new _,this.m_env2DgeometryB=new _,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const i=N(new a,g(),Number.NaN),r=N(new a,g(),Number.NaN);return this._ExecuteBruteForce(e,t,i,r)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,i,r){switch(e.getGeometryType()){case n.enumPoint:return this.distancePointGeometry(e,t,i,r);case n.enumMultiPoint:return this.distanceMultipointGeometry(e,t,i,r);case n.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,i,r);case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathGeometry(e,t,i,r);default:return Number.NaN}}distancePointGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:return this.distancePointPoint(e,t,i,r);case n.enumMultiPoint:return this.distancePointMultipoint(e,t,i,r);case n.enumPolyline:case n.enumPolygon:return this.distancePointMultipath(e,t,i,r);case n.enumEnvelope:return this.distancePointEnvelope(e,t,i,r);default:return Number.NaN}}distancePointPoint(e,t,n,i){const r=e.getXY(),s=t.getXY();return f(n,r,0,0),f(i,s,0,0),Math.sqrt(a.sqrDistance(r,s))}distancePointMultipoint(e,t,n,i){const r=e.getXY();let s=this.m_maxSqrDistance,o=s,m=!1;const u=t.getPointCount(),c=new a;for(let h=0;h<u;++h)if(t.queryXY(h,c),o=a.sqrDistance(r,c),this.m_bIsNearCalc){if(o<=s)return 0}else if(!(o>s)&&(!m&&o===s||o<s)&&(s=o,f(n,r,0,0),f(i,c,h,0),m=!0,0===s))return 0;return m?Math.sqrt(s):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,i,r){const s=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),o=e.getXY();if(!s&&t.getGeometryType()===n.enumPolygon&&0!==m(t,o,0))return f(i,o,0,0),f(r,o,-1,Number.NaN),0;t.getImpl().getAccelerators();let u=this.m_maxSqrDistance,c=u,h=-1;const l=new _,g=t.querySegmentIterator();let y=!1;for(;g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment();e.queryEnvelope(l);const t=l.sqrDistance(o);if(t>u)continue;if(!this.m_bIsNearCalc&&y&&t===u)continue;h=e.getClosestCoordinate(o,!1);const n=e.getCoord2D(h);if(c=a.sqrDistance(o,n),this.m_bIsNearCalc){if(c<=u)return 0}else if(!(c>u)&&(!y||c<u)&&(u=c,f(i,o,0,0),f(r,n,g.getStartPointIndex(),h),y=!0,0===u))return 0}return y?Math.sqrt(u):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,i){const r=e.getXY();f(n,r,0,0),f(i,r,-1,Number.NaN);const s=t.asEnvelope2D();return!s.contains(r)?Math.sqrt(s.sqrDistance(r,i.outPoint)):0}distanceMultipointGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distancePointMultipoint(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,i,r,1,1);case n.enumPolyline:case n.enumPolygon:return this.distanceMultipointMultipath(e,t,i,r);case n.enumEnvelope:return this.distanceMultipointMultipath(e,E(t),i,r);default:return Number.NaN}}distanceMultipointMultipoint(n,i,r,s,o,m){const g={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===o&&1===m){const e=Math.trunc(c(Math.sqrt(n.getPointCount())+1,1,h())),t=Math.trunc(c(Math.sqrt(i.getPointCount())+1,1,h()));if((e>=4||t>=4)&&this.distanceMultipointMultipoint(n,i,r,s,e,t)<=this.m_maxSqrDistance)return 0}let t=this.m_maxSqrDistance;const y=[n],_=[i],D=this.swapGeometriesIfBGtA(y,_);D&&(this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),m=u(o,o=m),d(r,s)),e(g,l(()=>{d(r,s),this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!D),!1);const p=y[0].getImpl(),v=_[0].getImpl(),N=p.getPointCount(),P=v.getPointCount(),I=P>1;let q=!1;const M=new a,x=new a;for(let e=0;e<N;e+=o){if(p.queryXY(e,M),I){const e=this.m_env2DgeometryB.sqrDistance(M);if(this.m_bIsNearCalc){if(e>t)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(M)<=t)return 0}else if(e>=t)continue}for(let n=0;n<P;n+=m){v.queryXY(n,x);const i=a.sqrDistance(M,x);if(this.m_bIsNearCalc){if(i<=t)return 0}else if(!(i>t||q&&i===t)&&(!q||i<t)&&(f(r,M,e,0),f(s,x,n,0),q=!0,t=i,0===t))return q?Math.sqrt(t):Number.POSITIVE_INFINITY}}return q?Math.sqrt(t):Number.POSITIVE_INFINITY}catch(y){g.error=y,g.hasError=!0}finally{t(g)}}distanceMultipointMultipath(e,t,i,r){let s=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===n.enumPolygon;const o=t.querySegmentIterator();o.stripAttributes();const u=new _,c=new a;let h=this.m_maxSqrDistance;const l=e.getImpl(),g=l.getPointCount(),y=g>1;let D=!1;for(;o.nextPath();)for(;o.hasNextSegment();){const e=o.nextSegment();if(e.queryLooseEnvelope(u),y){const e=u.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>h)continue}else if(e>h||D&&e===h)continue}for(let n=0;n<g;n++){if(l.queryXY(n,c),s&&0!==m(t,c,0))return f(i,c,-1,Number.NaN),f(r,c,n,0),0;{const e=u.sqrDistance(c);if(this.m_bIsNearCalc){if(e>h)continue}else if(e>h)continue}const a=e.getClosestCoordinate(c,!1),g=e.getCoord2D(a);c.subThis(g);const y=c.sqrLength();if(this.m_bIsNearCalc){if(y<=h)return 0}else if(!(y>h)&&(!D||y<h)&&(h=y,f(i,l.getXY(n),n,0),f(r,g,o.getStartPointIndex(),a),D=!0,0===h))return 0}s=!1}return D?Math.sqrt(h):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:return this.distancePointEnvelope(t,e,r,i);case n.enumMultiPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distanceMultipointMultipath(t,E(e),r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathMultipath(E(e),t,i,r);case n.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,i,r);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,i){n.t=Number.NaN,n.index=-1,i.t=Number.NaN,i.index=-1;const r=e.asEnvelope2D(),s=t.asEnvelope2D();return Math.sqrt(r.sqrDistanceEnvelope(s,n.outPoint,i.outPoint))}distanceMultipathGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distancePointMultipath(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumMultiPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distanceMultipointMultipath(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathMultipath(e,t,i,r);case n.enumEnvelope:return this.distanceMultipathMultipath(e,E(t),i,r);default:return Number.NaN}}distanceMultipathMultipath(n,i,s,o){const m={stack:[],error:void 0,hasError:!1};try{const t=[n],a=[i],g=this.swapGeometriesIfAGtB(t,a);g&&(this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),d(s,o)),e(m,l(()=>{d(s,o),this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!g),!1);const y=t[0],D=a[0],p=y.querySegmentIterator();p.stripAttributes();const N=D.querySegmentIterator();if(N.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc(c(Math.sqrt(y.getPointCount())+1,1,h())),t=Math.trunc(c(Math.sqrt(y.getPointCount())+1,1,h()));if(this.distanceMultipointMultipoint(y,D,s,o,e,t)<=this.m_maxSqrDistance)return 0}if(!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=v(),t=v();if(q(y,D,p,N,e,t))return P(s,e),P(o,t),0}const f=M(y),x=[],E=new r,b=new _,S=new _,B=new _;let A=this.m_maxSqrDistance,T=!0,C=!1;for(let e=0,n=f.length;e<n;++e){y.querySegment(f[e],E,!0);const t=E.get();if(t.queryEnvelope(b),!(b.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>A)){if(this.m_bIsNearCalc&&b.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=A)return 0;for(;N.nextPath();){if(this.progress_(),T)D.queryPathEnvelope(N.getPathIndex(),B),x[N.getPathIndex()]=B.clone();else if(b.sqrDistanceEnvelope(x[N.getPathIndex()],null,null)>A)continue;for(;N.hasNextSegment();){const n=N.nextSegment();if(n.queryEnvelope(S),b.sqrDistanceEnvelope(S,null,null)<=A){const i=!b.isIntersecting(S),r=[0],m=[0];let a=t.distance(n,i,r,m);if(a*=a,this.m_bIsNearCalc&&a<=this.m_maxSqrDistance)return 0;if(a<A||a===A&&f[e]<s.index){if(C=!0,I(s,t,f[e],r[0]),I(o,n,N.getStartPointIndex(),m[0]),0===a)return 0;A=a}}}}N.resetToFirstPath(),T=!1}}return C?Math.sqrt(A):Number.POSITIVE_INFINITY}catch(a){m.error=a,m.hasError=!0}finally{t(m)}}swapGeometriesIfAGtB(e,t){return i(e[0])>i(t[0])&&(t[0]=u(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}export{b as D,v as m,M as s,q as w};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{G as n,v as i}from"./Geometry.js";import{S as r,P as s,s as o}from"./MultiPathImpl.js";import{K as m}from"./UnitFactory.js";import{P as a,c as u,s as c,i as h,h as l,j as g,d as y}from"./Point2D.js";import{Envelope2D as _}from"./Envelope2D.js";import{P as D,E as p}from"./Envelope.js";function v(){return{outPoint:new a,index:-1,t:Number.NaN}}function N(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function f(e,t,n,i){e.outPoint.assign(t),e.index=n,e.t=i}function P(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function I(e,t,n,i){e.index=n,e.t=i,t.queryCoord2D(e.t,e.outPoint)}function d(e,t){const n=v();P(n,e),P(e,t),P(t,n)}function q(e,t,i,r,s,o){if(e.getGeometryType()===n.enumPolygon){for(;r.nextPath();)if(r.hasNextSegment()){const t=r.nextSegment();if(0!==m(e,t.getEndXY(),0))return f(s,t.getEndXY(),-1,Number.NaN),f(o,t.getEndXY(),-1,Number.NaN),!0}r.resetToFirstPath()}if(t.getGeometryType()===n.enumPolygon){for(;i.nextPath();)if(i.hasNextSegment()){const e=i.nextSegment();if(0!==m(t,e.getEndXY(),0))return f(s,e.getEndXY(),-1,Number.NaN),f(o,e.getEndXY(),-1,Number.NaN),!0}i.resetToFirstPath()}return!1}function M(e){const t=e.getPathCount(),n=y(e.getSegmentCount(),0);let i=0;for(let r=0;r<t;++r){const t=i+e.getSegmentCountPath(r);for(let s=i,o=e.getPathStart(r);s<t;++s,++o)n[s]=o;i=t}return o(e.getPointCount(),n),n}function x(e,t){return!!Number.isNaN(t)||e<=t}function E(e){const t=new s;return t.addEnvelope(e,!1),t}class b{m_progressTracker;m_env2DgeometryA=null;m_env2DgeometryB=null;m_maxSqrDistance;m_maxDistance;m_progressCounter=0;m_bIsNearCalc;constructor(e,t){if(this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,i){if(e.getGeometryType()!==D.type||t.getGeometryType()!==D.type){this.m_env2DgeometryA=new _,this.m_env2DgeometryB=new _,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB);if(!x(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance))return Number.POSITIVE_INFINITY}const r=N(new a,g(),Number.NaN),s=N(new a,g(),Number.NaN),o=this._ExecuteBruteForce(e,t,r,s);return x(o,this.m_maxDistance)?(null!==n&&P(n,r),null!==i&&P(i,s),o):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==D.type&&e.getGeometryType()!==p.type||t.getGeometryType()!==D.type&&t.getGeometryType()!==p.type||(n=!1),n){if(this.m_env2DgeometryA=new _,this.m_env2DgeometryB=new _,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const i=N(new a,g(),Number.NaN),r=N(new a,g(),Number.NaN);return this._ExecuteBruteForce(e,t,i,r)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,i,r){switch(e.getGeometryType()){case n.enumPoint:return this.distancePointGeometry(e,t,i,r);case n.enumMultiPoint:return this.distanceMultipointGeometry(e,t,i,r);case n.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,i,r);case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathGeometry(e,t,i,r);default:return Number.NaN}}distancePointGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:return this.distancePointPoint(e,t,i,r);case n.enumMultiPoint:return this.distancePointMultipoint(e,t,i,r);case n.enumPolyline:case n.enumPolygon:return this.distancePointMultipath(e,t,i,r);case n.enumEnvelope:return this.distancePointEnvelope(e,t,i,r);default:return Number.NaN}}distancePointPoint(e,t,n,i){const r=e.getXY(),s=t.getXY();return f(n,r,0,0),f(i,s,0,0),Math.sqrt(a.sqrDistance(r,s))}distancePointMultipoint(e,t,n,i){const r=e.getXY();let s=this.m_maxSqrDistance,o=s,m=!1;const u=t.getPointCount(),c=new a;for(let h=0;h<u;++h)if(t.queryXY(h,c),o=a.sqrDistance(r,c),this.m_bIsNearCalc){if(o<=s)return 0}else if(!(o>s)&&(!m&&o===s||o<s)&&(s=o,f(n,r,0,0),f(i,c,h,0),m=!0,0===s))return 0;return m?Math.sqrt(s):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,i,r){const s=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),o=e.getXY();if(!s&&t.getGeometryType()===n.enumPolygon&&0!==m(t,o,0))return f(i,o,0,0),f(r,o,-1,Number.NaN),0;t.getImpl().getAccelerators();let u=this.m_maxSqrDistance,c=u,h=-1;const l=new _,g=t.querySegmentIterator();let y=!1;for(;g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment();e.queryEnvelope(l);const t=l.sqrDistance(o);if(t>u)continue;if(!this.m_bIsNearCalc&&y&&t===u)continue;h=e.getClosestCoordinate(o,!1);const n=e.getCoord2D(h);if(c=a.sqrDistance(o,n),this.m_bIsNearCalc){if(c<=u)return 0}else if(!(c>u)&&(!y||c<u)&&(u=c,f(i,o,0,0),f(r,n,g.getStartPointIndex(),h),y=!0,0===u))return 0}return y?Math.sqrt(u):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,i){const r=e.getXY();f(n,r,0,0),f(i,r,-1,Number.NaN);const s=t.asEnvelope2D();return!s.contains(r)?Math.sqrt(s.sqrDistance(r,i.outPoint)):0}distanceMultipointGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distancePointMultipoint(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,i,r,1,1);case n.enumPolyline:case n.enumPolygon:return this.distanceMultipointMultipath(e,t,i,r);case n.enumEnvelope:return this.distanceMultipointMultipath(e,E(t),i,r);default:return Number.NaN}}distanceMultipointMultipoint(n,i,r,s,o,m){const g={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===o&&1===m){const e=Math.trunc(c(Math.sqrt(n.getPointCount())+1,1,h())),t=Math.trunc(c(Math.sqrt(i.getPointCount())+1,1,h()));if((e>=4||t>=4)&&this.distanceMultipointMultipoint(n,i,r,s,e,t)<=this.m_maxSqrDistance)return 0}let t=this.m_maxSqrDistance;const y=[n],_=[i],D=this.swapGeometriesIfBGtA(y,_);D&&(this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),m=u(o,o=m),d(r,s)),e(g,l(()=>{d(r,s),this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!D),!1);const p=y[0].getImpl(),v=_[0].getImpl(),N=p.getPointCount(),P=v.getPointCount(),I=P>1;let q=!1;const M=new a,x=new a;for(let e=0;e<N;e+=o){if(p.queryXY(e,M),I){const e=this.m_env2DgeometryB.sqrDistance(M);if(this.m_bIsNearCalc){if(e>t)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(M)<=t)return 0}else if(e>=t)continue}for(let n=0;n<P;n+=m){v.queryXY(n,x);const i=a.sqrDistance(M,x);if(this.m_bIsNearCalc){if(i<=t)return 0}else if(!(i>t||q&&i===t)&&(!q||i<t)&&(f(r,M,e,0),f(s,x,n,0),q=!0,t=i,0===t))return q?Math.sqrt(t):Number.POSITIVE_INFINITY}}return q?Math.sqrt(t):Number.POSITIVE_INFINITY}catch(y){g.error=y,g.hasError=!0}finally{t(g)}}distanceMultipointMultipath(e,t,i,r){let s=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===n.enumPolygon;const o=t.querySegmentIterator();o.stripAttributes();const u=new _,c=new a;let h=this.m_maxSqrDistance;const l=e.getImpl(),g=l.getPointCount(),y=g>1;let D=!1;for(;o.nextPath();)for(;o.hasNextSegment();){const e=o.nextSegment();if(e.queryLooseEnvelope(u),y){const e=u.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>h)continue}else if(e>h||D&&e===h)continue}for(let n=0;n<g;n++){if(l.queryXY(n,c),s&&0!==m(t,c,0))return f(i,c,-1,Number.NaN),f(r,c,n,0),0;{const e=u.sqrDistance(c);if(this.m_bIsNearCalc){if(e>h)continue}else if(e>h)continue}const a=e.getClosestCoordinate(c,!1),g=e.getCoord2D(a);c.subThis(g);const y=c.sqrLength();if(this.m_bIsNearCalc){if(y<=h)return 0}else if(!(y>h)&&(!D||y<h)&&(h=y,f(i,l.getXY(n),n,0),f(r,g,o.getStartPointIndex(),a),D=!0,0===h))return 0}s=!1}return D?Math.sqrt(h):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:return this.distancePointEnvelope(t,e,r,i);case n.enumMultiPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distanceMultipointMultipath(t,E(e),r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathMultipath(E(e),t,i,r);case n.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,i,r);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,i){n.t=Number.NaN,n.index=-1,i.t=Number.NaN,i.index=-1;const r=e.asEnvelope2D(),s=t.asEnvelope2D();return Math.sqrt(r.sqrDistanceEnvelope(s,n.outPoint,i.outPoint))}distanceMultipathGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distancePointMultipath(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumMultiPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distanceMultipointMultipath(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathMultipath(e,t,i,r);case n.enumEnvelope:return this.distanceMultipathMultipath(e,E(t),i,r);default:return Number.NaN}}distanceMultipathMultipath(n,i,s,o){const m={stack:[],error:void 0,hasError:!1};try{const t=[n],a=[i],g=this.swapGeometriesIfAGtB(t,a);g&&(this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),d(s,o)),e(m,l(()=>{d(s,o),this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!g),!1);const y=t[0],D=a[0],p=y.querySegmentIterator();p.stripAttributes();const N=D.querySegmentIterator();if(N.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc(c(Math.sqrt(y.getPointCount())+1,1,h())),t=Math.trunc(c(Math.sqrt(y.getPointCount())+1,1,h()));if(this.distanceMultipointMultipoint(y,D,s,o,e,t)<=this.m_maxSqrDistance)return 0}if(!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=v(),t=v();if(q(y,D,p,N,e,t))return P(s,e),P(o,t),0}const f=M(y),x=[],E=new r,b=new _,S=new _,B=new _;let A=this.m_maxSqrDistance,T=!0,C=!1;for(let e=0,n=f.length;e<n;++e){y.querySegment(f[e],E,!0);const t=E.get();if(t.queryEnvelope(b),!(b.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>A)){if(this.m_bIsNearCalc&&b.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=A)return 0;for(;N.nextPath();){if(this.progress_(),T)D.queryPathEnvelope(N.getPathIndex(),B),x[N.getPathIndex()]=B.clone();else if(b.sqrDistanceEnvelope(x[N.getPathIndex()],null,null)>A)continue;for(;N.hasNextSegment();){const n=N.nextSegment();if(n.queryEnvelope(S),b.sqrDistanceEnvelope(S,null,null)<=A){const i=!b.isIntersecting(S),r=[0],m=[0];let a=t.distance(n,i,r,m);if(a*=a,this.m_bIsNearCalc&&a<=this.m_maxSqrDistance)return 0;if(a<A||a===A&&f[e]<s.index){if(C=!0,I(s,t,f[e],r[0]),I(o,n,N.getStartPointIndex(),m[0]),0===a)return 0;A=a}}}}N.resetToFirstPath(),T=!1}}return C?Math.sqrt(A):Number.POSITIVE_INFINITY}catch(a){m.error=a,m.hasError=!0}finally{t(m)}}swapGeometriesIfAGtB(e,t){return i(e[0])>i(t[0])&&(t[0]=u(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}export{b as D,N as a,v as m,M as s,q as w};