@arcgis/core 4.32.0-next.20250128 → 4.32.0-next.20250130

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 (1152) hide show
  1. package/TrackGraphic.js +1 -1
  2. package/applications/Components/SelectionOperation.d.ts +1 -2
  3. package/applications/Components/SketchTooltipControls.d.ts +1 -2
  4. package/applications/Components/basemapUtils.d.ts +1 -2
  5. package/applications/Components/drawUtils.d.ts +1 -2
  6. package/applications/Components/fontUtils.d.ts +1 -2
  7. package/applications/Components/getDefaultUnits.d.ts +1 -2
  8. package/applications/Components/gfxUtils.d.ts +1 -2
  9. package/applications/Components/layerOriginUtils.d.ts +4 -2
  10. package/applications/Components/layersEffectsJsonUtils.d.ts +1 -2
  11. package/applications/Components/previewSymbol2D.d.ts +1 -2
  12. package/applications/Components/reactiveUtils.d.ts +1 -2
  13. package/applications/Components/styleUtils.d.ts +1 -2
  14. package/applications/Components/svgUtils.d.ts +3 -2
  15. package/applications/Components/webStyleSymbolUtils.d.ts +1 -2
  16. package/applications/Excalibur/videoViewUtils.d.ts +1 -2
  17. package/applications/ExperienceBuilder/sketchUtils.d.ts +3 -2
  18. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +2 -2
  19. package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +3 -2
  20. package/applications/KnowledgeStudio/resourceSerializationUtils.d.ts +4 -2
  21. package/applications/MapViewer/mediaUtils.d.ts +2 -2
  22. package/applications/MapViewer/templateUtils.d.ts +4 -2
  23. package/applications/SceneViewer/colorUtils.d.ts +1 -2
  24. package/applications/SceneViewer/devEnvironmentUtils.d.ts +3 -2
  25. package/applications/SceneViewer/layerUtils.d.ts +2 -2
  26. package/applications/SceneViewer/sceneViewerUtils.d.ts +15 -2
  27. package/applications/SceneViewer/symbolUtils.d.ts +1 -2
  28. package/applications/Urban/meshUtils.d.ts +1 -2
  29. package/applications/WebEditor/sketchUtils.d.ts +2 -2
  30. package/arcade.d.ts +2 -2
  31. package/assets/components/assets/icon/hammerCoin16.json +1 -0
  32. package/assets/components/assets/icon/hammerCoin24.json +1 -0
  33. package/assets/components/assets/icon/hammerCoin32.json +1 -0
  34. package/assets/components/assets/icon/hammerLock16.json +1 -0
  35. package/assets/components/assets/icon/hammerLock24.json +1 -0
  36. package/assets/components/assets/icon/hammerLock32.json +1 -0
  37. package/assets/esri/core/workers/RemoteClient.js +1 -1
  38. package/assets/esri/core/workers/chunks/06d72622590dbd38c5de.js +1 -0
  39. package/assets/esri/core/workers/chunks/07c5f3fc475c57f5a7a7.js +1 -0
  40. package/assets/esri/core/workers/chunks/08c4b585290efc98ca5d.js +1 -0
  41. package/assets/esri/core/workers/chunks/{41f7287832d407f13ce5.js → 09b77f82c22530b44daa.js} +1 -1
  42. package/assets/esri/core/workers/chunks/0b62871b89dcb4c70457.js +1 -0
  43. package/assets/esri/core/workers/chunks/0bafa546602b776caf2f.js +1 -0
  44. package/assets/esri/core/workers/chunks/0ebdf0d1fd2034b24519.js +972 -0
  45. package/assets/esri/core/workers/chunks/{e89439cc20b7f4c6a9d1.js → 0ef5b0f8aa8a09acd6e0.js} +1 -1
  46. package/assets/esri/core/workers/chunks/117e7a12af77c761efb5.js +1 -0
  47. package/assets/esri/core/workers/chunks/122ed10cac9f192e1eec.js +1 -0
  48. package/assets/esri/core/workers/chunks/12964a4b16113cdc9c93.js +1 -0
  49. package/assets/esri/core/workers/chunks/149bad940feb0764b350.js +1 -0
  50. package/assets/esri/core/workers/chunks/1891c9aa162c5df1d27c.js +1 -0
  51. package/assets/esri/core/workers/chunks/1ab83753d9eec0463461.js +1 -0
  52. package/assets/esri/core/workers/chunks/{304722106439951da6e1.js → 1accbc048b74857269e4.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{0edf5cd5d004631c3959.js → 1cbeac3301b6943bb28a.js} +1 -1
  54. package/assets/esri/core/workers/chunks/1d51c064045e9c47bd2e.js +1 -0
  55. package/assets/esri/core/workers/chunks/1f443b99653708470f31.js +1 -0
  56. package/assets/esri/core/workers/chunks/{7d49b5bc9eb102e467ab.js → 220b12654b94c94f8d8a.js} +1 -1
  57. package/assets/esri/core/workers/chunks/22e11a8abc70b6571a2b.js +1 -0
  58. package/assets/esri/core/workers/chunks/2345344be4b0e487d3a6.js +1 -0
  59. package/assets/esri/core/workers/chunks/{6eb829a7959df2269b0e.js → 24c94f97a76646d415ae.js} +1 -1
  60. package/assets/esri/core/workers/chunks/258b46b58a4860942f7c.js +1 -0
  61. package/assets/esri/core/workers/chunks/25c8cc30faade043c8dc.js.LICENSE.txt +1 -1
  62. package/assets/esri/core/workers/chunks/2c6f2fdf274c0258621e.js +1 -0
  63. package/assets/esri/core/workers/chunks/2ff63a71213f618377d6.js +1 -0
  64. package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
  65. package/assets/esri/core/workers/chunks/{985ae30627429832b2a9.js → 32f5f00aab55ef16dcf1.js} +1 -1
  66. package/assets/esri/core/workers/chunks/380d37ceb8cf52bad190.js +1 -0
  67. package/assets/esri/core/workers/chunks/3984bf01f055fc42bfbf.js +1 -0
  68. package/assets/esri/core/workers/chunks/3e872e5e528dca7bee0c.js +1 -0
  69. package/assets/esri/core/workers/chunks/3ec51b75d1a86dad6cb1.js +1 -0
  70. package/assets/esri/core/workers/chunks/4263eee3247aaf4e64bf.js +1 -0
  71. package/assets/esri/core/workers/chunks/448ee44c7f594e5b2551.js +1 -0
  72. package/assets/esri/core/workers/chunks/476205ee4414ed80666a.js +1 -0
  73. package/assets/esri/core/workers/chunks/4b56c0c109e10d7409b8.js +1 -0
  74. package/assets/esri/core/workers/chunks/{95e786366bc471bd0730.js → 4c5279fedf982a174706.js} +1 -1
  75. package/assets/esri/core/workers/chunks/4cab082b8432ddc05345.js +1 -0
  76. package/assets/esri/core/workers/chunks/{1e1306527fb38c5894eb.js → 5a536de1ecae424bad05.js} +1 -1
  77. package/assets/esri/core/workers/chunks/5adeb979f178944b9ce5.js +1 -0
  78. package/assets/esri/core/workers/chunks/5be7cf1564e756c24066.js +1 -0
  79. package/assets/esri/core/workers/chunks/{f09c95c3d79205ee5a84.js → 5e9bf6d0db82526b8a8c.js} +5 -5
  80. package/assets/esri/core/workers/chunks/{57ebfa7f163a1b40cd1e.js → 61795bde00f2e16d04f1.js} +1 -1
  81. package/assets/esri/core/workers/chunks/{568fe969e8f914f042ca.js → 627cbe662d58cda62e7e.js} +1 -1
  82. package/assets/esri/core/workers/chunks/{6d179eb8edcefb91d5d7.js → 69ab4b780f7223cfd7dd.js} +1 -1
  83. package/assets/esri/core/workers/chunks/6d79ec15d1858839f576.js +1 -0
  84. package/assets/esri/core/workers/chunks/6e25742ceedea7fb1b97.js +1 -0
  85. package/assets/esri/core/workers/chunks/6e8905f20101c1f4509d.js.LICENSE.txt +1 -1
  86. package/assets/esri/core/workers/chunks/6ef2514a6b7bbfb8e37d.js +1 -0
  87. package/assets/esri/core/workers/chunks/72cf9192292e5c85c6df.js.LICENSE.txt +1 -1
  88. package/assets/esri/core/workers/chunks/{50beab30e120ba39d212.js → 76794184ba8c2e66745e.js} +1 -1
  89. package/assets/esri/core/workers/chunks/7810579a5a780933cdc9.js +1 -0
  90. package/assets/esri/core/workers/chunks/{e45dba512ebee97f0af2.js → 78242f2bf742b33d99fa.js} +1 -1
  91. package/assets/esri/core/workers/chunks/7966c245a073c85f04b1.js +1 -0
  92. package/assets/esri/core/workers/chunks/{fa0d968733d581bc2e4d.js → 7d120f8b01fe719eb257.js} +1 -1
  93. package/assets/esri/core/workers/chunks/7e23c15b2a02116f7189.js +1 -0
  94. package/assets/esri/core/workers/chunks/7f87cf3d6a365d987f69.js +1 -0
  95. package/assets/esri/core/workers/chunks/83edac97a52b26ead1ea.js +314 -0
  96. package/assets/esri/core/workers/chunks/881ddbdeb40336208e90.js +1 -0
  97. package/assets/esri/core/workers/chunks/{ec9d5af8887854e821c8.js → 88cbaa91c495d86f4bb0.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{11c999b976ed805b0608.js → 89e3f7880abd014a62c0.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{a3ae5ea96898de327147.js → 8bd51b5b392dfacc922f.js} +1 -1
  100. package/assets/esri/core/workers/chunks/8e6301006abdf47cc88d.js +1 -0
  101. package/assets/esri/core/workers/chunks/{9466e53ff270f6eb42c9.js → 9011704b258ecbfb6d9b.js} +2 -2
  102. package/assets/esri/core/workers/chunks/{9466e53ff270f6eb42c9.js.LICENSE.txt → 9011704b258ecbfb6d9b.js.LICENSE.txt} +1 -1
  103. package/assets/esri/core/workers/chunks/92984981afcbb95828cd.js +1 -0
  104. package/assets/esri/core/workers/chunks/934857de20f6f5c15188.js +1 -0
  105. package/assets/esri/core/workers/chunks/95ad76e58452b60fb79f.js +1 -0
  106. package/assets/esri/core/workers/chunks/9725398f6d56c8ba54ae.js +1 -0
  107. package/assets/esri/core/workers/chunks/97310e6eec87eeaf58f0.js +1 -0
  108. package/assets/esri/core/workers/chunks/9ffa27d0517bad84572e.js +1 -0
  109. package/assets/esri/core/workers/chunks/a39977478a6c57d2e8fb.js +1 -0
  110. package/assets/esri/core/workers/chunks/{f355ca70abadb2155839.js → a61d05354348385f41b5.js} +1 -1
  111. package/assets/esri/core/workers/chunks/af917f69d9c6e9937263.js +1 -0
  112. package/assets/esri/core/workers/chunks/b18620fc15707e4413a1.js +1 -0
  113. package/assets/esri/core/workers/chunks/b1baf39daf5725404be5.js +1 -0
  114. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
  115. package/assets/esri/core/workers/chunks/{39a6fe4cdb205f4925fb.js → b68bddd0c4ca91493543.js} +1 -1
  116. package/assets/esri/core/workers/chunks/bc50585615f07d5ec1a9.js +1 -0
  117. package/assets/esri/core/workers/chunks/bf9bc52a3c559108c19a.js +2 -0
  118. package/assets/esri/core/workers/chunks/{b5d4255db21dfd3b3b13.js.LICENSE.txt → bf9bc52a3c559108c19a.js.LICENSE.txt} +1 -1
  119. package/assets/esri/core/workers/chunks/c04091eea7089dc2e864.js +1 -0
  120. package/assets/esri/core/workers/chunks/{b9369c5415f5b3bda5cf.js → c1d80a709148e3373a82.js} +1 -1
  121. package/assets/esri/core/workers/chunks/c249ad935f54d3b49ae3.js +1 -0
  122. package/assets/esri/core/workers/chunks/{759618564e68fc09dc36.js → c57b9f2b9c229e68919d.js} +1 -1
  123. package/assets/esri/core/workers/chunks/c74441fbe0f63633796f.js +1 -0
  124. package/assets/esri/core/workers/chunks/{7fd48f0a2b35779e680a.js → c7a94e569c905f97244a.js} +1 -1
  125. package/assets/esri/core/workers/chunks/c80d542935803bf869f8.js +1 -0
  126. package/assets/esri/core/workers/chunks/{bc0183350841e09d71fa.js → c8a0089e080140db9076.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{d71a5c029fc9f4820589.js → cee3a38b92a48a58c4d0.js} +1 -1
  128. package/assets/esri/core/workers/chunks/d1678945cf6a58f76863.js +1 -0
  129. package/assets/esri/core/workers/chunks/{9ed1691eab19dfb1cf04.js → d1718ad93e3271b0525e.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{d5b373fe244e5dce1548.js → d27a199fd8e2ade69254.js} +1 -1
  131. package/assets/esri/core/workers/chunks/d3a8aabdbfb59dd433e3.js +1 -0
  132. package/assets/esri/core/workers/chunks/d599ba865da87b487b1b.js +1 -0
  133. package/assets/esri/core/workers/chunks/da1157e288dbc6ba842a.js +1 -0
  134. package/assets/esri/core/workers/chunks/{8584ccce34972e28c040.js → da77eefaad83c0644380.js} +1 -1
  135. package/assets/esri/core/workers/chunks/dd46ec81cebe1a0a7b9c.js +1 -0
  136. package/assets/esri/core/workers/chunks/dd9be173cddc16a354ed.js +1 -0
  137. package/assets/esri/core/workers/chunks/debfb75a94b66b58cbbc.js +1 -0
  138. package/assets/esri/core/workers/chunks/{5a83f90b55a5efbe1ef2.js → df3d1a8d3f11d52eb30d.js} +1 -1
  139. package/assets/esri/core/workers/chunks/e0de91eacf3a3b7eda55.js +51 -0
  140. package/assets/esri/core/workers/chunks/e444ec05a8a1dfbd21a8.js +1 -0
  141. package/assets/esri/core/workers/chunks/e4651d577d297386268e.js +1 -0
  142. package/assets/esri/core/workers/chunks/e468bf4ec7402942ad8c.js +1 -0
  143. package/assets/esri/core/workers/chunks/f200dca22f9f9bbb8670.js +1 -0
  144. package/assets/esri/core/workers/chunks/f2fae056a81f12b56b04.js +1 -0
  145. package/assets/esri/core/workers/chunks/f429d95eb986f3d215f3.js +1 -0
  146. package/assets/esri/core/workers/chunks/f8367c21fa91435c7c53.js +1 -0
  147. package/assets/esri/themes/base/_Ui.scss +6 -0
  148. package/assets/esri/themes/base/_mixins.scss +0 -7
  149. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +0 -2
  150. package/assets/esri/themes/base/widgets/_Bookmarks.scss +0 -5
  151. package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +0 -2
  152. package/assets/esri/themes/base/widgets/_Features.scss +0 -5
  153. package/assets/esri/themes/base/widgets/_LayerList.scss +0 -2
  154. package/assets/esri/themes/base/widgets/_TableList.scss +0 -2
  155. package/assets/esri/themes/dark/main.css +1 -1
  156. package/assets/esri/themes/light/main.css +1 -1
  157. package/assets/esri/themes/light/view.css +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  160. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm.json +1 -1
  161. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  162. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  163. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  164. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  165. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  166. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  167. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  168. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  169. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_en.json +1 -1
  170. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  171. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  172. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  173. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  174. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  175. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  176. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  177. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  178. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  179. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  180. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  181. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  182. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  183. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  184. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
  185. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  186. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  187. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  188. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  189. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  190. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  191. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  192. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  193. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  194. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  195. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  196. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  197. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  198. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  199. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  200. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  201. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  202. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  203. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  204. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  205. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  206. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  207. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  208. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  209. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  210. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  211. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  212. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  213. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  214. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  215. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  216. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  217. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  218. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  219. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  220. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  221. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  222. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  223. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  224. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  225. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  226. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  227. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  228. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  229. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  230. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  231. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  232. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  233. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  234. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  235. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  236. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  237. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  238. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  240. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  241. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  242. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  243. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  244. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  245. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  246. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  247. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  248. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  249. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  250. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  251. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  252. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  253. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  254. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  255. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  256. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  257. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  258. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  259. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  260. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  261. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  262. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  263. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  264. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  265. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  266. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  267. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  268. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  269. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  270. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  271. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  272. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  273. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  274. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  275. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  276. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  277. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  278. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  279. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  280. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  281. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  282. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  283. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  284. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  285. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  286. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  287. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  288. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  289. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  290. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  291. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  292. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  293. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  294. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  295. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  296. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  297. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  298. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  299. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  300. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  301. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_no.json +1 -1
  302. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  303. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  304. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  305. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  306. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  307. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  308. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  309. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  310. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  311. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  312. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  313. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  314. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  315. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  316. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  317. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  318. package/chunks/AtmosphereCompositing.glsl.js +2 -2
  319. package/chunks/BlendLayers.glsl.js +1 -1
  320. package/chunks/BlendWeights.glsl.js +1 -1
  321. package/chunks/BloomBlur.glsl.js +23 -23
  322. package/chunks/BloomComposition.glsl.js +3 -3
  323. package/chunks/BloomDepthAdjust.glsl.js +2 -2
  324. package/chunks/Blur.glsl.js +1 -1
  325. package/chunks/Bufferer-DjC-SKTJ.js +5 -0
  326. package/chunks/ChapmanAtmosphere.glsl.js +2 -2
  327. package/chunks/CheckerBoard.glsl.js +2 -2
  328. package/chunks/Clouds.glsl.js +14 -14
  329. package/chunks/CloudsComposition.glsl.js +1 -1
  330. package/chunks/ColorMaterial.glsl.js +1 -1
  331. package/chunks/ComponentShader.glsl.js +4 -4
  332. package/chunks/Compositing.glsl.js +2 -2
  333. package/chunks/DefaultMaterial.glsl.js +16 -15
  334. package/chunks/{Distance2DCalculator-C9BrfErD.js → Distance2DCalculator-8-JrFGHH.js} +1 -1
  335. package/chunks/EdgeDetect.glsl.js +2 -2
  336. package/chunks/EdgeShader.glsl.js +2 -2
  337. package/chunks/Envelope.js +1 -1
  338. package/chunks/FocusAreaColor.glsl.js +2 -2
  339. package/chunks/FocusAreaMask.glsl.js +1 -1
  340. package/chunks/Fog.glsl.js +3 -3
  341. package/chunks/GeodeticDistanceCalculator-BsWHOuqE.js +5 -0
  342. package/chunks/Geometry.js +1 -1
  343. package/chunks/HUDCompositing.glsl.js +1 -1
  344. package/chunks/HUDMaterial.glsl.js +24 -24
  345. package/chunks/Haze.glsl.js +3 -3
  346. package/chunks/HazeCompositing.glsl.js +2 -2
  347. package/chunks/Heatmap.glsl.js +1 -1
  348. package/chunks/HeatmapDensity.glsl.js +5 -5
  349. package/chunks/HighlightApply.glsl.js +2 -2
  350. package/chunks/HighlightDownsample.glsl.js +2 -2
  351. package/chunks/HighlightToSingle.glsl.js +2 -2
  352. package/chunks/ImageMaterial.glsl.js +4 -4
  353. package/chunks/LaserlinePath.glsl.js +1 -1
  354. package/chunks/Laserlines.glsl.js +1 -1
  355. package/chunks/LineCallout.glsl.js +1 -1
  356. package/chunks/LineMarker.glsl.js +8 -8
  357. package/chunks/Magnifier.glsl.js +4 -4
  358. package/chunks/MeasurementArrow.glsl.js +2 -2
  359. package/chunks/NativeLine.glsl.js +4 -4
  360. package/chunks/NoiseTextureAtlas.glsl.js +34 -34
  361. package/chunks/OITBlend.glsl.js +3 -3
  362. package/chunks/OperatorClip.js +1 -1
  363. package/chunks/OperatorCut.js +1 -1
  364. package/chunks/OperatorGeneralize.js +1 -1
  365. package/chunks/OperatorGeodesicBuffer.js +1 -1
  366. package/chunks/OperatorGeodeticArea.js +1 -1
  367. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  368. package/chunks/OperatorGeodeticDistance.js +1 -1
  369. package/chunks/OperatorGeodeticLength.js +1 -1
  370. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  371. package/chunks/OperatorProximity.js +1 -1
  372. package/chunks/OperatorProximityGeodesic.js +1 -1
  373. package/chunks/OperatorShapePreservingLength.js +1 -1
  374. package/chunks/OperatorShapePreservingProject.js +1 -1
  375. package/chunks/OverlayCompositing.glsl.js +1 -1
  376. package/chunks/Path.glsl.js +9 -9
  377. package/chunks/Pattern.glsl.js +3 -3
  378. package/chunks/Point2D.js +1 -1
  379. package/chunks/PointRenderer.glsl.js +1 -1
  380. package/chunks/Precipitation.glsl.js +1 -1
  381. package/chunks/ProjectionTransformation.js +1 -1
  382. package/chunks/QuadraticBezier.js +1 -1
  383. package/chunks/RasterColorizer.glsl.js +9 -9
  384. package/chunks/RealisticTree.glsl.js +3 -3
  385. package/chunks/RibbonLine.glsl.js +32 -32
  386. package/chunks/SSAO.glsl.js +2 -2
  387. package/chunks/SSAOBlur.glsl.js +1 -1
  388. package/chunks/ShadedColorMaterial.glsl.js +3 -3
  389. package/chunks/ShadowCastAccumulate.glsl.js +2 -2
  390. package/chunks/ShadowCastVisualize.glsl.js +4 -4
  391. package/chunks/ShadowHighlight.glsl.js +2 -2
  392. package/chunks/{SideCalculator2D-Bf4QCxCR.js → SideCalculator2D-BNwb5gvz.js} +1 -1
  393. package/chunks/SimpleAtmosphere.glsl.js +8 -8
  394. package/chunks/SingleHighlightApply.glsl.js +1 -1
  395. package/chunks/SingleHighlightBlur.glsl.js +6 -7
  396. package/chunks/SlicePlaneMaterial.glsl.js +2 -2
  397. package/chunks/Stars.glsl.js +2 -2
  398. package/chunks/Terrain.glsl.js +2 -2
  399. package/chunks/TextureOnly.glsl.js +2 -2
  400. package/chunks/Viewshed.glsl.js +2 -2
  401. package/chunks/WaterSurface.glsl.js +7 -7
  402. package/chunks/distanceOperator.js +1 -1
  403. package/chunks/relateOperator.js +1 -1
  404. package/core/QueueProcessor.js +5 -0
  405. package/core/accessorSupport/decorators.d.ts +4 -2
  406. package/core/has.js +1 -1
  407. package/core/jsonMap.js +1 -1
  408. package/core/lang.d.ts +1 -2
  409. package/core/libs/gl-matrix-2/factories/vec2f64.js +1 -1
  410. package/core/mathUtils.js +1 -1
  411. package/core/promiseUtils.d.ts +5 -2
  412. package/core/quantity.d.ts +3 -2
  413. package/core/reactiveUtils.d.ts +5 -2
  414. package/core/scheduling.d.ts +2 -2
  415. package/core/sql/WhereClauseCache.js +1 -1
  416. package/core/sql.d.ts +1 -2
  417. package/core/sql.js +1 -1
  418. package/core/units.d.ts +9 -2
  419. package/core/urlUtils.d.ts +5 -2
  420. package/core/workers.d.ts +1 -2
  421. package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
  422. package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
  423. package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
  424. package/editing/sharedTemplates/executor/builders/connectionPoint.js +1 -1
  425. package/editing/sharedTemplates/executor/builders/equallySpaced.js +1 -1
  426. package/editing/sharedTemplates/executor/builders/offsetLine.js +1 -1
  427. package/editing/sharedTemplates/executor/builders/offsetPrimaryLine.js +1 -1
  428. package/editing/sharedTemplates/executor/builders/pointAtAllVerticesOfLine.js +1 -1
  429. package/editing/sharedTemplates/executor/builders/pointAtBeginningOfLine.js +1 -1
  430. package/editing/sharedTemplates/executor/builders/pointAtBeginningOfRadial.js +1 -1
  431. package/editing/sharedTemplates/executor/builders/pointAtEndOfLine.js +1 -1
  432. package/editing/sharedTemplates/executor/builders/pointAtInteriorVertices.js +1 -1
  433. package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
  434. package/editing/sharedTemplates/executor/builders/pointAtNotBeginningOfLine.js +1 -1
  435. package/editing/sharedTemplates/executor/builders/pointAtNotEndOfLine.js +1 -1
  436. package/editing/sharedTemplates/executor/builders/pointAtPolygonCentroid.js +1 -1
  437. package/editing/sharedTemplates/executor/builders/pointAtPolygonNotStart.js +1 -1
  438. package/editing/sharedTemplates/executor/builders/pointAtPolygonStart.js +1 -1
  439. package/editing/sharedTemplates/executor/builders/pointIdentity.js +1 -1
  440. package/editing/sharedTemplates/executor/builders/pointPrimaryIdentity.js +1 -1
  441. package/editing/sharedTemplates/executor/builders/polygonBoundary.js +1 -1
  442. package/editing/sharedTemplates/executor/builders/polygonBoundaryTwoPoint.js +1 -1
  443. package/editing/sharedTemplates/executor/builders/polygonIdentity.js +1 -1
  444. package/editing/sharedTemplates/executor/builders/polygonPrimaryIdentity.js +1 -1
  445. package/editing/sharedTemplates/executor/builders/polygonVertices.js +1 -1
  446. package/editing/sharedTemplates/executor/builders/radialLines.js +1 -1
  447. package/editing/sharedTemplates/executor/builders/twoPointLines.js +1 -1
  448. package/editing/sharedTemplates/executor/createTemplateExecutor.js +5 -0
  449. package/editing/sharedTemplates/executor/support/createServiceEdit.js +1 -1
  450. package/editing/sharedTemplates/executor/support/executorUtils.js +1 -1
  451. package/editing/sharedTemplates/executor/support/getBuilder.js +5 -0
  452. package/editing/templateUtils.js +1 -1
  453. package/form/elements/inputs.d.ts +11 -2
  454. package/form/elements.d.ts +7 -2
  455. package/geometry/coordinateFormatter.d.ts +11 -2
  456. package/geometry/geometryEngine.d.ts +37 -2
  457. package/geometry/geometryEngineAsync.d.ts +37 -2
  458. package/geometry/operators/affineTransformOperator.d.ts +3 -2
  459. package/geometry/operators/alphaShapeOperator.d.ts +3 -2
  460. package/geometry/operators/areaOperator.d.ts +2 -2
  461. package/geometry/operators/autoCompleteOperator.d.ts +2 -2
  462. package/geometry/operators/boundaryOperator.d.ts +3 -2
  463. package/geometry/operators/bufferOperator.d.ts +3 -2
  464. package/geometry/operators/centroidOperator.d.ts +2 -2
  465. package/geometry/operators/clipOperator.d.ts +3 -2
  466. package/geometry/operators/containsOperator.d.ts +3 -2
  467. package/geometry/operators/convexHullOperator.d.ts +4 -2
  468. package/geometry/operators/crossesOperator.d.ts +3 -2
  469. package/geometry/operators/cutOperator.d.ts +2 -2
  470. package/geometry/operators/densifyOperator.d.ts +3 -2
  471. package/geometry/operators/differenceOperator.d.ts +3 -2
  472. package/geometry/operators/disjointOperator.d.ts +3 -2
  473. package/geometry/operators/distanceOperator.d.ts +2 -2
  474. package/geometry/operators/equalsOperator.d.ts +3 -2
  475. package/geometry/operators/extendOperator.d.ts +2 -2
  476. package/geometry/operators/extendOperator.js +1 -1
  477. package/geometry/operators/generalizeOperator.d.ts +3 -2
  478. package/geometry/operators/geodesicBufferOperator.d.ts +5 -2
  479. package/geometry/operators/geodesicProximityOperator.d.ts +6 -2
  480. package/geometry/operators/geodeticAreaOperator.d.ts +4 -2
  481. package/geometry/operators/geodeticDensifyOperator.d.ts +5 -2
  482. package/geometry/operators/geodeticDistanceOperator.d.ts +4 -2
  483. package/geometry/operators/geodeticLengthOperator.d.ts +4 -2
  484. package/geometry/operators/graphicBufferOperator.d.ts +2 -2
  485. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  486. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  487. package/geometry/operators/gx/operatorBoundary.js +1 -1
  488. package/geometry/operators/gx/operatorBuffer.js +1 -1
  489. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  490. package/geometry/operators/gx/operatorDifference.js +1 -1
  491. package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
  492. package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
  493. package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
  494. package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
  495. package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
  496. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  497. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  498. package/geometry/operators/gx/operatorIntersection.js +1 -1
  499. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  500. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  501. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  502. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  503. package/geometry/operators/gx/operatorOffset.js +1 -1
  504. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  505. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  506. package/geometry/operators/gx/operatorProject.js +1 -1
  507. package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
  508. package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
  509. package/geometry/operators/gx/operatorSimplify.js +1 -1
  510. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  511. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  512. package/geometry/operators/gx/operatorUnion.js +1 -1
  513. package/geometry/operators/integrateOperator.d.ts +2 -2
  514. package/geometry/operators/intersectionOperator.d.ts +4 -2
  515. package/geometry/operators/intersectsOperator.d.ts +3 -2
  516. package/geometry/operators/isNearOperator.d.ts +2 -2
  517. package/geometry/operators/isNearOperator.js +1 -1
  518. package/geometry/operators/labelPointOperator.d.ts +3 -2
  519. package/geometry/operators/lengthOperator.d.ts +2 -2
  520. package/geometry/operators/linesToPolygonsOperator.d.ts +2 -2
  521. package/geometry/operators/locateBetweenOperator.d.ts +2 -2
  522. package/geometry/operators/minimumBoundingCircleOperator.d.ts +3 -2
  523. package/geometry/operators/multiPartToSinglePartOperator.d.ts +2 -2
  524. package/geometry/operators/offsetOperator.d.ts +3 -2
  525. package/geometry/operators/overlapsOperator.d.ts +3 -2
  526. package/geometry/operators/polygonOverlayOperator.d.ts +2 -2
  527. package/geometry/operators/polygonSlicerOperator.d.ts +4 -2
  528. package/geometry/operators/projectOperator.d.ts +5 -2
  529. package/geometry/operators/projectOperator.js +1 -1
  530. package/geometry/operators/proximityOperator.d.ts +4 -2
  531. package/geometry/operators/relateOperator.d.ts +4 -2
  532. package/geometry/operators/reshapeOperator.d.ts +2 -2
  533. package/geometry/operators/reshapeOperator.js +1 -1
  534. package/geometry/operators/shapePreservingProjectOperator.d.ts +5 -2
  535. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  536. package/geometry/operators/simplifyOperator.d.ts +4 -2
  537. package/geometry/operators/support/geographicTransformationUtils.d.ts +4 -2
  538. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  539. package/geometry/operators/support/initNoPeFactory.js +1 -1
  540. package/geometry/operators/support/jsonConverter.js +1 -1
  541. package/geometry/operators/symmetricDifferenceOperator.d.ts +3 -2
  542. package/geometry/operators/touchesOperator.d.ts +3 -2
  543. package/geometry/operators/unionOperator.d.ts +3 -2
  544. package/geometry/operators/withinOperator.d.ts +3 -2
  545. package/geometry/projection.d.ts +5 -2
  546. package/geometry/support/geodesicUtils.d.ts +5 -2
  547. package/geometry/support/jsonUtils.d.ts +2 -2
  548. package/geometry/support/meshUtils.d.ts +6 -2
  549. package/geometry/support/normalizeUtils.d.ts +2 -2
  550. package/geometry/support/scaleUtils.js +1 -1
  551. package/geometry/support/webMercatorUtils.d.ts +6 -2
  552. package/geometry.d.ts +7 -2
  553. package/interfaces.d.ts +72 -94
  554. package/intl.d.ts +16 -2
  555. package/kernel.d.ts +2 -2
  556. package/layers/ImageryLayer.js +1 -1
  557. package/layers/ImageryTileLayer.js +1 -1
  558. package/layers/LinkChartLayer.js +1 -1
  559. package/layers/catalog/catalogUtils.d.ts +2 -2
  560. package/layers/graphics/OptimizedGeometry.js +1 -1
  561. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  562. package/layers/graphics/sources/ParquetSource.js +1 -1
  563. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  564. package/layers/knowledgeGraph/cypherUtils.d.ts +1 -2
  565. package/layers/knowledgeGraph/layerUtils.js +1 -1
  566. package/layers/knowledgeGraph/supportUtils.d.ts +4 -2
  567. package/layers/mixins/APIKeyMixin.d.ts +1 -1
  568. package/layers/mixins/ArcGISCachedService.d.ts +1 -1
  569. package/layers/mixins/ArcGISImageService.d.ts +1 -1
  570. package/layers/mixins/ArcGISMapService.d.ts +1 -1
  571. package/layers/mixins/BlendLayer.d.ts +1 -1
  572. package/layers/mixins/CustomParametersMixin.d.ts +1 -1
  573. package/layers/mixins/DisplayFilteredLayer.d.ts +1 -1
  574. package/layers/mixins/FeatureEffectLayer.d.ts +1 -1
  575. package/layers/mixins/FeatureLayerBase.d.ts +1 -1
  576. package/layers/mixins/FeatureReductionLayer.d.ts +1 -1
  577. package/layers/mixins/ImageryTileMixin.d.ts +1 -1
  578. package/layers/mixins/ImageryTileMixin.js +1 -1
  579. package/layers/mixins/OperationalLayer.d.ts +1 -1
  580. package/layers/mixins/OrderedLayer.d.ts +1 -1
  581. package/layers/mixins/PortalLayer.d.ts +1 -1
  582. package/layers/mixins/PublishableLayer.d.ts +1 -1
  583. package/layers/mixins/RasterPresetRendererMixin.d.ts +1 -1
  584. package/layers/mixins/RefreshableLayer.d.ts +1 -1
  585. package/layers/mixins/ScaleRangeLayer.d.ts +1 -1
  586. package/layers/mixins/SceneService.d.ts +1 -1
  587. package/layers/mixins/SublayersOwner.d.ts +1 -1
  588. package/layers/mixins/TemporalLayer.d.ts +1 -1
  589. package/layers/mixins/TemporalSceneLayer.d.ts +1 -1
  590. package/layers/ogc/wcsUtils.d.ts +1 -2
  591. package/layers/ogc/wfsUtils.d.ts +2 -2
  592. package/layers/orientedImagery/transformations/imageToWorld.d.ts +1 -2
  593. package/layers/orientedImagery/transformations/worldToImage.d.ts +1 -2
  594. package/layers/support/DisplayFilterInfo.js +1 -1
  595. package/layers/support/Sublayer.js +1 -1
  596. package/layers/support/TrackInfo.js +1 -1
  597. package/layers/support/TrackPartInfo.js +5 -0
  598. package/layers/support/arcadeUtils.d.ts +1 -2
  599. package/layers/support/arcadeUtils.js +1 -1
  600. package/layers/support/csvUtils.d.ts +1 -2
  601. package/layers/support/displayFilterUtils.js +1 -1
  602. package/layers/support/featureLayerUtils.js +1 -1
  603. package/layers/support/fieldUtils.d.ts +8 -2
  604. package/layers/support/fieldUtils.js +1 -1
  605. package/layers/support/layerOriginUtils.js +1 -1
  606. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  607. package/layers/support/rasterFieldUtils.js +1 -1
  608. package/layers/support/rasterFunctionConstants.d.ts +15 -2
  609. package/layers/support/rasterFunctionUtils.d.ts +105 -2
  610. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  611. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  612. package/package.json +3 -3
  613. package/pointCloudRenderers.d.ts +5 -2
  614. package/popup/content.d.ts +9 -2
  615. package/rasterRenderers.d.ts +7 -2
  616. package/renderers/mixins/VisualVariablesMixin.d.ts +1 -1
  617. package/renderers/support/jsonUtils.d.ts +1 -2
  618. package/renderers/support/utils.d.ts +2 -2
  619. package/renderers.d.ts +9 -2
  620. package/request.js +1 -1
  621. package/rest/closestFacility.d.ts +1 -2
  622. package/rest/featureService/utils.d.ts +1 -2
  623. package/rest/find.d.ts +1 -2
  624. package/rest/geometryService.d.ts +21 -2
  625. package/rest/geoprocessor.d.ts +2 -2
  626. package/rest/identify.d.ts +1 -2
  627. package/rest/imageService.d.ts +19 -2
  628. package/rest/knowledgeGraphService.d.ts +11 -2
  629. package/rest/knowledgeGraphService.js +1 -1
  630. package/rest/locator.d.ts +4 -2
  631. package/rest/networkService.d.ts +1 -2
  632. package/rest/networks/queryAssociations.d.ts +1 -2
  633. package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -2
  634. package/rest/networks/trace.d.ts +1 -2
  635. package/rest/places.d.ts +3 -2
  636. package/rest/print.d.ts +2 -2
  637. package/rest/query.d.ts +11 -2
  638. package/rest/route.d.ts +1 -2
  639. package/rest/serviceArea.d.ts +1 -2
  640. package/rest/symbolService.d.ts +1 -2
  641. package/smartMapping/labels/bins.d.ts +1 -2
  642. package/smartMapping/labels/clusters.d.ts +1 -2
  643. package/smartMapping/popup/clusters.d.ts +1 -2
  644. package/smartMapping/popup/templates.d.ts +1 -2
  645. package/smartMapping/raster/renderers/classBreaks.d.ts +1 -2
  646. package/smartMapping/raster/renderers/colormap.d.ts +1 -2
  647. package/smartMapping/raster/renderers/flow.d.ts +1 -2
  648. package/smartMapping/raster/renderers/rgb.d.ts +1 -2
  649. package/smartMapping/raster/renderers/shadedRelief.d.ts +1 -2
  650. package/smartMapping/raster/renderers/stretch.d.ts +1 -2
  651. package/smartMapping/raster/renderers/uniqueValue.d.ts +1 -2
  652. package/smartMapping/raster/renderers/vectorField.d.ts +1 -2
  653. package/smartMapping/raster/support/colorRamps.d.ts +5 -2
  654. package/smartMapping/raster/support/utils.d.ts +2 -2
  655. package/smartMapping/renderers/color.d.ts +6 -2
  656. package/smartMapping/renderers/dotDensity.d.ts +1 -2
  657. package/smartMapping/renderers/dotDensity.js +1 -1
  658. package/smartMapping/renderers/heatmap.d.ts +2 -2
  659. package/smartMapping/renderers/heatmap.js +1 -1
  660. package/smartMapping/renderers/location.d.ts +1 -2
  661. package/smartMapping/renderers/opacity.d.ts +1 -2
  662. package/smartMapping/renderers/pieChart.d.ts +2 -2
  663. package/smartMapping/renderers/predominance.d.ts +1 -2
  664. package/smartMapping/renderers/relationship.d.ts +2 -2
  665. package/smartMapping/renderers/size.d.ts +5 -2
  666. package/smartMapping/renderers/support/rendererUtils.d.ts +1 -2
  667. package/smartMapping/renderers/type.d.ts +2 -2
  668. package/smartMapping/renderers/univariateColorSize.d.ts +2 -2
  669. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  670. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  671. package/smartMapping/statistics/support/ageUtils.d.ts +1 -2
  672. package/smartMapping/statistics/support/predominanceUtils.d.ts +1 -2
  673. package/smartMapping/support/adapters/CSVLayerAdapter.js +1 -1
  674. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  675. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  676. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  677. package/smartMapping/support/adapters/LayerAdapter.js +1 -1
  678. package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
  679. package/smartMapping/support/adapters/PointCloudLayerAdapter.js +1 -1
  680. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  681. package/smartMapping/support/adapters/StreamLayerAdapter.js +1 -1
  682. package/smartMapping/support/adapters/support/histogramUtils.js +5 -0
  683. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  684. package/smartMapping/support/adapters/support/utils.js +1 -1
  685. package/smartMapping/symbology/color.d.ts +7 -2
  686. package/smartMapping/symbology/dotDensity.d.ts +4 -2
  687. package/smartMapping/symbology/flow.d.ts +5 -2
  688. package/smartMapping/symbology/heatmap.d.ts +5 -2
  689. package/smartMapping/symbology/location.d.ts +3 -2
  690. package/smartMapping/symbology/pieChart.d.ts +5 -2
  691. package/smartMapping/symbology/predominance.d.ts +5 -2
  692. package/smartMapping/symbology/relationship.d.ts +5 -2
  693. package/smartMapping/symbology/size.d.ts +3 -2
  694. package/smartMapping/symbology/support/colorRamps.d.ts +4 -2
  695. package/smartMapping/symbology/type.d.ts +5 -2
  696. package/support/LayersMixin.d.ts +1 -1
  697. package/support/TablesMixin.d.ts +1 -1
  698. package/support/featureFlags.js +1 -1
  699. package/support/popupUtils.d.ts +4 -2
  700. package/support/revision.js +1 -1
  701. package/support/timeUtils.d.ts +3 -2
  702. package/symbols/support/cimConversionUtils.d.ts +1 -2
  703. package/symbols/support/cimSymbolUtils.d.ts +6 -2
  704. package/symbols/support/jsonUtils.d.ts +1 -2
  705. package/symbols/support/symbolUtils.d.ts +7 -2
  706. package/symbols.d.ts +29 -2
  707. package/tables/elements.d.ts +5 -2
  708. package/unionTypes.d.ts +12 -2
  709. package/versionManagement/utils.d.ts +2 -2
  710. package/versionManagement/versionAdapters/utils.d.ts +2 -2
  711. package/views/2d/engine/webgl/TextureManager.js +1 -1
  712. package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
  713. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  714. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  715. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerTechnique.js +1 -1
  716. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  717. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  718. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  719. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
  720. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  721. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
  722. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
  723. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
  724. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
  725. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  726. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TestShader.js +1 -1
  727. package/views/2d/engine/webgl/util/LabelMatcher.js +1 -1
  728. package/views/2d/engine/webgl/util/Matcher.js +1 -1
  729. package/views/2d/engine/webgl/util/createMatcher.js +1 -1
  730. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  731. package/views/2d/layers/MediaLayerView2D.js +1 -1
  732. package/views/2d/layers/SubtypeGroupLayerView2D.js +1 -1
  733. package/views/2d/layers/TileLayerView2D.js +1 -1
  734. package/views/2d/layers/features/Processor.js +1 -1
  735. package/views/2d/layers/features/ProcessorTileMessageQueue.js +1 -1
  736. package/views/2d/layers/features/aggregation/AAggregateSpatialIndex.js +1 -1
  737. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  738. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  739. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  740. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  741. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  742. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  743. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  744. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  745. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  746. package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
  747. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  748. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  749. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  750. package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
  751. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  752. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  753. package/views/2d/layers/features/schema/processor/StorageSchema.js +1 -1
  754. package/views/2d/layers/features/schema/processor/SubtypeProcessorSchema.js +1 -1
  755. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  756. package/views/2d/layers/features/sources/strategies/AFetchLoadStrategy.js +1 -1
  757. package/views/2d/layers/features/sources/strategies/DrillDownTileLoadStrategy.js +1 -1
  758. package/views/2d/layers/features/sources/strategies/PagedTileLoadStrategy.js +1 -1
  759. package/views/2d/layers/features/sources/strategies/ParquetLoadStrategy.js +1 -1
  760. package/views/2d/layers/features/sources/strategies/SnapshotLoadStrategy.js +1 -1
  761. package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
  762. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  763. package/views/2d/layers/features/support/FeatureFilterEvaluator.js +5 -0
  764. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  765. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  766. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  767. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  768. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  769. package/views/2d/layers/features/support/whereUtils.js +1 -1
  770. package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
  771. package/views/2d/tiling/TileQueue.js +1 -1
  772. package/views/3d/environment/ChapmanApproximation.glsl.js +3 -3
  773. package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
  774. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  775. package/views/3d/environment/ChapmanRaymarching.glsl.js +4 -4
  776. package/views/3d/environment/Clouds.glsl.js +1 -1
  777. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  778. package/views/3d/environment/CloudsComposition.js +1 -1
  779. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  780. package/views/3d/environment/Fog.glsl.js +1 -1
  781. package/views/3d/environment/Fog.js +1 -1
  782. package/views/3d/environment/LocalAtmosphere.js +1 -1
  783. package/views/3d/environment/MarsAtmosphere.js +1 -1
  784. package/views/3d/environment/NoiseTextureAtlas.glsl.js +1 -1
  785. package/views/3d/environment/Precipitation.glsl.js +1 -1
  786. package/views/3d/environment/Precipitation.js +1 -1
  787. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  788. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  789. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  790. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  791. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  792. package/views/3d/layers/SceneLayerWorker.js +1 -1
  793. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  794. package/views/3d/layers/graphics/Labeler.js +1 -1
  795. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  796. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  797. package/views/3d/layers/graphics/pipeline/Tile.js +1 -1
  798. package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
  799. package/views/3d/layers/graphics/pipeline/featureData/FeatureData.js +1 -1
  800. package/views/3d/layers/graphics/pipeline/featureData/FeatureDataStore.js +1 -1
  801. package/views/3d/layers/graphics/pipeline/featureSet/PBFPointFeatureSetView.js +1 -1
  802. package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
  803. package/views/3d/layers/graphics/pipeline/fetching/Tile3DFetcher.js +1 -1
  804. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  805. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  806. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  807. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  808. package/views/3d/support/PBFDecoder.js +1 -1
  809. package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
  810. package/views/3d/webgl/RenderNode.js +1 -1
  811. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  812. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
  813. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  814. package/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js +2 -2
  815. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  816. package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
  817. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -1
  818. package/views/3d/webgl-engine/core/shaderLibrary/HighlightCellGridScreenSpacePass.glsl.js +1 -1
  819. package/views/3d/webgl-engine/core/shaderLibrary/HighlightReadBitmap.glsl.js +2 -2
  820. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +3 -3
  821. package/views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js +1 -1
  822. package/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js +2 -2
  823. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +1 -1
  824. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js +2 -2
  825. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +3 -3
  826. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
  827. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +9 -9
  828. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +1 -1
  829. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
  830. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
  831. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js +1 -1
  832. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
  833. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +2 -2
  834. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
  835. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
  836. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +1 -1
  837. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
  838. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +1 -1
  839. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +2 -2
  840. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +2 -2
  841. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  842. package/views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js +3 -3
  843. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  844. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +1 -1
  845. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js +1 -1
  846. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +3 -3
  847. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +1 -1
  848. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +3 -3
  849. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +2 -2
  850. package/views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js +1 -1
  851. package/views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js +2 -2
  852. package/views/3d/webgl-engine/core/shaderLibrary/raster/Projection.glsl.js +1 -1
  853. package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
  854. package/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js +1 -1
  855. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +1 -1
  856. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +1 -1
  857. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +2 -2
  858. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +4 -4
  859. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +1 -1
  860. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +1 -1
  861. package/views/3d/webgl-engine/core/shaderLibrary/shading/FoamRendering.glsl.js +1 -1
  862. package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +4 -4
  863. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +1 -1
  864. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  865. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +1 -1
  866. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +1 -1
  867. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
  868. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +1 -1
  869. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +1 -1
  870. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +7 -7
  871. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +2 -2
  872. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  873. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +1 -1
  874. package/views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js +2 -2
  875. package/views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js +1 -1
  876. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
  877. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
  878. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
  879. package/views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js +1 -1
  880. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  881. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
  882. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +6 -6
  883. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js +1 -1
  884. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
  885. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +1 -1
  886. package/views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js +2 -2
  887. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
  888. package/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js +1 -1
  889. package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +1 -1
  890. package/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js +1 -1
  891. package/views/3d/webgl-engine/core/shaderLibrary/util/IsNaN.glsl.js +2 -2
  892. package/views/3d/webgl-engine/core/shaderLibrary/util/LocalFromScreenSpace.glsl.js +2 -2
  893. package/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js +1 -1
  894. package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +1 -1
  895. package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js +1 -1
  896. package/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js +1 -1
  897. package/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js +1 -1
  898. package/views/3d/webgl-engine/core/shaderLibrary/util/TextureOnly.glsl.js +1 -1
  899. package/views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js +1 -1
  900. package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +1 -1
  901. package/views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js +1 -1
  902. package/views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js +1 -1
  903. package/views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js +1 -1
  904. package/views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js +1 -1
  905. package/views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js +1 -1
  906. package/views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js +1 -1
  907. package/views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js +1 -1
  908. package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +1 -1
  909. package/views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js +1 -1
  910. package/views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js +1 -1
  911. package/views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js +1 -1
  912. package/views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js +1 -1
  913. package/views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js +1 -1
  914. package/views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js +1 -1
  915. package/views/3d/webgl-engine/core/shaderModules/Integer2BindUniform.js +1 -1
  916. package/views/3d/webgl-engine/core/shaderModules/Integer2PassUniform.js +1 -1
  917. package/views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js +1 -1
  918. package/views/3d/webgl-engine/core/shaderModules/IntegerDrawUniform.js +1 -1
  919. package/views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js +1 -1
  920. package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +1 -1
  921. package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +1 -1
  922. package/views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js +1 -1
  923. package/views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js +1 -1
  924. package/views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js +1 -1
  925. package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
  926. package/views/3d/webgl-engine/core/shaderModules/Matrix4sPassUniform.js +1 -1
  927. package/views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js +1 -1
  928. package/views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js +1 -1
  929. package/views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js +1 -1
  930. package/views/3d/webgl-engine/core/shaderModules/TextureCubeBindUniform.js +1 -1
  931. package/views/3d/webgl-engine/core/shaderModules/glsl.js +5 -0
  932. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js +1 -1
  933. package/views/3d/webgl-engine/effects/OpaqueEnvironment.js +1 -1
  934. package/views/3d/webgl-engine/effects/TransparentEnvironment.js +1 -1
  935. package/views/3d/webgl-engine/effects/bloom/BloomBlur.glsl.js +1 -1
  936. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  937. package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjust.glsl.js +1 -1
  938. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  939. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  940. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +5 -0
  941. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +5 -0
  942. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  943. package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
  944. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  945. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  946. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  947. package/views/3d/webgl-engine/effects/highlight/HighlightPassParameters.js +1 -1
  948. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  949. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  950. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  951. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  952. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  953. package/views/3d/webgl-engine/effects/smaa/SMAAPassParameters.js +1 -1
  954. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  955. package/views/3d/webgl-engine/effects/ssao/SSAOParameters.js +1 -1
  956. package/views/3d/webgl-engine/effects/stars/Stars.glsl.js +1 -1
  957. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  958. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  959. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  960. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  961. package/views/3d/webgl-engine/lib/Material.js +1 -1
  962. package/views/3d/webgl-engine/lib/Program.js +1 -1
  963. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  964. package/views/3d/webgl-engine/lib/TextureCompressionWorker.js +1 -1
  965. package/views/3d/webgl-engine/lib/TextureCompressionWorkerHandle.js +1 -1
  966. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  967. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  968. package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
  969. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  970. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  971. package/views/3d/webgl-engine/shaders/BlendWeights.glsl.js +1 -1
  972. package/views/3d/webgl-engine/shaders/Blur.glsl.js +1 -1
  973. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  974. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  975. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  976. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  977. package/views/3d/webgl-engine/shaders/EdgeDetect.glsl.js +1 -1
  978. package/views/3d/webgl-engine/shaders/FocusAreaColor.glsl.js +1 -1
  979. package/views/3d/webgl-engine/shaders/FocusAreaMask.glsl.js +1 -1
  980. package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +1 -1
  981. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  982. package/views/3d/webgl-engine/shaders/Heatmap.glsl.js +1 -1
  983. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  984. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  985. package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
  986. package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +1 -1
  987. package/views/3d/webgl-engine/shaders/HighlightToSingle.glsl.js +1 -1
  988. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  989. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  990. package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
  991. package/views/3d/webgl-engine/shaders/Laserlines.glsl.js +1 -1
  992. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  993. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  994. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
  995. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  996. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  997. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +7 -7
  998. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  999. package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
  1000. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  1001. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  1002. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  1003. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  1004. package/views/3d/webgl-engine/shaders/SSAO.glsl.js +1 -1
  1005. package/views/3d/webgl-engine/shaders/SSAOBlur.glsl.js +1 -1
  1006. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
  1007. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  1008. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  1009. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  1010. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  1011. package/views/3d/webgl-engine/shaders/SingleHighlightApply.glsl.js +1 -1
  1012. package/views/3d/webgl-engine/shaders/SingleHighlightBlur.glsl.js +1 -1
  1013. package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
  1014. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  1015. package/views/3d/webgl-engine/shaders/SphereIntersect.glsl.js +2 -2
  1016. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  1017. package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +1 -1
  1018. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  1019. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  1020. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +2 -2
  1021. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js +4 -4
  1022. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DistanceFalloff.glsl.js +2 -2
  1023. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
  1024. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +1 -1
  1025. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +3 -3
  1026. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +7 -7
  1027. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +7 -7
  1028. package/views/3d/webgl.d.ts +3 -2
  1029. package/views/BreakpointsOwner.d.ts +1 -1
  1030. package/views/DOMContainer.d.ts +1 -1
  1031. package/views/DOMContainer.js +1 -1
  1032. package/views/FocusAreas.js +1 -1
  1033. package/views/PopupView.d.ts +1 -1
  1034. package/views/View.js +1 -1
  1035. package/views/layers/FeatureLayerView.js +1 -1
  1036. package/views/layers/support/WhereClauseVisitor.js +5 -0
  1037. package/views/support/DefaultsFromMap.js +1 -1
  1038. package/views/support/{QueueProcessor.js → ScheduledQueueProcessor.js} +1 -1
  1039. package/views/support/colorUtils.d.ts +2 -2
  1040. package/views/webgl/NoParameters.js +5 -0
  1041. package/views/webgl/ShaderBuilder.js +5 -0
  1042. package/views/webgl/Texture.js +1 -1
  1043. package/views/webgl/Uniform.js +5 -0
  1044. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  1045. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  1046. package/widgets/Editor/EditorViewModel.js +1 -1
  1047. package/widgets/Editor/UpdateWorkflow.js +1 -1
  1048. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  1049. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  1050. package/widgets/Editor.js +1 -1
  1051. package/widgets/ElevationProfile/support/profileUtils.js +1 -1
  1052. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  1053. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationSettings.js +5 -0
  1054. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  1055. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  1056. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +5 -0
  1057. package/widgets/Print.js +1 -1
  1058. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  1059. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  1060. package/widgets/TimeSlider.js +1 -1
  1061. package/widgets/smartMapping/support/utils.d.ts +3 -2
  1062. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  1063. package/widgets/support/UtilityNetworkAssociations/utilityNetworkUtils.js +1 -1
  1064. package/widgets/support/widget.d.ts +8 -2
  1065. package/assets/esri/core/workers/chunks/02be905f7e9185de78c3.js +0 -1
  1066. package/assets/esri/core/workers/chunks/0b66fee87863e5775a6a.js +0 -1
  1067. package/assets/esri/core/workers/chunks/1557446aa4525705a5b2.js +0 -1
  1068. package/assets/esri/core/workers/chunks/1a8aaa92ccb90f646a8b.js +0 -1
  1069. package/assets/esri/core/workers/chunks/1dc6b5b177022b80c473.js +0 -1
  1070. package/assets/esri/core/workers/chunks/2118e9ffb24178ed7f59.js +0 -1
  1071. package/assets/esri/core/workers/chunks/25a6641938a9ccab39b7.js +0 -1
  1072. package/assets/esri/core/workers/chunks/2840705ae7fa909ab4ed.js +0 -1
  1073. package/assets/esri/core/workers/chunks/2a4c6c2e9ba103720e22.js +0 -314
  1074. package/assets/esri/core/workers/chunks/2e4f861c78ef820c0a3e.js +0 -1
  1075. package/assets/esri/core/workers/chunks/349f31a1fb489fbfe60d.js +0 -1
  1076. package/assets/esri/core/workers/chunks/34b31091e172e910d750.js +0 -1
  1077. package/assets/esri/core/workers/chunks/371c2fd9d767612bbeb2.js +0 -1
  1078. package/assets/esri/core/workers/chunks/37658a4e83a5b18acd37.js +0 -1
  1079. package/assets/esri/core/workers/chunks/39f3e202d95725f405ec.js +0 -1
  1080. package/assets/esri/core/workers/chunks/3cb56f509d8f7f340c45.js +0 -1
  1081. package/assets/esri/core/workers/chunks/4086698137db0795187f.js +0 -1
  1082. package/assets/esri/core/workers/chunks/454034bad60414a9ab7f.js +0 -1
  1083. package/assets/esri/core/workers/chunks/483787099d2ba8b8022d.js +0 -1
  1084. package/assets/esri/core/workers/chunks/4b38c008872bb9e10278.js +0 -1
  1085. package/assets/esri/core/workers/chunks/4cccca778b060d8dcd06.js +0 -1
  1086. package/assets/esri/core/workers/chunks/4e5cf2d489db2a57d3bd.js +0 -1
  1087. package/assets/esri/core/workers/chunks/4eda602a909a4773cb27.js +0 -1
  1088. package/assets/esri/core/workers/chunks/5595f19c1f332f504a81.js +0 -1
  1089. package/assets/esri/core/workers/chunks/55da04abc8e1ea93caa9.js +0 -1
  1090. package/assets/esri/core/workers/chunks/561fc48b06a43abe1cd0.js +0 -1
  1091. package/assets/esri/core/workers/chunks/576b7961fe7771dacfd9.js +0 -1
  1092. package/assets/esri/core/workers/chunks/5bb175106aee21025bc2.js +0 -1
  1093. package/assets/esri/core/workers/chunks/5c57aa9fdc4e1bab61ac.js +0 -1
  1094. package/assets/esri/core/workers/chunks/602c67fe1061ec5a3fa5.js +0 -1
  1095. package/assets/esri/core/workers/chunks/61f985a9a393803e5350.js +0 -1
  1096. package/assets/esri/core/workers/chunks/644e83f48752a34f0d1a.js +0 -1
  1097. package/assets/esri/core/workers/chunks/64f1355f7f51ecb3af95.js +0 -1
  1098. package/assets/esri/core/workers/chunks/68f5b077fc1f6f7636dd.js +0 -1
  1099. package/assets/esri/core/workers/chunks/7388b57de8926acd1fc2.js +0 -1
  1100. package/assets/esri/core/workers/chunks/76b8aa593a5279569267.js +0 -1
  1101. package/assets/esri/core/workers/chunks/7705ca2cc8ac3307d4cd.js +0 -1
  1102. package/assets/esri/core/workers/chunks/7719fe672ea74cdc87be.js +0 -1
  1103. package/assets/esri/core/workers/chunks/7ae1f26ded268099f429.js +0 -1
  1104. package/assets/esri/core/workers/chunks/7c95721c077c70f31b53.js +0 -1
  1105. package/assets/esri/core/workers/chunks/82a69eba9bacca8437bd.js +0 -1
  1106. package/assets/esri/core/workers/chunks/8a13cd313d309281dbb9.js +0 -1
  1107. package/assets/esri/core/workers/chunks/933089d069853f6e509a.js +0 -1
  1108. package/assets/esri/core/workers/chunks/9848e9b9cc62328bfeb4.js +0 -1
  1109. package/assets/esri/core/workers/chunks/9a30ad773c22bde61c64.js +0 -1
  1110. package/assets/esri/core/workers/chunks/9bcead430045cbd9941c.js +0 -1
  1111. package/assets/esri/core/workers/chunks/9bd22cdf6eb158555906.js +0 -1
  1112. package/assets/esri/core/workers/chunks/a418af538ee98de7822a.js +0 -1
  1113. package/assets/esri/core/workers/chunks/b1ce435e3850255e0b24.js +0 -1
  1114. package/assets/esri/core/workers/chunks/b31096f20b9ed1446c3a.js +0 -1
  1115. package/assets/esri/core/workers/chunks/b5d4255db21dfd3b3b13.js +0 -2
  1116. package/assets/esri/core/workers/chunks/b5ee6c203f536bdb6708.js +0 -1
  1117. package/assets/esri/core/workers/chunks/b882f921387e21fb263d.js +0 -1
  1118. package/assets/esri/core/workers/chunks/bf9144a5d1fdebec6c4d.js +0 -1
  1119. package/assets/esri/core/workers/chunks/c12bdf6fd7f631e3f79e.js +0 -971
  1120. package/assets/esri/core/workers/chunks/c14afb5a090c58e66235.js +0 -1
  1121. package/assets/esri/core/workers/chunks/c58f559eb68035ebe3da.js +0 -1
  1122. package/assets/esri/core/workers/chunks/c62614bf6ba530924ca1.js +0 -1
  1123. package/assets/esri/core/workers/chunks/c67322bb54dcf699fe23.js +0 -1
  1124. package/assets/esri/core/workers/chunks/d0672714fffe04d5632a.js +0 -51
  1125. package/assets/esri/core/workers/chunks/d5ca87a4ecf096430a21.js +0 -1
  1126. package/assets/esri/core/workers/chunks/d9c34e07627d93d4670b.js +0 -1
  1127. package/assets/esri/core/workers/chunks/e21259a75af746895d6c.js +0 -1
  1128. package/assets/esri/core/workers/chunks/e2c49c1dc02249cf6fd2.js +0 -1
  1129. package/assets/esri/core/workers/chunks/e36a4a049ea8b5589d28.js +0 -1
  1130. package/assets/esri/core/workers/chunks/f43277fdbdbb0f49fe52.js +0 -1
  1131. package/assets/esri/core/workers/chunks/f73bbf3a08adaa37581d.js +0 -1
  1132. package/assets/esri/core/workers/chunks/f9656b0d3c1df8ad19af.js +0 -1
  1133. package/chunks/Bufferer-BhfWVXPl.js +0 -5
  1134. package/chunks/Clipper-a9xfvRaw.js +0 -5
  1135. package/chunks/CrackAndCluster-CHWFqqYQ.js +0 -5
  1136. package/chunks/GeodeticDistanceCalculator-Cnd3ZMKD.js +0 -5
  1137. package/chunks/Intersector-K1VmdfQW.js +0 -5
  1138. package/chunks/OperatorDifference.js +0 -5
  1139. package/chunks/OperatorIntersection.js +0 -5
  1140. package/chunks/OperatorSimplify.js +0 -5
  1141. package/chunks/OperatorUnion.js +0 -5
  1142. package/layers/support/TrackLabelClass.js +0 -5
  1143. package/views/2d/engine/webgl/shaderGraph/ShaderBuilder2D.js +0 -5
  1144. package/views/2d/layers/features/support/FeatureFilter.js +0 -5
  1145. package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +0 -5
  1146. package/views/3d/webgl-engine/core/shaderModules/Uniform.js +0 -5
  1147. package/views/3d/webgl-engine/core/shaderModules/interfaces.js +0 -5
  1148. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNode.js +0 -5
  1149. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNodeColorEffects.js +0 -5
  1150. package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNodeGeometryMasking.js +0 -5
  1151. /package/chunks/{GeometryCleaner-DVgW95-D.js → GeometryCleaner-BEJM7I4l.js} +0 -0
  1152. /package/views/{3d/webgl-engine/core/shaderTechnique → webgl}/BindType.js +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{S as e,G as t}from"./SimpleGeometryCursor.js";import{c as s,b as n,t as i,d as r,i as o,G as m,o as a,f as h,j as c,h as u,p as l}from"./Geometry.js";import{Envelope2D as _}from"./Envelope2D.js";import{O as f}from"./OperatorUnion.js";import{b as d,c as g}from"./tslib.es6.js";import{P as p,a as P,E as x}from"./QuadraticBezier.js";import{f as b,a as y,P as w,m as C,t as v,i as S,u as D}from"./Envelope.js";import{e as I,p as G,f as M,g as T,h as N,n as k,j as A,k as q,L as E,l as R,m as z,P as X,o as B,q as O,s as j,G as Y,t as F,u as W,v as J,w as U,x as H}from"./ProjectionTransformation.js";import{T as L}from"./Transformation2D.js";import{f as V,m as Q,P as K,S as Z,r as $,t as ee}from"./Point2D.js";import{p as te,O as se}from"./OperatorSimplify.js";import{c as ne}from"./Clipper-a9xfvRaw.js";import{O as ie}from"./OperatorDifference.js";import{c as re}from"./GeometryCleaner-DVgW95-D.js";import{O as oe}from"./OperatorDensify.js";function me(e,t,s,n,a,h){n<Number.MAX_VALUE&&n>-Number.MAX_VALUE||i("Geodesic_bufferer.buffer - bad distance"),r(e);const c=re(e),u=c.getGeometryType();if(o(u)){const e=c.getPointCount(),i=8e6;if(Math.abs(n)>i&&(e>50||u!==m.enumMultiPoint&&4===s&&e>2)){let e=c;const r=n>0?1:-1,o=7e6;let m=n,u=1;do{u++,m=(Math.abs(m)-o)*r}while(Math.abs(m)>i);m=n;for(let n=0;n<u-1;n++)e=he(e,t,s,o*r,a,u,h),m=(Math.abs(m)-o)*r;return e=he(e,t,s,m,a,u,h),e}}return he(c,t,s,n,a,1,h)}class ae{constructor(e){this.m_sr=null,this.m_gcs=null,this.m_transform=null,this.m_a=0,this.m_eSquared=0,this.m_rpu=0,this.m_radTolerance=0,this.m_q90=0,this.m_gcs90=0,this.m_gcs180=0,this.m_gcs360=0,this.m_gcs60=0,this.m_ellipticToGeodesicMaxRatio=0,this.m_curveType=0,this.m_bShapePreserving=!1,this.m_distance=0,this.m_absDistance=0,this.m_convergenceOffset=0,this.m_cornerStep=0,this.m_segmentStep=0,this.m_progressTracker=e}bufferPolygon(e){const t=new p,s=new we(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,s)}bufferPolyline(e){const t=new we(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new Ce(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let s=new p;if(this.bufferPoint2D(t,!1,s)){const e=C(null,s,!0);s=te(s,e,!0,!0,-1,this.m_progressTracker,0,!1)}return s=(new T).foldInto360RangeGeodetic(s,this.m_gcs,2),s}processGnomonicBufferPiecesCursor(e,t){const s=t;let n=s.getGnomonic();const i=A(q());let r=new E,o=(new f).executeMany(r,i,this.m_progressTracker,2);const m=V(6,!1),a=Q(_,6);this.initializeGrid(m,a);const h=[null,null,null,null,null,null],c=[null,null,null,null,null,null],u=[null,null,null,null,null,null];let l,d,g;for(;null!==(l=s.next());){if(d=s.getGnomonic(),d!==n){if(null!==n){let t=o.next();if(r=null,o=null,null!=t){const s=C(i,t,!0),r=b(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}}null!==d&&(r=new E,o=(new f).executeMany(r,i,this.m_progressTracker,2)),n=d}if(s.isRunningInGnomonic()){if(d.project(l),s.needsSimplify()){const e=C(null,l,!0);l=te(l,e,!0,!0,-1,this.m_progressTracker,0,!1)}r.tick(be(l)),o.tock()}else this.putInGridCursors(e,l,i,!0,m,a,h,c,u)}let p=!1;for(let _=0;_<6;_++)if(null!=u[_]){p=!0;break}if(p){let t=!1;const l=[null,null,null,null,null,null];if(e){const n=s.m_densified;if(s.m_densified=null,null!==n){const s=new L;s.scale(1/this.m_rpu,1/this.m_rpu),n.applyTransformation(s),this.m_distance>0?this.putInGridCursors(e,n,i,!1,m,a,h,c,u):(this.processInGrid(e,n,!1,m,a,h,l),t=!0)}}const _=new E,d=(new f).executeMany(_,this.m_gcs,this.m_progressTracker,2);if(null!==o){let t=o.next();r=null,o=null;const s=C(i,t,!0),l=b(s);t=n.unproject(t,l,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}for(let e=0;e<6;e++)if(null!=u[e]){let s=u[e].next();u[e]=null,c[e]=null,t&&null!==l[e]&&(s=(new ie).execute(l[e],s,i,this.m_progressTracker));const n=C(i,s,!0),r=b(n);s=h[e].unproject(s,r,this.m_progressTracker),s=(new se).execute(s,this.m_gcs,!0,this.m_progressTracker),_.tick(be(s)),d.tock()}g=d.next()}else{let t,m=!1;if(e){let e=s.m_densified;if(s.m_densified=null,null!==e){const s=new L;s.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(s),d.project(e);const n=C(null,e,!0);e=te(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(r.tick(be(e)),o.tock()):(t=e,m=!0)}}let a=o.next();r=null,o=null,m&&(a=(new ie).execute(t,a,i,this.m_progressTracker));const h=C(i,a,!0),c=b(h);g=n.unproject(a,c,this.m_progressTracker),g=(new se).execute(g,this.m_gcs,!0,this.m_progressTracker)}return g=(new T).foldInto360RangeGeodetic(g,this.m_gcs,2),g}putInGridCursors(e,t,s,n,i,r,o,m,a){const h=[null,null,null,null,null,null];this.processInGrid(e,t,n,i,r,o,h);for(let c=0;c<6;c++)null!==h[c]&&(null===m[c]&&(m[c]=new E,a[c]=(new f).executeMany(m[c],s,this.m_progressTracker,2)),m[c].tick(be(h[c])),a[c].tock())}processInGrid(e,t,s,n,i,r,o){const m=.01,a=this.insertGeodeticPointsAlongGrid(t,i,m);for(let h=0;h<6;h++){if(n[h])continue;const e=i[h].clone();e.inflateCoords(m,m);const c=v(t,e),u=y(null,c,!1).total();let l=ne(a,e,u,Number.NaN,this.m_progressTracker);if(null!==l&&!l.isEmpty()){if(l===a&&(l=l.clone()),null===r[h]){const e=new K;h<3?e.setCoords(0,1):e.setCoords(0,-1);const t=new K;t.setAdd(i[h].getCenter(),e),r[h]=xe(this.m_gcs,t)}r[h].project(l);const e=C(null,l,!0);l=te(l,e,s,!0,-1,this.m_progressTracker,0,!1),o[h]=l}}}insertGeodeticPointsAlongGrid(e,t,s){const n=_.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=R(this.m_gcs,n,e,!0,this.m_progressTracker),r=new x,o=r.addGeometry(i);return z(r,o,this.m_gcs,0,2,!0,t[0].xmax+s),z(r,o,this.m_gcs,0,2,!0,t[1].xmax+s),z(r,o,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&(z(r,o,this.m_gcs,0,2,!0,t[0].xmax-s),z(r,o,this.m_gcs,0,2,!0,t[1].xmax-s),z(r,o,this.m_gcs,0,2,!1,t[1].ymin-s)),r.getGeometry(o)}initializeGrid(e,t){for(let s=0;s<6;s++)e[s]=!1;t[0].setCoords({xmin:-this.m_gcs180,ymin:0,xmax:-this.m_gcs60,ymax:this.m_gcs90}),t[1].setCoords({xmin:-this.m_gcs60,ymin:0,xmax:this.m_gcs60,ymax:this.m_gcs90}),t[2].setCoords({xmin:this.m_gcs60,ymin:0,xmax:this.m_gcs180,ymax:this.m_gcs90}),t[3].setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:-this.m_gcs60,ymax:0}),t[4].setCoords({xmin:-this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs60,ymax:0}),t[5].setCoords({xmin:this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:0})}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t,s,n,i,r){const o=e[0],m=e.at(-1),a=o.y<m.y?o.y:m.y,h=o.y>m.y?o.y:m.y,c=G.q(this.m_a,this.m_eSquared,a),u=G.q(this.m_a,this.m_eSquared,h);if(this.m_q90-(c+t+this.m_absDistance)>.001&&this.m_q90+(u-t-this.m_absDistance)>.001)return!1;const l=s-ee,_=n+ee,f=l-Math.PI,d=l+Math.PI,g=_+Math.PI,p=[Number.NaN],P=[Number.NaN],x=[Number.NaN],b=[Number.NaN];let y=!1;if(le(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,l,f,m,_,p,P),le(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,g,_,o,f,x,b),(_<p[0]&&p[0]<g||_<P[0]&&P[0]<g)&&(y=!0),y||(f<x[0]&&x[0]<l||f<b[0]&&b[0]<l)&&(y=!0),!y&&i)return!1;const w=[];for(let S=e.length-1;S>=0;S--)w.push(e[S]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let C=0;C=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,l,_,i,C,r),C=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,_,g,this.m_cornerStep,i,C,r,p[0],P[0]),C=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,w,g,d,i,C,r),C=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,f,l,this.m_cornerStep,i,C,r,x[0],b[0]);let v=!1;return i||(v=this.checkAndPrepForPole(r)),y||v}bufferPoint2D(e,t,s){s.setEmpty(),s.addPathPoint2D(null,0,!0);const n=0;ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,n,s);let i=!1;return t||(i=this.checkAndPrepForPole(s)),i}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),s=this.checkAndPrepForPoleWrap(e);return t||s}checkAndPrepForPoleTouch(e){const t=new _;return e.queryEnvelope(t),!(!X(t.ymax,this.m_gcs90)&&!X(t.ymin,-this.m_gcs90))&&(this.prepPoleTouch(e),!0)}checkAndPrepForPoleWrap(e){const t=e.getXY(0),s=e.getXY(e.getPointCount()-1);return Math.abs(t.x-s.x)>this.m_gcs180?(this.prepSinglePoleWrap(e),!0):this.checkAndPrepForDoublePoleWrap(e)}checkAndPrepForDoublePoleWrap(e){return e.calculateArea2D()<0&&(this.prepDoublePoleWrap(e),!0)}prepPoleTouch(e){const t=new p;t.insertPath2D(-1,null,0,0,!0);const s=e.getPathStart(0),n=e.getPathEnd(0),i=n-s;let r=-1;for(r=s;r<n;r++){const t=e.getXY(r),s=X(t.y,this.m_gcs90),n=X(t.y,-this.m_gcs90);if(!s&&!n)break}let o=r,m=!1,a=Number.NaN;do{const n=e.getXY(o),r=X(n.y,this.m_gcs90),h=X(n.y,-this.m_gcs90),c=s+(o+1-s)%i;if(r||h){let s=K.construct(a,n.y);t.insertPoint2D(0,-1,s);const i=e.getXY(c),r=X(i.y,this.m_gcs90),o=X(i.y,-this.m_gcs90);r||o||(s=K.construct(i.x,n.y),m?t.setXY(t.getPointCount()-1,s):t.insertPoint2D(0,-1,s)),m=!0}else t.insertPoint2D(0,-1,n),a=n.x,m=!1;o=c}while(o!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new p,s=new p,n=new L,i=e.getXY(e.getPathStart(0)),r=e.getXY(e.getPathEnd(0)-1),o=this.m_gcs360,m=this.m_gcs180,a=new _;a.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const h=new _;e.queryEnvelope(h);const c=Math.ceil(h.width()/o);let u,l;i.x>r.x?(u=-o,l=this.m_gcs90):(u=o,l=-this.m_gcs90),n.setShiftCoords(u,0),t.addPath(e,0,!0),s.add(t,!1);const f=new w;for(let _=0;_<c;_++)s.applyTransformation(n),s.getPointByVal(0,f),t.lineToPoint(f),t.addSegmentsFromPath(s,0,0,s.getSegmentCount()-1,!1);const d=t.getXY(0),g=t.getXY(t.getPointCount()-1);d.y=l,g.y=l,t.lineTo(g);const P=new K;for(P.setCoordsPoint2D(g),P.x-=.5*u;Math.abs(P.x-d.x)>m;)t.lineTo(P),P.x-=.5*u;t.lineTo(d);const b=a.getCenterX(),C=new _;t.queryEnvelope(C);let S=0;const D=C.getCenter().x;D-b>m?S=-Math.ceil((D-b-m)/o):b-D>m&&(S=Math.ceil((b-D-m)/o)),0!==S&&(n.setShiftCoords(S*o,0),t.applyTransformation(n));const I=new x,G=I.addGeometry(t);z(I,G,this.m_gcs,0,2,!0,a.xmin),z(I,G,this.m_gcs,0,2,!0,a.xmax);const M=I.getGeometry(G),T=v(M,a);T.inflateCoords(0,1);const N=y(null,T,!0).total(),k=ne(M,a,N,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(k,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new _;n.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=n.getCenter().x,r=new _;e.queryPathEnvelope(0,r);let o,m=0,a=r.getCenter().x;if(a-i>s?m=-Math.ceil((a-i-s)/t):i-a>s&&(m=Math.ceil((i-a-s)/t)),0!==m){const s=new L;s.setShiftCoords(m*t,0),e.getImpl().applyTransformationToPath(s,0),e.queryPathEnvelope(0,r),a=r.getCenter().x}const h=new _;n.containsExclusiveEnvelope(r)?(o=!1,h.setCoords({env2D:n})):(o=!0,h.setCoords({env2D:n}),h.xmin-=t,h.xmax+=t);let c=e.createInstance();c.addPathPoint2D(null,0,!0);const u=new K;if(u.setCoords(h.xmin,h.ymin),c.insertPoint2D(0,-1,u),u.setCoords(h.xmin,h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(.5*(h.xmin+h.xmax),h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(h.xmax,h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(h.xmax,h.ymin),c.insertPoint2D(0,-1,u),u.setCoords(.5*(h.xmin+h.xmax),h.ymin),c.insertPoint2D(0,-1,u),o){c.addPath(e,0,!0);const s=new L;a<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),c.addPath(e,0,!0);const r=new x,o=r.addGeometry(c);z(r,o,this.m_gcs,0,2,!0,n.xmin),z(r,o,this.m_gcs,0,2,!0,n.xmax),c=r.getGeometry(o);const m=v(c,n);m.inflateCoords(0,1);const h=y(null,m,!0).total();c=ne(c,n,h,Number.NaN,this.m_progressTracker)}else c.addPath(e,0,!0);e.setEmpty(),e.add(c,!1)}setMinCornerStep(){const e={stack:[],error:void 0,hasError:!1};try{let s=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);s=Math.min(s,.125*this.m_a*Math.PI);const n=new K;n.setCoords(0,10*this.m_rpu);const i=0;let r=45*this.m_rpu;const o=d(e,new Z(new B,new B),!1),m=d(e,new Z(new B,new B),!1),a=d(e,new Z(new B,new B),!1),h=d(e,new Z(new B,new B),!1),c=new K,u=new K,l=new K,_=new K;for(O.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,i,o.at(0),o.at(1)),c.setCoords(o.at(0).val,o.at(1).val),O.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,r,m.at(0),m.at(1)),u.setCoords(m.at(0).val,m.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const t=.5*(i+r);O.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,t,a.at(0),a.at(1)),l.setCoords(a.at(0).val,a.at(1).val);const o=d(e,new B,!1),f=d(e,new B,!1);O.geodeticDistance(this.m_a,this.m_eSquared,c.x,c.y,u.x,u.y,o,f,null,2),O.geodeticCoordinate(this.m_a,this.m_eSquared,c.x,c.y,.5*o.val,f.val,h.at(0),h.at(1),2),_.setCoords(h.at(0).val,h.at(1).val);const g=d(e,new B,!1);O.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,g,null,null,2);if(g.val<=this.m_convergenceOffset)break;r*=.9,O.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,r,m.at(0),m.at(1)),u.setCoords(m.at(0).val,m.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{g(e)}}const f=r-i,p=2*Math.PI/Math.ceil(2*Math.PI/f);this.m_cornerStep=p}catch(s){e.error=s,e.hasError=!0}finally{g(e)}}setMinSegmentStep(){const e={stack:[],error:void 0,hasError:!1};try{let n=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);n=Math.min(n,.125*this.m_a*Math.PI);const i=new K,r=new K;i.setCoords(0,10*this.m_rpu),r.setCoords(10*this.m_rpu,10*this.m_rpu);const o=d(e,new B,!1),m=d(e,new B,!1),a=d(e,new B,!1);O.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,r.x,r.y,a,o,m,this.m_curveType);const h=d(e,new Z(new B,new B),!1),c=d(e,new Z(new B,new B),!1),u=new K,l=d(e,new B,!1),_=d(e,new Z(new B,new B),!1),f=d(e,new Z(new B,new B),!1),p=d(e,new Z(new B,new B),!1),P=d(e,new Z(new B,new B),!1),x=new K,b=new K,y=new K,w=new K,C=0;let v=1;const S=o.val,D=m.val,I=S-.5*Math.PI,G=D+.5*Math.PI,M=a.val;for(O.geodesicCoordinate(this.m_a,this.m_eSquared,i.x,i.y,n,I,_.at(0),_.at(1)),x.setCoords(_.at(0).val,_.at(1).val),O.geodesicCoordinate(this.m_a,this.m_eSquared,r.x,r.y,n,G,f.at(0),f.at(1)),b.setCoords(f.at(0).val,f.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const s=.5*(C+v);O.geodeticCoordinate(this.m_a,this.m_eSquared,i.x,i.y,s*M,S,h.at(0),h.at(1),this.m_curveType),u.setCoords(h.at(0).val,h.at(1).val),O.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,u.x,u.y,null,null,l,this.m_curveType);const o=l.val+.5*Math.PI;O.geodesicCoordinate(this.m_a,this.m_eSquared,u.x,u.y,n,o,p.at(0),p.at(1)),y.setCoords(p.at(0).val,p.at(1).val);const m=d(e,new B,!1),a=d(e,new B,!1);O.geodeticDistance(this.m_a,this.m_eSquared,x.x,x.y,b.x,b.y,m,a,null,2),O.geodeticCoordinate(this.m_a,this.m_eSquared,x.x,x.y,.5*m.val,a.val,P.at(0),P.at(1),2),w.setCoords(P.at(0).val,P.at(1).val);const _=d(e,new B,!1);O.geodeticDistance(this.m_a,this.m_eSquared,y.x,y.y,w.x,w.y,_,null,null,2);if(_.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{v*=.9,O.geodeticCoordinate(this.m_a,this.m_eSquared,i.x,i.y,v*M,S,c.at(0),c.at(1),this.m_curveType),r.setCoords(c.at(0).val,c.at(1).val);const t=d(e,new B,!1);O.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,r.x,r.y,null,null,t,this.m_curveType);const s=t.val+.5*Math.PI;O.geodesicCoordinate(this.m_a,this.m_eSquared,r.x,r.y,n,s,f.at(0),f.at(1)),b.setCoords(f.at(0).val,f.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{g(e)}}}catch(s){e.error=s,e.hasError=!0}finally{g(e)}}let T=v*M;T>1e5&&(T=1e5),this.m_segmentStep=T}catch(n){e.error=n,e.hasError=!0}finally{g(e)}}setConvergenceOffset(){let e;e=this.m_absDistance>5e4?100:this.m_absDistance>1e4?10:1,this.m_absDistance/e<500&&(e=this.m_absDistance/500),e<.01&&(e=.01),this.m_convergenceOffset=e}}function he(e,t,s,n,i,r,o){if(e.isEmpty())return new p({vd:e.getDescription()});let f=e;if(a(f)){const e=10*t.getTolerance(0);f=(new oe).execute(f,0,e,0,o,12e3)}const d=new ae(o);d.m_sr=t,d.m_gcs=t.getGCS(),d.m_transform=I(t,d.m_gcs,null);const g=j();d.m_gcs.querySpheroidData(g);const x=new _;f.queryEnvelope(x),d.m_a=g.majorSemiAxis,d.m_eSquared=g.e2,d.m_rpu=d.m_gcs.getUnit().getUnitToBaseFactor(),d.m_gcs90=.5*Math.PI/d.m_rpu,d.m_gcs180=Math.PI/d.m_rpu,d.m_gcs360=2*Math.PI/d.m_rpu,d.m_gcs60=d.m_gcs360/6,d.m_q90=G.q90(d.m_a,d.m_eSquared),d.m_ellipticToGeodesicMaxRatio=.5*d.m_a*Math.PI/d.m_q90;const C=d.m_gcs.getTolerance(0);d.m_radTolerance=C*d.m_rpu,4===s?(d.m_curveType=2,d.m_bShapePreserving=!0):(d.m_curveType=s,d.m_bShapePreserving=!1),d.m_distance=n,d.m_absDistance=Math.abs(n),Number.isNaN(i)||i<=0?d.setConvergenceOffset():d.m_convergenceOffset=Math.max(i,.001),d.m_convergenceOffset/=r;let v,S=f.getGeometryType();if(h(S)){const e=new P({vd:f.getDescription()});e.addSegment(f,!0),v=e,S=m.enumPolyline}else if(S===m.enumEnvelope){const e=f,t=new _;e.queryEnvelope(t);const s=b(y(d.m_sr,x,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new w({vd:f.getDescription()});e.getCenter(t),v=t,S=m.enumPoint}else{const t=new P({vd:f.getDescription()});t.addEnvelope(e,!1),v=t,S=m.enumPolyline}else{const t=new p({vd:f.getDescription()});t.addEnvelope(e,!1),v=t,S=m.enumPolygon}}else v=f;if(d.setMinCornerStep(),c(S)||d.setMinSegmentStep(),d.m_absDistance<=.5*d.m_convergenceOffset)return S!==m.enumPolygon?new p({vd:v.getDescription()}):d.m_bShapePreserving?v:M(v,d.m_sr,d.m_curveType,d.m_segmentStep,-1,o);if(d.m_distance<0&&S!==m.enumPolygon)return new p({vd:v.getDescription()});if(d.m_bShapePreserving&&u(S)){const e=M(v,t,4,Number.NaN,d.m_convergenceOffset,o);v=(new T).execute(e,d.m_transform,o)}else v=(new T).execute(v,d.m_transform,o);if(v=N(v,d.m_gcs),v.isEmpty())return new p({vd:v.getDescription()});!d.m_bShapePreserving&&u(S)&&(v=k(d.m_rpu,v)),v=fe(v,d.m_gcs);let D=new p;switch(S){case m.enumPolygon:D=d.bufferPolygon(v);break;case m.enumPolyline:D=d.bufferPolyline(v);break;case m.enumMultiPoint:D=d.bufferMultiPoint(v);break;case m.enumPoint:D=d.bufferPoint(v);break;default:l("")}const A=(new T).execute(D,d.m_transform.getInverse(),o);return A.mergeVertexDescription(v.getDescription()),A}function ce(e,t,s,n,i,r,o,m,a,h,c){const u={stack:[],error:void 0,hasError:!1};try{const l=new K;l.setNAN(),a||c.getPointCount()>0&&(l.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),l.scale(s));const _=d(u,new B,!1),f=d(u,new Z(new B,new B),!1),g=new K,p=new K,P=r.at(-1),x=1/s;for(let s=0;s<r.length;s++){const u=r[s];let d;0===s?d=o:s===r.length-1?d=m:(O.geodeticDistance(e,t,P.x,P.y,u.x,u.y,null,null,_,i),d=_.val-.5*Math.PI),O.geodesicCoordinate(e,t,u.x,u.y,n,d,f.at(0),f.at(1)),a?p.setCoords(f.at(0).val,f.at(1).val):(g.setCoords(f.at(0).val,f.at(1).val),h=_e(u.x,g.x,l.x,h),p.setCoords(h+g.x,g.y),l.setCoordsPoint2D(p)),p.scale(x),c.insertPoint2D(0,-1,p)}return h}catch(l){u.error=l,u.hasError=!0}finally{g(u)}}function ue(e,t,s,n,i,r,o,m,a,h,c,u=Number.NaN,l=Number.NaN){const _={stack:[],error:void 0,hasError:!1};try{if(o-r<m)return h;const f=d(_,new Z(new B,new B),!1),g=new K,p=new K,P=new K;p.setNAN(),a||c.getPointCount()>0&&(p.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),p.scale(s));let x=Math.ceil(r/m),b=x++*m;b===r&&(b=x++*m);let y=r;const w=1/s;for(;b<o+m&&(y<u&&u<b?(b=u,x--):y<l&&l<b&&(b=l,x--),!(b>=o));)O.geodesicCoordinate(e,t,i.x,i.y,n,b,f.at(0),f.at(1)),a?P.setCoords(f.at(0).val,f.at(1).val):(g.setCoords(f.at(0).val,f.at(1).val),h=_e(i.x,g.x,p.x,h),P.setCoords(h+g.x,g.y),p.setCoordsPoint2D(P)),P.scale(w),c.insertPoint2D(0,-1,P),y=b,b=x++*m;return h}catch(f){_.error=f,_.hasError=!0}finally{g(_)}}function le(e,t,s,n,i,r,o,m,a,h,c){const u={stack:[],error:void 0,hasError:!1};try{const s=new K,l=new K,_=d(u,new Z(new B,new B),!1);O.geodesicCoordinate(e,t,i.x,i.y,n,r,_.at(0),_.at(1)),s.setCoords(_.at(0).val,_.at(1).val),O.geodesicCoordinate(e,t,i.x,i.y,n,o,_.at(0),_.at(1)),l.setCoords(_.at(0).val,_.at(1).val);const f=d(u,new B,!1);for(O.geodeticDistance(e,t,m.x,m.y,s.x,s.y,null,f,null,0),h[0]=f.val,O.geodeticDistance(e,t,m.x,m.y,l.x,l.y,null,f,null,0),c[0]=f.val;h[0]<=c[0];)h[0]+=$;for(;h[0]>c[0];)h[0]-=$;for(;h[0]>=a;)h[0]-=$,c[0]-=$;for(;h[0]<a;)h[0]+=$,c[0]+=$}catch(l){u.error=l,u.hasError=!0}finally{g(u)}}function _e(e,t,s,n){if(Number.isNaN(s)){for(;n+t-e>Math.PI;)n-=$;for(;e-(n+t)>Math.PI;)n+=$;return n}return n+t-s>Math.PI?n-=$:s-(n+t)>Math.PI&&(n+=$),n}function fe(e,t){const s=e.getGeometryType();let n;if(n=u(s)?e.getPathCount():s===m.enumMultiPoint?e.getPointCount():1,1===n)return e;const i=[],r=[];for(let m=0;m<n;m++){i.push(m);const n=new K;if(u(s)){const t=new _;e.queryPathEnvelope(m,t),n.assign(t.getCenter())}else n.assign(e.getXY(m));const o=t.toGeohash(n);r.push(o)}i.sort(((e,t)=>r[e]<r[t]?-1:r[e]>r[t]?1:0));const o=e.createInstance();for(let m=0;m<n;m++){const t=i[m];u(s)?o.addPath(e,t,!0):o.addPoints(e,t,t+1)}return o}function de(e,t,s,n,i,r){const o={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const m=s[0],a=s.at(-1),h=d(o,new B,!1),c=d(o,new B,!1),u=d(o,new B,!1);O.greatEllipticDistance(e,t,i.x,i.y,m.x,m.y,h,null,null),O.greatEllipticDistance(e,t,i.x,i.y,a.x,a.y,c,null,null),O.greatEllipticDistance(e,t,m.x,m.y,a.x,a.y,u,null,null);let l=Math.min(h.val,c.val)+u.val,_=l+n;if(_<r)return!0;const f=d(o,new B,!1);l=Math.max(h.val,c.val);for(let n=1;n<s.length-1;n++){const r=s[n];O.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,f,null,null),f.val>l&&(l=f.val)}return _=l+n,_<r}catch(m){o.error=m,o.hasError=!0}finally{g(o)}}function ge(e,t,s,n,i,r,o,m){let a;if(n.length%2==0){const e=n.length>>1,t=n[e],s=n[e-1];a=K.lerp(t,s,.5)}else{a=n[n.length-1>>1].clone()}const h=a.clone(),c=F(e,t,h,75/180*Math.PI);return!!de(e,t,n,i,h,c)&&(null!==r&&(r.setCoordsPoint2D(a),r.scale(1/s)),null!==o&&o.setCoordsPoint2D(h),null!==m&&(m[0]=c),!0)}function pe(e,t,s,n,i,r){const o={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const m=d(o,new B,!1);O.greatEllipticDistance(e,t,i.x,i.y,s.x,s.y,m,null,null);return m.val+n<r}catch(m){o.error=m,o.hasError=!0}finally{g(o)}}function Pe(e,t,s,n,i,r,o,m){const a=F(e,t,n,75/180*Math.PI);return!!pe(e,t,n,i,n,a)&&(null!==r&&(r.setCoordsPoint2D(n),r.scale(1/s)),null!==o&&o.setCoordsPoint2D(n),null!==m&&(m[0]=a),!0)}function xe(e,t){return new Y(e,t)}function be(e){return S(e,0)||D(e,0),e}class ye{constructor(e){this.m_bRunningInGnomonic=!1,this.m_bNeedsSimplify=!1,this.m_gnomonic=null,this.m_gnomonicCenterRad=new K,this.m_minGnomonicRadius=Number.NaN,this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class we extends ye{constructor(e,t,s){super(e.m_progressTracker),this.m_segIter=null,this.m_bNextSegmentCannotJoin=!1,this.m_currentDensifiedDelta=[0],this.m_currentBufferedDelta=0,this.m_lastAzimuth=0,this.m_startAzimuth=[0],this.m_endAzimuth=[0],this.m_numWinds=0,this.m_debugCounter=0,this.m_bufferHelper=new p,this.m_densifiedPoints=[],this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new _;this.m_multiPath.queryEnvelope(n);const i=n.getCenter(),r=i.clone();r.scale(this.m_bufferer.m_rpu),this.m_gnomonic=xe(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=r.clone(),this.m_minGnomonicRadius=F(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,r,75/180*Math.PI)}next(){let e;if(this.m_bNextSegmentCannotJoin)return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e;if(null===this.m_segIter){if(this.m_segIter=this.m_multiPath.getImpl().querySegmentIterator(),!this.m_segIter.nextPath())return null;null!==this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}if(!this.m_segIter.hasNextSegment()){if(!this.m_segIter.nextPath())return null;null!=this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}let t=null;this.m_currentBufferedDelta=0,this.m_currentDensifiedDelta=[0],this.m_numWinds=0,this.m_lastAzimuth=Number.NaN,this.m_bNextSegmentCannotJoin=!1,this.m_densifiedPoints.length=0;const s=16;let n=0;const i=new K,r=new K;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<s;){const e=this.m_segIter.nextSegment();if(i.setCoordsPoint2D(e.getStartXY()),r.setCoordsPoint2D(e.getEndXY()),i.scale(this.m_bufferer.m_rpu),r.scale(this.m_bufferer.m_rpu),W(i,r))i.x=r.x;else if(J(i,r))r.x=i.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),n=this.m_multiPath.getPathStart(s),o=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<n&&(e=this.m_multiPath.isClosedPath(s)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(s)?n:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),J(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),W(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0;const s=U(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,r,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta);if(0===n)this.m_bRunningInGnomonic=this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(this.m_densifiedPoints));else if(this.m_bRunningInGnomonic){if(!this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}else{if(ge(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_densifiedPoints,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,null,null,null)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}if(0===s||H(i,r)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(i,this.m_bRunningInGnomonic,this.m_bufferHelper),this.m_bNextSegmentCannotJoin=!0):(this.m_bufferHelper.setEmpty(),this.m_bNextSegmentCannotJoin=this.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(s,this.m_bufferHelper)),this.m_bNextSegmentCannotJoin){this.m_segIter.previousSegment(),this.m_segIter.hasPreviousSegment()?(this.m_segIter.previousSegment(),this.m_segIter.nextSegment()):this.m_segIter.resetToFirstSegment(),null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0);break}null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0),null===t&&(t=new p,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),n++}if(this.m_currentDensifiedDelta=[0],n>0){const e=this.m_segIter.getStartPointIndex(),s=this.m_segIter.getPathIndex();for(;n>0;){if(this.m_segIter.previousSegment(),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),r.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),i.scale(this.m_bufferer.m_rpu),r.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if(W(i,r))i.x=r.x;else if(J(i,r))r.x=i.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),n=this.m_multiPath.getPathStart(s),o=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<n&&(e=this.m_multiPath.isClosedPath(s)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(s)?n:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),J(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),W(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0,U(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,r,i,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta),this.addJoinAndBufferLeftSide(t),n--}return i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=ue(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,i,this.m_lastAzimuth+.5*Math.PI,this.m_lastAzimuth+1.5*Math.PI,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,t),this.m_segIter.resetToVertex(e,s),this.m_segIter.nextSegment(),t}return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e}isSegmentBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&de(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new K,s=new K,n=[0];return ge(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=xe(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t){return this.m_bufferer.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(this.m_densifiedPoints,e,this.m_startAzimuth[0],this.m_endAzimuth[0],this.m_bRunningInGnomonic,t)}addJoinAndBufferLeftSide(e){const t=this.m_densifiedPoints[0];let s=Number.NaN,n=this.m_startAzimuth[0]-ee;const i=this.m_endAzimuth[0]+ee;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+ee,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+ee,n=s+Math.PI-($-(this.m_startAzimuth[0]-this.m_lastAzimuth))),r=!(this.m_lastAzimuth>=this.m_startAzimuth[0]&&this.m_lastAzimuth-this.m_startAzimuth[0]<=Math.PI)&&!(this.m_lastAzimuth<this.m_startAzimuth[0]&&this.m_startAzimuth[0]-this.m_lastAzimuth>=Math.PI);let i=!1;if(Math.abs(n-s)<=.5*this.m_bufferer.m_cornerStep&&(r||(i=!0)),i){if(e.removePointFromPath(0,e.getPointCount()-1),!this.m_bRunningInGnomonic){const t=new K;t.setCoordsPoint2D(e.getXY(e.getPointCount()-1)),t.scale(this.m_bufferer.m_rpu),t.x-this.m_currentBufferedDelta<-Math.PI?this.m_currentBufferedDelta-=$:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=$)}n=.5*(n+s)}else if(r){const s=new K;s.setCoordsPoint2D(t),s.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,s)}else ue(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],s,n,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e)}this.m_startAzimuth[0]!==this.m_lastAzimuth&&this.m_numWinds++,ce(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_bufferer.m_curveType,this.m_densifiedPoints,n,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class Ce extends ye{constructor(e,t){super(e.m_progressTracker),this.m_pointIndex=-1,this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new _;this.m_multiPoint.queryEnvelope(s);const n=s.getCenter(),i=n.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=xe(this.m_bufferer.m_gcs,n),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=F(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,i,75/180*Math.PI)}next(){if(this.m_bNeedsSimplify=!1,++this.m_pointIndex===this.m_multiPoint.getPointCount())return null;const e=this.m_multiPoint.getXY(this.m_pointIndex);e.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic=this.isPointBufferInCurrentGnomonic(e),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(e));const t=new p,s=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=s,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&pe(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new K,s=new K,n=[0];return Pe(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=xe(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class ve{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n,i,r,o,m){if(o){const o=new Se(e,t,s,n,i,!1,r,m);return(new f).executeMany(o,t,m)}return new Se(e,t,s,n,i,!1,r,m)}execute(t,n,i,r,o,m,a){const h=new e([t]),c=[r],u=this.executeMany(h,n,i,c,o,!1,m,a).next();return u||s("geodesic buffer null output"),u}}class Se extends t{constructor(e,t,s,r,o,m,a,h){super(),this.m_currentUnionEnvelope2D=new _,this.m_index=-1,this.m_dindex=-1,this.m_progressTracker=h,m&&n(""),t||i("");0===t.getCoordinateSystemType()&&i(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=s,this.m_distances=r,this.m_convergenceOffset=o,this.m_bOutlineOnly=m,this.m_bUnion=a}next(){let e;for(;e=this.m_inputGeoms.next();)return r(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.geodesicBuffer(e,this.m_distances[this.m_dindex]);return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodesicBuffer(e,t){return me(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}export{ve as OperatorGeodesicBuffer};
5
+ import{S as e,G as t}from"./SimpleGeometryCursor.js";import{c as s,b as n,t as i,d as r,i as o,G as m,j as a,f as h,e as c,h as u,k as l}from"./Geometry.js";import{Envelope2D as _}from"./Envelope2D.js";import{h as f,p as d,t as g,u as p,v as P,w as x,x as b,y,z as w,A as C,L as v,e as S,g as D,B as I,D as G,P as M,E as T,F as N,G as k,H as A,I as E,J as q,K as R,M as z,N as B}from"./ProjectionTransformation.js";import{b as X,c as Y}from"./tslib.es6.js";import{a as j,P as O,E as F}from"./QuadraticBezier.js";import{d as W,a as J,P as U,b as H,e as L,f as V,s as K}from"./Envelope.js";import{T as Q}from"./Transformation2D.js";import{j as Z,m as $,P as ee,S as te,k as se,l as ne}from"./Point2D.js";import{c as ie}from"./OperatorClip.js";import{c as re}from"./GeometryCleaner-BEJM7I4l.js";import{O as oe}from"./OperatorDensify.js";function me(e,t,s,n,a,h){n<Number.MAX_VALUE&&n>-Number.MAX_VALUE||i("Geodesic_bufferer.buffer - bad distance"),r(e);const c=re(e),u=c.getGeometryType();if(o(u)){const e=c.getPointCount(),i=8e6;if(Math.abs(n)>i&&(e>50||u!==m.enumMultiPoint&&4===s&&e>2)){let e=c;const r=n>0?1:-1,o=7e6;let m=n,u=1;do{u++,m=(Math.abs(m)-o)*r}while(Math.abs(m)>i);m=n;for(let n=0;n<u-1;n++)e=he(e,t,s,o*r,a,u,h),m=(Math.abs(m)-o)*r;return e=he(e,t,s,m,a,u,h),e}}return he(c,t,s,n,a,1,h)}class ae{constructor(e){this.m_sr=null,this.m_gcs=null,this.m_transform=null,this.m_a=0,this.m_eSquared=0,this.m_rpu=0,this.m_radTolerance=0,this.m_q90=0,this.m_gcs90=0,this.m_gcs180=0,this.m_gcs360=0,this.m_gcs60=0,this.m_ellipticToGeodesicMaxRatio=0,this.m_curveType=0,this.m_bShapePreserving=!1,this.m_distance=0,this.m_absDistance=0,this.m_convergenceOffset=0,this.m_cornerStep=0,this.m_segmentStep=0,this.m_progressTracker=e}bufferPolygon(e){const t=new j,s=new we(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,s)}bufferPolyline(e){const t=new we(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new Ce(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let s=new j;if(this.bufferPoint2D(t,!1,s)){const e=H(null,s,!0);s=y(s,e,!0,!0,-1,this.m_progressTracker,0,!1)}return s=(new P).foldInto360RangeGeodetic(s,this.m_gcs,2),s}processGnomonicBufferPiecesCursor(e,t){const s=t;let n=s.getGnomonic();const i=w(C());let r=new v,o=(new f).executeMany(r,i,this.m_progressTracker,2);const m=Z(6,!1),a=$(_,6);this.initializeGrid(m,a);const h=[null,null,null,null,null,null],c=[null,null,null,null,null,null],u=[null,null,null,null,null,null];let l,d,g;for(;null!==(l=s.next());){if(d=s.getGnomonic(),d!==n){if(null!==n){let t=o.next();if(r=null,o=null,null!=t){const s=H(i,t,!0),r=W(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}}null!==d&&(r=new v,o=(new f).executeMany(r,i,this.m_progressTracker,2)),n=d}if(s.isRunningInGnomonic()){if(d.project(l),s.needsSimplify()){const e=H(null,l,!0);l=y(l,e,!0,!0,-1,this.m_progressTracker,0,!1)}r.tick(be(l)),o.tock()}else this.putInGridCursors(e,l,i,!0,m,a,h,c,u)}let p=!1;for(let _=0;_<6;_++)if(null!=u[_]){p=!0;break}if(p){let t=!1;const l=[null,null,null,null,null,null];if(e){const n=s.m_densified;if(s.m_densified=null,null!==n){const s=new Q;s.scale(1/this.m_rpu,1/this.m_rpu),n.applyTransformation(s),this.m_distance>0?this.putInGridCursors(e,n,i,!1,m,a,h,c,u):(this.processInGrid(e,n,!1,m,a,h,l),t=!0)}}const _=new v,d=(new f).executeMany(_,this.m_gcs,this.m_progressTracker,2);if(null!==o){let t=o.next();r=null,o=null;const s=H(i,t,!0),l=W(s);t=n.unproject(t,l,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}for(let e=0;e<6;e++)if(null!=u[e]){let s=u[e].next();u[e]=null,c[e]=null,t&&null!==l[e]&&(s=(new S).execute(l[e],s,i,this.m_progressTracker));const n=H(i,s,!0),r=W(n);s=h[e].unproject(s,r,this.m_progressTracker),s=(new D).execute(s,this.m_gcs,!0,this.m_progressTracker),_.tick(be(s)),d.tock()}g=d.next()}else{let t,m=!1;if(e){let e=s.m_densified;if(s.m_densified=null,null!==e){const s=new Q;s.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(s),d.project(e);const n=H(null,e,!0);e=y(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(r.tick(be(e)),o.tock()):(t=e,m=!0)}}let a=o.next();r=null,o=null,m&&(a=(new S).execute(t,a,i,this.m_progressTracker));const h=H(i,a,!0),c=W(h);g=n.unproject(a,c,this.m_progressTracker),g=(new D).execute(g,this.m_gcs,!0,this.m_progressTracker)}return g=(new P).foldInto360RangeGeodetic(g,this.m_gcs,2),g}putInGridCursors(e,t,s,n,i,r,o,m,a){const h=[null,null,null,null,null,null];this.processInGrid(e,t,n,i,r,o,h);for(let c=0;c<6;c++)null!==h[c]&&(null===m[c]&&(m[c]=new v,a[c]=(new f).executeMany(m[c],s,this.m_progressTracker,2)),m[c].tick(be(h[c])),a[c].tock())}processInGrid(e,t,s,n,i,r,o){const m=.01,a=this.insertGeodeticPointsAlongGrid(t,i,m);for(let h=0;h<6;h++){if(n[h])continue;const e=i[h].clone();e.inflateCoords(m,m);const c=L(t,e),u=J(null,c,!1).total();let l=ie(a,e,u,Number.NaN,this.m_progressTracker);if(null!==l&&!l.isEmpty()){if(l===a&&(l=l.clone()),null===r[h]){const e=new ee;h<3?e.setCoords(0,1):e.setCoords(0,-1);const t=new ee;t.setAdd(i[h].getCenter(),e),r[h]=xe(this.m_gcs,t)}r[h].project(l);const e=H(null,l,!0);l=y(l,e,s,!0,-1,this.m_progressTracker,0,!1),o[h]=l}}}insertGeodeticPointsAlongGrid(e,t,s){const n=_.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=I(this.m_gcs,n,e,!0,this.m_progressTracker),r=new F,o=r.addGeometry(i);return G(r,o,this.m_gcs,0,2,!0,t[0].xmax+s),G(r,o,this.m_gcs,0,2,!0,t[1].xmax+s),G(r,o,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&(G(r,o,this.m_gcs,0,2,!0,t[0].xmax-s),G(r,o,this.m_gcs,0,2,!0,t[1].xmax-s),G(r,o,this.m_gcs,0,2,!1,t[1].ymin-s)),r.getGeometry(o)}initializeGrid(e,t){for(let s=0;s<6;s++)e[s]=!1;t[0].setCoords({xmin:-this.m_gcs180,ymin:0,xmax:-this.m_gcs60,ymax:this.m_gcs90}),t[1].setCoords({xmin:-this.m_gcs60,ymin:0,xmax:this.m_gcs60,ymax:this.m_gcs90}),t[2].setCoords({xmin:this.m_gcs60,ymin:0,xmax:this.m_gcs180,ymax:this.m_gcs90}),t[3].setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:-this.m_gcs60,ymax:0}),t[4].setCoords({xmin:-this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs60,ymax:0}),t[5].setCoords({xmin:this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:0})}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t,s,n,i,r){const o=e[0],m=e.at(-1),a=o.y<m.y?o.y:m.y,h=o.y>m.y?o.y:m.y,c=g.q(this.m_a,this.m_eSquared,a),u=g.q(this.m_a,this.m_eSquared,h);if(this.m_q90-(c+t+this.m_absDistance)>.001&&this.m_q90+(u-t-this.m_absDistance)>.001)return!1;const l=s-ne,_=n+ne,f=l-Math.PI,d=l+Math.PI,p=_+Math.PI,P=[Number.NaN],x=[Number.NaN],b=[Number.NaN],y=[Number.NaN];let w=!1;if(le(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,l,f,m,_,P,x),le(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,p,_,o,f,b,y),(_<P[0]&&P[0]<p||_<x[0]&&x[0]<p)&&(w=!0),w||(f<b[0]&&b[0]<l||f<y[0]&&y[0]<l)&&(w=!0),!w&&i)return!1;const C=[];for(let g=e.length-1;g>=0;g--)C.push(e[g]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let v=0;v=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,l,_,i,v,r),v=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,_,p,this.m_cornerStep,i,v,r,P[0],x[0]),v=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,C,p,d,i,v,r),v=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,f,l,this.m_cornerStep,i,v,r,b[0],y[0]);let S=!1;return i||(S=this.checkAndPrepForPole(r)),w||S}bufferPoint2D(e,t,s){s.setEmpty(),s.addPathPoint2D(null,0,!0);const n=0;ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,n,s);let i=!1;return t||(i=this.checkAndPrepForPole(s)),i}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),s=this.checkAndPrepForPoleWrap(e);return t||s}checkAndPrepForPoleTouch(e){const t=new _;return e.queryEnvelope(t),!(!M(t.ymax,this.m_gcs90)&&!M(t.ymin,-this.m_gcs90))&&(this.prepPoleTouch(e),!0)}checkAndPrepForPoleWrap(e){const t=e.getXY(0),s=e.getXY(e.getPointCount()-1);return Math.abs(t.x-s.x)>this.m_gcs180?(this.prepSinglePoleWrap(e),!0):this.checkAndPrepForDoublePoleWrap(e)}checkAndPrepForDoublePoleWrap(e){return e.calculateArea2D()<0&&(this.prepDoublePoleWrap(e),!0)}prepPoleTouch(e){const t=new j;t.insertPath2D(-1,null,0,0,!0);const s=e.getPathStart(0),n=e.getPathEnd(0),i=n-s;let r=-1;for(r=s;r<n;r++){const t=e.getXY(r),s=M(t.y,this.m_gcs90),n=M(t.y,-this.m_gcs90);if(!s&&!n)break}let o=r,m=!1,a=Number.NaN;do{const n=e.getXY(o),r=M(n.y,this.m_gcs90),h=M(n.y,-this.m_gcs90),c=s+(o+1-s)%i;if(r||h){let s=ee.construct(a,n.y);t.insertPoint2D(0,-1,s);const i=e.getXY(c),r=M(i.y,this.m_gcs90),o=M(i.y,-this.m_gcs90);r||o||(s=ee.construct(i.x,n.y),m?t.setXY(t.getPointCount()-1,s):t.insertPoint2D(0,-1,s)),m=!0}else t.insertPoint2D(0,-1,n),a=n.x,m=!1;o=c}while(o!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new j,s=new j,n=new Q,i=e.getXY(e.getPathStart(0)),r=e.getXY(e.getPathEnd(0)-1),o=this.m_gcs360,m=this.m_gcs180,a=new _;a.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const h=new _;e.queryEnvelope(h);const c=Math.ceil(h.width()/o);let u,l;i.x>r.x?(u=-o,l=this.m_gcs90):(u=o,l=-this.m_gcs90),n.setShiftCoords(u,0),t.addPath(e,0,!0),s.add(t,!1);const f=new U;for(let _=0;_<c;_++)s.applyTransformation(n),s.getPointByVal(0,f),t.lineToPoint(f),t.addSegmentsFromPath(s,0,0,s.getSegmentCount()-1,!1);const d=t.getXY(0),g=t.getXY(t.getPointCount()-1);d.y=l,g.y=l,t.lineTo(g);const p=new ee;for(p.setCoordsPoint2D(g),p.x-=.5*u;Math.abs(p.x-d.x)>m;)t.lineTo(p),p.x-=.5*u;t.lineTo(d);const P=a.getCenterX(),x=new _;t.queryEnvelope(x);let b=0;const y=x.getCenter().x;y-P>m?b=-Math.ceil((y-P-m)/o):P-y>m&&(b=Math.ceil((P-y-m)/o)),0!==b&&(n.setShiftCoords(b*o,0),t.applyTransformation(n));const w=new F,C=w.addGeometry(t);G(w,C,this.m_gcs,0,2,!0,a.xmin),G(w,C,this.m_gcs,0,2,!0,a.xmax);const v=w.getGeometry(C),S=L(v,a);S.inflateCoords(0,1);const D=J(null,S,!0).total(),I=ie(v,a,D,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(I,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new _;n.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=n.getCenter().x,r=new _;e.queryPathEnvelope(0,r);let o,m=0,a=r.getCenter().x;if(a-i>s?m=-Math.ceil((a-i-s)/t):i-a>s&&(m=Math.ceil((i-a-s)/t)),0!==m){const s=new Q;s.setShiftCoords(m*t,0),e.getImpl().applyTransformationToPath(s,0),e.queryPathEnvelope(0,r),a=r.getCenter().x}const h=new _;n.containsExclusiveEnvelope(r)?(o=!1,h.setCoords({env2D:n})):(o=!0,h.setCoords({env2D:n}),h.xmin-=t,h.xmax+=t);let c=e.createInstance();c.addPathPoint2D(null,0,!0);const u=new ee;if(u.setCoords(h.xmin,h.ymin),c.insertPoint2D(0,-1,u),u.setCoords(h.xmin,h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(.5*(h.xmin+h.xmax),h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(h.xmax,h.ymax),c.insertPoint2D(0,-1,u),u.setCoords(h.xmax,h.ymin),c.insertPoint2D(0,-1,u),u.setCoords(.5*(h.xmin+h.xmax),h.ymin),c.insertPoint2D(0,-1,u),o){c.addPath(e,0,!0);const s=new Q;a<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),c.addPath(e,0,!0);const r=new F,o=r.addGeometry(c);G(r,o,this.m_gcs,0,2,!0,n.xmin),G(r,o,this.m_gcs,0,2,!0,n.xmax),c=r.getGeometry(o);const m=L(c,n);m.inflateCoords(0,1);const h=J(null,m,!0).total();c=ie(c,n,h,Number.NaN,this.m_progressTracker)}else c.addPath(e,0,!0);e.setEmpty(),e.add(c,!1)}setMinCornerStep(){const e={stack:[],error:void 0,hasError:!1};try{let s=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);s=Math.min(s,.125*this.m_a*Math.PI);const n=new ee;n.setCoords(0,10*this.m_rpu);const i=0;let r=45*this.m_rpu;const o=X(e,new te(new T,new T),!1),m=X(e,new te(new T,new T),!1),a=X(e,new te(new T,new T),!1),h=X(e,new te(new T,new T),!1),c=new ee,u=new ee,l=new ee,_=new ee;for(N.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,i,o.at(0),o.at(1)),c.setCoords(o.at(0).val,o.at(1).val),N.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,r,m.at(0),m.at(1)),u.setCoords(m.at(0).val,m.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const t=.5*(i+r);N.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,t,a.at(0),a.at(1)),l.setCoords(a.at(0).val,a.at(1).val);const o=X(e,new T,!1),f=X(e,new T,!1);N.geodeticDistance(this.m_a,this.m_eSquared,c.x,c.y,u.x,u.y,o,f,null,2),N.geodeticCoordinate(this.m_a,this.m_eSquared,c.x,c.y,.5*o.val,f.val,h.at(0),h.at(1),2),_.setCoords(h.at(0).val,h.at(1).val);const d=X(e,new T,!1);N.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,d,null,null,2);if(d.val<=this.m_convergenceOffset)break;r*=.9,N.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,s,r,m.at(0),m.at(1)),u.setCoords(m.at(0).val,m.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{Y(e)}}const f=r-i,d=2*Math.PI/Math.ceil(2*Math.PI/f);this.m_cornerStep=d}catch(s){e.error=s,e.hasError=!0}finally{Y(e)}}setMinSegmentStep(){const e={stack:[],error:void 0,hasError:!1};try{let n=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);n=Math.min(n,.125*this.m_a*Math.PI);const i=new ee,r=new ee;i.setCoords(0,10*this.m_rpu),r.setCoords(10*this.m_rpu,10*this.m_rpu);const o=X(e,new T,!1),m=X(e,new T,!1),a=X(e,new T,!1);N.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,r.x,r.y,a,o,m,this.m_curveType);const h=X(e,new te(new T,new T),!1),c=X(e,new te(new T,new T),!1),u=new ee,l=X(e,new T,!1),_=X(e,new te(new T,new T),!1),f=X(e,new te(new T,new T),!1),d=X(e,new te(new T,new T),!1),g=X(e,new te(new T,new T),!1),p=new ee,P=new ee,x=new ee,b=new ee,y=0;let w=1;const C=o.val,v=m.val,S=C-.5*Math.PI,D=v+.5*Math.PI,I=a.val;for(N.geodesicCoordinate(this.m_a,this.m_eSquared,i.x,i.y,n,S,_.at(0),_.at(1)),p.setCoords(_.at(0).val,_.at(1).val),N.geodesicCoordinate(this.m_a,this.m_eSquared,r.x,r.y,n,D,f.at(0),f.at(1)),P.setCoords(f.at(0).val,f.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const s=.5*(y+w);N.geodeticCoordinate(this.m_a,this.m_eSquared,i.x,i.y,s*I,C,h.at(0),h.at(1),this.m_curveType),u.setCoords(h.at(0).val,h.at(1).val),N.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,u.x,u.y,null,null,l,this.m_curveType);const o=l.val+.5*Math.PI;N.geodesicCoordinate(this.m_a,this.m_eSquared,u.x,u.y,n,o,d.at(0),d.at(1)),x.setCoords(d.at(0).val,d.at(1).val);const m=X(e,new T,!1),a=X(e,new T,!1);N.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,P.x,P.y,m,a,null,2),N.geodeticCoordinate(this.m_a,this.m_eSquared,p.x,p.y,.5*m.val,a.val,g.at(0),g.at(1),2),b.setCoords(g.at(0).val,g.at(1).val);const _=X(e,new T,!1);N.geodeticDistance(this.m_a,this.m_eSquared,x.x,x.y,b.x,b.y,_,null,null,2);if(_.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{w*=.9,N.geodeticCoordinate(this.m_a,this.m_eSquared,i.x,i.y,w*I,C,c.at(0),c.at(1),this.m_curveType),r.setCoords(c.at(0).val,c.at(1).val);const t=X(e,new T,!1);N.geodeticDistance(this.m_a,this.m_eSquared,i.x,i.y,r.x,r.y,null,null,t,this.m_curveType);const s=t.val+.5*Math.PI;N.geodesicCoordinate(this.m_a,this.m_eSquared,r.x,r.y,n,s,f.at(0),f.at(1)),P.setCoords(f.at(0).val,f.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{Y(e)}}}catch(s){e.error=s,e.hasError=!0}finally{Y(e)}}let G=w*I;G>1e5&&(G=1e5),this.m_segmentStep=G}catch(n){e.error=n,e.hasError=!0}finally{Y(e)}}setConvergenceOffset(){let e;e=this.m_absDistance>5e4?100:this.m_absDistance>1e4?10:1,this.m_absDistance/e<500&&(e=this.m_absDistance/500),e<.01&&(e=.01),this.m_convergenceOffset=e}}function he(e,t,s,n,i,r,o){if(e.isEmpty())return new j({vd:e.getDescription()});let f=e;if(a(f)){const e=10*t.getTolerance(0);f=(new oe).execute(f,0,e,0,o,12e3)}const y=new ae(o);y.m_sr=t,y.m_gcs=t.getGCS(),y.m_transform=d(t,y.m_gcs,null);const w=k();y.m_gcs.querySpheroidData(w);const C=new _;f.queryEnvelope(C),y.m_a=w.majorSemiAxis,y.m_eSquared=w.e2,y.m_rpu=y.m_gcs.getUnit().getUnitToBaseFactor(),y.m_gcs90=.5*Math.PI/y.m_rpu,y.m_gcs180=Math.PI/y.m_rpu,y.m_gcs360=2*Math.PI/y.m_rpu,y.m_gcs60=y.m_gcs360/6,y.m_q90=g.q90(y.m_a,y.m_eSquared),y.m_ellipticToGeodesicMaxRatio=.5*y.m_a*Math.PI/y.m_q90;const v=y.m_gcs.getTolerance(0);y.m_radTolerance=v*y.m_rpu,4===s?(y.m_curveType=2,y.m_bShapePreserving=!0):(y.m_curveType=s,y.m_bShapePreserving=!1),y.m_distance=n,y.m_absDistance=Math.abs(n),Number.isNaN(i)||i<=0?y.setConvergenceOffset():y.m_convergenceOffset=Math.max(i,.001),y.m_convergenceOffset/=r;let S,D=f.getGeometryType();if(h(D)){const e=new O({vd:f.getDescription()});e.addSegment(f,!0),S=e,D=m.enumPolyline}else if(D===m.enumEnvelope){const e=f,t=new _;e.queryEnvelope(t);const s=W(J(y.m_sr,C,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new U({vd:f.getDescription()});e.getCenter(t),S=t,D=m.enumPoint}else{const t=new O({vd:f.getDescription()});t.addEnvelope(e,!1),S=t,D=m.enumPolyline}else{const t=new j({vd:f.getDescription()});t.addEnvelope(e,!1),S=t,D=m.enumPolygon}}else S=f;if(y.setMinCornerStep(),c(D)||y.setMinSegmentStep(),y.m_absDistance<=.5*y.m_convergenceOffset)return D!==m.enumPolygon?new j({vd:S.getDescription()}):y.m_bShapePreserving?S:p(S,y.m_sr,y.m_curveType,y.m_segmentStep,-1,o);if(y.m_distance<0&&D!==m.enumPolygon)return new j({vd:S.getDescription()});if(y.m_bShapePreserving&&u(D)){const e=p(S,t,4,Number.NaN,y.m_convergenceOffset,o);S=(new P).execute(e,y.m_transform,o)}else S=(new P).execute(S,y.m_transform,o);if(S=x(S,y.m_gcs),S.isEmpty())return new j({vd:S.getDescription()});!y.m_bShapePreserving&&u(D)&&(S=b(y.m_rpu,S)),S=fe(S,y.m_gcs);let I=new j;switch(D){case m.enumPolygon:I=y.bufferPolygon(S);break;case m.enumPolyline:I=y.bufferPolyline(S);break;case m.enumMultiPoint:I=y.bufferMultiPoint(S);break;case m.enumPoint:I=y.bufferPoint(S);break;default:l("")}const G=(new P).execute(I,y.m_transform.getInverse(),o);return G.mergeVertexDescription(S.getDescription()),G}function ce(e,t,s,n,i,r,o,m,a,h,c){const u={stack:[],error:void 0,hasError:!1};try{const l=new ee;l.setNAN(),a||c.getPointCount()>0&&(l.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),l.scale(s));const _=X(u,new T,!1),f=X(u,new te(new T,new T),!1),d=new ee,g=new ee,p=r.at(-1),P=1/s;for(let s=0;s<r.length;s++){const u=r[s];let x;0===s?x=o:s===r.length-1?x=m:(N.geodeticDistance(e,t,p.x,p.y,u.x,u.y,null,null,_,i),x=_.val-.5*Math.PI),N.geodesicCoordinate(e,t,u.x,u.y,n,x,f.at(0),f.at(1)),a?g.setCoords(f.at(0).val,f.at(1).val):(d.setCoords(f.at(0).val,f.at(1).val),h=_e(u.x,d.x,l.x,h),g.setCoords(h+d.x,d.y),l.setCoordsPoint2D(g)),g.scale(P),c.insertPoint2D(0,-1,g)}return h}catch(l){u.error=l,u.hasError=!0}finally{Y(u)}}function ue(e,t,s,n,i,r,o,m,a,h,c,u=Number.NaN,l=Number.NaN){const _={stack:[],error:void 0,hasError:!1};try{if(o-r<m)return h;const f=X(_,new te(new T,new T),!1),d=new ee,g=new ee,p=new ee;g.setNAN(),a||c.getPointCount()>0&&(g.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),g.scale(s));let P=Math.ceil(r/m),x=P++*m;x===r&&(x=P++*m);let b=r;const y=1/s;for(;x<o+m&&(b<u&&u<x?(x=u,P--):b<l&&l<x&&(x=l,P--),!(x>=o));)N.geodesicCoordinate(e,t,i.x,i.y,n,x,f.at(0),f.at(1)),a?p.setCoords(f.at(0).val,f.at(1).val):(d.setCoords(f.at(0).val,f.at(1).val),h=_e(i.x,d.x,g.x,h),p.setCoords(h+d.x,d.y),g.setCoordsPoint2D(p)),p.scale(y),c.insertPoint2D(0,-1,p),b=x,x=P++*m;return h}catch(f){_.error=f,_.hasError=!0}finally{Y(_)}}function le(e,t,s,n,i,r,o,m,a,h,c){const u={stack:[],error:void 0,hasError:!1};try{const s=new ee,l=new ee,_=X(u,new te(new T,new T),!1);N.geodesicCoordinate(e,t,i.x,i.y,n,r,_.at(0),_.at(1)),s.setCoords(_.at(0).val,_.at(1).val),N.geodesicCoordinate(e,t,i.x,i.y,n,o,_.at(0),_.at(1)),l.setCoords(_.at(0).val,_.at(1).val);const f=X(u,new T,!1);for(N.geodeticDistance(e,t,m.x,m.y,s.x,s.y,null,f,null,0),h[0]=f.val,N.geodeticDistance(e,t,m.x,m.y,l.x,l.y,null,f,null,0),c[0]=f.val;h[0]<=c[0];)h[0]+=se;for(;h[0]>c[0];)h[0]-=se;for(;h[0]>=a;)h[0]-=se,c[0]-=se;for(;h[0]<a;)h[0]+=se,c[0]+=se}catch(l){u.error=l,u.hasError=!0}finally{Y(u)}}function _e(e,t,s,n){if(Number.isNaN(s)){for(;n+t-e>Math.PI;)n-=se;for(;e-(n+t)>Math.PI;)n+=se;return n}return n+t-s>Math.PI?n-=se:s-(n+t)>Math.PI&&(n+=se),n}function fe(e,t){const s=e.getGeometryType();let n;if(n=u(s)?e.getPathCount():s===m.enumMultiPoint?e.getPointCount():1,1===n)return e;const i=[],r=[];for(let m=0;m<n;m++){i.push(m);const n=new ee;if(u(s)){const t=new _;e.queryPathEnvelope(m,t),n.assign(t.getCenter())}else n.assign(e.getXY(m));const o=t.toGeohash(n);r.push(o)}i.sort(((e,t)=>r[e]<r[t]?-1:r[e]>r[t]?1:0));const o=e.createInstance();for(let m=0;m<n;m++){const t=i[m];u(s)?o.addPath(e,t,!0):o.addPoints(e,t,t+1)}return o}function de(e,t,s,n,i,r){const o={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const m=s[0],a=s.at(-1),h=X(o,new T,!1),c=X(o,new T,!1),u=X(o,new T,!1);N.greatEllipticDistance(e,t,i.x,i.y,m.x,m.y,h,null,null),N.greatEllipticDistance(e,t,i.x,i.y,a.x,a.y,c,null,null),N.greatEllipticDistance(e,t,m.x,m.y,a.x,a.y,u,null,null);let l=Math.min(h.val,c.val)+u.val,_=l+n;if(_<r)return!0;const f=X(o,new T,!1);l=Math.max(h.val,c.val);for(let n=1;n<s.length-1;n++){const r=s[n];N.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,f,null,null),f.val>l&&(l=f.val)}return _=l+n,_<r}catch(m){o.error=m,o.hasError=!0}finally{Y(o)}}function ge(e,t,s,n,i,r,o,m){let a;if(n.length%2==0){const e=n.length>>1,t=n[e],s=n[e-1];a=ee.lerp(t,s,.5)}else{a=n[n.length-1>>1].clone()}const h=a.clone(),c=E(e,t,h,75/180*Math.PI);return!!de(e,t,n,i,h,c)&&(null!==r&&(r.setCoordsPoint2D(a),r.scale(1/s)),null!==o&&o.setCoordsPoint2D(h),null!==m&&(m[0]=c),!0)}function pe(e,t,s,n,i,r){const o={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const m=X(o,new T,!1);N.greatEllipticDistance(e,t,i.x,i.y,s.x,s.y,m,null,null);return m.val+n<r}catch(m){o.error=m,o.hasError=!0}finally{Y(o)}}function Pe(e,t,s,n,i,r,o,m){const a=E(e,t,n,75/180*Math.PI);return!!pe(e,t,n,i,n,a)&&(null!==r&&(r.setCoordsPoint2D(n),r.scale(1/s)),null!==o&&o.setCoordsPoint2D(n),null!==m&&(m[0]=a),!0)}function xe(e,t){return new A(e,t)}function be(e){return V(e,0)||K(e,0),e}class ye{constructor(e){this.m_bRunningInGnomonic=!1,this.m_bNeedsSimplify=!1,this.m_gnomonic=null,this.m_gnomonicCenterRad=new ee,this.m_minGnomonicRadius=Number.NaN,this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class we extends ye{constructor(e,t,s){super(e.m_progressTracker),this.m_segIter=null,this.m_bNextSegmentCannotJoin=!1,this.m_currentDensifiedDelta=[0],this.m_currentBufferedDelta=0,this.m_lastAzimuth=0,this.m_startAzimuth=[0],this.m_endAzimuth=[0],this.m_numWinds=0,this.m_debugCounter=0,this.m_bufferHelper=new j,this.m_densifiedPoints=[],this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new _;this.m_multiPath.queryEnvelope(n);const i=n.getCenter(),r=i.clone();r.scale(this.m_bufferer.m_rpu),this.m_gnomonic=xe(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=r.clone(),this.m_minGnomonicRadius=E(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,r,75/180*Math.PI)}next(){let e;if(this.m_bNextSegmentCannotJoin)return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e;if(null===this.m_segIter){if(this.m_segIter=this.m_multiPath.getImpl().querySegmentIterator(),!this.m_segIter.nextPath())return null;null!==this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}if(!this.m_segIter.hasNextSegment()){if(!this.m_segIter.nextPath())return null;null!=this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}let t=null;this.m_currentBufferedDelta=0,this.m_currentDensifiedDelta=[0],this.m_numWinds=0,this.m_lastAzimuth=Number.NaN,this.m_bNextSegmentCannotJoin=!1,this.m_densifiedPoints.length=0;const s=16;let n=0;const i=new ee,r=new ee;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<s;){const e=this.m_segIter.nextSegment();if(i.setCoordsPoint2D(e.getStartXY()),r.setCoordsPoint2D(e.getEndXY()),i.scale(this.m_bufferer.m_rpu),r.scale(this.m_bufferer.m_rpu),q(i,r))i.x=r.x;else if(R(i,r))r.x=i.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),n=this.m_multiPath.getPathStart(s),o=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<n&&(e=this.m_multiPath.isClosedPath(s)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(s)?n:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),R(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),q(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0;const s=z(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,r,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta);if(0===n)this.m_bRunningInGnomonic=this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(this.m_densifiedPoints));else if(this.m_bRunningInGnomonic){if(!this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}else{if(ge(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_densifiedPoints,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,null,null,null)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}if(0===s||B(i,r)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(i,this.m_bRunningInGnomonic,this.m_bufferHelper),this.m_bNextSegmentCannotJoin=!0):(this.m_bufferHelper.setEmpty(),this.m_bNextSegmentCannotJoin=this.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(s,this.m_bufferHelper)),this.m_bNextSegmentCannotJoin){this.m_segIter.previousSegment(),this.m_segIter.hasPreviousSegment()?(this.m_segIter.previousSegment(),this.m_segIter.nextSegment()):this.m_segIter.resetToFirstSegment(),null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0);break}null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0),null===t&&(t=new j,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),n++}if(this.m_currentDensifiedDelta=[0],n>0){const e=this.m_segIter.getStartPointIndex(),s=this.m_segIter.getPathIndex();for(;n>0;){if(this.m_segIter.previousSegment(),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),r.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),i.scale(this.m_bufferer.m_rpu),r.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if(q(i,r))i.x=r.x;else if(R(i,r))r.x=i.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),n=this.m_multiPath.getPathStart(s),o=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<n&&(e=this.m_multiPath.isClosedPath(s)?o-1:-1),t>o-1&&(t=this.m_multiPath.isClosedPath(s)?n:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),R(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),q(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0,z(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,r,i,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta),this.addJoinAndBufferLeftSide(t),n--}return i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=ue(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,i,this.m_lastAzimuth+.5*Math.PI,this.m_lastAzimuth+1.5*Math.PI,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,t),this.m_segIter.resetToVertex(e,s),this.m_segIter.nextSegment(),t}return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e}isSegmentBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&de(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new ee,s=new ee,n=[0];return ge(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=xe(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t){return this.m_bufferer.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(this.m_densifiedPoints,e,this.m_startAzimuth[0],this.m_endAzimuth[0],this.m_bRunningInGnomonic,t)}addJoinAndBufferLeftSide(e){const t=this.m_densifiedPoints[0];let s=Number.NaN,n=this.m_startAzimuth[0]-ne;const i=this.m_endAzimuth[0]+ne;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+ne,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+ne,n=s+Math.PI-(se-(this.m_startAzimuth[0]-this.m_lastAzimuth))),r=!(this.m_lastAzimuth>=this.m_startAzimuth[0]&&this.m_lastAzimuth-this.m_startAzimuth[0]<=Math.PI)&&!(this.m_lastAzimuth<this.m_startAzimuth[0]&&this.m_startAzimuth[0]-this.m_lastAzimuth>=Math.PI);let i=!1;if(Math.abs(n-s)<=.5*this.m_bufferer.m_cornerStep&&(r||(i=!0)),i){if(e.removePointFromPath(0,e.getPointCount()-1),!this.m_bRunningInGnomonic){const t=new ee;t.setCoordsPoint2D(e.getXY(e.getPointCount()-1)),t.scale(this.m_bufferer.m_rpu),t.x-this.m_currentBufferedDelta<-Math.PI?this.m_currentBufferedDelta-=se:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=se)}n=.5*(n+s)}else if(r){const s=new ee;s.setCoordsPoint2D(t),s.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,s)}else ue(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],s,n,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e)}this.m_startAzimuth[0]!==this.m_lastAzimuth&&this.m_numWinds++,ce(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_bufferer.m_curveType,this.m_densifiedPoints,n,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class Ce extends ye{constructor(e,t){super(e.m_progressTracker),this.m_pointIndex=-1,this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new _;this.m_multiPoint.queryEnvelope(s);const n=s.getCenter(),i=n.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=xe(this.m_bufferer.m_gcs,n),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=E(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,i,75/180*Math.PI)}next(){if(this.m_bNeedsSimplify=!1,++this.m_pointIndex===this.m_multiPoint.getPointCount())return null;const e=this.m_multiPoint.getXY(this.m_pointIndex);e.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic=this.isPointBufferInCurrentGnomonic(e),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(e));const t=new j,s=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=s,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&pe(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new ee,s=new ee,n=[0];return Pe(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=xe(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class ve{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n,i,r,o,m){if(o){const o=new Se(e,t,s,n,i,!1,r,m);return(new f).executeMany(o,t,m)}return new Se(e,t,s,n,i,!1,r,m)}execute(t,n,i,r,o,m,a){const h=new e([t]),c=[r],u=this.executeMany(h,n,i,c,o,!1,m,a).next();return u||s("geodesic buffer null output"),u}}class Se extends t{constructor(e,t,s,r,o,m,a,h){super(),this.m_currentUnionEnvelope2D=new _,this.m_index=-1,this.m_dindex=-1,this.m_progressTracker=h,m&&n(""),t||i("");0===t.getCoordinateSystemType()&&i(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=s,this.m_distances=r,this.m_convergenceOffset=o,this.m_bOutlineOnly=m,this.m_bUnion=a}next(){let e;for(;e=this.m_inputGeoms.next();)return r(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.geodesicBuffer(e,this.m_distances[this.m_dindex]);return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodesicBuffer(e,t){return me(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}export{ve as OperatorGeodesicBuffer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{t as e,d as t,G as i,c as s,g as n}from"./Geometry.js";import{P as a,z as _,L as r}from"./QuadraticBezier.js";import{O as h}from"./OperatorDensify.js";import{e as o,g as m,Q as l,a3 as p,b as u,F as c,s as g,h as d,I as f,a4 as E,a5 as P,o as S,q as A,y,a6 as x,E as R,B as M}from"./ProjectionTransformation.js";import{O as C}from"./OperatorSimplify.js";import{h as T,P as w,K as q,t as N,s as b,E as I,v,f as $,e as z,b as O,z as D,A as G,B as L}from"./Point2D.js";import{Envelope2D as k}from"./Envelope2D.js";import{a as F,v as J}from"./Envelope.js";import{O as Y}from"./OperatorClip.js";import{O as U}from"./OperatorShapePreservingLength.js";import{b as j,c as X}from"./tslib.es6.js";import{T as B}from"./Transformation2D.js";import{a as H}from"./GeodeticDistanceCalculator-Cnd3ZMKD.js";class Q{constructor(e,t,i,s,n=100){this.m_startPt=e.clone(),this.m_endPt=t.clone(),this.m_cE2=s,this.m_cE=Math.sqrt(this.m_cE2),this.m_c1By2e=1/(2*this.m_cE),this.m_cRpu=i.getGCS().getUnit().getUnitToBaseFactor(),this.isPcs=2===i.getCoordinateSystemType(),this.PEProjcs=i.getPECoordSys(),this.m_points=new Array(2*n)}setSegmentEndPoints(e,t){this.m_startPt.assign(e),this.m_endPt.assign(t)}makeFunctor(){return e=>{const t=[0,0];t[0]=this.m_startPt.x*(1-e)+this.m_endPt.x*e,t[1]=this.m_startPt.y*(1-e)+this.m_endPt.y*e,this.isPcs&&c.projToGeogCenter(this.PEProjcs,1,t,0);const i=Math.sin(t[1]*this.m_cRpu);if(0===this.m_cE2)return i;return-Math.log((1-this.m_cE*i)/(1+this.m_cE*i))*this.m_c1By2e+i/(1-this.m_cE2*i*i)}}}function V(e,t,i){const s=new k;e.queryEnvelope(s);const n=F(t,s,!0).total(),a=t.getPannableExtent();a.xmin=s.xmin-10*n,a.xmax=s.xmax+10*n;const r=(new Y).execute(e,a,t,i).getImpl().querySegmentIterator();r.stripAttributes();const h=g();t.querySpheroidData(h);const o=h.e2,m=0===o?2:1,l=new w(0,0),p=new w(0,0),u=new q(0),c=new Q(l,p,t,o,100);for(;r.nextPath();)for(;r.hasNextSegment();){const e=r.nextSegment();l.assign(e.getStartXY()),p.assign(e.getEndXY()),c.setSegmentEndPoints(l,p);const t=_(6,0,1,1e-12,1e-15,c.makeFunctor());u.pe((p.x-l.x)*t)}const d=h.majorSemiAxis;return m*d*d*(1-o)*Math.PI*u.getResult()/t.getPannableExtent().width()}function Z(e,t,i,s,n){const a=se(e,t,n);let _=K(e,a.first,i,s,n),r=1,h=0,o=0;do{if(r++,a.first*=.5,a.first<50*t.getTolerance(0))return _;a.second*=2,o=K(e,a.first,i,s,n),h=Math.abs(o-_),_=o}while(Math.abs(_)>1&&h>1e-8*Math.abs(_)&&(a.second<65e3&&r<8||r<4));return o}function K(e,t,i,s,n){const a=(new h).execute(e,t,0,0,n);let _;_=s?(new m).execute(a,s,n):a;const r=1===i.getUnit().getUnitToBaseFactor()?Math.PI/180:1,o=new k;_.queryEnvelope(o);const l=new k,p=new k,u=new k;l.setCoords({xmin:o.xmin,ymin:75*r,xmax:o.xmax,ymax:90*r}),p.setCoords({xmin:o.xmin,ymin:-60*r,xmax:o.xmax,ymax:75*r}),u.setCoords({xmin:o.xmin,ymin:-90*r,xmax:o.xmax,ymax:-60*r}),l.inflateCoords(.01*l.width(),0),p.inflateCoords(.01*p.width(),0),u.inflateCoords(.01*u.width(),0);let c=0;return c+=W(_,l,i,n),c+=W(_,p,i,n),c+=W(_,u,i,n),c}function W(e,t,i,s){const n=(new Y).execute(e,t,i,s);if(null!==n&&!n.isEmpty()){const e=new k;n.queryEnvelope(e);const{first:t,second:a}=ie(i,e,!1),_=o(i,t,null),r=(new m).execute(n,_,s).calculateArea2D();return a&&t.destroy(),r}return 0}const ee=[null,null,null,null,null,null,null];function te(e,t,i){const a=e.getUnit().getUnitToBaseFactor(),_=t.getCenter();_.scale(180*a/Math.PI);const r=new w;r.x=0,r.y=0;let h=0;if(0===h){_.y>45?(r.y=N,h=0):_.y<-45?(r.y=-N,h=1):_.x>=45&&_.x<135?(r.x=N,h=2):_.x>=135||_.x<-135?(r.x=N,h=3):_.x<-45&&_.x>=-135?(r.x=-N,h=4):(r.x=0,h=5);const e=a*Math.sqrt(b(t.xmin-t.xmax)+b(t.ymin-t.ymax)),i=r.clone(),s=t.getCenter();s.scale(a),h<2&&(i.x=s.x);if(w.distance(i,s)+.5*e>N)return null}const o=ee[h];if(null!==o&&o.getGCS().equalHorizontal(e))return o;const m=e.getText(),c=r.x,g=r.y,d=0,f=0;let E=0,P=-1;6!==h?P=l.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:(n(i),E=0,P=l.PE_PRJ_CYLINDRICAL_EQAREA);const S=p("EqualAreaPCS");let A;P===l.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${d}],PARAMETER["False_Northing",${f}],PARAMETER["Central_Meridian",${c}],PARAMETER["Latitude_of_Origin",${g}],UNIT["Meter",1.0]]`:P===l.PE_PRJ_CYLINDRICAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${d}],PARAMETER["False_Northing",${f}],PARAMETER["Central_Meridian",${c}],PARAMETER["Standard_Parallel_1",${E}],PARAMETER["Latitude_of_Origin",${g}],UNIT["Meter",1.0]]`:s("getEqualAreaPcsFixed");const y=u(A);return ee[h]&&ee[h].destroy(),ee[h]=y,y}function ie(e,t,i){const n=te(e,t,i);if(null!==n)return T(n,!1);const a=e.getText(),_=e.getUnit().getUnitToBaseFactor(),r=(t.xmin+t.width()/2)*_,h=(t.ymin+t.height()/2)*_,o=0,m=0;let c=0,g=0,d=-1;t.ymin*_>=75*Math.PI/180||t.ymax*_<=-60*Math.PI/180?d=l.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(c=(t.ymin+1/3*t.height())*_,g=(t.ymin+2/3*t.height())*_,d=l.PE_PRJ_ALBERS):(c=(t.ymin+2/3*t.height())*_,d=l.PE_PRJ_CYLINDRICAL_EQAREA);const f=p("EqualAreaPCS");let E;return d===l.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?E=`PROJCS["${f}",${a},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:d===l.PE_PRJ_ALBERS?E=`PROJCS["${f}",${a},PROJECTION["Albers"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Standard_Parallel_1",${c}],PARAMETER["Standard_Parallel_2",${g}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:d===l.PE_PRJ_CYLINDRICAL_EQAREA?E=`PROJCS["${f}",${a},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Standard_Parallel_1",${c}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:s("getEqualAreaPCSInstance"),T(u(E),!0)}function se(e,t,i){const s=e.calculateLength2D(),n=(new U).execute(e,t,i)/25e3,a=s/e.getSegmentCount()*2;let _=Math.min(a,s/n);0===_&&(_=1);return T(_,s/_)}class ne{getOperatorType(){return 10314}supportsCurves(){return!0}accelerateGeometry(e,t,i){return!1}canAccelerateGeometry(e){return!1}execute(s,n,_){if(0===n.getCoordinateSystemType()&&e(""),s.isEmpty()||s.getDimension()<2)return 0;if(t(s),s.getGeometryType()===i.enumEnvelope){const e=new a;return e.addEnvelope(s,!1),this.execute(e,n,_)}let r=s;s.getDescription().getAttributeCount()>1&&(r=s.clone(),r.dropAllAttributes());const m=(new h).execute(r,0,n.getTolerance(0),0,_);let l=null;const p=n.getGCS();p!==n&&(l=o(n,p));let u=(new C).execute(m,n,!1,_);return u.isEmpty()?0:(u===s&&(u=s.clone()),n.isPannable()?V(u,n,_):Z(u,n,p,l,_))}}function ae(){return{m_p_PCS:new w,m_factor:Number.NaN,setValues:_e,assign:re}}function _e(e,t){this.m_factor=e,this.m_p_PCS.assign(t)}function re(e){this.m_factor=e.m_factor,this.m_p_PCS.assign(e.m_p_PCS)}class he{constructor(e,t,i,s){this.m_ptStart=new J,this.m_ptEnd=new J,this.m_ptStart.assign(t),this.m_ptEnd.assign(i),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y,this.m_e=Math.sqrt(e),this.m_e2=e,this.m_c1MinusE2=1-e;const n=Math.sin(s);let a;a=0===this.m_e2?2*n:n*(G(this.m_e*n)+1/(1-this.m_e2*n*n)),this.m_baseA=a}setSegmentEndPoints(e,t){this.m_ptStart.assign(e),this.m_ptEnd.assign(t),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y}makeFunctor(){return e=>{const t=1-e,i=t*this.m_ptStart.x+e*this.m_ptEnd.x,s=t*this.m_ptStart.y+e*this.m_ptEnd.y,n=t*this.m_ptStart.z+e*this.m_ptEnd.z,a=i*i+s*s,_=n/Math.sqrt(n*n+this.m_c1MinusE2*this.m_c1MinusE2*a);let r;if(0===this.m_e2)r=2*_;else{r=_*(G(this.m_e*_)+1/(1-this.m_e2*_*_))}return(this.m_deltaY*i-this.m_deltaX*s)/a*(r-this.m_baseA)}}}function oe(){return{e:Number.NaN,one_p_e:Number.NaN,one_m_e:Number.NaN,one_m_e_2:Number.NaN,atanh_e_over_e:Number.NaN,half_qp:Number.NaN,f:Number.NaN,z:Number.NaN}}function me(){return{sin_phi:Number.NaN,one_p_sin_phi:Number.NaN,one_m_sin_phi:Number.NaN,one_m_e_2_sin_2_phi:Number.NaN,sin_half_phi_pf:Number.NaN,sin_half_phi_pz:Number.NaN,sin_half_asin_e_sin_phi_pf:Number.NaN,sin_half_asin_e_sin_phi_pz:Number.NaN,atanh_sin_phi:Number.NaN,atanh_esin_phi:Number.NaN,make_negative:!1,initialize:le,changeSign:pe,assign:ue,clone:ce}}function le(e,t,i,s){const n=.5*e;this.sin_phi=Math.sin(e);const a=t*this.sin_phi,_=.5*Math.asin(a);this.one_p_sin_phi=1+this.sin_phi,this.one_m_sin_phi=1-this.sin_phi,this.one_m_e_2_sin_2_phi=(1+a)*(1-a),this.sin_half_phi_pf=Math.sin(n+i),this.sin_half_phi_pz=Math.sin(n+s),this.sin_half_asin_e_sin_phi_pf=Math.sin(_+i),this.sin_half_asin_e_sin_phi_pz=Math.sin(_+s),this.atanh_sin_phi=Math.log(this.sin_half_phi_pf/this.sin_half_phi_pz),this.atanh_esin_phi=Math.log(this.sin_half_asin_e_sin_phi_pf/this.sin_half_asin_e_sin_phi_pz)}function pe(){this.sin_phi=-this.sin_phi;let e=this.one_p_sin_phi;this.one_p_sin_phi=this.one_m_sin_phi,this.one_m_sin_phi=e,e=this.sin_half_phi_pf,this.sin_half_phi_pf=this.sin_half_phi_pz,this.sin_half_phi_pz=e,e=this.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pf=this.sin_half_asin_e_sin_phi_pz,this.sin_half_asin_e_sin_phi_pz=e,this.atanh_sin_phi=-this.atanh_sin_phi,this.atanh_esin_phi=-this.atanh_esin_phi}function ue(e){this.sin_phi=e.sin_phi,this.one_p_sin_phi=e.one_p_sin_phi,this.one_m_sin_phi=e.one_m_sin_phi,this.one_m_e_2_sin_2_phi=e.one_m_e_2_sin_2_phi,this.sin_half_phi_pf=e.sin_half_phi_pf,this.sin_half_phi_pz=e.sin_half_phi_pz,this.sin_half_asin_e_sin_phi_pf=e.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pz=e.sin_half_asin_e_sin_phi_pz,this.atanh_sin_phi=e.atanh_sin_phi,this.atanh_esin_phi=e.atanh_esin_phi,this.make_negative=e.make_negative}function ce(){return{...this}}class ge{constructor(t,i,s){this.m_transformPCS2GCS=null,this.m_scaleToRadians=new B,this.m_scaleToDegrees=new B,this.m_progressTracker=s,n(4!==i),this.m_curveType=i,this.m_inputSR=t,t&&0!==t.getCoordinateSystemType()||e(""),this.m_inputGCS=t.getGCS(),this.m_a=0,this.m_eSquared=0,this.m_b=0,this.m_rpu=0}executePolygonGeodeticArea(e){let t,i=e.clone();if(i.dropAllAttributes(),e.hasNonLinearSegments()){i=(new h).execute(i,0,this.m_inputSR.getTolerance(0),0,this.m_progressTracker)}if(this.m_inputSR.isPannable()){const e=new k;i.queryEnvelope(e);const t=this.m_inputSR.getPannableExtent();if(!t.containsEnvelope(e)){const s=t.getCenterX()-e.getCenterX(),n=new B;n.setShiftCoords(s,0),i.applyTransformation(n),e.move(s,0);const a=new I;t.queryIntervalX(a);const _=new I;e.queryIntervalX(_),i=a.contains(_)?d(i,this.m_inputSR):(new m).foldInto360RangeGeodetic(i,this.m_inputSR,this.m_curveType)}}if(this.m_transformPCS2GCS?(i=(new C).execute(i,this.m_inputSR,!1,this.m_progressTracker),t=i.createInstance(),f(this.m_transformPCS2GCS,i,t,this.m_progressTracker)||(t=(new m).execute(i,this.m_transformPCS2GCS,this.m_progressTracker))):t=(new C).execute(i,this.m_inputGCS,!1,this.m_progressTracker),t.isEmpty())return 0;if(1===this.m_curveType){const e=g();return this.m_inputGCS.querySpheroidData(e),this.m_a=e.majorSemiAxis,this.m_eSquared=e.e2,this.loxodromeArea(t)}const s=t.getImpl();this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_scaleToRadians.setScale(this.m_rpu),s.applyTransformation(this.m_scaleToRadians),this.m_scaleToDegrees=this.m_scaleToRadians,this.m_scaleToDegrees.invertThis();const n=g();if(this.m_inputGCS.querySpheroidData(n),this.m_a=n.majorSemiAxis,this.m_b=n.minorSemiAxis,this.m_eSquared=n.e2,2===this.m_curveType)return this.executeClippedPolygonGreatEllipticArea(t);{const e={stack:[],error:void 0,hasError:!1};try{const i=E.unit(9101),s=this.m_inputGCS.getPECoordSys(),n=j(e,s.cloneAlterUnits(i),!1);let a,_,r=this.executeClippedPolygonGeodeticArea(t,n,0),h=0;do{h++,a=this.executeClippedPolygonGeodeticArea(t,n,h),_=Math.abs(a-r),r=a}while(Math.abs(a)>1&&_>1e-8*Math.abs(a)&&h<7);return a}catch(a){e.error=a,e.hasError=!0}finally{X(e)}}}executeClippedPolygonGeodeticArea(e,t,i){const s={stack:[],error:void 0,hasError:!1};try{const n=new k;e.queryEnvelope(n);const a=j(s,this.getEqualAreaPCSInstance(t,n),!1),_=e.clone();P(a,_);const r=50,h=_.getImpl().getAttributeStreamRef(0),o=e.getImpl().getAttributeStreamRef(0),m=j(s,new S,!1),l=j(s,new S,!1),p=40,u=[0,0],g=v(ae,p),d=$(p,-1),f=ae(),E=ae();let y,x;const R=a;let M=_.calculateArea2D();const C=new q(0),T=.5*Math.PI,N=1e-10*Math.abs(M)+1e-6,b=e.getPathCount();let I,O,D,G;const L=new w,F=new w,J=new w,Y=new w,U=new w,X=new w;let B,H;for(O=e.getPathStart(0),I=0;I<b;I++,O=D)for(D=e.getPathEnd(I),h.queryPoint2D(D-1<<1,J),o.queryPoint2D(D-1<<1,L),Math.abs(L.y)>T&&(L.y=z(T,L.y)),G=O;G<D;G++,J.assign(Y),L.assign(F)){if(h.queryPoint2D(G<<1,Y),o.queryPoint2D(G<<1,F),Math.abs(F.y)>T&&(F.y=z(T,F.y)),B=w.distance(J,Y),B<r||0===L.y&&0===F.y)continue;A.geodeticDistance(this.m_a,this.m_eSquared,L.x,L.y,F.x,F.y,m,l,null,this.m_curveType);const e=m.val,t=l.val;for(f.setValues(0,J),E.setValues(1,Y),x=i,g[0].assign(E),d[0]=i,y=0;y>=0;){H=.5*(f.m_factor+E.m_factor),A.geodeticCoordinate(this.m_a,this.m_eSquared,L.x,L.y,e*H,t,m,l,this.m_curveType),U.x=m.val,U.y=l.val,u[0]=U.x,u[1]=U.y,c.geogToProj(R,1,u),X.x=u[0],X.y=u[1];const i=-X.offset(f.m_p_PCS,E.m_p_PCS),s=.5*i*w.distance(f.m_p_PCS,E.m_p_PCS);if(C.pe(s),Math.abs(s)>N||Math.abs(s)>0&&x>0)E.setValues(H,X),y++,g[y].assign(E),Math.abs(s)<=N?(x--,d[y-1]=x,d[y]=x):(x=d[y-1],d[y]=x);else{if(y<=0)break;f.assign(E),y--,E.assign(g[y]),x=d[y]}}}return M+=C.getResult(),Math.abs(M)}catch(n){s.error=n,s.hasError=!0}finally{X(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],i=[],s=new w,n=new w,a=y(1,this.m_eSquared,new w(0,.5*Math.PI)),_=new q(0),r=new q(0),h=new q(0),o=new J,m=new J,l=new k;e.queryLooseEnvelope(l);let p=0;l.containsCoords(l.xmin,0)||(p=Math.abs(l.ymin)<Math.abs(l.ymax)?l.ymin:l.ymax);const u=new he(this.m_eSquared,o,m,p),c=this.m_a*this.m_a,g=e.getImpl().querySegmentIterator();for(g.stripAttributes();g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment();s.assign(e.getStartXY()),n.assign(e.getEndXY()),n.x-s.x>Math.PI?s.x+=2*Math.PI:n.x-s.x<-Math.PI&&(n.x+=2*Math.PI),this.splitSegmentCrossingItegralThreshold(e,t,i);for(let i of t)o.assign(y(this.m_a,this.m_eSquared,i.getStartXY())),m.assign(y(this.m_a,this.m_eSquared,i.getEndXY())),u.setSegmentEndPoints(o,m),this.adaptiveIntegrationWithRomberg(u,_);for(let t of i){let e=t.getStartXY(),i=t.getEndXY(),s=p;e.y<0&&(i=O(e,e=i),e.y=-e.y,i.y=-i.y,s=-s);const n=y(1,this.m_eSquared,e),_=y(1,this.m_eSquared,i),o=Math.min(e.y,i.y),m=x(this.m_eSquared,e.x,i.x,s,o);r.pe(m);const l=Math.abs(x(this.m_eSquared,e.x,i.x,o,N)),u=new J;u.setSub(n,a);const g=new J;g.setSub(_,a);const d=new J;d.setCrossProductVector(u,g);let f=c*(l-.5*d.length());f=z(f,i.x-e.x),h.pe(f)}t.length=0,i.length=0}return h.getResult()+c*(.5*(1-this.m_eSquared)*_.getResult()+r.getResult())}getEqualAreaPCSInstance(e,t){const i=t.getCenterX(),s=0,n=0;let a,_;const r=t.height();let h,o;(h=t.ymin>45*Math.PI/180||t.ymax<45*-Math.PI/180)?a=z(.5*Math.PI,t.getCenterY()):(a=t.getCenterY(),_=t.ymin+r*(2/3));const m=p("EqualAreaPCS"),u=e.toString();return o=h?E.fromString(l.PE_TYPE_PROJCS,`PROJCS["${m}", ${u}, PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${s}],PARAMETER["False_Northing", ${n}],PARAMETER["Central_Meridian", ${i}], PARAMETER["Latitude_of_Origin", ${a}], UNIT["Meter",1.0]]`):E.fromString(l.PE_TYPE_PROJCS,`PROJCS["${m}", ${u}, PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting", ${s}],PARAMETER["False_Northing", ${n}],PARAMETER["Central_Meridian", ${i}],PARAMETER["Standard_Parallel_1", ${_}],PARAMETER["Latitude_of_Origin", ${a}],UNIT["Meter",1.0]]`),o}splitSegmentCrossingItegralThreshold(e,t,i){const s=100,n=20,a=n*n,_=y(this.m_a,this.m_eSquared,new w(0,N)),h=y(this.m_a,this.m_eSquared,new w(0,-N)),o=this.splitSegmentPassingThroughPole(e);for(let m of o){const e=m.getStartXY(),o=m.getEndXY(),l=y(this.m_a,this.m_eSquared,e),p=y(this.m_a,this.m_eSquared,o),u=new w,c=new J;let g=J.sqrDistance(_,l),d=J.sqrDistance(l,p);if(g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(l.add(c.mul(n))),u.assign(R(this.m_a,this.m_eSquared,c)),i.push(new r({start:e,end:u})),e.assign(u)}if(l.assign(y(this.m_a,this.m_eSquared,e)),g=J.sqrDistance(_,p),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(p.sub(c.mul(n))),u.assign(R(this.m_a,this.m_eSquared,c)),i.push(new r({start:u,end:o})),o.assign(u)}if(l.assign(y(this.m_a,this.m_eSquared,e)),p.assign(y(this.m_a,this.m_eSquared,o)),g=J.sqrDistance(h,l),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(l.add(c.mul(n))),u.assign(R(this.m_a,this.m_eSquared,c)),i.push(new r({start:e,end:u})),e.assign(u)}if(l.assign(y(this.m_a,this.m_eSquared,e)),p.assign(y(this.m_a,this.m_eSquared,o)),g=J.sqrDistance(h,p),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(p.sub(c.mul(n))),u.assign(R(this.m_a,this.m_eSquared,c)),i.push(new r({start:u,end:o})),o.assign(u)}t.push(new r({start:e,end:o}))}}splitSegmentPassingThroughPole(e){const t={stack:[],error:void 0,hasError:!1};try{const i=[],s=new J,n=new J,a=new J,_=new w,h=20,o=3.124139361,m=10,l=e.getStartXY(),p=e.getEndXY(),u=j(t,new S,!1);if(A.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,p.x,p.y,u,null,null,2),Math.abs(p.x-l.x)>o&&u.val>h){const e=new H(new w(0,90),l.divide(this.m_rpu),p.divide(this.m_rpu),this.m_inputGCS,2,2);let t=M(e.makeFunctor(),0,1,1e-10);if(t.second<=m&&t.first>0&&t.first<1)return s.assign(y(this.m_a,this.m_eSquared,l)),n.assign(y(this.m_a,this.m_eSquared,p)),D(s,n,t.first,a),_.assign(R(this.m_a,this.m_eSquared,a)),i.push(new r({start:l,end:_})),i.push(new r({start:_,end:p})),i;if(e.setPointDistFrom(new w(0,-90)),t=M(e.makeFunctor(),0,1,1e-10),t.second<=m&&t.first>0&&t.first<1)return s.assign(y(this.m_a,this.m_eSquared,l)),n.assign(y(this.m_a,this.m_eSquared,p)),D(s,n,t.first,a),_.assign(R(this.m_a,this.m_eSquared,a)),i.push(new r({start:l,end:_})),i.push(new r({start:_,end:p})),i}return i.push(new r({start:l,end:p})),i}catch(i){t.error=i,t.hasError=!0}finally{X(t)}}adaptiveIntegrationWithRomberg(e,t){const i=e.makeFunctor();let s=0,n=1,a=i(s),r=i(n);const h=1e-17,o=1e-14;let m=(s+n)/2,l=i(m),p=Math.abs(l-a),u=Math.abs(r-l),c=0;for(;c++<32&&(p/u<.1||u/p<.1);)p<u?(t.pe(_(5,s,m,o,h,i)),s=m,a=l):(t.pe(_(5,m,n,o,h,i)),n=m,r=l),m=(s+n)/2,l=Math.abs(i(m)),p=Math.abs(l-a),u=Math.abs(r-l);t.pe(_(5,s,n,o,h,i))}loxodromeAreaHemi(e,t,i,s,n){const a=i.clone(),_=n.clone();let r,h,o,m,l,p,u,c,g,d,f,E,P,S,A,y;return a.make_negative&&a.changeSign(),_.make_negative&&_.changeSign(),f=s-t,1===Math.abs(a.sin_phi)||1===Math.abs(_.sin_phi)?e.half_qp*f:a.sin_phi===_.sin_phi?(d=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+G(e.e*a.sin_phi))*f,d):(A=Math.log(_.sin_half_phi_pf*a.sin_half_phi_pz/(_.sin_half_phi_pz*a.sin_half_phi_pf)),y=Math.log(_.sin_half_asin_e_sin_phi_pf*a.sin_half_asin_e_sin_phi_pz/(_.sin_half_asin_e_sin_phi_pz*a.sin_half_asin_e_sin_phi_pf)),1===this.m_eSquared?(l=0,r=.5*(A+_.sin_phi/_.one_m_e_2_sin_2_phi-a.sin_phi/a.one_m_e_2_sin_2_phi),h=0):(l=-2*e.atanh_e_over_e*(Math.log(_.one_p_sin_phi/a.one_p_sin_phi)-e.e*y),r=(A-e.e*y)/e.one_m_e_2,h=(Math.log(_.one_m_e_2_sin_2_phi/a.one_m_e_2_sin_2_phi)+l/e.atanh_e_over_e)/e.one_m_e_2),o=-y*(a.atanh_esin_phi+_.atanh_esin_phi),m=1/a.one_m_e_2_sin_2_phi-1/_.one_m_e_2_sin_2_phi,p=L(_.one_m_sin_phi/e.one_p_e,e.e)-L(a.one_m_sin_phi/e.one_p_e,e.e),u=L(_.one_p_sin_phi/e.one_p_e,e.e)-L(a.one_p_sin_phi/e.one_p_e,e.e),c=L(a.one_m_sin_phi/-e.one_m_e,e.e)-L(_.one_m_sin_phi/-e.one_m_e,e.e),g=L(a.one_p_sin_phi/-e.one_m_e,e.e)-L(_.one_p_sin_phi/-e.one_m_e,e.e),d=.25/r*(h+o+m+l+.5*(p+u+c+g)),d+=e.half_qp,E=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+G(e.e*a.sin_phi)),P=.5*e.one_m_e_2*_.sin_phi*(1/_.one_m_e_2_sin_2_phi+G(e.e*_.sin_phi)),P<E&&(S=E,E=P,P=S),d<E&&(d=E),d>P&&(d=P),d*=f,d)}loxodromeArea(e){const t=Math.PI/180;let i=0;const s=oe(),n=me(),a=me();s.e=Math.sqrt(this.m_eSquared),s.one_p_e=1+s.e,s.one_m_e=1-s.e,s.one_m_e_2=1-this.m_eSquared,s.atanh_e_over_e=G(s.e),this.m_eSquared>=1?s.half_qp=1:s.half_qp=.5*(1+s.atanh_e_over_e*s.one_m_e_2),s.f=.25*Math.PI,s.z=.75*Math.PI,a.initialize(0,s.e,s.f,s.z);const _=e.getPathCount(),r=new w,h=new w,o=e.getImpl().getAttributeStreamRef(0);for(let m=0;m<_;m++){const _=e.getPathStart(m),l=e.getPathEnd(m);if(!(l-_<=1)){o.queryPoint2D(2*(l-1),r);for(let e=_;e<l;e++){o.queryPoint2D(2*e,h);const m=r.y*t,l=h.y*t;if(e===_?(n.initialize(m,s.e,s.f,s.z),n.make_negative=!1):n.assign(a),a.initialize(l,s.e,s.f,s.z),a.make_negative=!1,r.y*h.y<0){if(r.y>=90&&h.y<=-90||h.y>=90&&r.y<=-90)return Number.NaN;const e=me();e.initialize(0,s.e,s.f,s.z),e.make_negative=!1;const _=n.atanh_sin_phi-s.e*n.atanh_esin_phi,o=a.atanh_sin_phi-s.e*a.atanh_esin_phi,l=(o*r.x-_*h.x)/(o-_);m<0?(n.make_negative=!0,i-=this.loxodromeAreaHemi(s,r.x*t,n,l*t,e),n.make_negative=!1,i+=this.loxodromeAreaHemi(s,l*t,e,h.x*t,a)):(i+=this.loxodromeAreaHemi(s,r.x*t,n,l*t,e),a.make_negative=!0,i-=this.loxodromeAreaHemi(s,l*t,e,h.x*t,a),a.make_negative=!1)}else r.y>=0?i+=this.loxodromeAreaHemi(s,r.x*t,n,h.x*t,a):(n.make_negative=!0,a.make_negative=!0,i-=this.loxodromeAreaHemi(s,r.x*t,n,h.x*t,a),n.make_negative=!1,a.make_negative=!1);r.assign(h)}}}return this.m_a*i*this.m_a}calculate(e){if(e.isEmpty()||e.getDimension()<2)return 0;if(e.getGeometryType()===i.enumEnvelope){const t=new a;return t.addEnvelope(e,!1),this.calculate(t)}return this.m_inputSR!==this.m_inputGCS&&null===this.m_transformPCS2GCS&&(this.m_transformPCS2GCS=o(this.m_inputSR,this.m_inputGCS,null)),this.executePolygonGeodeticArea(e)}}class de{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,i){return!1}canAccelerateGeometry(e){return!1}execute(e,i,s,n){if(t(e),4===s)return(new ne).execute(e,i,n);return new ge(i,s,n).calculate(e)}}export{de as OperatorGeodeticArea};
5
+ import{t as e,d as t,G as i,c as s,g as n}from"./Geometry.js";import{a,x as _,L as r}from"./QuadraticBezier.js";import{O as h}from"./OperatorDensify.js";import{p as o,g as m,v as l,a4 as p,aw as u,b as c,Z as g,G as d,w as E,$ as f,ax as P,ay as S,E as A,F as x,Q as y,az as R,Y as M,U as C}from"./ProjectionTransformation.js";import{n as T,P as w,K as q,l as N,s as b,E as I,p as v,j as $,e as z,b as O,w as D,x as G,y as L}from"./Point2D.js";import{Envelope2D as k}from"./Envelope2D.js";import{a as F,h as J}from"./Envelope.js";import{O as Y}from"./OperatorClip.js";import{O as U}from"./OperatorShapePreservingLength.js";import{b as j,c as X}from"./tslib.es6.js";import{T as B}from"./Transformation2D.js";import{a as H}from"./GeodeticDistanceCalculator-BsWHOuqE.js";class Q{constructor(e,t,i,s,n=100){this.m_startPt=e.clone(),this.m_endPt=t.clone(),this.m_cE2=s,this.m_cE=Math.sqrt(this.m_cE2),this.m_c1By2e=1/(2*this.m_cE),this.m_cRpu=i.getGCS().getUnit().getUnitToBaseFactor(),this.isPcs=2===i.getCoordinateSystemType(),this.PEProjcs=i.getPECoordSys(),this.m_points=new Array(2*n)}setSegmentEndPoints(e,t){this.m_startPt.assign(e),this.m_endPt.assign(t)}makeFunctor(){return e=>{const t=[0,0];t[0]=this.m_startPt.x*(1-e)+this.m_endPt.x*e,t[1]=this.m_startPt.y*(1-e)+this.m_endPt.y*e,this.isPcs&&g.projToGeogCenter(this.PEProjcs,1,t,0);const i=Math.sin(t[1]*this.m_cRpu);if(0===this.m_cE2)return i;return-Math.log((1-this.m_cE*i)/(1+this.m_cE*i))*this.m_c1By2e+i/(1-this.m_cE2*i*i)}}}function V(e,t,i){const s=new k;e.queryEnvelope(s);const n=F(t,s,!0).total(),a=t.getPannableExtent();a.xmin=s.xmin-10*n,a.xmax=s.xmax+10*n;const r=(new Y).execute(e,a,t,i).getImpl().querySegmentIterator();r.stripAttributes();const h=d();t.querySpheroidData(h);const o=h.e2,m=0===o?2:1,l=new w(0,0),p=new w(0,0),u=new q(0),c=new Q(l,p,t,o,100);for(;r.nextPath();)for(;r.hasNextSegment();){const e=r.nextSegment();l.assign(e.getStartXY()),p.assign(e.getEndXY()),c.setSegmentEndPoints(l,p);const t=_(6,0,1,1e-12,1e-15,c.makeFunctor());u.pe((p.x-l.x)*t)}const g=h.majorSemiAxis;return m*g*g*(1-o)*Math.PI*u.getResult()/t.getPannableExtent().width()}function Z(e,t,i,s,n){const a=se(e,t,n);let _=W(e,a.first,i,s,n),r=1,h=0,o=0;do{if(r++,a.first*=.5,a.first<50*t.getTolerance(0))return _;a.second*=2,o=W(e,a.first,i,s,n),h=Math.abs(o-_),_=o}while(Math.abs(_)>1&&h>1e-8*Math.abs(_)&&(a.second<65e3&&r<8||r<4));return o}function W(e,t,i,s,n){const a=(new h).execute(e,t,0,0,n);let _;_=s?(new l).execute(a,s,n):a;const r=1===i.getUnit().getUnitToBaseFactor()?Math.PI/180:1,o=new k;_.queryEnvelope(o);const m=new k,p=new k,u=new k;m.setCoords({xmin:o.xmin,ymin:75*r,xmax:o.xmax,ymax:90*r}),p.setCoords({xmin:o.xmin,ymin:-60*r,xmax:o.xmax,ymax:75*r}),u.setCoords({xmin:o.xmin,ymin:-90*r,xmax:o.xmax,ymax:-60*r}),m.inflateCoords(.01*m.width(),0),p.inflateCoords(.01*p.width(),0),u.inflateCoords(.01*u.width(),0);let c=0;return c+=K(_,m,i,n),c+=K(_,p,i,n),c+=K(_,u,i,n),c}function K(e,t,i,s){const n=(new Y).execute(e,t,i,s);if(null!==n&&!n.isEmpty()){const e=new k;n.queryEnvelope(e);const{first:t,second:a}=ie(i,e,!1),_=o(i,t,null),r=(new l).execute(n,_,s).calculateArea2D();return a&&t.destroy(),r}return 0}const ee=[null,null,null,null,null,null,null];function te(e,t,i){const a=e.getUnit().getUnitToBaseFactor(),_=t.getCenter();_.scale(180*a/Math.PI);const r=new w;r.x=0,r.y=0;let h=0;if(0===h){_.y>45?(r.y=N,h=0):_.y<-45?(r.y=-N,h=1):_.x>=45&&_.x<135?(r.x=N,h=2):_.x>=135||_.x<-135?(r.x=N,h=3):_.x<-45&&_.x>=-135?(r.x=-N,h=4):(r.x=0,h=5);const e=a*Math.sqrt(b(t.xmin-t.xmax)+b(t.ymin-t.ymax)),i=r.clone(),s=t.getCenter();s.scale(a),h<2&&(i.x=s.x);if(w.distance(i,s)+.5*e>N)return null}const o=ee[h];if(null!==o&&o.getGCS().equalHorizontal(e))return o;const m=e.getText(),l=r.x,g=r.y,d=0,E=0;let f=0,P=-1;6!==h?P=p.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:(n(i),f=0,P=p.PE_PRJ_CYLINDRICAL_EQAREA);const S=u("EqualAreaPCS");let A;P===p.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${d}],PARAMETER["False_Northing",${E}],PARAMETER["Central_Meridian",${l}],PARAMETER["Latitude_of_Origin",${g}],UNIT["Meter",1.0]]`:P===p.PE_PRJ_CYLINDRICAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${d}],PARAMETER["False_Northing",${E}],PARAMETER["Central_Meridian",${l}],PARAMETER["Standard_Parallel_1",${f}],PARAMETER["Latitude_of_Origin",${g}],UNIT["Meter",1.0]]`:s("getEqualAreaPcsFixed");const x=c(A);return ee[h]&&ee[h].destroy(),ee[h]=x,x}function ie(e,t,i){const n=te(e,t,i);if(null!==n)return T(n,!1);const a=e.getText(),_=e.getUnit().getUnitToBaseFactor(),r=(t.xmin+t.width()/2)*_,h=(t.ymin+t.height()/2)*_,o=0,m=0;let l=0,g=0,d=-1;t.ymin*_>=75*Math.PI/180||t.ymax*_<=-60*Math.PI/180?d=p.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(l=(t.ymin+1/3*t.height())*_,g=(t.ymin+2/3*t.height())*_,d=p.PE_PRJ_ALBERS):(l=(t.ymin+2/3*t.height())*_,d=p.PE_PRJ_CYLINDRICAL_EQAREA);const E=u("EqualAreaPCS");let f;return d===p.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?f=`PROJCS["${E}",${a},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:d===p.PE_PRJ_ALBERS?f=`PROJCS["${E}",${a},PROJECTION["Albers"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Standard_Parallel_1",${l}],PARAMETER["Standard_Parallel_2",${g}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:d===p.PE_PRJ_CYLINDRICAL_EQAREA?f=`PROJCS["${E}",${a},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${o}],PARAMETER["False_Northing",${m}],PARAMETER["Central_Meridian",${r}],PARAMETER["Standard_Parallel_1",${l}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:s("getEqualAreaPCSInstance"),T(c(f),!0)}function se(e,t,i){const s=e.calculateLength2D(),n=(new U).execute(e,t,i)/25e3,a=s/e.getSegmentCount()*2;let _=Math.min(a,s/n);0===_&&(_=1);return T(_,s/_)}class ne{getOperatorType(){return 10314}supportsCurves(){return!0}accelerateGeometry(e,t,i){return!1}canAccelerateGeometry(e){return!1}execute(s,n,_){if(0===n.getCoordinateSystemType()&&e(""),s.isEmpty()||s.getDimension()<2)return 0;if(t(s),s.getGeometryType()===i.enumEnvelope){const e=new a;return e.addEnvelope(s,!1),this.execute(e,n,_)}let r=s;s.getDescription().getAttributeCount()>1&&(r=s.clone(),r.dropAllAttributes());const l=(new h).execute(r,0,n.getTolerance(0),0,_);let p=null;const u=n.getGCS();u!==n&&(p=o(n,u));let c=(new m).execute(l,n,!1,_);return c.isEmpty()?0:(c===s&&(c=s.clone()),n.isPannable()?V(c,n,_):Z(c,n,u,p,_))}}function ae(){return{m_p_PCS:new w,m_factor:Number.NaN,setValues:_e,assign:re}}function _e(e,t){this.m_factor=e,this.m_p_PCS.assign(t)}function re(e){this.m_factor=e.m_factor,this.m_p_PCS.assign(e.m_p_PCS)}class he{constructor(e,t,i,s){this.m_ptStart=new J,this.m_ptEnd=new J,this.m_ptStart.assign(t),this.m_ptEnd.assign(i),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y,this.m_e=Math.sqrt(e),this.m_e2=e,this.m_c1MinusE2=1-e;const n=Math.sin(s);let a;a=0===this.m_e2?2*n:n*(G(this.m_e*n)+1/(1-this.m_e2*n*n)),this.m_baseA=a}setSegmentEndPoints(e,t){this.m_ptStart.assign(e),this.m_ptEnd.assign(t),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y}makeFunctor(){return e=>{const t=1-e,i=t*this.m_ptStart.x+e*this.m_ptEnd.x,s=t*this.m_ptStart.y+e*this.m_ptEnd.y,n=t*this.m_ptStart.z+e*this.m_ptEnd.z,a=i*i+s*s,_=n/Math.sqrt(n*n+this.m_c1MinusE2*this.m_c1MinusE2*a);let r;if(0===this.m_e2)r=2*_;else{r=_*(G(this.m_e*_)+1/(1-this.m_e2*_*_))}return(this.m_deltaY*i-this.m_deltaX*s)/a*(r-this.m_baseA)}}}function oe(){return{e:Number.NaN,one_p_e:Number.NaN,one_m_e:Number.NaN,one_m_e_2:Number.NaN,atanh_e_over_e:Number.NaN,half_qp:Number.NaN,f:Number.NaN,z:Number.NaN}}function me(){return{sin_phi:Number.NaN,one_p_sin_phi:Number.NaN,one_m_sin_phi:Number.NaN,one_m_e_2_sin_2_phi:Number.NaN,sin_half_phi_pf:Number.NaN,sin_half_phi_pz:Number.NaN,sin_half_asin_e_sin_phi_pf:Number.NaN,sin_half_asin_e_sin_phi_pz:Number.NaN,atanh_sin_phi:Number.NaN,atanh_esin_phi:Number.NaN,make_negative:!1,initialize:le,changeSign:pe,assign:ue,clone:ce}}function le(e,t,i,s){const n=.5*e;this.sin_phi=Math.sin(e);const a=t*this.sin_phi,_=.5*Math.asin(a);this.one_p_sin_phi=1+this.sin_phi,this.one_m_sin_phi=1-this.sin_phi,this.one_m_e_2_sin_2_phi=(1+a)*(1-a),this.sin_half_phi_pf=Math.sin(n+i),this.sin_half_phi_pz=Math.sin(n+s),this.sin_half_asin_e_sin_phi_pf=Math.sin(_+i),this.sin_half_asin_e_sin_phi_pz=Math.sin(_+s),this.atanh_sin_phi=Math.log(this.sin_half_phi_pf/this.sin_half_phi_pz),this.atanh_esin_phi=Math.log(this.sin_half_asin_e_sin_phi_pf/this.sin_half_asin_e_sin_phi_pz)}function pe(){this.sin_phi=-this.sin_phi;let e=this.one_p_sin_phi;this.one_p_sin_phi=this.one_m_sin_phi,this.one_m_sin_phi=e,e=this.sin_half_phi_pf,this.sin_half_phi_pf=this.sin_half_phi_pz,this.sin_half_phi_pz=e,e=this.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pf=this.sin_half_asin_e_sin_phi_pz,this.sin_half_asin_e_sin_phi_pz=e,this.atanh_sin_phi=-this.atanh_sin_phi,this.atanh_esin_phi=-this.atanh_esin_phi}function ue(e){this.sin_phi=e.sin_phi,this.one_p_sin_phi=e.one_p_sin_phi,this.one_m_sin_phi=e.one_m_sin_phi,this.one_m_e_2_sin_2_phi=e.one_m_e_2_sin_2_phi,this.sin_half_phi_pf=e.sin_half_phi_pf,this.sin_half_phi_pz=e.sin_half_phi_pz,this.sin_half_asin_e_sin_phi_pf=e.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pz=e.sin_half_asin_e_sin_phi_pz,this.atanh_sin_phi=e.atanh_sin_phi,this.atanh_esin_phi=e.atanh_esin_phi,this.make_negative=e.make_negative}function ce(){return{...this}}class ge{constructor(t,i,s){this.m_transformPCS2GCS=null,this.m_scaleToRadians=new B,this.m_scaleToDegrees=new B,this.m_progressTracker=s,n(4!==i),this.m_curveType=i,this.m_inputSR=t,t&&0!==t.getCoordinateSystemType()||e(""),this.m_inputGCS=t.getGCS(),this.m_a=0,this.m_eSquared=0,this.m_b=0,this.m_rpu=0}executePolygonGeodeticArea(e){let t,i=e.clone();if(i.dropAllAttributes(),e.hasNonLinearSegments()){i=(new h).execute(i,0,this.m_inputSR.getTolerance(0),0,this.m_progressTracker)}if(this.m_inputSR.isPannable()){const e=new k;i.queryEnvelope(e);const t=this.m_inputSR.getPannableExtent();if(!t.containsEnvelope(e)){const s=t.getCenterX()-e.getCenterX(),n=new B;n.setShiftCoords(s,0),i.applyTransformation(n),e.move(s,0);const a=new I;t.queryIntervalX(a);const _=new I;e.queryIntervalX(_),i=a.contains(_)?E(i,this.m_inputSR):(new l).foldInto360RangeGeodetic(i,this.m_inputSR,this.m_curveType)}}if(this.m_transformPCS2GCS?(i=(new m).execute(i,this.m_inputSR,!1,this.m_progressTracker),t=i.createInstance(),f(this.m_transformPCS2GCS,i,t,this.m_progressTracker)||(t=(new l).execute(i,this.m_transformPCS2GCS,this.m_progressTracker))):t=(new m).execute(i,this.m_inputGCS,!1,this.m_progressTracker),t.isEmpty())return 0;if(1===this.m_curveType){const e=d();return this.m_inputGCS.querySpheroidData(e),this.m_a=e.majorSemiAxis,this.m_eSquared=e.e2,this.loxodromeArea(t)}const s=t.getImpl();this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_scaleToRadians.setScale(this.m_rpu),s.applyTransformation(this.m_scaleToRadians),this.m_scaleToDegrees=this.m_scaleToRadians,this.m_scaleToDegrees.invertThis();const n=d();if(this.m_inputGCS.querySpheroidData(n),this.m_a=n.majorSemiAxis,this.m_b=n.minorSemiAxis,this.m_eSquared=n.e2,2===this.m_curveType)return this.executeClippedPolygonGreatEllipticArea(t);{const e={stack:[],error:void 0,hasError:!1};try{const i=P.unit(9101),s=this.m_inputGCS.getPECoordSys(),n=j(e,s.cloneAlterUnits(i),!1);let a,_,r=this.executeClippedPolygonGeodeticArea(t,n,0),h=0;do{h++,a=this.executeClippedPolygonGeodeticArea(t,n,h),_=Math.abs(a-r),r=a}while(Math.abs(a)>1&&_>1e-8*Math.abs(a)&&h<7);return a}catch(a){e.error=a,e.hasError=!0}finally{X(e)}}}executeClippedPolygonGeodeticArea(e,t,i){const s={stack:[],error:void 0,hasError:!1};try{const n=new k;e.queryEnvelope(n);const a=j(s,this.getEqualAreaPCSInstance(t,n),!1),_=e.clone();S(a,_);const r=50,h=_.getImpl().getAttributeStreamRef(0),o=e.getImpl().getAttributeStreamRef(0),m=j(s,new A,!1),l=j(s,new A,!1),p=40,u=[0,0],c=v(ae,p),d=$(p,-1),E=ae(),f=ae();let P,y;const R=a;let M=_.calculateArea2D();const C=new q(0),T=.5*Math.PI,N=1e-10*Math.abs(M)+1e-6,b=e.getPathCount();let I,O,D,G;const L=new w,F=new w,J=new w,Y=new w,U=new w,X=new w;let B,H;for(O=e.getPathStart(0),I=0;I<b;I++,O=D)for(D=e.getPathEnd(I),h.queryPoint2D(D-1<<1,J),o.queryPoint2D(D-1<<1,L),Math.abs(L.y)>T&&(L.y=z(T,L.y)),G=O;G<D;G++,J.assign(Y),L.assign(F)){if(h.queryPoint2D(G<<1,Y),o.queryPoint2D(G<<1,F),Math.abs(F.y)>T&&(F.y=z(T,F.y)),B=w.distance(J,Y),B<r||0===L.y&&0===F.y)continue;x.geodeticDistance(this.m_a,this.m_eSquared,L.x,L.y,F.x,F.y,m,l,null,this.m_curveType);const e=m.val,t=l.val;for(E.setValues(0,J),f.setValues(1,Y),y=i,c[0].assign(f),d[0]=i,P=0;P>=0;){H=.5*(E.m_factor+f.m_factor),x.geodeticCoordinate(this.m_a,this.m_eSquared,L.x,L.y,e*H,t,m,l,this.m_curveType),U.x=m.val,U.y=l.val,u[0]=U.x,u[1]=U.y,g.geogToProj(R,1,u),X.x=u[0],X.y=u[1];const i=-X.offset(E.m_p_PCS,f.m_p_PCS),s=.5*i*w.distance(E.m_p_PCS,f.m_p_PCS);if(C.pe(s),Math.abs(s)>N||Math.abs(s)>0&&y>0)f.setValues(H,X),P++,c[P].assign(f),Math.abs(s)<=N?(y--,d[P-1]=y,d[P]=y):(y=d[P-1],d[P]=y);else{if(P<=0)break;E.assign(f),P--,f.assign(c[P]),y=d[P]}}}return M+=C.getResult(),Math.abs(M)}catch(n){s.error=n,s.hasError=!0}finally{X(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],i=[],s=new w,n=new w,a=y(1,this.m_eSquared,new w(0,.5*Math.PI)),_=new q(0),r=new q(0),h=new q(0),o=new J,m=new J,l=new k;e.queryLooseEnvelope(l);let p=0;l.containsCoords(l.xmin,0)||(p=Math.abs(l.ymin)<Math.abs(l.ymax)?l.ymin:l.ymax);const u=new he(this.m_eSquared,o,m,p),c=this.m_a*this.m_a,g=e.getImpl().querySegmentIterator();for(g.stripAttributes();g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment();s.assign(e.getStartXY()),n.assign(e.getEndXY()),n.x-s.x>Math.PI?s.x+=2*Math.PI:n.x-s.x<-Math.PI&&(n.x+=2*Math.PI),this.splitSegmentCrossingItegralThreshold(e,t,i);for(let i of t)o.assign(y(this.m_a,this.m_eSquared,i.getStartXY())),m.assign(y(this.m_a,this.m_eSquared,i.getEndXY())),u.setSegmentEndPoints(o,m),this.adaptiveIntegrationWithRomberg(u,_);for(let t of i){let e=t.getStartXY(),i=t.getEndXY(),s=p;e.y<0&&(i=O(e,e=i),e.y=-e.y,i.y=-i.y,s=-s);const n=y(1,this.m_eSquared,e),_=y(1,this.m_eSquared,i),o=Math.min(e.y,i.y),m=R(this.m_eSquared,e.x,i.x,s,o);r.pe(m);const l=Math.abs(R(this.m_eSquared,e.x,i.x,o,N)),u=new J;u.setSub(n,a);const g=new J;g.setSub(_,a);const d=new J;d.setCrossProductVector(u,g);let E=c*(l-.5*d.length());E=z(E,i.x-e.x),h.pe(E)}t.length=0,i.length=0}return h.getResult()+c*(.5*(1-this.m_eSquared)*_.getResult()+r.getResult())}getEqualAreaPCSInstance(e,t){const i=t.getCenterX(),s=0,n=0;let a,_;const r=t.height();let h,o;(h=t.ymin>45*Math.PI/180||t.ymax<45*-Math.PI/180)?a=z(.5*Math.PI,t.getCenterY()):(a=t.getCenterY(),_=t.ymin+r*(2/3));const m=u("EqualAreaPCS"),l=e.toString();return o=h?P.fromString(p.PE_TYPE_PROJCS,`PROJCS["${m}", ${l}, PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${s}],PARAMETER["False_Northing", ${n}],PARAMETER["Central_Meridian", ${i}], PARAMETER["Latitude_of_Origin", ${a}], UNIT["Meter",1.0]]`):P.fromString(p.PE_TYPE_PROJCS,`PROJCS["${m}", ${l}, PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting", ${s}],PARAMETER["False_Northing", ${n}],PARAMETER["Central_Meridian", ${i}],PARAMETER["Standard_Parallel_1", ${_}],PARAMETER["Latitude_of_Origin", ${a}],UNIT["Meter",1.0]]`),o}splitSegmentCrossingItegralThreshold(e,t,i){const s=100,n=20,a=n*n,_=y(this.m_a,this.m_eSquared,new w(0,N)),h=y(this.m_a,this.m_eSquared,new w(0,-N)),o=this.splitSegmentPassingThroughPole(e);for(let m of o){const e=m.getStartXY(),o=m.getEndXY(),l=y(this.m_a,this.m_eSquared,e),p=y(this.m_a,this.m_eSquared,o),u=new w,c=new J;let g=J.sqrDistance(_,l),d=J.sqrDistance(l,p);if(g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(l.add(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:e,end:u})),e.assign(u)}if(l.assign(y(this.m_a,this.m_eSquared,e)),g=J.sqrDistance(_,p),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(p.sub(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:u,end:o})),o.assign(u)}if(l.assign(y(this.m_a,this.m_eSquared,e)),p.assign(y(this.m_a,this.m_eSquared,o)),g=J.sqrDistance(h,l),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(l.add(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:e,end:u})),e.assign(u)}if(l.assign(y(this.m_a,this.m_eSquared,e)),p.assign(y(this.m_a,this.m_eSquared,o)),g=J.sqrDistance(h,p),d=J.sqrDistance(l,p),g<=s){if(!(d>a)){i.push(new r({start:e,end:o}));continue}c.assign(p.sub(l)),c.normalizeThis(),c.assign(p.sub(c.mul(n))),u.assign(M(this.m_a,this.m_eSquared,c)),i.push(new r({start:u,end:o})),o.assign(u)}t.push(new r({start:e,end:o}))}}splitSegmentPassingThroughPole(e){const t={stack:[],error:void 0,hasError:!1};try{const i=[],s=new J,n=new J,a=new J,_=new w,h=20,o=3.124139361,m=10,l=e.getStartXY(),p=e.getEndXY(),u=j(t,new A,!1);if(x.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,p.x,p.y,u,null,null,2),Math.abs(p.x-l.x)>o&&u.val>h){const e=new H(new w(0,90),l.divide(this.m_rpu),p.divide(this.m_rpu),this.m_inputGCS,2,2);let t=C(e.makeFunctor(),0,1,1e-10);if(t.second<=m&&t.first>0&&t.first<1)return s.assign(y(this.m_a,this.m_eSquared,l)),n.assign(y(this.m_a,this.m_eSquared,p)),D(s,n,t.first,a),_.assign(M(this.m_a,this.m_eSquared,a)),i.push(new r({start:l,end:_})),i.push(new r({start:_,end:p})),i;if(e.setPointDistFrom(new w(0,-90)),t=C(e.makeFunctor(),0,1,1e-10),t.second<=m&&t.first>0&&t.first<1)return s.assign(y(this.m_a,this.m_eSquared,l)),n.assign(y(this.m_a,this.m_eSquared,p)),D(s,n,t.first,a),_.assign(M(this.m_a,this.m_eSquared,a)),i.push(new r({start:l,end:_})),i.push(new r({start:_,end:p})),i}return i.push(new r({start:l,end:p})),i}catch(i){t.error=i,t.hasError=!0}finally{X(t)}}adaptiveIntegrationWithRomberg(e,t){const i=e.makeFunctor();let s=0,n=1,a=i(s),r=i(n);const h=1e-17,o=1e-14;let m=(s+n)/2,l=i(m),p=Math.abs(l-a),u=Math.abs(r-l),c=0;for(;c++<32&&(p/u<.1||u/p<.1);)p<u?(t.pe(_(5,s,m,o,h,i)),s=m,a=l):(t.pe(_(5,m,n,o,h,i)),n=m,r=l),m=(s+n)/2,l=Math.abs(i(m)),p=Math.abs(l-a),u=Math.abs(r-l);t.pe(_(5,s,n,o,h,i))}loxodromeAreaHemi(e,t,i,s,n){const a=i.clone(),_=n.clone();let r,h,o,m,l,p,u,c,g,d,E,f,P,S,A,x;return a.make_negative&&a.changeSign(),_.make_negative&&_.changeSign(),E=s-t,1===Math.abs(a.sin_phi)||1===Math.abs(_.sin_phi)?e.half_qp*E:a.sin_phi===_.sin_phi?(d=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+G(e.e*a.sin_phi))*E,d):(A=Math.log(_.sin_half_phi_pf*a.sin_half_phi_pz/(_.sin_half_phi_pz*a.sin_half_phi_pf)),x=Math.log(_.sin_half_asin_e_sin_phi_pf*a.sin_half_asin_e_sin_phi_pz/(_.sin_half_asin_e_sin_phi_pz*a.sin_half_asin_e_sin_phi_pf)),1===this.m_eSquared?(l=0,r=.5*(A+_.sin_phi/_.one_m_e_2_sin_2_phi-a.sin_phi/a.one_m_e_2_sin_2_phi),h=0):(l=-2*e.atanh_e_over_e*(Math.log(_.one_p_sin_phi/a.one_p_sin_phi)-e.e*x),r=(A-e.e*x)/e.one_m_e_2,h=(Math.log(_.one_m_e_2_sin_2_phi/a.one_m_e_2_sin_2_phi)+l/e.atanh_e_over_e)/e.one_m_e_2),o=-x*(a.atanh_esin_phi+_.atanh_esin_phi),m=1/a.one_m_e_2_sin_2_phi-1/_.one_m_e_2_sin_2_phi,p=L(_.one_m_sin_phi/e.one_p_e,e.e)-L(a.one_m_sin_phi/e.one_p_e,e.e),u=L(_.one_p_sin_phi/e.one_p_e,e.e)-L(a.one_p_sin_phi/e.one_p_e,e.e),c=L(a.one_m_sin_phi/-e.one_m_e,e.e)-L(_.one_m_sin_phi/-e.one_m_e,e.e),g=L(a.one_p_sin_phi/-e.one_m_e,e.e)-L(_.one_p_sin_phi/-e.one_m_e,e.e),d=.25/r*(h+o+m+l+.5*(p+u+c+g)),d+=e.half_qp,f=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+G(e.e*a.sin_phi)),P=.5*e.one_m_e_2*_.sin_phi*(1/_.one_m_e_2_sin_2_phi+G(e.e*_.sin_phi)),P<f&&(S=f,f=P,P=S),d<f&&(d=f),d>P&&(d=P),d*=E,d)}loxodromeArea(e){const t=Math.PI/180;let i=0;const s=oe(),n=me(),a=me();s.e=Math.sqrt(this.m_eSquared),s.one_p_e=1+s.e,s.one_m_e=1-s.e,s.one_m_e_2=1-this.m_eSquared,s.atanh_e_over_e=G(s.e),this.m_eSquared>=1?s.half_qp=1:s.half_qp=.5*(1+s.atanh_e_over_e*s.one_m_e_2),s.f=.25*Math.PI,s.z=.75*Math.PI,a.initialize(0,s.e,s.f,s.z);const _=e.getPathCount(),r=new w,h=new w,o=e.getImpl().getAttributeStreamRef(0);for(let m=0;m<_;m++){const _=e.getPathStart(m),l=e.getPathEnd(m);if(!(l-_<=1)){o.queryPoint2D(2*(l-1),r);for(let e=_;e<l;e++){o.queryPoint2D(2*e,h);const m=r.y*t,l=h.y*t;if(e===_?(n.initialize(m,s.e,s.f,s.z),n.make_negative=!1):n.assign(a),a.initialize(l,s.e,s.f,s.z),a.make_negative=!1,r.y*h.y<0){if(r.y>=90&&h.y<=-90||h.y>=90&&r.y<=-90)return Number.NaN;const e=me();e.initialize(0,s.e,s.f,s.z),e.make_negative=!1;const _=n.atanh_sin_phi-s.e*n.atanh_esin_phi,o=a.atanh_sin_phi-s.e*a.atanh_esin_phi,l=(o*r.x-_*h.x)/(o-_);m<0?(n.make_negative=!0,i-=this.loxodromeAreaHemi(s,r.x*t,n,l*t,e),n.make_negative=!1,i+=this.loxodromeAreaHemi(s,l*t,e,h.x*t,a)):(i+=this.loxodromeAreaHemi(s,r.x*t,n,l*t,e),a.make_negative=!0,i-=this.loxodromeAreaHemi(s,l*t,e,h.x*t,a),a.make_negative=!1)}else r.y>=0?i+=this.loxodromeAreaHemi(s,r.x*t,n,h.x*t,a):(n.make_negative=!0,a.make_negative=!0,i-=this.loxodromeAreaHemi(s,r.x*t,n,h.x*t,a),n.make_negative=!1,a.make_negative=!1);r.assign(h)}}}return this.m_a*i*this.m_a}calculate(e){if(e.isEmpty()||e.getDimension()<2)return 0;if(e.getGeometryType()===i.enumEnvelope){const t=new a;return t.addEnvelope(e,!1),this.calculate(t)}return this.m_inputSR!==this.m_inputGCS&&null===this.m_transformPCS2GCS&&(this.m_transformPCS2GCS=o(this.m_inputSR,this.m_inputGCS,null)),this.executePolygonGeodeticArea(e)}}class de{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,i){return!1}canAccelerateGeometry(e){return!1}execute(e,i,s,n){if(t(e),4===s)return(new ne).execute(e,i,n);return new ge(i,s,n).calculate(e)}}export{de as OperatorGeodeticArea};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{S as e,G as t}from"./SimpleGeometryCursor.js";import{c as r,b as s,t as n,d as i}from"./Geometry.js";import{f as m}from"./ProjectionTransformation.js";class o{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,r,s,n){return new a(e,r,s,t,-1,-1,n)}execute(t,s,n,i,m){const o=new e([t]),a=this.executeMany(o,s,n,i,m).next();return a||r("null output"),a}}class a extends t{constructor(e,t,r,i,m,o,a){super(),this.m_progressTracker=a,o>0&&s(""),4!==r&&m>0&&s(""),t||n("");0===t.getCoordinateSystemType()&&n(""),i>0||m>0||n(""),this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=r,this.m_maxLengthMeters=i,this.m_maxDeviationMeters=m,this.m_maxAngle=o}next(){{let e;for(;e=this.m_inputGeoms.next();)return i(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.geodeticDensify(e);return null}}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodeticDensify(e){return m(e,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}export{o as OperatorGeodeticDensifyByLength,a as OperatorGeodeticDensifyCursor};
5
+ import{S as e,G as t}from"./SimpleGeometryCursor.js";import{c as r,b as s,t as n,d as i}from"./Geometry.js";import{u as m}from"./ProjectionTransformation.js";class o{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,r,s,n){return new a(e,r,s,t,-1,-1,n)}execute(t,s,n,i,m){const o=new e([t]),a=this.executeMany(o,s,n,i,m).next();return a||r("null output"),a}}class a extends t{constructor(e,t,r,i,m,o,a){super(),this.m_progressTracker=a,o>0&&s(""),4!==r&&m>0&&s(""),t||n("");0===t.getCoordinateSystemType()&&n(""),i>0||m>0||n(""),this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=r,this.m_maxLengthMeters=i,this.m_maxDeviationMeters=m,this.m_maxAngle=o}next(){{let e;for(;e=this.m_inputGeoms.next();)return i(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.geodeticDensify(e);return null}}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodeticDensify(e){return m(e,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}export{o as OperatorGeodeticDensifyByLength,a as OperatorGeodeticDensifyCursor};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{b as e,c as r}from"./tslib.es6.js";import{t,d as o}from"./Geometry.js";import{G as s,m as a}from"./GeodeticDistanceCalculator-Cnd3ZMKD.js";class u{getOperatorType(){return 10316}supportsCurves(){return!0}accelerateGeometry(e,r,t){return!1}canAccelerateGeometry(e){return!1}execute(e,r,t,o,s){return this.executeEx(e,r,t,o,s,null,null,Number.NaN)}executeEx(u,n,c,i,m,l,p,y){const N={stack:[],error:void 0,hasError:!1};try{if(0===c.getCoordinateSystemType()&&t(""),o(u),o(n),u.isEmpty()||n.isEmpty())return Number.NaN;Number.isNaN(y)&&(y=Number.MAX_VALUE);const r=e(N,new s(c,i,m,y,1),!1),E=a(),b=a(),x=r.calculate(u,n,E,b);return l&&l.outPoint.assign(E.outPoint),p&&p.outPoint.assign(b.outPoint),x}catch(E){N.error=E,N.hasError=!0}finally{r(N)}}}export{u as OperatorGeodeticDistance,a as makeOutput};
5
+ import{b as e,c as r}from"./tslib.es6.js";import{t,d as s}from"./Geometry.js";import{G as o,m as a}from"./GeodeticDistanceCalculator-BsWHOuqE.js";class u{getOperatorType(){return 10316}supportsCurves(){return!0}accelerateGeometry(e,r,t){return!1}canAccelerateGeometry(e){return!1}execute(e,r,t,s,o){return this.executeEx(e,r,t,s,o,null,null,Number.NaN)}executeEx(u,n,c,i,m,l,p,y){const N={stack:[],error:void 0,hasError:!1};try{if(0===c.getCoordinateSystemType()&&t(""),s(u),s(n),u.isEmpty()||n.isEmpty())return Number.NaN;Number.isNaN(y)&&(y=Number.MAX_VALUE);const r=e(N,new o(c,i,m,y,1),!1),E=a(),b=a(),x=r.calculate(u,n,E,b);return l&&l.outPoint.assign(E.outPoint),p&&p.outPoint.assign(b.outPoint),x}catch(E){N.error=E,N.hasError=!0}finally{r(N)}}}export{u as OperatorGeodeticDistance,a as makeOutput};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{b as e,c as t}from"./tslib.es6.js";import{t as r,d as n,G as o,f as s}from"./Geometry.js";import{O as a}from"./OperatorShapePreservingLength.js";import{b as i,a as c}from"./QuadraticBezier.js";import{E as m}from"./Point2D.js";import{h as u,H as g,I as l,g as p,o as f,q as y,s as x}from"./ProjectionTransformation.js";import{O as h}from"./OperatorDensify.js";class d{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}execute(e,t,f,y){if(4===f)return(new a).execute(e,t,y);if(0===t.getCoordinateSystemType()&&r(""),n(e),e.isEmpty()||e.getDimension()<1)return 0;const d=t.getGCS(),S=x();d.querySpheroidData(S);const P=S.majorSemiAxis,j=S.e2,E=d.getUnit().getUnitToBaseFactor();let G;const T=e.getGeometryType();if(T===o.enumPolygon?G=e.getBoundary():T===o.enumEnvelope?G=i(e):s(T)?(G=new c({vd:e.getDescription()}),G.addSegment(e,!0)):G=e,G.hasNonLinearSegments()){G=(new h).execute(G,0,t.getTolerance(0),0,y)}if(d!==t){const r=t.getSRToGCSTransform();if(t.isPannable()){G=u(G,t),T===o.enumPolyline&&G===e&&(G=e.clone());const r=new m;t.getPannableExtent().queryIntervalX(r);for(let e=0,t=G.getPointCount();e<t;e++){const t=G.getXY(e);t.x=g(t.x,r),G.setXY(e,t)}}const n=G.createInstance();G=l(r,G,n,y)?n:(new p).execute(G,r,y)}return this._ExecuteMultiPathGeodeticLength(G,f,P,j,E)}_ExecuteMultiPathGeodeticLength(r,n,o,s,a){const i={stack:[],error:void 0,hasError:!1};try{const t=e(i,new f,!1);let c=0;const m=r.querySegmentIterator();for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),r=e.getStartXY(),i=e.getEndXY();r.scale(a),i.scale(a),y.geodeticDistance(o,s,r.x,r.y,i.x,i.y,t,null,null,n),c+=t.val}return c}catch(c){i.error=c,i.hasError=!0}finally{t(i)}}}export{d as OperatorGeodeticLength};
5
+ import{b as e,c as t}from"./tslib.es6.js";import{t as r,d as n,G as o,f as s}from"./Geometry.js";import{O as a}from"./OperatorShapePreservingLength.js";import{c as i,P as c}from"./QuadraticBezier.js";import{E as m}from"./Point2D.js";import{w as u,_ as g,$ as l,v as p,E as f,F as y,G as x}from"./ProjectionTransformation.js";import{O as h}from"./OperatorDensify.js";class d{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}execute(e,t,f,y){if(4===f)return(new a).execute(e,t,y);if(0===t.getCoordinateSystemType()&&r(""),n(e),e.isEmpty()||e.getDimension()<1)return 0;const d=t.getGCS(),S=x();d.querySpheroidData(S);const P=S.majorSemiAxis,E=S.e2,G=d.getUnit().getUnitToBaseFactor();let j;const v=e.getGeometryType();if(v===o.enumPolygon?j=e.getBoundary():v===o.enumEnvelope?j=i(e):s(v)?(j=new c({vd:e.getDescription()}),j.addSegment(e,!0)):j=e,j.hasNonLinearSegments()){j=(new h).execute(j,0,t.getTolerance(0),0,y)}if(d!==t){const r=t.getSRToGCSTransform();if(t.isPannable()){j=u(j,t),v===o.enumPolyline&&j===e&&(j=e.clone());const r=new m;t.getPannableExtent().queryIntervalX(r);for(let e=0,t=j.getPointCount();e<t;e++){const t=j.getXY(e);t.x=g(t.x,r),j.setXY(e,t)}}const n=j.createInstance();j=l(r,j,n,y)?n:(new p).execute(j,r,y)}return this._ExecuteMultiPathGeodeticLength(j,f,P,E,G)}_ExecuteMultiPathGeodeticLength(r,n,o,s,a){const i={stack:[],error:void 0,hasError:!1};try{const t=e(i,new f,!1);let c=0;const m=r.querySegmentIterator();for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),r=e.getStartXY(),i=e.getEndXY();r.scale(a),i.scale(a),y.geodeticDistance(o,s,r.x,r.y,i.x,i.y,t,null,null,n),c+=t.val}return c}catch(c){i.error=c,i.hasError=!0}finally{t(i)}}}export{d as OperatorGeodeticLength};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{G as e}from"./SimpleGeometryCursor.js";import{E as t,n as s,P as r}from"./QuadraticBezier.js";import{d as n,G as o,g as a,t as i}from"./Geometry.js";import{Envelope2D as m}from"./Envelope2D.js";import{e as l,m as h,P as g}from"./Envelope.js";import{O as u,h as c}from"./OperatorSimplify.js";import{d as p,h as y,q as P,C as _}from"./CrackAndCluster-CHWFqqYQ.js";class d{getOperatorType(){return 10700}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}executeMany(e,t,s,r=1){return new f(e,t,s,r)}}class f extends e{constructor(e,t,s,r){super(),this.m_progressTracker=s,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_currentGeometry=null,this.m_singlePartIndex=-1,this.m_singlePartCount=-1,this.m_polygonStart=-1,this.m_index=-1,this.m_options=r}tock(){return!0}getRank(){return 1}next(){if(this.m_singlePartIndex===this.m_singlePartCount){const e=this.m_inputGeoms.next();if(null===e)return null;if(n(e),e.getGeometryType()===o.enumPolygon)if(1===this.m_options)this.m_currentGeometry=(new u).execute(e,this.m_spatialReference,!1,this.m_progressTracker);else if(2===this.m_options)if(e.getPathCount()<2)this.m_currentGeometry=e;else{const n=[0],o=e.getImpl().getIsSimple(0,n);if(l(o))this.m_currentGeometry=e;else{const n=new t,o=n.addGeometry(e);let i=null;if(n.hasCurves()){i=new _;const t=new m;e.queryEnvelope(t);const s=h(null,e,!0),r=p(s.total(),t);y(n,r,s.total(),12e3,null,i,null,this.m_progressTracker)}const l=n.createPathUserIndex();{let e=0;for(let t=n.getFirstPath(o);t!==s;t=n.getNextPath(t))n.setPathUserIndex(t,l,e++)}const g=c(n,o,this.m_progressTracker);a(g>=0);const u=[];for(let e=n.getFirstPath(o);e!==s;e=n.getNextPath(e))u.push(e);u.sort(((e,t)=>Math.abs(n.getPathUserIndex(e,g))-Math.abs(n.getPathUserIndex(t,g))));const P=e,d=new r({vd:e.getDescription()});d.reserveParts(P.getPointCount(),P.getPathCount());for(let e=0,t=u.length;e<t;e++){const t=u[e],s=n.getPathUserIndex(t,l),r=P.calculateRingArea2D(s)>0,o=n.getPathUserIndex(t,g)>=0;d.addPath(P,s,r===o)}this.m_currentGeometry=d}}else i("");else this.m_currentGeometry=e;this.m_singlePartCount=I(this.m_currentGeometry),this.m_singlePartIndex=0,this.m_polygonStart=0,this.m_index=this.m_inputGeoms.getGeometryID()}const e=this.getSingleGeometry(this.m_singlePartIndex,this.m_singlePartCount,this.m_polygonStart,this.m_currentGeometry);return e.getGeometryType()===o.enumPolygon&&(this.m_polygonStart+=e.getPathCount()),this.m_singlePartIndex++,e}getGeometryID(){return this.m_index}getSingleGeometry(e,t,s,r){let n=null;switch(r.getGeometryType()){case o.enumMultiPoint:n=new g({vd:r.getDescription()}),r.isEmpty()||r.getPointByVal(e,n);break;case o.enumPolyline:if(1===t)n=r;else{n=r.createInstance(),n.getImpl().addPath(r.getImpl(),e,!0);const t=[0],s=r.getImpl().getIsSimple(0,t);n.getImpl().setIsSimple(s,t[0],!0)}break;case o.enumPolygon:if(1===t)n=r;else{n=r.createInstance();const e=n.getImpl(),t=r.getImpl(),o=t.getPathFlagsStreamRef();let a=s;const i=t.getPathCount();do{e.addPath(t,a,!0),a++}while(a<i&&!(8&o.read(a)));e.getPathFlagsStreamRef().setBits(0,8);const m=[0],l=t.getIsSimple(0,m);e.setIsSimple(l,m[0],!0)}break;default:n=r}return n}}function I(e){return e.isEmpty()?1:P(e)}export{d as O};
5
+ import{G as e}from"./SimpleGeometryCursor.js";import{E as t,n as s,a as r}from"./QuadraticBezier.js";import{d as n,G as o,g as a,t as i}from"./Geometry.js";import{Envelope2D as m}from"./Envelope2D.js";import{i as l,b as g,P as h}from"./Envelope.js";import{g as u,k as c,n as p,o as P,q as y,C as _}from"./ProjectionTransformation.js";class d{getOperatorType(){return 10700}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}executeMany(e,t,s,r=1){return new I(e,t,s,r)}}class I extends e{constructor(e,t,s,r){super(),this.m_progressTracker=s,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_currentGeometry=null,this.m_singlePartIndex=-1,this.m_singlePartCount=-1,this.m_polygonStart=-1,this.m_index=-1,this.m_options=r}tock(){return!0}getRank(){return 1}next(){if(this.m_singlePartIndex===this.m_singlePartCount){const e=this.m_inputGeoms.next();if(null===e)return null;if(n(e),e.getGeometryType()===o.enumPolygon)if(1===this.m_options)this.m_currentGeometry=(new u).execute(e,this.m_spatialReference,!1,this.m_progressTracker);else if(2===this.m_options)if(e.getPathCount()<2)this.m_currentGeometry=e;else{const n=[0],o=e.getImpl().getIsSimple(0,n);if(l(o))this.m_currentGeometry=e;else{const n=new t,o=n.addGeometry(e);let i=null;if(n.hasCurves()){i=new _;const t=new m;e.queryEnvelope(t);const s=g(null,e,!0),r=c(s.total(),t);p(n,r,s.total(),12e3,null,i,null,this.m_progressTracker)}const l=n.createPathUserIndex();{let e=0;for(let t=n.getFirstPath(o);t!==s;t=n.getNextPath(t))n.setPathUserIndex(t,l,e++)}const h=P(n,o,this.m_progressTracker);a(h>=0);const u=[];for(let e=n.getFirstPath(o);e!==s;e=n.getNextPath(e))u.push(e);u.sort(((e,t)=>Math.abs(n.getPathUserIndex(e,h))-Math.abs(n.getPathUserIndex(t,h))));const y=e,d=new r({vd:e.getDescription()});d.reserveParts(y.getPointCount(),y.getPathCount());for(let e=0,t=u.length;e<t;e++){const t=u[e],s=n.getPathUserIndex(t,l),r=y.calculateRingArea2D(s)>0,o=n.getPathUserIndex(t,h)>=0;d.addPath(y,s,r===o)}this.m_currentGeometry=d}}else i("");else this.m_currentGeometry=e;this.m_singlePartCount=f(this.m_currentGeometry),this.m_singlePartIndex=0,this.m_polygonStart=0,this.m_index=this.m_inputGeoms.getGeometryID()}const e=this.getSingleGeometry(this.m_singlePartIndex,this.m_singlePartCount,this.m_polygonStart,this.m_currentGeometry);return e.getGeometryType()===o.enumPolygon&&(this.m_polygonStart+=e.getPathCount()),this.m_singlePartIndex++,e}getGeometryID(){return this.m_index}getSingleGeometry(e,t,s,r){let n=null;switch(r.getGeometryType()){case o.enumMultiPoint:n=new h({vd:r.getDescription()}),r.isEmpty()||r.getPointByVal(e,n);break;case o.enumPolyline:if(1===t)n=r;else{n=r.createInstance(),n.getImpl().addPath(r.getImpl(),e,!0);const t=[0],s=r.getImpl().getIsSimple(0,t);n.getImpl().setIsSimple(s,t[0],!0)}break;case o.enumPolygon:if(1===t)n=r;else{n=r.createInstance();const e=n.getImpl(),t=r.getImpl(),o=t.getPathFlagsStreamRef();let a=s;const i=t.getPathCount();do{e.addPath(t,a,!0),a++}while(a<i&&!(8&o.read(a)));e.getPathFlagsStreamRef().setBits(0,8);const m=[0],l=t.getIsSimple(0,m);e.setIsSimple(l,m[0],!0)}break;default:n=r}return n}}function f(e){return e.isEmpty()?1:y(e)}export{d as O};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{t as e,b as t,G as r}from"./Geometry.js";import{Envelope2D as s}from"./Envelope2D.js";import{m as n,a as o,c as i}from"./SideCalculator2D-Bf4QCxCR.js";import{c as a}from"./Envelope.js";import{P as u}from"./Point2D.js";import{i as c}from"./CrackAndCluster-CHWFqqYQ.js";class m{getOperatorType(){return 10500}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}getNearestCoordinate(s,o,i,a){if(o.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return n();switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertex(s,o);case r.enumMultiPoint:return this.multiVertexGetNearestVertex(s,o);case r.enumPolyline:case r.enumPolygon:return this.multiPathGetNearestCoordinate(s,o,i,a);default:t("")}}getNearestVertex(s,o){if(o.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return n();switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertex(s,o);case r.enumMultiPoint:case r.enumPolyline:case r.enumPolygon:return this.multiVertexGetNearestVertex(s,o);default:t("")}}getNearestVertices(s,n,o,i){if(0===i&&e(""),n.isNAN()&&e("NAN xy coordinates are not allowed"),s.isEmpty())return[];switch(s.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertices(s,n,o,i);case r.enumMultiPoint:case r.enumPolyline:case r.enumPolygon:return this.multiVertexGetNearestVertices(s,n,o,i);default:t("")}}multiPathGetNearestCoordinate(t,n,m,l){if(t.getGeometryType()===r.enumPolygon&&m){const e=new s;t.queryEnvelope(e);const r=a(null,e,!1);let i;if(i=c(t,n,l?0:r),0!==i){const e=o(n,-1,0);return l&&(e.m_bRightSide=!0),e}}const g=t.querySegmentIterator(),y=new u;let N=-1,p=-1,f=Number.MAX_VALUE,d=0;for(;g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment(),t=e.getClosestCoordinate(n,!1),r=e.getCoord2D(t),s=u.sqrDistance(r,n);s<f?(d=1,y.assign(r),N=g.getStartPointIndex(),p=g.getPathIndex(),f=s):s===f&&d++}-1===N&&e("");const h=o(y,N,Math.sqrt(f));if(l)if(t.getGeometryType()!==r.enumPolygon){let e=!1;if(d>1){const r=i(t,n,N,p);e=0!==r&&3!==r}else{g.resetToVertex(N,p);const t=g.nextSegment();e=0!==i(t,n)}h.m_bRightSide=e}else if(!m){0!==c(t,n,0)&&(h.m_bRightSide=!0)}return h}pointGetNearestVertex(e,t){const r=e.getXY(),s=u.distance(r,t);return o(r,0,s)}multiVertexGetNearestVertex(e,t){const r=e.getAttributeStreamRef(0),s=e.getPointCount();let n=-1;const i=new u;let a=Number.MAX_VALUE;const c=new u;for(let o=0;o<s;o++){r.queryPoint2D(2*o,c);const e=u.sqrDistance(c,t);e<a&&(i.assign(c),n=o,a=e)}return o(i,n,Math.sqrt(a))}pointGetNearestVertices(e,t,r,s){const n=[];if(0!==s){const s=r*r,i=e.getXY(),a=u.sqrDistance(i,t);a<=s&&n.push(o(i,0,Math.sqrt(a)))}return n}multiVertexGetNearestVertices(e,t,r,s){const n=[];if(0!==s){const i=e.getAttributeStreamRef(0),a=e.getPointCount();n.length=s+1;const c=r*r;for(let e=0;e<a;e++){const r=i.read(2*e),s=i.read(2*e+1),a=t.x-r,m=t.y-s,l=a*a+m*m;l<=c&&n.push(o(u.construct(r,s),e,Math.sqrt(l)))}n.sort(((e,t)=>e.m_distance-t.m_distance))}return n.slice(0,s)}}export{m as O};
5
+ import{t as e,b as t,G as r}from"./Geometry.js";import{Envelope2D as n}from"./Envelope2D.js";import{m as s,a as o,c as i}from"./SideCalculator2D-BNwb5gvz.js";import{c as a}from"./Envelope.js";import{P as u}from"./Point2D.js";import{i as c}from"./ProjectionTransformation.js";class m{getOperatorType(){return 10500}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}getNearestCoordinate(n,o,i,a){if(o.isNAN()&&e("NAN xy coordinates are not allowed"),n.isEmpty())return s();switch(n.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertex(n,o);case r.enumMultiPoint:return this.multiVertexGetNearestVertex(n,o);case r.enumPolyline:case r.enumPolygon:return this.multiPathGetNearestCoordinate(n,o,i,a);default:t("")}}getNearestVertex(n,o){if(o.isNAN()&&e("NAN xy coordinates are not allowed"),n.isEmpty())return s();switch(n.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertex(n,o);case r.enumMultiPoint:case r.enumPolyline:case r.enumPolygon:return this.multiVertexGetNearestVertex(n,o);default:t("")}}getNearestVertices(n,s,o,i){if(0===i&&e(""),s.isNAN()&&e("NAN xy coordinates are not allowed"),n.isEmpty())return[];switch(n.getGeometryType()){case r.enumPoint:return this.pointGetNearestVertices(n,s,o,i);case r.enumMultiPoint:case r.enumPolyline:case r.enumPolygon:return this.multiVertexGetNearestVertices(n,s,o,i);default:t("")}}multiPathGetNearestCoordinate(t,s,m,l){if(t.getGeometryType()===r.enumPolygon&&m){const e=new n;t.queryEnvelope(e);const r=a(null,e,!1);let i;if(i=c(t,s,l?0:r),0!==i){const e=o(s,-1,0);return l&&(e.m_bRightSide=!0),e}}const g=t.querySegmentIterator(),y=new u;let N=-1,p=-1,f=Number.MAX_VALUE,d=0;for(;g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment(),t=e.getClosestCoordinate(s,!1),r=e.getCoord2D(t),n=u.sqrDistance(r,s);n<f?(d=1,y.assign(r),N=g.getStartPointIndex(),p=g.getPathIndex(),f=n):n===f&&d++}-1===N&&e("");const h=o(y,N,Math.sqrt(f));if(l)if(t.getGeometryType()!==r.enumPolygon){let e=!1;if(d>1){const r=i(t,s,N,p);e=0!==r&&3!==r}else{g.resetToVertex(N,p);const t=g.nextSegment();e=0!==i(t,s)}h.m_bRightSide=e}else if(!m){0!==c(t,s,0)&&(h.m_bRightSide=!0)}return h}pointGetNearestVertex(e,t){const r=e.getXY(),n=u.distance(r,t);return o(r,0,n)}multiVertexGetNearestVertex(e,t){const r=e.getAttributeStreamRef(0),n=e.getPointCount();let s=-1;const i=new u;let a=Number.MAX_VALUE;const c=new u;for(let o=0;o<n;o++){r.queryPoint2D(2*o,c);const e=u.sqrDistance(c,t);e<a&&(i.assign(c),s=o,a=e)}return o(i,s,Math.sqrt(a))}pointGetNearestVertices(e,t,r,n){const s=[];if(0!==n){const n=r*r,i=e.getXY(),a=u.sqrDistance(i,t);a<=n&&s.push(o(i,0,Math.sqrt(a)))}return s}multiVertexGetNearestVertices(e,t,r,n){const s=[];if(0!==n){const i=e.getAttributeStreamRef(0),a=e.getPointCount();s.length=n+1;const c=r*r;for(let e=0;e<a;e++){const r=i.read(2*e),n=i.read(2*e+1),a=t.x-r,m=t.y-n,l=a*a+m*m;l<=c&&s.push(o(u.construct(r,n),e,Math.sqrt(l)))}s.sort(((e,t)=>e.m_distance-t.m_distance))}return s.slice(0,n)}}export{m as O};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{b as e,c as t}from"./tslib.es6.js";import{t as n,G as s,h as o,b as r,c as i,g as a}from"./Geometry.js";import{m as c,a as m,c as l}from"./SideCalculator2D-Bf4QCxCR.js";import{P as u,e as g,S as f,s as y}from"./QuadraticBezier.js";import{m as S,P as d,f as N,b as x}from"./Point2D.js";import{P as h,v as p}from"./Envelope.js";import{G as A}from"./SimpleGeometryCursor.js";import{g as C,O as P,C as w,y as E,J as _,K as T,M as j,E as G,N as I,s as D,o as v,q as b,Q as R,R as U,S as q,T as B}from"./ProjectionTransformation.js";import{O as F}from"./OperatorShapePreservingDensify.js";class O{getOperatorType(){return 10501}supportsCurves(){return!1}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}getNearestCoordinate(e,t,y,S,N,x){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return c();if(Number.isNaN(S)&&(S=0),S>=0||n("maxDeviationMeters"),0===e.getDimension())return this.getNearestVertex(e,t,y);const A=e.getGeometryType();if(A===s.enumGeometryCollection){const n=e;let s=c();for(let e=0,o=n.getGeometryCount();e<o;++e){const o=n.getGeometry(e),r=this.getNearestCoordinate(o,t,y,S,N,x);if(!r.isEmpty()){if(0===r.m_distance)return r;r.m_distance>=s.m_distance||(s=r,s.m_geometryIndex=e)}}return s}if(A===s.enumEnvelope){const n=new u;return n.addEnvelope(e,!1),this.getNearestCoordinate(n,t,y,S,N,x)}o(A)||r("Operation is not implemented for this geometry type");const I=e;if((N||x)&&A===s.enumPolygon){const n=()=>{const e=m(t,-1,0);return e.m_bRightSide=!0,e};if(y.isPannable()){const s=(new C).foldInto360Range(new h(t),y);if(s.isEmpty())return c();const o=(new C).foldInto360Range(e,y);if(o.isEmpty())return c();if((new P).execute(o,s,y,null)&&N)return n()}else{const e=(new C).clipToSpatialReference(new h(t),y,null,1);if(e.isEmpty())return c();const s=w(I,y,0,null);if(s.isEmpty())return c();if((new P).execute(s,e,y,null)&&N)return n()}}const v=y!==y.getGCS()?y.getSRToGCSTransform():null,b=new d;if(v?(new C).transform(v,[t],1,[b],!1):b.assign(t),b.isNAN())return c();const R=Y(I,t,y,1);let U=R.m_distance;if(0===U)return R;Number.isNaN(U)?U=Number.POSITIVE_INFINITY:U*=1+1e-7;const q=y.getGCS(),B=q.getUnit().getUnitToBaseFactor(),O=b.clone();O.scale(B);const V=D();y.querySpheroidData(V);const M=E(V.majorSemiAxis,V.e2,O),L=_(V.majorSemiAxis,V.e2),Q=new X(I.querySegmentIterator());0===S&&(S=.01);const z=V.majorSemiAxis*g(45),J=(new F).executeMany(Q,y,z,S,0,null),K=[];let H=-1;const W=new p,Z=new f;for(let n=J.next();null!==n;n=J.next()){if(n.isEmpty())continue;const t=J.getGeometryID(),s=e.getPathIndexFromPointIndex(t);e.isClosedPath(s)&&I.getPathEnd(s);const o=n;for(let e=0,n=o.getPathCount();e<n;++e){K.length=0;for(let t=o.getPathStart(e),r=o.getPathEnd(e);t<r;++t)K.push(o.getXY(t));if(v&&(new C).transform(v,K,K.length,K,!1),K.length>3){const e=k(K,K.length,b,q,1);if(e.m_distance<U){U=e.m_distance,W.assign(E(V.majorSemiAxis,V.e2,e.m_coordinate.mul(B))),H=t;let n=e.m_vertexIndex;n+1===K.length&&(n-=1),o.getSegmentBuffer(n,Z,!0)}}K.forEach((e=>e.mulThis(B)));const n=E(V.majorSemiAxis,V.e2,K[0]),s=new p;for(let e=1,r=K.length;e<r;++e){const r=E(V.majorSemiAxis,V.e2,K[e]);if(T(L,M,n,r,s)<U){const{first:s,second:i}=j(V.majorSemiAxis,V.e2,M,n,r,2,null);if(i<=U){const s=new p,{first:i,second:a}=j(V.majorSemiAxis,V.e2,M,n,r,0,s);a<U&&(U=a,W.assign(s),H=t,o.getSegmentBuffer(e-1,Z,!0))}}n.assign(r)}}}if(!Number.isFinite(U))return c();-1===H&&n("");const $=G(V.majorSemiAxis,V.e2,W);$.divThis(B);const ee=$.clone(),te=y!==y.getGCS()?y.getGCSToSRTransform():null;te&&(new C).transform(te,[$],1,[ee],!1),ee.isNAN()&&i("closestPoint2DSr.isNAN()"),a(!Z.empty());const ne=Z.get().getClosestCoordinate(ee,!1);ee.assign(Z.get().getCoord2D(ne)),v?(new C).transform(v,[ee],1,[$],!1):$.assign(ee),a(!$.isNAN());const se=this.getNearestVertex(new h($),b,y.getGCS()),oe=m(ee,H,se.m_distance);if(x&&e.getDimension()>0){const n=l(e,t,-1,-1),s=0!==n&&3!==n;oe.m_bRightSide=s}return oe}getNearestVertex(e,t,o){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return c();switch(e.getGeometryType()){case s.enumPoint:return V(e,t,o);case s.enumMultiPoint:case s.enumPolyline:case s.enumPolygon:return Y(e,t,o);default:r("")}}getNearestVertexPoint2D(e,t,n,s){return k(e,t,n,s)}getNearestVertices(e,t,o,i,a){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return[];switch(e.getGeometryType()){case s.enumPoint:{const n=V(e,t,o);if(!n.isEmpty()&&n.m_distance<i&&a>=1){const e=[];return e.push(n),e}return[]}case s.enumMultiPoint:case s.enumPolyline:case s.enumPolygon:return M(e,t,o,i,a);default:r("")}}}function V(s,o,r){const i={stack:[],error:void 0,hasError:!1};try{if(0===r.getCoordinateSystemType()&&n("Cannot use local SR"),1!==r.getCoordinateSystemType()){const e=new Array(2);e[0]=s.getXY(),e[1]=o.clone();const t=S(d,2);2!==I(r,e,2,t)&&n("Point cannot be projected to GCS");const i=r.getGCS(),a=V(new h(t[0]),t[1],i);return m(a.m_coordinate,0,a.m_distance)}const t=r.getUnit().getUnitToBaseFactor(),a=s.getXY();a.scale(t);const c=o.clone();c.scale(t);const l=D();r.querySpheroidData(l);const u=e(i,new v,!1);b.geodeticDistance(l.majorSemiAxis,l.e2,a.x,a.y,c.x,c.y,u,null,null,R.PE_LINETYPE_GEODESIC);const g=s.getXY();return m(g,0,u.val)}catch(a){i.error=a,i.hasError=!0}finally{t(i)}}function Y(s,o,r,i=0){0===r.getCoordinateSystemType()&&n("Cannot use local SR");let a=s.getAttributeStreamRef(0),c=s.getPointCount();const l=r.getGCS(),u=o.clone();if(1!==r.getCoordinateSystemType()){const e=r.getSRToGCSTransform();if(U(e,[o],1,[u],null),u.isNAN())return m(d.getNAN(),-1,Number.NaN);const t=(new C).execute(s,e,null);a=t.getAttributeStreamRef(0),c=t.getPointCount()}const g=l.getUnit().getUnitToBaseFactor(),f=N(c,0);for(let e=0;e<c;++e)f[e]=e;y(c,f);const S=D();l.querySpheroidData(S);const h=u.clone();h.scale(g);const A=E(S.majorSemiAxis,S.e2,h);let P=-1,w=Number.MAX_VALUE;const _=q(S.majorSemiAxis,S.e2);let T=c;const j=new d,G=new d;for(let e=0;e<T;){if(a.queryPoint2D(2*f[e],j),j.isNAN())continue;G.assign(j),G.scale(g);const t=E(S.majorSemiAxis,S.e2,G);if(p.distance(t,A)>w){f[T-1]=x(f[e],f[e]=f[T-1]),T--;continue}const n=B(_,t,A);n<w&&(P=f[e],w=n),e++}if(0!==S.e2){const n={stack:[],error:void 0,hasError:!1};try{const t=e(n,new v,!1);for(let e=0;e<T;e++){if(a.queryPoint2D(2*f[e],j),j.isNAN())continue;G.assign(j),G.scale(g);const n=E(S.majorSemiAxis,S.e2,G);p.distance(n,A)>w||(b.geodeticDistance(S.majorSemiAxis,S.e2,h.x,h.y,G.x,G.y,t,null,null,i),t.val<w&&(P=f[e],w=t.val))}}catch(R){n.error=R,n.hasError=!0}finally{t(n)}}const I=new d;return-1!==P&&I.assign(s.getXY(P)),m(I,P,w)}function k(s,o,r,i,a=0){0===i.getCoordinateSystemType()&&n("Cannot use local SR");const l=i.getGCS(),u=r.clone();if(1!==i.getCoordinateSystemType()){const e=i.getSRToGCSTransform();if(U(e,[r],1,[u],null),u.isNAN())return c();const t=S(d,o);U(e,s,o,t,null);const n=k(t,o,r,l,a);return n.isEmpty()?n:m(s[n.m_vertexIndex],n.m_vertexIndex,n.m_distance)}const g=l.getUnit().getUnitToBaseFactor(),f=N(o,0);for(let e=0;e<o;++e)f[e]=e;y(o,f);const h=D();l.querySpheroidData(h);const A=u.clone();A.scale(g);const C=E(h.majorSemiAxis,h.e2,A);let P=-1,w=Number.MAX_VALUE;const _=q(h.majorSemiAxis,h.e2);let T=o;for(let e=0;e<T;){const t=s[f[e]];if(t.isNAN())continue;const n=t.clone();n.scale(g);const o=E(h.majorSemiAxis,h.e2,n);if(p.distance(o,C)>w){f[T-1]=x(f[e],f[e]=f[T-1]),T--;continue}const r=B(_,o,C);r<w&&(P=f[e],w=r),e++}if(0!==h.e2){const n={stack:[],error:void 0,hasError:!1};try{const t=e(n,new v,!1);for(let e=0;e<T;e++){const n=s[f[e]];if(n.isNAN())continue;const o=n.clone();o.scale(g);const r=E(h.majorSemiAxis,h.e2,o);p.distance(r,C)>w||(b.geodeticDistance(h.majorSemiAxis,h.e2,A.x,A.y,o.x,o.y,t,null,null,a),t.val<w&&(P=f[e],w=t.val))}}catch(G){n.error=G,n.hasError=!0}finally{t(n)}}const j=new d;return-1!==P&&j.assign(s[P]),m(j,P,w)}function M(s,o,r,i,a){const c={stack:[],error:void 0,hasError:!1};try{0===r.getCoordinateSystemType()&&n("Cannot use local SR");let t=s.getAttributeStreamRef(0),l=s.getPointCount();const u=r.getGCS(),g=o.clone();if(1!==r.getCoordinateSystemType()){const e=r.getSRToGCSTransform();if(U(e,[o],1,[g],null),g.isNAN())return[];const n=(new C).execute(s,e,null);t=n.getAttributeStreamRef(0),l=n.getPointCount()}const f=u.getUnit().getUnitToBaseFactor(),S=N(l,0);for(let e=0;e<l;++e)S[e]=e;y(l,S);const h=D();u.querySpheroidData(h);const A=g.clone();A.scale(f);const P=E(h.majorSemiAxis,h.e2,A),w=[];let _=l;const T=new d,j=new d;for(let e=0;e<_;){if(t.queryPoint2D(2*S[e],T),T.isNAN())continue;j.assign(T),j.scale(f);const n=E(h.majorSemiAxis,h.e2,j);p.distance(n,P)>i?(S[_-1]=x(S[e],S[e]=S[_-1]),_--):e++}const G=(e,t)=>e.m_distance-t.m_distance,I=e(c,new v,!1);for(let e=0;e<_;e++)t.queryPoint2D(2*S[e],T),T.isNAN()||(b.geodeticDistance(h.majorSemiAxis,h.e2,A.x,A.y,T.x*f,T.y*f,I,null,null,R.PE_LINETYPE_GEODESIC),I.val<i&&w.push(m(T,S[e],I.val)));return w.sort(G),w.slice(0,a)}catch(l){c.error=l,c.hasError=!0}finally{t(c)}}class X extends A{constructor(e){super(),this.m_first=!0,this.m_segIter=e,this.m_segIter.stripAttributes()}tock(){return!0}getRank(){return 1}next(){if(this.m_first){if(!this.m_segIter.nextPath())return null;this.m_first=!1}for(;;){if(this.m_segIter.hasNextSegment())return this.m_segIter.nextSegment().clone();if(!this.m_segIter.nextPath())break}return null}getGeometryID(){return this.m_segIter.getStartPointIndex()}}export{O as OperatorProximityGeodesic};
5
+ import{b as e,c as t}from"./tslib.es6.js";import{t as n,G as s,h as o,b as r,c as i,g as a}from"./Geometry.js";import{m as c,a as m,c as l}from"./SideCalculator2D-BNwb5gvz.js";import{a as u,b as g,S as f,s as y}from"./QuadraticBezier.js";import{m as S,P as d,j as N,b as x}from"./Point2D.js";import{P as h,h as p}from"./Envelope.js";import{G as A}from"./SimpleGeometryCursor.js";import{v as C,O as P,V as w,Q as E,a0 as _,a1 as j,a2 as T,Y as G,a3 as I,G as D,E as b,F as v,a4 as R,a5 as U,a6 as q,a7 as B}from"./ProjectionTransformation.js";import{O as F}from"./OperatorShapePreservingDensify.js";class V{getOperatorType(){return 10501}supportsCurves(){return!1}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}getNearestCoordinate(e,t,y,S,N,x){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return c();if(Number.isNaN(S)&&(S=0),S>=0||n("maxDeviationMeters"),0===e.getDimension())return this.getNearestVertex(e,t,y);const A=e.getGeometryType();if(A===s.enumGeometryCollection){const n=e;let s=c();for(let e=0,o=n.getGeometryCount();e<o;++e){const o=n.getGeometry(e),r=this.getNearestCoordinate(o,t,y,S,N,x);if(!r.isEmpty()){if(0===r.m_distance)return r;r.m_distance>=s.m_distance||(s=r,s.m_geometryIndex=e)}}return s}if(A===s.enumEnvelope){const n=new u;return n.addEnvelope(e,!1),this.getNearestCoordinate(n,t,y,S,N,x)}o(A)||r("Operation is not implemented for this geometry type");const I=e;if((N||x)&&A===s.enumPolygon){const n=()=>{const e=m(t,-1,0);return e.m_bRightSide=!0,e};if(y.isPannable()){const s=(new C).foldInto360Range(new h(t),y);if(s.isEmpty())return c();const o=(new C).foldInto360Range(e,y);if(o.isEmpty())return c();if((new P).execute(o,s,y,null)&&N)return n()}else{const e=(new C).clipToSpatialReference(new h(t),y,null,1);if(e.isEmpty())return c();const s=w(I,y,0,null);if(s.isEmpty())return c();if((new P).execute(s,e,y,null)&&N)return n()}}const b=y!==y.getGCS()?y.getSRToGCSTransform():null,v=new d;if(b?(new C).transform(b,[t],1,[v],!1):v.assign(t),v.isNAN())return c();const R=O(I,t,y,1);let U=R.m_distance;if(0===U)return R;Number.isNaN(U)?U=Number.POSITIVE_INFINITY:U*=1+1e-7;const q=y.getGCS(),B=q.getUnit().getUnitToBaseFactor(),V=v.clone();V.scale(B);const Y=D();y.querySpheroidData(Y);const X=E(Y.majorSemiAxis,Y.e2,V),L=_(Y.majorSemiAxis,Y.e2),z=new M(I.querySegmentIterator());0===S&&(S=.01);const Q=Y.majorSemiAxis*g(45),H=(new F).executeMany(z,y,Q,S,0,null),J=[];let K=-1;const W=new p,Z=new f;for(let n=H.next();null!==n;n=H.next()){if(n.isEmpty())continue;const t=H.getGeometryID(),s=e.getPathIndexFromPointIndex(t);e.isClosedPath(s)&&I.getPathEnd(s);const o=n;for(let e=0,n=o.getPathCount();e<n;++e){J.length=0;for(let t=o.getPathStart(e),r=o.getPathEnd(e);t<r;++t)J.push(o.getXY(t));if(b&&(new C).transform(b,J,J.length,J,!1),J.length>3){const e=k(J,J.length,v,q,1);if(e.m_distance<U){U=e.m_distance,W.assign(E(Y.majorSemiAxis,Y.e2,e.m_coordinate.mul(B))),K=t;let n=e.m_vertexIndex;n+1===J.length&&(n-=1),o.getSegmentBuffer(n,Z,!0)}}J.forEach((e=>e.mulThis(B)));const n=E(Y.majorSemiAxis,Y.e2,J[0]),s=new p;for(let e=1,r=J.length;e<r;++e){const r=E(Y.majorSemiAxis,Y.e2,J[e]);if(j(L,X,n,r,s)<U){const{first:s,second:i}=T(Y.majorSemiAxis,Y.e2,X,n,r,2,null);if(i<=U){const s=new p,{first:i,second:a}=T(Y.majorSemiAxis,Y.e2,X,n,r,0,s);a<U&&(U=a,W.assign(s),K=t,o.getSegmentBuffer(e-1,Z,!0))}}n.assign(r)}}}if(!Number.isFinite(U))return c();-1===K&&n("");const $=G(Y.majorSemiAxis,Y.e2,W);$.divThis(B);const ee=$.clone(),te=y!==y.getGCS()?y.getGCSToSRTransform():null;te&&(new C).transform(te,[$],1,[ee],!1),ee.isNAN()&&i("closestPoint2DSr.isNAN()"),a(!Z.empty());const ne=Z.get().getClosestCoordinate(ee,!1);ee.assign(Z.get().getCoord2D(ne)),b?(new C).transform(b,[ee],1,[$],!1):$.assign(ee),a(!$.isNAN());const se=this.getNearestVertex(new h($),v,y.getGCS()),oe=m(ee,K,se.m_distance);if(x&&e.getDimension()>0){const n=l(e,t,-1,-1),s=0!==n&&3!==n;oe.m_bRightSide=s}return oe}getNearestVertex(e,t,o){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return c();switch(e.getGeometryType()){case s.enumPoint:return Y(e,t,o);case s.enumMultiPoint:case s.enumPolyline:case s.enumPolygon:return O(e,t,o);default:r("")}}getNearestVertexPoint2D(e,t,n,s){return k(e,t,n,s)}getNearestVertices(e,t,o,i,a){if(t.isNAN()&&n("NAN xy coordinates are not allowed"),e.isEmpty())return[];switch(e.getGeometryType()){case s.enumPoint:{const n=Y(e,t,o);if(!n.isEmpty()&&n.m_distance<i&&a>=1){const e=[];return e.push(n),e}return[]}case s.enumMultiPoint:case s.enumPolyline:case s.enumPolygon:return X(e,t,o,i,a);default:r("")}}}function Y(s,o,r){const i={stack:[],error:void 0,hasError:!1};try{if(0===r.getCoordinateSystemType()&&n("Cannot use local SR"),1!==r.getCoordinateSystemType()){const e=new Array(2);e[0]=s.getXY(),e[1]=o.clone();const t=S(d,2);2!==I(r,e,2,t)&&n("Point cannot be projected to GCS");const i=r.getGCS(),a=Y(new h(t[0]),t[1],i);return m(a.m_coordinate,0,a.m_distance)}const t=r.getUnit().getUnitToBaseFactor(),a=s.getXY();a.scale(t);const c=o.clone();c.scale(t);const l=D();r.querySpheroidData(l);const u=e(i,new b,!1);v.geodeticDistance(l.majorSemiAxis,l.e2,a.x,a.y,c.x,c.y,u,null,null,R.PE_LINETYPE_GEODESIC);const g=s.getXY();return m(g,0,u.val)}catch(a){i.error=a,i.hasError=!0}finally{t(i)}}function O(s,o,r,i=0){0===r.getCoordinateSystemType()&&n("Cannot use local SR");let a=s.getAttributeStreamRef(0),c=s.getPointCount();const l=r.getGCS(),u=o.clone();if(1!==r.getCoordinateSystemType()){const e=r.getSRToGCSTransform();if(U(e,[o],1,[u],null),u.isNAN())return m(d.getNAN(),-1,Number.NaN);const t=(new C).execute(s,e,null);a=t.getAttributeStreamRef(0),c=t.getPointCount()}const g=l.getUnit().getUnitToBaseFactor(),f=N(c,0);for(let e=0;e<c;++e)f[e]=e;y(c,f);const S=D();l.querySpheroidData(S);const h=u.clone();h.scale(g);const A=E(S.majorSemiAxis,S.e2,h);let P=-1,w=Number.MAX_VALUE;const _=q(S.majorSemiAxis,S.e2);let j=c;const T=new d,G=new d;for(let e=0;e<j;){if(a.queryPoint2D(2*f[e],T),T.isNAN())continue;G.assign(T),G.scale(g);const t=E(S.majorSemiAxis,S.e2,G);if(p.distance(t,A)>w){f[j-1]=x(f[e],f[e]=f[j-1]),j--;continue}const n=B(_,t,A);n<w&&(P=f[e],w=n),e++}if(0!==S.e2){const n={stack:[],error:void 0,hasError:!1};try{const t=e(n,new b,!1);for(let e=0;e<j;e++){if(a.queryPoint2D(2*f[e],T),T.isNAN())continue;G.assign(T),G.scale(g);const n=E(S.majorSemiAxis,S.e2,G);p.distance(n,A)>w||(v.geodeticDistance(S.majorSemiAxis,S.e2,h.x,h.y,G.x,G.y,t,null,null,i),t.val<w&&(P=f[e],w=t.val))}}catch(R){n.error=R,n.hasError=!0}finally{t(n)}}const I=new d;return-1!==P&&I.assign(s.getXY(P)),m(I,P,w)}function k(s,o,r,i,a=0){0===i.getCoordinateSystemType()&&n("Cannot use local SR");const l=i.getGCS(),u=r.clone();if(1!==i.getCoordinateSystemType()){const e=i.getSRToGCSTransform();if(U(e,[r],1,[u],null),u.isNAN())return c();const t=S(d,o);U(e,s,o,t,null);const n=k(t,o,r,l,a);return n.isEmpty()?n:m(s[n.m_vertexIndex],n.m_vertexIndex,n.m_distance)}const g=l.getUnit().getUnitToBaseFactor(),f=N(o,0);for(let e=0;e<o;++e)f[e]=e;y(o,f);const h=D();l.querySpheroidData(h);const A=u.clone();A.scale(g);const C=E(h.majorSemiAxis,h.e2,A);let P=-1,w=Number.MAX_VALUE;const _=q(h.majorSemiAxis,h.e2);let j=o;for(let e=0;e<j;){const t=s[f[e]];if(t.isNAN())continue;const n=t.clone();n.scale(g);const o=E(h.majorSemiAxis,h.e2,n);if(p.distance(o,C)>w){f[j-1]=x(f[e],f[e]=f[j-1]),j--;continue}const r=B(_,o,C);r<w&&(P=f[e],w=r),e++}if(0!==h.e2){const n={stack:[],error:void 0,hasError:!1};try{const t=e(n,new b,!1);for(let e=0;e<j;e++){const n=s[f[e]];if(n.isNAN())continue;const o=n.clone();o.scale(g);const r=E(h.majorSemiAxis,h.e2,o);p.distance(r,C)>w||(v.geodeticDistance(h.majorSemiAxis,h.e2,A.x,A.y,o.x,o.y,t,null,null,a),t.val<w&&(P=f[e],w=t.val))}}catch(G){n.error=G,n.hasError=!0}finally{t(n)}}const T=new d;return-1!==P&&T.assign(s[P]),m(T,P,w)}function X(s,o,r,i,a){const c={stack:[],error:void 0,hasError:!1};try{0===r.getCoordinateSystemType()&&n("Cannot use local SR");let t=s.getAttributeStreamRef(0),l=s.getPointCount();const u=r.getGCS(),g=o.clone();if(1!==r.getCoordinateSystemType()){const e=r.getSRToGCSTransform();if(U(e,[o],1,[g],null),g.isNAN())return[];const n=(new C).execute(s,e,null);t=n.getAttributeStreamRef(0),l=n.getPointCount()}const f=u.getUnit().getUnitToBaseFactor(),S=N(l,0);for(let e=0;e<l;++e)S[e]=e;y(l,S);const h=D();u.querySpheroidData(h);const A=g.clone();A.scale(f);const P=E(h.majorSemiAxis,h.e2,A),w=[];let _=l;const j=new d,T=new d;for(let e=0;e<_;){if(t.queryPoint2D(2*S[e],j),j.isNAN())continue;T.assign(j),T.scale(f);const n=E(h.majorSemiAxis,h.e2,T);p.distance(n,P)>i?(S[_-1]=x(S[e],S[e]=S[_-1]),_--):e++}const G=(e,t)=>e.m_distance-t.m_distance,I=e(c,new b,!1);for(let e=0;e<_;e++)t.queryPoint2D(2*S[e],j),j.isNAN()||(v.geodeticDistance(h.majorSemiAxis,h.e2,A.x,A.y,j.x*f,j.y*f,I,null,null,R.PE_LINETYPE_GEODESIC),I.val<i&&w.push(m(j,S[e],I.val)));return w.sort(G),w.slice(0,a)}catch(l){c.error=l,c.hasError=!0}finally{t(c)}}class M extends A{constructor(e){super(),this.m_first=!0,this.m_segIter=e,this.m_segIter.stripAttributes()}tock(){return!0}getRank(){return 1}next(){if(this.m_first){if(!this.m_segIter.nextPath())return null;this.m_first=!1}for(;;){if(this.m_segIter.hasNextSegment())return this.m_segIter.nextSegment().clone();if(!this.m_segIter.nextPath())break}return null}getGeometryID(){return this.m_segIter.getStartPointIndex()}}export{V as OperatorProximityGeodesic};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{t as e,G as t,f as s,c as n}from"./Geometry.js";import{F as o,e as r,y as a,s as i}from"./ProjectionTransformation.js";import{P as m,a as c}from"./QuadraticBezier.js";import{v as g,P as p}from"./Point2D.js";import{v as u}from"./Envelope.js";import{Envelope2D as h}from"./Envelope2D.js";import{O as y}from"./OperatorDensify.js";import{O as f}from"./OperatorClip.js";import{O as l}from"./OperatorIntersection.js";function _(){return{m_pGcs:new p,m_xyz:new u,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:x,setLength:d,assign:P}}function x(e,t,s,n){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(n),this.m_geoLength=s}function d(e){this.m_geoLength=e}function P(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class S{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,s,n,r){if(e.hasNonLinearSegments()){e=(new y).execute(e,0,t.getTolerance(0),0,r)}if(t.isPannable()){let n=90,a=-90;if(1===s.getUnit().getUnitToBaseFactor()&&(n*=Math.PI/180,a*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const s=[0,0,0,0];e=t.getPECoordSys(),s[0]=0,s[1]=n,s[2]=0,s[3]=a,o.geogToProj(e,2,s),n=s[1],a=s[3]}const i=new h;e.queryEnvelope(i),i.ymin=a,i.ymax=n,e=(new f).execute(e,i,t,r)}else{const s=t.getPCSHorizon();if((e=(new l).execute(e,s,t,r))===s){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,s,n,1,r)}_ExecuteIterativeApproach(e,t,s,r,a,m){const c=i();s.querySpheroidData(c);const h=c.majorSemiAxis,y=c.e2,f=s.getUnit().getUnitToBaseFactor(),l=40,x=g(_,l),d=new Array(l),P=_(),S=_();let E;const j=[0,0,0,0],v=t.getPECoordSys(),G=new p,N=new p,L=new p,T=new p,D=new p;let z=0;const b=e.querySegmentIterator();for(;b.nextPath();)for(;b.hasNextSegment();){const e=b.nextSegment();G.assign(e.getStartXY()),N.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(j[0]=G.x,j[1]=G.y,j[2]=N.x,j[3]=N.y,o.projToGeog(v,2,j),L.x=j[0]*f,L.y=j[1]*f,T.x=j[2]*f,T.y=j[3]*f):(L.setCoordsPoint2D(G),T.setCoordsPoint2D(N),L.scale(f),T.scale(f));const s=new u,r=new u;w(h,y,L,s),w(h,y,T,r);let i=C(h,s,r);P.setValues(0,L,Number.NaN,s),S.setValues(1,T,i,r),E=a,x[0].assign(S),d[0]=a;let m=0;for(;;){m>128&&n("iterations exceeded");const s=.5*(P.m_factor+S.m_factor),r=e.getCoord2D(s);2===t.getCoordinateSystemType()?(j[0]=r.x,j[1]=r.y,o.projToGeog(v,1,j),D.x=j[0]*f,D.y=j[1]*f):(D.setCoordsPoint2D(r),D.scale(f)),L.setCoordsPoint2D(P.m_pGcs),T.setCoordsPoint2D(S.m_pGcs);const c=new u;w(h,y,D,c);const g=C(h,P.m_xyz,c),p=C(h,S.m_xyz,c);i=S.m_geoLength,Number.isNaN(i)&&(i=C(h,P.m_xyz,S.m_xyz));const _=g+p,G=E===a&&_>=20&&Math.abs(_-i)>1e-8*(i+_);if(m+2<l&&(G||Math.abs(_-i)>0&&E>0))S.setLength(p),x[m].assign(S),S.setValues(s,D,g,c),x[++m].assign(S),G?(E=a,d[m]=a):(E--,d[m-1]=E,d[m]=E);else{if(z+=_,0===m)break;P.assign(S),S.assign(x[--m]),E=d[m]}}}return z}execute(n,o,a){if(o&&0!==o.getCoordinateSystemType()||e(""),n.isEmpty()||n.getDimension()<1)return 0;let i=null;const g=o.getGCS();g!==o&&(i=r(o,g,null));const p=n.getGeometryType();if(p===t.enumEnvelope){const e=new m;return e.addEnvelope(n,!1),this._ExecuteShapePreservingLength(e,o,g,i,a)}if(s(p)){const e=new c;return e.addSegment(n,!0),this._ExecuteShapePreservingLength(e,o,g,i,a)}return this._ExecuteShapePreservingLength(n,o,g,i,a)}}function w(e,t,s,n){n.assign(a(e,t,s))}function C(e,t,s){const n=e,o=new u;o.setSub(t,s);const r=o.length();return 2*n*Math.asin(r/(2*n))}export{S as O};
5
+ import{t as e,G as t,f as s,c as n}from"./Geometry.js";import{Z as o,f as r,p as a,Q as i,G as m}from"./ProjectionTransformation.js";import{a as c,P as g}from"./QuadraticBezier.js";import{p,P as u}from"./Point2D.js";import{h}from"./Envelope.js";import{Envelope2D as y}from"./Envelope2D.js";import{O as f}from"./OperatorDensify.js";import{O as l}from"./OperatorClip.js";function _(){return{m_pGcs:new u,m_xyz:new h,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:x,setLength:d,assign:P}}function x(e,t,s,n){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(n),this.m_geoLength=s}function d(e){this.m_geoLength=e}function P(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class S{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,s,n,a){if(e.hasNonLinearSegments()){e=(new f).execute(e,0,t.getTolerance(0),0,a)}if(t.isPannable()){let n=90,r=-90;if(1===s.getUnit().getUnitToBaseFactor()&&(n*=Math.PI/180,r*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const s=[0,0,0,0];e=t.getPECoordSys(),s[0]=0,s[1]=n,s[2]=0,s[3]=r,o.geogToProj(e,2,s),n=s[1],r=s[3]}const i=new y;e.queryEnvelope(i),i.ymin=r,i.ymax=n,e=(new l).execute(e,i,t,a)}else{const s=t.getPCSHorizon();if((e=(new r).execute(e,s,t,a))===s){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,s,n,1,a)}_ExecuteIterativeApproach(e,t,s,r,a,i){const c=m();s.querySpheroidData(c);const g=c.majorSemiAxis,y=c.e2,f=s.getUnit().getUnitToBaseFactor(),l=40,x=p(_,l),d=new Array(l),P=_(),S=_();let E;const G=[0,0,0,0],N=t.getPECoordSys(),j=new u,L=new u,T=new u,v=new u,D=new u;let z=0;const b=e.querySegmentIterator();for(;b.nextPath();)for(;b.hasNextSegment();){const e=b.nextSegment();j.assign(e.getStartXY()),L.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(G[0]=j.x,G[1]=j.y,G[2]=L.x,G[3]=L.y,o.projToGeog(N,2,G),T.x=G[0]*f,T.y=G[1]*f,v.x=G[2]*f,v.y=G[3]*f):(T.setCoordsPoint2D(j),v.setCoordsPoint2D(L),T.scale(f),v.scale(f));const s=new h,r=new h;w(g,y,T,s),w(g,y,v,r);let i=C(g,s,r);P.setValues(0,T,Number.NaN,s),S.setValues(1,v,i,r),E=a,x[0].assign(S),d[0]=a;let m=0;for(;;){m>128&&n("iterations exceeded");const s=.5*(P.m_factor+S.m_factor),r=e.getCoord2D(s);2===t.getCoordinateSystemType()?(G[0]=r.x,G[1]=r.y,o.projToGeog(N,1,G),D.x=G[0]*f,D.y=G[1]*f):(D.setCoordsPoint2D(r),D.scale(f)),T.setCoordsPoint2D(P.m_pGcs),v.setCoordsPoint2D(S.m_pGcs);const c=new h;w(g,y,D,c);const p=C(g,P.m_xyz,c),u=C(g,S.m_xyz,c);i=S.m_geoLength,Number.isNaN(i)&&(i=C(g,P.m_xyz,S.m_xyz));const _=p+u,j=E===a&&_>=20&&Math.abs(_-i)>1e-8*(i+_);if(m+2<l&&(j||Math.abs(_-i)>0&&E>0))S.setLength(u),x[m].assign(S),S.setValues(s,D,p,c),x[++m].assign(S),j?(E=a,d[m]=a):(E--,d[m-1]=E,d[m]=E);else{if(z+=_,0===m)break;P.assign(S),S.assign(x[--m]),E=d[m]}}}return z}execute(n,o,r){if(o&&0!==o.getCoordinateSystemType()||e(""),n.isEmpty()||n.getDimension()<1)return 0;let i=null;const m=o.getGCS();m!==o&&(i=a(o,m,null));const p=n.getGeometryType();if(p===t.enumEnvelope){const e=new c;return e.addEnvelope(n,!1),this._ExecuteShapePreservingLength(e,o,m,i,r)}if(s(p)){const e=new g;return e.addSegment(n,!0),this._ExecuteShapePreservingLength(e,o,m,i,r)}return this._ExecuteShapePreservingLength(n,o,m,i,r)}}function w(e,t,s,n){n.assign(i(e,t,s))}function C(e,t,s){const n=e,o=new h;o.setSub(t,s);const r=o.length();return 2*n*Math.asin(r/(2*n))}export{S as O};