@arcgis/core 5.2.0-next.14 → 5.2.0-next.16

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 (942) hide show
  1. package/applications/Urban/editingSessionUtils.js +1 -1
  2. package/arcade/featureSetUtils.js +1 -1
  3. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  4. package/arcade/featureset/sources/FeatureLayerParquet.js +2 -0
  5. package/arcade/featureset/support/FeatureSet.js +1 -1
  6. package/arcade/featureset/support/shared.js +1 -1
  7. package/arcade.d.ts +2 -1
  8. package/arcgisGlobal.d.ts +3 -1
  9. package/assets/esri/core/t9n/Units_ar.json +1 -1
  10. package/assets/esri/core/t9n/Units_bg.json +1 -1
  11. package/assets/esri/core/t9n/Units_bs.json +1 -1
  12. package/assets/esri/core/t9n/Units_ca.json +1 -1
  13. package/assets/esri/core/t9n/Units_cs.json +1 -1
  14. package/assets/esri/core/t9n/Units_da.json +1 -1
  15. package/assets/esri/core/t9n/Units_de.json +1 -1
  16. package/assets/esri/core/t9n/Units_el.json +1 -1
  17. package/assets/esri/core/t9n/Units_es.json +1 -1
  18. package/assets/esri/core/t9n/Units_et.json +1 -1
  19. package/assets/esri/core/t9n/Units_fi.json +1 -1
  20. package/assets/esri/core/t9n/Units_fr.json +1 -1
  21. package/assets/esri/core/t9n/Units_he.json +1 -1
  22. package/assets/esri/core/t9n/Units_hr.json +1 -1
  23. package/assets/esri/core/t9n/Units_hu.json +1 -1
  24. package/assets/esri/core/t9n/Units_id.json +1 -1
  25. package/assets/esri/core/t9n/Units_it.json +1 -1
  26. package/assets/esri/core/t9n/Units_ja.json +1 -1
  27. package/assets/esri/core/t9n/Units_ko.json +1 -1
  28. package/assets/esri/core/t9n/Units_lt.json +1 -1
  29. package/assets/esri/core/t9n/Units_lv.json +1 -1
  30. package/assets/esri/core/t9n/Units_nl.json +1 -1
  31. package/assets/esri/core/t9n/Units_no.json +1 -1
  32. package/assets/esri/core/t9n/Units_pl.json +1 -1
  33. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  34. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  35. package/assets/esri/core/t9n/Units_ro.json +1 -1
  36. package/assets/esri/core/t9n/Units_ru.json +1 -1
  37. package/assets/esri/core/t9n/Units_sk.json +1 -1
  38. package/assets/esri/core/t9n/Units_sl.json +1 -1
  39. package/assets/esri/core/t9n/Units_sr.json +1 -1
  40. package/assets/esri/core/t9n/Units_sv.json +1 -1
  41. package/assets/esri/core/t9n/Units_th.json +1 -1
  42. package/assets/esri/core/t9n/Units_tr.json +1 -1
  43. package/assets/esri/core/t9n/Units_uk.json +1 -1
  44. package/assets/esri/core/t9n/Units_vi.json +1 -1
  45. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  46. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  47. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  48. package/assets/esri/core/workers/RemoteClient.js +1 -1
  49. package/assets/esri/core/workers/chunks/007485862ce95928717a.js +1 -0
  50. package/assets/esri/core/workers/chunks/01ba5319cac3e0f14205.js +1 -0
  51. package/assets/esri/core/workers/chunks/{d9d4754062758789f186.js → 05016e5a1de384994001.js} +2 -2
  52. package/assets/esri/core/workers/chunks/05b6b2c0b76afb100e33.js +1 -0
  53. package/assets/esri/core/workers/chunks/05d597dd117766beadd8.js +30 -0
  54. package/assets/esri/core/workers/chunks/{b045bffb4f2eb9203183.js → 05e1f1628a3726eca03d.js} +1 -1
  55. package/assets/esri/core/workers/chunks/0a52373c4ba652e0ee0f.js +1 -0
  56. package/assets/esri/core/workers/chunks/0b45d34938fa7862f746.js +1 -0
  57. package/assets/esri/core/workers/chunks/0b522e05668bef729b1b.js +1 -0
  58. package/assets/esri/core/workers/chunks/0d42322362e76f674d94.js +2 -0
  59. package/assets/esri/core/workers/chunks/{81e3bd1a0634ddc2b833.js → 0f10d7d592c36ee2d1ea.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{cdf6ad970dc1893dac58.js → 110135b0562a3b5708b9.js} +1 -1
  61. package/assets/esri/core/workers/chunks/122892f365f5327d290c.js +1 -0
  62. package/assets/esri/core/workers/chunks/1305690054214a9cf48d.js +1 -0
  63. package/assets/esri/core/workers/chunks/168c15cf462f9abcbdd2.js +1 -0
  64. package/assets/esri/core/workers/chunks/169bfafec4d59be2beb0.js +1 -0
  65. package/assets/esri/core/workers/chunks/1bd49e8d2657c72bf3f9.js +1 -0
  66. package/assets/esri/core/workers/chunks/1c689bb502657b1f173b.js +1 -0
  67. package/assets/esri/core/workers/chunks/1d2609ce6220b5af5526.js +1 -0
  68. package/assets/esri/core/workers/chunks/1d38b2fcd85ac9ebd7c6.js +1 -0
  69. package/assets/esri/core/workers/chunks/1e109a521ca8772fdf04.js +1 -0
  70. package/assets/esri/core/workers/chunks/1ea840b7ac1ffaa0c389.js +1 -0
  71. package/assets/esri/core/workers/chunks/1f48438b3055afeb710f.js +1 -0
  72. package/assets/esri/core/workers/chunks/{c2cd80b712f29e8cbb8d.js → 1ff57bf19f021f5fd246.js} +1 -1
  73. package/assets/esri/core/workers/chunks/2353fbc1ff4481dcfb1f.js +1 -0
  74. package/assets/esri/core/workers/chunks/2509da565e5a2b43ac7f.js +1 -0
  75. package/assets/esri/core/workers/chunks/255c8e937e7a123ebb04.js +1 -0
  76. package/assets/esri/core/workers/chunks/256cc116e3be4feee593.js +1 -0
  77. package/assets/esri/core/workers/chunks/25c1f5e2561986330b80.js +1 -0
  78. package/assets/esri/core/workers/chunks/26aa8190ac439f634c5b.js +1 -0
  79. package/assets/esri/core/workers/chunks/{a442534ac0956a68b769.js → 282930645ce525d5bc92.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{73c355b895fd6a34fcb8.js → 2a8d791aef3123e6a3c4.js} +1 -1
  81. package/assets/esri/core/workers/chunks/2b781de7b467c61849b2.js +1 -0
  82. package/assets/esri/core/workers/chunks/2baee42e1797a709fe4b.js +1 -0
  83. package/assets/esri/core/workers/chunks/2c017eae434254610c8e.js +1 -0
  84. package/assets/esri/core/workers/chunks/2d7a4b669804d0c5029b.js +1 -0
  85. package/assets/esri/core/workers/chunks/2f40193d1b2e534c5226.js +1 -0
  86. package/assets/esri/core/workers/chunks/303e723e829ea7088d43.js +1 -0
  87. package/assets/esri/core/workers/chunks/35533c8ef541f7643497.js +2 -0
  88. package/assets/esri/core/workers/chunks/36913f0f944a9eb82cd3.js +1 -0
  89. package/assets/esri/core/workers/chunks/39a10b2092a98083f4cf.js +1 -0
  90. package/assets/esri/core/workers/chunks/{cc62e5095e328bed3e01.js → 3aa0a34d2b7dbf2e2c66.js} +1 -1
  91. package/assets/esri/core/workers/chunks/3bd32387af52fa48d747.js +1 -0
  92. package/assets/esri/core/workers/chunks/3d4ad7c728e02aa90551.js +1 -0
  93. package/assets/esri/core/workers/chunks/3dc6e9494af16f7b8009.js +1 -0
  94. package/assets/esri/core/workers/chunks/{3526ab3b1f87c24ae6f8.js → 4162a2bb774e6ba2c0db.js} +1 -1
  95. package/assets/esri/core/workers/chunks/436d51b9f1b1b5abc4bc.js +1 -0
  96. package/assets/esri/core/workers/chunks/43ef6dee2e1d9ed7885e.js +1 -0
  97. package/assets/esri/core/workers/chunks/442424200e7475e9a08f.js +1 -0
  98. package/assets/esri/core/workers/chunks/47d630561f3fce5c63c4.js +1 -0
  99. package/assets/esri/core/workers/chunks/4b96aa2dc5b88846bb53.js +1 -0
  100. package/assets/esri/core/workers/chunks/4e59e5a5d0ff887ff899.js +1 -0
  101. package/assets/esri/core/workers/chunks/4ea325c829d3b82854b1.js +1 -0
  102. package/assets/esri/core/workers/chunks/511b9c12a7479d39dac0.js +1 -0
  103. package/assets/esri/core/workers/chunks/51a53011478e0cf96e0b.js +1 -0
  104. package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +1 -0
  105. package/assets/esri/core/workers/chunks/5481af25fd46914498df.js +1 -0
  106. package/assets/esri/core/workers/chunks/54f54623532f633dc0e2.js +1 -0
  107. package/assets/esri/core/workers/chunks/57e04b7ec238f7b24274.js +1 -0
  108. package/assets/esri/core/workers/chunks/5809e70a8e57e9b05959.js +1 -0
  109. package/assets/esri/core/workers/chunks/589b31cc5c663a288942.js +1 -0
  110. package/assets/esri/core/workers/chunks/58ce4bcfb15f378b1b9f.js +1 -0
  111. package/assets/esri/core/workers/chunks/58e0e50b6c3abaa4798f.js +1 -0
  112. package/assets/esri/core/workers/chunks/595bc41ff36c77324d01.js +261 -0
  113. package/assets/esri/core/workers/chunks/599bd80379423c99799d.js +1 -0
  114. package/assets/esri/core/workers/chunks/5bf01e0eff8a78b65e9e.js +1 -0
  115. package/assets/esri/core/workers/chunks/5dfeefee96659832398a.js +1 -0
  116. package/assets/esri/core/workers/chunks/{31762eb20a9a0ed3f8b0.js → 5ea1113b7bdcf94b2822.js} +1 -1
  117. package/assets/esri/core/workers/chunks/5fab14c5f1febebb75f1.js +1 -0
  118. package/assets/esri/core/workers/chunks/609edb4da427ec37bcf7.js +1 -0
  119. package/assets/esri/core/workers/chunks/60d4a3f770bb1e01cd10.js +1 -0
  120. package/assets/esri/core/workers/chunks/63858dfcff1177e597e7.js +1 -0
  121. package/assets/esri/core/workers/chunks/65cc9a48ac95523f7aa8.js +1 -0
  122. package/assets/esri/core/workers/chunks/66392ff750c28064040a.js +1 -0
  123. package/assets/esri/core/workers/chunks/668d84dc512b3085a960.js +1 -0
  124. package/assets/esri/core/workers/chunks/686c1a1b794ebe1a0341.js +1 -0
  125. package/assets/esri/core/workers/chunks/68b77b36daae2b4b4237.js +1 -0
  126. package/assets/esri/core/workers/chunks/6db5ee9c589265b23b60.js +1 -0
  127. package/assets/esri/core/workers/chunks/6dc60afb0c39bbb001a3.js +1 -0
  128. package/assets/esri/core/workers/chunks/{5bfae465872760e7af6d.js → 6f240fe78b299e6c4fcc.js} +1 -1
  129. package/assets/esri/core/workers/chunks/6f5a82388a5eb5fcf1b7.js +1 -0
  130. package/assets/esri/core/workers/chunks/70cb825bb37f1977d2ab.js +1 -0
  131. package/assets/esri/core/workers/chunks/71a593fa116770e58832.js +1 -0
  132. package/assets/esri/core/workers/chunks/71f09e34d56c9fe5c307.js +1 -0
  133. package/assets/esri/core/workers/chunks/73b0edabddbb72fe1104.js +1 -0
  134. package/assets/esri/core/workers/chunks/{72cfb186e50537bcdd19.js → 75915f81caaf9e5345a9.js} +1 -1
  135. package/assets/esri/core/workers/chunks/7832d94f35b79e27ee51.js +1 -0
  136. package/assets/esri/core/workers/chunks/{e5f8c73349407c25956b.js → 7c61b18e43c789aaecc6.js} +1 -1
  137. package/assets/esri/core/workers/chunks/7ee76504e7fea389a1c9.js +1 -0
  138. package/assets/esri/core/workers/chunks/7f849c8255140be6097f.js +1 -0
  139. package/assets/esri/core/workers/chunks/818a481ce579f519de1c.js +1 -0
  140. package/assets/esri/core/workers/chunks/831455798b177678720c.js +1 -0
  141. package/assets/esri/core/workers/chunks/83ce38342796bd6d73ce.js +1 -0
  142. package/assets/esri/core/workers/chunks/84a0bb53fcbd99b5aa0c.js +1 -0
  143. package/assets/esri/core/workers/chunks/87b86375f8557418dbe6.js +1 -0
  144. package/assets/esri/core/workers/chunks/8817d25c7f4cf0e6c6bd.js +1 -0
  145. package/assets/esri/core/workers/chunks/{a4b970a841b3085500fc.js → 888af532ad48fd86f285.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{9331969046f2b277d620.js → 8a39dd585742960d3ca2.js} +1 -1
  147. package/assets/esri/core/workers/chunks/8ade399db21938822a7c.js +1 -0
  148. package/assets/esri/core/workers/chunks/8c62e2dabd1f1e13d244.js +1 -0
  149. package/assets/esri/core/workers/chunks/{5cb1b950249d651f3837.js → 8dcb3e77f76d8396706b.js} +1 -1
  150. package/assets/esri/core/workers/chunks/8eda85fc01a71aedd9e4.js +1 -0
  151. package/assets/esri/core/workers/chunks/8f25d91ea7b99597124e.js +1 -0
  152. package/assets/esri/core/workers/chunks/909e88c27d80777b047c.js +1 -0
  153. package/assets/esri/core/workers/chunks/91c5205d1274c7f190d5.js +1 -0
  154. package/assets/esri/core/workers/chunks/91c543443cd6768ad6ff.js +1 -0
  155. package/assets/esri/core/workers/chunks/9230ad807020fc2bbf8e.js +1 -0
  156. package/assets/esri/core/workers/chunks/92341f36a8b15f34bcca.js +1 -0
  157. package/assets/esri/core/workers/chunks/92458803531fdfe1557a.js +1 -0
  158. package/assets/esri/core/workers/chunks/{976ab2be6c244768c08a.js → 940ebb13618d38c6b459.js} +1 -1
  159. package/assets/esri/core/workers/chunks/987594539981483a7c5e.js +1 -0
  160. package/assets/esri/core/workers/chunks/99c002015c2127e6cbfc.js +2 -0
  161. package/assets/esri/core/workers/chunks/9da1a514e042eb642d35.js +1 -0
  162. package/assets/esri/core/workers/chunks/9f93c29af2a18f7cb160.js +1 -0
  163. package/assets/esri/core/workers/chunks/a1509e2e7809b6754b4f.js +1 -0
  164. package/assets/esri/core/workers/chunks/a18cb809dd56c5537b3b.js +1 -0
  165. package/assets/esri/core/workers/chunks/a3195521a83565c7c2d3.js +1 -0
  166. package/assets/esri/core/workers/chunks/a3393780655152102c45.js +1 -0
  167. package/assets/esri/core/workers/chunks/{52175ff9e8c2c136f90a.js → a3ecde3794a7db3cf283.js} +1 -1
  168. package/assets/esri/core/workers/chunks/a4d918b47cd4ee0e1666.js +1 -0
  169. package/assets/esri/core/workers/chunks/a844c4e031e77db11478.js +1 -0
  170. package/assets/esri/core/workers/chunks/{bfd1aef8ac795e1ce227.js → a892b3be70f482bef0ba.js} +1 -1
  171. package/assets/esri/core/workers/chunks/a8ef7acb6d3d1f45e14c.js +1 -0
  172. package/assets/esri/core/workers/chunks/{7dcf804e1918b94fa4e1.js → a98905bf6050ad3b8721.js} +1 -1
  173. package/assets/esri/core/workers/chunks/a99ce2f12c8204ee542a.js +1 -0
  174. package/assets/esri/core/workers/chunks/aba7a053015a9738d8a0.js +1 -0
  175. package/assets/esri/core/workers/chunks/ac16016964be3b684e98.js +30 -0
  176. package/assets/esri/core/workers/chunks/ac7ecd90330090c90005.js +1 -0
  177. package/assets/esri/core/workers/chunks/adce59e4111bae4225f7.js +1 -0
  178. package/assets/esri/core/workers/chunks/af3b060fdfa3b6174340.js +1 -0
  179. package/assets/esri/core/workers/chunks/b0212df1fe8d9448f3d6.js +1 -0
  180. package/assets/esri/core/workers/chunks/b289c46ce2dc04d32e81.js +1 -0
  181. package/assets/esri/core/workers/chunks/{c983e5ce0ff952b65d7f.js → b2b342b06d502fc61ea5.js} +1 -1
  182. package/assets/esri/core/workers/chunks/{67ebde34377f98d17cda.js → b5571e93bc136dac8ee1.js} +1 -1
  183. package/assets/esri/core/workers/chunks/b75a4753cea6544da8bb.js +1 -0
  184. package/assets/esri/core/workers/chunks/ba1c4a8794ac55942e35.js +1 -0
  185. package/assets/esri/core/workers/chunks/bbcad2fde838819ffc7b.js +1 -0
  186. package/assets/esri/core/workers/chunks/bd260798b8de09a1eeb2.js +1 -0
  187. package/assets/esri/core/workers/chunks/{44d0ca9d4c5f1722688c.js → bf67e0f6064fb9d94ac8.js} +1 -1
  188. package/assets/esri/core/workers/chunks/{97a654e8054302582a3b.js → bfa6f4c08e7571bb1f37.js} +1 -1
  189. package/assets/esri/core/workers/chunks/c030a974a63155f450e9.js +1 -0
  190. package/assets/esri/core/workers/chunks/c0b7b9d115dccb2924ff.js +1 -0
  191. package/assets/esri/core/workers/chunks/c2db773201adca204f95.js +1 -0
  192. package/assets/esri/core/workers/chunks/c318e6dbb8651433038f.js +2 -0
  193. package/assets/esri/core/workers/chunks/c4a2ec2e5897300163ac.js +1 -0
  194. package/assets/esri/core/workers/chunks/{8b0a01ebc86ab226f01f.js → c538435216d253f7702e.js} +1 -1
  195. package/assets/esri/core/workers/chunks/c5e172d3baf5414868f0.js +1 -0
  196. package/assets/esri/core/workers/chunks/c63b315c6b76b4860fc5.js +1 -0
  197. package/assets/esri/core/workers/chunks/c8091e8fd7ca43a4490a.js +1 -0
  198. package/assets/esri/core/workers/chunks/{2413b383b7f2bdcd4ced.js → c8672a54c98d472aa24d.js} +1 -1
  199. package/assets/esri/core/workers/chunks/c9057b0ad2c2bae4a8ce.js +1 -0
  200. package/assets/esri/core/workers/chunks/cf9a132c4c37e62de3d7.js +1 -0
  201. package/assets/esri/core/workers/chunks/d0321dd4b5b2d863eecd.js +1 -0
  202. package/assets/esri/core/workers/chunks/{886ae23a1d8fa21e531f.js → d750e4abeb777caa8c36.js} +1 -1
  203. package/assets/esri/core/workers/chunks/d7acbc2ddff4cee8a465.js +30 -0
  204. package/assets/esri/core/workers/chunks/{cb8c4d8334fab9bd9a04.js → d90bc34d97bb21c29c40.js} +1 -1
  205. package/assets/esri/core/workers/chunks/d9fcc63df008f687848a.js +1 -0
  206. package/assets/esri/core/workers/chunks/db96a0c66578b2d1b715.js +1 -0
  207. package/assets/esri/core/workers/chunks/{318a2702632aaa4d3a63.js → dd3b0070081eaf805d95.js} +1 -1
  208. package/assets/esri/core/workers/chunks/dd5dddf7e422216d3806.js +1 -0
  209. package/assets/esri/core/workers/chunks/de83c177f8a1234a5b2e.js +1 -0
  210. package/assets/esri/core/workers/chunks/{38cfedce779dd75bd217.js → dfb19701b488089874fd.js} +1 -1
  211. package/assets/esri/core/workers/chunks/e2f33945d838183a2192.js +1 -0
  212. package/assets/esri/core/workers/chunks/{d97c0c18202b8c578f8c.js → e5471373f89fd7cb9844.js} +1 -1
  213. package/assets/esri/core/workers/chunks/e65d291bab13f7f5323b.js +1 -0
  214. package/assets/esri/core/workers/chunks/e73bb7c8de7412d9975c.js +1 -0
  215. package/assets/esri/core/workers/chunks/e8546ab510fc9515bd23.js +1 -0
  216. package/assets/esri/core/workers/chunks/e95ee94027c1934086d8.js +1 -0
  217. package/assets/esri/core/workers/chunks/e9acc05b0cf9e05f31a8.js +1 -0
  218. package/assets/esri/core/workers/chunks/ecbf84a1f42e6188faab.js +1 -0
  219. package/assets/esri/core/workers/chunks/efaa1d05705f6b450e8f.js +1 -0
  220. package/assets/esri/core/workers/chunks/efaf998d18479a0380ae.js +1 -0
  221. package/assets/esri/core/workers/chunks/f0573db9a3d3e1499a7e.js +1 -0
  222. package/assets/esri/core/workers/chunks/f07722efd7fa2b75d4dd.js +1 -0
  223. package/assets/esri/core/workers/chunks/{520e0e5307eef27becc6.js → f0924613f818dd165ad9.js} +1 -1
  224. package/assets/esri/core/workers/chunks/f3fd40df92e59f7c687c.js +1 -0
  225. package/assets/esri/core/workers/chunks/{3d20c86f1fe877bf884b.js → f59b76fde2cbd17f64b3.js} +1 -1
  226. package/assets/esri/core/workers/chunks/f6afc597eaf2afa9a4a0.js +1 -0
  227. package/assets/esri/core/workers/chunks/{0a8ba5cb857f61de40fb.js → f7f820483e45c05ab9e4.js} +29 -29
  228. package/assets/esri/core/workers/chunks/f955b35337a08f9f747d.js +1 -0
  229. package/assets/esri/core/workers/chunks/f98bb3885bfc7f18f26c.js +1 -0
  230. package/assets/esri/core/workers/chunks/f9b44ff9bb4f7a88ab56.js +1 -0
  231. package/assets/esri/core/workers/chunks/{1d5db8746a4f1ed1d18f.js → fb81705cec1be2431876.js} +1 -1
  232. package/assets/esri/core/workers/chunks/fd53ef66176ae164e221.js +1 -0
  233. package/assets/esri/core/workers/chunks/fd956a58787020d610af.js +1 -0
  234. package/assets/esri/core/workers/chunks/fdec3a2e100688c42e41.js +1 -0
  235. package/assets/esri/core/workers/chunks/fe6385115d76e16e8da0.js +1 -0
  236. package/assets/esri/core/workers/chunks/fedbeb488d5d7c07c7dc.js +1 -0
  237. package/assets/esri/core/workers/chunks/{d9695794cfaa014a55b1.js → ff00ac01f0baaecaa890.js} +1 -1
  238. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  239. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  240. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +62 -90
  241. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +0 -2
  242. package/assets/esri/themes/dark/main.css +1 -1
  243. package/assets/esri/themes/light/main.css +1 -1
  244. package/assets/esri/themes/light/view.css +1 -1
  245. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ar.json +1 -1
  246. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bg.json +1 -1
  247. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bs.json +1 -1
  248. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ca.json +1 -1
  249. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_cs.json +1 -1
  250. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_da.json +1 -1
  251. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_de.json +1 -1
  252. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_el.json +1 -1
  253. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_es.json +1 -1
  254. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_et.json +1 -1
  255. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fi.json +1 -1
  256. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fr.json +1 -1
  257. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_he.json +1 -1
  258. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hr.json +1 -1
  259. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hu.json +1 -1
  260. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_id.json +1 -1
  261. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_it.json +1 -1
  262. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ja.json +1 -1
  263. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ko.json +1 -1
  264. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lt.json +1 -1
  265. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lv.json +1 -1
  266. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_nl.json +1 -1
  267. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_no.json +1 -1
  268. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pl.json +1 -1
  269. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-BR.json +1 -1
  270. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-PT.json +1 -1
  271. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ro.json +1 -1
  272. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ru.json +1 -1
  273. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sk.json +1 -1
  274. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sl.json +1 -1
  275. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sr.json +1 -1
  276. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sv.json +1 -1
  277. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_th.json +1 -1
  278. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_tr.json +1 -1
  279. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_uk.json +1 -1
  280. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_vi.json +1 -1
  281. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-CN.json +1 -1
  282. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-HK.json +1 -1
  283. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-TW.json +1 -1
  284. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ar.json +1 -1
  285. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
  286. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bs.json +1 -1
  287. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ca.json +1 -1
  288. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_cs.json +1 -1
  289. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_da.json +1 -1
  290. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_de.json +1 -1
  291. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_el.json +1 -1
  292. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_es.json +1 -1
  293. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_et.json +1 -1
  294. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fi.json +1 -1
  295. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fr.json +1 -1
  296. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_he.json +1 -1
  297. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hr.json +1 -1
  298. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hu.json +1 -1
  299. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_id.json +1 -1
  300. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_it.json +1 -1
  301. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ja.json +1 -1
  302. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ko.json +1 -1
  303. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lt.json +1 -1
  304. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lv.json +1 -1
  305. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nl.json +1 -1
  306. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_no.json +1 -1
  307. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pl.json +1 -1
  308. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-BR.json +1 -1
  309. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-PT.json +1 -1
  310. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ro.json +1 -1
  311. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ru.json +1 -1
  312. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sk.json +1 -1
  313. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sl.json +1 -1
  314. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sr.json +1 -1
  315. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sv.json +1 -1
  316. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_th.json +1 -1
  317. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_tr.json +1 -1
  318. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_uk.json +1 -1
  319. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_vi.json +1 -1
  320. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-CN.json +1 -1
  321. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-HK.json +1 -1
  322. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-TW.json +1 -1
  323. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  324. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  325. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  326. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  327. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  328. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  329. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  330. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  331. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  332. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  333. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  334. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  335. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  336. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  337. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  338. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  339. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  340. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  341. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  342. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  343. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  344. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  345. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  346. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  347. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  348. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  349. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  350. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  351. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  352. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  353. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  354. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  355. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  356. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  357. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  358. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  359. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  360. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  361. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  362. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  363. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  364. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  365. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  366. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  367. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  368. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  369. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  370. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  371. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  372. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  373. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  374. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  375. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  376. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  377. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  378. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  379. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  380. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  381. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  382. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  383. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  384. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  385. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  386. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  387. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  388. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  389. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  390. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  391. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  392. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  393. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  394. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  395. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  396. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  397. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  398. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  399. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  400. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  401. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  402. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  403. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  404. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  405. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  406. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  407. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  408. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  409. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  410. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  411. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  412. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  413. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  414. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  415. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  416. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  417. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  418. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  419. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  420. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  421. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  422. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  423. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  424. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  425. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  426. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  427. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  428. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  429. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  430. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  431. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  432. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  433. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  434. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  435. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  436. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  437. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  438. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  439. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  440. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ar.json +1 -1
  441. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bg.json +1 -1
  442. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bs.json +1 -1
  443. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ca.json +1 -1
  444. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_cs.json +1 -1
  445. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_da.json +1 -1
  446. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_de.json +1 -1
  447. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_el.json +1 -1
  448. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_es.json +1 -1
  449. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_et.json +1 -1
  450. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fi.json +1 -1
  451. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fr.json +1 -1
  452. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_he.json +1 -1
  453. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hr.json +1 -1
  454. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hu.json +1 -1
  455. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_id.json +1 -1
  456. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_it.json +1 -1
  457. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ja.json +1 -1
  458. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ko.json +1 -1
  459. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lt.json +1 -1
  460. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lv.json +1 -1
  461. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_nl.json +1 -1
  462. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_no.json +1 -1
  463. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pl.json +1 -1
  464. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-BR.json +1 -1
  465. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-PT.json +1 -1
  466. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ro.json +1 -1
  467. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ru.json +1 -1
  468. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sk.json +1 -1
  469. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sl.json +1 -1
  470. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sr.json +1 -1
  471. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sv.json +1 -1
  472. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_th.json +1 -1
  473. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_tr.json +1 -1
  474. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_uk.json +1 -1
  475. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_vi.json +1 -1
  476. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-CN.json +1 -1
  477. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-HK.json +1 -1
  478. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-TW.json +1 -1
  479. package/chunks/Bufferer-CclWhXVb.js +2 -0
  480. package/chunks/Component.glsl.js +3 -3
  481. package/chunks/Distance2DCalculator-DjIp2uQi.js +2 -0
  482. package/chunks/Envelope.js +1 -1
  483. package/chunks/Envelope2D.js +1 -1
  484. package/chunks/GaussianSplatComposition.glsl.js +2 -2
  485. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +2 -0
  486. package/chunks/GeodeticUtils.js +1 -1
  487. package/chunks/Geometry.js +1 -1
  488. package/chunks/{GeometryCleaner-BEJM7I4l.js → GeometryCleaner-CIE8Wfmb.js} +1 -1
  489. package/chunks/GlobalIlluminationBlur.glsl.js +11 -11
  490. package/chunks/GlowComposition.glsl.js +1 -1
  491. package/chunks/MultiPathImpl.js +1 -1
  492. package/chunks/OITBlend.glsl.js +1 -24
  493. package/chunks/OITBlendEmission.glsl.js +9 -9
  494. package/chunks/OITDimOpaque.glsl.js +3 -9
  495. package/chunks/OperatorClip.js +1 -1
  496. package/chunks/OperatorCrosses.js +1 -1
  497. package/chunks/OperatorCut.js +1 -1
  498. package/chunks/OperatorDefinitions.js +1 -1
  499. package/chunks/OperatorDensify.js +1 -1
  500. package/chunks/OperatorGeneralize.js +1 -1
  501. package/chunks/OperatorGeodesicBuffer.js +1 -1
  502. package/chunks/OperatorGeodeticArea.js +1 -1
  503. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  504. package/chunks/OperatorGeodeticDistance.js +1 -1
  505. package/chunks/OperatorGeodeticLength.js +1 -1
  506. package/chunks/OperatorGraphicBuffer.js +2 -0
  507. package/chunks/OperatorIntegrate.js +1 -1
  508. package/chunks/OperatorIntersects.js +1 -1
  509. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  510. package/chunks/OperatorOverlaps.js +1 -1
  511. package/chunks/OperatorProximity.js +1 -1
  512. package/chunks/OperatorProximityGeodesic.js +1 -1
  513. package/chunks/OperatorShapePreservingLength.js +1 -1
  514. package/chunks/OperatorShapePreservingProject.js +1 -1
  515. package/chunks/OperatorSimplifyOGC.js +1 -1
  516. package/chunks/OperatorTouches.js +1 -1
  517. package/chunks/OperatorWithin.js +1 -1
  518. package/chunks/Point2D.js +1 -1
  519. package/chunks/ProjectionTransformation.js +1 -1
  520. package/chunks/{SideCalculator2D-BNwb5gvz.js → SideCalculator2D-DX0718xq.js} +1 -1
  521. package/chunks/SimpleGeometryCursor.js +1 -1
  522. package/chunks/SpatialReference.js +1 -1
  523. package/chunks/Transformation2D.js +1 -1
  524. package/chunks/centroidOperator.js +1 -1
  525. package/chunks/containsOperator.js +1 -1
  526. package/chunks/disjointOperator.js +1 -1
  527. package/chunks/distanceOperator.js +1 -1
  528. package/chunks/equalsOperator.js +1 -1
  529. package/chunks/languageUtils.js +1 -1
  530. package/chunks/lyr3DMain.js +1 -1
  531. package/config.js +1 -1
  532. package/core/has.js +1 -1
  533. package/core/reactiveUtils.d.ts +410 -109
  534. package/core/screenUtils.js +1 -1
  535. package/editing/types.d.ts +22 -2
  536. package/form/elements/UtilityNetworkAssociationsElement.d.ts +0 -1
  537. package/geometry/Mesh.d.ts +1 -1
  538. package/geometry/operators/extendOperator.js +1 -1
  539. package/geometry/operators/gx/operatorAffineTransform.js +1 -1
  540. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  541. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  542. package/geometry/operators/gx/operatorBoundary.js +1 -1
  543. package/geometry/operators/gx/operatorBuffer.js +1 -1
  544. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  545. package/geometry/operators/gx/operatorDifference.js +1 -1
  546. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  547. package/geometry/operators/gx/operatorIntersection.js +1 -1
  548. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  549. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  550. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  551. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  552. package/geometry/operators/gx/operatorOffset.js +1 -1
  553. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  554. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  555. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  556. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  557. package/geometry/operators/gx/operatorUnion.js +1 -1
  558. package/geometry/operators/isNearOperator.js +1 -1
  559. package/geometry/operators/json/containsOperator.js +1 -1
  560. package/geometry/operators/json/disjointOperator.js +1 -1
  561. package/geometry/operators/reshapeOperator.js +1 -1
  562. package/geometry/operators/support/apiConverter.js +1 -1
  563. package/geometry/operators/support/initNoPeFactory.js +1 -1
  564. package/geometry/operators/support/jsonConverter.js +1 -1
  565. package/geometry/support/aaBoundingRect.js +1 -1
  566. package/graphic/AnnotationFeatureGraphicOrigin.d.ts +5 -2
  567. package/graphic/AnnotationFeatureGraphicOrigin.js +1 -1
  568. package/graphic/DimensionFeatureGraphicOrigin.js +1 -1
  569. package/graphic/graphicOrigins.js +1 -1
  570. package/graphic/isAnnotationFeatureGraphicOrigin.d.ts +29 -0
  571. package/graphic/isAnnotationFeatureGraphicOrigin.js +2 -0
  572. package/graphic/isDimensionFeatureGraphicOrigin.d.ts +29 -0
  573. package/graphic/isDimensionFeatureGraphicOrigin.js +2 -0
  574. package/interfaces.d.ts +3 -3
  575. package/kernel.js +1 -1
  576. package/layers/AnnotationFeatureLayer.d.ts +73 -0
  577. package/layers/AnnotationFeatureLayer.js +1 -1
  578. package/layers/FeatureLayer.d.ts +7 -4
  579. package/layers/FeatureLayer.js +1 -1
  580. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  581. package/layers/ParquetLayer.js +1 -1
  582. package/layers/SubtypeGroupLayer.d.ts +7 -4
  583. package/layers/SubtypeGroupLayer.js +1 -1
  584. package/layers/graphics/applyEditsUtils.js +1 -1
  585. package/layers/graphics/data/QueryEngine.js +1 -1
  586. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  587. package/layers/graphics/sources/MemorySource.js +1 -1
  588. package/layers/graphics/sources/ParquetSource.js +1 -1
  589. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  590. package/layers/mixins/OperationalLayer.js +1 -1
  591. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  592. package/layers/orientedImagery/transformations/utils.js +1 -1
  593. package/layers/support/{AnnotationSublayer.d.ts → AnnotationFeatureSublayer.d.ts} +12 -12
  594. package/layers/support/AnnotationFeatureSublayer.js +2 -0
  595. package/layers/support/EditingCapabilities.js +1 -1
  596. package/layers/support/ExportImageServiceParameters.js +1 -1
  597. package/layers/support/ParquetPortalItemData.js +1 -1
  598. package/layers/support/SubtypeSublayer.d.ts +7 -4
  599. package/layers/support/SubtypeSublayer.js +1 -1
  600. package/layers/support/featureLayerUtils.js +1 -1
  601. package/layers/support/layersMapping.js +1 -1
  602. package/networks/UtilityNetwork.js +1 -1
  603. package/package.json +4 -4
  604. package/popup/Feature.d.ts +57 -6
  605. package/popup/Features.d.ts +86 -7
  606. package/popup/content/UtilityNetworkAssociationsContent.d.ts +0 -1
  607. package/popup/support/UtilityNetworkAssociationType.d.ts +0 -1
  608. package/rest/print.js +1 -1
  609. package/rest/query/operations/query.js +1 -1
  610. package/smartMapping/renderers/location.js +1 -1
  611. package/smartMapping/renderers/opacity.js +1 -1
  612. package/smartMapping/renderers/predominance.js +1 -1
  613. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  614. package/smartMapping/renderers/support/rendererUtils.d.ts +3 -1
  615. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  616. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  617. package/support/revision.js +1 -1
  618. package/symbols/WebStyleSymbol.js +1 -1
  619. package/symbols/cim/effects/EffectOffset.js +1 -1
  620. package/symbols/support/symbolUtils.js +1 -1
  621. package/symbols/support/webStyleSymbolCache.js +2 -0
  622. package/third-party-notices.txt +0 -32
  623. package/undoredo/support/ApplySet.js +1 -1
  624. package/undoredo/support/ApplySetItem.js +1 -1
  625. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  626. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  627. package/views/2d/engine/webgl/TextureManager.js +1 -1
  628. package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
  629. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  630. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  631. package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +1 -1
  632. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
  633. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  634. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  635. package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
  636. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  637. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  638. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  639. package/views/2d/layers/support/annodime/annotationGraphic.js +1 -1
  640. package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
  641. package/views/2d/layers/support/annodime/utils.js +1 -1
  642. package/views/2d/support/hitTestUtils.js +1 -1
  643. package/views/2d/unitBezier.js +1 -1
  644. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +2 -0
  645. package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
  646. package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +1 -1
  647. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +2 -0
  648. package/views/3d/analysis/Viewshed/ViewshedDrawToolRenderer.js +1 -1
  649. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  650. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  651. package/views/3d/analysis/Viewshed/ViewshedPlacementRootPlugin.js +1 -1
  652. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  653. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  654. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  655. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  656. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  657. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  658. package/views/3d/layers/graphics/SymbolComplexity.js +1 -1
  659. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  660. package/views/3d/support/QualityProfile.js +1 -1
  661. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  662. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  663. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +14 -6
  664. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -1
  665. package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +2 -2
  666. package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +1 -1
  667. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  668. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  669. package/views/3d/webgl-engine/effects/fog/FogTechniqueConfiguration.js +1 -1
  670. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
  671. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  672. package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +1 -1
  673. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
  674. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  675. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  676. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  677. package/views/3d/webgl-engine/effects/transparency/OITBlendEmission.glsl.js +1 -1
  678. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechnique.js +1 -1
  679. package/views/3d/webgl-engine/effects/transparency/OITBlendFragmentTechniqueConfiguration.js +2 -0
  680. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  681. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  682. package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
  683. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
  684. package/views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js +2 -0
  685. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  686. package/views/3d/webgl-engine/lib/Material.js +1 -1
  687. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  688. package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
  689. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  690. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  691. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  692. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  693. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  694. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  695. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  696. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  697. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  698. package/views/3d/webgl-engine/materials/PolygonOffset.js +1 -1
  699. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  700. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  701. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
  702. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  703. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +6 -7
  704. package/views/3d/webgl-engine/shaders/ditherNoise.glsl.js +1 -1
  705. package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +1 -1
  706. package/views/LinkChartView.d.ts +3 -1
  707. package/views/View2D.d.ts +5 -4
  708. package/views/draw/support/editingSessionUtils.js +1 -1
  709. package/views/interactive/snapping/SnappingManager.js +1 -1
  710. package/views/interactive/snapping/candidates/dehydrated/{DehydratedVertexSnappingCandidate.js → DehydratedFeatureSnappingCandidate.js} +1 -1
  711. package/webdoc/support/writeUtils.js +1 -1
  712. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +10 -3
  713. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  714. package/widgets/BatchAttributeForm/attachmentUtils.d.ts +9 -0
  715. package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
  716. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  717. package/widgets/BatchAttributeForm/css.js +1 -1
  718. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +3 -3
  719. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  720. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.js +1 -1
  721. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  722. package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
  723. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  724. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  725. package/widgets/BatchAttributeForm/inputs/support/attachmentValidationCriteriaState.d.ts +1 -1
  726. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  727. package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
  728. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  729. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  730. package/widgets/BatchAttributeForm/types.d.ts +92 -7
  731. package/widgets/BatchAttributeForm.js +1 -1
  732. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  733. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  734. package/widgets/Editor/EditorViewModel.d.ts +1 -1
  735. package/widgets/Editor/EditorViewModel.js +1 -1
  736. package/widgets/Editor/Edits.js +1 -1
  737. package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
  738. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  739. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  740. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  741. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  742. package/widgets/Editor/UpdateWorkflow.js +1 -1
  743. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  744. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  745. package/widgets/Editor/support/EditorItem.js +1 -1
  746. package/widgets/Editor/support/SketchController.js +1 -1
  747. package/widgets/Editor/support/attachmentUtils.js +2 -0
  748. package/widgets/Editor/workflowUtils.js +1 -1
  749. package/widgets/Editor.js +1 -1
  750. package/widgets/Feature/FeatureViewModel.d.ts +0 -1
  751. package/widgets/FeatureForm/UtilityNetworkAssociationInput.d.ts +0 -1
  752. package/widgets/Features/FeaturesViewModel.d.ts +0 -1
  753. package/widgets/Features/FeaturesViewModel.js +1 -1
  754. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  755. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  756. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  757. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  758. package/widgets/OrientedImageryViewer.js +1 -1
  759. package/widgets/Popup.js +1 -1
  760. package/widgets/Print/PrintViewModel.d.ts +11 -1
  761. package/widgets/Print/PrintViewModel.js +1 -1
  762. package/widgets/Sketch/SketchViewModel.d.ts +10 -1
  763. package/widgets/Sketch/SketchViewModel.js +1 -1
  764. package/widgets/Sketch.js +1 -1
  765. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  766. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  767. package/assets/components/assets/icon/orientedImageryFullSuperimpose16.json +0 -1
  768. package/assets/components/assets/icon/orientedImageryFullSuperimpose24.json +0 -1
  769. package/assets/components/assets/icon/orientedImageryFullSuperimpose32.json +0 -1
  770. package/assets/components/assets/icon/orientedImageryHalfSuperimpose16.json +0 -1
  771. package/assets/components/assets/icon/orientedImageryHalfSuperimpose24.json +0 -1
  772. package/assets/components/assets/icon/orientedImageryHalfSuperimpose32.json +0 -1
  773. package/assets/components/assets/icon/orientedImagerySceneOnly16.json +0 -1
  774. package/assets/components/assets/icon/orientedImagerySceneOnly24.json +0 -1
  775. package/assets/components/assets/icon/orientedImagerySceneOnly32.json +0 -1
  776. package/assets/components/assets/icon/parquetFeatureLayer16.json +0 -1
  777. package/assets/components/assets/icon/parquetFeatureLayer24.json +0 -1
  778. package/assets/components/assets/icon/parquetFeatureLayer32.json +0 -1
  779. package/assets/esri/core/workers/chunks/013708f40f811158d42c.js +0 -1
  780. package/assets/esri/core/workers/chunks/03354e9256b2f77fd4f2.js +0 -1
  781. package/assets/esri/core/workers/chunks/0826d36dfbfa28442b70.js +0 -1
  782. package/assets/esri/core/workers/chunks/0cbd7f5fe24271942abd.js +0 -1
  783. package/assets/esri/core/workers/chunks/0ded58ccb83f624f1460.js +0 -1
  784. package/assets/esri/core/workers/chunks/0ecc1bc1686844cdd60e.js +0 -1
  785. package/assets/esri/core/workers/chunks/152f1c08197955224ad3.js +0 -1
  786. package/assets/esri/core/workers/chunks/174cc2e69e5b5a13d880.js +0 -1
  787. package/assets/esri/core/workers/chunks/181e948d076a9a7aae8a.js +0 -1
  788. package/assets/esri/core/workers/chunks/18e7784f13a57a75585a.js +0 -1
  789. package/assets/esri/core/workers/chunks/1a95370ddc22729ab3c6.js +0 -1
  790. package/assets/esri/core/workers/chunks/1c8436b27a3d3cde5cfc.js +0 -1
  791. package/assets/esri/core/workers/chunks/1dacc0b64bd27ce2de3a.js +0 -1
  792. package/assets/esri/core/workers/chunks/1eeb1edca0ad5db6917c.js +0 -1
  793. package/assets/esri/core/workers/chunks/1f289aa69dd6b6be534a.js +0 -1
  794. package/assets/esri/core/workers/chunks/20c729fca2e4b4c6b28d.js +0 -1
  795. package/assets/esri/core/workers/chunks/2185e8a52c5e29d46680.js +0 -1
  796. package/assets/esri/core/workers/chunks/23d50c4478f40a7d62bf.js +0 -1
  797. package/assets/esri/core/workers/chunks/2623cd08487fdc9a94f1.js +0 -1
  798. package/assets/esri/core/workers/chunks/26583db2af1a1cc456e5.js +0 -1
  799. package/assets/esri/core/workers/chunks/27c6def22c2b0791ce9e.js +0 -1
  800. package/assets/esri/core/workers/chunks/2b00229c238aae70b948.js +0 -1
  801. package/assets/esri/core/workers/chunks/2b814bb51704a5b4fdc2.js +0 -30
  802. package/assets/esri/core/workers/chunks/2c3fc2805f6de0963789.js +0 -1
  803. package/assets/esri/core/workers/chunks/2d2895f1fdf44d212a4d.js +0 -1
  804. package/assets/esri/core/workers/chunks/2e6382d50bf012064eae.js +0 -1
  805. package/assets/esri/core/workers/chunks/30f1909c5ef1835b8507.js +0 -1
  806. package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +0 -1
  807. package/assets/esri/core/workers/chunks/3248001d9dfb9153699e.js +0 -1
  808. package/assets/esri/core/workers/chunks/33b4f5dfe1a16b59b010.js +0 -1
  809. package/assets/esri/core/workers/chunks/36dac6ab51d9dbdd091d.js +0 -1
  810. package/assets/esri/core/workers/chunks/39596715e84d0da2f803.js +0 -30
  811. package/assets/esri/core/workers/chunks/398eb3100a282e4736bb.js +0 -1
  812. package/assets/esri/core/workers/chunks/39974d1e5d3820ef1680.js +0 -1
  813. package/assets/esri/core/workers/chunks/426b8e1e2eef2460851d.js +0 -1
  814. package/assets/esri/core/workers/chunks/4301cb9670fa7c907460.js +0 -1
  815. package/assets/esri/core/workers/chunks/4376bc2934a996d8bc27.js +0 -1
  816. package/assets/esri/core/workers/chunks/44e52fe98ffafe6a2807.js +0 -1
  817. package/assets/esri/core/workers/chunks/493a0981e90a5799fb5b.js +0 -1
  818. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +0 -1
  819. package/assets/esri/core/workers/chunks/4d09ef7c57ab7f9782fe.js +0 -1
  820. package/assets/esri/core/workers/chunks/4e788fc6cb2ea936f676.js +0 -1
  821. package/assets/esri/core/workers/chunks/5022413f5a41b5d435ea.js +0 -1
  822. package/assets/esri/core/workers/chunks/5100b5a6a506c704dfaf.js +0 -1
  823. package/assets/esri/core/workers/chunks/5121768c70f1e03b685c.js +0 -1
  824. package/assets/esri/core/workers/chunks/5201105ca11a2d450460.js +0 -1
  825. package/assets/esri/core/workers/chunks/528ed0bd8dc149ead023.js +0 -1
  826. package/assets/esri/core/workers/chunks/52afd43bbe23e358efb5.js +0 -1
  827. package/assets/esri/core/workers/chunks/52f354bf80ee5ab0379a.js +0 -1
  828. package/assets/esri/core/workers/chunks/5359ff9492383c5bd9b1.js +0 -1
  829. package/assets/esri/core/workers/chunks/54d7f07e3348ddb6d9a2.js +0 -1
  830. package/assets/esri/core/workers/chunks/597aa39cdb5366ef9a74.js +0 -1
  831. package/assets/esri/core/workers/chunks/59dafa1e1340ea4043e6.js +0 -1
  832. package/assets/esri/core/workers/chunks/5aba23584e0b230c75f5.js +0 -1
  833. package/assets/esri/core/workers/chunks/5cb274e5759f7ca0d4ed.js +0 -1
  834. package/assets/esri/core/workers/chunks/62e77e3c5ca9b4887923.js +0 -2
  835. package/assets/esri/core/workers/chunks/64114a7d2da162987958.js +0 -1
  836. package/assets/esri/core/workers/chunks/65520a443e3811255bea.js +0 -1
  837. package/assets/esri/core/workers/chunks/65f02eca694cc1c9f5a7.js +0 -1
  838. package/assets/esri/core/workers/chunks/6821462e5c1e9c76010a.js +0 -1
  839. package/assets/esri/core/workers/chunks/684d3cb4fb233180b2d0.js +0 -1
  840. package/assets/esri/core/workers/chunks/6a3d207308b29651f397.js +0 -1
  841. package/assets/esri/core/workers/chunks/6d616b66fb32904b55a1.js +0 -1
  842. package/assets/esri/core/workers/chunks/6d696beddcc5fbed5875.js +0 -1
  843. package/assets/esri/core/workers/chunks/6f125b4ed06c0022dee6.js +0 -1
  844. package/assets/esri/core/workers/chunks/6f4825c3ef1fe202ab82.js +0 -1
  845. package/assets/esri/core/workers/chunks/6f5d61f734ec40dafabb.js +0 -1
  846. package/assets/esri/core/workers/chunks/6f7193b9ff5942c0d354.js +0 -1
  847. package/assets/esri/core/workers/chunks/70737052bab29fcaa120.js +0 -1
  848. package/assets/esri/core/workers/chunks/72d67cc3a382e83bf1a2.js +0 -1
  849. package/assets/esri/core/workers/chunks/737de87bfb9b5f5a9c6c.js +0 -1
  850. package/assets/esri/core/workers/chunks/7748743d4be047094d67.js +0 -1
  851. package/assets/esri/core/workers/chunks/78c53aeb0a408ab3c80c.js +0 -1
  852. package/assets/esri/core/workers/chunks/79f2d4b3af5776ec2045.js +0 -1
  853. package/assets/esri/core/workers/chunks/7a8ed08cd173963b3112.js +0 -1
  854. package/assets/esri/core/workers/chunks/7b5c1030a7cf0f382cc4.js +0 -1
  855. package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +0 -1
  856. package/assets/esri/core/workers/chunks/7cee81c5aa1e6b7d2452.js +0 -1
  857. package/assets/esri/core/workers/chunks/7ed3d6c72f23c628df3b.js +0 -1
  858. package/assets/esri/core/workers/chunks/80f4f686ce403cb2693f.js +0 -1
  859. package/assets/esri/core/workers/chunks/8351012ceb466f01b8fd.js +0 -1
  860. package/assets/esri/core/workers/chunks/851705cf276eae8d4d37.js +0 -1
  861. package/assets/esri/core/workers/chunks/854c320af09b6afc4b80.js +0 -2
  862. package/assets/esri/core/workers/chunks/859bc873e7af911a518f.js +0 -1
  863. package/assets/esri/core/workers/chunks/882ee7ed8a3a0215f9b9.js +0 -1
  864. package/assets/esri/core/workers/chunks/8c443c52c846a096a250.js +0 -1
  865. package/assets/esri/core/workers/chunks/8e99f937fd36cf2cd05f.js +0 -1
  866. package/assets/esri/core/workers/chunks/93bd56396b8cd020f965.js +0 -1
  867. package/assets/esri/core/workers/chunks/94fac056e14caed09682.js +0 -1
  868. package/assets/esri/core/workers/chunks/957f7b8de4aecb6f644e.js +0 -1
  869. package/assets/esri/core/workers/chunks/97d2bdbea39cbcf8fd0f.js +0 -1
  870. package/assets/esri/core/workers/chunks/99101789035f1787c630.js +0 -1
  871. package/assets/esri/core/workers/chunks/9c6d34bb666f630d511f.js +0 -1
  872. package/assets/esri/core/workers/chunks/9d5f7573bfe3b051daf1.js +0 -1
  873. package/assets/esri/core/workers/chunks/a0208e35b217808777c4.js +0 -1
  874. package/assets/esri/core/workers/chunks/a0c00c6fe60db49b3ab9.js +0 -1
  875. package/assets/esri/core/workers/chunks/a320998f18922a35899f.js +0 -1
  876. package/assets/esri/core/workers/chunks/a4e9a17dacbb52444d75.js +0 -1
  877. package/assets/esri/core/workers/chunks/a5abba59e738c3240c22.js +0 -1
  878. package/assets/esri/core/workers/chunks/aae0049c2c3e15a813e8.js +0 -1
  879. package/assets/esri/core/workers/chunks/adc32f6b45ea3026fc34.js +0 -1
  880. package/assets/esri/core/workers/chunks/af31e62499d45bdab3c3.js +0 -1
  881. package/assets/esri/core/workers/chunks/af8ef6701631ed5e5b80.js +0 -1
  882. package/assets/esri/core/workers/chunks/b666027b9022fa346a79.js +0 -1
  883. package/assets/esri/core/workers/chunks/b73c146d3e550eaf07eb.js +0 -1
  884. package/assets/esri/core/workers/chunks/b803e7b0d489bb628d72.js +0 -1
  885. package/assets/esri/core/workers/chunks/b9935cc8e2bd4045058a.js +0 -1
  886. package/assets/esri/core/workers/chunks/bb24972603fb35dd8dcf.js +0 -1
  887. package/assets/esri/core/workers/chunks/bcc097271f5cdf0a97a7.js +0 -1
  888. package/assets/esri/core/workers/chunks/bdc66ef2b6ed783047d5.js +0 -1
  889. package/assets/esri/core/workers/chunks/c0cbc50e5afd68bd485c.js +0 -1
  890. package/assets/esri/core/workers/chunks/c2a65de34f6a6c89c652.js +0 -1
  891. package/assets/esri/core/workers/chunks/c3ff2ff0a86a9143d7a5.js +0 -1
  892. package/assets/esri/core/workers/chunks/c424a66f1546275e2bcb.js +0 -30
  893. package/assets/esri/core/workers/chunks/c6d0b4875b6b8d6bc25a.js +0 -1
  894. package/assets/esri/core/workers/chunks/c9a4601073e1a3eee9d0.js +0 -1
  895. package/assets/esri/core/workers/chunks/cf8ce21dc649021e97f6.js +0 -1
  896. package/assets/esri/core/workers/chunks/d2f47f21ce0b0ab4da17.js +0 -262
  897. package/assets/esri/core/workers/chunks/d5c35a75fd4c41def420.js +0 -1
  898. package/assets/esri/core/workers/chunks/d78b7cac322755e87eb8.js +0 -1
  899. package/assets/esri/core/workers/chunks/dbd2bfcbf3e0f86f07b8.js +0 -1
  900. package/assets/esri/core/workers/chunks/dddb57ff637643ccfc87.js +0 -1
  901. package/assets/esri/core/workers/chunks/df18b0a653b328d8d052.js +0 -1
  902. package/assets/esri/core/workers/chunks/df54e741db40b308c2dd.js +0 -2
  903. package/assets/esri/core/workers/chunks/e1bf87077541da6853c6.js +0 -1
  904. package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +0 -1
  905. package/assets/esri/core/workers/chunks/e3b713a590cce6245ee2.js +0 -1
  906. package/assets/esri/core/workers/chunks/e4406baf206b9e4c7e4f.js +0 -1
  907. package/assets/esri/core/workers/chunks/e499252cb52f7aed49a0.js +0 -1
  908. package/assets/esri/core/workers/chunks/e4e2f479c0c45ae1b2c3.js +0 -1
  909. package/assets/esri/core/workers/chunks/e656fd5ecf9ac059a87b.js +0 -1
  910. package/assets/esri/core/workers/chunks/e77df11aee136d64ff0f.js +0 -1
  911. package/assets/esri/core/workers/chunks/e912b515704e20313e53.js +0 -1
  912. package/assets/esri/core/workers/chunks/e92698f50089484c4901.js +0 -1
  913. package/assets/esri/core/workers/chunks/e9c5c295b6bf10e942a4.js +0 -1
  914. package/assets/esri/core/workers/chunks/eac683a37339aa558455.js +0 -1
  915. package/assets/esri/core/workers/chunks/ed3d16a5b4084ef61f8a.js +0 -1
  916. package/assets/esri/core/workers/chunks/edcde00495727d506c46.js +0 -1
  917. package/assets/esri/core/workers/chunks/efb4aa5886730ea377bd.js +0 -1
  918. package/assets/esri/core/workers/chunks/f116331c6eca937aac8e.js +0 -1
  919. package/assets/esri/core/workers/chunks/f334bf192dff5af10a70.js +0 -1
  920. package/assets/esri/core/workers/chunks/f518835b2dc89a48cfb1.js +0 -1
  921. package/assets/esri/core/workers/chunks/f5731ad4cfbbf1cc569a.js +0 -2
  922. package/assets/esri/core/workers/chunks/f590db684d88e72bd79b.js +0 -1
  923. package/assets/esri/core/workers/chunks/f76b1fc36f5606cac2c8.js +0 -1
  924. package/assets/esri/core/workers/chunks/f7fca88d120d45bb782a.js +0 -1
  925. package/assets/esri/core/workers/chunks/f819854098d63fe4ccdb.js +0 -1
  926. package/assets/esri/core/workers/chunks/f98118127469449ca145.js +0 -1
  927. package/assets/esri/core/workers/chunks/f9e22cf59e2e2782d70f.js +0 -1
  928. package/assets/esri/core/workers/chunks/fa3faec65882c5b6f1a0.js +0 -1
  929. package/assets/esri/core/workers/chunks/fbe7dae0b4bf2d172487.js +0 -1
  930. package/chunks/Bufferer-Dw9Qi4T1.js +0 -2
  931. package/chunks/Distance2DCalculator-CXhBP-8I.js +0 -2
  932. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +0 -2
  933. package/layers/support/AnnotationSublayer.js +0 -2
  934. package/views/3d/analysis/LineOfSight/LineOfSightPlacementTool.js +0 -2
  935. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechniqueConfiguration.js +0 -2
  936. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechniqueConfiguration.js +0 -2
  937. /package/assets/esri/core/workers/chunks/{d9d4754062758789f186.js.LICENSE.txt → 05016e5a1de384994001.js.LICENSE.txt} +0 -0
  938. /package/assets/esri/core/workers/chunks/{62e77e3c5ca9b4887923.js.LICENSE.txt → 0d42322362e76f674d94.js.LICENSE.txt} +0 -0
  939. /package/assets/esri/core/workers/chunks/{df54e741db40b308c2dd.js.LICENSE.txt → 35533c8ef541f7643497.js.LICENSE.txt} +0 -0
  940. /package/assets/esri/core/workers/chunks/{854c320af09b6afc4b80.js.LICENSE.txt → 99c002015c2127e6cbfc.js.LICENSE.txt} +0 -0
  941. /package/assets/esri/core/workers/chunks/{f5731ad4cfbbf1cc569a.js.LICENSE.txt → c318e6dbb8651433038f.js.LICENSE.txt} +0 -0
  942. /package/chunks/{Centroid-DZi-eb9F.js → Centroid-CA-TwbbN.js} +0 -0
@@ -1,25 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{If as r,glsl as o}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{O as t}from"./OITDimOpaque.glsl.js";import{alphaCutoff as l}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{oitResolution as n}from"../views/3d/webgl-engine/shaders/oitResolution.glsl.js";import{ShaderBuilder as s}from"../views/webgl/ShaderBuilder.js";class c extends t{}function u(t){const c=new s;c.include(e);const{frontFaceMask:u,computeHudOcclusion:f,hasOpaqueEmission:i,useFloatBlend:d}=t,{fragment:g,outputs:p}=c;g.include(n,t),g.include(l);let m=0;return p.add("fragColor","vec4",m++),i&&m++,f&&p.add("fragOcclusion","vec4",m++),g.uniforms.add(new a("colorTexture",e=>e.colorTexture),new a("alphaTexture",e=>e.alphaTexture),new a("frontFaceTexture",e=>e.frontFaceTexture)),g.main.add(o`
3
- float srcAlpha = texture(alphaTexture, uv).r * floatBlendInputScale;
4
- ${r(f,"fragOcclusion = vec4(1.0, 0.0, 0.0, 1.0);")}
5
-
6
- if(srcAlpha < alphaCutoff) {
7
- fragColor = vec4(0.0);
8
- return;
9
- }
10
- vec4 frontFace = texture(frontFaceTexture, uv);
11
-
12
- ${r(u,o`
13
- if (frontFace.a == 0.0) {
14
- fragColor = vec4(0.0);
15
- return;
16
- }
17
- `)}
18
-
19
- vec4 srcColor = texture(colorTexture, uv);
20
- ${r(!d,"float frontWeight = srcAlpha * floatBlendOutputScale;\n frontWeight = clamp((frontWeight - 0.9) * 10.0, 0.0, 1.0);\n\n float toAlpha = (1.0 + frontFace.a) * 0.5;\n frontFace.a = mix(frontFace.a, toAlpha, frontWeight);")}
21
- vec3 backColor = srcColor.rgb * floatBlendInputScale / srcAlpha;
22
- fragColor = vec4(mix(backColor, frontFace.rgb, frontFace.a), 1.0 - srcColor.a);
23
-
24
- ${r(f,"fragOcclusion.r = pow(srcColor.a, 0.5);")}
25
- `),c}const f=Object.freeze(Object.defineProperty({__proto__:null,OITBlendPassParameters:c,build:u},Symbol.toStringTag,{value:"Module"}));export{c as O,f as a,u as b};
2
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{oitBlendFragment as r}from"../views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function a(a){const n=new o;n.include(e);const{computeHudOcclusion:i,hasOpaqueEmission:s}=a,{fragment:l,outputs:t}=n;let c=0;return t.add("fragColor","vec4",c++),s&&t.add("fragEmission","vec4",c++),i&&t.add("fragOcclusion","vec4",c++),l.include(r,a),l.main.add("fragColor = oitBlendFragment();"),s&&l.main.add("fragEmission = vec4(0.0, 0.0, 0.0, fragColor.a);"),i&&l.main.add("fragOcclusion = vec4(pow(1.0 - fragColor.a, 0.5), 0.0, 0.0, 1.0);"),n}const n=Object.freeze(Object.defineProperty({__proto__:null,build:a},Symbol.toStringTag,{value:"Module"}));export{n as O,a as b};
@@ -1,22 +1,22 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{If as t,glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{O as s}from"./OITDimOpaque.glsl.js";import{alphaCutoff as n}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{oitResolution as a}from"../views/3d/webgl-engine/shaders/oitResolution.glsl.js";import{ShaderBuilder as i}from"../views/webgl/ShaderBuilder.js";class l extends s{}function c(s){const l=new i;l.include(e);const{fragment:c,outputs:u}=l,{useFloatBlend:m}=s;return c.include(a,s),c.include(n),c.uniforms.add(new o("colorTexture",e=>e.colorTexture),new o("alphaTexture",e=>e.alphaTexture),new o("emissionTexture",e=>e.emissionTexture),new o("frontFaceTexture",e=>e.frontFaceTexture),new o("frontFaceEmissionTexture",e=>e.frontFaceEmissionTexture)),u.add("fragEmission","vec4",1),c.main.add(r`
2
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{If as t,glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{OITBlendFragmentPassParameters as s}from"../views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js";import{alphaCutoff as n}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{oitResolution as a}from"../views/3d/webgl-engine/shaders/oitResolution.glsl.js";import{ShaderBuilder as i}from"../views/webgl/ShaderBuilder.js";class l extends s{}function c(s){const l=new i;l.include(e);const{fragment:c,outputs:u}=l;return u.add("fragEmission","vec4",1),c.include(a,s),c.include(n),c.uniforms.add(new o("colorTexture",e=>e.colorTexture),new o("alphaTexture",e=>e.alphaTexture),new o("emissionTexture",e=>e.emissionTexture),new o("frontFaceTexture",e=>e.frontFaceTexture),new o("frontFaceEmissionTexture",e=>e.frontFaceEmissionTexture)),c.main.add(r`
3
3
  float srcAlpha = texture(alphaTexture, uv).r * floatBlendInputScale;
4
4
  if(srcAlpha < alphaCutoff) {
5
5
  fragEmission = vec4(0.0);
6
6
  return;
7
7
  }
8
+
8
9
  vec4 frontFace = texture(frontFaceTexture, uv);
9
- vec4 srcColor = texture(colorTexture, uv);
10
- ${t(!m,"float frontWeight = srcAlpha * floatBlendOutputScale;\n frontWeight = clamp((frontWeight - 0.9) * 10.0, 0.0, 1.0);\n\n float toAlpha = (1.0 + frontFace.a) * 0.5;\n frontFace.a = mix(frontFace.a, toAlpha, frontWeight);")}
10
+ ${t(!s.useFloatBlend,"float frontWeight = srcAlpha * floatBlendOutputScale;\n frontWeight = clamp((frontWeight - 0.9) * 10.0, 0.0, 1.0);\n\n float toAlpha = (1.0 + frontFace.a) * 0.5;\n frontFace.a = mix(frontFace.a, toAlpha, frontWeight);")}
11
11
 
12
- vec4 emission = texture(emissionTexture, uv);
13
- emission.rgb *= floatBlendInputScale;
12
+ float srcColorAlpha = texture(colorTexture, uv).a;
13
+ vec3 emission = texture(emissionTexture, uv).rgb * floatBlendInputScale;
14
14
  vec4 emissionFrontFace = texture(frontFaceEmissionTexture, uv);
15
15
  emissionFrontFace.rgb *= floatBlendInputScale;
16
16
 
17
17
  // Modulate transparent emitter by front faces. This case is important for surfaces which contain emitter and
18
18
  // non-emitter at the same time. Non-emitter surface parts need to modulate emissions as well.
19
- emission.rgb = emission.rgb * (1.0 - frontFace.a);
20
-
21
- fragEmission = vec4(mix(emission.rgb / srcAlpha, emissionFrontFace.rgb, emissionFrontFace.a) * floatBlendOutputScale, 1.0 - srcColor.a);
22
- `),l}const u=Object.freeze(Object.defineProperty({__proto__:null,OITBlendEmissionPassParameters:l,build:c},Symbol.toStringTag,{value:"Module"}));export{u as O,l as a,c as b};
19
+ emission = emission * (1.0 - frontFace.a);
20
+ emission = mix(emission / srcAlpha, emissionFrontFace.rgb, emissionFrontFace.a) * (1.0 - srcColorAlpha);
21
+ fragEmission = vec4(emission * floatBlendOutputScale, 1.0 - srcColorAlpha);
22
+ `),l}const u=Object.freeze(Object.defineProperty({__proto__:null,OITBlendEmissionPassParameters:l,build:c},Symbol.toStringTag,{value:"Module"}));export{l as O,u as a,c as b};
@@ -1,10 +1,4 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{emissionDimming as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{alphaCutoff as i}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{oitResolution as l}from"../views/3d/webgl-engine/shaders/oitResolution.glsl.js";import{NoParameters as a}from"../views/webgl/NoParameters.js";import{ShaderBuilder as n}from"../views/webgl/ShaderBuilder.js";class t extends a{}function m(a){const t=new n;t.include(e);const{fragment:m,outputs:u}=t;return u.add("fragEmission","vec4",1),m.include(r),m.include(l,a),m.include(i),m.uniforms.add(new o("colorTexture",e=>e.colorTexture),new o("alphaTexture",e=>e.alphaTexture)).main.add(s`float srcAlpha = texture(alphaTexture, uv).r * floatBlendInputScale;
3
- if(srcAlpha < alphaCutoff) {
4
- fragEmission = vec4(1.0);
5
- return;
6
- }
7
- vec4 srcColor = texture(colorTexture, uv);
8
- srcColor.rgb *= floatBlendInputScale / srcAlpha;
9
- vec3 dimming = emissionDimming(srcColor.rgb, srcColor.a);
10
- fragEmission = vec4(dimming, 0.0);`),t}const u=Object.freeze(Object.defineProperty({__proto__:null,OITDimOpaquePassParameters:t,build:m},Symbol.toStringTag,{value:"Module"}));export{t as O,u as a,m as b};
2
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{emissionDimming as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{oitBlendFragment as n}from"../views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js";import{ShaderBuilder as s}from"../views/webgl/ShaderBuilder.js";function o(o){const t=new s;t.include(e);const{fragment:l,outputs:a}=t;return a.add("fragEmission","vec4",1),l.include(n,o),l.include(r,o),l.main.add(i`vec4 transparentColor = oitBlendFragment();
3
+ vec3 dimming = emissionDimming(transparentColor.rgb, transparentColor.a);
4
+ fragEmission = vec4(dimming, 0.0);`),t}const t=Object.freeze(Object.defineProperty({__proto__:null,build:o},Symbol.toStringTag,{value:"Module"}));export{t as O,o as b};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{a as t,c as s,G as i,i as n,g as r,d as h}from"./Geometry.js";import{c as m}from"./Envelope.js";import{Envelope2D as a}from"./Envelope2D.js";import{E as o,n as x,L as p,S as c}from"./MultiPathImpl.js";import{d as l,m as _,P as u,e as g,f as y}from"./Point2D.js";function f(e,t,s,i,n){return v(e,t,null,s,i,n)}function v(e,s,o,x,p,c){const l=e.getGeometryType();if(l===i.enumPoint){const t=e.getXY();return s.contains(t)?e:e.createInstance()}if(l===i.enumEnvelope){const t=a.constructEmpty();if(e.queryEnvelope(t),t.intersect(s)){const s=e.clone();return s.setEnvelope(t),s}return e.createInstance()}if(e.isEmpty())return e;if(s.isEmpty())return e.createInstance();const _=s.clone();{const t=new a;if(e.queryLooseEnvelope(t),_.containsEnvelope(t))return e;if(!_.isIntersecting(t))return e.createInstance();0===p&&(t.intersect(_),t.inflate(Math.max(.1*t.maxDimension(),1)),t.intersect(_),_.assign(t))}let u=x;if((null!==o||Number.isNaN(u))&&(u=m(o,_,!1).total()),l===i.enumGeometryCollection){const t=e,s=e.createInstance();for(let e=0,i=t.getGeometryCount();e<i;e++){const i=t.getGeometry(e);if(i.isEmpty())continue;const n=f(i,_,u,p,c);n.isEmpty()||(n===i?s.addGeometry(n.clone()):s.addGeometry(n))}return s}n(l)||t("Clip: geometry not supported");const g=e.getImpl().getAccelerators();if(null!==g){const e=g.getRasterizedGeometry();r(null===e)}switch(l){case i.enumMultiPoint:{const t=e;let s;const i=t.getPointCount(),n=t.getImpl().getAttributeStreamRef(0);let h=0;for(let e=0;e<i;e++){const i=n.readPoint2D(2*e);_.contains(i)||(0===h&&(s=t.createInstance()),h<e&&s.addPoints(t,h,e),h=e+1)}return h>0&&s.addPoints(t,h,i),0===h?t:(r(null!==s),s)}case i.enumPolygon:case i.enumPolyline:return P(e,_,u,p,c);default:h("")}}function d(e,t,s,i,n,r){const h=new E(t,r),m=new a;return e.queryLooseEnvelope(m),t.containsEnvelope(m)?e:t.isIntersecting(m)?h.clipPolesOut(e,n):e.createInstance()}function P(e,t,s,i,n){return new E(t,n).clipMultiPath2(e,s,i)}class E{constructor(e,t){this.m_shape=new o,this.m_geometry=x,this.m_verticesOnExtentIndex=-1,this.m_verticesOnExtent=[],this.m_progressCounter=0,this.m_extent=new a(e),this.m_progressTracker=t}progress_(){}clipMultiPath2(e,t,s){return e.getGeometryType()===i.enumPolygon?this.clipPolygonOrProjectedPolyline2(e,s):this.clipPolyline(e,t)}clipPolygonOrProjectedPolyline2(e,t){const s=e.getGeometryType()===i.enumPolyline;if(0===this.m_extent.width()||0===this.m_extent.height())return e.createInstance();const n=a.constructEmpty();e.queryLooseEnvelope(n),this.m_geometry=s?this.m_shape.addGeometry(e):this.m_shape.addGeometry(e,this.m_extent);const h=a.constructEmpty(),m=a.constructEmpty(),o=new u,c=new u,g=l(9,Number.NaN),y=l(9,Number.NaN),f=_(u,9);let v=null;const d=new p,P=[];let I=!1;for(let i=0;!I&&i<4;i++){let e=!1;const t=!!(1&i);let a=0;switch(i){case 0:a=this.m_extent.xmin,e=n.xmin<=a&&n.xmax>=a;break;case 1:a=this.m_extent.ymin,e=n.ymin<=a&&n.ymax>=a;break;case 2:a=this.m_extent.xmax,e=n.xmin<=a&&n.xmax>=a;break;case 3:a=this.m_extent.ymax,e=n.ymin<=a&&n.ymax>=a}if(e){I=!0;for(let e=this.m_shape.getFirstPath(this.m_geometry);e!==x;){let n=!0,p=-1,l=-1;const _=this.m_shape.getFirstVertex(e);let u=_;do{this.progress_(),v=this.m_shape.getSegment(u);let e=v;if(null===e){const t=this.m_shape.getNextVertex(u);if(t===x){r(s),0===p&&P.push(u);break}this.m_shape.queryXY(u,o),d.setStartXY(o),this.m_shape.queryXY(t,c),d.setEndXY(c),e=d}e.queryLooseEnvelope(h);let _=E.checkSegmentIntersection(h,i,a);e.isCurve()&&0===_&&e.isCurve()&&(d.setStartXY(e.getStartXY()),d.setEndXY(e.getEndXY()),this.m_shape.replaceCurveWithLine(u),e=d,d.queryEnvelope(h),_=E.checkSegmentIntersection(h,i,a));let V=0,X=x;if(-1===_){const s=e.intersectionWithAxis2D(t,a,g,y);if(s>0){let i=null;if(e.isCurve()){i=f,r(s<=9);for(let e=0;e<s;e++)t?f[e].setCoords(g[e],a):f[e].setCoords(a,g[e]);V=this.m_shape.splitSegmentAxisAware(u,y,s,i,t?1:0)}else V=this.m_shape.splitSegmentAxisAware(u,y,s,null,-1)}else V=0;V+=1;let h=u,x=this.m_shape.getNextVertex(h);e=null;for(let e=0;e<V;e++){this.m_shape.queryXY(h,o),this.m_shape.queryXY(x,c),v=this.m_shape.getSegment(h);let e=v;null===e&&(d.setStartXY(o),d.setEndXY(c),e=d),e.queryEnvelope(m);let s=E.checkSegmentIntersection(m,i,a);if(e.isCurve()&&0===s&&(this.m_shape.replaceCurveWithLine(h),d.setStartXY(o),d.setEndXY(c),e=d,e.queryEnvelope(m),s=E.checkSegmentIntersection(m,i,a)),-1===s){if(t){Math.abs(o.y-a)<Math.abs(c.y-a)?(o.y=a,this.m_shape.setXY(h,o)):(c.y=a,this.m_shape.setXY(x,c))}else{Math.abs(o.x-a)<Math.abs(c.x-a)?(o.x=a,this.m_shape.setXY(h,o)):(c.x=a,this.m_shape.setXY(x,c))}v=this.m_shape.getSegment(h),e=v,null===e&&(d.setStartXY(o),d.setEndXY(c),e=d),e.queryEnvelope(m),s=E.checkSegmentIntersection(m,i,a),-1===s&&(s=E.checkSegmentIntersectionLoose(m,i,a))}const r=p;p=s,-1===l&&(l=p),0===r&&1===p||1===r&&0===p||0===r&&0===p&&P.push(h),1===p&&(I=!1,n=!1),h=x,X=h,x=this.m_shape.getNextVertex(x)}}if(0===V){const e=p;p=_,-1===l&&(l=p),0===e&&p>=1||e>=1&&0===p||0===e&&0===p&&P.push(u),1===p&&(I=!1,n=!1),X=this.m_shape.getNextVertex(u)}if(u=X,P.length>=256){for(let e=1,t=P.length-1;e<t;e++){const t=P[e];s?this.m_shape.snapVertexForPoleClipping(t,a):this.m_shape.removeVertex(t,!1)}P[1]=P.at(-1),P.length=2}}while(u!==_);if(!n){0!==l||!s&&0!==p&&2!==p||P.push(_);for(let e=0,t=P.length;e<t;e++){const t=P[e];s?this.m_shape.snapVertexForPoleClipping(t,a):this.m_shape.removeVertex(t,!1)}}P.length=0,e=n||0===this.m_shape.getPathSize(e)?this.m_shape.removePath(e):this.m_shape.getNextPath(e)}}}if(I)return e.createInstance();v=null,s?this.removeSpikesAlongPoles():this.resolveBoundaryOverlaps(),t>0&&this.densifyAlongClipExtent(t);const V=this.m_shape.getGeometry(this.m_geometry);if(V.getGeometryType()===i.enumPolygon){V.setFillRule(e.getFillRule())}return V}clipPolyline(e,t){const s=a.constructEmpty(),i=a.constructEmpty(),n=l(9,Number.NaN),r=l(9,Number.NaN),h=new c;let m=e;const o=a.constructEmpty();e.queryLooseEnvelope(o);for(let a=0;a<4;a++){let t=!1;const x=!!(1&a);let p=0;switch(a){case 0:p=this.m_extent.xmin,t=o.xmin<=p&&o.xmax>=p;break;case 1:p=this.m_extent.ymin,t=o.ymin<=p&&o.ymax>=p;break;case 2:p=this.m_extent.xmax,t=o.xmin<=p&&o.xmax>=p;break;case 3:p=this.m_extent.ymax,t=o.ymin<=p&&o.ymax>=p}if(!t)continue;const c=m;m=e.createInstance();const l=c.getImpl().querySegmentIterator();l.resetToFirstPath();const _=new u,g=new u;for(;l.nextPath();){let e=-1,t=!0;for(;l.hasNextSegment();){this.progress_();const o=l.nextSegment(),c=o.isDegenerate(0);o.queryLooseEnvelope(s);const u=E.checkSegmentIntersection(s,a,p);if(-1===u){const s=o.intersectionWithAxis2D(x,p,n,r);let l=0;_.assign(o.getStartXY());for(let u=0;u<=s;u++){const y=u<s?r[u]:1;if(l===y)continue;o.queryCut(l,y,h,!1);const f=h.get();let v=!1;if(f.getStartXY().equals(_)||(f.setStartXY(_),v=!0),u<s&&(x?(g.x=n[u],g.y=p):(g.x=p,g.y=n[u]),f.getEndXY().equals(g)||(f.setEndXY(g),v=!0)),v&&f.normalizeAfterEndpointChange(),!c&&f.isDegenerate(0))continue;f.queryEnvelope(i);let d=E.checkSegmentIntersection(i,a,p);if(-1===d){const e=f.getStartXY(),t=f.getEndXY();if(v=!1,x){Math.abs(e.y-p)<Math.abs(t.y-p)?(e.y=p,f.setStartXY(e),e.equals(f.getStartXY())||(f.setStartXY(e),v=!0)):(t.y=p,t.equals(f.getEndXY())||(f.setEndXY(t),v=!0))}else{Math.abs(e.x-p)<Math.abs(t.x-p)?(e.x=p,e.equals(f.getStartXY())||(f.setStartXY(e),v=!0)):(t.x=p,t.equals(f.getEndXY())||(f.setEndXY(t),v=!0))}v&&f.normalizeAfterEndpointChange(),f.queryEnvelope(i),d=E.checkSegmentIntersection(i,a,p),-1===d&&(d=E.checkSegmentIntersectionLoose(i,a,p))}_.assign(f.getEndXY()),l=y,e=d,e>=1?(m.addSegment(f,t),t=!1):t=!0}}else e=u,e>=1?(m.addSegment(o,t),t=!1):t=!0}}}return m}static checkSegmentIntersection(e,t,s){switch(t){case 0:return e.xmin<s&&e.xmax<=s?0:e.xmin>=s?e.xmax===s?2:1:-1;case 1:return e.ymin<s&&e.ymax<=s?0:e.ymin>=s?e.ymax===s?2:1:-1;case 2:return e.xmin>=s&&e.xmax>s?0:e.xmax<=s?e.xmin===s?2:1:-1;case 3:return e.ymin>=s&&e.ymax>s?0:e.ymax<=s?e.ymin===s?2:1:-1}return h(""),0}static checkSegmentIntersectionLoose(e,t,s){switch(t){case 0:{const t=Math.abs(e.xmin-s),i=Math.abs(e.xmax-s);return e.xmin<s?t>i?0:1:(h(""),1)}case 1:{const t=Math.abs(e.ymin-s),i=Math.abs(e.ymax-s);return e.ymin<s?t>i?0:1:(h(""),1)}case 2:{const t=Math.abs(e.xmin-s),i=Math.abs(e.xmax-s);return e.xmax>s?t<i?0:1:(h(""),1)}case 3:{const t=Math.abs(e.ymin-s),i=Math.abs(e.ymax-s);return e.ymax>s?t<i?0:1:(h(""),1)}}return h(""),0}resolveBoundaryOverlaps(){this.m_verticesOnExtentIndex=-1,this.splitSegments(!1,this.m_extent.xmin),this.splitSegments(!1,this.m_extent.xmax),this.splitSegments(!0,this.m_extent.ymin),this.splitSegments(!0,this.m_extent.ymax),this.m_verticesOnExtent.length=0,this.m_verticesOnExtentIndex=this.m_shape.createUserIndex();const e=new u;for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==x;t=this.m_shape.getNextPath(t)){let s=this.m_shape.getFirstVertex(t);for(let i=0,n=this.m_shape.getPathSize(t);i<n;i++,s=this.m_shape.getNextVertex(s))this.progress_(),this.m_shape.queryXY(s,e),this.m_extent.xmin!==e.x&&this.m_extent.xmax!==e.x&&this.m_extent.ymin!==e.y&&this.m_extent.ymax!==e.y||(this.m_shape.setUserIndex(s,this.m_verticesOnExtentIndex,this.m_verticesOnExtent.length),this.m_verticesOnExtent.push(s))}this.dbgCheckPathFirst(),this.resolveOverlaps(!1,this.m_extent.xmin),this.dbgCheckPathFirst(),this.resolveOverlaps(!1,this.m_extent.xmax),this.dbgCheckPathFirst(),this.resolveOverlaps(!0,this.m_extent.ymin),this.dbgCheckPathFirst(),this.resolveOverlaps(!0,this.m_extent.ymax),this.fixPaths()}densifyAlongClipExtent(e){const t=new u(0,0),s=new u(0,0),i=l(2048,Number.NaN);for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==x;n=this.m_shape.getNextPath(n)){const m=this.m_shape.getFirstVertex(n);let a=m;do{const n=this.m_shape.getNextVertex(a);this.m_shape.queryXY(a,t);let m=-1;if(t.x===this.m_extent.xmin?(this.m_shape.queryXY(n,s),s.x===this.m_extent.xmin&&(m=1)):t.x===this.m_extent.xmax&&(this.m_shape.queryXY(n,s),s.x===this.m_extent.xmax&&(m=1)),t.y===this.m_extent.ymin?(this.m_shape.queryXY(n,s),s.y===this.m_extent.ymin&&(m=0)):t.y===this.m_extent.ymax&&(this.m_shape.queryXY(n,s),s.y===this.m_extent.ymax&&(m=0)),-1===m){a=n;continue}if(this.isCurve(a)){a=n;continue}const o=t.clone(),x=new u(0,0);if(m){const i=t.y-this.m_extent.ymin;x.y=g(s.y-t.y),o.y=e*y(Math.floor(Math.abs(i)/e),i)+this.m_extent.ymin,x.y<0&&(o.y+=e)}else{const i=t.x-this.m_extent.xmin;x.x=g(s.x-t.x),o.x=e*y(Math.floor(Math.abs(i)/e),i)+this.m_extent.xmin,x.x<0&&(o.x+=e)}const p=m?s.y-t.y:s.x-t.x,c=Math.abs(p);if(c/e>65536&&h(""),c>0){const s=Math.trunc(c/e)+2;i.length<s&&(i.length=s);let n=0;for(let h=0;;h++){const s=o.add(x.mul(h*e)),a=(m?s.y-t.y:s.x-t.x)/p;if(a>=1)break;a<=0||(r(n<=i.length),i[n]=a,n++)}0!==n&&this.m_shape.splitSegment(a,i,n)}a=n}while(a!==m)}}splitSegments(e,t){let s=-1;const i=new u,n=[];for(let _=this.m_shape.getFirstPath(this.m_geometry);_!==x;_=this.m_shape.getNextPath(_)){let r=this.m_shape.getFirstVertex(_),h=x;for(let m=0,a=this.m_shape.getPathSize(_);m<a;m++,r=h)if(this.progress_(),h=this.m_shape.getNextVertex(r),this.m_shape.queryXY(r,i),(e?i.y===t:i.x===t)&&(this.m_shape.queryXY(h,i),e?i.y===t:i.x===t)){if(this.isCurve(r))continue;-1===s&&(s=this.m_shape.createUserIndex()),1!==this.m_shape.getUserIndex(r,s)&&(n.push(r),this.m_shape.setUserIndex(r,s,1)),1!==this.m_shape.getUserIndex(h,s)&&(n.push(h),this.m_shape.setUserIndex(h,s,1))}}if(-1!==s&&this.m_shape.removeUserIndex(s),n.length<3)return;n.sort((e,t)=>this.compareVertices(e,t));const r=new u,h=new u,m=new u;h.setNAN();let a=-1;let o=[],p=[];const c=this.m_shape.createUserIndex(),l=this.m_shape.createUserIndex();for(let x=0,_=n.length;x<_;x++){const s=n[x];if(this.m_shape.queryXY(s,i),!i.isEqualPoint2D(h)){if(-1===a){a=x,h.setCoordsPoint2D(i);continue}for(let i=a;i<x;i++){const s=n[i],m=this.m_shape.getNextVertex(s),a=this.m_shape.getPrevVertex(s);let x=!1;this.m_shape.queryXY(m,r),h.compare(r)<0&&(e?r.y===t:r.x===t)&&(this.isCurve(s)||(o.push(s),x=!0,this.m_shape.setUserIndex(s,l,1))),this.m_shape.queryXY(a,r),h.compare(r)<0&&(e?r.y===t:r.x===t)&&(this.isCurve(a)||(x||o.push(s),this.m_shape.setUserIndex(s,c,1)))}for(let e=0,t=o.length;e<t;e++){const t=o[e],s=this.m_shape.getUserIndex(t,c),n=this.m_shape.getUserIndex(t,l);if(1===s){const e=this.m_shape.getPrevVertex(t);this.m_shape.queryXY(e,m);let s=0;if(!m.isEqualPoint2D(i)){const n=u.distance(h,m);s=u.distance(m,i)/n,0===s?s=Number.EPSILON:1===s&&(s=1-Number.EPSILON),this.m_shape.splitSegment(e,[s],1);const r=this.m_shape.getPrevVertex(t);this.m_shape.setXY(r,i),p.push(r),this.m_shape.setUserIndex(r,c,1),this.m_shape.setUserIndex(r,l,-1)}}if(1===n){const e=this.m_shape.getNextVertex(t);this.m_shape.queryXY(e,m);let s=0;if(!m.isEqualPoint2D(i)){const e=u.distance(h,m);s=u.distance(h,i)/e,0===s?s=Number.EPSILON:1===s&&(s=1-Number.EPSILON),this.m_shape.splitSegment(t,[s],1);const n=this.m_shape.getNextVertex(t);this.m_shape.setXY(n,i),p.push(n),this.m_shape.setUserIndex(n,c,-1),this.m_shape.setUserIndex(n,l,1)}}}const s=o;o=p,p=s,p.length=0,a=x,h.setCoordsPoint2D(i)}}this.m_shape.removeUserIndex(c),this.m_shape.removeUserIndex(l)}resolveOverlaps(e,t){const s=new u,i=[];let n=-1;for(let r=0,o=this.m_verticesOnExtent.length;r<o;r++){this.progress_();const h=this.m_verticesOnExtent[r];if(h===x)continue;const m=this.m_shape.getNextVertex(h);if(this.m_shape.queryXY(h,s),(e?s.y===t:s.x===t)&&(this.m_shape.queryXY(m,s),e?s.y===t:s.x===t)){if(this.isCurve(h))continue;-1===n&&(n=this.m_shape.createUserIndex()),-2!==this.m_shape.getUserIndex(h,n)&&(i.push(h),this.m_shape.setUserIndex(h,n,-2)),-2!==this.m_shape.getUserIndex(m,n)&&(i.push(m),this.m_shape.setUserIndex(m,n,-2))}}if(0===i.length)return void(-1!==n&&this.m_shape.removeUserIndex(n));r(-1!==n),i.sort((e,t)=>this.compareVertices(e,t));for(let r=0,o=i.length;r<o;r++){const e=i[r];this.m_shape.setUserIndex(e,n,r)}const h=new u,m=new u;m.setNAN();let a=-1;for(let r=0,o=i.length;r<o;r++){this.progress_();const o=i[r];if(o!==x&&(this.m_shape.queryXY(o,s),!s.isEqualPoint2D(m))){if(-1!==a)for(;;){let s=!1;const o=r;for(let p=a;p<o;p++){const a=i[p];if(a===x)continue;let o=x;const c=this.m_shape.getNextVertex(a);this.m_shape.queryXY(c,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(a)||(o=c));let l=x;const _=this.m_shape.getPrevVertex(a);if(this.m_shape.queryXY(_,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(_)||(l=_)),o===x||l===x){if(o!==x||l!==x){for(let c=p+1;c<r;c++){const r=i[c];if(r===x)continue;const p=this.m_shape.getNextVertex(r);let _=x;this.m_shape.queryXY(p,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(r)||(_=p));const u=this.m_shape.getPrevVertex(r);let g=x;if(this.m_shape.queryXY(u,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(u)||(g=u)),_!==x&&g!==x){this.beforeRemoveVertex(r,i,n),this.m_shape.removeVertex(r,!1),this.beforeRemoveVertex(_,i,n),this.m_shape.removeVertex(_,!1),s=!0;break}if(o!==x&&g!==x){this.removeOverlap(i,a,o,r,g,n),s=!0;break}if(l!==x&&_!==x){this.removeOverlap(i,r,_,a,l,n),s=!0;break}}if(s)break}}else this.beforeRemoveVertex(a,i,n),this.m_shape.removeVertex(a,!1),this.beforeRemoveVertex(o,i,n),this.m_shape.removeVertex(o,!1),s=!0}if(!s)break}a=r,m.setCoordsPoint2D(s)}}this.m_shape.removeUserIndex(n)}beforeRemoveVertex(e,t,s){let i=this.m_shape.getUserIndex(e,s);r(i>=0),t[i]=x,i=this.m_shape.getUserIndex(e,this.m_verticesOnExtentIndex),r(i>=0),this.m_verticesOnExtent[i]=x;const n=this.m_shape.getPathFromVertex(e);if(n!==x){this.m_shape.getFirstVertex(n)===e&&(this.m_shape.setFirstVertex(n,x),this.m_shape.setLastVertex(n,x))}}removeOverlap(e,t,s,i,n,r){this.m_shape.setNextVertex(t,i),this.m_shape.setPrevVertex(i,t),this.m_shape.setPrevVertex(s,n),this.m_shape.setNextVertex(n,s),this.beforeRemoveVertex(i,e,r),this.m_shape.removeVertexInternal(i,!1),this.beforeRemoveVertex(n,e,r),this.m_shape.removeVertexInternal(n,!0)}removeSpikesAlongPoles(){this.removeSpikesOnPole(this.m_extent.ymin),this.removeSpikesOnPole(this.m_extent.ymax)}removeSpikesOnPole(e){for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==x;t=this.m_shape.getNextPath(t)){const s=this.m_shape.getPathSize(t);if(s<3)continue;let i=this.m_shape.getFirstVertex(t);const n=new u;this.m_shape.queryXY(i,n);let r=n.y===e&&!this.isCurve(i);i=this.m_shape.getNextVertex(i);const h=new u;this.m_shape.queryXY(i,h);let m=h.y===e&&!this.isCurve(i);i=this.m_shape.getNextVertex(i);const a=new u;for(let t=0,o=s-2;t<o;t++,i=this.m_shape.getNextVertex(i)){this.progress_(),this.m_shape.queryXY(i,a);const t=a.y===e;if(m&&r&&t){if((h.x-n.x)*(a.x-h.x)<=0){this.m_shape.removeVertex(this.m_shape.getPrevVertex(i),!1),h.setCoordsPoint2D(a),m=t&&!this.isCurve(i);continue}}n.setCoordsPoint2D(h),r=m,h.setCoordsPoint2D(a),m=t&&!this.isCurve(i)}}}fixPaths(){for(let n=0,r=this.m_verticesOnExtent.length;n<r;n++){const e=this.m_verticesOnExtent[n];e!==x&&this.m_shape.setPathToVertex(e,x)}const e=this.m_shape.hasCurves();let t=0,s=0;for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==x;){const e=this.m_shape.getFirstVertex(n);if(e===x||n!==this.m_shape.getPathFromVertex(e)){const e=n;n=this.m_shape.getNextPath(n),this.m_shape.setFirstVertex(e,x),this.m_shape.removePathOnly(e);continue}let i=e,r=0;do{this.m_shape.setPathToVertex(i,n),r++,i=this.m_shape.getNextVertex(i)}while(i!==e);this.m_shape.setRingAreaValid(n,!1),this.m_shape.setLastVertex(n,this.m_shape.getPrevVertex(e)),this.m_shape.setPathSize(n,r),s+=r,t++,n=this.m_shape.getNextPath(n)}for(let n=0,h=this.m_verticesOnExtent.length;n<h;n++){let i=this.m_verticesOnExtent[n];if(i===x)continue;let h=this.m_shape.getPathFromVertex(i);if(h!==x)continue;h=this.m_shape.insertPath(this.m_geometry,x);let m=!1,a=0;const o=i;do{this.m_shape.setPathToVertex(i,h),a++,e&&a<=2&&(m||=this.isCurve(i)),i=this.m_shape.getNextVertex(i)}while(i!==o);if(m?0===a:a<=2){let e=this.m_shape.getUserIndex(o,this.m_verticesOnExtentIndex);r(e>=0),this.m_verticesOnExtent[e]=x;const t=this.m_shape.removeVertex(o,!1);2===a&&(e=this.m_shape.getUserIndex(t,this.m_verticesOnExtentIndex),e>=0&&(this.m_verticesOnExtent[e]=x),this.m_shape.removeVertex(t,!1));const s=h;h=this.m_shape.getNextPath(h),this.m_shape.setFirstVertex(s,x),this.m_shape.removePathOnly(s);continue}this.m_shape.setClosedPath(h,!0),this.m_shape.setPathSize(h,a),this.m_shape.setFirstVertex(h,o),this.m_shape.setLastVertex(h,this.m_shape.getPrevVertex(o)),this.m_shape.setRingAreaValid(h,!1),s+=a,t++}this.m_shape.setGeometryPathCount(this.m_geometry,t),this.m_shape.setGeometryVertexCount(this.m_geometry,s);let i=0;for(let n=this.m_shape.getFirstGeometry();n!==x;n=this.m_shape.getNextGeometry(n))i+=this.m_shape.getPointCount(n);this.m_shape.setTotalPointCount(i)}dbgCheckPathFirst(){}isCurve(e){return null!==this.m_shape.getSegment(e)}compareVertices(e,t){const s=new u;this.m_shape.queryXY(e,s);const i=new u;this.m_shape.queryXY(t,i);return s.compare(i)}clipPolesOut(e,t){return this.clipPolygonOrProjectedPolyline2(e,t)}}class I{getOperatorType(){return 10004}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,i){return new V(e,t,s,i)}execute(e,t,s,i){return X(e,t,s,i)}}class V extends e{constructor(e,s,i,n){super(),this.m_progressTracker=n,this.m_index=-1,e||t(""),this.m_envelope=s,this.m_inputGeometryCursor=e,this.m_spatialRefImpl=i,this.m_tolerance=m(i,s,!1).total()}next(){let e;return(e=this.m_inputGeometryCursor.next())?(s(e),this.m_index=this.m_inputGeometryCursor.getGeometryID(),f(e,this.m_envelope,this.m_tolerance,0,this.m_progressTracker)):null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}}function X(e,t,s,i){return v(e,t,s,Number.NaN,0,i)}export{I as O,d as a,f as c};
2
+ import{G as e}from"./GeometryCursor.js";import{a as t,c as s,G as i,i as n,g as r,d as h}from"./Geometry.js";import{c as m}from"./Envelope.js";import{Envelope2D as a}from"./Envelope2D.js";import{E as o,n as x,L as p,S as c}from"./MultiPathImpl.js";import{d as l,m as _,P as u,e as g,f as y}from"./Point2D.js";function f(e,t,s,i,n){return v(e,t,null,s,i,n)}function v(e,s,o,x,p,c){const l=e.getGeometryType();if(l===i.enumPoint){const t=e.getXY();return s.contains(t)?e:e.createInstance()}if(l===i.enumEnvelope){const t=a.constructEmpty();if(e.queryEnvelope(t),t.intersect(s)){const s=e.clone();return s.setEnvelope(t),s}return e.createInstance()}if(e.isEmpty())return e;if(s.isEmpty())return e.createInstance();const _=s.clone();{const t=new a;if(e.queryLooseEnvelope(t),_.containsEnvelope(t))return e;if(!_.isIntersecting(t))return e.createInstance();0===p&&(t.intersect(_),t.inflate(Math.max(.1*t.maxDimension(),1)),t.intersect(_),_.assign(t))}let u=x;if((null!==o||Number.isNaN(u))&&(u=m(o,_,!1).total()),l===i.enumGeometryCollection){const t=e,s=e.createInstance();for(let e=0,i=t.getGeometryCount();e<i;e++){const i=t.getGeometry(e);if(i.isEmpty())continue;const n=f(i,_,u,p,c);n.isEmpty()||(n===i?s.addGeometry(n.clone()):s.addGeometry(n))}return s}n(l)||t("Clip: geometry not supported");const g=e.getImpl().getAccelerators();if(null!==g){const e=g.getRasterizedGeometry();r(null===e)}switch(l){case i.enumMultiPoint:{const t=e;let s;const i=t.getPointCount(),n=t.getImpl().getAttributeStreamRef(0);let h=0;for(let e=0;e<i;e++){const i=n.readPoint2D(2*e);_.contains(i)||(0===h&&(s=t.createInstance()),h<e&&s.addPoints(t,h,e),h=e+1)}return h>0&&s.addPoints(t,h,i),0===h?t:(r(null!==s),s)}case i.enumPolygon:case i.enumPolyline:return P(e,_,u,p,c);default:h("")}}function d(e,t,s,i,n,r){const h=new I(t,r),m=new a;return e.queryLooseEnvelope(m),t.containsEnvelope(m)?e:t.isIntersecting(m)?h.clipPolesOut(e,n):e.createInstance()}function P(e,t,s,i,n){return new I(t,n).clipMultiPath2(e,s,i)}class I{m_extent;m_shape=new o;m_geometry=x;m_verticesOnExtentIndex=-1;m_verticesOnExtent=[];m_progressTracker;m_progressCounter=0;constructor(e,t){this.m_extent=new a(e),this.m_progressTracker=t}progress_(){}clipMultiPath2(e,t,s){return e.getGeometryType()===i.enumPolygon?this.clipPolygonOrProjectedPolyline2(e,s):this.clipPolyline(e,t)}clipPolygonOrProjectedPolyline2(e,t){const s=e.getGeometryType()===i.enumPolyline;if(0===this.m_extent.width()||0===this.m_extent.height())return e.createInstance();const n=a.constructEmpty();e.queryLooseEnvelope(n),this.m_geometry=s?this.m_shape.addGeometry(e):this.m_shape.addGeometry(e,this.m_extent);const h=a.constructEmpty(),m=a.constructEmpty(),o=new u,c=new u,g=l(9,Number.NaN),y=l(9,Number.NaN),f=_(u,9);let v=null;const d=new p,P=[];let E=!1;for(let i=0;!E&&i<4;i++){let e=!1;const t=!!(1&i);let a=0;switch(i){case 0:a=this.m_extent.xmin,e=n.xmin<=a&&n.xmax>=a;break;case 1:a=this.m_extent.ymin,e=n.ymin<=a&&n.ymax>=a;break;case 2:a=this.m_extent.xmax,e=n.xmin<=a&&n.xmax>=a;break;case 3:a=this.m_extent.ymax,e=n.ymin<=a&&n.ymax>=a}if(e){E=!0;for(let e=this.m_shape.getFirstPath(this.m_geometry);e!==x;){let n=!0,p=-1,l=-1;const _=this.m_shape.getFirstVertex(e);let u=_;do{this.progress_(),v=this.m_shape.getSegment(u);let e=v;if(null===e){const t=this.m_shape.getNextVertex(u);if(t===x){r(s),0===p&&P.push(u);break}this.m_shape.queryXY(u,o),d.setStartXY(o),this.m_shape.queryXY(t,c),d.setEndXY(c),e=d}e.queryLooseEnvelope(h);let _=I.checkSegmentIntersection(h,i,a);e.isCurve()&&0===_&&e.isCurve()&&(d.setStartXY(e.getStartXY()),d.setEndXY(e.getEndXY()),this.m_shape.replaceCurveWithLine(u),e=d,d.queryEnvelope(h),_=I.checkSegmentIntersection(h,i,a));let V=0,X=x;if(-1===_){const s=e.intersectionWithAxis2D(t,a,g,y);if(s>0){let i=null;if(e.isCurve()){i=f,r(s<=9);for(let e=0;e<s;e++)t?f[e].setCoords(g[e],a):f[e].setCoords(a,g[e]);V=this.m_shape.splitSegmentAxisAware(u,y,s,i,t?1:0)}else V=this.m_shape.splitSegmentAxisAware(u,y,s,null,-1)}else V=0;V+=1;let h=u,x=this.m_shape.getNextVertex(h);e=null;for(let e=0;e<V;e++){this.m_shape.queryXY(h,o),this.m_shape.queryXY(x,c),v=this.m_shape.getSegment(h);let e=v;null===e&&(d.setStartXY(o),d.setEndXY(c),e=d),e.queryEnvelope(m);let s=I.checkSegmentIntersection(m,i,a);if(e.isCurve()&&0===s&&(this.m_shape.replaceCurveWithLine(h),d.setStartXY(o),d.setEndXY(c),e=d,e.queryEnvelope(m),s=I.checkSegmentIntersection(m,i,a)),-1===s){if(t){Math.abs(o.y-a)<Math.abs(c.y-a)?(o.y=a,this.m_shape.setXY(h,o)):(c.y=a,this.m_shape.setXY(x,c))}else{Math.abs(o.x-a)<Math.abs(c.x-a)?(o.x=a,this.m_shape.setXY(h,o)):(c.x=a,this.m_shape.setXY(x,c))}v=this.m_shape.getSegment(h),e=v,null===e&&(d.setStartXY(o),d.setEndXY(c),e=d),e.queryEnvelope(m),s=I.checkSegmentIntersection(m,i,a),-1===s&&(s=I.checkSegmentIntersectionLoose(m,i,a))}const r=p;p=s,-1===l&&(l=p),0===r&&1===p||1===r&&0===p||0===r&&0===p&&P.push(h),1===p&&(E=!1,n=!1),h=x,X=h,x=this.m_shape.getNextVertex(x)}}if(0===V){const e=p;p=_,-1===l&&(l=p),0===e&&p>=1||e>=1&&0===p||0===e&&0===p&&P.push(u),1===p&&(E=!1,n=!1),X=this.m_shape.getNextVertex(u)}if(u=X,P.length>=256){for(let e=1,t=P.length-1;e<t;e++){const t=P[e];s?this.m_shape.snapVertexForPoleClipping(t,a):this.m_shape.removeVertex(t,!1)}P[1]=P.at(-1),P.length=2}}while(u!==_);if(!n){0!==l||!s&&0!==p&&2!==p||P.push(_);for(let e=0,t=P.length;e<t;e++){const t=P[e];s?this.m_shape.snapVertexForPoleClipping(t,a):this.m_shape.removeVertex(t,!1)}}P.length=0,e=n||0===this.m_shape.getPathSize(e)?this.m_shape.removePath(e):this.m_shape.getNextPath(e)}}}if(E)return e.createInstance();v=null,s?this.removeSpikesAlongPoles():this.resolveBoundaryOverlaps(),t>0&&this.densifyAlongClipExtent(t);const V=this.m_shape.getGeometry(this.m_geometry);if(V.getGeometryType()===i.enumPolygon){V.setFillRule(e.getFillRule())}return V}clipPolyline(e,t){const s=a.constructEmpty(),i=a.constructEmpty(),n=l(9,Number.NaN),r=l(9,Number.NaN),h=new c;let m=e;const o=a.constructEmpty();e.queryLooseEnvelope(o);for(let a=0;a<4;a++){let t=!1;const x=!!(1&a);let p=0;switch(a){case 0:p=this.m_extent.xmin,t=o.xmin<=p&&o.xmax>=p;break;case 1:p=this.m_extent.ymin,t=o.ymin<=p&&o.ymax>=p;break;case 2:p=this.m_extent.xmax,t=o.xmin<=p&&o.xmax>=p;break;case 3:p=this.m_extent.ymax,t=o.ymin<=p&&o.ymax>=p}if(!t)continue;const c=m;m=e.createInstance();const l=c.getImpl().querySegmentIterator();l.resetToFirstPath();const _=new u,g=new u;for(;l.nextPath();){let e=-1,t=!0;for(;l.hasNextSegment();){this.progress_();const o=l.nextSegment(),c=o.isDegenerate(0);o.queryLooseEnvelope(s);const u=I.checkSegmentIntersection(s,a,p);if(-1===u){const s=o.intersectionWithAxis2D(x,p,n,r);let l=0;_.assign(o.getStartXY());for(let u=0;u<=s;u++){const y=u<s?r[u]:1;if(l===y)continue;o.queryCut(l,y,h,!1);const f=h.get();let v=!1;if(f.getStartXY().equals(_)||(f.setStartXY(_),v=!0),u<s&&(x?(g.x=n[u],g.y=p):(g.x=p,g.y=n[u]),f.getEndXY().equals(g)||(f.setEndXY(g),v=!0)),v&&f.normalizeAfterEndpointChange(),!c&&f.isDegenerate(0))continue;f.queryEnvelope(i);let d=I.checkSegmentIntersection(i,a,p);if(-1===d){const e=f.getStartXY(),t=f.getEndXY();if(v=!1,x){Math.abs(e.y-p)<Math.abs(t.y-p)?(e.y=p,f.setStartXY(e),e.equals(f.getStartXY())||(f.setStartXY(e),v=!0)):(t.y=p,t.equals(f.getEndXY())||(f.setEndXY(t),v=!0))}else{Math.abs(e.x-p)<Math.abs(t.x-p)?(e.x=p,e.equals(f.getStartXY())||(f.setStartXY(e),v=!0)):(t.x=p,t.equals(f.getEndXY())||(f.setEndXY(t),v=!0))}v&&f.normalizeAfterEndpointChange(),f.queryEnvelope(i),d=I.checkSegmentIntersection(i,a,p),-1===d&&(d=I.checkSegmentIntersectionLoose(i,a,p))}_.assign(f.getEndXY()),l=y,e=d,e>=1?(m.addSegment(f,t),t=!1):t=!0}}else e=u,e>=1?(m.addSegment(o,t),t=!1):t=!0}}}return m}static checkSegmentIntersection(e,t,s){switch(t){case 0:return e.xmin<s&&e.xmax<=s?0:e.xmin>=s?e.xmax===s?2:1:-1;case 1:return e.ymin<s&&e.ymax<=s?0:e.ymin>=s?e.ymax===s?2:1:-1;case 2:return e.xmin>=s&&e.xmax>s?0:e.xmax<=s?e.xmin===s?2:1:-1;case 3:return e.ymin>=s&&e.ymax>s?0:e.ymax<=s?e.ymin===s?2:1:-1}return h(""),0}static checkSegmentIntersectionLoose(e,t,s){switch(t){case 0:{const t=Math.abs(e.xmin-s),i=Math.abs(e.xmax-s);return e.xmin<s?t>i?0:1:(h(""),1)}case 1:{const t=Math.abs(e.ymin-s),i=Math.abs(e.ymax-s);return e.ymin<s?t>i?0:1:(h(""),1)}case 2:{const t=Math.abs(e.xmin-s),i=Math.abs(e.xmax-s);return e.xmax>s?t<i?0:1:(h(""),1)}case 3:{const t=Math.abs(e.ymin-s),i=Math.abs(e.ymax-s);return e.ymax>s?t<i?0:1:(h(""),1)}}return h(""),0}resolveBoundaryOverlaps(){this.m_verticesOnExtentIndex=-1,this.splitSegments(!1,this.m_extent.xmin),this.splitSegments(!1,this.m_extent.xmax),this.splitSegments(!0,this.m_extent.ymin),this.splitSegments(!0,this.m_extent.ymax),this.m_verticesOnExtent.length=0,this.m_verticesOnExtentIndex=this.m_shape.createUserIndex();const e=new u;for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==x;t=this.m_shape.getNextPath(t)){let s=this.m_shape.getFirstVertex(t);for(let i=0,n=this.m_shape.getPathSize(t);i<n;i++,s=this.m_shape.getNextVertex(s))this.progress_(),this.m_shape.queryXY(s,e),this.m_extent.xmin!==e.x&&this.m_extent.xmax!==e.x&&this.m_extent.ymin!==e.y&&this.m_extent.ymax!==e.y||(this.m_shape.setUserIndex(s,this.m_verticesOnExtentIndex,this.m_verticesOnExtent.length),this.m_verticesOnExtent.push(s))}this.dbgCheckPathFirst(),this.resolveOverlaps(!1,this.m_extent.xmin),this.dbgCheckPathFirst(),this.resolveOverlaps(!1,this.m_extent.xmax),this.dbgCheckPathFirst(),this.resolveOverlaps(!0,this.m_extent.ymin),this.dbgCheckPathFirst(),this.resolveOverlaps(!0,this.m_extent.ymax),this.fixPaths()}densifyAlongClipExtent(e){const t=new u(0,0),s=new u(0,0),i=l(2048,Number.NaN);for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==x;n=this.m_shape.getNextPath(n)){const m=this.m_shape.getFirstVertex(n);let a=m;do{const n=this.m_shape.getNextVertex(a);this.m_shape.queryXY(a,t);let m=-1;if(t.x===this.m_extent.xmin?(this.m_shape.queryXY(n,s),s.x===this.m_extent.xmin&&(m=1)):t.x===this.m_extent.xmax&&(this.m_shape.queryXY(n,s),s.x===this.m_extent.xmax&&(m=1)),t.y===this.m_extent.ymin?(this.m_shape.queryXY(n,s),s.y===this.m_extent.ymin&&(m=0)):t.y===this.m_extent.ymax&&(this.m_shape.queryXY(n,s),s.y===this.m_extent.ymax&&(m=0)),-1===m){a=n;continue}if(this.isCurve(a)){a=n;continue}const o=t.clone(),x=new u(0,0);if(m){const i=t.y-this.m_extent.ymin;x.y=g(s.y-t.y),o.y=e*y(Math.floor(Math.abs(i)/e),i)+this.m_extent.ymin,x.y<0&&(o.y+=e)}else{const i=t.x-this.m_extent.xmin;x.x=g(s.x-t.x),o.x=e*y(Math.floor(Math.abs(i)/e),i)+this.m_extent.xmin,x.x<0&&(o.x+=e)}const p=m?s.y-t.y:s.x-t.x,c=Math.abs(p);if(c/e>65536&&h(""),c>0){const s=Math.trunc(c/e)+2;i.length<s&&(i.length=s);let n=0;for(let h=0;;h++){const s=o.add(x.mul(h*e)),a=(m?s.y-t.y:s.x-t.x)/p;if(a>=1)break;a<=0||(r(n<=i.length),i[n]=a,n++)}0!==n&&this.m_shape.splitSegment(a,i,n)}a=n}while(a!==m)}}splitSegments(e,t){let s=-1;const i=new u,n=[];for(let _=this.m_shape.getFirstPath(this.m_geometry);_!==x;_=this.m_shape.getNextPath(_)){let r=this.m_shape.getFirstVertex(_),h=x;for(let m=0,a=this.m_shape.getPathSize(_);m<a;m++,r=h)if(this.progress_(),h=this.m_shape.getNextVertex(r),this.m_shape.queryXY(r,i),(e?i.y===t:i.x===t)&&(this.m_shape.queryXY(h,i),e?i.y===t:i.x===t)){if(this.isCurve(r))continue;-1===s&&(s=this.m_shape.createUserIndex()),1!==this.m_shape.getUserIndex(r,s)&&(n.push(r),this.m_shape.setUserIndex(r,s,1)),1!==this.m_shape.getUserIndex(h,s)&&(n.push(h),this.m_shape.setUserIndex(h,s,1))}}if(-1!==s&&this.m_shape.removeUserIndex(s),n.length<3)return;n.sort((e,t)=>this.compareVertices(e,t));const r=new u,h=new u,m=new u;h.setNAN();let a=-1;let o=[],p=[];const c=this.m_shape.createUserIndex(),l=this.m_shape.createUserIndex();for(let x=0,_=n.length;x<_;x++){const s=n[x];if(this.m_shape.queryXY(s,i),!i.isEqualPoint2D(h)){if(-1===a){a=x,h.setCoordsPoint2D(i);continue}for(let i=a;i<x;i++){const s=n[i],m=this.m_shape.getNextVertex(s),a=this.m_shape.getPrevVertex(s);let x=!1;this.m_shape.queryXY(m,r),h.compare(r)<0&&(e?r.y===t:r.x===t)&&(this.isCurve(s)||(o.push(s),x=!0,this.m_shape.setUserIndex(s,l,1))),this.m_shape.queryXY(a,r),h.compare(r)<0&&(e?r.y===t:r.x===t)&&(this.isCurve(a)||(x||o.push(s),this.m_shape.setUserIndex(s,c,1)))}for(let e=0,t=o.length;e<t;e++){const t=o[e],s=this.m_shape.getUserIndex(t,c),n=this.m_shape.getUserIndex(t,l);if(1===s){const e=this.m_shape.getPrevVertex(t);this.m_shape.queryXY(e,m);let s=0;if(!m.isEqualPoint2D(i)){const n=u.distance(h,m);s=u.distance(m,i)/n,0===s?s=Number.EPSILON:1===s&&(s=1-Number.EPSILON),this.m_shape.splitSegment(e,[s],1);const r=this.m_shape.getPrevVertex(t);this.m_shape.setXY(r,i),p.push(r),this.m_shape.setUserIndex(r,c,1),this.m_shape.setUserIndex(r,l,-1)}}if(1===n){const e=this.m_shape.getNextVertex(t);this.m_shape.queryXY(e,m);let s=0;if(!m.isEqualPoint2D(i)){const e=u.distance(h,m);s=u.distance(h,i)/e,0===s?s=Number.EPSILON:1===s&&(s=1-Number.EPSILON),this.m_shape.splitSegment(t,[s],1);const n=this.m_shape.getNextVertex(t);this.m_shape.setXY(n,i),p.push(n),this.m_shape.setUserIndex(n,c,-1),this.m_shape.setUserIndex(n,l,1)}}}const s=o;o=p,p=s,p.length=0,a=x,h.setCoordsPoint2D(i)}}this.m_shape.removeUserIndex(c),this.m_shape.removeUserIndex(l)}resolveOverlaps(e,t){const s=new u,i=[];let n=-1;for(let r=0,o=this.m_verticesOnExtent.length;r<o;r++){this.progress_();const h=this.m_verticesOnExtent[r];if(h===x)continue;const m=this.m_shape.getNextVertex(h);if(this.m_shape.queryXY(h,s),(e?s.y===t:s.x===t)&&(this.m_shape.queryXY(m,s),e?s.y===t:s.x===t)){if(this.isCurve(h))continue;-1===n&&(n=this.m_shape.createUserIndex()),-2!==this.m_shape.getUserIndex(h,n)&&(i.push(h),this.m_shape.setUserIndex(h,n,-2)),-2!==this.m_shape.getUserIndex(m,n)&&(i.push(m),this.m_shape.setUserIndex(m,n,-2))}}if(0===i.length)return void(-1!==n&&this.m_shape.removeUserIndex(n));r(-1!==n),i.sort((e,t)=>this.compareVertices(e,t));for(let r=0,o=i.length;r<o;r++){const e=i[r];this.m_shape.setUserIndex(e,n,r)}const h=new u,m=new u;m.setNAN();let a=-1;for(let r=0,o=i.length;r<o;r++){this.progress_();const o=i[r];if(o!==x&&(this.m_shape.queryXY(o,s),!s.isEqualPoint2D(m))){if(-1!==a)for(;;){let s=!1;const o=r;for(let p=a;p<o;p++){const a=i[p];if(a===x)continue;let o=x;const c=this.m_shape.getNextVertex(a);this.m_shape.queryXY(c,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(a)||(o=c));let l=x;const _=this.m_shape.getPrevVertex(a);if(this.m_shape.queryXY(_,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(_)||(l=_)),o===x||l===x){if(o!==x||l!==x){for(let c=p+1;c<r;c++){const r=i[c];if(r===x)continue;const p=this.m_shape.getNextVertex(r);let _=x;this.m_shape.queryXY(p,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(r)||(_=p));const u=this.m_shape.getPrevVertex(r);let g=x;if(this.m_shape.queryXY(u,h),m.compare(h)<0&&(e?h.y===t:h.x===t)&&(this.isCurve(u)||(g=u)),_!==x&&g!==x){this.beforeRemoveVertex(r,i,n),this.m_shape.removeVertex(r,!1),this.beforeRemoveVertex(_,i,n),this.m_shape.removeVertex(_,!1),s=!0;break}if(o!==x&&g!==x){this.removeOverlap(i,a,o,r,g,n),s=!0;break}if(l!==x&&_!==x){this.removeOverlap(i,r,_,a,l,n),s=!0;break}}if(s)break}}else this.beforeRemoveVertex(a,i,n),this.m_shape.removeVertex(a,!1),this.beforeRemoveVertex(o,i,n),this.m_shape.removeVertex(o,!1),s=!0}if(!s)break}a=r,m.setCoordsPoint2D(s)}}this.m_shape.removeUserIndex(n)}beforeRemoveVertex(e,t,s){let i=this.m_shape.getUserIndex(e,s);r(i>=0),t[i]=x,i=this.m_shape.getUserIndex(e,this.m_verticesOnExtentIndex),r(i>=0),this.m_verticesOnExtent[i]=x;const n=this.m_shape.getPathFromVertex(e);if(n!==x){this.m_shape.getFirstVertex(n)===e&&(this.m_shape.setFirstVertex(n,x),this.m_shape.setLastVertex(n,x))}}removeOverlap(e,t,s,i,n,r){this.m_shape.setNextVertex(t,i),this.m_shape.setPrevVertex(i,t),this.m_shape.setPrevVertex(s,n),this.m_shape.setNextVertex(n,s),this.beforeRemoveVertex(i,e,r),this.m_shape.removeVertexInternal(i,!1),this.beforeRemoveVertex(n,e,r),this.m_shape.removeVertexInternal(n,!0)}removeSpikesAlongPoles(){this.removeSpikesOnPole(this.m_extent.ymin),this.removeSpikesOnPole(this.m_extent.ymax)}removeSpikesOnPole(e){for(let t=this.m_shape.getFirstPath(this.m_geometry);t!==x;t=this.m_shape.getNextPath(t)){const s=this.m_shape.getPathSize(t);if(s<3)continue;let i=this.m_shape.getFirstVertex(t);const n=new u;this.m_shape.queryXY(i,n);let r=n.y===e&&!this.isCurve(i);i=this.m_shape.getNextVertex(i);const h=new u;this.m_shape.queryXY(i,h);let m=h.y===e&&!this.isCurve(i);i=this.m_shape.getNextVertex(i);const a=new u;for(let t=0,o=s-2;t<o;t++,i=this.m_shape.getNextVertex(i)){this.progress_(),this.m_shape.queryXY(i,a);const t=a.y===e;if(m&&r&&t){if((h.x-n.x)*(a.x-h.x)<=0){this.m_shape.removeVertex(this.m_shape.getPrevVertex(i),!1),h.setCoordsPoint2D(a),m=t&&!this.isCurve(i);continue}}n.setCoordsPoint2D(h),r=m,h.setCoordsPoint2D(a),m=t&&!this.isCurve(i)}}}fixPaths(){for(let n=0,r=this.m_verticesOnExtent.length;n<r;n++){const e=this.m_verticesOnExtent[n];e!==x&&this.m_shape.setPathToVertex(e,x)}const e=this.m_shape.hasCurves();let t=0,s=0;for(let n=this.m_shape.getFirstPath(this.m_geometry);n!==x;){const e=this.m_shape.getFirstVertex(n);if(e===x||n!==this.m_shape.getPathFromVertex(e)){const e=n;n=this.m_shape.getNextPath(n),this.m_shape.setFirstVertex(e,x),this.m_shape.removePathOnly(e);continue}let i=e,r=0;do{this.m_shape.setPathToVertex(i,n),r++,i=this.m_shape.getNextVertex(i)}while(i!==e);this.m_shape.setRingAreaValid(n,!1),this.m_shape.setLastVertex(n,this.m_shape.getPrevVertex(e)),this.m_shape.setPathSize(n,r),s+=r,t++,n=this.m_shape.getNextPath(n)}for(let n=0,h=this.m_verticesOnExtent.length;n<h;n++){let i=this.m_verticesOnExtent[n];if(i===x)continue;let h=this.m_shape.getPathFromVertex(i);if(h!==x)continue;h=this.m_shape.insertPath(this.m_geometry,x);let m=!1,a=0;const o=i;do{this.m_shape.setPathToVertex(i,h),a++,e&&a<=2&&(m||=this.isCurve(i)),i=this.m_shape.getNextVertex(i)}while(i!==o);if(m?0===a:a<=2){let e=this.m_shape.getUserIndex(o,this.m_verticesOnExtentIndex);r(e>=0),this.m_verticesOnExtent[e]=x;const t=this.m_shape.removeVertex(o,!1);2===a&&(e=this.m_shape.getUserIndex(t,this.m_verticesOnExtentIndex),e>=0&&(this.m_verticesOnExtent[e]=x),this.m_shape.removeVertex(t,!1));const s=h;h=this.m_shape.getNextPath(h),this.m_shape.setFirstVertex(s,x),this.m_shape.removePathOnly(s);continue}this.m_shape.setClosedPath(h,!0),this.m_shape.setPathSize(h,a),this.m_shape.setFirstVertex(h,o),this.m_shape.setLastVertex(h,this.m_shape.getPrevVertex(o)),this.m_shape.setRingAreaValid(h,!1),s+=a,t++}this.m_shape.setGeometryPathCount(this.m_geometry,t),this.m_shape.setGeometryVertexCount(this.m_geometry,s);let i=0;for(let n=this.m_shape.getFirstGeometry();n!==x;n=this.m_shape.getNextGeometry(n))i+=this.m_shape.getPointCount(n);this.m_shape.setTotalPointCount(i)}dbgCheckPathFirst(){}isCurve(e){return null!==this.m_shape.getSegment(e)}compareVertices(e,t){const s=new u;this.m_shape.queryXY(e,s);const i=new u;this.m_shape.queryXY(t,i);return s.compare(i)}clipPolesOut(e,t){return this.clipPolygonOrProjectedPolyline2(e,t)}}class E{getOperatorType(){return 10004}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,i){return new V(e,t,s,i)}execute(e,t,s,i){return X(e,t,s,i)}}class V extends e{m_inputGeometryCursor;m_spatialRefImpl;m_progressTracker;m_envelope;m_tolerance;m_index;constructor(e,s,i,n){super(),this.m_progressTracker=n,this.m_index=-1,e||t(""),this.m_envelope=s,this.m_inputGeometryCursor=e,this.m_spatialRefImpl=i,this.m_tolerance=m(i,s,!1).total()}next(){let e;return(e=this.m_inputGeometryCursor.next())?(s(e),this.m_index=this.m_inputGeometryCursor.getGeometryID(),f(e,this.m_envelope,this.m_tolerance,0,this.m_progressTracker)):null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}}function X(e,t,s,i){return v(e,t,s,Number.NaN,0,i)}export{E as O,d as a,f as c};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{v as e,w as r}from"./SpatialReference.js";class t extends e{getOperatorType(){return 6}execute(e,t,a,s){return r(e,t,a,16,s)}}export{t as O};
2
+ import{z as e,A as r}from"./SpatialReference.js";class t extends e{getOperatorType(){return 6}execute(e,t,a,s){return r(e,t,a,16,s)}}export{t as O};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as t}from"./GeometryCursor.js";import{G as e,d as s,g as n}from"./Geometry.js";import{a as r,P as o,E as m,n as i}from"./MultiPathImpl.js";import{g as u,c}from"./Envelope.js";import{l,k as h,n as a,T as d,D as p,C as y}from"./SpatialReference.js";var _=y;function g(t,e){return{m_geometry:t,m_side:e}}function f(t,e,s,n,r,o){if(e.isEmpty()){const t=g(e,0);return void r.push(t)}if(s.isEmpty()){const t=g(e,0);return void r.push(t)}const i=[],u=new m;{const m=u.createGeometryUserIndex(),c=u.addGeometry(e),y=u.addGeometry(s),f=new d(o);let C=0,E=null;if(u.hasCurves()){E=new _;const t=u.getEnvelope2D(o);C=l(n.total());const e=h(n.total(),t);a(u,e,n.total(),12e3,E,null,o)}u.dbgVerifyCurves(),f.setEditShapeCrackAndCluster(u,n),f.cut(t,m,c,y,i);for(const t of i){null!==E&&E.stitchCurves(u,t,C,!1);const e=g(u.getGeometry(t),p(u.getGeometryUserIndex(t,m)));r.push(e)}null!==E&&E.clearStitcher(u)}}function C(t,e,s,n,r,u){if(e.isEmpty()){const t=g(e,0);return void r.push(t)}if(s.isEmpty()){const t=g(e,0);return void r.push(t)}const c=[],p=new m;{const t=p.createGeometryUserIndex(),y=p.addGeometry(e),f=p.addGeometry(s),C=new d(u);let E=0,G=null;if(p.hasCurves()){G=new _;const t=p.getEnvelope2D(u);E=l(n.total());const e=h(n.total(),t);a(p,e,n.total(),12e3,G,null,u)}p.dbgVerifyCurves(),C.setEditShapeCrackAndCluster(p,n),C.cut(!1,t,y,f,c),null!==G&&G.stitchCurves(p,i,E,!0);let v=p.getGeometry(y);const w=new o,x=new o,k=[];for(let e=0;e<c.length;e++){let s=null;{const r=new m,o=r.addGeometry(v),d=r.addGeometry(p.getGeometry(c[e]));if(r.hasCurves()){const t=r.getEnvelope2D(u);E=l(n.total());const e=h(n.total(),t);a(r,e,n.total(),12e3,G,null,u)}C.setEditShapeCrackAndCluster(r,n);const y=C.intersection(o,d);if(null!==G&&G.stitchCurves(r,i,E,!0),s=r.getGeometry(y),s.isEmpty())continue;const _=p.getGeometryUserIndex(c[e],t);2===_?w.add(s,!1):1===_?x.add(s,!1):k.push(s)}{const t=new m,s=t.addGeometry(v),r=t.addGeometry(p.getGeometry(c[e]));if(t.hasCurves()){const e=t.getEnvelope2D(u);E=l(n.total());const s=h(n.total(),e);a(t,s,n.total(),12e3,G,null,u)}C.setEditShapeCrackAndCluster(t,n);const o=C.difference(s,r);null!==G&&G.stitchCurves(t,i,E,!0);v=t.getGeometry(o)}}if(!v.isEmpty()&&c.length>0&&k.push(v),w.isEmpty()&&x.isEmpty())return;if(!w.isEmpty()){const t=g(w,1);r.push(t)}if(!x.isEmpty()){const t=g(x,2);r.push(t)}for(let e=0,s=k.length;e<s;++e){const t=g(k[e],3);r.push(t)}}}class E{getOperatorType(){return 10005}accelerateGeometry(t,e,s){return!1}canAccelerateGeometry(t){return!1}supportsCurves(){return!0}execute(t,e,s,n,r){return new G(t,e,s,n,r)}}class G extends t{constructor(t,e,s,n,o){super(),this.m_cutIndex=-1,this.m_cuts=[],this.m_progressTracker=o,this.m_cuttee=e.clone(),this.m_cutter=new r({copy:s}),this.m_bConsiderTouch=t;const m=u(e,s);this.m_tolerance=c(n,m,!0)}next(){return-1===this.m_cutIndex&&this.generateCuts(),++this.m_cutIndex<this.m_cuts.length?this.m_cuts[this.m_cutIndex]:null}getGeometryID(){return this.m_cutIndex}tock(){return!0}getRank(){return 1}generateCuts(){switch(this.m_cuttee.getGeometryType()){case e.enumPolyline:this.generatePolylineCuts();break;case e.enumPolygon:this.generatePolygonCuts()}}generatePolylineCuts(){const t=new r,e=new r,n=new r;this.m_cuts.length=0,this.m_cuts.push(t),this.m_cuts.push(e);const o=[];f(this.m_bConsiderTouch,this.m_cuttee,this.m_cutter,this.m_tolerance,o,this.m_progressTracker);for(let r=0;r<o.length;r++){const m=o[r];1===m.m_side?t.add(m.m_geometry,!1):2===m.m_side||4===m.m_side?e.add(m.m_geometry,!1):3===m.m_side?this.m_cuts.push(m.m_geometry):0===m.m_side?n.add(m.m_geometry,!1):s("")}n.isEmpty()||t.isEmpty()&&e.isEmpty()&&!(this.m_cuts.length>=3)||this.m_cuts.push(n),t.isEmpty()&&e.isEmpty()&&this.m_cuts.length<3&&(this.m_cuts.length=0)}generatePolygonCuts(){const t=new o,e=new o,r=new o;this.m_cuts.length=0,this.m_cuts.push(t),this.m_cuts.push(e);const m=[];C(this.m_bConsiderTouch,this.m_cuttee,this.m_cutter,this.m_tolerance,m,this.m_progressTracker);for(let n=0;n<m.length;n++){const o=m[n];1===o.m_side?t.add(o.m_geometry,!1):2===o.m_side?e.add(o.m_geometry,!1):3===o.m_side?this.m_cuts.push(o.m_geometry):0===o.m_side?r.add(o.m_geometry,!1):s("")}n(r.isEmpty()||1===m.length),t.isEmpty()&&e.isEmpty()&&this.m_cuts.length<3&&(this.m_cuts.length=0)}}export{E as O};
2
+ import{G as t}from"./GeometryCursor.js";import{G as e,d as s,g as r}from"./Geometry.js";import{a as n,P as o,E as m,n as i}from"./MultiPathImpl.js";import{g as c,c as u}from"./Envelope.js";import{l,k as a,n as h,T as d,E as p,C as y}from"./SpatialReference.js";var _=y;function g(t,e){return{m_geometry:t,m_side:e}}function f(t,e,s,r,n,o){if(e.isEmpty()){const t=g(e,0);return void n.push(t)}if(s.isEmpty()){const t=g(e,0);return void n.push(t)}const i=[],c=new m;{const m=c.createGeometryUserIndex(),u=c.addGeometry(e),y=c.addGeometry(s),f=new d(o);let C=0,E=null;if(c.hasCurves()){E=new _;const t=c.getEnvelope2D(o);C=l(r.total());const e=a(r.total(),t);h(c,e,r.total(),12e3,E,null,o)}c.dbgVerifyCurves(),f.setEditShapeCrackAndCluster(c,r),f.cut(t,m,u,y,i);for(const t of i){null!==E&&E.stitchCurves(c,t,C,!1);const e=g(c.getGeometry(t),p(c.getGeometryUserIndex(t,m)));n.push(e)}null!==E&&E.clearStitcher(c)}}function C(t,e,s,r,n,c){if(e.isEmpty()){const t=g(e,0);return void n.push(t)}if(s.isEmpty()){const t=g(e,0);return void n.push(t)}const u=[],p=new m;{const t=p.createGeometryUserIndex(),y=p.addGeometry(e),f=p.addGeometry(s),C=new d(c);let E=0,G=null;if(p.hasCurves()){G=new _;const t=p.getEnvelope2D(c);E=l(r.total());const e=a(r.total(),t);h(p,e,r.total(),12e3,G,null,c)}p.dbgVerifyCurves(),C.setEditShapeCrackAndCluster(p,r),C.cut(!1,t,y,f,u),null!==G&&G.stitchCurves(p,i,E,!0);let v=p.getGeometry(y);const w=new o,x=new o,k=[];for(let e=0;e<u.length;e++){let s=null;{const n=new m,o=n.addGeometry(v),d=n.addGeometry(p.getGeometry(u[e]));if(n.hasCurves()){const t=n.getEnvelope2D(c);E=l(r.total());const e=a(r.total(),t);h(n,e,r.total(),12e3,G,null,c)}C.setEditShapeCrackAndCluster(n,r);const y=C.intersection(o,d);if(null!==G&&G.stitchCurves(n,i,E,!0),s=n.getGeometry(y),s.isEmpty())continue;const _=p.getGeometryUserIndex(u[e],t);2===_?w.add(s,!1):1===_?x.add(s,!1):k.push(s)}{const t=new m,s=t.addGeometry(v),n=t.addGeometry(p.getGeometry(u[e]));if(t.hasCurves()){const e=t.getEnvelope2D(c);E=l(r.total());const s=a(r.total(),e);h(t,s,r.total(),12e3,G,null,c)}C.setEditShapeCrackAndCluster(t,r);const o=C.difference(s,n);null!==G&&G.stitchCurves(t,i,E,!0);v=t.getGeometry(o)}}if(!v.isEmpty()&&u.length>0&&k.push(v),w.isEmpty()&&x.isEmpty())return;if(!w.isEmpty()){const t=g(w,1);n.push(t)}if(!x.isEmpty()){const t=g(x,2);n.push(t)}for(let e=0,s=k.length;e<s;++e){const t=g(k[e],3);n.push(t)}}}class E{getOperatorType(){return 10005}accelerateGeometry(t,e,s){return!1}canAccelerateGeometry(t){return!1}supportsCurves(){return!0}execute(t,e,s,r,n){return new G(t,e,s,r,n)}}class G extends t{m_bConsiderTouch;m_cuttee;m_cutter;m_tolerance;m_cutIndex=-1;m_cuts=[];m_progressTracker;constructor(t,e,s,r,o){super(),this.m_progressTracker=o,this.m_cuttee=e.clone(),this.m_cutter=new n({copy:s}),this.m_bConsiderTouch=t;const m=c(e,s);this.m_tolerance=u(r,m,!0)}next(){return-1===this.m_cutIndex&&this.generateCuts(),++this.m_cutIndex<this.m_cuts.length?this.m_cuts[this.m_cutIndex]:null}getGeometryID(){return this.m_cutIndex}tock(){return!0}getRank(){return 1}generateCuts(){switch(this.m_cuttee.getGeometryType()){case e.enumPolyline:this.generatePolylineCuts();break;case e.enumPolygon:this.generatePolygonCuts()}}generatePolylineCuts(){const t=new n,e=new n,r=new n;this.m_cuts.length=0,this.m_cuts.push(t),this.m_cuts.push(e);const o=[];f(this.m_bConsiderTouch,this.m_cuttee,this.m_cutter,this.m_tolerance,o,this.m_progressTracker);for(let n=0;n<o.length;n++){const m=o[n];1===m.m_side?t.add(m.m_geometry,!1):2===m.m_side||4===m.m_side?e.add(m.m_geometry,!1):3===m.m_side?this.m_cuts.push(m.m_geometry):0===m.m_side?r.add(m.m_geometry,!1):s("")}r.isEmpty()||t.isEmpty()&&e.isEmpty()&&!(this.m_cuts.length>=3)||this.m_cuts.push(r),t.isEmpty()&&e.isEmpty()&&this.m_cuts.length<3&&(this.m_cuts.length=0)}generatePolygonCuts(){const t=new o,e=new o,n=new o;this.m_cuts.length=0,this.m_cuts.push(t),this.m_cuts.push(e);const m=[];C(this.m_bConsiderTouch,this.m_cuttee,this.m_cutter,this.m_tolerance,m,this.m_progressTracker);for(let r=0;r<m.length;r++){const o=m[r];1===o.m_side?t.add(o.m_geometry,!1):2===o.m_side?e.add(o.m_geometry,!1):3===o.m_side?this.m_cuts.push(o.m_geometry):0===o.m_side?n.add(o.m_geometry,!1):s("")}r(n.isEmpty()||1===m.length),t.isEmpty()&&e.isEmpty()&&this.m_cuts.length<3&&(this.m_cuts.length=0)}}export{E as O};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- class e{assign(e){this.m_reason=e.m_reason,this.m_vertexIndex1=e.m_vertexIndex1,this.m_vertexIndex2=e.m_vertexIndex2}constructor(e,t,s){void 0!==e?(this.m_reason=e,this.m_vertexIndex1=t,this.m_vertexIndex2=s):(this.m_reason=0,this.m_vertexIndex1=-1,this.m_vertexIndex2=-2)}clear(){this.m_reason=0,this.m_vertexIndex1=-1,this.m_vertexIndex2=-1}}export{e as NonSimpleResult};
2
+ class e{m_reason;m_vertexIndex1;m_vertexIndex2;assign(e){this.m_reason=e.m_reason,this.m_vertexIndex1=e.m_vertexIndex1,this.m_vertexIndex2=e.m_vertexIndex2}constructor(e,t,x){void 0!==e?(this.m_reason=e,this.m_vertexIndex1=t,this.m_vertexIndex2=x):(this.m_reason=0,this.m_vertexIndex1=-1,this.m_vertexIndex2=-2)}clear(){this.m_reason=0,this.m_vertexIndex1=-1,this.m_vertexIndex2=-1}}export{e as NonSimpleResult};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{c as t}from"./Geometry.js";import{d as r,D as s}from"./MultiPathImpl.js";var n=s;class i extends e{constructor(e,t,r,s,i,o){super(),this.m_densificator=new n(t,r,s,o,!1,i),this.m_index=-1,this.m_inputGeoms=e}tock(){return!0}getRank(){return 1}next(){let e=null;for(;e=this.m_inputGeoms.next();)return t(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.densify(e);return null}getGeometryID(){return this.m_index}densify(e){return this.m_densificator.densify(e)}}class o{getOperatorType(){return 10202}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}executeMany(e,t,r,s,n,o=12e3){return new i(e,t,r,s,o,n)}execute(e,t,s,n,i,o=12e3){return r(e,t,s,n,i,o)}}export{o as O};
2
+ import{G as e}from"./GeometryCursor.js";import{c as t}from"./Geometry.js";import{d as r,D as s}from"./MultiPathImpl.js";var n=s;class i extends e{m_inputGeoms;m_densificator;m_index;constructor(e,t,r,s,i,m){super(),this.m_densificator=new n(t,r,s,m,!1,i),this.m_index=-1,this.m_inputGeoms=e}tock(){return!0}getRank(){return 1}next(){let e=null;for(;e=this.m_inputGeoms.next();)return t(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.densify(e);return null}getGeometryID(){return this.m_index}densify(e){return this.m_densificator.densify(e)}}class m{getOperatorType(){return 10202}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}supportsCurves(){return!0}executeMany(e,t,r,s,n,m=12e3){return new i(e,t,r,s,m,n)}execute(e,t,s,n,i,m=12e3){return r(e,t,s,n,i,m)}}export{m as O};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as t,__disposeResources as e}from"tslib";import{G as s}from"./GeometryCursor.js";import{a as i,c as r,f as n,G as a,h,j as m,t as l}from"./Geometry.js";import{P as o,a as c,L as u}from"./MultiPathImpl.js";import{P as _}from"./Envelope.js";import{h as g,P as p,c as k}from"./Point2D.js";import{O as f}from"./OperatorDensify.js";class P{getOperatorType(){return 10204}supportsCurves(){return!0}accelerateGeometry(t,e,s){return!1}canAccelerateGeometry(t){return!1}executeMany(t,e,s,i){return new y(t,e,s,i)}execute(t,e,s,r){t||i("null param is not allowed.");return new y(null,e,s,r).generalize(t)}}class y extends s{constructor(t,e,s,i){super(),this.m_pline=null,this.m_point=new _,this.m_stack=[],this.m_resultstack=[],this.m_callCount=0,this.m_progressTracker=i,this.m_geoms=t,this.m_maxDeviation=e,this.m_bRemoveDegenerateParts=s}tock(){return!0}getRank(){return 1}next(){const t=this.m_geoms.next();return null===t?null:(r(t),this.generalize(t))}getGeometryID(){return this.m_geoms.getGeometryID()}generalize(s){const i=s.getGeometryType();if(n(i))return s;if(i===a.enumEnvelope){const t=new o({vd:s.getDescription()});return t.addEnvelope(s,!1),this.generalize(t)}if(h(i)){const t=new c({vd:s.getDescription()});return t.addSegment(s,!0),this.generalize(t)}if(m(i)||l(""),s.isEmpty()||this.m_maxDeviation<=0)return s;const r=(new f).execute(s,0,.05*this.m_maxDeviation,0,this.m_progressTracker);s.hasNonLinearSegments()&&(this.m_maxDeviation*=.95);const _=r,p=s.createInstance();if(p.getGeometryType()===a.enumPolygon){p.setFillRule(s.getFillRule())}this.m_xy=_.getAttributeStreamRef(0);{const s={stack:[],error:void 0,hasError:!1};try{const e=new u;this.m_pline=e,t(s,g(()=>{this.m_pline=null},!1),!1);for(let t=0,s=_.getPathCount();t<s;t++)this.generalizePath(_.getImpl(),t,p.getImpl())}catch(k){s.error=k,s.hasError=!0}finally{e(s)}}return this.m_resultstack.length=0,this.m_stack.length=0,p}generalizePath(t,e,s){if(t.getPathSize(e)<2)return;this.m_resultstack.length=0,this.m_stack.length=0;const i=t.getPathStart(e),r=t.getPathEnd(e)-1,n=t.isClosedPath(e),a=t.isClosedPathInXYPlane(e);let h=0,m=-1;this.m_stack.push(n?i:r),this.m_stack.push(i);let l=!1,o=!1;for(!this.m_bRemoveDegenerateParts&&a&&(l=!0,o=!0);this.m_stack.length>1;){const e=this.m_stack.at(-1);this.m_stack.pop();const s=this.m_stack.at(-1);let i=t.getXY(e);this.m_pline.setStartXY(i),i=t.getXY(s),this.m_pline.setEndXY(i);const n=[Number.NaN];let a=this.findGreatestDistance(e,s,r,n);a>=0&&(l?l=!1:(o&&n[0]>h&&(h=n[0],m=a),n[0]<=this.m_maxDeviation&&(a=-1))),a>=0?(this.m_stack.push(a),this.m_stack.push(e)):this.m_resultstack.push(e)}n||this.m_resultstack.push(this.m_stack[0]);const c=this.m_resultstack.length;if(c===t.getPathSize(e)&&c===this.m_stack.length)s.addPath(t,e,!0);else if(this.m_resultstack.length>0){if(this.m_bRemoveDegenerateParts&&this.m_resultstack.length<=2){if(n||1===this.m_resultstack.length)return;if(p.distance(t.getXY(this.m_resultstack[0]),t.getXY(this.m_resultstack[1]))<=this.m_maxDeviation)return}if(o&&m>=0&&h<=this.m_maxDeviation){const t=this.m_resultstack.at(-1)>m;this.m_resultstack.push(m),t&&(this.m_resultstack[this.m_resultstack.length-2]=k(this.m_resultstack[this.m_resultstack.length-1],this.m_resultstack[this.m_resultstack.length-1]=this.m_resultstack[this.m_resultstack.length-2]))}for(let e=0,i=this.m_resultstack.length;e<i;e++)t.getPointByVal(this.m_resultstack[e],this.m_point),0===e?s.startPathPoint(this.m_point):s.lineToPoint(this.m_point);if(n){for(let t=this.m_resultstack.length;t<3;t++)s.lineToPoint(this.m_point);s.closePathWithLine()}}}findGreatestDistance(t,e,s,i){let r=e-1;e<=t&&(r=s);let n=-1,a=0;const h=new p;for(let m=t+1;m<=r;m++){this.m_xy.queryPoint2D(2*m,h);const t=h.x,e=h.y,s=this.m_pline.getClosestCoordinate(h,!1);h.assign(this.m_pline.getCoord2D(s)),h.x-=t,h.y-=e;const i=h.length();i>a&&(n=m,a=i),this.m_callCount++}return i[0]=a,n}}export{P as O};
2
+ import{__addDisposableResource as t,__disposeResources as e}from"tslib";import{G as s}from"./GeometryCursor.js";import{a as i,c as r,j as a,G as n,m,n as l,t as h}from"./Geometry.js";import{P as o,a as c,L as u}from"./MultiPathImpl.js";import{P as _}from"./Envelope.js";import{h as g,P as p,c as k}from"./Point2D.js";import{O as f}from"./OperatorDensify.js";class P{getOperatorType(){return 10204}supportsCurves(){return!0}accelerateGeometry(t,e,s){return!1}canAccelerateGeometry(t){return!1}executeMany(t,e,s,i){return new y(t,e,s,i)}execute(t,e,s,r){t||i("null param is not allowed.");return new y(null,e,s,r).generalize(t)}}class y extends s{m_progressTracker;m_geoms;m_pline=null;m_point=new _;m_xy;m_stack=[];m_resultstack=[];m_maxDeviation;m_bRemoveDegenerateParts;m_callCount=0;constructor(t,e,s,i){super(),this.m_progressTracker=i,this.m_geoms=t,this.m_maxDeviation=e,this.m_bRemoveDegenerateParts=s}tock(){return!0}getRank(){return 1}next(){const t=this.m_geoms.next();return null===t?null:(r(t),this.generalize(t))}getGeometryID(){return this.m_geoms.getGeometryID()}generalize(s){const i=s.getGeometryType();if(a(i))return s;if(i===n.enumEnvelope){const t=new o({vd:s.getDescription()});return t.addEnvelope(s,!1),this.generalize(t)}if(m(i)){const t=new c({vd:s.getDescription()});return t.addSegment(s,!0),this.generalize(t)}if(l(i)||h(""),s.isEmpty()||this.m_maxDeviation<=0)return s;const r=(new f).execute(s,0,.05*this.m_maxDeviation,0,this.m_progressTracker);s.hasNonLinearSegments()&&(this.m_maxDeviation*=.95);const _=r,p=s.createInstance();if(p.getGeometryType()===n.enumPolygon){p.setFillRule(s.getFillRule())}this.m_xy=_.getAttributeStreamRef(0);{const s={stack:[],error:void 0,hasError:!1};try{const e=new u;this.m_pline=e,t(s,g(()=>{this.m_pline=null},!1),!1);for(let t=0,s=_.getPathCount();t<s;t++)this.generalizePath(_.getImpl(),t,p.getImpl())}catch(k){s.error=k,s.hasError=!0}finally{e(s)}}return this.m_resultstack.length=0,this.m_stack.length=0,p}generalizePath(t,e,s){if(t.getPathSize(e)<2)return;this.m_resultstack.length=0,this.m_stack.length=0;const i=t.getPathStart(e),r=t.getPathEnd(e)-1,a=t.isClosedPath(e),n=t.isClosedPathInXYPlane(e);let m=0,l=-1;this.m_stack.push(a?i:r),this.m_stack.push(i);let h=!1,o=!1;for(!this.m_bRemoveDegenerateParts&&n&&(h=!0,o=!0);this.m_stack.length>1;){const e=this.m_stack.at(-1);this.m_stack.pop();const s=this.m_stack.at(-1);let i=t.getXY(e);this.m_pline.setStartXY(i),i=t.getXY(s),this.m_pline.setEndXY(i);const a=[Number.NaN];let n=this.findGreatestDistance(e,s,r,a);n>=0&&(h?h=!1:(o&&a[0]>m&&(m=a[0],l=n),a[0]<=this.m_maxDeviation&&(n=-1))),n>=0?(this.m_stack.push(n),this.m_stack.push(e)):this.m_resultstack.push(e)}a||this.m_resultstack.push(this.m_stack[0]);const c=this.m_resultstack.length;if(c===t.getPathSize(e)&&c===this.m_stack.length)s.addPath(t,e,!0);else if(this.m_resultstack.length>0){if(this.m_bRemoveDegenerateParts&&this.m_resultstack.length<=2){if(a||1===this.m_resultstack.length)return;if(p.distance(t.getXY(this.m_resultstack[0]),t.getXY(this.m_resultstack[1]))<=this.m_maxDeviation)return}if(o&&l>=0&&m<=this.m_maxDeviation){const t=this.m_resultstack.at(-1)>l;this.m_resultstack.push(l),t&&(this.m_resultstack[this.m_resultstack.length-2]=k(this.m_resultstack[this.m_resultstack.length-1],this.m_resultstack[this.m_resultstack.length-1]=this.m_resultstack[this.m_resultstack.length-2]))}for(let e=0,i=this.m_resultstack.length;e<i;e++)t.getPointByVal(this.m_resultstack[e],this.m_point),0===e?s.startPathPoint(this.m_point):s.lineToPoint(this.m_point);if(a){for(let t=this.m_resultstack.length;t<3;t++)s.lineToPoint(this.m_point);s.closePathWithLine()}}}findGreatestDistance(t,e,s,i){let r=e-1;e<=t&&(r=s);let a=-1,n=0;const m=new p;for(let l=t+1;l<=r;l++){this.m_xy.queryPoint2D(2*l,m);const t=m.x,e=m.y,s=this.m_pline.getClosestCoordinate(m,!1);m.assign(this.m_pline.getCoord2D(s)),m.x-=t,m.y-=e;const i=m.length();i>n&&(a=l,n=i),this.m_callCount++}return i[0]=n,a}}export{P as O};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{d as t,t as s,a as n,c as i,i as r,G as o,n as m,h as a,f as h,j as c,o as u}from"./Geometry.js";import{Envelope2D as l}from"./Envelope2D.js";import{z as _,a as f,M as d,N as g,O as p,Q as P,R as x,E as y,S as b,U as w,V as C,x as S,f as v,W as D,X as I,Y as G,Z as M,_ as T,$ as N,a0 as k,a1 as A,a2 as E,a3 as q,a4 as R,a5 as z}from"./SpatialReference.js";import{__addDisposableResource as X,__disposeResources as B}from"tslib";import{P as Y,a as O,E as j}from"./MultiPathImpl.js";import{f as F,c as W,P as J,e as U,h as H,j as V,s as L}from"./Envelope.js";import{T as Q}from"./Transformation2D.js";import{d as Z,m as $,P as K,S as ee,k as te,l as se}from"./Point2D.js";import{c as ne}from"./OperatorClip.js";import{c as ie}from"./GeometryCleaner-BEJM7I4l.js";import{O as re}from"./OperatorDensify.js";import{S as oe}from"./SimpleGeometryCursor.js";function me(e,t,s,m,a,h){m<Number.MAX_VALUE&&m>-Number.MAX_VALUE||n("Geodesic_bufferer.buffer - bad distance"),i(e);const c=ie(e),u=c.getGeometryType();if(r(u)){const e=c.getPointCount(),n=8e6;if(Math.abs(m)>n&&(e>50||u!==o.enumMultiPoint&&4===s&&e>2)){let e=c;const i=m>0?1:-1,r=7e6;let o=m,u=1;do{u++,o=(Math.abs(o)-r)*i}while(Math.abs(o)>n);o=m;for(let n=0;n<u-1;n++)e=he(e,t,s,r*i,a,u,h),o=(Math.abs(o)-r)*i;return e=he(e,t,s,o,a,u,h),e}}return he(c,t,s,m,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 Y,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 Y;if(this.bufferPoint2D(t,!1,s)){const e=U(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=b(w());let r=new C,o=(new _).executeMany(r,i,this.m_progressTracker,2);const m=Z(6,!1),a=$(l,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 f,d,g;for(;null!==(f=s.next());){if(d=s.getGnomonic(),d!==n){if(null!==n){let t=o.next();if(r=null,o=null,null!=t){const s=U(i,t,!0),r=F(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}}null!==d&&(r=new C,o=(new _).executeMany(r,i,this.m_progressTracker,2)),n=d}if(s.isRunningInGnomonic()){if(d.project(f),s.needsSimplify()){const e=U(null,f,!0);f=y(f,e,!0,!0,-1,this.m_progressTracker,0,!1)}r.tick(ye(f)),o.tock()}else this.putInGridCursors(e,f,i,!0,m,a,h,c,u)}let P=!1;for(let l=0;l<6;l++)if(null!=u[l]){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 f=new C,d=(new _).executeMany(f,this.m_gcs,this.m_progressTracker,2);if(null!==o){let t=o.next();r=null,o=null;const s=U(i,t,!0),l=F(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=U(i,s,!0),r=F(n);s=h[e].unproject(s,r,this.m_progressTracker),s=(new v).execute(s,this.m_gcs,!0,this.m_progressTracker),f.tick(ye(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=U(null,e,!0);e=y(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(r.tick(ye(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=U(i,a,!0),c=F(h);g=n.unproject(a,c,this.m_progressTracker),g=(new v).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 C,a[c]=(new _).executeMany(m[c],s,this.m_progressTracker,2)),m[c].tick(ye(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=H(t,e),u=W(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=U(null,l,!0);l=y(l,e,s,!0,-1,this.m_progressTracker,0,!1),o[h]=l}}}insertGeodeticPointsAlongGrid(e,t,s){const n=l.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=D(this.m_gcs,n,e,!0,this.m_progressTracker),r=new j,o=r.addGeometry(i);return I(r,o,this.m_gcs,0,2,!0,t[0].xmax+s),I(r,o,this.m_gcs,0,2,!0,t[1].xmax+s),I(r,o,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&(I(r,o,this.m_gcs,0,2,!0,t[0].xmax-s),I(r,o,this.m_gcs,0,2,!0,t[1].xmax-s),I(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=d.q(this.m_a,this.m_eSquared,a),u=d.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-te,_=n+te,f=l-Math.PI,g=l+Math.PI,p=_+Math.PI,P=[Number.NaN],x=[Number.NaN],y=[Number.NaN],b=[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,y,b),(_<P[0]&&P[0]<p||_<x[0]&&x[0]<p)&&(w=!0),w||(f<y[0]&&y[0]<l||f<b[0]&&b[0]<l)&&(w=!0),!w&&i)return!1;const C=[];for(let d=e.length-1;d>=0;d--)C.push(e[d]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let S=0;S=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,l,_,i,S,r),S=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,_,p,this.m_cornerStep,i,S,r,P[0],x[0]),S=ce(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,C,p,g,i,S,r),S=ue(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,o,f,l,this.m_cornerStep,i,S,r,y[0],b[0]);let v=!1;return i||(v=this.checkAndPrepForPole(r)),w||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 l;return e.queryEnvelope(t),!(!G(t.ymax,this.m_gcs90)&&!G(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 Y;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=G(t.y,this.m_gcs90),n=G(t.y,-this.m_gcs90);if(!s&&!n)break}let o=r,m=!1,a=Number.NaN;do{const n=e.getXY(o),r=G(n.y,this.m_gcs90),h=G(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=G(i.y,this.m_gcs90),o=G(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 Y,s=new Y,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 l;a.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const h=new l;e.queryEnvelope(h);const c=Math.ceil(h.width()/o);let u,_;i.x>r.x?(u=-o,_=this.m_gcs90):(u=o,_=-this.m_gcs90),n.setShiftCoords(u,0),t.addPath(e,0,!0),s.add(t,!1);const f=new J;for(let l=0;l<c;l++)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=_,g.y=_,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 P=a.getCenterX(),x=new l;t.queryEnvelope(x);let y=0;const b=x.getCenter().x;b-P>m?y=-Math.ceil((b-P-m)/o):P-b>m&&(y=Math.ceil((P-b-m)/o)),0!==y&&(n.setShiftCoords(y*o,0),t.applyTransformation(n));const w=new j,C=w.addGeometry(t);I(w,C,this.m_gcs,0,2,!0,a.xmin),I(w,C,this.m_gcs,0,2,!0,a.xmax);const S=w.getGeometry(C),v=H(S,a);v.inflateCoords(0,1);const D=W(null,v,!0).total(),G=ne(S,a,D,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(G,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new l;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 l;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 l;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 Q;a<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),c.addPath(e,0,!0);const r=new j,o=r.addGeometry(c);I(r,o,this.m_gcs,0,2,!0,n.xmin),I(r,o,this.m_gcs,0,2,!0,n.xmax),c=r.getGeometry(o);const m=H(c,n);m.inflateCoords(0,1);const h=W(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=X(e,new ee(new M,new M),!1),m=X(e,new ee(new M,new M),!1),a=X(e,new ee(new M,new M),!1),h=X(e,new ee(new M,new M),!1),c=new K,u=new K,l=new K,_=new K;for(T.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),T.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);T.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 M,!1),f=X(e,new M,!1);T.geodeticDistance(this.m_a,this.m_eSquared,c.x,c.y,u.x,u.y,o,f,null,2),T.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 M,!1);T.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,T.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{B(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{B(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=X(e,new M,!1),m=X(e,new M,!1),a=X(e,new M,!1);T.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 ee(new M,new M),!1),c=X(e,new ee(new M,new M),!1),u=new K,l=X(e,new M,!1),_=X(e,new ee(new M,new M),!1),f=X(e,new ee(new M,new M),!1),d=X(e,new ee(new M,new M),!1),g=X(e,new ee(new M,new M),!1),p=new K,P=new K,x=new K,y=new K,b=0;let w=1;const C=o.val,S=m.val,v=C-.5*Math.PI,D=S+.5*Math.PI,I=a.val;for(T.geodesicCoordinate(this.m_a,this.m_eSquared,i.x,i.y,n,v,_.at(0),_.at(1)),p.setCoords(_.at(0).val,_.at(1).val),T.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*(b+w);T.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),T.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;T.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 M,!1),a=X(e,new M,!1);T.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,P.x,P.y,m,a,null,2),T.geodeticCoordinate(this.m_a,this.m_eSquared,p.x,p.y,.5*m.val,a.val,g.at(0),g.at(1),2),y.setCoords(g.at(0).val,g.at(1).val);const _=X(e,new M,!1);T.geodeticDistance(this.m_a,this.m_eSquared,x.x,x.y,y.x,y.y,_,null,null,2);if(_.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{w*=.9,T.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 M,!1);T.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;T.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{B(e)}}}catch(s){e.error=s,e.hasError=!0}finally{B(e)}}let G=w*I;G>1e5&&(G=1e5),this.m_segmentStep=G}catch(n){e.error=n,e.hasError=!0}finally{B(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,_){if(e.isEmpty())return new Y({vd:e.getDescription()});let y=e;if(m(y)){const e=10*t.getTolerance(0);y=(new re).execute(y,0,e,0,_,12e3)}const b=new ae(_);b.m_sr=t,b.m_gcs=t.getGCS(),b.m_transform=f(t,b.m_gcs,null);const w=N();b.m_gcs.querySpheroidData(w);const C=new l;y.queryEnvelope(C),b.m_a=w.majorSemiAxis,b.m_eSquared=w.e2,b.m_rpu=b.m_gcs.getUnit().getUnitToBaseFactor(),b.m_gcs90=.5*Math.PI/b.m_rpu,b.m_gcs180=Math.PI/b.m_rpu,b.m_gcs360=2*Math.PI/b.m_rpu,b.m_gcs60=b.m_gcs360/6,b.m_q90=d.q90(b.m_a,b.m_eSquared),b.m_ellipticToGeodesicMaxRatio=.5*b.m_a*Math.PI/b.m_q90;const S=b.m_gcs.getTolerance(0);b.m_radTolerance=S*b.m_rpu,4===s?(b.m_curveType=2,b.m_bShapePreserving=!0):(b.m_curveType=s,b.m_bShapePreserving=!1),b.m_distance=n,b.m_absDistance=Math.abs(n),Number.isNaN(i)||i<=0?b.setConvergenceOffset():b.m_convergenceOffset=Math.max(i,.001),b.m_convergenceOffset/=r;let v,D=y.getGeometryType();if(a(D)){const e=new O({vd:y.getDescription()});e.addSegment(y,!0),v=e,D=o.enumPolyline}else if(D===o.enumEnvelope){const e=y,t=new l;e.queryEnvelope(t);const s=F(W(b.m_sr,C,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new J({vd:y.getDescription()});e.getCenter(t),v=t,D=o.enumPoint}else{const t=new O({vd:y.getDescription()});t.addEnvelope(e,!1),v=t,D=o.enumPolyline}else{const t=new Y({vd:y.getDescription()});t.addEnvelope(e,!1),v=t,D=o.enumPolygon}}else v=y;if(b.setMinCornerStep(),h(D)||b.setMinSegmentStep(),b.m_absDistance<=.5*b.m_convergenceOffset)return D!==o.enumPolygon?new Y({vd:v.getDescription()}):b.m_bShapePreserving?v:g(v,b.m_sr,b.m_curveType,b.m_segmentStep,-1,_);if(b.m_distance<0&&D!==o.enumPolygon)return new Y({vd:v.getDescription()});if(b.m_bShapePreserving&&c(D)){const e=g(v,t,4,Number.NaN,b.m_convergenceOffset,_);v=(new p).execute(e,b.m_transform,_)}else v=(new p).execute(v,b.m_transform,_);if(v=P(v,b.m_gcs),v.isEmpty())return new Y({vd:v.getDescription()});!b.m_bShapePreserving&&c(D)&&(v=x(b.m_rpu,v)),v=fe(v,b.m_gcs);let I=new Y;switch(D){case o.enumPolygon:I=b.bufferPolygon(v);break;case o.enumPolyline:I=b.bufferPolyline(v);break;case o.enumMultiPoint:I=b.bufferMultiPoint(v);break;case o.enumPoint:I=b.bufferPoint(v);break;default:u("")}const G=(new p).execute(I,b.m_transform.getInverse(),_);return G.mergeVertexDescription(v.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 K;l.setNAN(),a||c.getPointCount()>0&&(l.setCoordsPoint2D(c.getXY(c.getPointCount()-1)),l.scale(s));const _=X(u,new M,!1),f=X(u,new ee(new M,new M),!1),d=new K,g=new K,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:(T.geodeticDistance(e,t,p.x,p.y,u.x,u.y,null,null,_,i),x=_.val-.5*Math.PI),T.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{B(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 ee(new M,new M),!1),d=new K,g=new K,p=new K;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 y=r;const b=1/s;for(;x<o+m&&(y<u&&u<x?(x=u,P--):y<l&&l<x&&(x=l,P--),!(x>=o));)T.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(b),c.insertPoint2D(0,-1,p),y=x,x=P++*m;return h}catch(f){_.error=f,_.hasError=!0}finally{B(_)}}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,_=X(u,new ee(new M,new M),!1);T.geodesicCoordinate(e,t,i.x,i.y,n,r,_.at(0),_.at(1)),s.setCoords(_.at(0).val,_.at(1).val),T.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 M,!1);for(T.geodeticDistance(e,t,m.x,m.y,s.x,s.y,null,f,null,0),h[0]=f.val,T.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{B(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=c(s)?e.getPathCount():s===o.enumMultiPoint?e.getPointCount():1,1===n)return e;const i=[],r=[];for(let o=0;o<n;o++){i.push(o);const n=new K;if(c(s)){const t=new l;e.queryPathEnvelope(o,t),n.assign(t.getCenter())}else n.assign(e.getXY(o));const m=t.toGeohash(n);r.push(m)}i.sort((e,t)=>r[e]<r[t]?-1:r[e]>r[t]?1:0);const m=e.createInstance();for(let o=0;o<n;o++){const t=i[o];c(s)?m.addPath(e,t,!0):m.addPoints(e,t,t+1)}return m}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 M,!1),c=X(o,new M,!1),u=X(o,new M,!1);T.greatEllipticDistance(e,t,i.x,i.y,m.x,m.y,h,null,null),T.greatEllipticDistance(e,t,i.x,i.y,a.x,a.y,c,null,null),T.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 M,!1);l=Math.max(h.val,c.val);for(let n=1;n<s.length-1;n++){const r=s[n];T.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{B(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=k(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 M,!1);T.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{B(o)}}function Pe(e,t,s,n,i,r,o,m){const a=k(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 z(e,t)}function ye(e){return V(e,0)||L(e,0),e}class be{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 be{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 Y,this.m_densifiedPoints=[],this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new l;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=k(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),A(i,r))i.x=r.x;else if(E(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),E(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),A(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0;const s=q(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||R(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 Y,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(A(i,r))i.x=r.x;else if(E(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),E(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),A(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0,q(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]-te;const i=this.m_endAzimuth[0]+te;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+te,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+te,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 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-=se:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=se)}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 be{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 l;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=k(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 Y,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 Se{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 ve(e,t,s,n,i,!1,r,m);return(new _).executeMany(o,t,m)}return new ve(e,t,s,n,i,!1,r,m)}execute(e,s,n,i,r,o,m){const a=new oe([e]),h=[i],c=this.executeMany(a,s,n,h,r,!1,o,m).next();return c||t("geodesic buffer null output"),c}}class ve extends e{constructor(e,t,i,r,o,m,a,h){super(),this.m_currentUnionEnvelope2D=new l,this.m_index=-1,this.m_dindex=-1,this.m_progressTracker=h,m&&s(""),t||n("");0===t.getCoordinateSystemType()&&n(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=i,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 i(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{Se as OperatorGeodesicBuffer};
2
+ import{G as e}from"./GeometryCursor.js";import{d as t,t as s,a as n,c as i,i as r,G as o,l as m,m as a,j as h,n as c,o as u}from"./Geometry.js";import{Envelope2D as l}from"./Envelope2D.js";import{t as _,a as f,M as d,N as g,O as p,Q as P,R as x,u as b,S as y,U as w,V as C,B as v,f as S,W as D,X as I,Y as G,Z as T,_ as M,$ as N,a0 as k,a1 as A,a2 as E,a3 as q,a4 as R,a5 as z}from"./SpatialReference.js";import{__addDisposableResource as X,__disposeResources as B}from"tslib";import{P as O,a as Y,E as j}from"./MultiPathImpl.js";import{f as F,c as W,P as U,e as J,h as H,j as V,s as L}from"./Envelope.js";import{T as Q}from"./Transformation2D.js";import{d as Z,m as $,P as K,S as ee,l as te,n as se}from"./Point2D.js";import{c as ne}from"./OperatorClip.js";import{c as ie}from"./GeometryCleaner-CIE8Wfmb.js";import{O as re}from"./OperatorDensify.js";import{S as oe}from"./SimpleGeometryCursor.js";function me(e,t,s,m,a,h){m<Number.MAX_VALUE&&m>-Number.MAX_VALUE||n("Geodesic_bufferer.buffer - bad distance"),i(e);const c=ie(e),u=c.getGeometryType();if(r(u)){const e=c.getPointCount(),n=8e6;if(Math.abs(m)>n&&(e>50||u!==o.enumMultiPoint&&4===s&&e>2)){let e=c;const i=m>0?1:-1,r=7e6;let o=m,u=1;do{u++,o=(Math.abs(o)-r)*i}while(Math.abs(o)>n);o=m;for(let n=0;n<u-1;n++)e=he(e,t,s,r*i,a,u,h),o=(Math.abs(o)-r)*i;return e=he(e,t,s,o,a,u,h),e}}return he(c,t,s,m,a,1,h)}class ae{m_sr=null;m_gcs=null;m_transform=null;m_progressTracker;m_a=0;m_eSquared=0;m_rpu=0;m_radTolerance=0;m_q90=0;m_gcs90=0;m_gcs180=0;m_gcs360=0;m_gcs60=0;m_ellipticToGeodesicMaxRatio=0;m_curveType=0;m_bShapePreserving=!1;m_distance=0;m_absDistance=0;m_convergenceOffset=0;m_cornerStep=0;m_segmentStep=0;constructor(e){this.m_progressTracker=e}bufferPolygon(e){const t=new O,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 O;if(this.bufferPoint2D(t,!1,s)){const e=J(null,s,!0);s=b(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=y(w());let r=new C,o=(new _).executeMany(r,i,this.m_progressTracker,2);const m=Z(6,!1),a=$(l,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 f,d,g;for(;null!==(f=s.next());){if(d=s.getGnomonic(),d!==n){if(null!==n){let t=o.next();if(r=null,o=null,null!=t){const s=J(i,t,!0),r=F(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,m,a,h,c,u)}}null!==d&&(r=new C,o=(new _).executeMany(r,i,this.m_progressTracker,2)),n=d}if(s.isRunningInGnomonic()){if(d.project(f),s.needsSimplify()){const e=J(null,f,!0);f=b(f,e,!0,!0,-1,this.m_progressTracker,0,!1)}r.tick(be(f)),o.tock()}else this.putInGridCursors(e,f,i,!0,m,a,h,c,u)}let P=!1;for(let l=0;l<6;l++)if(null!=u[l]){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 f=new C,d=(new _).executeMany(f,this.m_gcs,this.m_progressTracker,2);if(null!==o){let t=o.next();r=null,o=null;const s=J(i,t,!0),l=F(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 v).execute(l[e],s,i,this.m_progressTracker));const n=J(i,s,!0),r=F(n);s=h[e].unproject(s,r,this.m_progressTracker),s=(new S).execute(s,this.m_gcs,!0,this.m_progressTracker),f.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=J(null,e,!0);e=b(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 v).execute(t,a,i,this.m_progressTracker));const h=J(i,a,!0),c=F(h);g=n.unproject(a,c,this.m_progressTracker),g=(new S).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 C,a[c]=(new _).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=H(t,e),u=W(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=J(null,l,!0);l=b(l,e,s,!0,-1,this.m_progressTracker,0,!1),o[h]=l}}}insertGeodeticPointsAlongGrid(e,t,s){const n=l.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=D(this.m_gcs,n,e,!0,this.m_progressTracker),r=new j,o=r.addGeometry(i);return I(r,o,this.m_gcs,0,2,!0,t[0].xmax+s),I(r,o,this.m_gcs,0,2,!0,t[1].xmax+s),I(r,o,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&(I(r,o,this.m_gcs,0,2,!0,t[0].xmax-s),I(r,o,this.m_gcs,0,2,!0,t[1].xmax-s),I(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=d.q(this.m_a,this.m_eSquared,a),u=d.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-te,_=n+te,f=l-Math.PI,g=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 d=e.length-1;d>=0;d--)C.push(e[d]);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,g,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 l;return e.queryEnvelope(t),!(!G(t.ymax,this.m_gcs90)&&!G(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 O;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=G(t.y,this.m_gcs90),n=G(t.y,-this.m_gcs90);if(!s&&!n)break}let o=r,m=!1,a=Number.NaN;do{const n=e.getXY(o),r=G(n.y,this.m_gcs90),h=G(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=G(i.y,this.m_gcs90),o=G(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 O,s=new O,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 l;a.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const h=new l;e.queryEnvelope(h);const c=Math.ceil(h.width()/o);let u,_;i.x>r.x?(u=-o,_=this.m_gcs90):(u=o,_=-this.m_gcs90),n.setShiftCoords(u,0),t.addPath(e,0,!0),s.add(t,!1);const f=new U;for(let l=0;l<c;l++)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=_,g.y=_,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 P=a.getCenterX(),x=new l;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 j,C=w.addGeometry(t);I(w,C,this.m_gcs,0,2,!0,a.xmin),I(w,C,this.m_gcs,0,2,!0,a.xmax);const v=w.getGeometry(C),S=H(v,a);S.inflateCoords(0,1);const D=W(null,S,!0).total(),G=ne(v,a,D,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(G,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new l;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 l;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 l;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 Q;a<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),c.addPath(e,0,!0);const r=new j,o=r.addGeometry(c);I(r,o,this.m_gcs,0,2,!0,n.xmin),I(r,o,this.m_gcs,0,2,!0,n.xmax),c=r.getGeometry(o);const m=H(c,n);m.inflateCoords(0,1);const h=W(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=X(e,new ee(new T,new T),!1),m=X(e,new ee(new T,new T),!1),a=X(e,new ee(new T,new T),!1),h=X(e,new ee(new T,new T),!1),c=new K,u=new K,l=new K,_=new K;for(M.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),M.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);M.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);M.geodeticDistance(this.m_a,this.m_eSquared,c.x,c.y,u.x,u.y,o,f,null,2),M.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);M.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,M.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{B(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{B(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=X(e,new T,!1),m=X(e,new T,!1),a=X(e,new T,!1);M.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 ee(new T,new T),!1),c=X(e,new ee(new T,new T),!1),u=new K,l=X(e,new T,!1),_=X(e,new ee(new T,new T),!1),f=X(e,new ee(new T,new T),!1),d=X(e,new ee(new T,new T),!1),g=X(e,new ee(new T,new T),!1),p=new K,P=new K,x=new K,b=new K,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(M.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),M.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);M.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),M.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;M.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);M.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,P.x,P.y,m,a,null,2),M.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);M.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,M.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);M.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;M.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{B(e)}}}catch(s){e.error=s,e.hasError=!0}finally{B(e)}}let G=w*I;G>1e5&&(G=1e5),this.m_segmentStep=G}catch(n){e.error=n,e.hasError=!0}finally{B(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,_){if(e.isEmpty())return new O({vd:e.getDescription()});let b=e;if(m(b)){const e=10*t.getTolerance(0);b=(new re).execute(b,0,e,0,_,12e3)}const y=new ae(_);y.m_sr=t,y.m_gcs=t.getGCS(),y.m_transform=f(t,y.m_gcs,null);const w=N();y.m_gcs.querySpheroidData(w);const C=new l;b.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=d.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=b.getGeometryType();if(a(D)){const e=new Y({vd:b.getDescription()});e.addSegment(b,!0),S=e,D=o.enumPolyline}else if(D===o.enumEnvelope){const e=b,t=new l;e.queryEnvelope(t);const s=F(W(y.m_sr,C,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new U({vd:b.getDescription()});e.getCenter(t),S=t,D=o.enumPoint}else{const t=new Y({vd:b.getDescription()});t.addEnvelope(e,!1),S=t,D=o.enumPolyline}else{const t=new O({vd:b.getDescription()});t.addEnvelope(e,!1),S=t,D=o.enumPolygon}}else S=b;if(y.setMinCornerStep(),h(D)||y.setMinSegmentStep(),y.m_absDistance<=.5*y.m_convergenceOffset)return D!==o.enumPolygon?new O({vd:S.getDescription()}):y.m_bShapePreserving?S:g(S,y.m_sr,y.m_curveType,y.m_segmentStep,-1,_);if(y.m_distance<0&&D!==o.enumPolygon)return new O({vd:S.getDescription()});if(y.m_bShapePreserving&&c(D)){const e=g(S,t,4,Number.NaN,y.m_convergenceOffset,_);S=(new p).execute(e,y.m_transform,_)}else S=(new p).execute(S,y.m_transform,_);if(S=P(S,y.m_gcs),S.isEmpty())return new O({vd:S.getDescription()});!y.m_bShapePreserving&&c(D)&&(S=x(y.m_rpu,S)),S=fe(S,y.m_gcs);let I=new O;switch(D){case o.enumPolygon:I=y.bufferPolygon(S);break;case o.enumPolyline:I=y.bufferPolyline(S);break;case o.enumMultiPoint:I=y.bufferMultiPoint(S);break;case o.enumPoint:I=y.bufferPoint(S);break;default:u("")}const G=(new p).execute(I,y.m_transform.getInverse(),_);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 K;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 ee(new T,new T),!1),d=new K,g=new K,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:(M.geodeticDistance(e,t,p.x,p.y,u.x,u.y,null,null,_,i),x=_.val-.5*Math.PI),M.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{B(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 ee(new T,new T),!1),d=new K,g=new K,p=new K;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));)M.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{B(_)}}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,_=X(u,new ee(new T,new T),!1);M.geodesicCoordinate(e,t,i.x,i.y,n,r,_.at(0),_.at(1)),s.setCoords(_.at(0).val,_.at(1).val),M.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(M.geodeticDistance(e,t,m.x,m.y,s.x,s.y,null,f,null,0),h[0]=f.val,M.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{B(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=c(s)?e.getPathCount():s===o.enumMultiPoint?e.getPointCount():1,1===n)return e;const i=[],r=[];for(let o=0;o<n;o++){i.push(o);const n=new K;if(c(s)){const t=new l;e.queryPathEnvelope(o,t),n.assign(t.getCenter())}else n.assign(e.getXY(o));const m=t.toGeohash(n);r.push(m)}i.sort((e,t)=>r[e]<r[t]?-1:r[e]>r[t]?1:0);const m=e.createInstance();for(let o=0;o<n;o++){const t=i[o];c(s)?m.addPath(e,t,!0):m.addPoints(e,t,t+1)}return m}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);M.greatEllipticDistance(e,t,i.x,i.y,m.x,m.y,h,null,null),M.greatEllipticDistance(e,t,i.x,i.y,a.x,a.y,c,null,null),M.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];M.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{B(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=k(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);M.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{B(o)}}function Pe(e,t,s,n,i,r,o,m){const a=k(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 z(e,t)}function be(e){return V(e,0)||L(e,0),e}class ye{m_bRunningInGnomonic=!1;m_bNeedsSimplify=!1;m_gnomonic=null;m_gnomonicCenterRad=new K;m_minGnomonicRadius=Number.NaN;m_progressTracker;constructor(e){this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class we extends ye{m_bufferer;m_multiPath;m_segIter=null;m_bNextSegmentCannotJoin=!1;m_currentDensifiedDelta=[0];m_currentBufferedDelta=0;m_lastAzimuth=0;m_startAzimuth=[0];m_endAzimuth=[0];m_numWinds=0;m_debugCounter=0;m_bufferHelper=new O;m_densifiedPoints=[];m_densified;constructor(e,t,s){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new l;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=k(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),A(i,r))i.x=r.x;else if(E(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),E(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),A(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0;const s=q(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||R(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 O,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(A(i,r))i.x=r.x;else if(E(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),E(t,i)&&(i.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),A(r,e)&&(r.x=e.x)}}this.m_densifiedPoints.length=0,q(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]-te;const i=this.m_endAzimuth[0]+te;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+te,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+te,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 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-=se:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=se)}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{m_bufferer;m_multiPoint;m_pointIndex=-1;constructor(e,t){super(e.m_progressTracker),this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new l;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=k(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 O,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 _).executeMany(o,t,m)}return new Se(e,t,s,n,i,!1,r,m)}execute(e,s,n,i,r,o,m){const a=new oe([e]),h=[i],c=this.executeMany(a,s,n,h,r,!1,o,m).next();return c||t("geodesic buffer null output"),c}}class Se extends e{m_inputGeoms;m_spatialReference;m_curveType;m_progressTracker;m_distances;m_convergenceOffset;m_currentUnionEnvelope2D=new l;m_bOutlineOnly;m_bUnion;m_index=-1;m_dindex=-1;constructor(e,t,i,r,o,m,a,h){super(),this.m_progressTracker=h,m&&s(""),t||n("");0===t.getCoordinateSystemType()&&n(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=i,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 i(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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as e,c as t,G as i,d as s,g as n}from"./Geometry.js";import{P as a,x as _,L as r}from"./MultiPathImpl.js";import{O as h}from"./OperatorDensify.js";import{a as o,f as m,$ as l,ae as p,O as u,ao as c,aD as g,aE as d,Q as f,ag as E,aF as P,aG as S,Z as A,_ as x,a6 as y,aH as R,ad as M,a9 as C}from"./SpatialReference.js";import{P as T,K as w,d as N,n as q,k as b,a as I,E as v,p as $,f as z,c as D,x as O,y as G,z as k}from"./Point2D.js";import{Envelope2D as L}from"./Envelope2D.js";import{c as F,k as J}from"./Envelope.js";import{O as Y}from"./OperatorClip.js";import{O as U}from"./OperatorShapePreservingLength.js";import{__addDisposableResource as X,__disposeResources as j}from"tslib";import{T as B}from"./Transformation2D.js";import{a as H}from"./GeodeticDistanceCalculator-Ce-woMPw.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=N(2*n,Number.NaN)}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&&p.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 L;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=l();t.querySpheroidData(h);const o=h.e2,m=0===o?2:1,p=new T(0,0),u=new T(0,0),c=new w(0),g=new Q(p,u,t,o,100);for(;r.nextPath();)for(;r.hasNextSegment();){const e=r.nextSegment();p.assign(e.getStartXY()),u.assign(e.getEndXY()),g.setSegmentEndPoints(p,u);const t=_(6,0,1,1e-12,1e-15,g.makeFunctor());c.pe((u.x-p.x)*t)}const d=h.majorSemiAxis;return m*d*d*(1-o)*Math.PI*c.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 u).execute(a,s,n):a;const r=1===i.getUnit().getUnitToBaseFactor()?Math.PI/180:1,o=new L;_.queryEnvelope(o);const m=new L,l=new L,p=new L;m.setCoords({xmin:o.xmin,ymin:75*r,xmax:o.xmax,ymax:90*r}),l.setCoords({xmin:o.xmin,ymin:-60*r,xmax:o.xmax,ymax:75*r}),p.setCoords({xmin:o.xmin,ymin:-90*r,xmax:o.xmax,ymax:-60*r}),m.inflateCoords(.01*m.width(),0),l.inflateCoords(.01*l.width(),0),p.inflateCoords(.01*p.width(),0);let c=0;return c+=K(_,m,i,n),c+=K(_,l,i,n),c+=K(_,p,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 L;n.queryEnvelope(e);const{first:t,second:a}=ie(i,e,!1),_=o(i,t,null),r=(new u).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 T;r.x=0,r.y=0;let h=0;if(0===h){_.y>45?(r.y=b,h=0):_.y<-45?(r.y=-b,h=1):_.x>=45&&_.x<135?(r.x=b,h=2):_.x>=135||_.x<-135?(r.x=b,h=3):_.x<-45&&_.x>=-135?(r.x=-b,h=4):(r.x=0,h=5);const e=a*Math.sqrt(I(t.xmin-t.xmax)+I(t.ymin-t.ymax)),i=r.clone(),s=t.getCenter();s.scale(a),h<2&&(i.x=s.x);if(T.distance(i,s)+.5*e>b)return null}const o=ee[h];if(null!==o&&o.getGCS().equalHorizontal(e))return o;const m=e.getText(),l=r.x,p=r.y,u=0,f=0;let E=0,P=-1;6!==h?P=c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:(n(i),E=0,P=c.PE_PRJ_CYLINDRICAL_EQAREA);const S=g("EqualAreaPCS");let A;P===c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${u}],PARAMETER["False_Northing",${f}],PARAMETER["Central_Meridian",${l}],PARAMETER["Latitude_of_Origin",${p}],UNIT["Meter",1.0]]`:P===c.PE_PRJ_CYLINDRICAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${u}],PARAMETER["False_Northing",${f}],PARAMETER["Central_Meridian",${l}],PARAMETER["Standard_Parallel_1",${E}],PARAMETER["Latitude_of_Origin",${p}],UNIT["Meter",1.0]]`:s("getEqualAreaPcsFixed");const x=d(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 q(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,p=0,u=-1;t.ymin*_>=75*Math.PI/180||t.ymax*_<=-60*Math.PI/180?u=c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(l=(t.ymin+1/3*t.height())*_,p=(t.ymin+2/3*t.height())*_,u=c.PE_PRJ_ALBERS):(l=(t.ymin+2/3*t.height())*_,u=c.PE_PRJ_CYLINDRICAL_EQAREA);const f=g("EqualAreaPCS");let E;return u===c.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]]`:u===c.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",${l}],PARAMETER["Standard_Parallel_2",${p}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:u===c.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",${l}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:s("getEqualAreaPCSInstance"),q(d(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 q(_,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 T,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 L;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 v;t.queryIntervalX(a);const _=new v;e.queryIntervalX(_),i=a.contains(_)?f(i,this.m_inputSR):(new u).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(),E(this.m_transformPCS2GCS,i,t,this.m_progressTracker)||(t=(new u).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=l();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=l();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=X(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{j(e)}}}executeClippedPolygonGeodeticArea(e,t,i){const s={stack:[],error:void 0,hasError:!1};try{const n=new L;e.queryEnvelope(n);const a=X(s,this.getEqualAreaPCSInstance(t,n),!1),_=e.clone();S(a,_);const r=50,h=_.getImpl().getAttributeStreamRef(0),o=e.getImpl().getAttributeStreamRef(0),m=X(s,new A,!1),l=X(s,new A,!1),u=40,c=[0,0],g=$(ae,u),d=N(u,-1),f=ae(),E=ae();let P,y;const R=a;let M=_.calculateArea2D();const C=new w(0),q=.5*Math.PI,b=1e-10*Math.abs(M)+1e-6,I=e.getPathCount();let v,D,O,G;const k=new T,F=new T,J=new T,Y=new T,U=new T,j=new T;let B,H;for(D=e.getPathStart(0),v=0;v<I;v++,D=O)for(O=e.getPathEnd(v),h.queryPoint2D(O-1<<1,J),o.queryPoint2D(O-1<<1,k),Math.abs(k.y)>q&&(k.y=z(q,k.y)),G=D;G<O;G++,J.assign(Y),k.assign(F)){if(h.queryPoint2D(G<<1,Y),o.queryPoint2D(G<<1,F),Math.abs(F.y)>q&&(F.y=z(q,F.y)),B=T.distance(J,Y),B<r||0===k.y&&0===F.y)continue;x.geodeticDistance(this.m_a,this.m_eSquared,k.x,k.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),y=i,g[0].assign(E),d[0]=i,P=0;P>=0;){H=.5*(f.m_factor+E.m_factor),x.geodeticCoordinate(this.m_a,this.m_eSquared,k.x,k.y,e*H,t,m,l,this.m_curveType),U.x=m.val,U.y=l.val,c[0]=U.x,c[1]=U.y,p.geogToProj(R,1,c),j.x=c[0],j.y=c[1];const i=-j.offset(f.m_p_PCS,E.m_p_PCS),s=.5*i*T.distance(f.m_p_PCS,E.m_p_PCS);if(C.pe(s),Math.abs(s)>b||Math.abs(s)>0&&y>0)E.setValues(H,j),P++,g[P].assign(E),Math.abs(s)<=b?(y--,d[P-1]=y,d[P]=y):(y=d[P-1],d[P]=y);else{if(P<=0)break;f.assign(E),P--,E.assign(g[P]),y=d[P]}}}return M+=C.getResult(),Math.abs(M)}catch(n){s.error=n,s.hasError=!0}finally{j(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],i=[],s=new T,n=new T,a=y(1,this.m_eSquared,new T(0,.5*Math.PI)),_=new w(0),r=new w(0),h=new w(0),o=new J,m=new J,l=new L;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=D(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,b)),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=g("EqualAreaPCS"),l=e.toString();return o=h?P.fromString(c.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]]`,!0):P.fromString(c.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]]`,!0),o}splitSegmentCrossingItegralThreshold(e,t,i){const s=100,n=20,a=n*n,_=y(this.m_a,this.m_eSquared,new T(0,b)),h=y(this.m_a,this.m_eSquared,new T(0,-b)),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 T,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 T,h=20,o=3.124139361,m=10,l=e.getStartXY(),p=e.getEndXY(),u=X(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 T(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)),O(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 T(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)),O(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{j(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,x;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)),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=k(_.one_m_sin_phi/e.one_p_e,e.e)-k(a.one_m_sin_phi/e.one_p_e,e.e),u=k(_.one_p_sin_phi/e.one_p_e,e.e)-k(a.one_p_sin_phi/e.one_p_e,e.e),c=k(a.one_m_sin_phi/-e.one_m_e,e.e)-k(_.one_m_sin_phi/-e.one_m_e,e.e),g=k(a.one_p_sin_phi/-e.one_m_e,e.e)-k(_.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 T,h=new T,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
+ import{a as e,c as t,G as i,d as s,g as n}from"./Geometry.js";import{P as a,x as _,L as r}from"./MultiPathImpl.js";import{O as h}from"./OperatorDensify.js";import{a as o,f as m,$ as l,ae as p,O as u,ao as c,aD as g,aE as d,Q as E,ag as f,aF as P,aG as S,Z as A,_ as x,a6 as y,aH as R,ad as M,a9 as C}from"./SpatialReference.js";import{P as T,K as w,d as q,o as N,l as b,a as I,E as v,q as $,f as z,c as D,y as G,z as O,A as k}from"./Point2D.js";import{Envelope2D as L}from"./Envelope2D.js";import{c as F,k as J}from"./Envelope.js";import{O as Y}from"./OperatorClip.js";import{O as U}from"./OperatorShapePreservingLength.js";import{__addDisposableResource as X,__disposeResources as j}from"tslib";import{T as B}from"./Transformation2D.js";import{a as H}from"./GeodeticDistanceCalculator-zRp89-dW.js";class Q{m_startPt;m_endPt;m_cE2;m_cE;m_c1By2e;m_cRpu;isPcs;PEProjcs;m_points;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=q(2*n,Number.NaN)}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&&p.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 L;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=l();t.querySpheroidData(h);const o=h.e2,m=0===o?2:1,p=new T(0,0),u=new T(0,0),c=new w(0),g=new Q(p,u,t,o,100);for(;r.nextPath();)for(;r.hasNextSegment();){const e=r.nextSegment();p.assign(e.getStartXY()),u.assign(e.getEndXY()),g.setSegmentEndPoints(p,u);const t=_(6,0,1,1e-12,1e-15,g.makeFunctor());c.pe((u.x-p.x)*t)}const d=h.majorSemiAxis;return m*d*d*(1-o)*Math.PI*c.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 u).execute(a,s,n):a;const r=1===i.getUnit().getUnitToBaseFactor()?Math.PI/180:1,o=new L;_.queryEnvelope(o);const m=new L,l=new L,p=new L;m.setCoords({xmin:o.xmin,ymin:75*r,xmax:o.xmax,ymax:90*r}),l.setCoords({xmin:o.xmin,ymin:-60*r,xmax:o.xmax,ymax:75*r}),p.setCoords({xmin:o.xmin,ymin:-90*r,xmax:o.xmax,ymax:-60*r}),m.inflateCoords(.01*m.width(),0),l.inflateCoords(.01*l.width(),0),p.inflateCoords(.01*p.width(),0);let c=0;return c+=K(_,m,i,n),c+=K(_,l,i,n),c+=K(_,p,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 L;n.queryEnvelope(e);const{first:t,second:a}=ie(i,e,!1),_=o(i,t,null),r=(new u).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 T;r.x=0,r.y=0;let h=0;if(0===h){_.y>45?(r.y=b,h=0):_.y<-45?(r.y=-b,h=1):_.x>=45&&_.x<135?(r.x=b,h=2):_.x>=135||_.x<-135?(r.x=b,h=3):_.x<-45&&_.x>=-135?(r.x=-b,h=4):(r.x=0,h=5);const e=a*Math.sqrt(I(t.xmin-t.xmax)+I(t.ymin-t.ymax)),i=r.clone(),s=t.getCenter();s.scale(a),h<2&&(i.x=s.x);if(T.distance(i,s)+.5*e>b)return null}const o=ee[h];if(null!==o&&o.getGCS().equalHorizontal(e))return o;const m=e.getText(),l=r.x,p=r.y,u=0,E=0;let f=0,P=-1;6!==h?P=c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:(n(i),f=0,P=c.PE_PRJ_CYLINDRICAL_EQAREA);const S=g("EqualAreaPCS");let A;P===c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",${u}],PARAMETER["False_Northing",${E}],PARAMETER["Central_Meridian",${l}],PARAMETER["Latitude_of_Origin",${p}],UNIT["Meter",1.0]]`:P===c.PE_PRJ_CYLINDRICAL_EQAREA?A=`PROJCS["${S}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",${u}],PARAMETER["False_Northing",${E}],PARAMETER["Central_Meridian",${l}],PARAMETER["Standard_Parallel_1",${f}],PARAMETER["Latitude_of_Origin",${p}],UNIT["Meter",1.0]]`:s("getEqualAreaPcsFixed");const x=d(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 N(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,p=0,u=-1;t.ymin*_>=75*Math.PI/180||t.ymax*_<=-60*Math.PI/180?u=c.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(l=(t.ymin+1/3*t.height())*_,p=(t.ymin+2/3*t.height())*_,u=c.PE_PRJ_ALBERS):(l=(t.ymin+2/3*t.height())*_,u=c.PE_PRJ_CYLINDRICAL_EQAREA);const E=g("EqualAreaPCS");let f;return u===c.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]]`:u===c.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",${p}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:u===c.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"),N(d(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 N(_,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 T,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{m_ptStart=new J;m_ptEnd=new J;m_deltaX;m_deltaY;m_e;m_e2;m_c1MinusE2;m_baseA;constructor(e,t,i,s){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*(O(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=_*(O(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{m_a;m_b;m_eSquared;m_inputSR;m_inputGCS;m_transformPCS2GCS=null;m_curveType;m_progressTracker;m_scaleToRadians=new B;m_scaleToDegrees=new B;m_rpu;constructor(t,i,s){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 L;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 v;t.queryIntervalX(a);const _=new v;e.queryIntervalX(_),i=a.contains(_)?E(i,this.m_inputSR):(new u).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 u).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=l();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=l();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=X(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{j(e)}}}executeClippedPolygonGeodeticArea(e,t,i){const s={stack:[],error:void 0,hasError:!1};try{const n=new L;e.queryEnvelope(n);const a=X(s,this.getEqualAreaPCSInstance(t,n),!1),_=e.clone();S(a,_);const r=50,h=_.getImpl().getAttributeStreamRef(0),o=e.getImpl().getAttributeStreamRef(0),m=X(s,new A,!1),l=X(s,new A,!1),u=40,c=[0,0],g=$(ae,u),d=q(u,-1),E=ae(),f=ae();let P,y;const R=a;let M=_.calculateArea2D();const C=new w(0),N=.5*Math.PI,b=1e-10*Math.abs(M)+1e-6,I=e.getPathCount();let v,D,G,O;const k=new T,F=new T,J=new T,Y=new T,U=new T,j=new T;let B,H;for(D=e.getPathStart(0),v=0;v<I;v++,D=G)for(G=e.getPathEnd(v),h.queryPoint2D(G-1<<1,J),o.queryPoint2D(G-1<<1,k),Math.abs(k.y)>N&&(k.y=z(N,k.y)),O=D;O<G;O++,J.assign(Y),k.assign(F)){if(h.queryPoint2D(O<<1,Y),o.queryPoint2D(O<<1,F),Math.abs(F.y)>N&&(F.y=z(N,F.y)),B=T.distance(J,Y),B<r||0===k.y&&0===F.y)continue;x.geodeticDistance(this.m_a,this.m_eSquared,k.x,k.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,g[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,k.x,k.y,e*H,t,m,l,this.m_curveType),U.x=m.val,U.y=l.val,c[0]=U.x,c[1]=U.y,p.geogToProj(R,1,c),j.x=c[0],j.y=c[1];const i=-j.offset(E.m_p_PCS,f.m_p_PCS),s=.5*i*T.distance(E.m_p_PCS,f.m_p_PCS);if(C.pe(s),Math.abs(s)>b||Math.abs(s)>0&&y>0)f.setValues(H,j),P++,g[P].assign(f),Math.abs(s)<=b?(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(g[P]),y=d[P]}}}return M+=C.getResult(),Math.abs(M)}catch(n){s.error=n,s.hasError=!0}finally{j(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],i=[],s=new T,n=new T,a=y(1,this.m_eSquared,new T(0,.5*Math.PI)),_=new w(0),r=new w(0),h=new w(0),o=new J,m=new J,l=new L;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=D(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,b)),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=g("EqualAreaPCS"),l=e.toString();return o=h?P.fromString(c.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]]`,!0):P.fromString(c.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]]`,!0),o}splitSegmentCrossingItegralThreshold(e,t,i){const s=100,n=20,a=n*n,_=y(this.m_a,this.m_eSquared,new T(0,b)),h=y(this.m_a,this.m_eSquared,new T(0,-b)),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 T,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 T,h=20,o=3.124139361,m=10,l=e.getStartXY(),p=e.getEndXY(),u=X(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 T(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)),G(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 T(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)),G(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{j(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+O(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=k(_.one_m_sin_phi/e.one_p_e,e.e)-k(a.one_m_sin_phi/e.one_p_e,e.e),u=k(_.one_p_sin_phi/e.one_p_e,e.e)-k(a.one_p_sin_phi/e.one_p_e,e.e),c=k(a.one_m_sin_phi/-e.one_m_e,e.e)-k(_.one_m_sin_phi/-e.one_m_e,e.e),g=k(a.one_p_sin_phi/-e.one_m_e,e.e)-k(_.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+O(e.e*a.sin_phi)),P=.5*e.one_m_e_2*_.sin_phi*(1/_.one_m_e_2_sin_2_phi+O(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=O(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 T,h=new T,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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e}from"./GeometryCursor.js";import{d as t,t as r,a as s,c as n}from"./Geometry.js";import{N as i}from"./SpatialReference.js";import{S as m}from"./SimpleGeometryCursor.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(e,r,s,n,i){const o=new m([e]),a=this.executeMany(o,r,s,n,i).next();return a||t("null output"),a}}class a extends e{constructor(e,t,n,i,m,o,a){super(),this.m_progressTracker=a,o>0&&r(""),4!==n&&m>0&&r(""),t||s("");0===t.getCoordinateSystemType()&&s(""),i>0||m>0||s(""),this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=n,this.m_maxLengthMeters=i,this.m_maxDeviationMeters=m,this.m_maxAngle=o}next(){{let e;for(;e=this.m_inputGeoms.next();)return n(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 i(e,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}export{o as OperatorGeodeticDensifyByLength,a as OperatorGeodeticDensifyCursor};
2
+ import{G as e}from"./GeometryCursor.js";import{d as t,t as r,a as s,c as m}from"./Geometry.js";import{N as n}from"./SpatialReference.js";import{S as i}from"./SimpleGeometryCursor.js";class a{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,r,s,m){return new o(e,r,s,t,-1,-1,m)}execute(e,r,s,m,n){const a=new i([e]),o=this.executeMany(a,r,s,m,n).next();return o||t("null output"),o}}class o extends e{m_inputGeoms;m_spatialReference;m_curveType;m_maxLengthMeters;m_maxDeviationMeters;m_maxAngle;m_progressTracker;m_index;constructor(e,t,m,n,i,a,o){super(),this.m_progressTracker=o,a>0&&r(""),4!==m&&i>0&&r(""),t||s("");0===t.getCoordinateSystemType()&&s(""),n>0||i>0||s(""),this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=m,this.m_maxLengthMeters=n,this.m_maxDeviationMeters=i,this.m_maxAngle=a}next(){{let e;for(;e=this.m_inputGeoms.next();)return m(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 n(e,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}export{a as OperatorGeodeticDensifyByLength,o as OperatorGeodeticDensifyCursor};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as r}from"tslib";import{a as t,c as o}from"./Geometry.js";import{G as a,m as s}from"./GeodeticDistanceCalculator-Ce-woMPw.js";class u{getOperatorType(){return 10316}supportsCurves(){return!0}accelerateGeometry(e,r,t){return!1}canAccelerateGeometry(e){return!1}execute(e,r,t,o,a){return this.executeEx(e,r,t,o,a,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 a(c,i,m,y,1),!1),E=s(),x=s(),b=r.calculate(u,n,E,x);return l&&l.outPoint.assign(E.outPoint),p&&p.outPoint.assign(x.outPoint),b}catch(E){N.error=E,N.hasError=!0}finally{r(N)}}}export{u as OperatorGeodeticDistance,s as makeOutput};
2
+ import{__addDisposableResource as r,__disposeResources as e}from"tslib";import{a as t,c as o}from"./Geometry.js";import{G as a,m as s}from"./GeodeticDistanceCalculator-zRp89-dW.js";class u{getOperatorType(){return 10316}supportsCurves(){return!0}accelerateGeometry(r,e,t){return!1}canAccelerateGeometry(r){return!1}execute(r,e,t,o,a){return this.executeEx(r,e,t,o,a,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 e=r(N,new a(c,i,m,y,1),!1),E=s(),x=s(),b=e.calculate(u,n,E,x);return l&&l.outPoint.assign(E.outPoint),p&&p.outPoint.assign(x.outPoint),b}catch(E){N.error=E,N.hasError=!0}finally{e(N)}}}export{u as OperatorGeodeticDistance,s as makeOutput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{a as r,c as n,G as o,h as a}from"./Geometry.js";import{O as s}from"./OperatorShapePreservingLength.js";import{c as i,a as c}from"./MultiPathImpl.js";import{E as m}from"./Point2D.js";import{Q as l,af as u,ag as g,O as p,Z as f,_ as y,$ as h}from"./SpatialReference.js";import{O as x}from"./OperatorDensify.js";class S{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 s).execute(e,t,y);if(0===t.getCoordinateSystemType()&&r(""),n(e),e.isEmpty()||e.getDimension()<1)return 0;const S=t.getGCS(),d=h();S.querySpheroidData(d);const P=d.majorSemiAxis,E=d.e2,G=S.getUnit().getUnitToBaseFactor();let j;const v=e.getGeometryType();if(v===o.enumPolygon?j=e.getBoundary():v===o.enumEnvelope?j=i(e):a(v)?(j=new c({vd:e.getDescription()}),j.addSegment(e,!0)):j=e,j.hasNonLinearSegments()){j=(new x).execute(j,0,t.getTolerance(0),0,y)}if(S!==t){const r=t.getSRToGCSTransform();if(t.isPannable()){j=l(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=u(t.x,r),j.setXY(e,t)}}const n=j.createInstance();j=g(r,j,n,y)?n:(new p).execute(j,r,y)}return this._ExecuteMultiPathGeodeticLength(j,f,P,E,G)}_ExecuteMultiPathGeodeticLength(r,n,o,a,s){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(s),i.scale(s),y.geodeticDistance(o,a,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{S as OperatorGeodeticLength};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{a as r,c as n,G as o,m as a}from"./Geometry.js";import{O as s}from"./OperatorShapePreservingLength.js";import{c as i,a as c}from"./MultiPathImpl.js";import{E as m}from"./Point2D.js";import{Q as l,af as u,ag as g,O as p,Z as f,_ as y,$ as x}from"./SpatialReference.js";import{O as h}from"./OperatorDensify.js";class S{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 s).execute(e,t,y);if(0===t.getCoordinateSystemType()&&r(""),n(e),e.isEmpty()||e.getDimension()<1)return 0;const S=t.getGCS(),d=x();S.querySpheroidData(d);const P=d.majorSemiAxis,E=d.e2,G=S.getUnit().getUnitToBaseFactor();let j;const v=e.getGeometryType();if(v===o.enumPolygon?j=e.getBoundary():v===o.enumEnvelope?j=i(e):a(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(S!==t){const r=t.getSRToGCSTransform();if(t.isPannable()){j=l(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=u(t.x,r),j.setXY(e,t)}}const n=j.createInstance();j=g(r,j,n,y)?n:(new p).execute(j,r,y)}return this._ExecuteMultiPathGeodeticLength(j,f,P,E,G)}_ExecuteMultiPathGeodeticLength(r,n,o,a,s){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(s),i.scale(s),y.geodeticDistance(o,a,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{S as OperatorGeodeticLength};