@arcgis/core 5.0.0-next.1 → 5.0.0-next.10

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 (955) hide show
  1. package/Map.js +1 -1
  2. package/PopupTemplate.js +1 -1
  3. package/analysis/ElevationProfileAnalysis.js +1 -1
  4. package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.js +1 -1
  5. package/analysis/VolumeMeasurement/volumeMeasurementConfiguration.js +5 -0
  6. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  7. package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +4 -0
  8. package/applications/KnowledgeStudio/generalSdkInternalAccess.js +5 -0
  9. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +1 -0
  10. package/applications/KnowledgeStudio/generalSharedKgUtils.js +1 -1
  11. package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +2 -0
  12. package/applications/KnowledgeStudio/layerInternalAccessUtils.js +1 -1
  13. package/applications/KnowledgeStudio/resourceSerializationUtils.js +1 -1
  14. package/arcade/featureset/actions/Adapted.js +1 -1
  15. package/arcade/featureset/actions/AttributeFilter.js +1 -1
  16. package/arcade/featureset/actions/GroupBy.js +1 -1
  17. package/arcade/featureset/actions/OrderBy.js +1 -1
  18. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  19. package/arcade/featureset/actions/Top.js +1 -1
  20. package/arcade/featureset/sources/Empty.js +1 -1
  21. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  22. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  23. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  24. package/arcade/featureset/support/FeatureSet.js +1 -1
  25. package/arcade/featureset/support/sqlUtils.js +1 -1
  26. package/arcade/featureset/support/stats.js +1 -1
  27. package/arcade/functions/featuresetbase.js +1 -1
  28. package/arcade/functions/featuresetstring.js +1 -1
  29. package/arcade/functions/knowledgegraph.js +1 -1
  30. package/assets/components/assets/sort-handle/t9n/messages.uk.json +1 -1
  31. package/assets/esri/core/workers/RemoteClient.js +1 -1
  32. package/assets/esri/core/workers/chunks/{1a713dcc9971e1935401.js → 0030d68d9edf42b4af57.js} +1 -1
  33. package/assets/esri/core/workers/chunks/00c77f03dd511c6dbff2.js +1 -0
  34. package/assets/esri/core/workers/chunks/01d460398f3ba6767a37.js +1 -0
  35. package/assets/esri/core/workers/chunks/0200637e0503556a3b97.js +1 -0
  36. package/assets/esri/core/workers/chunks/022c854eff2c2c2aed6b.js +1 -0
  37. package/assets/esri/core/workers/chunks/{14ace5dc4b8984212a57.js → 042cd64e1f4eb326c30f.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{66db5f77e09d25e33951.js → 063905fbf9a0c6586949.js} +1 -1
  39. package/assets/esri/core/workers/chunks/066a0ea67688361e85a5.js +1 -0
  40. package/assets/esri/core/workers/chunks/06f75c5b6b50934d72a6.js +1 -0
  41. package/assets/esri/core/workers/chunks/{89027f6800e17fab8973.js → 0a5d74414dd02a2fb8e1.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{3815ffa13e7b439bca6e.js → 0d5212f59e9b62c16164.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{388482cea4b9fdeaf06e.js → 0f30a9514571c7be9978.js} +1 -1
  44. package/assets/esri/core/workers/chunks/0f735b0dec173142f3b6.js +2 -0
  45. package/assets/esri/core/workers/chunks/{a8f998b8ec8c56150479.js.LICENSE.txt → 0f735b0dec173142f3b6.js.LICENSE.txt} +1 -1
  46. package/assets/esri/core/workers/chunks/{e032f3d2ee19790f8c79.js → 11e96a312f1294d34c50.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{309c5f69ea06f3081d83.js → 1257c37bf04d39c27b62.js} +1 -1
  48. package/assets/esri/core/workers/chunks/125e71b0e29d1d132777.js +1 -0
  49. package/assets/esri/core/workers/chunks/{1e4e7aedf4b779241a02.js → 15c7c10ff9ac63f0e792.js} +1 -1
  50. package/assets/esri/core/workers/chunks/15f969836d63c7fe2d9d.js +1 -0
  51. package/assets/esri/core/workers/chunks/18c5d79d5ee1136e0a57.js +1 -0
  52. package/assets/esri/core/workers/chunks/{f03635ddf56e2ef90e4c.js → 1d06fcae4c2f02fb1c95.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{651b9144abb1895cc510.js → 1e848d9da1c61a27cf18.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{8cea114168d849c38b1b.js → 20278683bddc8c2d8136.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{d84373a6ec94dcfec8c2.js → 24cd7b84cd0f3de4bff2.js} +1 -1
  56. package/assets/esri/core/workers/chunks/27e6a6c5610007ac6a54.js +1 -0
  57. package/assets/esri/core/workers/chunks/2857bcb68df874e9aa62.js +1 -0
  58. package/assets/esri/core/workers/chunks/{94c9d3094c93f7760433.js → 29286234be26680245f6.js} +1 -1
  59. package/assets/esri/core/workers/chunks/292daac70bb828e4923f.js +1 -0
  60. package/assets/esri/core/workers/chunks/2ddcf3cea0efe4052618.js +1 -0
  61. package/assets/esri/core/workers/chunks/2e8a4df83c43f86d7361.js +1 -0
  62. package/assets/esri/core/workers/chunks/{4f01be74dd26e639330f.js → 2f24017e72d41c259faa.js} +1 -1
  63. package/assets/esri/core/workers/chunks/2f2e4f81f3daa3fb8527.js +1 -0
  64. package/assets/esri/core/workers/chunks/30e220f4f843681a4cdd.js +1 -0
  65. package/assets/esri/core/workers/chunks/3109f0a6914e7be088ed.js +1 -0
  66. package/assets/esri/core/workers/chunks/{5d3661d1fe46dd29aae9.js → 311b564e44ae637c960d.js} +1 -1
  67. package/assets/esri/core/workers/chunks/31bb1ee9370c2753ce9d.js +1 -0
  68. package/assets/esri/core/workers/chunks/329fccd7f5cb8401e0c3.js +1 -0
  69. package/assets/esri/core/workers/chunks/37c1f155da14de91565a.js +1 -0
  70. package/assets/esri/core/workers/chunks/37f2ef14399546e697e6.js +1 -0
  71. package/assets/esri/core/workers/chunks/38ee69125da60464d5a1.js +1 -0
  72. package/assets/esri/core/workers/chunks/38f6b9288c82dac9a800.js +1 -0
  73. package/assets/esri/core/workers/chunks/3a457e718a901a45902e.js.LICENSE.txt +1 -1
  74. package/assets/esri/core/workers/chunks/{f7c99e9c8d19352af38d.js → 3ac7562ea90f91a9f30c.js} +1 -1
  75. package/assets/esri/core/workers/chunks/3b1848713ee25f750242.js +1 -0
  76. package/assets/esri/core/workers/chunks/{e9311386f58f3cb95c22.js → 42a1e71d09e8583a7327.js} +1 -1
  77. package/assets/esri/core/workers/chunks/442973ff4dda923def62.js +1 -0
  78. package/assets/esri/core/workers/chunks/443dfe7029ec208f670c.js +1 -0
  79. package/assets/esri/core/workers/chunks/44f27eac92c5ccc57e12.js +1 -0
  80. package/assets/esri/core/workers/chunks/4941bfd3aae7f6bdac97.js +1 -0
  81. package/assets/esri/core/workers/chunks/{b75930d60449eceb0f1c.js → 4baf6f6e7ddedb25f806.js} +1 -1
  82. package/assets/esri/core/workers/chunks/4bd2cc65f7db0d261543.js +1 -0
  83. package/assets/esri/core/workers/chunks/4fa230dc6e5e87b0dec1.js +1 -0
  84. package/assets/esri/core/workers/chunks/4fb5f1c671892001a4fd.js +1 -0
  85. package/assets/esri/core/workers/chunks/4fbe2a8d742065cbaea3.js +1 -0
  86. package/assets/esri/core/workers/chunks/4fe4feeb251f2916a339.js +1 -0
  87. package/assets/esri/core/workers/chunks/509392131ec473d6b988.js +1 -0
  88. package/assets/esri/core/workers/chunks/{2ea6985da4eb0107bb9d.js → 51ab2acac4ecc1ca9c34.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{fc4417d1260b717a9385.js → 52282f767bd0e99ddca0.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{fc06014fb484fc8c697e.js → 53654edd766d9b4ef750.js} +1 -1
  91. package/assets/esri/core/workers/chunks/55eb6a0f1e4569a65f2a.js +1 -0
  92. package/assets/esri/core/workers/chunks/57e04e2d8721bbdc029a.js +1 -0
  93. package/assets/esri/core/workers/chunks/{ed8a85efbd90241512bb.js → 588533c3abe876f20f62.js} +1 -1
  94. package/assets/esri/core/workers/chunks/591e459f9fce34f519ca.js +1 -0
  95. package/assets/esri/core/workers/chunks/59514624daf188a8030f.js +1 -0
  96. package/assets/esri/core/workers/chunks/5c09d98b41f71a036e2a.js +1 -0
  97. package/assets/esri/core/workers/chunks/{72846fb9c87c6642daf0.js → 5e2ce34def5e053913b2.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{b7a17927e14f502006b4.js → 5ea0c62016d56990787b.js} +1 -1
  99. package/assets/esri/core/workers/chunks/605b9643b1baeff16149.js +1 -0
  100. package/assets/esri/core/workers/chunks/{2ce4a0fe4fae63c43a81.js → 61d970ed75c2c358b1e9.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{7a6a96edc892d7060b7d.js → 629127877042ad784ad2.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{00aa85ae6419aad183ea.js → 6293e33f304c4952f88c.js} +1 -1
  103. package/assets/esri/core/workers/chunks/664ae441617afe4b17ec.js +1 -0
  104. package/assets/esri/core/workers/chunks/67f03d042455cd0f7009.js +1 -0
  105. package/assets/esri/core/workers/chunks/{ec13053af1999701464a.js → 6826fe54562dcdc054d7.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{8215015f11221a354273.js → 6d049182bec34a22abcd.js} +1 -1
  107. package/assets/esri/core/workers/chunks/6d9f2b113d6bde936a04.js +1 -0
  108. package/assets/esri/core/workers/chunks/{5132ca68e8c7af111a47.js → 6e22b02a9715c10578d0.js} +1 -1
  109. package/assets/esri/core/workers/chunks/6e25ef5ad6d6b3f88343.js +1 -0
  110. package/assets/esri/core/workers/chunks/{deb2854bb7d082a26f52.js → 7005d956c990a04ee8b2.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{c73def15ccfb2a32afa8.js → 7290e7a819eb291b1df2.js} +4 -4
  112. package/assets/esri/core/workers/chunks/731f7b552dde0fb325cd.js +1 -0
  113. package/assets/esri/core/workers/chunks/7565b382f6b3d2cb46a3.js +2 -0
  114. package/assets/esri/core/workers/chunks/{24921d31efa8d222ad2d.js.LICENSE.txt → 7565b382f6b3d2cb46a3.js.LICENSE.txt} +1 -1
  115. package/assets/esri/core/workers/chunks/759321045c264bc6964e.js +1 -0
  116. package/assets/esri/core/workers/chunks/773f2c6c9d38db76dfed.js +1 -0
  117. package/assets/esri/core/workers/chunks/7803495f8862d9025bcd.js +1 -0
  118. package/assets/esri/core/workers/chunks/79dbfa2b9b332ca0002f.js +1 -0
  119. package/assets/esri/core/workers/chunks/7a23ab84e1144f081c92.js +1 -0
  120. package/assets/esri/core/workers/chunks/7e3f27ebf366d4266350.js +1 -0
  121. package/assets/esri/core/workers/chunks/826072cfc0ac8e36f03c.js +1 -0
  122. package/assets/esri/core/workers/chunks/826fa0dfb63df77bfd95.js +1 -0
  123. package/assets/esri/core/workers/chunks/8372f142c4d7a65c7954.js +1 -0
  124. package/assets/esri/core/workers/chunks/87921f3fa9001f5801ed.js +1 -0
  125. package/assets/esri/core/workers/chunks/8ce608013b353155ee5a.js +1 -0
  126. package/assets/esri/core/workers/chunks/{24c14e4a1d2a2267097e.js → 8d9d3797c6d62fdfff9d.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{0086a09441627842d34a.js → 8f3503b2fb6cd38757b9.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{e7638b9ab6674bc8a18f.js → 91dfd29e2dba200eab09.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{de1f75c907152df7e788.js → 9698f36c143953a975d4.js} +1 -1
  130. package/assets/esri/core/workers/chunks/9b0c2f4311fe9bca370a.js +1 -0
  131. package/assets/esri/core/workers/chunks/9c48d8d17831aa57f8a4.js +1 -0
  132. package/assets/esri/core/workers/chunks/9f21436016ff7a899e79.js +1 -0
  133. package/assets/esri/core/workers/chunks/9f28b2800945903bc165.js +1 -0
  134. package/assets/esri/core/workers/chunks/{67d9cfe02613cb73ee37.js → 9ff8ee6ed6b98c03ae7e.js} +2 -2
  135. package/assets/esri/core/workers/chunks/{67d9cfe02613cb73ee37.js.LICENSE.txt → 9ff8ee6ed6b98c03ae7e.js.LICENSE.txt} +1 -1
  136. package/assets/esri/core/workers/chunks/a091623bbfb3d771c8d8.js +1 -0
  137. package/assets/esri/core/workers/chunks/a27e74117c37f3efcbca.js +1 -0
  138. package/assets/esri/core/workers/chunks/a41ba05c09a59d1eb35f.js +1 -0
  139. package/assets/esri/core/workers/chunks/a470f662d73aa8d5d90f.js +1 -0
  140. package/assets/esri/core/workers/chunks/a93ebd076bc55aa6eab0.js +1 -0
  141. package/assets/esri/core/workers/chunks/aa78b69219d9a0ef1c54.js.LICENSE.txt +1 -1
  142. package/assets/esri/core/workers/chunks/aaed35a6414859233678.js +1 -0
  143. package/assets/esri/core/workers/chunks/acd0564ad1544f452f3f.js +1 -0
  144. package/assets/esri/core/workers/chunks/{135e270b4f03c4270870.js → af47272aaaef0ea57e71.js} +1 -1
  145. package/assets/esri/core/workers/chunks/b0f43191a431c9de16e5.js +1 -0
  146. package/assets/esri/core/workers/chunks/{bc3bcf88b252760e2574.js → b3028b1ff75eafd0c358.js} +1 -1
  147. package/assets/esri/core/workers/chunks/b320bb76c7e9998fe53b.js +1 -0
  148. package/assets/esri/core/workers/chunks/{79968c183135281d2a6f.js → b3613a38178cad2ebc82.js} +1 -1
  149. package/assets/esri/core/workers/chunks/b8a3f1e60e24a13749c1.js +1 -0
  150. package/assets/esri/core/workers/chunks/ba4571d2637a74a59552.js +1 -0
  151. package/assets/esri/core/workers/chunks/bb7976e2f883b544add6.js +1 -0
  152. package/assets/esri/core/workers/chunks/{56916e56c20465428dd4.js → be3b874f86f627f4fa98.js} +1 -1
  153. package/assets/esri/core/workers/chunks/c29486c4eeb3e72effff.js +1 -0
  154. package/assets/esri/core/workers/chunks/{2b94623cabc6ae0f86ce.js → c37f7756d48ff9af2656.js} +1 -1
  155. package/assets/esri/core/workers/chunks/{1c52999a6392370844a6.js → c4090a60d149a5962179.js} +1 -1
  156. package/assets/esri/core/workers/chunks/c61c61dac1e8d6188749.js +1 -0
  157. package/assets/esri/core/workers/chunks/c84caf81bfaa4a8b5aa1.js +1 -0
  158. package/assets/esri/core/workers/chunks/c8c8cf43fd640d2f5cb1.js +1 -0
  159. package/assets/esri/core/workers/chunks/{73c1d43070b4fe1e5c1e.js → c8e686efe344a33a0258.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{6bb5158de43c4b59107f.js → c9b16fd41cd59d452522.js} +1 -1
  161. package/assets/esri/core/workers/chunks/ce16489cf7eb0d78c741.js.LICENSE.txt +1 -1
  162. package/assets/esri/core/workers/chunks/d048e4926e78458afa3e.js +1 -0
  163. package/assets/esri/core/workers/chunks/d07f911d40bf05fc0306.js +1 -0
  164. package/assets/esri/core/workers/chunks/d1ca7c3a32ce00ed8b81.js +1 -0
  165. package/assets/esri/core/workers/chunks/{630efe10c871425b6a95.js → d1e97cce5047f1791e22.js} +1 -1
  166. package/assets/esri/core/workers/chunks/d28670cb11164e318e45.js +1 -0
  167. package/assets/esri/core/workers/chunks/{46ef545d2b3b3f4e6d32.js → d391bfbaf0e790cd10d6.js} +2 -2
  168. package/assets/esri/core/workers/chunks/{46ef545d2b3b3f4e6d32.js.LICENSE.txt → d391bfbaf0e790cd10d6.js.LICENSE.txt} +1 -1
  169. package/assets/esri/core/workers/chunks/d56ac52a5288e06365e7.js +1 -0
  170. package/assets/esri/core/workers/chunks/d6e0528eacee7ea4c1ce.js.LICENSE.txt +1 -1
  171. package/assets/esri/core/workers/chunks/{d570c75a425aa29672c8.js → da24ad57747714ac5eda.js} +1 -1
  172. package/assets/esri/core/workers/chunks/{7e43c105f1cfc44b7bd0.js → dc51438b832551924a9e.js} +1 -1
  173. package/assets/esri/core/workers/chunks/dc66490520f97eef15bf.js +316 -0
  174. package/assets/esri/core/workers/chunks/ddca92e18e96ea1c9d89.js +1 -0
  175. package/assets/esri/core/workers/chunks/{cfa3164e7fa1884dc2b9.js → ddfd01bb9ba8577c3ffc.js} +1 -1
  176. package/assets/esri/core/workers/chunks/ded9747ae04ab889d52a.js +1 -0
  177. package/assets/esri/core/workers/chunks/{50d9f69d5255af4b29bb.js → df5afa06c6deb6b40109.js} +1 -1
  178. package/assets/esri/core/workers/chunks/df8279e1baf378faf85f.js +1 -0
  179. package/assets/esri/core/workers/chunks/dff2df259f140b7d97a9.js +1 -0
  180. package/assets/esri/core/workers/chunks/e25c4b4a03270d48f408.js +1 -0
  181. package/assets/esri/core/workers/chunks/e3434f91f47f551d9e02.js +1 -0
  182. package/assets/esri/core/workers/chunks/{da573ecc68e6aa8f6da9.js → e767f83f9e2de6650f80.js} +1 -1
  183. package/assets/esri/core/workers/chunks/e9d4cae2144974489d6e.js +1 -0
  184. package/assets/esri/core/workers/chunks/{91df8638b8b904e6d8c5.js → ead8d0cbcebd12dbfad7.js} +1 -1
  185. package/assets/esri/core/workers/chunks/eb6c3dd440ede4adf603.js +1 -0
  186. package/assets/esri/core/workers/chunks/eb9c166db0db6fa60e95.js +1 -0
  187. package/assets/esri/core/workers/chunks/edc671b9b83c8e19cb42.js +1 -0
  188. package/assets/esri/core/workers/chunks/{16d66770ef841564ee3f.js → ee5aa11750c51b220f1e.js} +1 -1
  189. package/assets/esri/core/workers/chunks/ee5f0fd5384caa11c986.js +1 -0
  190. package/assets/esri/core/workers/chunks/f141c9f7f0d9b2322bf6.js +1 -0
  191. package/assets/esri/core/workers/chunks/{5875a51b97ee9bd438a0.js → f34e3fa0c5b28531e289.js} +1 -1
  192. package/assets/esri/core/workers/chunks/f64037a88ab03662dc2a.js +1 -0
  193. package/assets/esri/core/workers/chunks/f651c05604eab83aef5f.js.LICENSE.txt +1 -1
  194. package/assets/esri/core/workers/chunks/{fa4411e0a5ac3fcba365.js → f65c0102af17390a50ac.js} +1 -1
  195. package/assets/esri/core/workers/chunks/f6c11c8ac687de3ef1ab.js +1 -0
  196. package/assets/esri/core/workers/chunks/f7a1f48c53422c6e2028.js +1 -0
  197. package/assets/esri/core/workers/chunks/f7f002ea5ff5fe7f6249.js +1 -0
  198. package/assets/esri/core/workers/chunks/f80f5dbf96c343ac4df6.js +1 -0
  199. package/assets/esri/core/workers/chunks/f8e889be4b45f6f0667e.js +1 -0
  200. package/assets/esri/core/workers/chunks/fbd796c88f07bb6755dc.js +1 -0
  201. package/assets/esri/core/workers/chunks/fbd8d2f61f8a15bcf3db.js +1 -0
  202. package/assets/esri/core/workers/chunks/fccd931f95d81ecc57b2.js +1 -0
  203. package/assets/esri/core/workers/chunks/{2f78861afe0e9037dd8d.js → fe49321dca22dc60d105.js} +1 -1
  204. package/assets/esri/core/workers/chunks/fec3897ed7e8691387ed.js +1 -0
  205. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  206. package/assets/esri/themes/base/widgets/_Directions.scss +17 -18
  207. package/assets/esri/themes/base/widgets/_NavigationToggle.scss +1 -1
  208. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -4
  209. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +14 -4
  210. package/assets/esri/themes/base/widgets/_Widget.scss +1 -1
  211. package/assets/esri/themes/dark/main.css +1 -1
  212. package/assets/esri/themes/light/main.css +1 -1
  213. package/assets/esri/themes/light/view.css +1 -1
  214. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_ar.json +1 -1
  215. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_bg.json +1 -1
  216. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_bs.json +1 -1
  217. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_ca.json +1 -1
  218. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_cs.json +1 -1
  219. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_da.json +1 -1
  220. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_de.json +1 -1
  221. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_el.json +1 -1
  222. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_es.json +1 -1
  223. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_et.json +1 -1
  224. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_fi.json +1 -1
  225. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_fr.json +1 -1
  226. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_he.json +1 -1
  227. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_hr.json +1 -1
  228. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_hu.json +1 -1
  229. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_id.json +1 -1
  230. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_it.json +1 -1
  231. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_ja.json +1 -1
  232. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_ko.json +1 -1
  233. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_lt.json +1 -1
  234. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_lv.json +1 -1
  235. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_nl.json +1 -1
  236. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_no.json +1 -1
  237. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_pl.json +1 -1
  238. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_pt-BR.json +1 -1
  239. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_pt-PT.json +1 -1
  240. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_ro.json +1 -1
  241. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_ru.json +1 -1
  242. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_sk.json +1 -1
  243. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_sl.json +1 -1
  244. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_sr.json +1 -1
  245. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_sv.json +1 -1
  246. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_th.json +1 -1
  247. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_tr.json +1 -1
  248. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_uk.json +1 -1
  249. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_vi.json +1 -1
  250. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_zh-CN.json +1 -1
  251. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_zh-HK.json +1 -1
  252. package/assets/esri/views/3d/analysis/VolumeMeasurement/t9n/VolumeMeasurementAnalysis_zh-TW.json +1 -1
  253. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  254. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  255. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  256. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  257. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  258. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  259. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  260. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  261. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  262. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  263. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  264. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  265. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  266. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  267. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  268. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  269. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  270. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  271. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  272. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  273. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  274. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  275. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  276. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  277. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  278. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  279. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  280. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  281. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  282. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  283. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  284. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  285. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  286. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  287. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  288. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  289. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  290. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  291. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  292. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  293. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  294. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  295. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  296. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  297. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  298. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  299. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  300. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  301. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  302. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  303. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  304. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  305. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  306. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  307. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  308. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  309. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  310. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  311. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  312. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  313. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  314. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  315. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  316. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  317. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  318. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  319. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  320. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  321. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  322. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  323. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  324. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  325. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  326. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  327. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  328. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  329. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  330. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  331. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  332. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  333. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  334. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  335. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  336. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  337. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  338. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  339. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  340. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  341. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  342. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  343. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  344. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  345. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  346. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  347. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  348. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  349. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  350. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  351. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  352. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  353. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  354. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  355. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  356. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  357. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  358. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  359. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  360. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  361. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  362. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  363. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  364. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  365. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  366. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  367. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  368. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  369. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  370. package/chunks/ComponentShader.glsl.js +72 -39
  371. package/chunks/Envelope.js +1 -1
  372. package/chunks/Geometry.js +1 -1
  373. package/chunks/MultiPathImpl.js +1 -1
  374. package/chunks/OITBlend.glsl.js +3 -3
  375. package/chunks/Point2D.js +1 -1
  376. package/chunks/UnitFactory.js +1 -1
  377. package/chunks/bundle.js +1 -1
  378. package/chunks/containsOperator.js +1 -1
  379. package/chunks/densifyOperator.js +1 -1
  380. package/chunks/differenceOperator.js +1 -1
  381. package/chunks/intersectsOperator.js +1 -1
  382. package/chunks/persistableUrlUtils.js +1 -1
  383. package/config.js +1 -1
  384. package/core/Identifiable.js +1 -1
  385. package/core/MultiOriginJSONSupport.js +1 -1
  386. package/core/NumericIdentifiable.js +5 -0
  387. package/core/QueueProcessor.js +1 -1
  388. package/core/SetUtils.js +1 -1
  389. package/core/WriteableMultiOriginJSONMixin.js +5 -0
  390. package/core/dedupeResult.js +5 -0
  391. package/core/has.js +1 -1
  392. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  393. package/{views/3d/support/ImageWithType.js → core/performance.js} +1 -1
  394. package/core/sanitizerUtils.js +1 -1
  395. package/core/scheduling.js +1 -1
  396. package/core/unitUtils.js +1 -1
  397. package/core/workers/Connection.js +1 -1
  398. package/core/workers/WorkerHandle.js +1 -1
  399. package/core/workers/utils.js +1 -1
  400. package/editing/sharedTemplates/executor/support/createFeatureServiceEdit.js +1 -1
  401. package/form/FormTemplate.js +1 -1
  402. package/form/elements/Element.js +1 -1
  403. package/form/elements/FieldElement.js +1 -1
  404. package/form/elements/GroupElement.js +1 -1
  405. package/geohash/GeohashCell.js +1 -1
  406. package/geohash/geohashUtils.js +1 -1
  407. package/geometry/Extent.js +1 -1
  408. package/geometry/Geometry.js +1 -1
  409. package/geometry/GeometryCursor.js +1 -1
  410. package/geometry/Point.js +1 -1
  411. package/geometry/SpatialReference.js +1 -1
  412. package/geometry/ellipsoidUtils.js +1 -1
  413. package/geometry/geometryCursorCollectUtils.js +1 -1
  414. package/geometry/libtess.js +1 -1
  415. package/geometry/operators/gx/operatorOffset.js +1 -1
  416. package/geometry/operators/support/jsonConverter.js +1 -1
  417. package/geometry/support/MeshTransform.js +1 -1
  418. package/geometry/support/axisAngleDegrees.js +1 -1
  419. package/geometry/support/jsonUtils.js +1 -1
  420. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  421. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  422. package/geometry/support/meshUtils/rotate.js +1 -1
  423. package/geometry/support/meshUtils/scale.js +1 -1
  424. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  425. package/geometry/support/normalizeUtilsSync.js +1 -1
  426. package/geometry/support/plane.js +1 -1
  427. package/geometry/support/polygonUtils.js +1 -1
  428. package/geometry/support/triangulationUtils.js +1 -1
  429. package/identity/Credential.js +1 -1
  430. package/identity/IdentityManager.js +1 -1
  431. package/identity/IdentityManagerBase.js +1 -1
  432. package/interfaces.d.ts +2067 -458
  433. package/intl/date.js +1 -1
  434. package/intl.d.ts +2 -0
  435. package/intl.js +1 -1
  436. package/kernel.js +1 -1
  437. package/layers/FeatureLayer.js +1 -1
  438. package/layers/KnowledgeGraphLayer.js +1 -1
  439. package/layers/Layer.js +1 -1
  440. package/layers/LinkChartLayer.js +1 -1
  441. package/layers/MapNotesLayer.js +1 -1
  442. package/layers/OrientedImageryLayer.js +1 -1
  443. package/layers/SceneLayer.js +1 -1
  444. package/layers/graphics/OptimizedFeature.js +1 -1
  445. package/layers/graphics/OptimizedGeometry.js +1 -1
  446. package/layers/graphics/centroid.js +1 -1
  447. package/layers/graphics/contains.js +1 -1
  448. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  449. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  450. package/layers/graphics/data/AttributesBuilder.js +1 -1
  451. package/layers/graphics/data/FeatureStore.js +1 -1
  452. package/layers/graphics/data/QueryEngine.js +1 -1
  453. package/layers/graphics/data/QueryEngineResult.js +1 -1
  454. package/layers/graphics/data/geometryUtils.js +1 -1
  455. package/layers/graphics/data/spatialQuerySupport.js +1 -1
  456. package/layers/graphics/featureConversionUtils.js +1 -1
  457. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  458. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  459. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  460. package/layers/graphics/sources/geojson/geojson.js +1 -1
  461. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  462. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  463. package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
  464. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  465. package/layers/knowledgeGraph/layerUtils.js +1 -1
  466. package/layers/mixins/ArcGISImageService.js +1 -1
  467. package/layers/mixins/ImageryTileMixin.js +1 -1
  468. package/layers/ogc/ogcFeatureUtils.js +1 -1
  469. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  470. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  471. package/layers/save/groupLayerUtils.js +1 -1
  472. package/layers/support/DateTimeFieldFormat.js +1 -1
  473. package/layers/support/FieldFormat.js +1 -1
  474. package/layers/support/MediaElementBase.js +1 -1
  475. package/layers/support/NumberFieldFormat.js +1 -1
  476. package/layers/support/PixelBlock.js +1 -1
  477. package/layers/support/RasterInfo.js +1 -1
  478. package/layers/support/RasterJobHandler.js +1 -1
  479. package/layers/support/RasterSensorInfo.js +1 -1
  480. package/layers/support/RasterStorageInfo.js +1 -1
  481. package/layers/support/RasterWorker.js +1 -1
  482. package/layers/support/Sublayer.js +1 -1
  483. package/layers/support/TitleCreator.js +1 -1
  484. package/layers/support/arcgisLayerUrl.js +1 -1
  485. package/layers/support/capabilities.js +1 -1
  486. package/layers/support/fieldConfigUtils.js +1 -1
  487. package/layers/support/fieldUtils.js +1 -1
  488. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  489. package/layers/support/rasterDatasets/pixelReader.js +1 -1
  490. package/layers/support/rasterFieldUtils.js +1 -1
  491. package/layers/support/rasterFunctions/pixelTransformUtils.js +5 -0
  492. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  493. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  494. package/layers/support/source/DataLayerSource.js +1 -1
  495. package/networks/CircuitManager.d.ts +4 -0
  496. package/networks/UnitIdentifierManager.d.ts +4 -0
  497. package/networks/support/Circuit.d.ts +4 -0
  498. package/networks/support/CircuitLocation.d.ts +4 -0
  499. package/networks/support/CircuitPath.d.ts +4 -0
  500. package/networks/support/CircuitPathConnectivityElement.d.ts +4 -0
  501. package/networks/support/CircuitSection.d.ts +4 -0
  502. package/networks/support/Subcircuit.d.ts +4 -0
  503. package/package.json +5 -5
  504. package/popup/ExpressionInfo.js +1 -1
  505. package/popup/FieldInfo.js +1 -1
  506. package/popup/content/AttachmentsContent.js +1 -1
  507. package/popup/content/BarChartMediaInfo.js +1 -1
  508. package/popup/content/ColumnChartMediaInfo.js +1 -1
  509. package/popup/content/Content.js +1 -1
  510. package/popup/content/CustomContent.js +1 -1
  511. package/popup/content/ExpressionContent.js +1 -1
  512. package/popup/content/FieldsContent.js +1 -1
  513. package/popup/content/ImageMediaInfo.js +1 -1
  514. package/popup/content/LineChartMediaInfo.js +1 -1
  515. package/popup/content/MediaContent.js +1 -1
  516. package/popup/content/PieChartMediaInfo.js +1 -1
  517. package/popup/content/RelationshipContent.js +1 -1
  518. package/popup/content/TextContent.js +1 -1
  519. package/popup/content/UtilityNetworkAssociationsContent.js +1 -1
  520. package/popup/content/mixins/ChartMediaInfo.js +1 -1
  521. package/popup/content/mixins/MediaInfo.js +1 -1
  522. package/popup/content.js +1 -1
  523. package/popup/support/FieldInfoFormat.js +1 -1
  524. package/processRequest.js +5 -0
  525. package/request.js +1 -1
  526. package/requestConfig.js +5 -0
  527. package/requestQueue.js +5 -0
  528. package/rest/geometryService/utils.js +1 -1
  529. package/rest/networks/circuits/support/CircuitTraceResult.d.ts +4 -0
  530. package/rest/networks/circuits/support/CircuitVerifyResult.d.ts +4 -0
  531. package/rest/networks/support/TelecomNetworkElement.d.ts +4 -0
  532. package/rest/networks/unitIdentifiers/support/UnitQueryResult.d.ts +4 -0
  533. package/rest/print.js +1 -1
  534. package/rest/query/executeForCount.js +1 -1
  535. package/rest/query/executeForExtent.js +1 -1
  536. package/rest/query/executeForIds.js +1 -1
  537. package/rest/query/executeQueryJSON.js +1 -1
  538. package/rest/query/executeQueryPBF.js +1 -1
  539. package/rest/query/operations/pbfDehydratedFeatureSet.js +1 -1
  540. package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
  541. package/rest/query/operations/query.js +1 -1
  542. package/rest/query/operations/queryZScale.js +1 -1
  543. package/rest/support/BaseImageMeasureResultValue.js +5 -0
  544. package/rest/support/ImageAreaResult.js +1 -1
  545. package/rest/support/ImageDistanceResult.js +1 -1
  546. package/rest/support/ImageHeightResult.js +1 -1
  547. package/rest/support/ImageMeasureResultAngleValue.js +5 -0
  548. package/rest/support/ImageMeasureResultAreaValue.js +5 -0
  549. package/rest/support/ImageMeasureResultLengthValue.js +5 -0
  550. package/rest/support/ImageWithType.js +5 -0
  551. package/rest/support/imageMeasureUtils.js +1 -1
  552. package/rest/versionManagement/getVersionInfos.js +1 -1
  553. package/smartMapping/renderers/size.js +1 -1
  554. package/smartMapping/statistics/histogram.js +1 -1
  555. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  556. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  557. package/smartMapping/support/adapters/support/histogramUtils.js +1 -1
  558. package/smartMapping/support/adapters/support/utils.js +1 -1
  559. package/smartMapping/support/utils.js +1 -1
  560. package/support/basemapDefinitions.js +1 -1
  561. package/support/elevationInfoUtils.js +1 -1
  562. package/support/requestImageUtils.js +1 -1
  563. package/support/revision.js +1 -1
  564. package/symbols/cim/effects/EffectTaperedPolygon.js +1 -1
  565. package/symbols/support/utils.js +1 -1
  566. package/time/TimeExtent.js +1 -1
  567. package/undoredo/support/Services.js +1 -1
  568. package/views/2d/GoToManager.js +1 -1
  569. package/views/2d/analysis/ElevationProfile/ElevationProfileLineVisualization2D.js +1 -1
  570. package/views/2d/constraints/GeometryConstraint.js +1 -1
  571. package/views/2d/constraints/RotationConstraint.js +1 -1
  572. package/views/2d/constraints/ZoomConstraint.js +1 -1
  573. package/views/2d/engine/Bitmap.js +1 -1
  574. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  575. package/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js +1 -1
  576. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  577. package/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js +1 -1
  578. package/views/2d/engine/webgl/mesh/templates/templateUtils.js +1 -1
  579. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  580. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  581. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  582. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  583. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  584. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  585. package/views/2d/layers/features/aggregation/GridCell.js +1 -1
  586. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  587. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  588. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  589. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  590. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  591. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  592. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  593. package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
  594. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  595. package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
  596. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  597. package/views/2d/layers/features/schema/ExceedsLimitCache.js +5 -0
  598. package/views/2d/layers/features/schema/SourceSchema.js +1 -1
  599. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  600. package/views/2d/layers/features/sources/strategies/AFeatureLoadStrategy.js +1 -1
  601. package/views/2d/layers/features/sources/strategies/ALoadStrategy.js +1 -1
  602. package/views/2d/layers/features/sources/strategies/ParquetSnapshotLoadStrategy.js +1 -1
  603. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  604. package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +1 -1
  605. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  606. package/views/2d/layers/features/sources/strategies/constants.js +5 -0
  607. package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
  608. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  609. package/views/2d/layers/features/support/FeatureFilterEvaluator.js +1 -1
  610. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  611. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  612. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  613. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  614. package/views/2d/layers/features/support/GraphicsReader.js +1 -1
  615. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  616. package/views/3d/FocusAreasView.js +1 -1
  617. package/views/3d/GroundView3D.js +1 -1
  618. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  619. package/views/3d/analysis/ElevationProfile/ElevationProfileLineSceneComputation.js +1 -1
  620. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillComputation.js +1 -1
  621. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  622. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  623. package/views/3d/analysis/VolumeMeasurement/volumeMeasurementErrors.js +5 -0
  624. package/views/3d/environment/CloudsRenderer.js +1 -1
  625. package/views/3d/glTF/DefaultLoadingContext.js +1 -1
  626. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  627. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  628. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  629. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  630. package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
  631. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  632. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  633. package/views/3d/layers/FlowSubView3D.js +1 -1
  634. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  635. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  636. package/views/3d/layers/graphics/FeatureGraphics3DGraphicsPipeline.js +1 -1
  637. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  638. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  639. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  640. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  641. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  642. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  643. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  644. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  645. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  646. package/views/3d/layers/graphics/Labeler.js +1 -1
  647. package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
  648. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  649. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  650. package/views/3d/layers/graphics/pipeline/featureSet/PBFPointFeatureSetView.js +1 -1
  651. package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
  652. package/views/3d/layers/graphics/pipeline/fetching/Tile3DFetcher.js +1 -1
  653. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  654. package/views/3d/layers/i3s/I3SDataRequester.js +5 -0
  655. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  656. package/views/3d/layers/i3s/I3SNode.js +1 -1
  657. package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
  658. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  659. package/views/3d/layers/i3s/I3SQueryFeatureAdapter.js +1 -1
  660. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  661. package/views/3d/layers/support/FeatureTile.js +1 -1
  662. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  663. package/views/3d/layers/support/FeatureTileFetcher3DContext.js +1 -1
  664. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  665. package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
  666. package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
  667. package/views/3d/layers/support/MediaLayerInteractionReshapeOptions.js +5 -0
  668. package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +5 -0
  669. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  670. package/views/3d/layers/support/fetchTile.js +1 -1
  671. package/views/3d/layers/support/lyr3dTypeConversions.js +1 -1
  672. package/views/3d/state/ViewStateManager.js +1 -1
  673. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  674. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  675. package/views/3d/state/controllers/RotateController.js +1 -1
  676. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  677. package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
  678. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  679. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  680. package/views/3d/state/utils/navigationUtils.js +1 -1
  681. package/views/3d/support/DisplayQualityProfile.js +1 -1
  682. package/views/3d/support/QualitySettings.js +1 -1
  683. package/views/3d/support/ResourceController.js +1 -1
  684. package/views/3d/support/SharedSymbolResources.js +1 -1
  685. package/views/3d/support/StreamTextureCollection.js +1 -1
  686. package/views/3d/support/engineContent/line.js +1 -1
  687. package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
  688. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  689. package/views/3d/support/flow/FlowWorker.js +1 -1
  690. package/views/3d/support/flow/StreamlineResources3D.js +1 -1
  691. package/views/3d/support/flow/StreamlineResources3DOverlay.js +1 -1
  692. package/views/3d/support/flow/StreamlineResources3DShape.js +1 -1
  693. package/views/3d/support/flow/constants.js +1 -1
  694. package/views/3d/support/hitTest.js +1 -1
  695. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  696. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  697. package/views/3d/terrain/OverlayRenderer.js +1 -1
  698. package/views/3d/terrain/TerrainSurface.js +1 -1
  699. package/views/3d/terrain/Tile.js +1 -1
  700. package/views/3d/terrain/TileOverlayData.js +1 -1
  701. package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
  702. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  703. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  704. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  705. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  706. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +7 -7
  707. package/views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js +5 -0
  708. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConstructionContext.js +1 -1
  709. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  710. package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
  711. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  712. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  713. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  714. package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
  715. package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
  716. package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
  717. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  718. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  719. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +10 -4
  720. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  721. package/views/DOMContainer.js +1 -1
  722. package/views/SceneView.js +1 -1
  723. package/views/analysis/ElevationProfile/ElevationProfileController.js +1 -1
  724. package/views/analysis/ElevationProfile/ElevationProfileLineGroundComputation.js +1 -1
  725. package/views/analysis/ElevationProfile/ElevationProfileLineInputComputation.js +1 -1
  726. package/views/analysis/ElevationProfile/ElevationProfileResult.js +1 -1
  727. package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
  728. package/views/analysis/ElevationProfile/constants.js +1 -1
  729. package/views/analysis/ElevationProfile/elevationProfileGenerationUtils.js +1 -1
  730. package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
  731. package/views/analysis/ElevationProfile/elevationProfileLayerUtils.js +5 -0
  732. package/views/draw/DrawOperation.js +1 -1
  733. package/views/draw/MultipointDrawAction.js +1 -1
  734. package/views/draw/PointDrawAction.js +1 -1
  735. package/views/draw/PolygonDrawAction.js +1 -1
  736. package/views/draw/PolylineDrawAction.js +1 -1
  737. package/views/draw/SegmentDrawAction.js +1 -1
  738. package/views/draw/input/CursorUpdateEvents.js +5 -0
  739. package/views/draw/input/DrawCompleteEvent.js +5 -0
  740. package/views/draw/input/VertexAddEvent.js +5 -0
  741. package/views/draw/input/VertexRemoveEvent.js +5 -0
  742. package/views/draw/input/VertexUpdateEvent.js +5 -0
  743. package/views/draw/support/Reshape.js +1 -1
  744. package/views/draw/support/reshapeUtils.js +1 -1
  745. package/views/interactive/dragEventPipeline.js +1 -1
  746. package/views/interactive/editGeometry/CheckpointingEditGeometryOperations.js +5 -0
  747. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  748. package/views/interactive/editGeometry/operations/ReplayableAppendVertex.js +5 -0
  749. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  750. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  751. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
  752. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  753. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTilesSimple.js +1 -1
  754. package/views/layers/FeatureLayerView.js +1 -1
  755. package/views/support/PromiseQueue.js +1 -1
  756. package/views/support/Scheduler.js +1 -1
  757. package/views/support/TextureCompressionWorker.js +1 -1
  758. package/views/webgl/ShaderBuilder.js +1 -1
  759. package/views/webgl/Texture.js +1 -1
  760. package/webdoc/support/webdocSaveUtils.js +1 -1
  761. package/webscene/spec-certification/api.js +1 -1
  762. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  763. package/widgets/BasemapLayerList.js +1 -1
  764. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  765. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  766. package/widgets/BatchAttributeForm.js +1 -1
  767. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  768. package/widgets/CoordinateConversion.js +1 -1
  769. package/widgets/Daylight/DaylightViewModel.js +1 -1
  770. package/widgets/Daylight.js +1 -1
  771. package/widgets/Directions/css.js +1 -1
  772. package/widgets/Directions.js +1 -1
  773. package/widgets/Editor/AddAssociationWorkflow.js +1 -1
  774. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  775. package/widgets/Editor/EditorViewModel.js +1 -1
  776. package/widgets/Editor/Edits.js +1 -1
  777. package/widgets/Editor/MergeFeaturesWorkflow.d.ts +4 -0
  778. package/widgets/Editor/MergeFeaturesWorkflow.js +5 -0
  779. package/widgets/Editor/MergeFeaturesWorkflowData.d.ts +4 -0
  780. package/widgets/Editor/MergeFeaturesWorkflowData.js +5 -0
  781. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  782. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  783. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  784. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  785. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  786. package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
  787. package/widgets/Editor/UpdateWorkflow.js +1 -1
  788. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  789. package/widgets/Editor/components/FeatureList.js +1 -1
  790. package/widgets/Editor/components/UploadDetails.js +1 -1
  791. package/widgets/Editor/support/EditorItem.js +1 -1
  792. package/widgets/Editor/support/SketchController.js +1 -1
  793. package/widgets/Editor/support/errors.js +5 -0
  794. package/widgets/Editor/support/mergeFeaturesUtils.js +5 -0
  795. package/widgets/Editor/workflowUtils.js +1 -1
  796. package/widgets/Editor.js +1 -1
  797. package/widgets/Feature/FeatureExpression.js +1 -1
  798. package/widgets/Feature/FeatureFields/FeatureFieldsViewModel.js +1 -1
  799. package/widgets/Feature/FeatureFields.js +1 -1
  800. package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
  801. package/widgets/Feature/FeatureMedia.js +1 -1
  802. package/widgets/Feature/FeatureViewModel.js +1 -1
  803. package/widgets/Feature/support/featureUtils.js +1 -1
  804. package/widgets/Feature.js +1 -1
  805. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  806. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  807. package/widgets/FeatureForm/FieldInput.js +1 -1
  808. package/widgets/FeatureForm/InputBase.js +1 -1
  809. package/widgets/FeatureForm/RelationshipInput.js +1 -1
  810. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  811. package/widgets/FeatureForm.js +1 -1
  812. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  813. package/widgets/FeatureTable/FieldColumn.js +1 -1
  814. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  815. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  816. package/widgets/LayerList.js +1 -1
  817. package/widgets/Legend/LegendViewModel.js +1 -1
  818. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  819. package/widgets/Legend.js +1 -1
  820. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  821. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  822. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  823. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  824. package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
  825. package/widgets/OrientedImageryViewer/galleryUtils.js +1 -1
  826. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  827. package/widgets/OrientedImageryViewer/services/DepthImageService.js +1 -1
  828. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  829. package/widgets/PanoramicViewer/PanoramicZoomManager.js +1 -1
  830. package/widgets/PanoramicViewer/support/PanoramicMeshManager.js +1 -1
  831. package/widgets/PanoramicViewer/support/PanoramicTileNode.js +1 -1
  832. package/widgets/PanoramicViewer/support/PanoramicTilePyramid.js +1 -1
  833. package/widgets/PanoramicViewer/support/getVisibleTiles.js +5 -0
  834. package/widgets/Print.js +1 -1
  835. package/widgets/Search/LayerSearchSource.js +1 -1
  836. package/widgets/Sketch/CreateToolVisibilityMap.js +5 -0
  837. package/widgets/Sketch/SelectionToolVisibilityMap.js +5 -0
  838. package/widgets/Sketch/VisibleElements.js +1 -1
  839. package/widgets/Sketch.js +1 -1
  840. package/widgets/UtilityNetworkTrace.js +1 -1
  841. package/widgets/support/ColorPicker.js +1 -1
  842. package/widgets/support/FilterCondition.js +1 -1
  843. package/widgets/support/SelectionList/LayerItem.js +1 -1
  844. package/widgets/support/jsxWidgetSupport.js +1 -1
  845. package/assets/esri/core/workers/chunks/01642fe19e81bfa33eb5.js +0 -1
  846. package/assets/esri/core/workers/chunks/039ec0fbe3b4b398b8c6.js +0 -1
  847. package/assets/esri/core/workers/chunks/0429c1a3690f20647c9f.js +0 -1
  848. package/assets/esri/core/workers/chunks/05eee334d58a0b9f6316.js +0 -1
  849. package/assets/esri/core/workers/chunks/065f2bbcaeef1f13fd48.js +0 -1
  850. package/assets/esri/core/workers/chunks/0731e588afd1f561ec3b.js +0 -1
  851. package/assets/esri/core/workers/chunks/09de8be660174a229efb.js +0 -1
  852. package/assets/esri/core/workers/chunks/0eaa4dccba0d844b9da3.js +0 -1
  853. package/assets/esri/core/workers/chunks/0f9bb3187306f89e3d63.js +0 -1
  854. package/assets/esri/core/workers/chunks/1019fa4818624ba292ef.js +0 -1
  855. package/assets/esri/core/workers/chunks/10fb29ba6f3f81353fbc.js +0 -1
  856. package/assets/esri/core/workers/chunks/147ad5fdd02f46b6da24.js +0 -1
  857. package/assets/esri/core/workers/chunks/17103e6542aae53c7301.js +0 -1
  858. package/assets/esri/core/workers/chunks/188272af9a6470ccfe31.js +0 -1
  859. package/assets/esri/core/workers/chunks/18da83afbc324fef9fd8.js +0 -316
  860. package/assets/esri/core/workers/chunks/1a9f544f20f643161a36.js +0 -1
  861. package/assets/esri/core/workers/chunks/1cfcadaa98ac528fea37.js +0 -1
  862. package/assets/esri/core/workers/chunks/1db0bf570a04687b3130.js +0 -1
  863. package/assets/esri/core/workers/chunks/2266a8f2c2ec37c19bb4.js +0 -1
  864. package/assets/esri/core/workers/chunks/24921d31efa8d222ad2d.js +0 -2
  865. package/assets/esri/core/workers/chunks/25639559336109ff3df1.js +0 -1
  866. package/assets/esri/core/workers/chunks/2a5f331c0f18d8574b4e.js +0 -1
  867. package/assets/esri/core/workers/chunks/2a900a632a1231deb713.js +0 -1
  868. package/assets/esri/core/workers/chunks/31c6e951b99315e8e68a.js +0 -1
  869. package/assets/esri/core/workers/chunks/326a76a4e80269d4029d.js +0 -1
  870. package/assets/esri/core/workers/chunks/35491fbdd287470d40a4.js +0 -1
  871. package/assets/esri/core/workers/chunks/36247c6f6fc2891df2cf.js +0 -1
  872. package/assets/esri/core/workers/chunks/36fe6b8228e622407ec2.js +0 -1
  873. package/assets/esri/core/workers/chunks/3d22fe2f2c40abbc246e.js +0 -1
  874. package/assets/esri/core/workers/chunks/3d53307efbc3f07d7bf2.js +0 -1
  875. package/assets/esri/core/workers/chunks/3d65b8a2fbe1df050a25.js +0 -1
  876. package/assets/esri/core/workers/chunks/40b81d1c2d53cf598b8e.js +0 -1
  877. package/assets/esri/core/workers/chunks/42a72e1d963e4636323b.js +0 -1
  878. package/assets/esri/core/workers/chunks/456161a323be7d640c61.js +0 -1
  879. package/assets/esri/core/workers/chunks/459a67928bde4a62b6a4.js +0 -1
  880. package/assets/esri/core/workers/chunks/4c4227b0ea21a5e429ab.js +0 -1
  881. package/assets/esri/core/workers/chunks/4eebd74ebc20579dade8.js +0 -1
  882. package/assets/esri/core/workers/chunks/500d09d2191127371081.js +0 -1
  883. package/assets/esri/core/workers/chunks/50864c1924030e62497d.js +0 -1
  884. package/assets/esri/core/workers/chunks/5707713c2f27588b9194.js +0 -1
  885. package/assets/esri/core/workers/chunks/5713f96bade5ebb54c81.js +0 -1
  886. package/assets/esri/core/workers/chunks/5718cf135e105e1e026b.js +0 -1
  887. package/assets/esri/core/workers/chunks/5c585b338a9e9aa0e205.js +0 -1
  888. package/assets/esri/core/workers/chunks/5d1d909354c90cb8eb60.js +0 -1
  889. package/assets/esri/core/workers/chunks/5ea03f53d4d64d9e7cae.js +0 -1
  890. package/assets/esri/core/workers/chunks/6201356f7f91e5c06425.js +0 -1
  891. package/assets/esri/core/workers/chunks/620a94b54be3ed78350d.js +0 -1
  892. package/assets/esri/core/workers/chunks/63019a7eb5222dc5e420.js +0 -1
  893. package/assets/esri/core/workers/chunks/64629ddcf008349eaf41.js +0 -1
  894. package/assets/esri/core/workers/chunks/64ee8d2acae2d6fce608.js +0 -1
  895. package/assets/esri/core/workers/chunks/650c94c0e8ab9721015e.js +0 -1
  896. package/assets/esri/core/workers/chunks/67f305b0c72e77a6331a.js +0 -1
  897. package/assets/esri/core/workers/chunks/6e5b3bbee054d072b594.js +0 -1
  898. package/assets/esri/core/workers/chunks/6f4bd0ee85e7e5a74340.js +0 -1
  899. package/assets/esri/core/workers/chunks/72ecf49d03bb24bf0998.js +0 -1
  900. package/assets/esri/core/workers/chunks/7421f9575487cdc9e28e.js +0 -1
  901. package/assets/esri/core/workers/chunks/77a11d7d53325d108ed8.js +0 -1
  902. package/assets/esri/core/workers/chunks/7c5c272612198db83851.js +0 -1
  903. package/assets/esri/core/workers/chunks/7d9882ddfa6495f72baa.js +0 -1
  904. package/assets/esri/core/workers/chunks/7fffad8ff6878fa1fd56.js +0 -1
  905. package/assets/esri/core/workers/chunks/81bbe5251ed13c0d91cc.js +0 -1
  906. package/assets/esri/core/workers/chunks/85622fe99f4d08afe875.js +0 -1
  907. package/assets/esri/core/workers/chunks/8b16aa50d879b92a5375.js +0 -1
  908. package/assets/esri/core/workers/chunks/8bc64fc7c4b9eb8fca4d.js +0 -1
  909. package/assets/esri/core/workers/chunks/8eefa133c36a004c054c.js +0 -1
  910. package/assets/esri/core/workers/chunks/91afee11072471e4eefe.js +0 -1
  911. package/assets/esri/core/workers/chunks/929ece362604dc301229.js +0 -1
  912. package/assets/esri/core/workers/chunks/9834bc11586a2d8d6f35.js +0 -1
  913. package/assets/esri/core/workers/chunks/9a723d739ac44b45432c.js +0 -1
  914. package/assets/esri/core/workers/chunks/9c6fc4fe2c46f40d63d9.js +0 -1
  915. package/assets/esri/core/workers/chunks/a5f25104938ab33e7a85.js +0 -1
  916. package/assets/esri/core/workers/chunks/a7bd294996e6c8b8354a.js +0 -1
  917. package/assets/esri/core/workers/chunks/a87521ebe632bf783ef4.js +0 -1
  918. package/assets/esri/core/workers/chunks/a8f998b8ec8c56150479.js +0 -2
  919. package/assets/esri/core/workers/chunks/abf4f018c692c18c3320.js +0 -1
  920. package/assets/esri/core/workers/chunks/ae6066ea6cb373dc6db3.js +0 -1
  921. package/assets/esri/core/workers/chunks/b0b2670596d6d8c32b5e.js +0 -1
  922. package/assets/esri/core/workers/chunks/b1f667006cba60ef4aa7.js +0 -1
  923. package/assets/esri/core/workers/chunks/b2add7338258ca7c24dd.js +0 -1
  924. package/assets/esri/core/workers/chunks/b2d9f4e057af26a538fb.js +0 -1
  925. package/assets/esri/core/workers/chunks/b62807c6fcfb70a87cd4.js +0 -1
  926. package/assets/esri/core/workers/chunks/b8339c1d60847a9eed3e.js +0 -1
  927. package/assets/esri/core/workers/chunks/bc6619307f312f9241bf.js +0 -1
  928. package/assets/esri/core/workers/chunks/bfc1e8aec7aace3ff30e.js +0 -1
  929. package/assets/esri/core/workers/chunks/c0feec6e2f0e45900ae0.js +0 -1
  930. package/assets/esri/core/workers/chunks/c362fbbafec91c44eeb2.js +0 -1
  931. package/assets/esri/core/workers/chunks/c368a8e8d2f1535af446.js +0 -1
  932. package/assets/esri/core/workers/chunks/c55c096669677321a227.js +0 -1
  933. package/assets/esri/core/workers/chunks/c7a3a44cca5a7d52cca9.js +0 -1
  934. package/assets/esri/core/workers/chunks/c941d15190fc08523d0d.js +0 -1
  935. package/assets/esri/core/workers/chunks/cc70a4a915b0b2ccb2a0.js +0 -1
  936. package/assets/esri/core/workers/chunks/d121045cddbe55c2ecb2.js +0 -1
  937. package/assets/esri/core/workers/chunks/d2120a623b1bd91b9ed9.js +0 -1
  938. package/assets/esri/core/workers/chunks/d466f3f0d3824c77da7c.js +0 -1
  939. package/assets/esri/core/workers/chunks/d78c2833cdc4730a88a3.js +0 -1
  940. package/assets/esri/core/workers/chunks/dabc5a38a472c9719df9.js +0 -1
  941. package/assets/esri/core/workers/chunks/dc31865edea480f0ebba.js +0 -1
  942. package/assets/esri/core/workers/chunks/df438b62702007267798.js +0 -1
  943. package/assets/esri/core/workers/chunks/e0bbfbe1ed39c82f1bd4.js +0 -1
  944. package/assets/esri/core/workers/chunks/e6fc278e2390d2787345.js +0 -1
  945. package/assets/esri/core/workers/chunks/f4eb090bcc3eca64306a.js +0 -1
  946. package/assets/esri/core/workers/chunks/f7846523adacbfe5047e.js +0 -1
  947. package/assets/esri/core/workers/chunks/f839b86bee15deaf84e4.js +0 -1
  948. package/assets/esri/core/workers/chunks/f98689562017583f73ee.js +0 -1
  949. package/assets/esri/core/workers/chunks/fa5c87889c2f0bef896b.js +0 -1
  950. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementConfiguration.js +0 -5
  951. package/views/3d/layers/i3s/I3SStreamDataController.js +0 -5
  952. package/views/3d/support/StreamDataLoader.js +0 -5
  953. package/views/3d/support/StreamDataRequester.js +0 -5
  954. package/views/3d/support/downloadSlots.js +0 -5
  955. package/views/draw/input/DrawEvents.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{F as t,d as e,a as s,a5 as i,x as n,E as r,c as h,P as o,i as a,b as m,a9 as _,J as l,j as u,m as d,w as c}from"./Point2D.js";import{Envelope2D as p}from"./Envelope2D.js";import{g,a as f,q as v,G as y,t as x,B as E,d as b,p as N,i as D,f as I}from"./Geometry.js";const C=[0,0,Number.NaN,0,0,0,0,0,-1,-1,0,0,0,0],T=[2,1,1,1,3,1,2,3,2,4,1,1,2,1],R=[1,1,1,0,2,1,1,1,0,0,0,0,0,1],A=[1,1,1,2,0,0,0,0,2,2,4,2,2,1],q=[4,8,4,8,1],w=25;function B(){return e(w,Number.NaN)}let z=class s{getAttributeCount(){return this.m_attributeCount}getSemantics(t){return this.m_indexToSemantics[t]}getSemanticsBitArray(){return this.m_semanticsBitArray}getAttributeIndex(t){return this.m_semanticsToIndexMap[t]}static getInterpolation(t){return R[t]}static getPersistence(t){return A[t]}static getPersistenceSize(t){return q[t]}static getPersistenceSizeFromSemantics(t){return s.getPersistenceSize(s.getPersistence(t))*s.getComponentCount(t)}static getComponentCount(t){return T[t]}static maxComponentCount(){return 4}static isInteger(t){return 2===t||3===t||4===t}static isIntegerSemantics(t){return s.isInteger(s.getPersistence(t))}static isTexture(t){return 5===t||6===t||7===t}hasAttribute(t){return!!(this.m_semanticsBitArray&1<<t)}hasAttributesFrom(t){return(this.m_semanticsBitArray&t.m_semanticsBitArray)===t.m_semanticsBitArray}hasZ(){return this.hasAttribute(1)}hasM(){return this.hasAttribute(2)}hasID(){return this.hasAttribute(3)}getTotalComponentCount(){return this.m_totalComponentCount}static getDefaultValue(t){return C[t]}static isDefaultValue(e,s){return t(C[e],s)}equals(t){return this===t}getDefaultPointAttributes(){return this.m_defaultPointAttributes}getPointAttributeOffset(t){return this.m_pointAttributeOffsets[t]}constructor(t){this.m_semanticsBitArray=t,this.m_attributeCount=0,this.m_totalComponentCount=0,this.m_semanticsToIndexMap=new Int32Array(14),this.m_indexToSemantics=new Int32Array(14),this.m_pointAttributeOffsets=new Int32Array(14),this.m_defaultPointAttributes=e(w,Number.NaN),this.m_semanticsToIndexMap.fill(-1),this.m_indexToSemantics.fill(-1);let i=0,n=1,r=14;for(;i<r;i++)t&n&&(this.m_semanticsToIndexMap[i]=this.m_attributeCount,this.m_indexToSemantics[this.m_attributeCount]=i,this.m_attributeCount++,this.m_totalComponentCount+=s.getComponentCount(i)),n<<=1;let h=0;for(i=0,r=this.getAttributeCount();i<r;i++){const t=this.getSemantics(i),e=s.getComponentCount(t),n=s.getDefaultValue(t);this.m_pointAttributeOffsets[i]=h;for(let s=0;s<e;s++)this.m_defaultPointAttributes[h]=n,h++}}};var L=z;function S(){return e(14,0)}class F{static getInstance(){return F.s_thisInstance}constructor(){this.m_map=new Map,this.m_vd2D=new L(1),this.m_map.set(1,this.m_vd2D),this.m_vd3D=new L(3),this.m_map.set(3,this.m_vd2D)}GetVD2D(){return this.m_vd2D}GetVD3D(){return this.m_vd3D}FindOrAdd(t){if(1===t)return this.GetVD2D();if(3===t)return this.GetVD3D();const e=this.m_map.get(t);if(e)return e;const s=new L(t);return this.m_map.set(t,s),s}}function P(t){return F.getInstance().FindOrAdd(t)}function H(t,e){if(!t||!e)return e||t;const s=t.getSemanticsBitArray()|e.getSemanticsBitArray();return(s&t.getSemanticsBitArray())===s?t:(s&e.getSemanticsBitArray())===s?e:P(s)}function V(t,e){const s=t.getSemanticsBitArray()|1<<e;return(s&t.getSemanticsBitArray())===s?t:P(s)}function k(t,e){const s=(t.getSemanticsBitArray()|1<<e)-(1<<e);return s===t.getSemanticsBitArray()?t:P(s)}function M(){return F.getInstance().GetVD2D()}function O(){return F.getInstance().GetVD3D()}function Y(t,e,s){if(s.fill(-1),null!==t&&null!==e)for(let i=0,n=t.getAttributeCount();i<n;i++)s[i]=e.getAttributeIndex(t.getSemantics(i))}F.s_thisInstance=new F;class X{static construct(t,e,s){return new X(t,e,s)}constructor(t,e,s){void 0!==t?(this.x=t,this.y=e,this.z=s):this.x=this.y=this.z=Number.NaN}get 0(){return this.x}get 1(){return this.y}get 2(){return this.z}set 0(t){this.x=t}set 1(t){this.y=t}set 2(t){this.z=t}clone(){return new X(this.x,this.y,this.z)}assign(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}setCoords(t,e,s){return this.x=t,this.y=e,this.z=s,this}setCoordsPoint2DZ(t,e){return this.setCoords(t.x,t.y,e)}setCoordsPoint3D(t){this.x=t.x,this.y=t.y,this.z=t.z}setZero(){this.x=0,this.y=0,this.z=0}setNormalized(t){this.assign(t),this.normalizeThis()}normalizeThis(){const t=this.length();return t?(this.x/=t,this.y/=t,this.z/=t):(this.x=1,this.y=0,this.z=0),this}getUnitVector(){const t=new X;return t.setNormalized(this),t}sqrLength(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}lengthXY(){return g(0),0}static sqrDistance(t,e){return s(t.x-e.x)+s(t.y-e.y)+s(t.z-e.z)}static sqrDistanceCoords(t,e,i,n,r,h){return s(t-n)+s(e-r)+s(i-h)}static distance(t,e){return Math.sqrt(X.sqrDistance(t,e))}isEqual(t,e){return void 0===e&&(e=0),Math.abs(this.x-t.x)<=e&&Math.abs(this.y-t.y)<=e&&i(this.z,t.z,e)}static compareByLength(t,e,s,i){return g(0),0}isEqualCoords(t,e,s,i){return g(0),this.x===t&&this.y===e&&this.z===s}isEqualsTols(t,e,s){return g(0),!1}isEqualCoordsTols(t,e,s,i,n){return g(0),!1}static st_isEqual(t,e,s,i){return g(0),!1}equals(t,e){return this.isEqual(t,e)}equalsTols(t,e,s){return g(0),!1}divThis(t){return this.x/=t,this.y/=t,this.z/=t,this}subThis(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}setSub(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}sub(t){return X.construct(this.x-t.x,this.y-t.y,this.z-t.z)}addThis(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}add(t){return this.clone().addThis(t)}setAdd(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}mul(t){return X.construct(this.x*t,this.y*t,this.z*t)}dotProduct(t){return this.x*t.x+this.y*t.y+this.z*t.z}crossProductVector(t){const e=this.y*t.z-t.y*this.z,s=t.x*this.z-this.x*t.z,i=this.x*t.y-t.x*this.y;return new X(e,s,i)}setCrossProductVector(t,e){const s=t.y*e.z-e.y*t.z,i=e.x*t.z-t.x*e.z,n=t.x*e.y-e.x*t.y;return this.x=s,this.y=i,this.z=n,this}setScaled(t,e){return this.x=t*e.x,this.y=t*e.y,this.z=t*e.z,this}scaleThis(t){return this.x*=t,this.y*=t,this.z*=t,this}scaleZThis(t){return this.z*=t,this}setNAN(){return g(0),this}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)||Number.isNaN(this.z)}static getNAN(){return X.construct(Number.NaN,Number.NaN,Number.NaN)}isFinite(){return g(0),!1}isZero(){return 0===this.x&&0===this.y&&0===this.z}norm(t){return g(0),0}sqrDistanceFromCenterToSpheroidSurface(t,e){return g(0),0}distanceFromCenterToSpheroidSurface(t,e){return Math.sqrt(this.sqrDistanceFromCenterToSpheroidSurface(t,e))}static getClosestCoordinate(t,e,s,i=!1){return g(0),0}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:this.z<t.z?-1:this.z>t.z?1:0}compareXYZ(t){return g(0),0}negateThis(){this.x=-this.x,this.y=-this.y,this.z=-this.z}static averageFast(t,e){return g(0),{}}static average(t,e){return g(0),{}}static size(){return X.dimensions}static lerp(t,e,s){const i=new X;return n(t,e,s,i),i}static slerp(t,e,s){return g(0),{}}static compareVectors(t,e){return g(0),0}static selectRightHandedBasisFromNormal(t,e,s){const i=t.getUnitVector(),n=i.createAPerpendicular(),r=new X;r.setCrossProductVector(i,n),r.normalizeThis(),e.setCoordsPoint3D(n),s.setCoordsPoint3D(r)}createAPerpendicular(){const t=[this.crossProductVector(new X(0,0,1)),this.crossProductVector(new X(1,0,0)),this.crossProductVector(new X(0,1,0))],e=[t[0].sqrLength(),t[1].sqrLength(),t[2].sqrLength()],s=t[e.reduce((t,s,i)=>e[t]>e[i]?t:i,0)];return s.normalizeThis(),s}calculateAngle(t){return g(0),0}static crossDotSign(t,e,s){return g(0),0}static isBisectorRobust(t,e,s){return g(0),0}static compareZOrder(t,e){return g(0),!1}}X.dimensions=3;class G{static constructEmpty(){return new G(Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN)}constructor(t,e,s,i,n,r){this.m_EnvelopeType=3,this.xmin=t,this.ymin=e,this.zmin=s,this.xmax=i,this.ymax=n,this.zmax=r,this.normalize()}inflate(t){this.inflateCoords(t,t,t)}inflateCoords(t,e,s){g(0)}getEnvelope2D(){return new p(this.xmin,this.ymin,this.xmax,this.ymax)}getEnvelopeZs(){return new r(this.zmin,this.zmax)}setEmptyZ(){this.zmin=Number.NaN,this.zmax=Number.NaN}normalize(){let t=!1;this.xmin<=this.xmax||(this.xmax=h(this.xmin,this.xmin=this.xmax),t=!0),this.ymin<=this.ymax||(this.ymax=h(this.ymin,this.ymin=this.ymax),t=!0),!t||this.xmin<=this.xmax&&this.ymin<=this.ymax?this.zmin<=this.zmax||(this.zmax=h(this.zmin,this.zmin=this.zmax),this.zmin<=this.zmax||this.setEmptyZ()):this.setEmpty()}isEmpty(){return Number.isNaN(this.xmin)||Number.isNaN(this.ymin)||Number.isNaN(this.xmax)||Number.isNaN(this.ymax)}isEmptyZ(){return Number.isNaN(this.zmin)||Number.isNaN(this.zmax)}setEmpty(){this.xmin=Number.NaN,this.ymin=Number.NaN,this.zmin=Number.NaN,this.xmax=Number.NaN,this.ymax=Number.NaN,this.zmax=Number.NaN}mergeEnv3D(t){t.isEmpty()||(this.mergeCoords(t.xmin,t.ymin,t.zmin),this.mergeCoords(t.xmax,t.ymax,t.zmax))}mergeNe(t){this.mergeNeCoords(t.x,t.y,t.z)}mergeNeCoords(t,e,s){this.xmin>t?this.xmin=t:this.xmax<t&&(this.xmax=t),this.ymin>e?this.ymin=e:this.ymax<e&&(this.ymax=e),this.zmin>s?this.zmin=s:this.zmax<s&&(this.zmax=s)}mergeCoords(t,e,s){this.isEmpty()?(this.xmin=t,this.xmax=t,this.ymin=e,this.ymax=e,this.zmin=s,this.zmax=s):(this.isEmptyZ()&&(this.zmin=s,this.zmax=s),this.mergeNeCoords(t,e,s))}setCoords(t,e,s,i,n,r){this.xmin=t,this.ymin=e,this.zmin=s,this.xmax=i,this.ymax=n,this.zmax=r,this.normalize()}sqrDistanceEnvelope3DAndPoints(t,e,s,i=1){return g(0),0}sqrMaxDistance(t,e=1){return g(0),0}}const U=-559038737;var Z=z;function Q(t,e,s){switch(t){case 0:return new it(e,s);case 1:return new nt(e,s);case 2:return new st(e,s);case 3:throw new Error("64 bit int attribute stream not implemented");case 4:return new et(e,s);default:f("")}}function j(t,e){const s=Z.getComponentCount(t);return Q(Z.getPersistence(t),e*s,Z.getDefaultValue(t))}function W(t,e){const s=Z.getComponentCount(t);return Q(Z.getPersistence(t),e*s)}function J(t,e){return new st(t,e)}function K(t,e){return new et(t,e)}function $(t,e){return new nt(t,e)}class tt{size(){return this.m_size}checkResize(t,e){t>this.m_size&&this.resize(t,e)}resize(t,e){if((t=Math.trunc(t))===this.m_size)return;const s=!!e||Number.isNaN(e);if(t<this.m_a.length)this.m_a.length>tt.s_resizeMin&&1.25*t<this.m_a.length&&(this.m_a=this.m_a.slice(0,t)),s&&t>this.m_size&&this.m_a.fill(e,this.m_size,t);else if(t>=this.m_a.length){const i=1.25*t,n=new this.m_a.constructor(i);n.set(this.m_a),this.m_a=n,s&&this.m_a.fill(e,this.m_size,t)}this.m_size=t}resizeRounded(t,e){return this.resize(t,e)}reserve(t){}read(t){return this.m_a[t]}readAsDbl(t){return this.read(t)}write(t,e){this.m_a[t]=e}writeAsDbl(t,e){this.write(t,e)}setRange(t,e,s){(e<0||s<0||s+e>this.size())&&f(),this.m_a.fill(t,e,e+s)}add(t){this.resize(this.m_size+1),this.m_a[this.m_size-1]=t}addArray(t,e){const s=this.m_size;void 0===e?(this.resize(this.m_size+t.length),this.m_a.set(t,s)):(this.resize(this.m_size+e),this.m_a.set(t.slice(0,e),s))}equals(t,e,s,i){if(this.getPersistence()!==t.getPersistence())return!1;return rt(this,t,e,s,i)}insertRange(t,e,s,i){const n=this.m_size;this.checkResize(Math.max(0,i)+s),this.m_a.copyWithin(t+s,t,i>=0?i:n),this.m_a.fill(e,t,t+s)}readRange(t,e){return this.m_a.slice(t,t+e)}insertRangeFromStream(t,e,s,i,n,r,h){g(this.getPersistence()===e.getPersistence());const o=e,a=this.m_size;i&&this.checkResize(Math.max(0,h)+i),this.m_a.copyWithin(t+i,t,h>=0?h:a),this.m_a.set(o.readRange(s,i),t),n||this.reverseRange(t,i,r)}writeRange(t,e,s,i,n,r){g(this.getPersistence()===s.getPersistence());const h=s;if((t<0||e<0||i<0)&&f(),h.size()<i+e&&f(),0===e)return;this.size()<e+t&&this.resize(e+t);const o=h.m_a.subarray(i,i+e);ht(this.m_a,t,e,o)}insertAttributes(t,e,s,i){const n=Z.getComponentCount(s);this.m_a.copyWithin(t+n,t,i>=0?i:this.m_size);for(let r=0;r<n;r++)this.m_a[t+r]=e.getAttributeAsDbl(s,r)}insertAttributesFromPoints(t,e,s,i,n){g(Z.getPersistence(i)===this.getPersistence());const r=Z.getComponentCount(i),h=this.m_size;if(this.checkResize(Math.max(0,n)+r*s),this.m_a.copyWithin(t+r*s,t,n>=0?n:h),0===i){const i=new o;for(let n=t,r=0;r<s;r++,n+=2)e[r].queryXY(i),this.m_a[n]=i.x,this.m_a[n+1]=i.y}else if(1===r)for(let o=t,a=0;a<s;a++,o++)this.m_a[o]=e[a].getAttributeAsDbl(i,0);else for(let o=t,a=0;a<s;a++,o+=r)for(let t=0;t<r;t++)this.m_a[o+t]=e[a].getAttributeAsDbl(i,t)}eraseRange(t,e,s){this.m_size<t+e&&f(),this.m_a.copyWithin(t,t+e),this.m_size-=e}reverseRange(t,e,s){if((s<1||e%s!==0)&&f(),this.m_a.subarray(t,t+e).reverse(),s>1)for(let i=t,n=t+e;i<n;i+=s){let t=i,e=i+s-1;for(;t<e;){const s=this.m_a[t];this.m_a[t]=this.m_a[e],this.m_a[e]=s,t++,e--}}}rotate(t,e,s){(e<t||e>s||t>s)&&v("rotate"),e!==t&&e!==s&&(this.reverseRange(t,e-t,1),this.reverseRange(e,s-e,1),this.reverseRange(t,s-t,1))}sort(t,e,s){this.m_a.subarray(t,e).sort(s)}constructor(t){if(t.move)this.m_a=t.move.m_a,this.m_size=t.move.m_size,t.move.m_a=t.move.m_a.slice(0,0),t.move.m_size=0;else if(t.copy)this.m_size=t.copy.m_size,t.maxSize&&(this.m_size=Math.min(t.maxSize,this.m_size)),this.m_a=t.copy.m_a.slice(0,this.m_size);else{const e=Math.max(t.size,tt.s_constructMin);this.m_a=new t.ctor(e),(t.defaultValue||Number.isNaN(t.defaultValue))&&this.m_a.fill(t.defaultValue),this.m_size=t.size}}}tt.s_constructMin=2,tt.s_resizeMin=30;class et extends tt{setBits(t,e){this.m_a[t]|=e}clearBits(t,e){this.m_a[t]&=~e}getPersistence(){return 4}clone(){return new et({ctor:Int8Array,copy:this})}restrictedClone(t){return new et({ctor:Int8Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Int8Array,size:t,defaultValue:e}:t)}}class st extends tt{getPersistence(){return 2}clone(){return new st({ctor:Int32Array,copy:this})}restrictedClone(t){return new st({ctor:Int32Array,copy:this,maxSize:t})}write(t,e){g(e<=a()),super.write(t,e)}constructor(t,e){super("number"==typeof t?{ctor:Int32Array,size:t,defaultValue:e}:t)}}class it extends tt{getPersistence(){return 0}clone(){return new it({ctor:Float32Array,copy:this})}restrictedClone(t){return new it({ctor:Float32Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Float32Array,size:t,defaultValue:e}:t)}}class nt extends tt{getPersistence(){return 1}getArray(){return this.m_a}applyTransformation(t,e,s){(1&e||e+2*s>this.size())&&f();const i=0===e?this.m_a:this.m_a.subarray(e);t.transformInterleavedPoints(i,s,i)}readPoint2D(t){const e=this.m_a[t],s=this.m_a[t+1];return new o(e,s)}queryPoint2D(t,e){return e.x=this.m_a[t],e.y=this.m_a[t+1],e}writePoint2D(t,e){this.write(t,e.x),this.write(t+1,e.y)}insert(t,e,s){this.checkResize(s+2),this.m_a.copyWithin(t+2,t,s),this.m_a[t]=e.x,this.m_a[t+1]=e.y}insertRangeFromPoints(t,e,s,i,n,r){const h=this.m_size;if(this.checkResize(Math.max(r,0)+2*i),this.m_a.copyWithin(t+2*i,t,r>=0?r:h),n)for(let o=s,a=t,m=0;m<i;++m,++o){const t=e[o];this.m_a[a++]=t.x,this.m_a[a++]=t.y}else for(let o=s+i-1,a=t,m=0;m<i;++m,--o){const t=e[o];this.m_a[a++]=t.x,this.m_a[a++]=t.y}}queryRange(t,e,s,i,n){if((t<0||e<0)&&f(),!i&&(n<=0||e%n!==0)&&f(),0===e)return;if(1===e)return void(s[0]=this.m_a[t]);const r=this.m_a.subarray(t,t+e);s.set(r)}writeRangeFromArray(t,e,s,i,n){if((t<0||e<0)&&f(),0===e)return;if(1===e)return void(this.m_a[t]=s[0]);let r=s;e<s.length&&(r=s.subarray(0,e)),this.m_a.set(r,t)}clone(){return new nt({ctor:Float64Array,copy:this})}restrictedClone(t){return new nt({ctor:Float64Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Float64Array,size:t,defaultValue:e}:t)}}function rt(t,e,s,n,r){if(t.getPersistence()!==e.getPersistence())return!1;const h=t.getPersistence()<=1,o=t.size(),a=e.size();if(n>o||n>a)return!1;if(r)if(h){for(let m=s;m<n;m++)if(!i(t.read(m),e.read(m),r))return!1}else for(let i=s;i<n;i++){let s=t.read(i)-e.read(i);if(s<0&&(s=-s),s>r)return!1}else for(let i=s;i<n;i++){const s=t.read(i),n=e.read(i);if(s!==n){if(h&&Number.isNaN(s)&&Number.isNaN(n))continue;return!1}}return!0}function ht(t,e,s,i,n,r){if((e<0||s<0)&&f(),0===s)return;if(1===s)return void(t[e]=i[0]);let h=i;s<i.length&&(h=i.subarray(0,s)),t.set(h,e)}class ot{constructor(){this.m_minValue=-1,this.m_maxValue=-1,this.m_dy=Number.NaN,this.m_buckets=new st(0),this.m_bucketedIndices=new st(0)}static sortEx(t,e,s,i,n=32){if(s-e<=n)return void i.userSort(e,s,t);(new ot).sort(t,e,s,i,n)}sort(t,e,s,i,n=32){if(s-e<=n)return void i.userSort(e,s,t);let r=!0,h=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let m=e;m<s;m++){const e=i.getValue(t.read(m));e<h&&(h=e),e>o&&(o=e)}if(this.reset(s-e,h,o,s-e)){for(let r=e;r<s;r++){const s=t.read(r),n=i.getValue(s),h=this.getBucket(n);this.m_buckets.write(h,this.m_buckets.read(h)+1),this.m_bucketedIndices.write(r-e,s)}let n=this.m_buckets.read(0);this.m_buckets.write(0,0);for(let t=1,e=this.m_buckets.size();t<e;t++){const e=this.m_buckets.read(t);this.m_buckets.write(t,n),n+=e}for(let r=e;r<s;r++){const s=this.m_bucketedIndices.read(r-e),n=i.getValue(s),h=this.getBucket(n),o=this.m_buckets.read(h);t.write(o+e,s),this.m_buckets.write(h,o+1)}r=!1}if(r)return void i.userSort(e,s,t);let a=0;for(let m=0,_=this.m_buckets.size();m<_;m++){const s=a;a=this.m_buckets.read(m),a>s&&i.userSort(e+s,e+a,t)}this.m_buckets.size()>100&&(this.m_buckets.resize(0),this.m_bucketedIndices.resize(0))}reset(t,e,s,i){if(t<2||s===e)return!1;const n=Math.min(ot.c_maxBuckets,t);return this.m_buckets.resize(n),this.m_buckets.setRange(0,0,this.m_buckets.size()),this.m_minValue=e,this.m_maxValue=s,this.m_bucketedIndices.resize(i),this.m_dy=(s-e)/(n-1),!0}getBucket(t){return Math.trunc((t-this.m_minValue)/this.m_dy)}getBucketCount(){return this.m_buckets.size()}}ot.c_maxBuckets=65536;class at{capacity(){return this.capacity_}constructor(t){this.m_buffer=new Int32Array(0),this.m_firstFree=-1,this.m_last=0,this.size_=0,this.capacity_=0,this.stride=t}size(){return this.size_}deleteElement(t){t<this.m_last?(this.m_buffer[t*this.stride]=this.m_firstFree,this.m_firstFree=t):this.m_last--,this.size_--}getField(t,e){return this.m_buffer[t*this.stride+e]}setField(t,e,s){this.m_buffer[t*this.stride+e]=s}elementToIndex(t){return t}newElement(){let t=this.m_firstFree;if(-1===t){if(this.m_last===this.capacity_){let t=0!==this.capacity_?Math.trunc(3*(this.capacity_+1)/2):1;if(t>Number.MAX_SAFE_INTEGER&&(t=Number.MAX_SAFE_INTEGER),t===this.capacity_)throw new Error("index out of bounds");this.grow_(t)}t=this.m_last,this.m_last++}else this.m_firstFree=this.m_buffer[t*this.stride];this.size_++;for(let e=t*this.stride;e<t*this.stride+this.stride;e++)this.m_buffer[e]=-1;return t}newElementPset(t){let e=this.m_firstFree;if(-1===e){if(this.m_last===this.capacity_){let t=0!==this.capacity_?Math.trunc(3*(this.capacity_+1)/2):1;if(t>Number.MAX_SAFE_INTEGER&&(t=Number.MAX_SAFE_INTEGER),t===this.capacity_)throw new Error("index out of bounds");this.grow_(t)}e=this.m_last,this.m_last++}else this.m_firstFree=this.m_buffer[e*this.stride];this.size_++;const s=e*this.stride;for(let i=0;i<t.length;i++)this.m_buffer[s+i]=t[i];return e}deleteAll(t){this.m_firstFree=-1,this.m_last=0,this.size_=0,t&&(this.m_buffer=new Int32Array(0),this.capacity_=0)}setCapacity(t){t>this.capacity_&&this.grow_(t)}swap(t,e){const s=t*this.stride,i=e*this.stride;for(let n=0;n<this.stride;n++){const t=this.m_buffer[i+n];this.m_buffer[i+n]=this.m_buffer[s+n],this.m_buffer[s+n]=t}}swapField(t,e,s){const i=this.m_buffer[this.stride*e+s];this.m_buffer[this.stride*e+s]=this.m_buffer[this.stride*t+s],this.m_buffer[this.stride*t+s]=i}static impossibleIndex2(){return-2}static impossibleIndex3(){return-3}static isValidElement(t){return t>=0}grow_(t){null==this.m_buffer&&(this.m_buffer=new Int32Array(0));const e=this.stride*t,s=new Int32Array(e);s.set(this.m_buffer,0),this.m_buffer=s,this.capacity_=t}}function mt(t,e){return{element:t,box:e.clone()}}class _t{constructor(t,e,s){this.m_extent=new p,this.m_dataExtent=new p,this.m_childExtents=[new p,new p,new p,new p],this.m_elementNodes=new at(4),this.m_data=[],this.m_freeData=[],this.m_root=-1,this.m_height=8,void 0===s&&(s=!1),this.m_quadTreeNodes=new at(s?11:10),this.m_bStoreDuplicates=s,this.reset_(t,e)}reset(t,e){this.m_quadTreeNodes.deleteAll(!1),this.m_elementNodes.deleteAll(!1),this.m_data.length=0,this.m_freeData.length=0,this.reset_(t,e)}insert(t,e){if(-1===this.m_root&&this.createRoot_(),this.m_bStoreDuplicates){const s=this.insertDuplicates_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}const s=this.insert_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}insertEx(t,e,s){if(-1===this.m_root&&this.createRoot_(),this.m_bStoreDuplicates){const s=this.insertDuplicates_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}let i;i=-1===s?this.m_root:this.getQuad_(s);const n=this.getHeight(i),r=this.getExtent(i),h=this.insert_(t,e,n,r,i,!1,-1);return-1!==h&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),h}removeElement(t){g(0)}getElement(t){return this.getElementValue_(this.getData_(t))}getElementAtIndex(t){return g(0),0}getElementExtent(t){const e=this.getData_(t);return this.getBoundingBoxValue_(e).clone()}getElementExtentAtIndex(t){return g(0),{}}getDataExtent(){return this.m_dataExtent.clone()}getQuadTreeExtent(){return g(0),{}}getHeight(t){return this.m_quadTreeNodes.getField(t,6)>>_t.m_heightBitShift}getMaxHeight(){return this.m_height}getExtent(t){const e=new p;if(e.setCoords({env2D:this.m_extent}),t===this.m_root)return e;const s=[];let i=t;do{s.push(this.getQuadrant_(i)),i=this.getParent_(i)}while(i!==this.m_root);const n=s.length;for(let r=0;r<n;r++){const t=s.at(-1);s.pop(),0===t?(e.xmin=.5*(e.xmin+e.xmax),e.ymin=.5*(e.ymin+e.ymax)):1===t?(e.xmax=.5*(e.xmin+e.xmax),e.ymin=.5*(e.ymin+e.ymax)):2===t?(e.xmax=.5*(e.xmin+e.xmax),e.ymax=.5*(e.ymin+e.ymax)):(e.xmin=.5*(e.xmin+e.xmax),e.ymax=.5*(e.ymin+e.ymax))}return e}getQuad(t){return this.getQuad_(t)}getElementCount(){return-1===this.m_root?0:this.getSubTreeElementCount_(this.m_root)}getSubTreeElementCount(t){return this.getSubTreeElementCount_(t)}getContainedSubTreeElementCount(t){return this.m_bStoreDuplicates?this.getContainedSubTreeElementCount_(t):this.getSubTreeElementCount_(t)}getIntersectionCount(t,e,s){if(-1===this.m_root)return 0;const i=new p;i.setCoords({env2D:t}),i.inflateCoords(e,e);const n=[],r=[];n.push(this.m_root),r.push(this.m_extent.clone());const h=d(p,4);let o=0;for(;n.length>0;){let t=!1;const e=n.at(-1),a=r.at(-1);if(n.pop(),r.pop(),i.containsEnvelope(a)){if(o+=this.getSubTreeElementCount(e),s>0&&o>=s)return s}else if(i.isIntersecting(a)){for(let t=this.getFirstElement_(e);-1!==t;t=this.getNextElement_(t)){const e=this.getData_(t);if(this.getBoundingBoxValue_(e).isIntersecting(i)&&(o++,s>0&&o>=s))return s}t=this.getHeight(e)+1<=this.m_height}if(t){_t.setChildExtents_(a,h);for(let t=0;t<4;t++){const s=this.getChild_(e,t);if(-1!==s&&this.getSubTreeElementCount_(s)>0){i.isIntersecting(h[t])&&(n.push(s),r.push(h[t].clone()))}}}}return o}hasData(t,e){return this.getIntersectionCount(t,e,1)>=1}getIterator(t,e){return new lt(this,t,e)}getIteratorForQT(){return new lt(this)}getSortedIterator(t,e){return new ut(this.getIterator(t,e))}getSortedIteratorForQT(){return new ut(this.getIteratorForQT())}visitLeavesNearest(t,e,s,i){g(0)}reset_(t,e){(e<0||e>127)&&f("invalid height"),this.m_height=e,this.m_extent.setCoords({env2D:t}),this.m_dataExtent.setEmpty(),this.m_root=-1}insert_(t,e,s,i,n,r,h){if(!i.containsEnvelope(e))return 0===s?-1:this.insert_(t,e,0,this.m_extent,this.m_root,r,h);if(!r)for(let _=n;-1!==_;_=this.getParent_(_))this.setSubTreeElementCount_(_,this.getSubTreeElementCount_(_)+1);const o=new p;o.setCoords({env2D:i});let a,m=n;for(a=s;a<this.m_height&&this.canPushDown_(m);a++){_t.setChildExtents_(o,this.m_childExtents);let t=!1;for(let s=0;s<4;s++)if(this.m_childExtents[s].containsEnvelope(e)){t=!0;let e=this.getChild_(m,s);-1===e&&(e=this.createChild_(m,s)),this.setSubTreeElementCount_(e,this.getSubTreeElementCount_(e)+1),m=e,o.setCoords({env2D:this.m_childExtents[s]});break}if(!t)break}return this.insertAtQuad_(t,e,a,o,m,r,n,h,-1)}insertDuplicates_(t,e,s,i,n,r,h){if(!r){if(!i.containsEnvelope(e))return-1;this.setSubTreeElementCount_(n,this.getSubTreeElementCount_(n)+1),this.setContainedSubTreeElementCount_(n,this.getContainedSubTreeElementCount_(n)+1)}const o=Math.max(e.width(),e.height());let a=-1;const m=[],_=[],l=[];m.push(n),_.push(i.clone()),l.push(s);const u=d(p,4);for(;m.length>0;){let s=!1;const i=m.at(-1),d=_.at(-1),c=l.at(-1);if(m.pop(),_.pop(),l.pop(),c+1<this.m_height&&this.canPushDown_(i)){o<=Math.max(d.width(),d.height())/2&&(s=!0)}if(s){_t.setChildExtents_(d,u);let t=!1;for(let s=0;s<4;s++)if(t=u[s].containsEnvelope(e),t){let t=this.getChild_(i,s);-1===t&&(t=this.createChild_(i,s)),m.push(t),_.push(u[s].clone()),l.push(c+1),this.setSubTreeElementCount_(t,this.getSubTreeElementCount_(t)+1),this.setContainedSubTreeElementCount_(t,this.getContainedSubTreeElementCount_(t)+1);break}if(!t)for(let s=0;s<4;s++){if(u[s].isIntersecting(e)){let t=this.getChild_(i,s);-1===t&&(t=this.createChild_(i,s)),m.push(t),_.push(u[s].clone()),l.push(c+1),this.setSubTreeElementCount_(t,this.getSubTreeElementCount_(t)+1)}}}else a=this.insertAtQuad_(t,e,c,d,i,r,n,h,a),r=!1}return 0}insertAtQuad_(t,e,s,i,n,r,h,o,a){this.getFirstElement_(n);const m=this.getLastElement_(n);let _=-1;if(r){if(n===h)return o;this.disconnectElementHandle_(o),_=o}else-1===a?(_=this.createElement_(),this.setDataValues_(this.getData_(_),t,e)):_=this.createElementFromDuplicate_(a);return this.setQuad_(_,n),-1!==m?(this.setPrevElement_(_,m),this.setNextElement_(m,_)):this.setFirstElement_(n,_),this.setLastElement_(n,_),this.setLocalElementCount_(n,this.getLocalElementCount_(n)+1),this.canFlush_(n)&&this.flush_(s,i,n),_}static setChildExtents_(t,e){const s=.5*(t.xmin+t.xmax),i=.5*(t.ymin+t.ymax);e[0].setCoords({xmin:s,ymin:i,xmax:t.xmax,ymax:t.ymax}),e[1].setCoords({xmin:t.xmin,ymin:i,xmax:s,ymax:t.ymax}),e[2].setCoords({xmin:t.xmin,ymin:t.ymin,xmax:s,ymax:i}),e[3].setCoords({xmin:s,ymin:t.ymin,xmax:t.xmax,ymax:i})}disconnectElementHandle_(t){const e=this.getQuad_(t),s=this.getFirstElement_(e),i=this.getLastElement_(e),n=this.getPrevElement_(t),r=this.getNextElement_(t);s===t?(-1!==r?this.setPrevElement_(r,-1):this.setLastElement_(e,-1),this.setFirstElement_(e,r)):i===t?(this.setNextElement_(n,-1),this.setLastElement_(e,n)):(this.setPrevElement_(r,n),this.setNextElement_(n,r)),this.setPrevElement_(t,-1),this.setNextElement_(t,-1),this.setLocalElementCount_(e,this.getLocalElementCount_(e)-1)}canFlush_(t){return this.getLocalElementCount_(t)===_t.m_flushingCount&&!this.hasChildren_(t)}flush_(t,e,s){let i;const n=new p;let r=this.getFirstElement_(s),h=-1,o=-1;do{o=this.getData_(r),i=this.getElementValue_(o),n.setCoords({env2D:this.getBoundingBoxValue_(o)}),h=this.getNextElement_(r),this.m_bStoreDuplicates?this.insertDuplicates_(i,n,t,e,s,!0,r):this.insert_(i,n,t,e,s,!0,r),r=h}while(-1!==r)}canPushDown_(t){return this.getLocalElementCount_(t)>=_t.m_flushingCount||this.hasChildren_(t)}hasChildren_(t){return-1!==this.getChild_(t,0)||-1!==this.getChild_(t,1)||-1!==this.getChild_(t,2)||-1!==this.getChild_(t,3)}createChild_(t,e){const s=this.m_quadTreeNodes.newElement();return this.setChild_(t,e,s),this.setSubTreeElementCount_(s,0),this.setLocalElementCount_(s,0),this.setParent_(s,t),this.setHeightAndQuadrant_(s,this.getHeight_(t)+1,e),this.m_bStoreDuplicates&&this.setContainedSubTreeElementCount_(s,0),s}createRoot_(){this.m_root=this.m_quadTreeNodes.newElement(),this.setSubTreeElementCount_(this.m_root,0),this.setLocalElementCount_(this.m_root,0),this.setHeightAndQuadrant_(this.m_root,0,0),this.m_bStoreDuplicates&&this.setContainedSubTreeElementCount_(this.m_root,0)}createElement_(){const t=this.m_elementNodes.newElement();let e;return this.m_freeData.length>0?(e=this.m_freeData.at(-1),this.m_freeData.pop()):(e=this.m_data.length,this.m_data.length=e+1),this.setData_(t,e),t}createElementFromDuplicate_(t){const e=this.m_elementNodes.newElement(),s=this.getData_(t);return this.setData_(e,s),e}freeElementAndBoxNode_(t){g(0)}getChild_(t,e){return this.m_quadTreeNodes.getField(t,e)}setChild_(t,e,s){this.m_quadTreeNodes.setField(t,e,s)}getFirstElement_(t){return this.m_quadTreeNodes.getField(t,4)}setFirstElement_(t,e){this.m_quadTreeNodes.setField(t,4,e)}getLastElement_(t){return this.m_quadTreeNodes.getField(t,5)}setLastElement_(t,e){this.m_quadTreeNodes.setField(t,5,e)}getQuadrant_(t){return this.m_quadTreeNodes.getField(t,6)&_t.m_quadrantMask}getHeight_(t){return this.m_quadTreeNodes.getField(t,6)>>_t.m_heightBitShift}setHeightAndQuadrant_(t,e,s){const i=e<<_t.m_heightBitShift|s;this.m_quadTreeNodes.setField(t,6,i)}getLocalElementCount_(t){return this.m_quadTreeNodes.getField(t,7)}setLocalElementCount_(t,e){this.m_quadTreeNodes.setField(t,7,e)}getSubTreeElementCount_(t){return this.m_quadTreeNodes.getField(t,8)}setSubTreeElementCount_(t,e){this.m_quadTreeNodes.setField(t,8,e)}getParent_(t){return this.m_quadTreeNodes.getField(t,9)}setParent_(t,e){this.m_quadTreeNodes.setField(t,9,e)}getContainedSubTreeElementCount_(t){return this.m_quadTreeNodes.getField(t,10)}setContainedSubTreeElementCount_(t,e){this.m_quadTreeNodes.setField(t,10,e)}getData_(t){return this.m_elementNodes.getField(t,0)}setData_(t,e){this.m_elementNodes.setField(t,0,e)}getPrevElement_(t){return this.m_elementNodes.getField(t,1)}getNextElement_(t){return this.m_elementNodes.getField(t,2)}setPrevElement_(t,e){this.m_elementNodes.setField(t,1,e)}setNextElement_(t,e){this.m_elementNodes.setField(t,2,e)}getQuad_(t){return this.m_elementNodes.getField(t,3)}setQuad_(t,e){this.m_elementNodes.setField(t,3,e)}getElementValue_(t){return this.m_data[t].element}getBoundingBoxValue_(t){return this.m_data[t].box}setDataValues_(t,e,s){this.m_data[t]=mt(e,s)}}_t.m_quadrantMask=3,_t.m_heightBitShift=2,_t.m_flushingCount=5;class lt{constructor(t,e,s){this.m_bLinear=!1,this.m_queryStart=new o,this.m_queryEnd=new o,this.m_queryBox=new p,this.m_tolerance=0,this.m_currentElementHandle=-1,this.m_nextElementHandle=-1,this.m_quadsStack=[],this.m_extentsStack=[],this.m_childExtents=[new p,new p,new p,new p],this.m_quadTree=t,e&&this.resetIterator(e,s)}resetIterator(t,e){if(void 0===e&&(e=0),t instanceof p)return this.m_quadsStack.length=0,this.m_extentsStack.length=0,this.m_currentElementHandle=-1,this.m_queryBox.setCoords({env2D:t}),this.m_queryBox.inflateCoords(e,e),this.m_tolerance=Number.NaN,void(-1!==this.m_quadTree.m_root&&this.m_queryBox.isIntersecting(this.m_quadTree.m_extent)?(this.m_quadsStack.push(this.m_quadTree.m_root),this.m_extentsStack.push(this.m_quadTree.m_extent.clone()),this.m_nextElementHandle=this.m_quadTree.getFirstElement_(this.m_quadTree.m_root),this.m_bLinear=!1):this.m_nextElementHandle=-1);if(this.m_quadsStack.length=0,this.m_extentsStack.length=0,this.m_currentElementHandle=-1,t.queryLooseEnvelope(this.m_queryBox),this.m_queryBox.inflateCoords(e,e),-1!==this.m_quadTree.m_root&&this.m_queryBox.isIntersecting(this.m_quadTree.m_extent)){const s=t.getGeometryType();if(this.m_bLinear=s===y.enumLine,this.m_bLinear){const s=t;this.m_queryStart.assign(s.getStartXY()),this.m_queryEnd.assign(s.getEndXY()),this.m_tolerance=e}else this.m_tolerance=Number.NaN;this.m_quadsStack.push(this.m_quadTree.m_root),this.m_extentsStack.push(this.m_quadTree.m_extent.clone()),this.m_nextElementHandle=this.m_quadTree.getFirstElement_(this.m_quadTree.m_root)}else this.m_nextElementHandle=-1}next(){if(0===this.m_quadsStack.length)return-1;this.m_currentElementHandle=this.m_nextElementHandle;const t=new o,e=new o,s=new p;let i=!1;for(;!i;){for(;-1!==this.m_currentElementHandle;){const n=this.m_quadTree.getData_(this.m_currentElementHandle);if(s.setCoords({env2D:this.m_quadTree.getBoundingBoxValue_(n)}),s.isIntersecting(this.m_queryBox)){if(!this.m_bLinear){i=!0;break}if(t.setCoordsPoint2D(this.m_queryStart),e.setCoordsPoint2D(this.m_queryEnd),s.inflateCoords(this.m_tolerance,this.m_tolerance),s.clipLine(t,e)>0){i=!0;break}}this.m_currentElementHandle=this.m_quadTree.getNextElement_(this.m_currentElementHandle)}if(-1===this.m_currentElementHandle){const s=this.m_quadsStack.at(-1),i=this.m_extentsStack.at(-1);_t.setChildExtents_(i,this.m_childExtents),this.m_quadsStack.pop(),this.m_extentsStack.pop();for(let n=0;n<4;n++){const i=this.m_quadTree.getChild_(s,n);if(-1!==i&&this.m_quadTree.getSubTreeElementCount(i)>0&&this.m_childExtents[n].isIntersecting(this.m_queryBox))if(this.m_bLinear){t.setCoordsPoint2D(this.m_queryStart),e.setCoordsPoint2D(this.m_queryEnd);const s=new p;s.setCoords({env2D:this.m_childExtents[n]}),s.inflateCoords(this.m_tolerance,this.m_tolerance),s.clipLine(t,e)>0&&(this.m_quadsStack.push(i),this.m_extentsStack.push(this.m_childExtents[n].clone()))}else this.m_quadsStack.push(i),this.m_extentsStack.push(this.m_childExtents[n].clone())}if(0===this.m_quadsStack.length)return-1;this.m_currentElementHandle=this.m_quadTree.getFirstElement_(this.m_quadsStack.at(-1))}}return this.m_nextElementHandle=this.m_quadTree.getNextElement_(this.m_currentElementHandle),this.m_currentElementHandle}clone(){return g(0),{}}}class ut{constructor(t){this.m_bucketSort=new ot,this.m_sortedHandles=new st(0),this.m_index=-1,this.m_quadTreeIteratorImpl=t}resetIterator(t,e){this.m_quadTreeIteratorImpl.resetIterator(t,e),this.m_sortedHandles.resize(0),this.m_index=-1}next(){if(-1===this.m_index){let t=-1;for(;-1!==(t=this.m_quadTreeIteratorImpl.next());)this.m_sortedHandles.add(t);const e=this,s={userSort(t,s,i){i.sort(t,s,(t,s)=>e.m_quadTreeIteratorImpl.m_quadTree.getElement(t)-e.m_quadTreeIteratorImpl.m_quadTree.getElement(s))},getValue:t=>e.m_quadTreeIteratorImpl.m_quadTree.getElement(t)};this.m_bucketSort.sort(this.m_sortedHandles,0,this.m_sortedHandles.size(),s)}return this.m_index===this.m_sortedHandles.size()-1?-1:(this.m_index++,this.m_sortedHandles.read(this.m_index))}clone(){return g(0),{}}}class dt{constructor(t=!1){this.m_bNotifyOnActions=t}onDelete(t){}onSet(t){}onEndSearch(t){}onAddUniqueElementFailed(t){}onDeleteImpl(t,e){this.m_bNotifyOnActions&&this.onDelete(t.getElement(e))}onSetImpl(t,e){this.m_bNotifyOnActions&&this.onSet(t.getElement(e))}onAddUniqueElementFailedImpl(t){this.m_bNotifyOnActions&&this.onAddUniqueElementFailed(t)}onEndSearchImpl(t){this.m_bNotifyOnActions&&this.onEndSearch(t)}}class ct{static st_nullNode(){return-1}constructor(){this.m_defaultTreap=-1,this.m_random=124234251,this.m_comparator=null,this.m_treapData=new at(7),this.m_treapCount=0,this.m_maxDepthEver=0,this.m_bBalancing=!0}setComparator(t){this.m_comparator=t}getComparator(){return this.m_comparator}disableBalancing(){this.m_bBalancing=!1}enableBalancing(){this.m_bBalancing||(g(this.m_treapCount<=1),this.rebalance(-1),this.m_bBalancing=!0)}isAutoBalancing(){return this.m_bBalancing}rebalance(t){if(this.m_bBalancing)return;if(-1===t&&(t=this.m_defaultTreap),0===this.size(t))return;const e=[];for(let s=this.getFirst(t);-1!==s;s=this.getNext(s))e.push(s),this.setParent_(s,-1),this.setRight_(s,-1),this.setLeft_(s,-1);this.setRoot_(-1,t),this.setFirst_(-1,t),this.setLast_(-1,t),this.setSize_(0,t),this.m_bBalancing=!0;for(const s of e)this.addBiggestElement_(s,t);this.m_bBalancing=!1}setCapacity(t){this.m_treapData.setCapacity(t)}createTreap(t){const e=this.m_treapData.newElement();return this.setSize_(0,e),this.setTreapData_(t,e),this.m_treapCount++,e}deleteTreap(t){this.m_treapData.deleteElement(t),this.m_treapCount--}addElement(t,e=-1){return-1===e&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap),this.addElement_(t,0,e)}addUniqueElement(t,e=-1){return-1===e&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap),this.addElement_(t,1,e)}addBiggestElement(t,e=-1){-1===e&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap);const s=this.newNode_(t);return this.addBiggestElement_(s,e),s}addElementAtPosition(t,e,s,i,n,r=-1){if(-1===r&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),r=this.m_defaultTreap),this.getRoot_(r)===ct.st_nullNode()){const t=this.newNode_(s);return this.setRoot_(t,r),this.addToList_(-1,t,r),t}let h,o,a,m,_;if(n?(h=e!==ct.st_nullNode()?this.m_comparator.compare(this,s,e):-1,o=t!==ct.st_nullNode()?this.m_comparator.compare(this,s,t):1):(h=-1,o=1),i&&(0===h||0===o)){this.m_comparator.onAddUniqueElementFailedImpl(s);const i=0===h?e:t;return this.setDuplicateElement_(i,r),-1}_=e!==ct.st_nullNode()&&t!==ct.st_nullNode()?this.m_random>l(this.m_random)>>1:e!==ct.st_nullNode(),_?(m=h,a=e):(m=o,a=t);let u=-1,d=-1,c=!0;for(;;){if(m<0){const t=this.getLeft(a);if(t===ct.st_nullNode()){d=a,u=this.newNode_(s),this.setLeft_(a,u),this.setParent_(u,a);break}a=t}else{const t=this.getRight(a);if(t===ct.st_nullNode()){d=this.getNext(a),u=this.newNode_(s),this.setRight_(a,u),this.setParent_(u,a);break}a=t}c&&(m*=-1,c=!1)}return this.bubbleUp_(u),this.getParent(u)===ct.st_nullNode()&&this.setRoot_(u,r),this.addToList_(d,u,r),u}replaceElementAtPosition(t,e,s,i,n=-1){if(i){const i=this.getNext(t);let r=-1;i!==ct.st_nullNode()&&(r=this.m_comparator.compare(this,e,i));const h=this.getPrev(t);let o=-1;if(h!==ct.st_nullNode()&&(o=this.m_comparator.compare(this,e,h)),s&&(0===r||0===o)){this.m_comparator.onAddUniqueElementFailedImpl(e);const t=0===r?i:h;return n===ct.st_nullNode()&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),n=this.m_defaultTreap),this.setDuplicateElement_(t,n),-1}}return this.setElement_(t,e),t}getDuplicateElement(t=-1){return-1===t?this.getDuplicateElement_(this.m_defaultTreap):this.getDuplicateElement_(t)}deleteNode(t,e=-1){this.m_comparator&&this.m_comparator.onDeleteImpl(this,t),-1===e&&(e=this.m_defaultTreap),this.m_bBalancing?this.deleteNode_(t,e):this.unbalancedDelete_(t,e)}search(t,e=-1){let s=this.getRoot(e);for(;s!==ct.st_nullNode();){const e=this.m_comparator.compare(this,t,s);if(!e)return s;s=e<0?this.getLeft(s):this.getRight(s)}return this.m_comparator.onEndSearchImpl(t),ct.st_nullNode()}searchLowerBound(t,e=-1){let s=this.getRoot(e),i=-1;for(;s!==ct.st_nullNode();){const e=t.compare(this,s);if(!e)return s;e<0?s=this.getLeft(s):(i=s,s=this.getRight(s))}return i}searchUpperBound(t,e=-1){let s=this.getRoot(e),i=-1;for(;s!==ct.st_nullNode();){const e=t.compare(this,s);if(!e)return s;e<0?(i=s,s=this.getLeft(s)):s=this.getRight(s)}return i}getElement(t){return this.m_treapData.getField(t,3)}getLeft(t){return this.m_treapData.getField(t,0)}getRight(t){return this.m_treapData.getField(t,1)}getParent(t){return this.m_treapData.getField(t,2)}getNext(t){return this.m_treapData.getField(t,6)}getPrev(t){return this.m_treapData.getField(t,5)}getFirst(t=-1){return-1===t?this.getFirst_(this.m_defaultTreap):this.getFirst_(t)}getLast(t=-1){return-1===t?this.getLast_(this.m_defaultTreap):this.getLast_(t)}getTreapData(t=-1){return-1===t?this.getTreapData_(this.m_defaultTreap):this.getTreapData_(t)}setElement(t,e){null!==this.m_comparator&&this.m_comparator.onSetImpl(this,t),this.setElement_(t,e)}getRoot(t=-1){return-1===t?this.getRoot_(this.m_defaultTreap):this.getRoot_(t)}clear(){this.m_treapData.deleteAll(!1),this.m_defaultTreap=ct.st_nullNode(),this.m_treapCount=0,this.m_maxDepthEver=0}addToList_(t,e,s){let i;-1!==t?(i=this.getPrev(t),this.setPrev_(t,e)):i=this.getLast_(s),this.setPrev_(e,i),-1!==i&&this.setNext_(i,e),this.setNext_(e,t),t===this.getFirst_(s)&&this.setFirst_(e,s),-1===t&&this.setLast_(e,s),this.setSize_(this.getSize_(s)+1,s)}size(t=-1){return-1===t?this.getSize_(this.m_defaultTreap):this.getSize_(t)}getMaxDepth(t=-1){return this.getMaxDepthHelper_(this.getRoot(t))}getMaxDepthEver(){return this.m_maxDepthEver}static st_isValidNode(t){return at.isValidElement(t)}dbgCheck_(t){}getPriority_(t){return this.m_treapData.getField(t,4)}bubbleDown_(t){let e=this.getLeft(t),s=this.getRight(t);const i=this.getPriority_(t);for(;e!==ct.st_nullNode()||s!==ct.st_nullNode();){const n=e!==ct.st_nullNode()?this.getPriority_(e):u(),r=s!==ct.st_nullNode()?this.getPriority_(s):u();if(i<=Math.min(n,r))return;n<=r?this.rotateRight_(e):this.rotateLeft_(t),e=this.getLeft(t),s=this.getRight(t)}}bubbleUp_(t){if(!this.m_bBalancing)return;const e=this.getPriority_(t);let s=this.getParent(t);for(;s!==ct.st_nullNode()&&this.getPriority_(s)>e;)this.getLeft(s)===t?this.rotateRight_(t):this.rotateLeft_(s),s=this.getParent(t)}rotateLeft_(t){const e=t,s=this.getRight(t);let i;this.setParent_(s,this.getParent(e)),this.setParent_(e,s),i=this.getLeft(s),this.setRight_(e,i),i!==ct.st_nullNode()&&this.setParent_(i,e),this.setLeft_(s,e),i=this.getParent(s),i!==ct.st_nullNode()&&(this.getLeft(i)===e?this.setLeft_(i,s):this.setRight_(i,s))}rotateRight_(t){const e=this.getParent(t),s=t;let i;this.setParent_(s,this.getParent(e)),this.setParent_(e,s),i=this.getRight(s),this.setLeft_(e,i),i!==ct.st_nullNode()&&this.setParent_(i,e),this.setRight_(s,e),i=this.getParent(s),i!==ct.st_nullNode()&&(this.getLeft(i)===e?this.setLeft_(i,s):this.setRight_(i,s))}setParent_(t,e){this.m_treapData.setField(t,2,e)}setLeft_(t,e){this.m_treapData.setField(t,0,e)}setRight_(t,e){this.m_treapData.setField(t,1,e)}setPriority_(t,e){this.m_treapData.setField(t,4,e)}setPrev_(t,e){this.m_treapData.setField(t,5,e)}setNext_(t,e){this.m_treapData.setField(t,6,e)}setRoot_(t,e){this.m_treapData.setField(e,0,t)}setFirst_(t,e){this.m_treapData.setField(e,1,t)}setLast_(t,e){this.m_treapData.setField(e,2,t)}setDuplicateElement_(t,e){this.m_treapData.setField(e,3,t)}setSize_(t,e){this.m_treapData.setField(e,4,t)}setTreapData_(t,e){this.m_treapData.setField(e,5,t)}getRoot_(t){return-1===t?ct.st_nullNode():this.m_treapData.getField(t,0)}getFirst_(t){return-1===t?ct.st_nullNode():this.m_treapData.getField(t,1)}getLast_(t){return-1===t?ct.st_nullNode():this.m_treapData.getField(t,2)}getDuplicateElement_(t){return-1===t?ct.st_nullNode():this.m_treapData.getField(t,3)}getSize_(t){return-1===t?0:this.m_treapData.getField(t,4)}getTreapData_(t){return this.m_treapData.getField(t,5)}newNode_(t){const e=this.m_treapData.newElement();return this.setPriority_(e,this.generatePriority_()),this.setElement_(e,t),e}freeNode_(t,e){t!==ct.st_nullNode()&&this.m_treapData.deleteElement(t)}generatePriority_(){return this.m_random=l(this.m_random),this.m_random&u()>>1}maxPriority(){return g(0),0}getMaxDepthHelper_(t){return t===ct.st_nullNode()?0:1+Math.max(this.getMaxDepthHelper_(this.getLeft(t)),this.getMaxDepthHelper_(this.getRight(t)))}addElement_(t,e,s){if(this.getRoot(s)===ct.st_nullNode()){const e=this.newNode_(t);return this.setRoot_(e,s),this.addToList_(-1,e,s),this.m_maxDepthEver=Math.max(this.m_maxDepthEver,1),e}let i=this.getRoot_(s),n=-1,r=-1,h=1;for(;;){const o=-1===e?1:this.m_comparator.compare(this,t,i);if(o<0){const e=this.getLeft(i);if(e===ct.st_nullNode()){r=i,n=this.newNode_(t),this.setLeft_(i,n),this.setParent_(n,i);break}i=e}else{if(1===e&&0===o)return this.m_comparator.onAddUniqueElementFailedImpl(t),this.setDuplicateElement_(i,s),-1;const h=this.getRight(i);if(h===ct.st_nullNode()){r=this.getNext(i),n=this.newNode_(t),this.setRight_(i,n),this.setParent_(n,i);break}i=h}h++}return this.bubbleUp_(n),this.getParent(n)===ct.st_nullNode()&&this.setRoot_(n,s),this.addToList_(r,n,s),this.m_maxDepthEver=Math.max(h,this.m_maxDepthEver),n}removeFromList_(t,e){const s=this.getPrev(t),i=this.getNext(t);-1!==s?this.setNext_(s,i):this.setFirst_(i,e),-1!==i?this.setPrev_(i,s):this.setLast_(s,e),this.setSize_(this.getSize_(e)-1,e)}unbalancedDelete_(t,e){this.removeFromList_(t,e);let s=this.getLeft(t),i=this.getRight(t),n=this.getParent(t),r=t;if(-1!==s&&-1!==i){let h;this.m_random=l(this.m_random),h=this.m_random>u()>>1?this.getNext(t):this.getPrev(t);const o=this.getParent(h)===t;this.m_treapData.swapField(t,h,0),this.m_treapData.swapField(t,h,1),this.m_treapData.swapField(t,h,2),-1!==n?this.getLeft(n)===t?this.setLeft_(n,h):this.setRight_(n,h):this.setRoot_(h,e),o?(s===h?(this.setLeft_(h,t),this.setParent_(i,h)):i===h&&(this.setRight_(h,t),this.setParent_(s,h)),this.setParent_(t,h),n=h):(this.setParent_(s,h),this.setParent_(i,h),n=this.getParent(t),r=h),s=this.getLeft(t),i=this.getRight(t),-1!==s&&this.setParent_(s,t),-1!==i&&this.setParent_(i,t)}const h=-1!==s?s:i;-1===n?this.setRoot_(h,e):this.getLeft(n)===r?this.setLeft_(n,h):this.setRight_(n,h),-1!==h&&this.setParent_(h,n),this.freeNode_(t,e)}deleteNode_(t,e){this.setPriority_(t,u());let s=ct.st_nullNode(),i=ct.st_nullNode();const n=this.getRoot_(e),r=n===t;if(r&&(s=this.getLeft(n),i=this.getRight(n),s===ct.st_nullNode()&&i===ct.st_nullNode()))return this.removeFromList_(n,e),this.freeNode_(n,e),void this.setRoot_(ct.st_nullNode(),e);this.bubbleDown_(t);const h=this.getParent(t);h!==ct.st_nullNode()&&(this.getLeft(h)===t?this.setLeft_(h,ct.st_nullNode()):this.setRight_(h,ct.st_nullNode())),this.removeFromList_(t,e),this.freeNode_(t,e),r&&this.setRoot_(s===ct.st_nullNode()||this.getParent(s)!==ct.st_nullNode()?i:s,e)}setElement_(t,e){this.m_treapData.setField(t,3,e)}addBiggestElement_(t,e){if(this.getRoot_(e)===ct.st_nullNode())return this.setRoot_(t,e),void this.addToList_(-1,t,e);const s=this.getLast_(e);this.setRight_(s,t),this.setParent_(t,s),this.bubbleUp_(t),this.getParent(t)===ct.st_nullNode()&&this.setRoot_(t,e),this.addToList_(-1,t,e)}}class pt{constructor(t){this.m_lists=new at(6),this.m_listOfLists=pt.st_nullNode(),void 0===t?(this.m_listNodes=new at(3),this.m_bStoreListIndexWithNode=!1):(this.m_listNodes=new at(t?4:3),this.m_bStoreListIndexWithNode=t)}freeNode_(t){this.m_listNodes.deleteElement(t)}newNode_(){return this.m_listNodes.newElement()}freeList_(t){g(0)}newList_(){return this.m_lists.newElement()}setPrev_(t,e){this.m_listNodes.setField(t,1,e)}setNext_(t,e){this.m_listNodes.setField(t,2,e)}setData_(t,e){g(0)}setList_(t,e){return this.m_listNodes.setField(t,3,e)}setListSize_(t,e){this.m_lists.setField(t,4,e)}setNextList_(t,e){g(0)}setPrevList_(t,e){this.m_lists.setField(t,2,e)}createList(t){const e=this.newList_();return this.m_lists.setField(e,3,this.m_listOfLists),this.m_lists.setField(e,4,0),this.m_lists.setField(e,5,t),this.m_listOfLists!==pt.st_nullNode()&&this.setPrevList_(this.m_listOfLists,e),this.m_listOfLists=e,e}deleteList(t){this.clear(t);const e=this.m_lists.getField(t,2),s=this.m_lists.getField(t,3);return e!==pt.st_nullNode()?this.setNextList_(e,s):this.m_listOfLists=s,s!==pt.st_nullNode()&&this.setPrevList_(s,e),this.freeList_(t),s}reserveLists(t){g(0)}getListData(t){return this.m_lists.getField(t,5)}getList(t){return g(0),0}setListData(t,e){this.m_lists.setField(t,5,e)}addElement(t,e){return this.insertElement(t,-1,e)}insertElement(t,e,s){const i=this.newNode_();let n=-1;e!==pt.st_nullNode()&&(n=this.getPrev(e),this.setPrev_(e,i)),this.setNext_(i,e),n!==pt.st_nullNode()&&this.setNext_(n,i);if(e===this.m_lists.getField(t,0)&&this.m_lists.setField(t,0,i),e===pt.st_nullNode()){const e=this.m_lists.getField(t,1);this.setPrev_(i,e),-1!==e&&this.setNext_(e,i),this.m_lists.setField(t,1,i)}return this.setData(i,s),this.setListSize_(t,this.getListSize(t)+1),this.m_bStoreListIndexWithNode&&this.setList_(i,t),i}deleteElement(t,e){const s=this.getPrev(e),i=this.getNext(e);return s!==pt.st_nullNode()?this.setNext_(s,i):this.m_lists.setField(t,0,i),i!==pt.st_nullNode()?this.setPrev_(i,s):this.m_lists.setField(t,1,s),this.freeNode_(e),this.setListSize_(t,this.getListSize(t)-1),i}reserveNodes(t){this.m_listNodes.setCapacity(t)}getData(t){return this.m_listNodes.getField(t,0)}getElement(t){return this.getData(t)}setData(t,e){this.m_listNodes.setField(t,0,e)}getNext(t){return this.m_listNodes.getField(t,2)}getPrev(t){return this.m_listNodes.getField(t,1)}getFirst(t){return this.m_lists.getField(t,0)}getLast(t){return this.m_lists.getField(t,1)}static st_nullNode(){return-1}clear(t){if(void 0!==t){let e=this.getLast(t);for(;e!==pt.st_nullNode();){const t=e;e=this.getPrev(t),this.freeNode_(t)}return this.m_lists.setField(t,0,-1),this.m_lists.setField(t,1,-1),void this.setListSize_(t,0)}for(let e=this.getFirstList();-1!==e;)e=this.deleteList(e)}isEmpty(t){return g(0),!1}getNodeCount(){return this.m_listNodes.size()}getListCount(){return this.m_lists.size()}getListSize(t){return this.m_lists.getField(t,4)}getFirstList(){return this.m_listOfLists}getNextList(t){return this.m_lists.getField(t,3)}}class gt extends dt{constructor(t){super(),this.m_intervalTree=t}compare(t,e,s){const i=t.getElement(s),n=this.m_intervalTree.getValue_(e),r=this.m_intervalTree.getValue_(i);return n<r?-1:n===r?ft.isLeft_(e)&&ft.isRight_(i)?-1:ft.isLeft_(i)&&ft.isRight_(e)?1:0:1}}class ft{constructor(t){this.m_bEnvelopesRef=!1,this.m_intervals=[],this.m_envelopesRef=null,this.m_intervalNodes=new at(3),this.m_intervalHandles=[],this.m_endIndicesUnique=[],this.m_cCount=-1,this.m_root=-1,this.m_bSortIntervals=!1,this.m_bConstructing=!1,this.m_bConstructionEnded=!1,this.m_bOfflineDynamic=t,this.m_tertiaryNodes=new at(this.m_bOfflineDynamic?5:4),this.m_secondaryTreaps=new ct,this.m_secondaryTreaps.setComparator(new gt(this)),this.m_secondaryLists=new pt}addEnvelopesRef(t){this.reset_(!0,!0),this.m_bEnvelopesRef=!0,this.m_envelopesRef=t,this.m_bConstructing=!1,this.m_bConstructionEnded=!0,this.m_bOfflineDynamic||(this.insertIntervalsStatic_(),this.m_cCount=this.m_envelopesRef.length)}startConstruction(){this.reset_(!0,!1)}addInterval(t){this.m_bConstructing||N(""),this.m_intervals.push(t.clone())}addIntervalCoords(t,e){g(0)}endConstruction(){this.m_bConstructing||N(""),this.m_bConstructing=!1,this.m_bConstructionEnded=!0,this.m_bOfflineDynamic||(this.insertIntervalsStatic_(),this.m_cCount=this.m_intervals.length)}insert(t){if(this.m_bOfflineDynamic&&this.m_bConstructionEnded||N(""),-1===this.m_root){const t=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length;if(this.m_bSortIntervals){const e=new st(0);this.querySortedEndPointIndices_(e),this.m_endIndicesUnique.length=0,this.querySortedDuplicatesRemoved_(e),this.m_intervalHandles.length=t,this.m_intervalHandles.fill(-1),this.m_bSortIntervals=!1}else this.m_intervalHandles.fill(-1,0,t);this.m_root=this.createRoot_()}const e=this.insertIntervalEnd_(t<<1,this.m_root),s=this.getSecondaryFromInterval_(e),i=this.m_secondaryTreaps.addElement(1+(t<<1),s);this.setRightEnd_(e,i),this.m_intervalHandles[t]=e,this.m_cCount++}remove(t){this.m_bOfflineDynamic&&this.m_bConstructionEnded||N("");const e=this.m_intervalHandles[t];let s;-1===e&&f("the interval does not exist in the interval tree"),this.m_intervalHandles[t]=-1,this.m_cCount--;let i=this.getSecondaryFromInterval_(e),n=-1;n=this.m_secondaryTreaps.getTreapData(i),this.m_secondaryTreaps.deleteNode(this.getLeftEnd_(e),i),this.m_secondaryTreaps.deleteNode(this.getRightEnd_(e),i),s=this.m_secondaryTreaps.size(i),0===s&&(this.m_secondaryTreaps.deleteTreap(i),this.setSecondaryToTertiary_(n,-1)),this.m_intervalNodes.deleteElement(e);let r=this.getPptr_(n),h=this.getLptr_(n),o=this.getRptr_(n);for(;!(s>0||n===this.m_root||-1!==h&&-1!==o);)n===this.getLptr_(r)?-1!==h?(this.setLptr_(r,h),this.setPptr_(h,r),this.setLptr_(n,-1),this.setPptr_(n,-1)):-1!==o?(this.setLptr_(r,o),this.setPptr_(o,r),this.setRptr_(n,-1),this.setPptr_(n,-1)):(this.setLptr_(r,-1),this.setPptr_(n,-1)):-1!==h?(this.setRptr_(r,h),this.setPptr_(h,r),this.setLptr_(n,-1),this.setPptr_(n,-1)):-1!==o?(this.setRptr_(r,o),this.setPptr_(o,r),this.setRptr_(n,-1),this.setPptr_(n,-1)):(this.setRptr_(r,-1),this.setPptr_(n,-1)),this.m_tertiaryNodes.deleteElement(n),n=r,i=this.getSecondaryFromTertiary_(n),s=-1!==i?this.m_secondaryTreaps.size(i):0,h=this.getLptr_(n),o=this.getRptr_(n),r=this.getPptr_(n)}size(){return this.m_cCount}getIteratorQuery(t,e){return t instanceof r?new vt(this,t,e):(g(0),{})}getIterator(){return new vt(this)}querySortedEndPointIndices_(t){const e=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length;for(let s=0;s<2*e;s++)t.add(s);this.sortEndIndices_(t,0,2*e)}querySortedDuplicatesRemoved_(t){let e=Number.NaN;for(let s=0;s<t.size();s++){const i=t.read(s),n=this.getValue_(i);n!==e&&(this.m_endIndicesUnique.push(i),e=n)}}insertIntervalsStatic_(){const t=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length,s=new st(0);this.querySortedEndPointIndices_(s),this.m_endIndicesUnique.length=0,this.querySortedDuplicatesRemoved_(s),this.m_intervalNodes.setCapacity(t),this.m_secondaryLists.reserveNodes(2*t);const i=e(t,-1);this.m_root=this.createRoot_();for(let e=0;e<s.size();e++){const t=s.read(e);let n=i[t>>1];if(-1!==n){const e=this.getSecondaryFromInterval_(n);this.setRightEnd_(n,this.m_secondaryLists.addElement(e,t))}else n=this.insertIntervalEnd_(t,this.m_root),i[t>>1]=n}}createRoot_(){const t=this.calculateDiscriminantIndex1_(0,this.m_endIndicesUnique.length-1);return this.createTertiaryNode_(t)}insertIntervalEnd_(t,e){let s=-1,i=e,n=-1,r=-1,h=0,o=this.m_endIndicesUnique.length-1,a=0;const m=t>>1;let _=Number.NaN,l=Number.NaN,u=!0;const d=this.getMin_(m),c=this.getMax_(m);let p=-1;for(;u;){a=h+(o-h>>1),p=this.calculateDiscriminantIndex1_(h,o);const e=this.getDiscriminantFromIndex1_(p);if(c<e){if(-1!==i)if(p===this.getDiscriminantIndex1_(i))s=i,_=e,i=this.getLptr_(i),l=-1!==i?this.getDiscriminant_(i):Number.NaN;else if(l>e){const t=this.createTertiaryNode_(p);e<_?this.setLptr_(s,t):this.setRptr_(s,t),this.setRptr_(t,i),this.m_bOfflineDynamic&&(this.setPptr_(t,s),this.setPptr_(i,t)),s=t,_=e,i=-1,l=Number.NaN}o=a;continue}if(d>e){if(-1!==i)if(p===this.getDiscriminantIndex1_(i))s=i,_=e,i=this.getRptr_(i),l=-1!==i?this.getDiscriminant_(i):Number.NaN;else if(l<e){const t=this.createTertiaryNode_(p);e<_?this.setLptr_(s,t):this.setRptr_(s,t),this.setLptr_(t,i),this.m_bOfflineDynamic&&(this.setPptr_(t,s),this.setPptr_(i,t)),s=t,_=e,i=-1,l=Number.NaN}h=a+1;continue}let m=-1;m=-1===i||p!==this.getDiscriminantIndex1_(i)?this.createTertiaryNode_(p):i,n=this.getSecondaryFromTertiary_(m),-1===n&&(n=this.createSecondary_(m),this.setSecondaryToTertiary_(m,n));const g=this.addEndIndex_(n,t);r=this.createIntervalNode_(),this.setSecondaryToInterval_(r,n),this.setLeftEnd_(r,g),-1!==i&&p===this.getDiscriminantIndex1_(i)||(e<_?this.setLptr_(s,m):this.setRptr_(s,m),this.m_bOfflineDynamic&&this.setPptr_(m,s),-1!==i&&(l<e?this.setLptr_(m,i):this.setRptr_(m,i),this.m_bOfflineDynamic&&this.setPptr_(i,m))),u=!1;break}return r}createTertiaryNode_(t){const e=this.m_tertiaryNodes.newElement();return this.setDiscriminantIndex1_(e,t),e}createSecondary_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.createTreap(t):this.m_secondaryLists.createList(t)}createIntervalNode_(){return this.m_intervalNodes.newElement()}reset(){this.m_bOfflineDynamic&&this.m_bConstructionEnded||N(""),this.reset_(!1,this.m_bEnvelopesRef)}reset_(t,e){t?(this.m_bEnvelopesRef=!1,this.m_envelopesRef=null,this.m_bSortIntervals=!0,this.m_bConstructing=!0,this.m_bConstructionEnded=!1,this.m_endIndicesUnique.length=0,e?(this.m_intervals.length=0,this.m_bEnvelopesRef=!0):this.m_intervals.length=0):this.m_bSortIntervals=!1,this.m_bOfflineDynamic?this.m_secondaryTreaps.clear():this.m_secondaryLists.clear(),this.m_intervalNodes.deleteAll(!1),this.m_tertiaryNodes.deleteAll(!1),this.m_root=-1,this.m_cCount=0}getDiscriminant_(t){const e=this.getDiscriminantIndex1_(t);return this.getDiscriminantFromIndex1_(e)}getDiscriminantFromIndex1_(t){if(-1===t)return Number.NaN;if(t>0){const e=t-2,s=this.m_endIndicesUnique[e],i=this.m_endIndicesUnique[e+1];return.5*(this.getValue_(s)+this.getValue_(i))}const e=-t-2,s=this.m_endIndicesUnique[e];return this.getValue_(s)}calculateDiscriminantIndex1_(t,e){let s;if(t<e){s=t+(e-t>>1)+2}else s=-(t+2);return s}setDiscriminantIndex1_(t,e){this.m_tertiaryNodes.setField(t,0,e)}setSecondaryToTertiary_(t,e){this.m_tertiaryNodes.setField(t,1,e)}setLptr_(t,e){this.m_tertiaryNodes.setField(t,2,e)}setRptr_(t,e){this.m_tertiaryNodes.setField(t,3,e)}setPptr_(t,e){this.m_tertiaryNodes.setField(t,4,e)}setSecondaryToInterval_(t,e){this.m_intervalNodes.setField(t,0,e)}addEndIndex_(t,e){let s=-1;return s=this.m_bOfflineDynamic?this.m_secondaryTreaps.addElement(e,t):this.m_secondaryLists.addElement(t,e),s}setLeftEnd_(t,e){this.m_intervalNodes.setField(t,1,e)}setRightEnd_(t,e){this.m_intervalNodes.setField(t,2,e)}getFirst_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.getFirst(t):this.m_secondaryLists.getFirst(t)}getLast_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.getLast(t):this.m_secondaryLists.getLast(t)}static isLeft_(t){return!(1&t)}static isRight_(t){return!(1&~t)}getDiscriminantIndex1_(t){return this.m_tertiaryNodes.getField(t,0)}getSecondaryFromTertiary_(t){return this.m_tertiaryNodes.getField(t,1)}getLptr_(t){return this.m_tertiaryNodes.getField(t,2)}getRptr_(t){return this.m_tertiaryNodes.getField(t,3)}getPptr_(t){return this.m_tertiaryNodes.getField(t,4)}getSecondaryFromInterval_(t){return this.m_intervalNodes.getField(t,0)}getLeftEnd_(t){return this.m_intervalNodes.getField(t,1)}getRightEnd_(t){return this.m_intervalNodes.getField(t,2)}getMin_(t){return this.m_bEnvelopesRef?this.m_envelopesRef[t].xmin:this.m_intervals[t].vmin}getMax_(t){return this.m_bEnvelopesRef?this.m_envelopesRef[t].xmax:this.m_intervals[t].vmax}sortEndIndices_(t,e,s){const i=this,n={userSort(t,e,s){i.sortEndIndicesHelper_(s,t,e)},getValue:t=>i.getValue_(t)};(new ot).sort(t,e,s,n)}sortEndIndicesHelper_(t,e,s){t.sort(e,s,(t,e)=>{const s=this.getValue_(t),i=this.getValue_(e);return s<i||s===i&&ft.isLeft_(t)&&ft.isRight_(e)?-1:1})}getValue_(t){if(!this.m_bEnvelopesRef){const e=this.m_intervals[t>>1];return ft.isLeft_(t)?e.vmin:e.vmax}const e=this.m_envelopesRef[t>>1];return ft.isLeft_(t)?e.xmin:e.xmax}}class vt{constructor(t,e,s){this.m_query=r.constructEmpty(),this.m_tertiaryHandle=-1,this.m_nextTertiaryHandle=-1,this.m_forkedHandle=-1,this.m_currentEndHandle=-1,this.m_nextEndHandle=-1,this.m_tertiaryStack=[],this.m_functionIndex=0,this.m_intervalTree=t,this.m_functionStack=new Array(2),this.m_functionStack[0]=this.nullFunc_,this.m_functionStack[1]=this.nullFunc_,void 0!==e&&this.resetIterator(e,s)}nullFunc_(){return b("should not be called"),!1}resetIterator(t,e){if("number"==typeof t){const s=new r;s.setCoords(t,t),this.resetIterator(s,e)}else void 0===e&&(e=0),this.m_query.vmin=t.vmin-e,this.m_query.vmax=t.vmax+e,this.m_tertiaryStack.length=0,this.m_functionIndex=0,this.m_functionStack[0]=this.initialize_}next(){if(this.m_intervalTree.m_bConstructionEnded||N(""),this.m_functionIndex<0)return-1;for(;this.m_fi=this.m_functionStack[this.m_functionIndex],this.m_fi(););return-1!==this.m_currentEndHandle?this.getCurrentEndIndex_()>>1:-1}initialize_(){return this.m_tertiaryHandle=-1,this.m_nextTertiaryHandle=-1,this.m_forkedHandle=-1,this.m_currentEndHandle=-1,this.m_intervalTree.m_tertiaryNodes.size()>0?(this.m_functionStack[0]=this.pIn_,this.m_nextTertiaryHandle=this.m_intervalTree.m_root,!0):(this.m_functionIndex=-1,!1)}pIn_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionIndex=-1,this.m_currentEndHandle=-1,!1;const t=this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle);if(this.m_query.vmax<t){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.left_),!0}if(t<this.m_query.vmin){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getLast_(t),this.m_functionStack[++this.m_functionIndex]=this.right_),!0}this.m_functionStack[this.m_functionIndex]=this.pL_,this.m_forkedHandle=this.m_tertiaryHandle;const e=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==e&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(e),this.m_functionStack[++this.m_functionIndex]=this.all_),!0}pL_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionStack[this.m_functionIndex]=this.pR_,this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_forkedHandle),!0;if(this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle)<this.m_query.vmin){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getLast_(t),this.m_functionStack[++this.m_functionIndex]=this.right_),!0}const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.all_);const e=this.m_intervalTree.getRptr_(this.m_tertiaryHandle);return-1!==e&&this.m_tertiaryStack.push(e),!0}pR_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionStack[this.m_functionIndex]=this.pT_,!0;const t=this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle);if(this.m_query.vmax<t){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.left_),!0}const e=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==e&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(e),this.m_functionStack[++this.m_functionIndex]=this.all_);const s=this.m_intervalTree.getLptr_(this.m_tertiaryHandle);return-1!==s&&this.m_tertiaryStack.push(s),!0}pT_(){if(0===this.m_tertiaryStack.length)return this.m_functionIndex=-1,this.m_currentEndHandle=-1,!1;this.m_tertiaryHandle=this.m_tertiaryStack.at(-1),this.m_tertiaryStack.pop();const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.all_),-1!==this.m_intervalTree.getLptr_(this.m_tertiaryHandle)&&this.m_tertiaryStack.push(this.m_intervalTree.getLptr_(this.m_tertiaryHandle)),-1!==this.m_intervalTree.getRptr_(this.m_tertiaryHandle)&&this.m_tertiaryStack.push(this.m_intervalTree.getRptr_(this.m_tertiaryHandle)),!0}left_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&ft.isLeft_(this.getCurrentEndIndex_())&&this.m_intervalTree.getValue_(this.getCurrentEndIndex_())<=this.m_query.vmax?(this.m_nextEndHandle=this.getNext_(),!1):(this.m_functionIndex--,!0)}right_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&ft.isRight_(this.getCurrentEndIndex_())&&this.m_intervalTree.getValue_(this.getCurrentEndIndex_())>=this.m_query.vmin?(this.m_nextEndHandle=this.getPrev_(),!1):(this.m_functionIndex--,!0)}all_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&ft.isLeft_(this.getCurrentEndIndex_())?(this.m_nextEndHandle=this.getNext_(),!1):(this.m_functionIndex--,!0)}getNext_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getNext(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getNext(this.m_currentEndHandle)}getPrev_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getPrev(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getPrev(this.m_currentEndHandle)}getCurrentEndIndex_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getElement(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getData(this.m_currentEndHandle)}}class yt{constructor(){this.m_tolerance=0,this.m_sweepIndexRed=-1,this.m_sweepIndexBlue=-1,this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_intervalTreeRed=null,this.m_intervalTreeBlue=null,this.m_iteratorRed=null,this.m_iteratorBlue=null,this.m_envelopesRed=[],this.m_envelopesBlue=[],this.m_elementsRed=[],this.m_elementsBlue=[],this.m_sortedEndIndicesRed=new st(0),this.m_sortedEndIndicesBlue=new st(0),this.m_queuedListRed=-1,this.m_queuedListBlue=-1,this.m_queuedEnvelopes=new pt,this.m_queuedIndicesRed=[],this.m_queuedIndicesBlue=[],this.m_bAddRed=!1,this.m_bAddBlue=!1,this.m_bAddRedRed=!1,this.m_bDone=!0,this.m_function=this.nullFunc_,this.reset_()}startConstruction(){this.reset_(),this.m_bAddRedRed=!0,this.m_elementsRed.length=0,this.m_envelopesRed.length=0}addEnvelope(t,e){this.m_bAddRedRed||N(""),this.m_elementsRed.push(t),this.m_envelopesRed.push(new p(e))}endConstruction(){this.m_bAddRedRed||N(""),this.m_bAddRedRed=!1,this.m_envelopesRed.length>0&&(this.m_function=this.initialize_,this.m_bDone=!1)}startRedConstruction(){this.reset_(),this.m_bAddRed=!0,this.m_elementsRed.length=0,this.m_envelopesRed.length=0}addRedEnvelope(t,e){this.m_bAddRed||N(""),this.m_elementsRed.push(t),this.m_envelopesRed.push(e.clone())}endRedConstruction(){this.m_bAddRed||N(""),this.m_bAddRed=!1,this.m_envelopesRed.length>0&&this.m_envelopesBlue.length>0&&(this.m_function===this.nullFunc_||this.m_function===this.initializeBlue_?this.m_function=this.initializeRedBlue_:this.m_function!==this.initializeRedBlue_&&(this.m_function=this.initializeRed_),this.m_bDone=!1)}startBlueConstruction(){this.reset_(),this.m_bAddBlue=!0,this.m_elementsBlue.length=0,this.m_envelopesBlue.length=0}addBlueEnvelope(t,e){this.m_bAddBlue||N(""),this.m_elementsBlue.push(t),this.m_envelopesBlue.push(e.clone())}endBlueConstruction(){this.m_bAddBlue||N(""),this.m_bAddBlue=!1,this.m_envelopesRed.length>0&&this.m_envelopesBlue.length>0&&(this.m_function===this.nullFunc_||this.m_function===this.initializeRed_?this.m_function=this.initializeRedBlue_:this.m_function!==this.initializeRedBlue_&&(this.m_function=this.initializeBlue_),this.m_bDone=!1)}next(){if(this.m_bDone)return!1;for(;this.m_function(););return!this.m_bDone}getHandleA(){return this.m_envelopeHandleA}getHandleB(){return this.m_envelopeHandleB}setTolerance(t){this.m_tolerance=t}getElement(t){return this.m_elementsRed[t]}getRedEnvelope(t){return this.m_envelopesRed[t]}getBlueEnvelope(t){return this.m_envelopesBlue[t]}getRedElement(t){return this.m_elementsRed[t]}getBlueElement(t){return this.m_elementsBlue[t]}isTop_(t){return!(1&~t)}isBottom_(t){return!(1&t)}reset_(){this.m_bAddRed=!1,this.m_bAddBlue=!1,this.m_bAddRedRed=!1,this.m_sweepIndexRed=-1,this.m_sweepIndexBlue=-1,this.m_queuedListRed=-1,this.m_queuedListBlue=-1,this.m_bDone=!0}initialize_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new ft(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),this.m_sortedEndIndicesRed.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,2*this.m_envelopesRed.length,!0),this.m_sweepIndexRed=2*this.m_envelopesRed.length,this.m_function=this.sweep_,!0}initializeRed_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new ft(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),this.m_sortedEndIndicesRed.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,this.m_sortedEndIndicesRed.size(),!0),this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),this.m_function=this.sweepRedBlue_,this.resetBlue_()}initializeBlue_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeBlue||(this.m_intervalTreeBlue=new ft(!0)),this.m_intervalTreeBlue.addEnvelopesRef(this.m_envelopesBlue),null==this.m_iteratorBlue&&(this.m_iteratorBlue=this.m_intervalTreeBlue.getIterator()),this.m_sortedEndIndicesBlue.resize(0);for(let t=0;t<2*this.m_envelopesBlue.length;t++)this.m_sortedEndIndicesBlue.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesBlue,0,this.m_sortedEndIndicesBlue.size(),!1),this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_function=this.sweepRedBlue_,this.resetRed_()}initializeRedBlue_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new ft(!0)),this.m_intervalTreeBlue||(this.m_intervalTreeBlue=new ft(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),this.m_intervalTreeBlue.addEnvelopesRef(this.m_envelopesBlue),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),null===this.m_iteratorBlue&&(this.m_iteratorBlue=this.m_intervalTreeBlue.getIterator()),this.m_sortedEndIndicesRed.resize(0),this.m_sortedEndIndicesBlue.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);for(let t=0;t<2*this.m_envelopesBlue.length;t++)this.m_sortedEndIndicesBlue.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,this.m_sortedEndIndicesRed.size(),!0),this.sortYEndIndices_(this.m_sortedEndIndicesBlue,0,this.m_sortedEndIndicesBlue.size(),!1),this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_function=this.sweepRedBlue_,!0}sweep_(){const t=this.m_sortedEndIndicesRed.read(--this.m_sweepIndexRed),e=t>>1;if(this.isBottom_(t))return this.m_intervalTreeRed.remove(e),0!==this.m_sweepIndexRed||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);const s=r.construct(this.m_envelopesRed[e].xmin,this.m_envelopesRed[e].xmax);return this.m_iteratorRed.resetIterator(s,this.m_tolerance),this.m_envelopeHandleA=e,this.m_function=this.iterate_,!0}sweepBruteForce_(){return-1===--this.m_sweepIndexRed?(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1):(this.m_envelopeHandleA=this.m_sweepIndexRed,this.m_sweepIndexBlue=this.m_sweepIndexRed,this.m_function=this.iterateBruteForce_,!0)}sweepRedBlueBruteForce_(){return-1===--this.m_sweepIndexRed?(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1):(this.m_envelopeHandleA=this.m_sweepIndexRed,this.m_sweepIndexBlue=this.m_envelopesBlue.length,this.m_function=this.iterateRedBlueBruteForce_,!0)}sweepRedBlue_(){const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed-1),e=this.m_sortedEndIndicesBlue.read(this.m_sweepIndexBlue-1),s=this.getAdjustedValue_(t,!0),i=this.getAdjustedValue_(e,!1);return s>i?this.sweepRed_():s<i?this.sweepBlue_():this.isTop_(t)?this.sweepRed_():this.isTop_(e)?this.sweepBlue_():this.sweepRed_()}sweepRed_(){const t=this.m_sortedEndIndicesRed.read(--this.m_sweepIndexRed),e=t>>1;if(this.isBottom_(t))return-1!==this.m_queuedListRed&&-1!==this.m_queuedIndicesRed[e]?(this.m_queuedEnvelopes.deleteElement(this.m_queuedListRed,this.m_queuedIndicesRed[e]),this.m_queuedIndicesRed[e]=-1):this.m_intervalTreeRed.remove(e),0!==this.m_sweepIndexRed||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);if(-1!==this.m_queuedListBlue&&this.m_queuedEnvelopes.getListSize(this.m_queuedListBlue)>0){let t=this.m_queuedEnvelopes.getFirst(this.m_queuedListBlue);for(;-1!==t;){const e=this.m_queuedEnvelopes.getData(t);this.m_intervalTreeBlue.insert(e),this.m_queuedIndicesBlue[e]=-1;const s=this.m_queuedEnvelopes.getNext(t);this.m_queuedEnvelopes.deleteElement(this.m_queuedListBlue,t),t=s}}if(this.m_intervalTreeBlue.size()>0){const t=r.construct(this.m_envelopesRed[e].xmin,this.m_envelopesRed[e].xmax);this.m_iteratorBlue.resetIterator(t,this.m_tolerance),this.m_envelopeHandleA=e,this.m_function=this.iterateBlue_}else-1===this.m_queuedListRed&&(c(this.m_queuedIndicesRed,this.m_envelopesRed.length,-1),this.m_queuedListRed=this.m_queuedEnvelopes.createList(1)),this.m_queuedIndicesRed[e]=this.m_queuedEnvelopes.addElement(this.m_queuedListRed,e),this.m_function=this.sweepRedBlue_;return!0}sweepBlue_(){const t=this.m_sortedEndIndicesBlue.read(--this.m_sweepIndexBlue),e=t>>1;if(this.isBottom_(t))return-1!==this.m_queuedListBlue&&-1!==this.m_queuedIndicesBlue[e]?(this.m_queuedEnvelopes.deleteElement(this.m_queuedListBlue,this.m_queuedIndicesBlue[e]),this.m_queuedIndicesBlue[e]=-1):this.m_intervalTreeBlue.remove(e),0!==this.m_sweepIndexBlue||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);if(-1!==this.m_queuedListRed&&this.m_queuedEnvelopes.getListSize(this.m_queuedListRed)>0){let t=this.m_queuedEnvelopes.getFirst(this.m_queuedListRed);for(;-1!==t;){const e=this.m_queuedEnvelopes.getData(t);this.m_intervalTreeRed.insert(e),this.m_queuedIndicesRed[e]=-1;const s=this.m_queuedEnvelopes.getNext(t);this.m_queuedEnvelopes.deleteElement(this.m_queuedListRed,t),t=s}}if(this.m_intervalTreeRed.size()>0){const t=r.construct(this.m_envelopesBlue[e].xmin,this.m_envelopesBlue[e].xmax);this.m_iteratorRed.resetIterator(t,this.m_tolerance),this.m_envelopeHandleB=e,this.m_function=this.iterateRed_}else-1===this.m_queuedListBlue&&(c(this.m_queuedIndicesBlue,this.m_envelopesBlue.length,-1),this.m_queuedListBlue=this.m_queuedEnvelopes.createList(0)),this.m_queuedIndicesBlue[e]=this.m_queuedEnvelopes.addElement(this.m_queuedListBlue,e),this.m_function=this.sweepRedBlue_;return!0}iterate_(){if(this.m_envelopeHandleB=this.m_iteratorRed.next(),-1!==this.m_envelopeHandleB)return!1;const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed)>>1;return this.m_intervalTreeRed.insert(t),this.m_function=this.sweep_,!0}iterateRed_(){if(this.m_envelopeHandleA=this.m_iteratorRed.next(),-1!==this.m_envelopeHandleA)return!1;this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1;const t=this.m_sortedEndIndicesBlue.read(this.m_sweepIndexBlue)>>1;return this.m_intervalTreeBlue.insert(t),this.m_function=this.sweepRedBlue_,!0}iterateBlue_(){if(this.m_envelopeHandleB=this.m_iteratorBlue.next(),-1!==this.m_envelopeHandleB)return!1;const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed)>>1;return this.m_intervalTreeRed.insert(t),this.m_function=this.sweepRedBlue_,!0}iterateBruteForce_(){if(-1===--this.m_sweepIndexBlue)return this.m_function=this.sweepBruteForce_,!0;const t=this.m_envelopesRed[this.m_sweepIndexRed].clone(),e=this.m_envelopesRed[this.m_sweepIndexBlue];return t.inflateCoords(this.m_tolerance,this.m_tolerance),!t.isIntersecting(e)||(this.m_envelopeHandleB=this.m_sweepIndexBlue,!1)}iterateRedBlueBruteForce_(){if(-1===--this.m_sweepIndexBlue)return this.m_function=this.sweepRedBlueBruteForce_,!0;const t=this.m_envelopesRed[this.m_sweepIndexRed].clone(),e=this.m_envelopesBlue[this.m_sweepIndexBlue];return t.inflateCoords(this.m_tolerance,this.m_tolerance),!t.isIntersecting(e)||(this.m_envelopeHandleB=this.m_sweepIndexBlue,!1)}resetRed_(){return this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),this.m_intervalTreeRed.size()>0&&this.m_intervalTreeRed.reset(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),this.m_bDone=!1,!0}resetBlue_(){return this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),this.m_intervalTreeBlue.size()>0&&this.m_intervalTreeBlue.reset(),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_bDone=!1,!0}nullFunc_(){return b("should not be called"),!1}sortYEndIndices_(t,e,s,i){const n=this,r={userSort(t,e,s){n.sortYEndIndicesHelper_(s,t,e,i)},getValue:t=>n.getAdjustedValue_(t,i)};(new ot).sort(t,e,s,r)}sortYEndIndicesHelper_(t,e,s,i){t.sort(e,s,(t,e)=>{const s=this.getAdjustedValue_(t,i),n=this.getAdjustedValue_(e,i);return s<n||s===n&&this.isBottom_(t)&&this.isTop_(e)?-1:1})}getAdjustedValue_(t,e){const s=.5*this.m_tolerance;if(e){const e=this.m_envelopesRed[t>>1];return this.isBottom_(t)?e.ymin-s:e.ymax+s}const i=this.m_envelopesBlue[t>>1];return this.isBottom_(t)?i.ymin-s:i.ymax+s}}var xt=z;class Et{constructor(t,e){this.tolerance=void 0!==t?t:Number.NaN,this.resolution=void 0!==e?e:Number.NaN}add(t){return new Et(this.tolerance+t,this.resolution)}scale(t){return new Et(this.tolerance*t,this.resolution*t)}total(){return this.tolerance+this.resolution}}function bt(t,e,i,n,r){const h=n*n,o=t.sub(e),a=i.sub(e),m=o.sqrLength(),_=a.sqrLength();if(m<=h||_<=h)return!0;const l=s(o.crossProduct(a));if(l<=h*m||l<=h*_){return o.dotProduct(a)>=0}return!1}function Nt(t,e,s){return i=>0===s?(i+t)*e:1*(i-t*e)/e}function Dt(t,e){const s=new p;return t.queryLooseEnvelope(s),s.mergeEnvelope2D(e),s}function It(t,e){const s=p.constructEmpty();t.queryLooseEnvelope(s);const i=p.constructEmpty();return e.queryLooseEnvelope(i),s.mergeEnvelope2D(i),s}function Ct(t,e){return(Number.isFinite(t)||Number.isNaN(t))&&(Number.isFinite(e)||Number.isNaN(e))}function Tt(t,e){return Number.isFinite(t)&&Number.isFinite(e)}function Rt(t,e,s){const i=p.constructEmpty();i.setFromPoints(t,e);return St(0,null,i.calculateToleranceFromEnvelope(),s,!1)}function At(t,e,s){return St(0,t,e.calculateToleranceFromEnvelope(),s,!1)}function qt(t,e,s){return St(1,t,e.calculateToleranceFromEnvelope(),s,!1)}function wt(t,e,s){return qt(t,e.queryInterval(1,0),s)}function Bt(t,e,s){const i=p.constructEmpty();return e.queryEnvelope(i),At(t,i,s)}function zt(t,e,s=!1){return St(0,t,e.calculateToleranceFromEnvelope(),s,!0).total()}function Lt(t,e,s){const i=p.constructEmpty();return e.queryEnvelope(i),zt(t,i,s)}function St(t,e,s,i,n){const r=new Et(0,0);if(null!==e&&(r.tolerance=e.getTolerance(t),(!n||i)&&null!==e)){const s=e.getResolution(t);r.resolution=s,i&&(r.resolution*=2)}i&&(s*=4,r.tolerance*=1.01,r.resolution*=1.01);return r.total()<s?new Et(s,0):r}function Ft(t){return Math.sqrt(2)*(2*t.tolerance+t.resolution)}function Pt(t){return Math.sqrt(2)*(t.tolerance+t.resolution)}function Ht(t){return t>=3}function Vt(t,e){const s=[0];return t.getImpl().getIsSimple(e,s)>=3}function kt(t,e){t.getImpl().setIsSimple(3,e)}function Mt(t,e,n,r){if(s(e.x-t.x)+s(e.y-t.y)<=n*n){const s=t.z,n=e.z;return i(s,n,r)}return!1}function Ot(t){return t>=4}function Yt(t,e){return t===y.enumPolygon?Ht(e):e>=1}function Xt(t,e,s){const i=p.constructEmpty(),n=p.constructEmpty();t.queryLooseEnvelope(i),e.queryLooseEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=p.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const h=t.querySegmentIterator(),o=e.querySegmentIterator(),a=p.constructEmpty(),m=p.constructEmpty(),_=new yt;_.setTolerance(s);let l=!1;for(_.startRedConstruction();h.nextPath();)for(;h.hasNextSegment();){h.nextSegment().queryLooseEnvelope(a),a.isIntersecting(r)&&(l=!0,_.addRedEnvelope(h.getStartPointIndex(),a))}if(_.endRedConstruction(),!l)return null;let u=!1;for(_.startBlueConstruction();o.nextPath();)for(;o.hasNextSegment();){o.nextSegment().queryLooseEnvelope(m),m.isIntersecting(r)&&(u=!0,_.addBlueEnvelope(o.getStartPointIndex(),m))}return _.endBlueConstruction(),u?_:null}function Gt(t,e,s,i,n){t.getGeometryType(),e.getGeometryType();const r=p.constructEmpty(),h=p.constructEmpty();t.queryLooseEnvelope(r),e.queryLooseEnvelope(h),r.inflateCoords(s,s),h.inflateCoords(s,s);const o=p.constructEmpty();o.setCoords({env2D:r}),o.intersect(h);const a=new yt;a.setTolerance(s);let m=!1;a.startRedConstruction();for(let l=0,u=t.getPathCount();l<u;l++)t.queryLoosePathEnvelope(l,r),r.isIntersecting(o)&&(m=!0,a.addRedEnvelope(l,r));if(a.endRedConstruction(),!m)return null;let _=!1;a.startBlueConstruction();for(let l=0,u=e.getPathCount();l<u;l++)e.queryLoosePathEnvelope(l,h),h.isIntersecting(o)&&(_=!0,a.addBlueEnvelope(l,h));return a.endBlueConstruction(),_?a:null}function Ut(t,e,s){const i=p.constructEmpty(),n=p.constructEmpty();t.queryLooseEnvelope(i),e.queryEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=p.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const h=t.querySegmentIterator(),o=new yt;o.setTolerance(s);let a=!1;for(o.startRedConstruction();h.nextPath();)for(;h.hasNextSegment();){h.nextSegment().queryLooseEnvelope(i),i.isIntersecting(r)&&(a=!0,o.addRedEnvelope(h.getStartPointIndex(),i))}if(o.endRedConstruction(),!a)return null;let m=!1;o.startBlueConstruction();for(let _=0,l=e.getPointCount();_<l;_++){const t=e.getXY(_);r.contains(t)&&(m=!0,o.addBlueEnvelope(_,p.construct(t.x,t.y,t.x,t.y)))}return o.endBlueConstruction(),m?o:null}function Zt(t,e,s){const i=p.constructEmpty(),n=p.constructEmpty();t.queryEnvelope(i),e.queryEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=p.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const h=new yt;h.setTolerance(s);let a=!1;h.startRedConstruction();const m=new o;for(let o=0,u=t.getPointCount();o<u;o++)t.queryXY(o,m),r.contains(m)&&(a=!0,h.addRedEnvelope(o,p.construct(m.x,m.y,m.x,m.y)));if(h.endRedConstruction(),!a)return null;let _=!1;h.startBlueConstruction();const l=new o;for(let o=0,u=e.getPointCount();o<u;o++)e.queryXY(o,l),r.contains(l)&&(_=!0,h.addBlueEnvelope(o,p.construct(l.x,l.y,l.x,l.y)));return h.endBlueConstruction(),_?h:null}function Qt(t){const e=new p;return t.queryLooseEnvelope(e),e.inflateCoords(1,1),jt(t,e)}function jt(t,e,s){const i=new p;if(t.queryLooseEnvelope(i),i.isEmpty())return null;t.getGeometryType();const n=new _t(i,8);let r=-1;const h=new p;let o=!1;do{for(let s=0,a=t.getPathCount();s<a;s++)if(t.queryLoosePathEnvelope(s,h),h.isIntersecting(e)){if(r=n.insertEx(s,h,r),-1===r){o&&b("build_quad_tree_for_paths"),i.assign(t.calculateEnvelope2D(!1)),o=!0,n.reset(i,8);break}o=!1}}while(o);return n}function Wt(t,e){if(!e){const e=new p;t.queryLooseEnvelope(e);const s=new _t(e,8);let i=-1;const n=new p,r=t.querySegmentIterator();let h=!1;for(;r.nextPath();)for(;r.hasNextSegment();){const o=r.nextSegment(),a=r.getStartPointIndex();if(o.queryLooseEnvelope(n),i=s.insertEx(a,n,i),-1===i){h&&b(""),e.assign(t.calculateEnvelope2D(!1)),h=!0,s.reset(e,8),r.resetToFirstPath();break}}return s}const s=new p;t.queryLooseEnvelope(s);const i=new _t(s,8);let n=-1;const r=new p,h=t.querySegmentIterator();let o=!1;for(;h.nextPath();)for(;h.hasNextSegment();){const a=h.nextSegment(),m=h.getStartPointIndex();if(a.queryLooseEnvelope(r),r.isIntersecting(e)&&(n=i.insertEx(m,r,n),-1===n)){o&&b(""),s.assign(t.calculateEnvelope2D(!1)),o=!0,i.reset(s,8),h.resetToFirstPath();break}}return i}function Jt(t,e){if(e){const s=new _t(e,8),i=new o,n=new p;let r=!1;for(let h=0;h<t.getPointCount();h++){if(i.setCoordsPoint2D(t.getXY(h)),!e.contains(i))continue;n.setCoords({pt:i});-1!==s.insert(h,n)||(r&&b(""),r=!0,s.reset(t.calculateEnvelope2D(),8),h=-1)}return s}return x("no-extent version not yet impl"),null}function Kt(t,e,s,i,n){let r=!1;const h=n.vmin,o=n.vmax;for(let a=s;a<e;a+=i){const e=t.read(a);e<h?(r=!0,t.write(a,h)):e>o&&(r=!0,t.write(a,o))}return r}function $t(t,e,s,i){if(!t.hasAttribute(s))return!1;const n=t.getGeometryType();if(n===y.enumGeometryCollection){const n=t,r=n.getGeometryCount();let h=0;for(let t=0;t<r;++t){h|=$t(n.getGeometry(t),e,s,i)?1:0}return!!h}if(D(n)){const n=t,r=xt.getPersistence(s),h=xt.getComponentCount(s),o=n.getPointCount();if(1===r){const t=Kt(n.getAttributeStreamRef(s),o*h,i,h,e);return t&&n.notifyModified(),t}if(2===r){const t=Kt(n.getAttributeStreamRef(s),o*h,i,h,e);return t&&n.notifyModified(),t}b("snap_coordinate not implemented")}if(n===y.enumEnvelope){const n=t,r=n.queryInterval(s,i);let h=!1;return r.vmin<e.vmin&&(h=!0,r.vmin=e.vmin),r.vmax>e.vmax&&(h=!0,r.vmax=e.vmax),h&&n.setIntervalEnvelope(s,i,r),h}if(n===y.enumPoint){const n=t;let r=n.getAttributeAsDbl(s,i),h=!1;return r<e.vmin&&(h=!0,r=e.vmin),r>e.vmax&&(h=!0,r=e.vmax),h&&n.setAttributeBasic(s,i,r),h}if(I(n)){const n=t;let r=n.getStartAttributeAsDbl(s,i),h=!1;return r<e.vmin&&(h=!0,r=e.vmin),r>e.vmax&&(h=!0,r=e.vmax),h&&n.setStartAttribute(s,i,r),r=n.getEndAttributeAsDbl(s,i),r<e.vmin&&(h=!0,r=e.vmin),r>e.vmax&&(h=!0,r=e.vmax),h&&n.setEndAttribute(s,i,r),h}b("snap_coordinate not implemented")}var te=z;class ee{constructor(t){if(this.m_description=null,this.x=Number.NaN,this.y=Number.NaN,this.m_attribs=null,t){if(!t.copy)return t.move?(this.m_description=t.move.m_description,t.move.m_description=null,this.m_attribs=t.move.m_attribs,t.move.m_attribs=null,this.x=t.move.x,void(this.y=t.move.y)):t.vd?(this.m_description=t.vd,void(t.attribBuffer?(this.m_attribs=t.attribBuffer,t.initDefaultValues&&this.setDefaultAttributeValues()):this.ensureAttributes())):t.pt?(this.m_description=M(),void this.setXY(t.pt)):void("x"in t&&("z"in t?(this.m_description=O(),this.ensureAttributes(),this.setXYZ(new X(t.x,t.y,t.z))):(this.m_description=M(),this.setXYCoords(t.x,t.y))));t.copy.copyTo(this)}else this.m_description=M()}assignCopy(t){return this.m_attribs=null,t.copyTo(this),this}assignMove(t){return this.m_attribs=null,t.copyTo(this),t.setEmpty(),this}getXY(){return new o(this.x,this.y)}queryXY(t){t.x=this.x,t.y=this.y}setXY(t){this.x=t.x,this.y=t.y}setXYCoords(t,e){this.x=t,this.y=e}getXYZ(){const t=new X;return t.x=this.x,t.y=this.y,t.z=this.getZ(),t}setXYZ(t){this.addAttribute(1),this.x=t.x,this.y=t.y,this.m_attribs[0]=t.z}getX(){return this.x}setX(t){this.x=t}getY(){return this.y}setY(t){this.y=t}getZ(){return this.m_description.hasZ()?this.m_attribs[0]:te.getDefaultValue(1)}setZ(t){this.addAttribute(1),this.m_attribs[0]=t}getM(){return this.getAttributeAsDbl(2,0)}setM(t){this.addAttribute(2),this.m_description.hasZ()?this.m_attribs[1]=t:this.m_attribs[0]=t}getID(){return this.getAttributeAsInt(3,0)}setID(t){this.setAttributeBasic(3,0,t)}isEqualXY(t,e){return void 0===e&&(e=0),Math.abs(t.x-this.x)<=e&&Math.abs(t.y-this.y)<=e}isEqualXYCoords(t,e,s){return void 0===s&&(s=0),Math.abs(t-this.x)<=s&&Math.abs(e-this.y)<=s}getAttributeAsDbl(t,e){if(0===t){if(0===e)return this.x;if(1===e)return this.y;v("")}const s=te.getComponentCount(t);(e<0||e>=s)&&v("");const i=this.m_description.getAttributeIndex(t);return i>=0?this.m_attribs[this.m_description.getPointAttributeOffset(i)-2+e]:te.getDefaultValue(t)}getAttributeAsInt(t,e){return Math.trunc(this.getAttributeAsDbl(t,e))}setAttributeBasic(t,e,s){if(0===t)return void(0===e?this.x=s:1===e?this.y=s:v(""));const i=te.getComponentCount(t);(e<0||e>=i)&&v("");let n=this.m_description.getAttributeIndex(t);n<0&&(this.addAttribute(t),n=this.m_description.getAttributeIndex(t)),this.m_attribs[this.m_description.getPointAttributeOffset(n)-2+e]=s}copyAttributesFrom(t,e){if(this===t)return;const s=t.getDescription();for(let i=e&&s.hasZ()?2:1,n=s.getAttributeCount();i<n;++i){const e=s.getSemantics(i),n=te.getComponentCount(e);for(let s=0;s<n;++s){const i=t.getAttributeAsDbl(e,s);this.setAttributeBasic(e,s,i)}}}getAttributeArray(){return this.m_attribs}getDescription(){return this.m_description}assignVertexDescription(t){this.m_description!==t&&this.assignVertexDescriptionImpl(t)}mergeVertexDescription(t){this.m_description!==t&&(this.m_description.hasAttributesFrom(t)||this.mergeVertexDescriptionImpl(t))}hasAttribute(t){return this.m_description.hasAttribute(t)}addAttribute(t){if(this.m_description.hasAttribute(t))return;const e=V(this.m_description,t);this.assignVertexDescription(e)}dropAttribute(t){if(!this.m_description.hasAttribute(t))return;const e=k(this.m_description,t);this.assignVertexDescription(e)}dropAllAttributes(){const t=M();t!==this.m_description&&this.assignVertexDescription(t)}getGeometryType(){return y.enumPoint}getDimension(){return 0}queryEnvelope(t){if(t instanceof re)return t.setEmpty(),t.assignVertexDescription(this.m_description),void t.merge(this);if(t instanceof G){if(this.isEmpty())return void t.setEmpty();const e=this.getXYZ();return t.xmin=e.x,t.ymin=e.y,t.zmin=e.z,t.xmax=e.x,t.ymax=e.y,void(t.zmax=e.z)}this.isEmpty()?t.setEmpty():(t.xmin=this.x,t.ymin=this.y,t.xmax=this.x,t.ymax=this.y)}queryLooseEnvelope(t){this.queryEnvelope(t)}queryInterval(t,e){const s=new r;if(this.isEmpty())return s.setEmpty(),s;const i=this.getAttributeAsDbl(t,e);return s.vmin=i,s.vmax=i,s}applyTransformation(t){if(!this.isEmpty()){if(1===t.m_TransformationType){const e=this.getXY();return t.transformInPlace(e),void this.setXY(e)}x("3d not impl")}}transformAttribute(t,e,s,i,n){if(this.isEmpty())return;this.addAttribute(t);const r=this.getAttributeAsDbl(t,e),h=Nt(s,i,n);this.setAttributeBasic(t,e,h(r))}createInstance(){return new ee({vd:this.m_description})}copyTo(t){if(this===t)return;t.getGeometryType()!==y.enumPoint&&f();const e=t;e.x=this.x,e.y=this.y,this.m_attribs?(e.assignVertexDescription(this.m_description),e.m_attribs=this.m_attribs.slice()):(e.releaseAttributes(),e.assignVertexDescription(this.m_description))}isEmpty(){return Number.isNaN(this.x)||Number.isNaN(this.y)}setEmpty(){this.m_description||(this.m_description=M(),this.releaseAttributes()),this.x=Number.NaN,this.y=Number.NaN,this.m_attribs&&m(this.m_attribs,this.m_description.getDefaultPointAttributes(),0,2,this.m_description.getTotalComponentCount()-2)}calculateArea2D(){return 0}calculateLength2D(){return 0}calculateLength3D(t){return 0}equals(t,e){if(t===this)return!0;if(t.getGeometryType()!==y.enumPoint)return!1;const s=t;if(this.m_description!==s.m_description)return!1;if(this.isEmpty()!==s.isEmpty())return!1;if(this.isEmpty())return!0;if(void 0===e&&(e=0),Math.abs(this.x-s.x)>e)return!1;if(Math.abs(this.y-s.y)>e)return!1;for(let n=0,r=this.m_description.getTotalComponentCount()-2;n<r;n++)if(!i(this.m_attribs[n],s.m_attribs[n],e))return!1;return!0}getBoundary(){return null}clone(){const t=new ee({vd:this.m_description});return this.copyTo(t),t}swap(t){if(this===t)return;t.getGeometryType()!==y.enumPoint&&f("wrong geometry type");const e=t;e.m_description=h(this.m_description,this.m_description=e.m_description),e.x=h(this.x,this.x=e.x),e.y=h(this.y,this.y=e.y),e.m_attribs=h(this.m_attribs,this.m_attribs=e.m_attribs)}replaceNaNs(t,e){if(this.addAttribute(t),this.isEmpty())return;const s=te.getComponentCount(t);for(let i=0;i<s;i++){const s=this.getAttributeAsDbl(t,i);Number.isNaN(s)&&this.setAttributeBasic(t,i,e)}}lerp(t,e,s){if(t.getDescription()!==e.getDescription()&&f("Point.lerp"),this.assignVertexDescription(t.getDescription()),t.isEmpty()||e.isEmpty())return this.setEmpty(),this;this.ensureAttributes();const i=B();t.queryValues(i,i.length);const n=B();e.queryValues(n,n.length);const r=B();let h=i,o=n;const a=r;let m=0;for(let l=0,u=this.m_description.getAttributeCount();l<u;l++){const t=this.m_description.getSemantics(l),e=te.getInterpolation(t),i=te.getComponentCount(t),n=te.getDefaultValue(t);_(e,h,o,a,m,i,s,n),h=h.slice(i),o=o.slice(i),m+=i}return this.setValues(r,m),this}static lerp(t,e,s,i){i.lerp(t,e,s)}setDefaultAttributeValues(){const t=this.m_description.getTotalComponentCount()-2;t>0&&(this.m_attribs?m(this.m_attribs,this.m_description.getDefaultPointAttributes(),0,2,t):this.m_attribs=this.m_description.getDefaultPointAttributes().slice(2))}static sqrDistance2D(t,e){return o.sqrDistanceCoords(t.x,t.y,e.x,e.y)}getImpl(){return this}mergeVertexDescriptionImpl(t){const e=H(this.getDescription(),t);this.assignVertexDescription(e)}releaseAttributes(){this.m_attribs=null}assignVertexDescriptionImpl(t){this.m_description||(this.m_description=M());const e=S();Y(t,this.m_description,e);let s=null;t.getTotalComponentCount()-2>0&&(s=t.getDefaultPointAttributes().slice(2));for(let i=1,n=t.getAttributeCount();i<n;i++){const n=e[i];if(-1!==n){const e=this.m_description.getPointAttributeOffset(n)-2,r=t.getPointAttributeOffset(i)-2,h=te.getComponentCount(t.getSemantics(i));for(let t=0;t<h;t++)s[r+t]=this.m_attribs[e+t]}}this.m_attribs=s,this.m_description=t}ensureAttributes(){this.m_description.getTotalComponentCount()-2>0&&null===this.m_attribs&&(this.m_attribs=this.m_description.getDefaultPointAttributes().slice(2))}queryValues(t,e){const s=this.m_description.getTotalComponentCount();g(s<=e),t[0]=this.x,t[1]=this.y,m(t,this.m_attribs,2,0,s-2)}copyCommonAttributesTo(t){t.x=this.x,t.y=this.y;const e=t.getDescription();if(e===this.m_description)this.m_attribs&&m(t.m_attribs,this.m_attribs,0,0,this.m_description.getTotalComponentCount()-2);else{let s=0;for(let i=1,n=e.getAttributeCount();i<n;i++){const n=e.getSemantics(i);let r=te.getComponentCount(n);if(this.m_description.hasAttribute(n)){let e=this.m_description.getPointAttributeOffset(this.m_description.getAttributeIndex(n))-2;for(;0!==r;)t.m_attribs[s++]=this.m_attribs[e++],r--}else{const e=te.getDefaultValue(n);for(;0!==r;)t.m_attribs[s++]=e,r--}}}}setValues(t,e){const s=this.m_description.getTotalComponentCount();g(s<=e),this.x=t[0],this.y=t[1],m(this.m_attribs,t,0,2,s-2)}dbgDefaultAttribs(){}}ee.type=y.enumPoint;var se=z;function ie(t,e){return e*(t.getTotalComponentCount()-2)}class ne{constructor(t){if(this.m_attributes=null,t)if(void 0!==t.xmin)this.m_envelope2D=new p(t.xmin,t.ymin,t.xmax,t.ymax);else if(void 0!==t.env2D)this.m_envelope2D=new p(t.env2D);else if(t.move)this.m_envelope2D=new p(t.move.m_envelope2D),this.m_attributes=t.move.m_attributes,t.move.m_attributes=null;else{if(!t.moveEnv)throw new Error("unrecognized EnvelopeData constructor options");{const e=t.moveEnv.accessEnvelopeData();this.m_envelope2D=new p(e.m_envelope2D),this.m_attributes=e.m_attributes,e.m_attributes=null}}else this.m_envelope2D=p.constructEmpty()}ensureAttributes(t){const s=t.getTotalComponentCount()-2;!this.m_attributes&&s&&(this.m_attributes=e(2*s,Number.NaN),this.m_attributes.fill(Number.NaN))}copyTo(t,s){const i=s,n=t.getTotalComponentCount()-2;if(i.m_description!==t&&(i.releaseAttributes_(),i.m_description=t,n&&(i.m_data.m_attributes=e(2*n,Number.NaN))),n){g(this.m_attributes&&i.m_data.m_attributes);const t=2*n;m(i.m_data.m_attributes,this.m_attributes,0,0,t)}i.m_data.m_envelope2D=new p(this.m_envelope2D)}copyToIfNotNull(t,e){e.m_envelope2D=new p(this.m_envelope2D),e.releaseAttributes();t.getTotalComponentCount()-2&&this.m_attributes&&(e.m_attributes=this.m_attributes.slice())}releaseAttributes(){this.m_attributes=null}isEmpty(){return this.m_envelope2D.isEmpty()}transformAttribute(t,e,s,i,n){g(0)}queryInterval(t,e,s,i){if(this.isEmpty())return void i.setEmpty();if(0===e)return void(0===s?this.m_envelope2D.queryIntervalX(i):1===s?this.m_envelope2D.queryIntervalY(i):v(""));const n=se.getComponentCount(e);(s<0||s>=n)&&v("");const r=t.getAttributeIndex(e);if(r>=0)return i.vmin=this.m_attributes[ie(t,0)+t.getPointAttributeOffset(r)-2+s],void(i.vmax=this.m_attributes[ie(t,1)+t.getPointAttributeOffset(r)-2+s]);{const t=se.getDefaultValue(e);return void i.setCoords(t,t)}}queryEnvelope3D(t,e){const s=new r;this.queryInterval(t,1,0,s),e.setCoords(this.m_envelope2D.xmin,this.m_envelope2D.ymin,s.vmin,this.m_envelope2D.xmax,this.m_envelope2D.ymax,s.vmax)}setEmpty(t){this.m_envelope2D.setEmpty();const s=t.getTotalComponentCount()-2;s&&(this.m_attributes?this.dbgAssertSize(s):this.m_attributes=e(2*s,Number.NaN),this.m_attributes.fill(Number.NaN))}dbgAssertSize(t){}}let re=class t{constructor(t){if(this.m_EnvelopeType=4,this.m_description=M(),void 0===t)this.m_data=new ne;else if(void 0!==t.vd)this.m_description=t.vd,this.m_data=new ne,this.ensureAttributes_();else if(t?.env2D)this.m_data=new ne({env2D:t.env2D});else if(void 0!==t.xmin)this.m_data=new ne({xmin:t.xmin,ymin:t.ymin,xmax:t.xmax,ymax:t.ymax});else if(t.copy)this.m_data=new ne,t.copy.copyTo(this);else if(t.move)this.m_description=t.move.m_description,t.move.m_description=null,this.m_data=new ne({move:t.move.m_data});else{if(!t.centerPoint)throw new Error("unrecognized Envelope constructor options");this.m_description=t.centerPoint.getDescription(),this.m_data=new ne,this.ensureAttributes_(),this.setFromPoint(t.centerPoint,t.width,t.height)}}accessEnvelopeData(){return this.m_description=null,this.m_data}assignMove(t){return this===t||(this.m_description=t.m_description,t.m_description=null,this.m_data=new ne({move:t.m_data})),this}assignCopy(t){return this===t||t.copyTo(this),this}transformAttribute(t,e,s,i,n){g(0)}setAttributeBasic(t,e,s){if(this.addAttribute(t),this.m_data.isEmpty())return;const i=this.queryInterval(t,e);i.vmin=s,i.vmax=s,this.setIntervalEnvelope(t,e,i)}mergeVertexDescriptionImpl(t){const e=H(this.getDescription(),t);this.assignVertexDescription(e)}asEnvelope2D(){return new p(this.m_data.m_envelope2D)}assignVertexDescription(t){this.m_description!==t&&this.assignVertexDescriptionImpl(t)}getGeometryType(){return y.enumEnvelope}getDimension(){return 2}getXMin(){return this.m_data.m_envelope2D.xmin}getYMin(){return this.m_data.m_envelope2D.ymin}getXMax(){return this.m_data.m_envelope2D.xmax}getYMax(){return this.m_data.m_envelope2D.ymax}width(){return this.m_data.isEmpty()?Number.NaN:this.m_data.m_envelope2D.width()}height(){return this.m_data.isEmpty()?Number.NaN:this.m_data.m_envelope2D.height()}getCenterXY(){return this.m_data.isEmpty()?new o:this.m_data.m_envelope2D.getCenter()}getCenter(t){if(t.assignVertexDescription(this.m_description),this.m_data.isEmpty())return void t.setEmpty();const e=this.m_description.getAttributeCount();for(let s=1;s<e;s++){const e=this.m_description.getSemantics(s),i=se.getComponentCount(e);for(let s=0;s<i;s++){const i=.5*(this.getAttributeAsDblImpl(0,e,s)+this.getAttributeAsDblImpl(1,e,s));t.setAttributeBasic(e,s,i)}}t.setXY(this.m_data.m_envelope2D.getCenter())}setCoords(t,e,s,i){this.m_data.m_envelope2D.setCoords({xmin:t,ymin:e,xmax:s,ymax:i})}setEnvelope(t){if(t instanceof p)this.m_data.m_envelope2D=new p(t),this.m_data.m_envelope2D.normalize();else{this.addAttribute(1),this.m_data.m_envelope2D=t.getEnvelope2D(),this.m_data.m_envelope2D.normalize();const e=r.constructEmpty();e.setCoords(t.zmin,t.zmax),this.setInterval(1,0,e.vmin,e.vmax)}}merge(e){if(e instanceof p)return e.isValid()||f(""),void this.m_data.m_envelope2D.mergeEnvelope2D(e);if(e instanceof t){if(e.m_data.isEmpty())return;const t=e.getDescription();this.mergeVertexDescription(t),this.m_data.m_envelope2D.mergeEnvelope2D(e.m_data.m_envelope2D);for(let s=1,i=t.getAttributeCount();s<i;s++){const i=t.getSemantics(s),n=se.getComponentCount(i);for(let t=0;t<n;t++){const s=e.queryInterval(i,t),n=this.queryInterval(i,t);n.merge(s),this.setIntervalEnvelope(i,t,n)}}return}if(e instanceof ee){const t=e;if(t.isEmpty())return;const s=t.getDescription();if(this.mergeVertexDescription(s),this.m_data.isEmpty())return void this.setFromPoint(t);this.m_data.m_envelope2D.merge(t.getXY());for(let e=1,i=s.getAttributeCount();e<i;e++){const i=s.getSemantics(e),n=se.getComponentCount(i);for(let e=0;e<n;e++){const s=t.getAttributeAsDbl(i,e),n=this.queryInterval(i,e);n.mergeCoordinate(s),this.setIntervalEnvelope(i,e,n)}}return}x("unrecognized type for envelope.merge")}intersect(t){if(!this.m_data.m_envelope2D.intersect(t.m_data.m_envelope2D))return this.setEmpty(),!1;const e=t.getDescription();this.mergeVertexDescription(e);for(let s=1,i=this.m_description.getAttributeCount();s<i;s++){const e=this.m_description.getSemantics(s),i=se.getComponentCount(e);for(let s=0;s<i;s++){const i=t.queryInterval(e,s),n=this.queryInterval(e,s);n.intersect(i),this.setIntervalEnvelope(e,s,n)}}return!0}intersectCommonAttributes(t){if(!this.m_data.m_envelope2D.intersect(t.m_data.m_envelope2D))return this.setEmpty(),!1;const e=t.getDescription();for(let s=1,i=this.m_description.getAttributeCount();s<i;s++){const i=this.m_description.getSemantics(s);if(!e.hasAttribute(i))continue;const n=se.getComponentCount(i);for(let e=0;e<n;e++){const s=t.queryInterval(i,e),n=this.queryInterval(i,e);n.intersect(s),this.setIntervalEnvelope(i,e,n)}}return!0}move(t,e){this.m_data.m_envelope2D.move(t,e)}centerAt(t,e){this.m_data.m_envelope2D.centerAtCoords(t,e)}centerAtPoint(t){this.m_data.m_envelope2D.centerAt(t)}reaspect(t,e){this.m_data.m_envelope2D.reaspect(t,e)}inflateCoords(t,e){this.m_data.m_envelope2D.inflateCoords(t,e)}containsCoords(t,e){return this.m_data.m_envelope2D.containsCoords(t,e)}contains(t){return this.m_data.m_envelope2D.contains(t)}containsPoint(t){return!t.isEmpty()&&this.m_data.m_envelope2D.contains(t.getXY())}containsEnvelope(t){return this.m_data.m_envelope2D.containsEnvelope(t.m_data.m_envelope2D)}setIntervalEnvelope(t,e,s){if(this.addAttribute(t),this.m_data.isEmpty())return;const i=new r(s);if(i.normalize(),0===t){if(i.isEmpty())return void this.setEmpty();0===e?(this.m_data.m_envelope2D.xmin=i.vmin,this.m_data.m_envelope2D.xmax=i.vmax):1===e?(this.m_data.m_envelope2D.ymin=i.vmin,this.m_data.m_envelope2D.ymax=i.vmax):v("")}else this.setAttributeAsDblImpl(0,t,e,i.vmin),this.setAttributeAsDblImpl(1,t,e,i.vmax)}setInterval(t,e,s,i){this.setIntervalEnvelope(t,e,new r(s,i))}queryInterval(t,e){const s=new r;return this.m_data.queryInterval(this.m_description,t,e,s),s}queryEnvelope(t){2!==t.m_EnvelopeType?3!==t.m_EnvelopeType?4!==t.m_EnvelopeType?x("unrecognized type for queryEnveloper"):this.copyTo(t):this.m_data.queryEnvelope3D(this.m_description,t):t.setCoords({env2D:this.m_data.m_envelope2D})}applyTransformation(t){1!==t.m_TransformationType?g(0):t.transformEnvInPlace(this.m_data.m_envelope2D)}createInstance(){return new t({vd:this.m_description})}copyTo(t){t!==this&&this.m_data.copyTo(this.m_description,t)}isEmpty(){return this.m_data.isEmpty()}setEmpty(){this.m_description||(this.m_description=M()),this.m_data.setEmpty(this.m_description)}calculateArea2D(){return this.m_data.m_envelope2D.getArea()}calculateLength2D(){return this.m_data.m_envelope2D.getLength()}calculateLength3D(t){return g(0),0}equals(t,e){if(t===this)return!0;const s=t;if(this.m_description!==s.m_description)return!1;if(this.m_data.isEmpty()!==s.m_data.isEmpty())return!1;if(this.m_data.isEmpty())return!0;if(void 0===e&&(e=0),Math.abs(this.m_data.m_envelope2D.xmin-s.m_data.m_envelope2D.xmin)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.ymin-s.m_data.m_envelope2D.ymin)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.xmax-s.m_data.m_envelope2D.xmax)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.ymax-s.m_data.m_envelope2D.ymax)>e)return!1;for(let n=0,r=2*(this.m_description.getTotalComponentCount()-2);n<r;n++)if(!i(this.m_data.m_attributes[n],s.m_data.m_attributes[n],e))return!1;return!0}getBoundary(){return x("getBoundary not available in this context. Use the boundary operator with an envelope parameter"),null}clone(){return new t({copy:this})}swap(t){if(this===t)return;t.getGeometryType()!==y.enumEnvelope&&f("wrong geometry type");const e=t;e.m_description=h(this.m_description,this.m_description=e.m_description),e.m_data.m_envelope2D=h(this.m_data.m_envelope2D,this.m_data.m_envelope2D=e.m_data.m_envelope2D),e.m_data.m_attributes=h(this.m_data.m_attributes,this.m_data.m_attributes=e.m_data.m_attributes)}queryCoordinates(t){this.m_data.isEmpty()&&f(""),this.m_data.m_envelope2D.queryCorners(t)}queryCornerByVal(t,e){(t<0||t>3)&&v(""),e.assignVertexDescription(this.m_description);const s=this.getDescription().getAttributeCount();for(let i=1;i<s;i++){const s=this.m_description.getSemantics(i),n=se.getComponentCount(s);for(let i=0;i<n;i++)e.setAttributeBasic(s,i,this.getAttributeAsDblImpl(t%2,s,i))}e.setXY(this.m_data.m_envelope2D.queryCorner(t))}queryCorner(t,e){e.assign(this.m_data.m_envelope2D.queryCorner(t))}getDescription(){return this.m_description}mergeVertexDescription(t){this.m_description!==t&&(this.m_description&&this.m_description.hasAttributesFrom(t)||this.mergeVertexDescriptionImpl(t))}hasAttribute(t){return this.m_description.hasAttribute(t)}addAttribute(t){if(this.m_description.hasAttribute(t))return;const e=V(this.m_description,t);this.assignVertexDescription(e)}dropAttribute(t){if(!this.m_description.hasAttribute(t))return;const e=k(this.m_description,t);this.assignVertexDescription(e)}dropAllAttributes(){const t=M();t!==this.m_description&&this.assignVertexDescription(t)}queryLooseEnvelope(t){this.queryEnvelope(t)}replaceNaNs(t,e){if(this.addAttribute(t),this.m_data.isEmpty())return;const s=se.getComponentCount(t);for(let i=0;i<s;i++){const s=this.queryInterval(t,i);s.isEmpty()&&(s.vmin=e,s.vmax=e,this.setIntervalEnvelope(t,i,s))}}getImpl(){return this}setFromPoint(t,e,s){this.m_data.m_envelope2D.setCoords({center:t.getXY(),width:e??0,height:s??0});const i=t.getDescription();for(let n=1,r=i.getAttributeCount();n<r;n++){const e=i.getSemantics(n),s=se.getComponentCount(e);for(let i=0;i<s;i++){const s=t.getAttributeAsDbl(e,i);this.setInterval(e,i,s,s)}}}assignVertexDescriptionImpl(t){const s=S();Y(t,this.m_description,s);let i=null;const n=t.getTotalComponentCount()-2,r=this.m_description?this.m_description.getTotalComponentCount()-2:0;n>0&&(i=e(2*n,Number.NaN));for(let e=1;e<t.getAttributeCount();e++){const h=s[e];if(-1!==h){const s=t.getPointAttributeOffset(e)-2,o=se.getComponentCount(t.getSemantics(e)),a=this.m_description.getPointAttributeOffset(h)-2;m(i,this.m_data.m_attributes,s,a,o),m(i,this.m_data.m_attributes,n+s,r+a,o)}}this.releaseAttributes_(),this.m_data.m_attributes=i,this.m_description=t}getAttributeAsDblImpl(t,e,s){if(this.m_data.isEmpty()&&E(""),0===e)return t?s?this.m_data.m_envelope2D.ymax:this.m_data.m_envelope2D.xmax:s?this.m_data.m_envelope2D.ymin:this.m_data.m_envelope2D.xmin;s>=se.getComponentCount(e)&&v("");const i=this.m_description.getAttributeIndex(e);return i>=0?this.m_data.m_attributes[ie(this.m_description,t)+this.m_description.getPointAttributeOffset(i)-2+s]:z.getDefaultValue(e)}setAttributeAsDblImpl(t,e,s,i){0===e&&(t?1===s?this.m_data.m_envelope2D.ymax=i:0===s?this.m_data.m_envelope2D.xmax=i:v(""):1===s?this.m_data.m_envelope2D.ymin=i:0===s?this.m_data.m_envelope2D.xmin=i:v(""));const n=se.getComponentCount(e);(s<0||s>=n)&&v(""),this.addAttribute(e);const r=this.m_description.getAttributeIndex(e);this.m_data.m_attributes[ie(this.m_description,t)+this.m_description.getPointAttributeOffset(r)-2+s]=i}releaseAttributes_(){this.m_data.releaseAttributes()}ensureAttributes_(){this.m_data.ensureAttributes(this.m_description)}};re.type=y.enumEnvelope;const he=Object.freeze(Object.defineProperty({__proto__:null,Envelope:re,EnvelopeData:ne},Symbol.toStringTag,{value:"Module"}));export{J as $,st as A,ot as B,Et as C,nt as D,re as E,dt as F,bt as G,$t as H,pt as I,U as J,M as K,V as L,k as M,H as N,O,ee as P,S as Q,Y as R,at as S,ct as T,ne as U,z as V,B as W,w as X,j as Y,W as Z,Nt as _,zt as a,K as a0,$ as a1,Qt as a2,Rt as a3,Ct as a4,Tt as a5,Q as a6,he as a7,Bt as b,At as c,X as d,Ft as e,Dt as f,It as g,Vt as h,Ot as i,Lt as j,Yt as k,Pt as l,wt as m,et as n,Mt as o,Ht as p,G as q,qt as r,kt as s,Wt as t,Jt as u,Xt as v,Ut as w,Zt as x,Gt as y,yt as z};
5
+ import{D as t,d as e,a as s,a5 as i,x as n,E as r,c as h,P as o,i as a,b as m,a9 as _,m as l,w as u,I as d,j as c}from"./Point2D.js";import{Envelope2D as p}from"./Envelope2D.js";import{g,a as f,q as v,G as y,t as x,B as E,i as b,d as N,f as D,p as I}from"./Geometry.js";const C=[0,0,Number.NaN,0,0,0,0,0,-1,-1,0,0,0,0],T=[2,1,1,1,3,1,2,3,2,4,1,1,2,1],R=[1,1,1,0,2,1,1,1,0,0,0,0,0,1],A=[1,1,1,2,0,0,0,0,2,2,4,2,2,1],q=[4,8,4,8,1],w=25;function B(){return e(w,Number.NaN)}let z=class s{getAttributeCount(){return this.m_attributeCount}getSemantics(t){return this.m_indexToSemantics[t]}getSemanticsBitArray(){return this.m_semanticsBitArray}getAttributeIndex(t){return this.m_semanticsToIndexMap[t]}static getInterpolation(t){return R[t]}static getPersistence(t){return A[t]}static getPersistenceSize(t){return q[t]}static getPersistenceSizeFromSemantics(t){return s.getPersistenceSize(s.getPersistence(t))*s.getComponentCount(t)}static getComponentCount(t){return T[t]}static maxComponentCount(){return 4}static isInteger(t){return 2===t||3===t||4===t}static isIntegerSemantics(t){return s.isInteger(s.getPersistence(t))}static isTexture(t){return 5===t||6===t||7===t}hasAttribute(t){return!!(this.m_semanticsBitArray&1<<t)}hasAttributesFrom(t){return(this.m_semanticsBitArray&t.m_semanticsBitArray)===t.m_semanticsBitArray}hasZ(){return this.hasAttribute(1)}hasM(){return this.hasAttribute(2)}hasID(){return this.hasAttribute(3)}getTotalComponentCount(){return this.m_totalComponentCount}static getDefaultValue(t){return C[t]}static isDefaultValue(e,s){return t(C[e],s)}equals(t){return this===t}getDefaultPointAttributes(){return this.m_defaultPointAttributes}getPointAttributeOffset(t){return this.m_pointAttributeOffsets[t]}constructor(t){this.m_semanticsBitArray=t,this.m_attributeCount=0,this.m_totalComponentCount=0,this.m_semanticsToIndexMap=new Int32Array(14),this.m_indexToSemantics=new Int32Array(14),this.m_pointAttributeOffsets=new Int32Array(14),this.m_defaultPointAttributes=e(w,Number.NaN),this.m_semanticsToIndexMap.fill(-1),this.m_indexToSemantics.fill(-1);let i=0,n=1,r=14;for(;i<r;i++)t&n&&(this.m_semanticsToIndexMap[i]=this.m_attributeCount,this.m_indexToSemantics[this.m_attributeCount]=i,this.m_attributeCount++,this.m_totalComponentCount+=s.getComponentCount(i)),n<<=1;let h=0;for(i=0,r=this.getAttributeCount();i<r;i++){const t=this.getSemantics(i),e=s.getComponentCount(t),n=s.getDefaultValue(t);this.m_pointAttributeOffsets[i]=h;for(let s=0;s<e;s++)this.m_defaultPointAttributes[h]=n,h++}}};var L=z;function S(){return e(14,0)}class F{static getInstance(){return F.s_thisInstance}constructor(){this.m_map=new Map,this.m_vd2D=new L(1),this.m_map.set(1,this.m_vd2D),this.m_vd3D=new L(3),this.m_map.set(3,this.m_vd2D)}GetVD2D(){return this.m_vd2D}GetVD3D(){return this.m_vd3D}FindOrAdd(t){if(1===t)return this.GetVD2D();if(3===t)return this.GetVD3D();const e=this.m_map.get(t);if(e)return e;const s=new L(t);return this.m_map.set(t,s),s}}function P(t){return F.getInstance().FindOrAdd(t)}function H(t,e){if(!t||!e)return e||t;const s=t.getSemanticsBitArray()|e.getSemanticsBitArray();return(s&t.getSemanticsBitArray())===s?t:(s&e.getSemanticsBitArray())===s?e:P(s)}function V(t,e){const s=t.getSemanticsBitArray()|1<<e;return(s&t.getSemanticsBitArray())===s?t:P(s)}function k(t,e){const s=(t.getSemanticsBitArray()|1<<e)-(1<<e);return s===t.getSemanticsBitArray()?t:P(s)}function M(){return F.getInstance().GetVD2D()}function O(){return F.getInstance().GetVD3D()}function Y(t,e,s){if(s.fill(-1),null!==t&&null!==e)for(let i=0,n=t.getAttributeCount();i<n;i++)s[i]=e.getAttributeIndex(t.getSemantics(i))}F.s_thisInstance=new F;class X{static construct(t,e,s){return new X(t,e,s)}constructor(t,e,s){void 0!==t?(this.x=t,this.y=e,this.z=s):this.x=this.y=this.z=Number.NaN}get 0(){return this.x}get 1(){return this.y}get 2(){return this.z}set 0(t){this.x=t}set 1(t){this.y=t}set 2(t){this.z=t}clone(){return new X(this.x,this.y,this.z)}assign(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}setCoords(t,e,s){return this.x=t,this.y=e,this.z=s,this}setCoordsPoint2DZ(t,e){return this.setCoords(t.x,t.y,e)}setCoordsPoint3D(t){this.x=t.x,this.y=t.y,this.z=t.z}setZero(){this.x=0,this.y=0,this.z=0}setNormalized(t){this.assign(t),this.normalizeThis()}normalizeThis(){const t=this.length();return t?(this.x/=t,this.y/=t,this.z/=t):(this.x=1,this.y=0,this.z=0),this}getUnitVector(){const t=new X;return t.setNormalized(this),t}sqrLength(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}lengthXY(){return g(0),0}static sqrDistance(t,e){return s(t.x-e.x)+s(t.y-e.y)+s(t.z-e.z)}static sqrDistanceCoords(t,e,i,n,r,h){return s(t-n)+s(e-r)+s(i-h)}static distance(t,e){return Math.sqrt(X.sqrDistance(t,e))}isEqual(t,e){return void 0===e&&(e=0),Math.abs(this.x-t.x)<=e&&Math.abs(this.y-t.y)<=e&&i(this.z,t.z,e)}static compareByLength(t,e,s,i){return g(0),0}isEqualCoords(t,e,s,i){return g(0),this.x===t&&this.y===e&&this.z===s}isEqualsTols(t,e,s){return g(0),!1}isEqualCoordsTols(t,e,s,i,n){return g(0),!1}static st_isEqual(t,e,s,i){return g(0),!1}equals(t,e){return this.isEqual(t,e)}equalsTols(t,e,s){return g(0),!1}divThis(t){return this.x/=t,this.y/=t,this.z/=t,this}subThis(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}setSub(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}sub(t){return X.construct(this.x-t.x,this.y-t.y,this.z-t.z)}addThis(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}add(t){return this.clone().addThis(t)}setAdd(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}mul(t){return X.construct(this.x*t,this.y*t,this.z*t)}dotProduct(t){return this.x*t.x+this.y*t.y+this.z*t.z}crossProductVector(t){const e=this.y*t.z-t.y*this.z,s=t.x*this.z-this.x*t.z,i=this.x*t.y-t.x*this.y;return new X(e,s,i)}setCrossProductVector(t,e){const s=t.y*e.z-e.y*t.z,i=e.x*t.z-t.x*e.z,n=t.x*e.y-e.x*t.y;return this.x=s,this.y=i,this.z=n,this}setScaled(t,e){return this.x=t*e.x,this.y=t*e.y,this.z=t*e.z,this}scaleThis(t){return this.x*=t,this.y*=t,this.z*=t,this}scaleZThis(t){return this.z*=t,this}setNAN(){return g(0),this}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)||Number.isNaN(this.z)}static getNAN(){return X.construct(Number.NaN,Number.NaN,Number.NaN)}isFinite(){return g(0),!1}isZero(){return 0===this.x&&0===this.y&&0===this.z}norm(t){return g(0),0}sqrDistanceFromCenterToSpheroidSurface(t,e){return g(0),0}distanceFromCenterToSpheroidSurface(t,e){return Math.sqrt(this.sqrDistanceFromCenterToSpheroidSurface(t,e))}static getClosestCoordinate(t,e,s,i=!1){return g(0),0}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:this.z<t.z?-1:this.z>t.z?1:0}compareXYZ(t){return g(0),0}negateThis(){this.x=-this.x,this.y=-this.y,this.z=-this.z}static averageFast(t,e){return g(0),{}}static average(t,e){return g(0),{}}static size(){return X.dimensions}static lerp(t,e,s){const i=new X;return n(t,e,s,i),i}static slerp(t,e,s){return g(0),{}}static compareVectors(t,e){return g(0),0}static selectRightHandedBasisFromNormal(t,e,s){const i=t.getUnitVector(),n=i.createAPerpendicular(),r=new X;r.setCrossProductVector(i,n),r.normalizeThis(),e.setCoordsPoint3D(n),s.setCoordsPoint3D(r)}createAPerpendicular(){const t=[this.crossProductVector(new X(0,0,1)),this.crossProductVector(new X(1,0,0)),this.crossProductVector(new X(0,1,0))],e=[t[0].sqrLength(),t[1].sqrLength(),t[2].sqrLength()],s=t[e.reduce((t,s,i)=>e[t]>e[i]?t:i,0)];return s.normalizeThis(),s}calculateAngle(t){return g(0),0}static crossDotSign(t,e,s){return g(0),0}static isBisectorRobust(t,e,s){return g(0),0}static compareZOrder(t,e){return g(0),!1}}X.dimensions=3;class G{static constructEmpty(){return new G(Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN)}constructor(t,e,s,i,n,r){this.m_EnvelopeType=3,this.xmin=t,this.ymin=e,this.zmin=s,this.xmax=i,this.ymax=n,this.zmax=r,this.normalize()}inflate(t){this.inflateCoords(t,t,t)}inflateCoords(t,e,s){g(0)}getEnvelope2D(){return new p(this.xmin,this.ymin,this.xmax,this.ymax)}getEnvelopeZs(){return new r(this.zmin,this.zmax)}setEmptyZ(){this.zmin=Number.NaN,this.zmax=Number.NaN}normalize(){let t=!1;this.xmin<=this.xmax||(this.xmax=h(this.xmin,this.xmin=this.xmax),t=!0),this.ymin<=this.ymax||(this.ymax=h(this.ymin,this.ymin=this.ymax),t=!0),!t||this.xmin<=this.xmax&&this.ymin<=this.ymax?this.zmin<=this.zmax||(this.zmax=h(this.zmin,this.zmin=this.zmax),this.zmin<=this.zmax||this.setEmptyZ()):this.setEmpty()}isEmpty(){return Number.isNaN(this.xmin)||Number.isNaN(this.ymin)||Number.isNaN(this.xmax)||Number.isNaN(this.ymax)}isEmptyZ(){return Number.isNaN(this.zmin)||Number.isNaN(this.zmax)}setEmpty(){this.xmin=Number.NaN,this.ymin=Number.NaN,this.zmin=Number.NaN,this.xmax=Number.NaN,this.ymax=Number.NaN,this.zmax=Number.NaN}mergeEnv3D(t){t.isEmpty()||(this.mergeCoords(t.xmin,t.ymin,t.zmin),this.mergeCoords(t.xmax,t.ymax,t.zmax))}mergeNe(t){this.mergeNeCoords(t.x,t.y,t.z)}mergeNeCoords(t,e,s){this.xmin>t?this.xmin=t:this.xmax<t&&(this.xmax=t),this.ymin>e?this.ymin=e:this.ymax<e&&(this.ymax=e),this.zmin>s?this.zmin=s:this.zmax<s&&(this.zmax=s)}mergeCoords(t,e,s){this.isEmpty()?(this.xmin=t,this.xmax=t,this.ymin=e,this.ymax=e,this.zmin=s,this.zmax=s):(this.isEmptyZ()&&(this.zmin=s,this.zmax=s),this.mergeNeCoords(t,e,s))}setCoords(t,e,s,i,n,r){this.xmin=t,this.ymin=e,this.zmin=s,this.xmax=i,this.ymax=n,this.zmax=r,this.normalize()}sqrDistanceEnvelope3DAndPoints(t,e,s,i=1){return g(0),0}sqrMaxDistance(t,e=1){return g(0),0}}const U=-559038737;var Z=z;function Q(t,e,s){switch(t){case 0:return new it(e,s);case 1:return new nt(e,s);case 2:return new st(e,s);case 3:throw new Error("64 bit int attribute stream not implemented");case 4:return new et(e,s);default:f("")}}function j(t,e){const s=Z.getComponentCount(t);return Q(Z.getPersistence(t),e*s,Z.getDefaultValue(t))}function W(t,e){const s=Z.getComponentCount(t);return Q(Z.getPersistence(t),e*s)}function J(t,e){return new st(t,e)}function K(t,e){return new et(t,e)}function $(t,e){return new nt(t,e)}class tt{size(){return this.m_size}checkResize(t,e){t>this.m_size&&this.resize(t,e)}resize(t,e){if((t=Math.trunc(t))===this.m_size)return;const s=!!e||Number.isNaN(e);if(t<this.m_a.length)this.m_a.length>tt.s_resizeMin&&1.25*t<this.m_a.length&&(this.m_a=this.m_a.slice(0,t)),s&&t>this.m_size&&this.m_a.fill(e,this.m_size,t);else if(t>=this.m_a.length){const i=1.25*t,n=new this.m_a.constructor(i);n.set(this.m_a),this.m_a=n,s&&this.m_a.fill(e,this.m_size,t)}this.m_size=t}resizeRounded(t,e){return this.resize(t,e)}reserve(t){}read(t){return this.m_a[t]}readAsDbl(t){return this.read(t)}write(t,e){this.m_a[t]=e}writeAsDbl(t,e){this.write(t,e)}setRange(t,e,s){(e<0||s<0||s+e>this.size())&&f(),this.m_a.fill(t,e,e+s)}add(t){this.resize(this.m_size+1),this.m_a[this.m_size-1]=t}addArray(t,e){const s=this.m_size;void 0===e?(this.resize(this.m_size+t.length),this.m_a.set(t,s)):(this.resize(this.m_size+e),this.m_a.set(t.slice(0,e),s))}equals(t,e,s,i){if(this.getPersistence()!==t.getPersistence())return!1;return rt(this,t,e,s,i)}insertRange(t,e,s,i){const n=this.m_size;this.checkResize(Math.max(0,i)+s),this.m_a.copyWithin(t+s,t,i>=0?i:n),this.m_a.fill(e,t,t+s)}readRange(t,e){return this.m_a.slice(t,t+e)}insertRangeFromStream(t,e,s,i,n,r,h){g(this.getPersistence()===e.getPersistence());const o=e,a=this.m_size;i&&this.checkResize(Math.max(0,h)+i),this.m_a.copyWithin(t+i,t,h>=0?h:a),this.m_a.set(o.readRange(s,i),t),n||this.reverseRange(t,i,r)}writeRange(t,e,s,i,n,r){g(this.getPersistence()===s.getPersistence());const h=s;if((t<0||e<0||i<0)&&f(),h.size()<i+e&&f(),0===e)return;this.size()<e+t&&this.resize(e+t);const o=h.m_a.subarray(i,i+e);ht(this.m_a,t,e,o)}insertAttributes(t,e,s,i){const n=Z.getComponentCount(s);this.m_a.copyWithin(t+n,t,i>=0?i:this.m_size);for(let r=0;r<n;r++)this.m_a[t+r]=e.getAttributeAsDbl(s,r)}insertAttributesFromPoints(t,e,s,i,n){g(Z.getPersistence(i)===this.getPersistence());const r=Z.getComponentCount(i),h=this.m_size;if(this.checkResize(Math.max(0,n)+r*s),this.m_a.copyWithin(t+r*s,t,n>=0?n:h),0===i){const i=new o;for(let n=t,r=0;r<s;r++,n+=2)e[r].queryXY(i),this.m_a[n]=i.x,this.m_a[n+1]=i.y}else if(1===r)for(let o=t,a=0;a<s;a++,o++)this.m_a[o]=e[a].getAttributeAsDbl(i,0);else for(let o=t,a=0;a<s;a++,o+=r)for(let t=0;t<r;t++)this.m_a[o+t]=e[a].getAttributeAsDbl(i,t)}eraseRange(t,e,s){this.m_size<t+e&&f(),this.m_a.copyWithin(t,t+e),this.m_size-=e}reverseRange(t,e,s){if((s<1||e%s!==0)&&f(),this.m_a.subarray(t,t+e).reverse(),s>1)for(let i=t,n=t+e;i<n;i+=s){let t=i,e=i+s-1;for(;t<e;){const s=this.m_a[t];this.m_a[t]=this.m_a[e],this.m_a[e]=s,t++,e--}}}rotate(t,e,s){(e<t||e>s||t>s)&&v("rotate"),e!==t&&e!==s&&(this.reverseRange(t,e-t,1),this.reverseRange(e,s-e,1),this.reverseRange(t,s-t,1))}sort(t,e,s){this.m_a.subarray(t,e).sort(s)}constructor(t){if(t.move)this.m_a=t.move.m_a,this.m_size=t.move.m_size,t.move.m_a=t.move.m_a.slice(0,0),t.move.m_size=0;else if(t.copy)this.m_size=t.copy.m_size,t.maxSize&&(this.m_size=Math.min(t.maxSize,this.m_size)),this.m_a=t.copy.m_a.slice(0,this.m_size);else{const e=Math.max(t.size,tt.s_constructMin);this.m_a=new t.ctor(e),(t.defaultValue||Number.isNaN(t.defaultValue))&&this.m_a.fill(t.defaultValue),this.m_size=t.size}}}tt.s_constructMin=2,tt.s_resizeMin=30;class et extends tt{setBits(t,e){this.m_a[t]|=e}clearBits(t,e){this.m_a[t]&=~e}getPersistence(){return 4}clone(){return new et({ctor:Int8Array,copy:this})}restrictedClone(t){return new et({ctor:Int8Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Int8Array,size:t,defaultValue:e}:t)}}class st extends tt{getPersistence(){return 2}clone(){return new st({ctor:Int32Array,copy:this})}restrictedClone(t){return new st({ctor:Int32Array,copy:this,maxSize:t})}write(t,e){g(e<=a()),super.write(t,e)}constructor(t,e){super("number"==typeof t?{ctor:Int32Array,size:t,defaultValue:e}:t)}}class it extends tt{getPersistence(){return 0}clone(){return new it({ctor:Float32Array,copy:this})}restrictedClone(t){return new it({ctor:Float32Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Float32Array,size:t,defaultValue:e}:t)}}class nt extends tt{getPersistence(){return 1}getArray(){return this.m_a}applyTransformation(t,e,s){(1&e||e+2*s>this.size())&&f();const i=0===e?this.m_a:this.m_a.subarray(e);t.transformInterleavedPoints(i,s,i)}readPoint2D(t){const e=this.m_a[t],s=this.m_a[t+1];return new o(e,s)}queryPoint2D(t,e){return e.x=this.m_a[t],e.y=this.m_a[t+1],e}writePoint2D(t,e){this.write(t,e.x),this.write(t+1,e.y)}insert(t,e,s){this.checkResize(s+2),this.m_a.copyWithin(t+2,t,s),this.m_a[t]=e.x,this.m_a[t+1]=e.y}insertRangeFromPoints(t,e,s,i,n,r){const h=this.m_size;if(this.checkResize(Math.max(r,0)+2*i),this.m_a.copyWithin(t+2*i,t,r>=0?r:h),n)for(let o=s,a=t,m=0;m<i;++m,++o){const t=e[o];this.m_a[a++]=t.x,this.m_a[a++]=t.y}else for(let o=s+i-1,a=t,m=0;m<i;++m,--o){const t=e[o];this.m_a[a++]=t.x,this.m_a[a++]=t.y}}queryRange(t,e,s,i,n){if((t<0||e<0)&&f(),!i&&(n<=0||e%n!==0)&&f(),0===e)return;if(1===e)return void(s[0]=this.m_a[t]);const r=this.m_a.subarray(t,t+e);s.set(r)}writeRangeFromArray(t,e,s,i,n){if((t<0||e<0)&&f(),0===e)return;if(1===e)return void(this.m_a[t]=s[0]);let r=s;e<s.length&&(r=s.subarray(0,e)),this.m_a.set(r,t)}clone(){return new nt({ctor:Float64Array,copy:this})}restrictedClone(t){return new nt({ctor:Float64Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Float64Array,size:t,defaultValue:e}:t)}}function rt(t,e,s,n,r){if(t.getPersistence()!==e.getPersistence())return!1;const h=t.getPersistence()<=1,o=t.size(),a=e.size();if(n>o||n>a)return!1;if(r)if(h){for(let m=s;m<n;m++)if(!i(t.read(m),e.read(m),r))return!1}else for(let i=s;i<n;i++){let s=t.read(i)-e.read(i);if(s<0&&(s=-s),s>r)return!1}else for(let i=s;i<n;i++){const s=t.read(i),n=e.read(i);if(s!==n){if(h&&Number.isNaN(s)&&Number.isNaN(n))continue;return!1}}return!0}function ht(t,e,s,i,n,r){if((e<0||s<0)&&f(),0===s)return;if(1===s)return void(t[e]=i[0]);let h=i;s<i.length&&(h=i.subarray(0,s)),t.set(h,e)}class ot{constructor(){this.m_minValue=-1,this.m_maxValue=-1,this.m_dy=Number.NaN,this.m_buckets=new st(0),this.m_bucketedIndices=new st(0)}static sortEx(t,e,s,i,n=32){if(s-e<=n)return void i.userSort(e,s,t);(new ot).sort(t,e,s,i,n)}sort(t,e,s,i,n=32){if(s-e<=n)return void i.userSort(e,s,t);let r=!0,h=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let m=e;m<s;m++){const e=i.getValue(t.read(m));e<h&&(h=e),e>o&&(o=e)}if(this.reset(s-e,h,o,s-e)){for(let r=e;r<s;r++){const s=t.read(r),n=i.getValue(s),h=this.getBucket(n);this.m_buckets.write(h,this.m_buckets.read(h)+1),this.m_bucketedIndices.write(r-e,s)}let n=this.m_buckets.read(0);this.m_buckets.write(0,0);for(let t=1,e=this.m_buckets.size();t<e;t++){const e=this.m_buckets.read(t);this.m_buckets.write(t,n),n+=e}for(let r=e;r<s;r++){const s=this.m_bucketedIndices.read(r-e),n=i.getValue(s),h=this.getBucket(n),o=this.m_buckets.read(h);t.write(o+e,s),this.m_buckets.write(h,o+1)}r=!1}if(r)return void i.userSort(e,s,t);let a=0;for(let m=0,_=this.m_buckets.size();m<_;m++){const s=a;a=this.m_buckets.read(m),a>s&&i.userSort(e+s,e+a,t)}this.m_buckets.size()>100&&(this.m_buckets.resize(0),this.m_bucketedIndices.resize(0))}reset(t,e,s,i){if(t<2||s===e)return!1;const n=Math.min(ot.c_maxBuckets,t);return this.m_buckets.resize(n),this.m_buckets.setRange(0,0,this.m_buckets.size()),this.m_minValue=e,this.m_maxValue=s,this.m_bucketedIndices.resize(i),this.m_dy=(s-e)/(n-1),!0}getBucket(t){return Math.trunc((t-this.m_minValue)/this.m_dy)}getBucketCount(){return this.m_buckets.size()}}ot.c_maxBuckets=65536;class at{capacity(){return this.capacity_}constructor(t){this.m_buffer=new Int32Array(0),this.m_firstFree=-1,this.m_last=0,this.size_=0,this.capacity_=0,this.stride=t}size(){return this.size_}deleteElement(t){t<this.m_last?(this.m_buffer[t*this.stride]=this.m_firstFree,this.m_firstFree=t):this.m_last--,this.size_--}getField(t,e){return this.m_buffer[t*this.stride+e]}setField(t,e,s){this.m_buffer[t*this.stride+e]=s}elementToIndex(t){return t}newElement(){let t=this.m_firstFree;if(-1===t){if(this.m_last===this.capacity_){let t=0!==this.capacity_?Math.trunc(3*(this.capacity_+1)/2):1;if(t>Number.MAX_SAFE_INTEGER&&(t=Number.MAX_SAFE_INTEGER),t===this.capacity_)throw new Error("index out of bounds");this.grow_(t)}t=this.m_last,this.m_last++}else this.m_firstFree=this.m_buffer[t*this.stride];this.size_++;for(let e=t*this.stride;e<t*this.stride+this.stride;e++)this.m_buffer[e]=-1;return t}newElementPset(t){let e=this.m_firstFree;if(-1===e){if(this.m_last===this.capacity_){let t=0!==this.capacity_?Math.trunc(3*(this.capacity_+1)/2):1;if(t>Number.MAX_SAFE_INTEGER&&(t=Number.MAX_SAFE_INTEGER),t===this.capacity_)throw new Error("index out of bounds");this.grow_(t)}e=this.m_last,this.m_last++}else this.m_firstFree=this.m_buffer[e*this.stride];this.size_++;const s=e*this.stride;for(let i=0;i<t.length;i++)this.m_buffer[s+i]=t[i];return e}deleteAll(t){this.m_firstFree=-1,this.m_last=0,this.size_=0,t&&(this.m_buffer=new Int32Array(0),this.capacity_=0)}setCapacity(t){t>this.capacity_&&this.grow_(t)}swap(t,e){const s=t*this.stride,i=e*this.stride;for(let n=0;n<this.stride;n++){const t=this.m_buffer[i+n];this.m_buffer[i+n]=this.m_buffer[s+n],this.m_buffer[s+n]=t}}swapField(t,e,s){const i=this.m_buffer[this.stride*e+s];this.m_buffer[this.stride*e+s]=this.m_buffer[this.stride*t+s],this.m_buffer[this.stride*t+s]=i}static impossibleIndex2(){return-2}static impossibleIndex3(){return-3}static isValidElement(t){return t>=0}grow_(t){null==this.m_buffer&&(this.m_buffer=new Int32Array(0));const e=this.stride*t,s=new Int32Array(e);s.set(this.m_buffer,0),this.m_buffer=s,this.capacity_=t}}function mt(t,e){return{element:t,box:e.clone()}}class _t{constructor(t,e,s){this.m_extent=new p,this.m_dataExtent=new p,this.m_childExtents=[new p,new p,new p,new p],this.m_elementNodes=new at(4),this.m_data=[],this.m_freeData=[],this.m_root=-1,this.m_height=8,void 0===s&&(s=!1),this.m_quadTreeNodes=new at(s?11:10),this.m_bStoreDuplicates=s,this.reset_(t,e)}reset(t,e){this.m_quadTreeNodes.deleteAll(!1),this.m_elementNodes.deleteAll(!1),this.m_data.length=0,this.m_freeData.length=0,this.reset_(t,e)}insert(t,e){if(-1===this.m_root&&this.createRoot_(),this.m_bStoreDuplicates){const s=this.insertDuplicates_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}const s=this.insert_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}insertEx(t,e,s){if(-1===this.m_root&&this.createRoot_(),this.m_bStoreDuplicates){const s=this.insertDuplicates_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}let i;i=-1===s?this.m_root:this.getQuad_(s);const n=this.getHeight(i),r=this.getExtent(i),h=this.insert_(t,e,n,r,i,!1,-1);return-1!==h&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),h}removeElement(t){g(0)}getElement(t){return this.getElementValue_(this.getData_(t))}getElementAtIndex(t){return g(0),0}getElementExtent(t){const e=this.getData_(t);return this.getBoundingBoxValue_(e).clone()}getElementExtentAtIndex(t){return g(0),{}}getDataExtent(){return this.m_dataExtent.clone()}getQuadTreeExtent(){return g(0),{}}getHeight(t){return this.m_quadTreeNodes.getField(t,6)>>_t.m_heightBitShift}getMaxHeight(){return this.m_height}getExtent(t){const e=new p;if(e.setCoords({env2D:this.m_extent}),t===this.m_root)return e;const s=[];let i=t;do{s.push(this.getQuadrant_(i)),i=this.getParent_(i)}while(i!==this.m_root);const n=s.length;for(let r=0;r<n;r++){const t=s.at(-1);s.pop(),0===t?(e.xmin=.5*(e.xmin+e.xmax),e.ymin=.5*(e.ymin+e.ymax)):1===t?(e.xmax=.5*(e.xmin+e.xmax),e.ymin=.5*(e.ymin+e.ymax)):2===t?(e.xmax=.5*(e.xmin+e.xmax),e.ymax=.5*(e.ymin+e.ymax)):(e.xmin=.5*(e.xmin+e.xmax),e.ymax=.5*(e.ymin+e.ymax))}return e}getQuad(t){return this.getQuad_(t)}getElementCount(){return-1===this.m_root?0:this.getSubTreeElementCount_(this.m_root)}getSubTreeElementCount(t){return this.getSubTreeElementCount_(t)}getContainedSubTreeElementCount(t){return this.m_bStoreDuplicates?this.getContainedSubTreeElementCount_(t):this.getSubTreeElementCount_(t)}getIntersectionCount(t,e,s){if(-1===this.m_root)return 0;const i=new p;i.setCoords({env2D:t}),i.inflateCoords(e,e);const n=[],r=[];n.push(this.m_root),r.push(this.m_extent.clone());const h=l(p,4);let o=0;for(;n.length>0;){let t=!1;const e=n.at(-1),a=r.at(-1);if(n.pop(),r.pop(),i.containsEnvelope(a)){if(o+=this.getSubTreeElementCount(e),s>0&&o>=s)return s}else if(i.isIntersecting(a)){for(let t=this.getFirstElement_(e);-1!==t;t=this.getNextElement_(t)){const e=this.getData_(t);if(this.getBoundingBoxValue_(e).isIntersecting(i)&&(o++,s>0&&o>=s))return s}t=this.getHeight(e)+1<=this.m_height}if(t){_t.setChildExtents_(a,h);for(let t=0;t<4;t++){const s=this.getChild_(e,t);if(-1!==s&&this.getSubTreeElementCount_(s)>0){i.isIntersecting(h[t])&&(n.push(s),r.push(h[t].clone()))}}}}return o}hasData(t,e){return this.getIntersectionCount(t,e,1)>=1}getIterator(t,e){return new lt(this,t,e)}getIteratorForQT(){return new lt(this)}getSortedIterator(t,e){return new ut(this.getIterator(t,e))}getSortedIteratorForQT(){return new ut(this.getIteratorForQT())}visitLeavesNearest(t,e,s,i){g(0)}reset_(t,e){(e<0||e>127)&&f("invalid height"),this.m_height=e,this.m_extent.setCoords({env2D:t}),this.m_dataExtent.setEmpty(),this.m_root=-1}insert_(t,e,s,i,n,r,h){if(!i.containsEnvelope(e))return 0===s?-1:this.insert_(t,e,0,this.m_extent,this.m_root,r,h);if(!r)for(let _=n;-1!==_;_=this.getParent_(_))this.setSubTreeElementCount_(_,this.getSubTreeElementCount_(_)+1);const o=new p;o.setCoords({env2D:i});let a,m=n;for(a=s;a<this.m_height&&this.canPushDown_(m);a++){_t.setChildExtents_(o,this.m_childExtents);let t=!1;for(let s=0;s<4;s++)if(this.m_childExtents[s].containsEnvelope(e)){t=!0;let e=this.getChild_(m,s);-1===e&&(e=this.createChild_(m,s)),this.setSubTreeElementCount_(e,this.getSubTreeElementCount_(e)+1),m=e,o.setCoords({env2D:this.m_childExtents[s]});break}if(!t)break}return this.insertAtQuad_(t,e,a,o,m,r,n,h,-1)}insertDuplicates_(t,e,s,i,n,r,h){if(!r){if(!i.containsEnvelope(e))return-1;this.setSubTreeElementCount_(n,this.getSubTreeElementCount_(n)+1),this.setContainedSubTreeElementCount_(n,this.getContainedSubTreeElementCount_(n)+1)}const o=Math.max(e.width(),e.height());let a=-1;const m=[],_=[],u=[];m.push(n),_.push(i.clone()),u.push(s);const d=l(p,4);for(;m.length>0;){let s=!1;const i=m.at(-1),l=_.at(-1),c=u.at(-1);if(m.pop(),_.pop(),u.pop(),c+1<this.m_height&&this.canPushDown_(i)){o<=Math.max(l.width(),l.height())/2&&(s=!0)}if(s){_t.setChildExtents_(l,d);let t=!1;for(let s=0;s<4;s++)if(t=d[s].containsEnvelope(e),t){let t=this.getChild_(i,s);-1===t&&(t=this.createChild_(i,s)),m.push(t),_.push(d[s].clone()),u.push(c+1),this.setSubTreeElementCount_(t,this.getSubTreeElementCount_(t)+1),this.setContainedSubTreeElementCount_(t,this.getContainedSubTreeElementCount_(t)+1);break}if(!t)for(let s=0;s<4;s++){if(d[s].isIntersecting(e)){let t=this.getChild_(i,s);-1===t&&(t=this.createChild_(i,s)),m.push(t),_.push(d[s].clone()),u.push(c+1),this.setSubTreeElementCount_(t,this.getSubTreeElementCount_(t)+1)}}}else a=this.insertAtQuad_(t,e,c,l,i,r,n,h,a),r=!1}return 0}insertAtQuad_(t,e,s,i,n,r,h,o,a){this.getFirstElement_(n);const m=this.getLastElement_(n);let _=-1;if(r){if(n===h)return o;this.disconnectElementHandle_(o),_=o}else-1===a?(_=this.createElement_(),this.setDataValues_(this.getData_(_),t,e)):_=this.createElementFromDuplicate_(a);return this.setQuad_(_,n),-1!==m?(this.setPrevElement_(_,m),this.setNextElement_(m,_)):this.setFirstElement_(n,_),this.setLastElement_(n,_),this.setLocalElementCount_(n,this.getLocalElementCount_(n)+1),this.canFlush_(n)&&this.flush_(s,i,n),_}static setChildExtents_(t,e){const s=.5*(t.xmin+t.xmax),i=.5*(t.ymin+t.ymax);e[0].setCoords({xmin:s,ymin:i,xmax:t.xmax,ymax:t.ymax}),e[1].setCoords({xmin:t.xmin,ymin:i,xmax:s,ymax:t.ymax}),e[2].setCoords({xmin:t.xmin,ymin:t.ymin,xmax:s,ymax:i}),e[3].setCoords({xmin:s,ymin:t.ymin,xmax:t.xmax,ymax:i})}disconnectElementHandle_(t){const e=this.getQuad_(t),s=this.getFirstElement_(e),i=this.getLastElement_(e),n=this.getPrevElement_(t),r=this.getNextElement_(t);s===t?(-1!==r?this.setPrevElement_(r,-1):this.setLastElement_(e,-1),this.setFirstElement_(e,r)):i===t?(this.setNextElement_(n,-1),this.setLastElement_(e,n)):(this.setPrevElement_(r,n),this.setNextElement_(n,r)),this.setPrevElement_(t,-1),this.setNextElement_(t,-1),this.setLocalElementCount_(e,this.getLocalElementCount_(e)-1)}canFlush_(t){return this.getLocalElementCount_(t)===_t.m_flushingCount&&!this.hasChildren_(t)}flush_(t,e,s){let i;const n=new p;let r=this.getFirstElement_(s),h=-1,o=-1;do{o=this.getData_(r),i=this.getElementValue_(o),n.setCoords({env2D:this.getBoundingBoxValue_(o)}),h=this.getNextElement_(r),this.m_bStoreDuplicates?this.insertDuplicates_(i,n,t,e,s,!0,r):this.insert_(i,n,t,e,s,!0,r),r=h}while(-1!==r)}canPushDown_(t){return this.getLocalElementCount_(t)>=_t.m_flushingCount||this.hasChildren_(t)}hasChildren_(t){return-1!==this.getChild_(t,0)||-1!==this.getChild_(t,1)||-1!==this.getChild_(t,2)||-1!==this.getChild_(t,3)}createChild_(t,e){const s=this.m_quadTreeNodes.newElement();return this.setChild_(t,e,s),this.setSubTreeElementCount_(s,0),this.setLocalElementCount_(s,0),this.setParent_(s,t),this.setHeightAndQuadrant_(s,this.getHeight_(t)+1,e),this.m_bStoreDuplicates&&this.setContainedSubTreeElementCount_(s,0),s}createRoot_(){this.m_root=this.m_quadTreeNodes.newElement(),this.setSubTreeElementCount_(this.m_root,0),this.setLocalElementCount_(this.m_root,0),this.setHeightAndQuadrant_(this.m_root,0,0),this.m_bStoreDuplicates&&this.setContainedSubTreeElementCount_(this.m_root,0)}createElement_(){const t=this.m_elementNodes.newElement();let e;return this.m_freeData.length>0?(e=this.m_freeData.at(-1),this.m_freeData.pop()):(e=this.m_data.length,this.m_data.length=e+1),this.setData_(t,e),t}createElementFromDuplicate_(t){const e=this.m_elementNodes.newElement(),s=this.getData_(t);return this.setData_(e,s),e}freeElementAndBoxNode_(t){g(0)}getChild_(t,e){return this.m_quadTreeNodes.getField(t,e)}setChild_(t,e,s){this.m_quadTreeNodes.setField(t,e,s)}getFirstElement_(t){return this.m_quadTreeNodes.getField(t,4)}setFirstElement_(t,e){this.m_quadTreeNodes.setField(t,4,e)}getLastElement_(t){return this.m_quadTreeNodes.getField(t,5)}setLastElement_(t,e){this.m_quadTreeNodes.setField(t,5,e)}getQuadrant_(t){return this.m_quadTreeNodes.getField(t,6)&_t.m_quadrantMask}getHeight_(t){return this.m_quadTreeNodes.getField(t,6)>>_t.m_heightBitShift}setHeightAndQuadrant_(t,e,s){const i=e<<_t.m_heightBitShift|s;this.m_quadTreeNodes.setField(t,6,i)}getLocalElementCount_(t){return this.m_quadTreeNodes.getField(t,7)}setLocalElementCount_(t,e){this.m_quadTreeNodes.setField(t,7,e)}getSubTreeElementCount_(t){return this.m_quadTreeNodes.getField(t,8)}setSubTreeElementCount_(t,e){this.m_quadTreeNodes.setField(t,8,e)}getParent_(t){return this.m_quadTreeNodes.getField(t,9)}setParent_(t,e){this.m_quadTreeNodes.setField(t,9,e)}getContainedSubTreeElementCount_(t){return this.m_quadTreeNodes.getField(t,10)}setContainedSubTreeElementCount_(t,e){this.m_quadTreeNodes.setField(t,10,e)}getData_(t){return this.m_elementNodes.getField(t,0)}setData_(t,e){this.m_elementNodes.setField(t,0,e)}getPrevElement_(t){return this.m_elementNodes.getField(t,1)}getNextElement_(t){return this.m_elementNodes.getField(t,2)}setPrevElement_(t,e){this.m_elementNodes.setField(t,1,e)}setNextElement_(t,e){this.m_elementNodes.setField(t,2,e)}getQuad_(t){return this.m_elementNodes.getField(t,3)}setQuad_(t,e){this.m_elementNodes.setField(t,3,e)}getElementValue_(t){return this.m_data[t].element}getBoundingBoxValue_(t){return this.m_data[t].box}setDataValues_(t,e,s){this.m_data[t]=mt(e,s)}}_t.m_quadrantMask=3,_t.m_heightBitShift=2,_t.m_flushingCount=5;class lt{constructor(t,e,s){this.m_bLinear=!1,this.m_queryStart=new o,this.m_queryEnd=new o,this.m_queryBox=new p,this.m_tolerance=0,this.m_currentElementHandle=-1,this.m_nextElementHandle=-1,this.m_quadsStack=[],this.m_extentsStack=[],this.m_childExtents=[new p,new p,new p,new p],this.m_quadTree=t,e&&this.resetIterator(e,s)}resetIterator(t,e){if(void 0===e&&(e=0),t instanceof p)return this.m_quadsStack.length=0,this.m_extentsStack.length=0,this.m_currentElementHandle=-1,this.m_queryBox.setCoords({env2D:t}),this.m_queryBox.inflateCoords(e,e),this.m_tolerance=Number.NaN,void(-1!==this.m_quadTree.m_root&&this.m_queryBox.isIntersecting(this.m_quadTree.m_extent)?(this.m_quadsStack.push(this.m_quadTree.m_root),this.m_extentsStack.push(this.m_quadTree.m_extent.clone()),this.m_nextElementHandle=this.m_quadTree.getFirstElement_(this.m_quadTree.m_root),this.m_bLinear=!1):this.m_nextElementHandle=-1);if(this.m_quadsStack.length=0,this.m_extentsStack.length=0,this.m_currentElementHandle=-1,t.queryLooseEnvelope(this.m_queryBox),this.m_queryBox.inflateCoords(e,e),-1!==this.m_quadTree.m_root&&this.m_queryBox.isIntersecting(this.m_quadTree.m_extent)){const s=t.getGeometryType();if(this.m_bLinear=s===y.enumLine,this.m_bLinear){const s=t;this.m_queryStart.assign(s.getStartXY()),this.m_queryEnd.assign(s.getEndXY()),this.m_tolerance=e}else this.m_tolerance=Number.NaN;this.m_quadsStack.push(this.m_quadTree.m_root),this.m_extentsStack.push(this.m_quadTree.m_extent.clone()),this.m_nextElementHandle=this.m_quadTree.getFirstElement_(this.m_quadTree.m_root)}else this.m_nextElementHandle=-1}next(){if(0===this.m_quadsStack.length)return-1;this.m_currentElementHandle=this.m_nextElementHandle;const t=new o,e=new o,s=new p;let i=!1;for(;!i;){for(;-1!==this.m_currentElementHandle;){const n=this.m_quadTree.getData_(this.m_currentElementHandle);if(s.setCoords({env2D:this.m_quadTree.getBoundingBoxValue_(n)}),s.isIntersecting(this.m_queryBox)){if(!this.m_bLinear){i=!0;break}if(t.setCoordsPoint2D(this.m_queryStart),e.setCoordsPoint2D(this.m_queryEnd),s.inflateCoords(this.m_tolerance,this.m_tolerance),s.clipLine(t,e)>0){i=!0;break}}this.m_currentElementHandle=this.m_quadTree.getNextElement_(this.m_currentElementHandle)}if(-1===this.m_currentElementHandle){const s=this.m_quadsStack.at(-1),i=this.m_extentsStack.at(-1);_t.setChildExtents_(i,this.m_childExtents),this.m_quadsStack.pop(),this.m_extentsStack.pop();for(let n=0;n<4;n++){const i=this.m_quadTree.getChild_(s,n);if(-1!==i&&this.m_quadTree.getSubTreeElementCount(i)>0&&this.m_childExtents[n].isIntersecting(this.m_queryBox))if(this.m_bLinear){t.setCoordsPoint2D(this.m_queryStart),e.setCoordsPoint2D(this.m_queryEnd);const s=new p;s.setCoords({env2D:this.m_childExtents[n]}),s.inflateCoords(this.m_tolerance,this.m_tolerance),s.clipLine(t,e)>0&&(this.m_quadsStack.push(i),this.m_extentsStack.push(this.m_childExtents[n].clone()))}else this.m_quadsStack.push(i),this.m_extentsStack.push(this.m_childExtents[n].clone())}if(0===this.m_quadsStack.length)return-1;this.m_currentElementHandle=this.m_quadTree.getFirstElement_(this.m_quadsStack.at(-1))}}return this.m_nextElementHandle=this.m_quadTree.getNextElement_(this.m_currentElementHandle),this.m_currentElementHandle}clone(){return g(0),{}}}class ut{constructor(t){this.m_bucketSort=new ot,this.m_sortedHandles=new st(0),this.m_index=-1,this.m_quadTreeIteratorImpl=t}resetIterator(t,e){this.m_quadTreeIteratorImpl.resetIterator(t,e),this.m_sortedHandles.resize(0),this.m_index=-1}next(){if(-1===this.m_index){let t=-1;for(;-1!==(t=this.m_quadTreeIteratorImpl.next());)this.m_sortedHandles.add(t);const e=this,s={userSort(t,s,i){i.sort(t,s,(t,s)=>e.m_quadTreeIteratorImpl.m_quadTree.getElement(t)-e.m_quadTreeIteratorImpl.m_quadTree.getElement(s))},getValue:t=>e.m_quadTreeIteratorImpl.m_quadTree.getElement(t)};this.m_bucketSort.sort(this.m_sortedHandles,0,this.m_sortedHandles.size(),s)}return this.m_index===this.m_sortedHandles.size()-1?-1:(this.m_index++,this.m_sortedHandles.read(this.m_index))}clone(){return g(0),{}}}class dt{constructor(t=!1){this.m_bNotifyOnActions=t}onDelete(t){}onSet(t){}onEndSearch(t){}onAddUniqueElementFailed(t){}onDeleteImpl(t,e){this.m_bNotifyOnActions&&this.onDelete(t.getElement(e))}onSetImpl(t,e){this.m_bNotifyOnActions&&this.onSet(t.getElement(e))}onAddUniqueElementFailedImpl(t){this.m_bNotifyOnActions&&this.onAddUniqueElementFailed(t)}onEndSearchImpl(t){this.m_bNotifyOnActions&&this.onEndSearch(t)}}class ct{static st_nullNode(){return-1}constructor(){this.m_defaultTreap=-1,this.m_random=124234251,this.m_comparator=null,this.m_treapData=new at(7),this.m_treapCount=0,this.m_maxDepthEver=0,this.m_bBalancing=!0}setComparator(t){this.m_comparator=t}getComparator(){return this.m_comparator}disableBalancing(){this.m_bBalancing=!1}enableBalancing(){this.m_bBalancing||(g(this.m_treapCount<=1),this.rebalance(-1),this.m_bBalancing=!0)}isAutoBalancing(){return this.m_bBalancing}rebalance(t){if(this.m_bBalancing)return;if(-1===t&&(t=this.m_defaultTreap),0===this.size(t))return;const e=[];for(let s=this.getFirst(t);-1!==s;s=this.getNext(s))e.push(s),this.setParent_(s,-1),this.setRight_(s,-1),this.setLeft_(s,-1);this.setRoot_(-1,t),this.setFirst_(-1,t),this.setLast_(-1,t),this.setSize_(0,t),this.m_bBalancing=!0;for(const s of e)this.addBiggestElement_(s,t);this.m_bBalancing=!1}setCapacity(t){this.m_treapData.setCapacity(t)}createTreap(t){const e=this.m_treapData.newElement();return this.setSize_(0,e),this.setTreapData_(t,e),this.m_treapCount++,e}deleteTreap(t){this.m_treapData.deleteElement(t),this.m_treapCount--}addElement(t,e=-1){return-1===e&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap),this.addElement_(t,0,e)}addUniqueElement(t,e=-1){return-1===e&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap),this.addElement_(t,1,e)}addBiggestElement(t,e=-1){-1===e&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap);const s=this.newNode_(t);return this.addBiggestElement_(s,e),s}addElementAtPosition(t,e,s,i,n,r=-1){if(-1===r&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),r=this.m_defaultTreap),this.getRoot_(r)===ct.st_nullNode()){const t=this.newNode_(s);return this.setRoot_(t,r),this.addToList_(-1,t,r),t}let h,o,a,m,_;if(n?(h=e!==ct.st_nullNode()?this.m_comparator.compare(this,s,e):-1,o=t!==ct.st_nullNode()?this.m_comparator.compare(this,s,t):1):(h=-1,o=1),i&&(0===h||0===o)){this.m_comparator.onAddUniqueElementFailedImpl(s);const i=0===h?e:t;return this.setDuplicateElement_(i,r),-1}_=e!==ct.st_nullNode()&&t!==ct.st_nullNode()?this.m_random>d(this.m_random)>>1:e!==ct.st_nullNode(),_?(m=h,a=e):(m=o,a=t);let l=-1,u=-1,c=!0;for(;;){if(m<0){const t=this.getLeft(a);if(t===ct.st_nullNode()){u=a,l=this.newNode_(s),this.setLeft_(a,l),this.setParent_(l,a);break}a=t}else{const t=this.getRight(a);if(t===ct.st_nullNode()){u=this.getNext(a),l=this.newNode_(s),this.setRight_(a,l),this.setParent_(l,a);break}a=t}c&&(m*=-1,c=!1)}return this.bubbleUp_(l),this.getParent(l)===ct.st_nullNode()&&this.setRoot_(l,r),this.addToList_(u,l,r),l}replaceElementAtPosition(t,e,s,i,n=-1){if(i){const i=this.getNext(t);let r=-1;i!==ct.st_nullNode()&&(r=this.m_comparator.compare(this,e,i));const h=this.getPrev(t);let o=-1;if(h!==ct.st_nullNode()&&(o=this.m_comparator.compare(this,e,h)),s&&(0===r||0===o)){this.m_comparator.onAddUniqueElementFailedImpl(e);const t=0===r?i:h;return n===ct.st_nullNode()&&(this.m_defaultTreap===ct.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),n=this.m_defaultTreap),this.setDuplicateElement_(t,n),-1}}return this.setElement_(t,e),t}getDuplicateElement(t=-1){return-1===t?this.getDuplicateElement_(this.m_defaultTreap):this.getDuplicateElement_(t)}deleteNode(t,e=-1){this.m_comparator&&this.m_comparator.onDeleteImpl(this,t),-1===e&&(e=this.m_defaultTreap),this.m_bBalancing?this.deleteNode_(t,e):this.unbalancedDelete_(t,e)}search(t,e=-1){let s=this.getRoot(e);for(;s!==ct.st_nullNode();){const e=this.m_comparator.compare(this,t,s);if(!e)return s;s=e<0?this.getLeft(s):this.getRight(s)}return this.m_comparator.onEndSearchImpl(t),ct.st_nullNode()}searchLowerBound(t,e=-1){let s=this.getRoot(e),i=-1;for(;s!==ct.st_nullNode();){const e=t.compare(this,s);if(!e)return s;e<0?s=this.getLeft(s):(i=s,s=this.getRight(s))}return i}searchUpperBound(t,e=-1){let s=this.getRoot(e),i=-1;for(;s!==ct.st_nullNode();){const e=t.compare(this,s);if(!e)return s;e<0?(i=s,s=this.getLeft(s)):s=this.getRight(s)}return i}getElement(t){return this.m_treapData.getField(t,3)}getLeft(t){return this.m_treapData.getField(t,0)}getRight(t){return this.m_treapData.getField(t,1)}getParent(t){return this.m_treapData.getField(t,2)}getNext(t){return this.m_treapData.getField(t,6)}getPrev(t){return this.m_treapData.getField(t,5)}getFirst(t=-1){return-1===t?this.getFirst_(this.m_defaultTreap):this.getFirst_(t)}getLast(t=-1){return-1===t?this.getLast_(this.m_defaultTreap):this.getLast_(t)}getTreapData(t=-1){return-1===t?this.getTreapData_(this.m_defaultTreap):this.getTreapData_(t)}setElement(t,e){null!==this.m_comparator&&this.m_comparator.onSetImpl(this,t),this.setElement_(t,e)}getRoot(t=-1){return-1===t?this.getRoot_(this.m_defaultTreap):this.getRoot_(t)}clear(){this.m_treapData.deleteAll(!1),this.m_defaultTreap=ct.st_nullNode(),this.m_treapCount=0,this.m_maxDepthEver=0}addToList_(t,e,s){let i;-1!==t?(i=this.getPrev(t),this.setPrev_(t,e)):i=this.getLast_(s),this.setPrev_(e,i),-1!==i&&this.setNext_(i,e),this.setNext_(e,t),t===this.getFirst_(s)&&this.setFirst_(e,s),-1===t&&this.setLast_(e,s),this.setSize_(this.getSize_(s)+1,s)}size(t=-1){return-1===t?this.getSize_(this.m_defaultTreap):this.getSize_(t)}getMaxDepth(t=-1){return this.getMaxDepthHelper_(this.getRoot(t))}getMaxDepthEver(){return this.m_maxDepthEver}static st_isValidNode(t){return at.isValidElement(t)}dbgCheck_(t){}getPriority_(t){return this.m_treapData.getField(t,4)}bubbleDown_(t){let e=this.getLeft(t),s=this.getRight(t);const i=this.getPriority_(t);for(;e!==ct.st_nullNode()||s!==ct.st_nullNode();){const n=e!==ct.st_nullNode()?this.getPriority_(e):c(),r=s!==ct.st_nullNode()?this.getPriority_(s):c();if(i<=Math.min(n,r))return;n<=r?this.rotateRight_(e):this.rotateLeft_(t),e=this.getLeft(t),s=this.getRight(t)}}bubbleUp_(t){if(!this.m_bBalancing)return;const e=this.getPriority_(t);let s=this.getParent(t);for(;s!==ct.st_nullNode()&&this.getPriority_(s)>e;)this.getLeft(s)===t?this.rotateRight_(t):this.rotateLeft_(s),s=this.getParent(t)}rotateLeft_(t){const e=t,s=this.getRight(t);let i;this.setParent_(s,this.getParent(e)),this.setParent_(e,s),i=this.getLeft(s),this.setRight_(e,i),i!==ct.st_nullNode()&&this.setParent_(i,e),this.setLeft_(s,e),i=this.getParent(s),i!==ct.st_nullNode()&&(this.getLeft(i)===e?this.setLeft_(i,s):this.setRight_(i,s))}rotateRight_(t){const e=this.getParent(t),s=t;let i;this.setParent_(s,this.getParent(e)),this.setParent_(e,s),i=this.getRight(s),this.setLeft_(e,i),i!==ct.st_nullNode()&&this.setParent_(i,e),this.setRight_(s,e),i=this.getParent(s),i!==ct.st_nullNode()&&(this.getLeft(i)===e?this.setLeft_(i,s):this.setRight_(i,s))}setParent_(t,e){this.m_treapData.setField(t,2,e)}setLeft_(t,e){this.m_treapData.setField(t,0,e)}setRight_(t,e){this.m_treapData.setField(t,1,e)}setPriority_(t,e){this.m_treapData.setField(t,4,e)}setPrev_(t,e){this.m_treapData.setField(t,5,e)}setNext_(t,e){this.m_treapData.setField(t,6,e)}setRoot_(t,e){this.m_treapData.setField(e,0,t)}setFirst_(t,e){this.m_treapData.setField(e,1,t)}setLast_(t,e){this.m_treapData.setField(e,2,t)}setDuplicateElement_(t,e){this.m_treapData.setField(e,3,t)}setSize_(t,e){this.m_treapData.setField(e,4,t)}setTreapData_(t,e){this.m_treapData.setField(e,5,t)}getRoot_(t){return-1===t?ct.st_nullNode():this.m_treapData.getField(t,0)}getFirst_(t){return-1===t?ct.st_nullNode():this.m_treapData.getField(t,1)}getLast_(t){return-1===t?ct.st_nullNode():this.m_treapData.getField(t,2)}getDuplicateElement_(t){return-1===t?ct.st_nullNode():this.m_treapData.getField(t,3)}getSize_(t){return-1===t?0:this.m_treapData.getField(t,4)}getTreapData_(t){return this.m_treapData.getField(t,5)}newNode_(t){const e=this.m_treapData.newElement();return this.setPriority_(e,this.generatePriority_()),this.setElement_(e,t),e}freeNode_(t,e){t!==ct.st_nullNode()&&this.m_treapData.deleteElement(t)}generatePriority_(){return this.m_random=d(this.m_random),this.m_random&c()>>1}maxPriority(){return g(0),0}getMaxDepthHelper_(t){return t===ct.st_nullNode()?0:1+Math.max(this.getMaxDepthHelper_(this.getLeft(t)),this.getMaxDepthHelper_(this.getRight(t)))}addElement_(t,e,s){if(this.getRoot(s)===ct.st_nullNode()){const e=this.newNode_(t);return this.setRoot_(e,s),this.addToList_(-1,e,s),this.m_maxDepthEver=Math.max(this.m_maxDepthEver,1),e}let i=this.getRoot_(s),n=-1,r=-1,h=1;for(;;){const o=-1===e?1:this.m_comparator.compare(this,t,i);if(o<0){const e=this.getLeft(i);if(e===ct.st_nullNode()){r=i,n=this.newNode_(t),this.setLeft_(i,n),this.setParent_(n,i);break}i=e}else{if(1===e&&0===o)return this.m_comparator.onAddUniqueElementFailedImpl(t),this.setDuplicateElement_(i,s),-1;const h=this.getRight(i);if(h===ct.st_nullNode()){r=this.getNext(i),n=this.newNode_(t),this.setRight_(i,n),this.setParent_(n,i);break}i=h}h++}return this.bubbleUp_(n),this.getParent(n)===ct.st_nullNode()&&this.setRoot_(n,s),this.addToList_(r,n,s),this.m_maxDepthEver=Math.max(h,this.m_maxDepthEver),n}removeFromList_(t,e){const s=this.getPrev(t),i=this.getNext(t);-1!==s?this.setNext_(s,i):this.setFirst_(i,e),-1!==i?this.setPrev_(i,s):this.setLast_(s,e),this.setSize_(this.getSize_(e)-1,e)}unbalancedDelete_(t,e){this.removeFromList_(t,e);let s=this.getLeft(t),i=this.getRight(t),n=this.getParent(t),r=t;if(-1!==s&&-1!==i){let h;this.m_random=d(this.m_random),h=this.m_random>c()>>1?this.getNext(t):this.getPrev(t);const o=this.getParent(h)===t;this.m_treapData.swapField(t,h,0),this.m_treapData.swapField(t,h,1),this.m_treapData.swapField(t,h,2),-1!==n?this.getLeft(n)===t?this.setLeft_(n,h):this.setRight_(n,h):this.setRoot_(h,e),o?(s===h?(this.setLeft_(h,t),this.setParent_(i,h)):i===h&&(this.setRight_(h,t),this.setParent_(s,h)),this.setParent_(t,h),n=h):(this.setParent_(s,h),this.setParent_(i,h),n=this.getParent(t),r=h),s=this.getLeft(t),i=this.getRight(t),-1!==s&&this.setParent_(s,t),-1!==i&&this.setParent_(i,t)}const h=-1!==s?s:i;-1===n?this.setRoot_(h,e):this.getLeft(n)===r?this.setLeft_(n,h):this.setRight_(n,h),-1!==h&&this.setParent_(h,n),this.freeNode_(t,e)}deleteNode_(t,e){this.setPriority_(t,c());let s=ct.st_nullNode(),i=ct.st_nullNode();const n=this.getRoot_(e),r=n===t;if(r&&(s=this.getLeft(n),i=this.getRight(n),s===ct.st_nullNode()&&i===ct.st_nullNode()))return this.removeFromList_(n,e),this.freeNode_(n,e),void this.setRoot_(ct.st_nullNode(),e);this.bubbleDown_(t);const h=this.getParent(t);h!==ct.st_nullNode()&&(this.getLeft(h)===t?this.setLeft_(h,ct.st_nullNode()):this.setRight_(h,ct.st_nullNode())),this.removeFromList_(t,e),this.freeNode_(t,e),r&&this.setRoot_(s===ct.st_nullNode()||this.getParent(s)!==ct.st_nullNode()?i:s,e)}setElement_(t,e){this.m_treapData.setField(t,3,e)}addBiggestElement_(t,e){if(this.getRoot_(e)===ct.st_nullNode())return this.setRoot_(t,e),void this.addToList_(-1,t,e);const s=this.getLast_(e);this.setRight_(s,t),this.setParent_(t,s),this.bubbleUp_(t),this.getParent(t)===ct.st_nullNode()&&this.setRoot_(t,e),this.addToList_(-1,t,e)}}class pt{constructor(t){this.m_lists=new at(6),this.m_listOfLists=pt.st_nullNode(),void 0===t?(this.m_listNodes=new at(3),this.m_bStoreListIndexWithNode=!1):(this.m_listNodes=new at(t?4:3),this.m_bStoreListIndexWithNode=t)}freeNode_(t){this.m_listNodes.deleteElement(t)}newNode_(){return this.m_listNodes.newElement()}freeList_(t){g(0)}newList_(){return this.m_lists.newElement()}setPrev_(t,e){this.m_listNodes.setField(t,1,e)}setNext_(t,e){this.m_listNodes.setField(t,2,e)}setData_(t,e){g(0)}setList_(t,e){return this.m_listNodes.setField(t,3,e)}setListSize_(t,e){this.m_lists.setField(t,4,e)}setNextList_(t,e){g(0)}setPrevList_(t,e){this.m_lists.setField(t,2,e)}createList(t){const e=this.newList_();return this.m_lists.setField(e,3,this.m_listOfLists),this.m_lists.setField(e,4,0),this.m_lists.setField(e,5,t),this.m_listOfLists!==pt.st_nullNode()&&this.setPrevList_(this.m_listOfLists,e),this.m_listOfLists=e,e}deleteList(t){this.clear(t);const e=this.m_lists.getField(t,2),s=this.m_lists.getField(t,3);return e!==pt.st_nullNode()?this.setNextList_(e,s):this.m_listOfLists=s,s!==pt.st_nullNode()&&this.setPrevList_(s,e),this.freeList_(t),s}reserveLists(t){g(0)}getListData(t){return this.m_lists.getField(t,5)}getList(t){return g(0),0}setListData(t,e){this.m_lists.setField(t,5,e)}addElement(t,e){return this.insertElement(t,-1,e)}insertElement(t,e,s){const i=this.newNode_();let n=-1;e!==pt.st_nullNode()&&(n=this.getPrev(e),this.setPrev_(e,i)),this.setNext_(i,e),n!==pt.st_nullNode()&&this.setNext_(n,i);if(e===this.m_lists.getField(t,0)&&this.m_lists.setField(t,0,i),e===pt.st_nullNode()){const e=this.m_lists.getField(t,1);this.setPrev_(i,e),-1!==e&&this.setNext_(e,i),this.m_lists.setField(t,1,i)}return this.setData(i,s),this.setListSize_(t,this.getListSize(t)+1),this.m_bStoreListIndexWithNode&&this.setList_(i,t),i}deleteElement(t,e){const s=this.getPrev(e),i=this.getNext(e);return s!==pt.st_nullNode()?this.setNext_(s,i):this.m_lists.setField(t,0,i),i!==pt.st_nullNode()?this.setPrev_(i,s):this.m_lists.setField(t,1,s),this.freeNode_(e),this.setListSize_(t,this.getListSize(t)-1),i}reserveNodes(t){this.m_listNodes.setCapacity(t)}getData(t){return this.m_listNodes.getField(t,0)}getElement(t){return this.getData(t)}setData(t,e){this.m_listNodes.setField(t,0,e)}getNext(t){return this.m_listNodes.getField(t,2)}getPrev(t){return this.m_listNodes.getField(t,1)}getFirst(t){return this.m_lists.getField(t,0)}getLast(t){return this.m_lists.getField(t,1)}static st_nullNode(){return-1}clear(t){if(void 0!==t){let e=this.getLast(t);for(;e!==pt.st_nullNode();){const t=e;e=this.getPrev(t),this.freeNode_(t)}return this.m_lists.setField(t,0,-1),this.m_lists.setField(t,1,-1),void this.setListSize_(t,0)}for(let e=this.getFirstList();-1!==e;)e=this.deleteList(e)}isEmpty(t){return g(0),!1}getNodeCount(){return this.m_listNodes.size()}getListCount(){return this.m_lists.size()}getListSize(t){return this.m_lists.getField(t,4)}getFirstList(){return this.m_listOfLists}getNextList(t){return this.m_lists.getField(t,3)}}class gt extends dt{constructor(t){super(),this.m_intervalTree=t}compare(t,e,s){const i=t.getElement(s),n=this.m_intervalTree.getValue_(e),r=this.m_intervalTree.getValue_(i);return n<r?-1:n===r?ft.isLeft_(e)&&ft.isRight_(i)?-1:ft.isLeft_(i)&&ft.isRight_(e)?1:0:1}}class ft{constructor(t){this.m_bEnvelopesRef=!1,this.m_intervals=[],this.m_envelopesRef=null,this.m_intervalNodes=new at(3),this.m_intervalHandles=[],this.m_endIndicesUnique=[],this.m_cCount=-1,this.m_root=-1,this.m_bSortIntervals=!1,this.m_bConstructing=!1,this.m_bConstructionEnded=!1,this.m_bOfflineDynamic=t,this.m_tertiaryNodes=new at(this.m_bOfflineDynamic?5:4),this.m_secondaryTreaps=new ct,this.m_secondaryTreaps.setComparator(new gt(this)),this.m_secondaryLists=new pt}addEnvelopesRef(t){this.reset_(!0,!0),this.m_bEnvelopesRef=!0,this.m_envelopesRef=t,this.m_bConstructing=!1,this.m_bConstructionEnded=!0,this.m_bOfflineDynamic||(this.insertIntervalsStatic_(),this.m_cCount=this.m_envelopesRef.length)}startConstruction(){this.reset_(!0,!1)}addInterval(t){this.m_bConstructing||I(""),this.m_intervals.push(t.clone())}addIntervalCoords(t,e){g(0)}endConstruction(){this.m_bConstructing||I(""),this.m_bConstructing=!1,this.m_bConstructionEnded=!0,this.m_bOfflineDynamic||(this.insertIntervalsStatic_(),this.m_cCount=this.m_intervals.length)}insert(t){if(this.m_bOfflineDynamic&&this.m_bConstructionEnded||I(""),-1===this.m_root){const t=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length;if(this.m_bSortIntervals){const e=new st(0);this.querySortedEndPointIndices_(e),this.m_endIndicesUnique.length=0,this.querySortedDuplicatesRemoved_(e),this.m_intervalHandles.length=t,this.m_intervalHandles.fill(-1),this.m_bSortIntervals=!1}else this.m_intervalHandles.fill(-1,0,t);this.m_root=this.createRoot_()}const e=this.insertIntervalEnd_(t<<1,this.m_root),s=this.getSecondaryFromInterval_(e),i=this.m_secondaryTreaps.addElement(1+(t<<1),s);this.setRightEnd_(e,i),this.m_intervalHandles[t]=e,this.m_cCount++}remove(t){this.m_bOfflineDynamic&&this.m_bConstructionEnded||I("");const e=this.m_intervalHandles[t];let s;-1===e&&f("the interval does not exist in the interval tree"),this.m_intervalHandles[t]=-1,this.m_cCount--;let i=this.getSecondaryFromInterval_(e),n=-1;n=this.m_secondaryTreaps.getTreapData(i),this.m_secondaryTreaps.deleteNode(this.getLeftEnd_(e),i),this.m_secondaryTreaps.deleteNode(this.getRightEnd_(e),i),s=this.m_secondaryTreaps.size(i),0===s&&(this.m_secondaryTreaps.deleteTreap(i),this.setSecondaryToTertiary_(n,-1)),this.m_intervalNodes.deleteElement(e);let r=this.getPptr_(n),h=this.getLptr_(n),o=this.getRptr_(n);for(;!(s>0||n===this.m_root||-1!==h&&-1!==o);)n===this.getLptr_(r)?-1!==h?(this.setLptr_(r,h),this.setPptr_(h,r),this.setLptr_(n,-1),this.setPptr_(n,-1)):-1!==o?(this.setLptr_(r,o),this.setPptr_(o,r),this.setRptr_(n,-1),this.setPptr_(n,-1)):(this.setLptr_(r,-1),this.setPptr_(n,-1)):-1!==h?(this.setRptr_(r,h),this.setPptr_(h,r),this.setLptr_(n,-1),this.setPptr_(n,-1)):-1!==o?(this.setRptr_(r,o),this.setPptr_(o,r),this.setRptr_(n,-1),this.setPptr_(n,-1)):(this.setRptr_(r,-1),this.setPptr_(n,-1)),this.m_tertiaryNodes.deleteElement(n),n=r,i=this.getSecondaryFromTertiary_(n),s=-1!==i?this.m_secondaryTreaps.size(i):0,h=this.getLptr_(n),o=this.getRptr_(n),r=this.getPptr_(n)}size(){return this.m_cCount}getIteratorQuery(t,e){return t instanceof r?new vt(this,t,e):(g(0),{})}getIterator(){return new vt(this)}querySortedEndPointIndices_(t){const e=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length;for(let s=0;s<2*e;s++)t.add(s);this.sortEndIndices_(t,0,2*e)}querySortedDuplicatesRemoved_(t){let e=Number.NaN;for(let s=0;s<t.size();s++){const i=t.read(s),n=this.getValue_(i);n!==e&&(this.m_endIndicesUnique.push(i),e=n)}}insertIntervalsStatic_(){const t=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length,s=new st(0);this.querySortedEndPointIndices_(s),this.m_endIndicesUnique.length=0,this.querySortedDuplicatesRemoved_(s),this.m_intervalNodes.setCapacity(t),this.m_secondaryLists.reserveNodes(2*t);const i=e(t,-1);this.m_root=this.createRoot_();for(let e=0;e<s.size();e++){const t=s.read(e);let n=i[t>>1];if(-1!==n){const e=this.getSecondaryFromInterval_(n);this.setRightEnd_(n,this.m_secondaryLists.addElement(e,t))}else n=this.insertIntervalEnd_(t,this.m_root),i[t>>1]=n}}createRoot_(){const t=this.calculateDiscriminantIndex1_(0,this.m_endIndicesUnique.length-1);return this.createTertiaryNode_(t)}insertIntervalEnd_(t,e){let s=-1,i=e,n=-1,r=-1,h=0,o=this.m_endIndicesUnique.length-1,a=0;const m=t>>1;let _=Number.NaN,l=Number.NaN,u=!0;const d=this.getMin_(m),c=this.getMax_(m);let p=-1;for(;u;){a=h+(o-h>>1),p=this.calculateDiscriminantIndex1_(h,o);const e=this.getDiscriminantFromIndex1_(p);if(c<e){if(-1!==i)if(p===this.getDiscriminantIndex1_(i))s=i,_=e,i=this.getLptr_(i),l=-1!==i?this.getDiscriminant_(i):Number.NaN;else if(l>e){const t=this.createTertiaryNode_(p);e<_?this.setLptr_(s,t):this.setRptr_(s,t),this.setRptr_(t,i),this.m_bOfflineDynamic&&(this.setPptr_(t,s),this.setPptr_(i,t)),s=t,_=e,i=-1,l=Number.NaN}o=a;continue}if(d>e){if(-1!==i)if(p===this.getDiscriminantIndex1_(i))s=i,_=e,i=this.getRptr_(i),l=-1!==i?this.getDiscriminant_(i):Number.NaN;else if(l<e){const t=this.createTertiaryNode_(p);e<_?this.setLptr_(s,t):this.setRptr_(s,t),this.setLptr_(t,i),this.m_bOfflineDynamic&&(this.setPptr_(t,s),this.setPptr_(i,t)),s=t,_=e,i=-1,l=Number.NaN}h=a+1;continue}let m=-1;m=-1===i||p!==this.getDiscriminantIndex1_(i)?this.createTertiaryNode_(p):i,n=this.getSecondaryFromTertiary_(m),-1===n&&(n=this.createSecondary_(m),this.setSecondaryToTertiary_(m,n));const g=this.addEndIndex_(n,t);r=this.createIntervalNode_(),this.setSecondaryToInterval_(r,n),this.setLeftEnd_(r,g),-1!==i&&p===this.getDiscriminantIndex1_(i)||(e<_?this.setLptr_(s,m):this.setRptr_(s,m),this.m_bOfflineDynamic&&this.setPptr_(m,s),-1!==i&&(l<e?this.setLptr_(m,i):this.setRptr_(m,i),this.m_bOfflineDynamic&&this.setPptr_(i,m))),u=!1;break}return r}createTertiaryNode_(t){const e=this.m_tertiaryNodes.newElement();return this.setDiscriminantIndex1_(e,t),e}createSecondary_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.createTreap(t):this.m_secondaryLists.createList(t)}createIntervalNode_(){return this.m_intervalNodes.newElement()}reset(){this.m_bOfflineDynamic&&this.m_bConstructionEnded||I(""),this.reset_(!1,this.m_bEnvelopesRef)}reset_(t,e){t?(this.m_bEnvelopesRef=!1,this.m_envelopesRef=null,this.m_bSortIntervals=!0,this.m_bConstructing=!0,this.m_bConstructionEnded=!1,this.m_endIndicesUnique.length=0,e?(this.m_intervals.length=0,this.m_bEnvelopesRef=!0):this.m_intervals.length=0):this.m_bSortIntervals=!1,this.m_bOfflineDynamic?this.m_secondaryTreaps.clear():this.m_secondaryLists.clear(),this.m_intervalNodes.deleteAll(!1),this.m_tertiaryNodes.deleteAll(!1),this.m_root=-1,this.m_cCount=0}getDiscriminant_(t){const e=this.getDiscriminantIndex1_(t);return this.getDiscriminantFromIndex1_(e)}getDiscriminantFromIndex1_(t){if(-1===t)return Number.NaN;if(t>0){const e=t-2,s=this.m_endIndicesUnique[e],i=this.m_endIndicesUnique[e+1];return.5*(this.getValue_(s)+this.getValue_(i))}const e=-t-2,s=this.m_endIndicesUnique[e];return this.getValue_(s)}calculateDiscriminantIndex1_(t,e){let s;if(t<e){s=t+(e-t>>1)+2}else s=-(t+2);return s}setDiscriminantIndex1_(t,e){this.m_tertiaryNodes.setField(t,0,e)}setSecondaryToTertiary_(t,e){this.m_tertiaryNodes.setField(t,1,e)}setLptr_(t,e){this.m_tertiaryNodes.setField(t,2,e)}setRptr_(t,e){this.m_tertiaryNodes.setField(t,3,e)}setPptr_(t,e){this.m_tertiaryNodes.setField(t,4,e)}setSecondaryToInterval_(t,e){this.m_intervalNodes.setField(t,0,e)}addEndIndex_(t,e){let s=-1;return s=this.m_bOfflineDynamic?this.m_secondaryTreaps.addElement(e,t):this.m_secondaryLists.addElement(t,e),s}setLeftEnd_(t,e){this.m_intervalNodes.setField(t,1,e)}setRightEnd_(t,e){this.m_intervalNodes.setField(t,2,e)}getFirst_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.getFirst(t):this.m_secondaryLists.getFirst(t)}getLast_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.getLast(t):this.m_secondaryLists.getLast(t)}static isLeft_(t){return!(1&t)}static isRight_(t){return!(1&~t)}getDiscriminantIndex1_(t){return this.m_tertiaryNodes.getField(t,0)}getSecondaryFromTertiary_(t){return this.m_tertiaryNodes.getField(t,1)}getLptr_(t){return this.m_tertiaryNodes.getField(t,2)}getRptr_(t){return this.m_tertiaryNodes.getField(t,3)}getPptr_(t){return this.m_tertiaryNodes.getField(t,4)}getSecondaryFromInterval_(t){return this.m_intervalNodes.getField(t,0)}getLeftEnd_(t){return this.m_intervalNodes.getField(t,1)}getRightEnd_(t){return this.m_intervalNodes.getField(t,2)}getMin_(t){return this.m_bEnvelopesRef?this.m_envelopesRef[t].xmin:this.m_intervals[t].vmin}getMax_(t){return this.m_bEnvelopesRef?this.m_envelopesRef[t].xmax:this.m_intervals[t].vmax}sortEndIndices_(t,e,s){const i=this,n={userSort(t,e,s){i.sortEndIndicesHelper_(s,t,e)},getValue:t=>i.getValue_(t)};(new ot).sort(t,e,s,n)}sortEndIndicesHelper_(t,e,s){t.sort(e,s,(t,e)=>{const s=this.getValue_(t),i=this.getValue_(e);return s<i||s===i&&ft.isLeft_(t)&&ft.isRight_(e)?-1:1})}getValue_(t){if(!this.m_bEnvelopesRef){const e=this.m_intervals[t>>1];return ft.isLeft_(t)?e.vmin:e.vmax}const e=this.m_envelopesRef[t>>1];return ft.isLeft_(t)?e.xmin:e.xmax}}class vt{constructor(t,e,s){this.m_query=r.constructEmpty(),this.m_tertiaryHandle=-1,this.m_nextTertiaryHandle=-1,this.m_forkedHandle=-1,this.m_currentEndHandle=-1,this.m_nextEndHandle=-1,this.m_tertiaryStack=[],this.m_functionIndex=0,this.m_intervalTree=t,this.m_functionStack=new Array(2),this.m_functionStack[0]=this.nullFunc_,this.m_functionStack[1]=this.nullFunc_,void 0!==e&&this.resetIterator(e,s)}nullFunc_(){return N("should not be called"),!1}resetIterator(t,e){if("number"==typeof t){const s=new r;s.setCoords(t,t),this.resetIterator(s,e)}else void 0===e&&(e=0),this.m_query.vmin=t.vmin-e,this.m_query.vmax=t.vmax+e,this.m_tertiaryStack.length=0,this.m_functionIndex=0,this.m_functionStack[0]=this.initialize_}next(){if(this.m_intervalTree.m_bConstructionEnded||I(""),this.m_functionIndex<0)return-1;for(;this.m_fi=this.m_functionStack[this.m_functionIndex],this.m_fi(););return-1!==this.m_currentEndHandle?this.getCurrentEndIndex_()>>1:-1}initialize_(){return this.m_tertiaryHandle=-1,this.m_nextTertiaryHandle=-1,this.m_forkedHandle=-1,this.m_currentEndHandle=-1,this.m_intervalTree.m_tertiaryNodes.size()>0?(this.m_functionStack[0]=this.pIn_,this.m_nextTertiaryHandle=this.m_intervalTree.m_root,!0):(this.m_functionIndex=-1,!1)}pIn_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionIndex=-1,this.m_currentEndHandle=-1,!1;const t=this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle);if(this.m_query.vmax<t){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.left_),!0}if(t<this.m_query.vmin){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getLast_(t),this.m_functionStack[++this.m_functionIndex]=this.right_),!0}this.m_functionStack[this.m_functionIndex]=this.pL_,this.m_forkedHandle=this.m_tertiaryHandle;const e=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==e&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(e),this.m_functionStack[++this.m_functionIndex]=this.all_),!0}pL_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionStack[this.m_functionIndex]=this.pR_,this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_forkedHandle),!0;if(this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle)<this.m_query.vmin){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getLast_(t),this.m_functionStack[++this.m_functionIndex]=this.right_),!0}const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.all_);const e=this.m_intervalTree.getRptr_(this.m_tertiaryHandle);return-1!==e&&this.m_tertiaryStack.push(e),!0}pR_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionStack[this.m_functionIndex]=this.pT_,!0;const t=this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle);if(this.m_query.vmax<t){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.left_),!0}const e=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==e&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(e),this.m_functionStack[++this.m_functionIndex]=this.all_);const s=this.m_intervalTree.getLptr_(this.m_tertiaryHandle);return-1!==s&&this.m_tertiaryStack.push(s),!0}pT_(){if(0===this.m_tertiaryStack.length)return this.m_functionIndex=-1,this.m_currentEndHandle=-1,!1;this.m_tertiaryHandle=this.m_tertiaryStack.at(-1),this.m_tertiaryStack.pop();const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.all_),-1!==this.m_intervalTree.getLptr_(this.m_tertiaryHandle)&&this.m_tertiaryStack.push(this.m_intervalTree.getLptr_(this.m_tertiaryHandle)),-1!==this.m_intervalTree.getRptr_(this.m_tertiaryHandle)&&this.m_tertiaryStack.push(this.m_intervalTree.getRptr_(this.m_tertiaryHandle)),!0}left_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&ft.isLeft_(this.getCurrentEndIndex_())&&this.m_intervalTree.getValue_(this.getCurrentEndIndex_())<=this.m_query.vmax?(this.m_nextEndHandle=this.getNext_(),!1):(this.m_functionIndex--,!0)}right_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&ft.isRight_(this.getCurrentEndIndex_())&&this.m_intervalTree.getValue_(this.getCurrentEndIndex_())>=this.m_query.vmin?(this.m_nextEndHandle=this.getPrev_(),!1):(this.m_functionIndex--,!0)}all_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&ft.isLeft_(this.getCurrentEndIndex_())?(this.m_nextEndHandle=this.getNext_(),!1):(this.m_functionIndex--,!0)}getNext_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getNext(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getNext(this.m_currentEndHandle)}getPrev_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getPrev(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getPrev(this.m_currentEndHandle)}getCurrentEndIndex_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getElement(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getData(this.m_currentEndHandle)}}class yt{constructor(){this.m_tolerance=0,this.m_sweepIndexRed=-1,this.m_sweepIndexBlue=-1,this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_intervalTreeRed=null,this.m_intervalTreeBlue=null,this.m_iteratorRed=null,this.m_iteratorBlue=null,this.m_envelopesRed=[],this.m_envelopesBlue=[],this.m_elementsRed=[],this.m_elementsBlue=[],this.m_sortedEndIndicesRed=new st(0),this.m_sortedEndIndicesBlue=new st(0),this.m_queuedListRed=-1,this.m_queuedListBlue=-1,this.m_queuedEnvelopes=new pt,this.m_queuedIndicesRed=[],this.m_queuedIndicesBlue=[],this.m_bAddRed=!1,this.m_bAddBlue=!1,this.m_bAddRedRed=!1,this.m_bDone=!0,this.m_function=this.nullFunc_,this.reset_()}startConstruction(){this.reset_(),this.m_bAddRedRed=!0,this.m_elementsRed.length=0,this.m_envelopesRed.length=0}addEnvelope(t,e){this.m_bAddRedRed||I(""),this.m_elementsRed.push(t),this.m_envelopesRed.push(new p(e))}endConstruction(){this.m_bAddRedRed||I(""),this.m_bAddRedRed=!1,this.m_envelopesRed.length>0&&(this.m_function=this.initialize_,this.m_bDone=!1)}startRedConstruction(){this.reset_(),this.m_bAddRed=!0,this.m_elementsRed.length=0,this.m_envelopesRed.length=0}addRedEnvelope(t,e){this.m_bAddRed||I(""),this.m_elementsRed.push(t),this.m_envelopesRed.push(e.clone())}endRedConstruction(){this.m_bAddRed||I(""),this.m_bAddRed=!1,this.m_envelopesRed.length>0&&this.m_envelopesBlue.length>0&&(this.m_function===this.nullFunc_||this.m_function===this.initializeBlue_?this.m_function=this.initializeRedBlue_:this.m_function!==this.initializeRedBlue_&&(this.m_function=this.initializeRed_),this.m_bDone=!1)}startBlueConstruction(){this.reset_(),this.m_bAddBlue=!0,this.m_elementsBlue.length=0,this.m_envelopesBlue.length=0}addBlueEnvelope(t,e){this.m_bAddBlue||I(""),this.m_elementsBlue.push(t),this.m_envelopesBlue.push(e.clone())}endBlueConstruction(){this.m_bAddBlue||I(""),this.m_bAddBlue=!1,this.m_envelopesRed.length>0&&this.m_envelopesBlue.length>0&&(this.m_function===this.nullFunc_||this.m_function===this.initializeRed_?this.m_function=this.initializeRedBlue_:this.m_function!==this.initializeRedBlue_&&(this.m_function=this.initializeBlue_),this.m_bDone=!1)}next(){if(this.m_bDone)return!1;for(;this.m_function(););return!this.m_bDone}getHandleA(){return this.m_envelopeHandleA}getHandleB(){return this.m_envelopeHandleB}setTolerance(t){this.m_tolerance=t}getElement(t){return this.m_elementsRed[t]}getRedEnvelope(t){return this.m_envelopesRed[t]}getBlueEnvelope(t){return this.m_envelopesBlue[t]}getRedElement(t){return this.m_elementsRed[t]}getBlueElement(t){return this.m_elementsBlue[t]}isTop_(t){return!(1&~t)}isBottom_(t){return!(1&t)}reset_(){this.m_bAddRed=!1,this.m_bAddBlue=!1,this.m_bAddRedRed=!1,this.m_sweepIndexRed=-1,this.m_sweepIndexBlue=-1,this.m_queuedListRed=-1,this.m_queuedListBlue=-1,this.m_bDone=!0}initialize_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new ft(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),this.m_sortedEndIndicesRed.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,2*this.m_envelopesRed.length,!0),this.m_sweepIndexRed=2*this.m_envelopesRed.length,this.m_function=this.sweep_,!0}initializeRed_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new ft(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),this.m_sortedEndIndicesRed.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,this.m_sortedEndIndicesRed.size(),!0),this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),this.m_function=this.sweepRedBlue_,this.resetBlue_()}initializeBlue_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeBlue||(this.m_intervalTreeBlue=new ft(!0)),this.m_intervalTreeBlue.addEnvelopesRef(this.m_envelopesBlue),null==this.m_iteratorBlue&&(this.m_iteratorBlue=this.m_intervalTreeBlue.getIterator()),this.m_sortedEndIndicesBlue.resize(0);for(let t=0;t<2*this.m_envelopesBlue.length;t++)this.m_sortedEndIndicesBlue.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesBlue,0,this.m_sortedEndIndicesBlue.size(),!1),this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_function=this.sweepRedBlue_,this.resetRed_()}initializeRedBlue_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new ft(!0)),this.m_intervalTreeBlue||(this.m_intervalTreeBlue=new ft(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),this.m_intervalTreeBlue.addEnvelopesRef(this.m_envelopesBlue),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),null===this.m_iteratorBlue&&(this.m_iteratorBlue=this.m_intervalTreeBlue.getIterator()),this.m_sortedEndIndicesRed.resize(0),this.m_sortedEndIndicesBlue.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);for(let t=0;t<2*this.m_envelopesBlue.length;t++)this.m_sortedEndIndicesBlue.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,this.m_sortedEndIndicesRed.size(),!0),this.sortYEndIndices_(this.m_sortedEndIndicesBlue,0,this.m_sortedEndIndicesBlue.size(),!1),this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_function=this.sweepRedBlue_,!0}sweep_(){const t=this.m_sortedEndIndicesRed.read(--this.m_sweepIndexRed),e=t>>1;if(this.isBottom_(t))return this.m_intervalTreeRed.remove(e),0!==this.m_sweepIndexRed||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);const s=r.construct(this.m_envelopesRed[e].xmin,this.m_envelopesRed[e].xmax);return this.m_iteratorRed.resetIterator(s,this.m_tolerance),this.m_envelopeHandleA=e,this.m_function=this.iterate_,!0}sweepBruteForce_(){return-1===--this.m_sweepIndexRed?(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1):(this.m_envelopeHandleA=this.m_sweepIndexRed,this.m_sweepIndexBlue=this.m_sweepIndexRed,this.m_function=this.iterateBruteForce_,!0)}sweepRedBlueBruteForce_(){return-1===--this.m_sweepIndexRed?(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1):(this.m_envelopeHandleA=this.m_sweepIndexRed,this.m_sweepIndexBlue=this.m_envelopesBlue.length,this.m_function=this.iterateRedBlueBruteForce_,!0)}sweepRedBlue_(){const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed-1),e=this.m_sortedEndIndicesBlue.read(this.m_sweepIndexBlue-1),s=this.getAdjustedValue_(t,!0),i=this.getAdjustedValue_(e,!1);return s>i?this.sweepRed_():s<i?this.sweepBlue_():this.isTop_(t)?this.sweepRed_():this.isTop_(e)?this.sweepBlue_():this.sweepRed_()}sweepRed_(){const t=this.m_sortedEndIndicesRed.read(--this.m_sweepIndexRed),e=t>>1;if(this.isBottom_(t))return-1!==this.m_queuedListRed&&-1!==this.m_queuedIndicesRed[e]?(this.m_queuedEnvelopes.deleteElement(this.m_queuedListRed,this.m_queuedIndicesRed[e]),this.m_queuedIndicesRed[e]=-1):this.m_intervalTreeRed.remove(e),0!==this.m_sweepIndexRed||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);if(-1!==this.m_queuedListBlue&&this.m_queuedEnvelopes.getListSize(this.m_queuedListBlue)>0){let t=this.m_queuedEnvelopes.getFirst(this.m_queuedListBlue);for(;-1!==t;){const e=this.m_queuedEnvelopes.getData(t);this.m_intervalTreeBlue.insert(e),this.m_queuedIndicesBlue[e]=-1;const s=this.m_queuedEnvelopes.getNext(t);this.m_queuedEnvelopes.deleteElement(this.m_queuedListBlue,t),t=s}}if(this.m_intervalTreeBlue.size()>0){const t=r.construct(this.m_envelopesRed[e].xmin,this.m_envelopesRed[e].xmax);this.m_iteratorBlue.resetIterator(t,this.m_tolerance),this.m_envelopeHandleA=e,this.m_function=this.iterateBlue_}else-1===this.m_queuedListRed&&(u(this.m_queuedIndicesRed,this.m_envelopesRed.length,-1),this.m_queuedListRed=this.m_queuedEnvelopes.createList(1)),this.m_queuedIndicesRed[e]=this.m_queuedEnvelopes.addElement(this.m_queuedListRed,e),this.m_function=this.sweepRedBlue_;return!0}sweepBlue_(){const t=this.m_sortedEndIndicesBlue.read(--this.m_sweepIndexBlue),e=t>>1;if(this.isBottom_(t))return-1!==this.m_queuedListBlue&&-1!==this.m_queuedIndicesBlue[e]?(this.m_queuedEnvelopes.deleteElement(this.m_queuedListBlue,this.m_queuedIndicesBlue[e]),this.m_queuedIndicesBlue[e]=-1):this.m_intervalTreeBlue.remove(e),0!==this.m_sweepIndexBlue||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);if(-1!==this.m_queuedListRed&&this.m_queuedEnvelopes.getListSize(this.m_queuedListRed)>0){let t=this.m_queuedEnvelopes.getFirst(this.m_queuedListRed);for(;-1!==t;){const e=this.m_queuedEnvelopes.getData(t);this.m_intervalTreeRed.insert(e),this.m_queuedIndicesRed[e]=-1;const s=this.m_queuedEnvelopes.getNext(t);this.m_queuedEnvelopes.deleteElement(this.m_queuedListRed,t),t=s}}if(this.m_intervalTreeRed.size()>0){const t=r.construct(this.m_envelopesBlue[e].xmin,this.m_envelopesBlue[e].xmax);this.m_iteratorRed.resetIterator(t,this.m_tolerance),this.m_envelopeHandleB=e,this.m_function=this.iterateRed_}else-1===this.m_queuedListBlue&&(u(this.m_queuedIndicesBlue,this.m_envelopesBlue.length,-1),this.m_queuedListBlue=this.m_queuedEnvelopes.createList(0)),this.m_queuedIndicesBlue[e]=this.m_queuedEnvelopes.addElement(this.m_queuedListBlue,e),this.m_function=this.sweepRedBlue_;return!0}iterate_(){if(this.m_envelopeHandleB=this.m_iteratorRed.next(),-1!==this.m_envelopeHandleB)return!1;const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed)>>1;return this.m_intervalTreeRed.insert(t),this.m_function=this.sweep_,!0}iterateRed_(){if(this.m_envelopeHandleA=this.m_iteratorRed.next(),-1!==this.m_envelopeHandleA)return!1;this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1;const t=this.m_sortedEndIndicesBlue.read(this.m_sweepIndexBlue)>>1;return this.m_intervalTreeBlue.insert(t),this.m_function=this.sweepRedBlue_,!0}iterateBlue_(){if(this.m_envelopeHandleB=this.m_iteratorBlue.next(),-1!==this.m_envelopeHandleB)return!1;const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed)>>1;return this.m_intervalTreeRed.insert(t),this.m_function=this.sweepRedBlue_,!0}iterateBruteForce_(){if(-1===--this.m_sweepIndexBlue)return this.m_function=this.sweepBruteForce_,!0;const t=this.m_envelopesRed[this.m_sweepIndexRed].clone(),e=this.m_envelopesRed[this.m_sweepIndexBlue];return t.inflateCoords(this.m_tolerance,this.m_tolerance),!t.isIntersecting(e)||(this.m_envelopeHandleB=this.m_sweepIndexBlue,!1)}iterateRedBlueBruteForce_(){if(-1===--this.m_sweepIndexBlue)return this.m_function=this.sweepRedBlueBruteForce_,!0;const t=this.m_envelopesRed[this.m_sweepIndexRed].clone(),e=this.m_envelopesBlue[this.m_sweepIndexBlue];return t.inflateCoords(this.m_tolerance,this.m_tolerance),!t.isIntersecting(e)||(this.m_envelopeHandleB=this.m_sweepIndexBlue,!1)}resetRed_(){return this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),this.m_intervalTreeRed.size()>0&&this.m_intervalTreeRed.reset(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),this.m_bDone=!1,!0}resetBlue_(){return this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),this.m_intervalTreeBlue.size()>0&&this.m_intervalTreeBlue.reset(),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_bDone=!1,!0}nullFunc_(){return N("should not be called"),!1}sortYEndIndices_(t,e,s,i){const n=this,r={userSort(t,e,s){n.sortYEndIndicesHelper_(s,t,e,i)},getValue:t=>n.getAdjustedValue_(t,i)};(new ot).sort(t,e,s,r)}sortYEndIndicesHelper_(t,e,s,i){t.sort(e,s,(t,e)=>{const s=this.getAdjustedValue_(t,i),n=this.getAdjustedValue_(e,i);return s<n||s===n&&this.isBottom_(t)&&this.isTop_(e)?-1:1})}getAdjustedValue_(t,e){const s=.5*this.m_tolerance;if(e){const e=this.m_envelopesRed[t>>1];return this.isBottom_(t)?e.ymin-s:e.ymax+s}const i=this.m_envelopesBlue[t>>1];return this.isBottom_(t)?i.ymin-s:i.ymax+s}}var xt=z;class Et{constructor(t,e){this.tolerance=void 0!==t?t:Number.NaN,this.resolution=void 0!==e?e:Number.NaN}add(t){return new Et(this.tolerance+t,this.resolution)}scale(t){return new Et(this.tolerance*t,this.resolution*t)}total(){return this.tolerance+this.resolution}}function bt(t,e,i,n,r){const h=n*n,o=t.sub(e),a=i.sub(e),m=o.sqrLength(),_=a.sqrLength();if(m<=h||_<=h)return!0;const l=s(o.crossProduct(a));if(l<=h*m||l<=h*_){return o.dotProduct(a)>=0}return!1}function Nt(t,e,s){return i=>0===s?(i+t)*e:1*(i-t*e)/e}function Dt(t,e){const s=new p;return t.queryLooseEnvelope(s),s.mergeEnvelope2D(e),s}function It(t,e){const s=p.constructEmpty();t.queryLooseEnvelope(s);const i=p.constructEmpty();return e.queryLooseEnvelope(i),s.mergeEnvelope2D(i),s}function Ct(t,e){return(Number.isFinite(t)||Number.isNaN(t))&&(Number.isFinite(e)||Number.isNaN(e))}function Tt(t,e){return Number.isFinite(t)&&Number.isFinite(e)}function Rt(t,e,s){const i=p.constructEmpty();i.setFromPoints(t,e);return St(0,null,i.calculateToleranceFromEnvelope(),s,!1)}function At(t,e,s){return St(0,t,e.calculateToleranceFromEnvelope(),s,!1)}function qt(t,e,s){return St(1,t,e.calculateToleranceFromEnvelope(),s,!1)}function wt(t,e,s){return qt(t,e.queryInterval(1,0),s)}function Bt(t,e,s){const i=p.constructEmpty();return e.queryEnvelope(i),At(t,i,s)}function zt(t,e,s=!1){return St(0,t,e.calculateToleranceFromEnvelope(),s,!0).total()}function Lt(t,e,s){const i=p.constructEmpty();return e.queryEnvelope(i),zt(t,i,s)}function St(t,e,s,i,n){const r=new Et(0,0);if(null!==e&&(r.tolerance=e.getTolerance(t),(!n||i)&&null!==e)){const s=e.getResolution(t);r.resolution=s,i&&(r.resolution*=2)}i&&(s*=4,r.tolerance*=1.01,r.resolution*=1.01);return r.total()<s?new Et(s,0):r}function Ft(t){return Math.sqrt(2)*(2*t.tolerance+t.resolution)}function Pt(t){return Math.sqrt(2)*(t.tolerance+t.resolution)}function Ht(t){return t>=3}function Vt(t,e){const s=[0];return t.getImpl().getIsSimple(e,s)>=3}function kt(t,e){t.getImpl().setIsSimple(3,e)}function Mt(t,e,n,r){if(s(e.x-t.x)+s(e.y-t.y)<=n*n){const s=t.z,n=e.z;return i(s,n,r)}return!1}function Ot(t){return t>=4}function Yt(t,e){return t===y.enumPolygon?Ht(e):e>=1}function Xt(t,e,s){const i=p.constructEmpty(),n=p.constructEmpty();t.queryLooseEnvelope(i),e.queryLooseEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=p.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const h=t.querySegmentIterator(),o=e.querySegmentIterator(),a=p.constructEmpty(),m=p.constructEmpty(),_=new yt;_.setTolerance(s);let l=!1;for(_.startRedConstruction();h.nextPath();)for(;h.hasNextSegment();){h.nextSegment().queryLooseEnvelope(a),a.isIntersecting(r)&&(l=!0,_.addRedEnvelope(h.getStartPointIndex(),a))}if(_.endRedConstruction(),!l)return null;let u=!1;for(_.startBlueConstruction();o.nextPath();)for(;o.hasNextSegment();){o.nextSegment().queryLooseEnvelope(m),m.isIntersecting(r)&&(u=!0,_.addBlueEnvelope(o.getStartPointIndex(),m))}return _.endBlueConstruction(),u?_:null}function Gt(t,e,s,i,n){t.getGeometryType(),e.getGeometryType();const r=p.constructEmpty(),h=p.constructEmpty();t.queryLooseEnvelope(r),e.queryLooseEnvelope(h),r.inflateCoords(s,s),h.inflateCoords(s,s);const o=p.constructEmpty();o.setCoords({env2D:r}),o.intersect(h);const a=new yt;a.setTolerance(s);let m=!1;a.startRedConstruction();for(let l=0,u=t.getPathCount();l<u;l++)t.queryLoosePathEnvelope(l,r),r.isIntersecting(o)&&(m=!0,a.addRedEnvelope(l,r));if(a.endRedConstruction(),!m)return null;let _=!1;a.startBlueConstruction();for(let l=0,u=e.getPathCount();l<u;l++)e.queryLoosePathEnvelope(l,h),h.isIntersecting(o)&&(_=!0,a.addBlueEnvelope(l,h));return a.endBlueConstruction(),_?a:null}function Ut(t,e,s){const i=p.constructEmpty(),n=p.constructEmpty();t.queryLooseEnvelope(i),e.queryEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=p.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const h=t.querySegmentIterator(),o=new yt;o.setTolerance(s);let a=!1;for(o.startRedConstruction();h.nextPath();)for(;h.hasNextSegment();){h.nextSegment().queryLooseEnvelope(i),i.isIntersecting(r)&&(a=!0,o.addRedEnvelope(h.getStartPointIndex(),i))}if(o.endRedConstruction(),!a)return null;let m=!1;o.startBlueConstruction();for(let _=0,l=e.getPointCount();_<l;_++){const t=e.getXY(_);r.contains(t)&&(m=!0,o.addBlueEnvelope(_,p.construct(t.x,t.y,t.x,t.y)))}return o.endBlueConstruction(),m?o:null}function Zt(t,e,s){const i=p.constructEmpty(),n=p.constructEmpty();t.queryEnvelope(i),e.queryEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=p.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const h=new yt;h.setTolerance(s);let a=!1;h.startRedConstruction();const m=new o;for(let o=0,u=t.getPointCount();o<u;o++)t.queryXY(o,m),r.contains(m)&&(a=!0,h.addRedEnvelope(o,p.construct(m.x,m.y,m.x,m.y)));if(h.endRedConstruction(),!a)return null;let _=!1;h.startBlueConstruction();const l=new o;for(let o=0,u=e.getPointCount();o<u;o++)e.queryXY(o,l),r.contains(l)&&(_=!0,h.addBlueEnvelope(o,p.construct(l.x,l.y,l.x,l.y)));return h.endBlueConstruction(),_?h:null}function Qt(t){const e=new p;return t.queryLooseEnvelope(e),e.inflateCoords(1,1),jt(t,e)}function jt(t,e,s){const i=new p;if(t.queryLooseEnvelope(i),i.isEmpty())return null;t.getGeometryType();const n=new _t(i,8);let r=-1;const h=new p;let o=!1;do{for(let s=0,a=t.getPathCount();s<a;s++)if(t.queryLoosePathEnvelope(s,h),h.isIntersecting(e)){if(r=n.insertEx(s,h,r),-1===r){o&&N("build_quad_tree_for_paths"),i.assign(t.calculateEnvelope2D(!1)),o=!0,n.reset(i,8);break}o=!1}}while(o);return n}function Wt(t,e){if(!e){const e=new p;t.queryLooseEnvelope(e);const s=new _t(e,8);let i=-1;const n=new p,r=t.querySegmentIterator();let h=!1;for(;r.nextPath();)for(;r.hasNextSegment();){const o=r.nextSegment(),a=r.getStartPointIndex();if(o.queryLooseEnvelope(n),i=s.insertEx(a,n,i),-1===i){h&&N(""),e.assign(t.calculateEnvelope2D(!1)),h=!0,s.reset(e,8),r.resetToFirstPath();break}}return s}const s=new p;t.queryLooseEnvelope(s);const i=new _t(s,8);let n=-1;const r=new p,h=t.querySegmentIterator();let o=!1;for(;h.nextPath();)for(;h.hasNextSegment();){const a=h.nextSegment(),m=h.getStartPointIndex();if(a.queryLooseEnvelope(r),r.isIntersecting(e)&&(n=i.insertEx(m,r,n),-1===n)){o&&N(""),s.assign(t.calculateEnvelope2D(!1)),o=!0,i.reset(s,8),h.resetToFirstPath();break}}return i}function Jt(t,e){if(e){const s=new _t(e,8),i=new o,n=new p;let r=!1;for(let h=0;h<t.getPointCount();h++){if(i.setCoordsPoint2D(t.getXY(h)),!e.contains(i))continue;n.setCoords({pt:i});-1!==s.insert(h,n)||(r&&N(""),r=!0,s.reset(t.calculateEnvelope2D(),8),h=-1)}return s}return x("no-extent version not yet impl"),null}function Kt(t,e,s,i,n){let r=!1;const h=n.vmin,o=n.vmax;for(let a=s;a<e;a+=i){const e=t.read(a);e<h?(r=!0,t.write(a,h)):e>o&&(r=!0,t.write(a,o))}return r}function $t(t,e,s,i){if(!t.hasAttribute(s))return!1;const n=t.getGeometryType();if(n===y.enumGeometryCollection){const n=t,r=n.getGeometryCount();let h=0;for(let t=0;t<r;++t){h|=$t(n.getGeometry(t),e,s,i)?1:0}return!!h}if(b(n)){const n=t,r=xt.getPersistence(s),h=xt.getComponentCount(s),o=n.getPointCount();if(1===r){const t=Kt(n.getAttributeStreamRef(s),o*h,i,h,e);return t&&n.notifyModified(),t}if(2===r){const t=Kt(n.getAttributeStreamRef(s),o*h,i,h,e);return t&&n.notifyModified(),t}N("snap_coordinate not implemented")}if(n===y.enumEnvelope){const n=t,r=n.queryInterval(s,i);let h=!1;return r.vmin<e.vmin&&(h=!0,r.vmin=e.vmin),r.vmax>e.vmax&&(h=!0,r.vmax=e.vmax),h&&n.setIntervalEnvelope(s,i,r),h}if(n===y.enumPoint){const n=t;let r=n.getAttributeAsDbl(s,i),h=!1;return r<e.vmin&&(h=!0,r=e.vmin),r>e.vmax&&(h=!0,r=e.vmax),h&&n.setAttributeBasic(s,i,r),h}if(D(n)){const n=t;let r=n.getStartAttributeAsDbl(s,i),h=!1;return r<e.vmin&&(h=!0,r=e.vmin),r>e.vmax&&(h=!0,r=e.vmax),h&&n.setStartAttribute(s,i,r),r=n.getEndAttributeAsDbl(s,i),r<e.vmin&&(h=!0,r=e.vmin),r>e.vmax&&(h=!0,r=e.vmax),h&&n.setEndAttribute(s,i,r),h}N("snap_coordinate not implemented")}var te=z;class ee{constructor(t){if(this.m_description=null,this.x=Number.NaN,this.y=Number.NaN,this.m_attribs=null,t){if(!t.copy)return t.move?(this.m_description=t.move.m_description,t.move.m_description=null,this.m_attribs=t.move.m_attribs,t.move.m_attribs=null,this.x=t.move.x,void(this.y=t.move.y)):t.vd?(this.m_description=t.vd,void(t.attribBuffer?(this.m_attribs=t.attribBuffer,t.initDefaultValues&&this.setDefaultAttributeValues()):this.ensureAttributes())):t.pt?(this.m_description=M(),void this.setXY(t.pt)):void("x"in t&&("z"in t?(this.m_description=O(),this.ensureAttributes(),this.setXYZ(new X(t.x,t.y,t.z))):(this.m_description=M(),this.setXYCoords(t.x,t.y))));t.copy.copyTo(this)}else this.m_description=M()}assignCopy(t){return this.m_attribs=null,t.copyTo(this),this}assignMove(t){return this.m_attribs=null,t.copyTo(this),t.setEmpty(),this}getXY(){return new o(this.x,this.y)}queryXY(t){t.x=this.x,t.y=this.y}setXY(t){this.x=t.x,this.y=t.y}setXYCoords(t,e){this.x=t,this.y=e}getXYZ(){const t=new X;return t.x=this.x,t.y=this.y,t.z=this.getZ(),t}setXYZ(t){this.addAttribute(1),this.x=t.x,this.y=t.y,this.m_attribs[0]=t.z}getX(){return this.x}setX(t){this.x=t}getY(){return this.y}setY(t){this.y=t}getZ(){return this.m_description.hasZ()?this.m_attribs[0]:te.getDefaultValue(1)}setZ(t){this.addAttribute(1),this.m_attribs[0]=t}getM(){return this.getAttributeAsDbl(2,0)}setM(t){this.addAttribute(2),this.m_description.hasZ()?this.m_attribs[1]=t:this.m_attribs[0]=t}getID(){return this.getAttributeAsInt(3,0)}setID(t){this.setAttributeBasic(3,0,t)}isEqualXY(t,e){return void 0===e&&(e=0),Math.abs(t.x-this.x)<=e&&Math.abs(t.y-this.y)<=e}isEqualXYCoords(t,e,s){return void 0===s&&(s=0),Math.abs(t-this.x)<=s&&Math.abs(e-this.y)<=s}getAttributeAsDbl(t,e){if(0===t){if(0===e)return this.x;if(1===e)return this.y;v("")}const s=te.getComponentCount(t);(e<0||e>=s)&&v("");const i=this.m_description.getAttributeIndex(t);return i>=0?this.m_attribs[this.m_description.getPointAttributeOffset(i)-2+e]:te.getDefaultValue(t)}getAttributeAsInt(t,e){return Math.trunc(this.getAttributeAsDbl(t,e))}setAttributeBasic(t,e,s){if(0===t)return void(0===e?this.x=s:1===e?this.y=s:v(""));const i=te.getComponentCount(t);(e<0||e>=i)&&v("");let n=this.m_description.getAttributeIndex(t);n<0&&(this.addAttribute(t),n=this.m_description.getAttributeIndex(t)),this.m_attribs[this.m_description.getPointAttributeOffset(n)-2+e]=s}copyAttributesFrom(t,e){if(this===t)return;const s=t.getDescription();for(let i=e&&s.hasZ()?2:1,n=s.getAttributeCount();i<n;++i){const e=s.getSemantics(i),n=te.getComponentCount(e);for(let s=0;s<n;++s){const i=t.getAttributeAsDbl(e,s);this.setAttributeBasic(e,s,i)}}}getAttributeArray(){return this.m_attribs}getDescription(){return this.m_description}assignVertexDescription(t){this.m_description!==t&&this.assignVertexDescriptionImpl(t)}mergeVertexDescription(t){this.m_description!==t&&(this.m_description.hasAttributesFrom(t)||this.mergeVertexDescriptionImpl(t))}hasAttribute(t){return this.m_description.hasAttribute(t)}addAttribute(t){if(this.m_description.hasAttribute(t))return;const e=V(this.m_description,t);this.assignVertexDescription(e)}dropAttribute(t){if(!this.m_description.hasAttribute(t))return;const e=k(this.m_description,t);this.assignVertexDescription(e)}dropAllAttributes(){const t=M();t!==this.m_description&&this.assignVertexDescription(t)}getGeometryType(){return y.enumPoint}getDimension(){return 0}queryEnvelope(t){if(t instanceof re)return t.setEmpty(),t.assignVertexDescription(this.m_description),void t.merge(this);if(t instanceof G){if(this.isEmpty())return void t.setEmpty();const e=this.getXYZ();return t.xmin=e.x,t.ymin=e.y,t.zmin=e.z,t.xmax=e.x,t.ymax=e.y,void(t.zmax=e.z)}this.isEmpty()?t.setEmpty():(t.xmin=this.x,t.ymin=this.y,t.xmax=this.x,t.ymax=this.y)}queryLooseEnvelope(t){this.queryEnvelope(t)}queryInterval(t,e){const s=new r;if(this.isEmpty())return s.setEmpty(),s;const i=this.getAttributeAsDbl(t,e);return s.vmin=i,s.vmax=i,s}applyTransformation(t){if(!this.isEmpty()){if(1===t.m_TransformationType){const e=this.getXY();return t.transformInPlace(e),void this.setXY(e)}x("3d not impl")}}transformAttribute(t,e,s,i,n){if(this.isEmpty())return;this.addAttribute(t);const r=this.getAttributeAsDbl(t,e),h=Nt(s,i,n);this.setAttributeBasic(t,e,h(r))}createInstance(){return new ee({vd:this.m_description})}copyTo(t){if(this===t)return;t.getGeometryType()!==y.enumPoint&&f();const e=t;e.x=this.x,e.y=this.y,this.m_attribs?(e.assignVertexDescription(this.m_description),e.m_attribs=this.m_attribs.slice()):(e.releaseAttributes(),e.assignVertexDescription(this.m_description))}isEmpty(){return Number.isNaN(this.x)||Number.isNaN(this.y)}setEmpty(){this.m_description||(this.m_description=M(),this.releaseAttributes()),this.x=Number.NaN,this.y=Number.NaN,this.m_attribs&&m(this.m_attribs,this.m_description.getDefaultPointAttributes(),0,2,this.m_description.getTotalComponentCount()-2)}calculateArea2D(){return 0}calculateLength2D(){return 0}calculateLength3D(t){return 0}equals(t,e){if(t===this)return!0;if(t.getGeometryType()!==y.enumPoint)return!1;const s=t;if(this.m_description!==s.m_description)return!1;if(this.isEmpty()!==s.isEmpty())return!1;if(this.isEmpty())return!0;if(void 0===e&&(e=0),Math.abs(this.x-s.x)>e)return!1;if(Math.abs(this.y-s.y)>e)return!1;for(let n=0,r=this.m_description.getTotalComponentCount()-2;n<r;n++)if(!i(this.m_attribs[n],s.m_attribs[n],e))return!1;return!0}getBoundary(){return null}clone(){const t=new ee({vd:this.m_description});return this.copyTo(t),t}swap(t){if(this===t)return;t.getGeometryType()!==y.enumPoint&&f("wrong geometry type");const e=t;e.m_description=h(this.m_description,this.m_description=e.m_description),e.x=h(this.x,this.x=e.x),e.y=h(this.y,this.y=e.y),e.m_attribs=h(this.m_attribs,this.m_attribs=e.m_attribs)}replaceNaNs(t,e){if(this.addAttribute(t),this.isEmpty())return;const s=te.getComponentCount(t);for(let i=0;i<s;i++){const s=this.getAttributeAsDbl(t,i);Number.isNaN(s)&&this.setAttributeBasic(t,i,e)}}lerp(t,e,s){if(t.getDescription()!==e.getDescription()&&f("Point.lerp"),this.assignVertexDescription(t.getDescription()),t.isEmpty()||e.isEmpty())return this.setEmpty(),this;this.ensureAttributes();const i=B();t.queryValues(i,i.length);const n=B();e.queryValues(n,n.length);const r=B();let h=i,o=n;const a=r;let m=0;for(let l=0,u=this.m_description.getAttributeCount();l<u;l++){const t=this.m_description.getSemantics(l),e=te.getInterpolation(t),i=te.getComponentCount(t),n=te.getDefaultValue(t);_(e,h,o,a,m,i,s,n),h=h.slice(i),o=o.slice(i),m+=i}return this.setValues(r,m),this}static lerp(t,e,s,i){i.lerp(t,e,s)}setDefaultAttributeValues(){const t=this.m_description.getTotalComponentCount()-2;t>0&&(this.m_attribs?m(this.m_attribs,this.m_description.getDefaultPointAttributes(),0,2,t):this.m_attribs=this.m_description.getDefaultPointAttributes().slice(2))}static sqrDistance2D(t,e){return o.sqrDistanceCoords(t.x,t.y,e.x,e.y)}getImpl(){return this}mergeVertexDescriptionImpl(t){const e=H(this.getDescription(),t);this.assignVertexDescription(e)}releaseAttributes(){this.m_attribs=null}assignVertexDescriptionImpl(t){this.m_description||(this.m_description=M());const e=S();Y(t,this.m_description,e);let s=null;t.getTotalComponentCount()-2>0&&(s=t.getDefaultPointAttributes().slice(2));for(let i=1,n=t.getAttributeCount();i<n;i++){const n=e[i];if(-1!==n){const e=this.m_description.getPointAttributeOffset(n)-2,r=t.getPointAttributeOffset(i)-2,h=te.getComponentCount(t.getSemantics(i));for(let t=0;t<h;t++)s[r+t]=this.m_attribs[e+t]}}this.m_attribs=s,this.m_description=t}ensureAttributes(){this.m_description.getTotalComponentCount()-2>0&&null===this.m_attribs&&(this.m_attribs=this.m_description.getDefaultPointAttributes().slice(2))}queryValues(t,e){const s=this.m_description.getTotalComponentCount();g(s<=e),t[0]=this.x,t[1]=this.y,m(t,this.m_attribs,2,0,s-2)}copyCommonAttributesTo(t){t.x=this.x,t.y=this.y;const e=t.getDescription();if(e===this.m_description)this.m_attribs&&m(t.m_attribs,this.m_attribs,0,0,this.m_description.getTotalComponentCount()-2);else{let s=0;for(let i=1,n=e.getAttributeCount();i<n;i++){const n=e.getSemantics(i);let r=te.getComponentCount(n);if(this.m_description.hasAttribute(n)){let e=this.m_description.getPointAttributeOffset(this.m_description.getAttributeIndex(n))-2;for(;0!==r;)t.m_attribs[s++]=this.m_attribs[e++],r--}else{const e=te.getDefaultValue(n);for(;0!==r;)t.m_attribs[s++]=e,r--}}}}setValues(t,e){const s=this.m_description.getTotalComponentCount();g(s<=e),this.x=t[0],this.y=t[1],m(this.m_attribs,t,0,2,s-2)}dbgDefaultAttribs(){}}ee.type=y.enumPoint;var se=z;function ie(t,e){return e*(t.getTotalComponentCount()-2)}class ne{constructor(t){if(this.m_attributes=null,t)if(void 0!==t.xmin)this.m_envelope2D=new p(t.xmin,t.ymin,t.xmax,t.ymax);else if(void 0!==t.env2D)this.m_envelope2D=new p(t.env2D);else if(t.move)this.m_envelope2D=new p(t.move.m_envelope2D),this.m_attributes=t.move.m_attributes,t.move.m_attributes=null;else{if(!t.moveEnv)throw new Error("unrecognized EnvelopeData constructor options");{const e=t.moveEnv.accessEnvelopeData();this.m_envelope2D=new p(e.m_envelope2D),this.m_attributes=e.m_attributes,e.m_attributes=null}}else this.m_envelope2D=p.constructEmpty()}ensureAttributes(t){const s=t.getTotalComponentCount()-2;!this.m_attributes&&s&&(this.m_attributes=e(2*s,Number.NaN),this.m_attributes.fill(Number.NaN))}copyTo(t,s){const i=s,n=t.getTotalComponentCount()-2;if(i.m_description!==t&&(i.releaseAttributes_(),i.m_description=t,n&&(i.m_data.m_attributes=e(2*n,Number.NaN))),n){g(this.m_attributes&&i.m_data.m_attributes);const t=2*n;m(i.m_data.m_attributes,this.m_attributes,0,0,t)}i.m_data.m_envelope2D=new p(this.m_envelope2D)}copyToIfNotNull(t,e){e.m_envelope2D=new p(this.m_envelope2D),e.releaseAttributes();t.getTotalComponentCount()-2&&this.m_attributes&&(e.m_attributes=this.m_attributes.slice())}releaseAttributes(){this.m_attributes=null}isEmpty(){return this.m_envelope2D.isEmpty()}transformAttribute(t,e,s,i,n){g(0)}queryInterval(t,e,s,i){if(this.isEmpty())return void i.setEmpty();if(0===e)return void(0===s?this.m_envelope2D.queryIntervalX(i):1===s?this.m_envelope2D.queryIntervalY(i):v(""));const n=se.getComponentCount(e);(s<0||s>=n)&&v("");const r=t.getAttributeIndex(e);if(r>=0)return i.vmin=this.m_attributes[ie(t,0)+t.getPointAttributeOffset(r)-2+s],void(i.vmax=this.m_attributes[ie(t,1)+t.getPointAttributeOffset(r)-2+s]);{const t=se.getDefaultValue(e);return void i.setCoords(t,t)}}queryEnvelope3D(t,e){const s=new r;this.queryInterval(t,1,0,s),e.setCoords(this.m_envelope2D.xmin,this.m_envelope2D.ymin,s.vmin,this.m_envelope2D.xmax,this.m_envelope2D.ymax,s.vmax)}setEmpty(t){this.m_envelope2D.setEmpty();const s=t.getTotalComponentCount()-2;s&&(this.m_attributes?this.dbgAssertSize(s):this.m_attributes=e(2*s,Number.NaN),this.m_attributes.fill(Number.NaN))}dbgAssertSize(t){}}let re=class t{constructor(t){if(this.m_EnvelopeType=4,this.m_description=M(),void 0===t)this.m_data=new ne;else if(void 0!==t.vd)this.m_description=t.vd,this.m_data=new ne,this.ensureAttributes_();else if(t?.env2D)this.m_data=new ne({env2D:t.env2D});else if(void 0!==t.xmin)this.m_data=new ne({xmin:t.xmin,ymin:t.ymin,xmax:t.xmax,ymax:t.ymax});else if(t.copy)this.m_data=new ne,t.copy.copyTo(this);else if(t.move)this.m_description=t.move.m_description,t.move.m_description=null,this.m_data=new ne({move:t.move.m_data});else{if(!t.centerPoint)throw new Error("unrecognized Envelope constructor options");this.m_description=t.centerPoint.getDescription(),this.m_data=new ne,this.ensureAttributes_(),this.setFromPoint(t.centerPoint,t.width,t.height)}}accessEnvelopeData(){return this.m_description=null,this.m_data}assignMove(t){return this===t||(this.m_description=t.m_description,t.m_description=null,this.m_data=new ne({move:t.m_data})),this}assignCopy(t){return this===t||t.copyTo(this),this}transformAttribute(t,e,s,i,n){g(0)}setAttributeBasic(t,e,s){if(this.addAttribute(t),this.m_data.isEmpty())return;const i=this.queryInterval(t,e);i.vmin=s,i.vmax=s,this.setIntervalEnvelope(t,e,i)}mergeVertexDescriptionImpl(t){const e=H(this.getDescription(),t);this.assignVertexDescription(e)}asEnvelope2D(){return new p(this.m_data.m_envelope2D)}assignVertexDescription(t){this.m_description!==t&&this.assignVertexDescriptionImpl(t)}getGeometryType(){return y.enumEnvelope}getDimension(){return 2}getXMin(){return this.m_data.m_envelope2D.xmin}getYMin(){return this.m_data.m_envelope2D.ymin}getXMax(){return this.m_data.m_envelope2D.xmax}getYMax(){return this.m_data.m_envelope2D.ymax}width(){return this.m_data.isEmpty()?Number.NaN:this.m_data.m_envelope2D.width()}height(){return this.m_data.isEmpty()?Number.NaN:this.m_data.m_envelope2D.height()}getCenterXY(){return this.m_data.isEmpty()?new o:this.m_data.m_envelope2D.getCenter()}getCenter(t){if(t.assignVertexDescription(this.m_description),this.m_data.isEmpty())return void t.setEmpty();const e=this.m_description.getAttributeCount();for(let s=1;s<e;s++){const e=this.m_description.getSemantics(s),i=se.getComponentCount(e);for(let s=0;s<i;s++){const i=.5*(this.getAttributeAsDblImpl(0,e,s)+this.getAttributeAsDblImpl(1,e,s));t.setAttributeBasic(e,s,i)}}t.setXY(this.m_data.m_envelope2D.getCenter())}setCoords(t,e,s,i){this.m_data.m_envelope2D.setCoords({xmin:t,ymin:e,xmax:s,ymax:i})}setEnvelope(t){if(t instanceof p)this.m_data.m_envelope2D=new p(t),this.m_data.m_envelope2D.normalize();else{this.addAttribute(1),this.m_data.m_envelope2D=t.getEnvelope2D(),this.m_data.m_envelope2D.normalize();const e=r.constructEmpty();e.setCoords(t.zmin,t.zmax),this.setInterval(1,0,e.vmin,e.vmax)}}merge(e){if(e instanceof p)return e.isValid()||f(""),void this.m_data.m_envelope2D.mergeEnvelope2D(e);if(e instanceof t){if(e.m_data.isEmpty())return;const t=e.getDescription();this.mergeVertexDescription(t),this.m_data.m_envelope2D.mergeEnvelope2D(e.m_data.m_envelope2D);for(let s=1,i=t.getAttributeCount();s<i;s++){const i=t.getSemantics(s),n=se.getComponentCount(i);for(let t=0;t<n;t++){const s=e.queryInterval(i,t),n=this.queryInterval(i,t);n.merge(s),this.setIntervalEnvelope(i,t,n)}}return}if(e instanceof ee){const t=e;if(t.isEmpty())return;const s=t.getDescription();if(this.mergeVertexDescription(s),this.m_data.isEmpty())return void this.setFromPoint(t);this.m_data.m_envelope2D.merge(t.getXY());for(let e=1,i=s.getAttributeCount();e<i;e++){const i=s.getSemantics(e),n=se.getComponentCount(i);for(let e=0;e<n;e++){const s=t.getAttributeAsDbl(i,e),n=this.queryInterval(i,e);n.mergeCoordinate(s),this.setIntervalEnvelope(i,e,n)}}return}x("unrecognized type for envelope.merge")}intersect(t){if(!this.m_data.m_envelope2D.intersect(t.m_data.m_envelope2D))return this.setEmpty(),!1;const e=t.getDescription();this.mergeVertexDescription(e);for(let s=1,i=this.m_description.getAttributeCount();s<i;s++){const e=this.m_description.getSemantics(s),i=se.getComponentCount(e);for(let s=0;s<i;s++){const i=t.queryInterval(e,s),n=this.queryInterval(e,s);n.intersect(i),this.setIntervalEnvelope(e,s,n)}}return!0}intersectCommonAttributes(t){if(!this.m_data.m_envelope2D.intersect(t.m_data.m_envelope2D))return this.setEmpty(),!1;const e=t.getDescription();for(let s=1,i=this.m_description.getAttributeCount();s<i;s++){const i=this.m_description.getSemantics(s);if(!e.hasAttribute(i))continue;const n=se.getComponentCount(i);for(let e=0;e<n;e++){const s=t.queryInterval(i,e),n=this.queryInterval(i,e);n.intersect(s),this.setIntervalEnvelope(i,e,n)}}return!0}move(t,e){this.m_data.m_envelope2D.move(t,e)}centerAt(t,e){this.m_data.m_envelope2D.centerAtCoords(t,e)}centerAtPoint(t){this.m_data.m_envelope2D.centerAt(t)}reaspect(t,e){this.m_data.m_envelope2D.reaspect(t,e)}inflateCoords(t,e){this.m_data.m_envelope2D.inflateCoords(t,e)}containsCoords(t,e){return this.m_data.m_envelope2D.containsCoords(t,e)}contains(t){return this.m_data.m_envelope2D.contains(t)}containsPoint(t){return!t.isEmpty()&&this.m_data.m_envelope2D.contains(t.getXY())}containsEnvelope(t){return this.m_data.m_envelope2D.containsEnvelope(t.m_data.m_envelope2D)}setIntervalEnvelope(t,e,s){if(this.addAttribute(t),this.m_data.isEmpty())return;const i=new r(s);if(i.normalize(),0===t){if(i.isEmpty())return void this.setEmpty();0===e?(this.m_data.m_envelope2D.xmin=i.vmin,this.m_data.m_envelope2D.xmax=i.vmax):1===e?(this.m_data.m_envelope2D.ymin=i.vmin,this.m_data.m_envelope2D.ymax=i.vmax):v("")}else this.setAttributeAsDblImpl(0,t,e,i.vmin),this.setAttributeAsDblImpl(1,t,e,i.vmax)}setInterval(t,e,s,i){this.setIntervalEnvelope(t,e,new r(s,i))}queryInterval(t,e){const s=new r;return this.m_data.queryInterval(this.m_description,t,e,s),s}queryEnvelope(t){2!==t.m_EnvelopeType?3!==t.m_EnvelopeType?4!==t.m_EnvelopeType?x("unrecognized type for queryEnveloper"):this.copyTo(t):this.m_data.queryEnvelope3D(this.m_description,t):t.setCoords({env2D:this.m_data.m_envelope2D})}applyTransformation(t){1!==t.m_TransformationType?g(0):t.transformEnvInPlace(this.m_data.m_envelope2D)}createInstance(){return new t({vd:this.m_description})}copyTo(t){t!==this&&this.m_data.copyTo(this.m_description,t)}isEmpty(){return this.m_data.isEmpty()}setEmpty(){this.m_description||(this.m_description=M()),this.m_data.setEmpty(this.m_description)}calculateArea2D(){return this.m_data.m_envelope2D.getArea()}calculateLength2D(){return this.m_data.m_envelope2D.getLength()}calculateLength3D(t){return g(0),0}equals(t,e){if(t===this)return!0;const s=t;if(this.m_description!==s.m_description)return!1;if(this.m_data.isEmpty()!==s.m_data.isEmpty())return!1;if(this.m_data.isEmpty())return!0;if(void 0===e&&(e=0),Math.abs(this.m_data.m_envelope2D.xmin-s.m_data.m_envelope2D.xmin)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.ymin-s.m_data.m_envelope2D.ymin)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.xmax-s.m_data.m_envelope2D.xmax)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.ymax-s.m_data.m_envelope2D.ymax)>e)return!1;for(let n=0,r=2*(this.m_description.getTotalComponentCount()-2);n<r;n++)if(!i(this.m_data.m_attributes[n],s.m_data.m_attributes[n],e))return!1;return!0}getBoundary(){return x("getBoundary not available in this context. Use the boundary operator with an envelope parameter"),null}clone(){return new t({copy:this})}swap(t){if(this===t)return;t.getGeometryType()!==y.enumEnvelope&&f("wrong geometry type");const e=t;e.m_description=h(this.m_description,this.m_description=e.m_description),e.m_data.m_envelope2D=h(this.m_data.m_envelope2D,this.m_data.m_envelope2D=e.m_data.m_envelope2D),e.m_data.m_attributes=h(this.m_data.m_attributes,this.m_data.m_attributes=e.m_data.m_attributes)}queryCoordinates(t){this.m_data.isEmpty()&&f(""),this.m_data.m_envelope2D.queryCorners(t)}queryCornerByVal(t,e){(t<0||t>3)&&v(""),e.assignVertexDescription(this.m_description);const s=this.getDescription().getAttributeCount();for(let i=1;i<s;i++){const s=this.m_description.getSemantics(i),n=se.getComponentCount(s);for(let i=0;i<n;i++)e.setAttributeBasic(s,i,this.getAttributeAsDblImpl(t%2,s,i))}e.setXY(this.m_data.m_envelope2D.queryCorner(t))}queryCorner(t,e){e.assign(this.m_data.m_envelope2D.queryCorner(t))}getDescription(){return this.m_description}mergeVertexDescription(t){this.m_description!==t&&(this.m_description&&this.m_description.hasAttributesFrom(t)||this.mergeVertexDescriptionImpl(t))}hasAttribute(t){return this.m_description.hasAttribute(t)}addAttribute(t){if(this.m_description.hasAttribute(t))return;const e=V(this.m_description,t);this.assignVertexDescription(e)}dropAttribute(t){if(!this.m_description.hasAttribute(t))return;const e=k(this.m_description,t);this.assignVertexDescription(e)}dropAllAttributes(){const t=M();t!==this.m_description&&this.assignVertexDescription(t)}queryLooseEnvelope(t){this.queryEnvelope(t)}replaceNaNs(t,e){if(this.addAttribute(t),this.m_data.isEmpty())return;const s=se.getComponentCount(t);for(let i=0;i<s;i++){const s=this.queryInterval(t,i);s.isEmpty()&&(s.vmin=e,s.vmax=e,this.setIntervalEnvelope(t,i,s))}}getImpl(){return this}setFromPoint(t,e,s){this.m_data.m_envelope2D.setCoords({center:t.getXY(),width:e??0,height:s??0});const i=t.getDescription();for(let n=1,r=i.getAttributeCount();n<r;n++){const e=i.getSemantics(n),s=se.getComponentCount(e);for(let i=0;i<s;i++){const s=t.getAttributeAsDbl(e,i);this.setInterval(e,i,s,s)}}}assignVertexDescriptionImpl(t){const s=S();Y(t,this.m_description,s);let i=null;const n=t.getTotalComponentCount()-2,r=this.m_description?this.m_description.getTotalComponentCount()-2:0;n>0&&(i=e(2*n,Number.NaN));for(let e=1;e<t.getAttributeCount();e++){const h=s[e];if(-1!==h){const s=t.getPointAttributeOffset(e)-2,o=se.getComponentCount(t.getSemantics(e)),a=this.m_description.getPointAttributeOffset(h)-2;m(i,this.m_data.m_attributes,s,a,o),m(i,this.m_data.m_attributes,n+s,r+a,o)}}this.releaseAttributes_(),this.m_data.m_attributes=i,this.m_description=t}getAttributeAsDblImpl(t,e,s){if(this.m_data.isEmpty()&&E(""),0===e)return t?s?this.m_data.m_envelope2D.ymax:this.m_data.m_envelope2D.xmax:s?this.m_data.m_envelope2D.ymin:this.m_data.m_envelope2D.xmin;s>=se.getComponentCount(e)&&v("");const i=this.m_description.getAttributeIndex(e);return i>=0?this.m_data.m_attributes[ie(this.m_description,t)+this.m_description.getPointAttributeOffset(i)-2+s]:z.getDefaultValue(e)}setAttributeAsDblImpl(t,e,s,i){0===e&&(t?1===s?this.m_data.m_envelope2D.ymax=i:0===s?this.m_data.m_envelope2D.xmax=i:v(""):1===s?this.m_data.m_envelope2D.ymin=i:0===s?this.m_data.m_envelope2D.xmin=i:v(""));const n=se.getComponentCount(e);(s<0||s>=n)&&v(""),this.addAttribute(e);const r=this.m_description.getAttributeIndex(e);this.m_data.m_attributes[ie(this.m_description,t)+this.m_description.getPointAttributeOffset(r)-2+s]=i}releaseAttributes_(){this.m_data.releaseAttributes()}ensureAttributes_(){this.m_data.ensureAttributes(this.m_description)}};re.type=y.enumEnvelope;const he=Object.freeze(Object.defineProperty({__proto__:null,Envelope:re,EnvelopeData:ne},Symbol.toStringTag,{value:"Module"}));export{J as $,st as A,ot as B,Et as C,et as D,re as E,Mt as F,nt as G,dt as H,pt as I,U as J,M as K,V as L,k as M,H as N,O,ee as P,S as Q,Y as R,at as S,ct as T,ne as U,z as V,B as W,w as X,j as Y,W as Z,Nt as _,zt as a,K as a0,$ as a1,Qt as a2,Rt as a3,Ct as a4,Tt as a5,Q as a6,he as a7,Bt as b,At as c,X as d,Ft as e,Dt as f,It as g,Vt as h,Ot as i,Lt as j,Yt as k,bt as l,$t as m,Ht as n,Wt as o,Jt as p,Xt as q,Ut as r,kt as s,Zt as t,Gt as u,G as v,qt as w,yt as x,Pt as y,wt as z};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- function e(e){switch(e){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}function n(e,n){try{if(!e)throw new Error(n)}catch(t){throw t}}class t extends Error{constructor(e,n){super(n),this.m_AdditionalMessage=n,this.m_ErrorType=e,this.name="GeometryError"}what(){return e(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}}class r extends t{constructor(e){super(2,e),this.name="CorruptedGeometryError"}}class o extends t{constructor(e){super(3,e),this.name="EmptyGeometryError"}}class i extends t{constructor(e){super(4,e),this.name="MathSingularityError"}}class u extends t{constructor(e){super(21,e),this.name="ProjectionEngineNotLoadedError"}}class s extends t{constructor(e){super(8,e),this.name="NonSimpleGeometryError"}}var a;!function(e){e[e.enumUnknown=0]="enumUnknown",e[e.enumPoint=513]="enumPoint",e[e.enumLine=5122]="enumLine",e[e.enumBezier=5123]="enumBezier",e[e.enumEllipticArc=5124]="enumEllipticArc",e[e.enumEnvelope=3077]="enumEnvelope",e[e.enumMultiPoint=8710]="enumMultiPoint",e[e.enumPolyline=25607]="enumPolyline",e[e.enumPolygon=27656]="enumPolygon",e[e.enumMultipatch=40969]="enumMultipatch",e[e.enumGeometryCollection=3594]="enumGeometryCollection",e[e.enumRationalBezier2=5134]="enumRationalBezier2",e[e.enumBezier2=5135]="enumBezier2",e[e.enumRationalBezier23d=5392]="enumRationalBezier23d",e[e.enumGreatArc3d=5393]="enumGreatArc3d"}(a||(a={}));const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function m(e){return c[15&e]}function l(e){return!!(512&e)}function p(e){return!!(1024&e)}function d(e){return!!(2048&e)}function f(e){return!!(4096&e)}function y(e){return!!(8192&e)}function h(e){return!!(16384&e)}function g(e){return!!(32768&e)}function w(e){const n=e.getGeometryType();return y(n)?e.getPointCount():e.isEmpty()?0:n===a.enumEnvelope?4:n===a.enumPoint?1:f(n)?2:void b("missing type")}function E(e){const n=e.getGeometryType();if(h(n))return e.hasNonLinearSegments();if(n===a.enumGeometryCollection){const n=e;for(let e=0,t=n.getGeometryCount();e<t;e++)if(E(n.getGeometry(e)))return!0;return!1}return!!f(n)&&n!==a.enumLine}function G(e){throw new u(e)}function v(e){throw new r(e)}function P(e){throw new Error(e)}function M(e){throw new i(e)}function B(){P("Geometry type is not supported for 3D operations.")}function C(e){throw new t(12,e)}function x(e){throw new o(e)}function z(e){throw new t(14,e)}function A(e){throw new Error(e)}function b(e){throw new t(13,e)}function T(e){throw new Error(e)}function k(e){throw new s(e)}function _(){z("Operation does not support curves.")}function N(e){e&&E(e)&&_()}function j(e){e&&g(e.getGeometryType())&&z("Unsupported geometry type.")}function I(e){e===a.enumGeometryCollection&&P("Geometry_collection instances are not supported in this operation")}function L(e){I(e.getGeometryType())}function R(e){P(`bad wkid: ${e}`)}function U(e){let n="bad wkt: ";n+=e,n+="...",P(n)}function D(e,n){e||P(n)}export{U as A,x as B,T as C,D,a as G,P as a,M as b,j as c,b as d,l as e,f,n as g,h,y as i,g as j,d as k,p as l,E as m,v as n,N as o,C as p,A as q,G as r,L as s,z as t,m as u,w as v,B as w,I as x,R as y,k as z};
5
+ function e(e){switch(e){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}function n(e,n){try{if(!e)throw new Error(n)}catch(t){throw t}}class t extends Error{constructor(e,n){super(n),this.m_AdditionalMessage=n,this.m_ErrorType=e,this.name="GeometryError"}what(){return e(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}}class r extends t{constructor(e){super(2,e),this.name="CorruptedGeometryError"}}class o extends t{constructor(e){super(3,e),this.name="EmptyGeometryError"}}class i extends t{constructor(e){super(4,e),this.name="MathSingularityError"}}class u extends t{constructor(e){super(21,e),this.name="ProjectionEngineNotLoadedError"}}class s extends t{constructor(e){super(8,e),this.name="NonSimpleGeometryError"}}var a;!function(e){e[e.enumUnknown=0]="enumUnknown",e[e.enumPoint=513]="enumPoint",e[e.enumLine=5122]="enumLine",e[e.enumBezier=5123]="enumBezier",e[e.enumEllipticArc=5124]="enumEllipticArc",e[e.enumEnvelope=3077]="enumEnvelope",e[e.enumMultiPoint=8710]="enumMultiPoint",e[e.enumPolyline=25607]="enumPolyline",e[e.enumPolygon=27656]="enumPolygon",e[e.enumMultipatch=40969]="enumMultipatch",e[e.enumGeometryCollection=3594]="enumGeometryCollection",e[e.enumRationalBezier2=5134]="enumRationalBezier2",e[e.enumBezier2=5135]="enumBezier2",e[e.enumRationalBezier23d=5392]="enumRationalBezier23d",e[e.enumGreatArc3d=5393]="enumGreatArc3d"}(a||(a={}));const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function m(e){return c[15&e]}function l(e){return!!(512&e)}function p(e){return!!(1024&e)}function d(e){return!!(2048&e)}function f(e){return!!(4096&e)}function y(e){return!!(8192&e)}function h(e){return!!(16384&e)}function g(e){return!!(32768&e)}function w(e){const n=e.getGeometryType();return y(n)?e.getPointCount():e.isEmpty()?0:n===a.enumEnvelope?4:n===a.enumPoint?1:f(n)?2:void b("missing type")}function E(e){const n=e.getGeometryType();if(h(n))return e.hasNonLinearSegments();if(n===a.enumGeometryCollection){const n=e;for(let e=0,t=n.getGeometryCount();e<t;e++)if(E(n.getGeometry(e)))return!0;return!1}return!!f(n)&&n!==a.enumLine}function G(e){throw new u(e)}function v(e){throw new r(e)}function P(e){throw new Error(e)}function M(e){throw new i(e)}function B(){P("Geometry type is not supported for 3D operations.")}function C(e){throw new t(12,e)}function x(e){throw new o(e)}function z(e){throw new t(14,e)}function A(e){throw new Error(e)}function b(e){throw new t(13,e)}function T(e){throw new Error(e)}function k(e){throw new s(e)}function _(){z("Operation does not support curves.")}function N(e){e&&E(e)&&_()}function j(e){e&&g(e.getGeometryType())&&z("Unsupported geometry type.")}function I(e){e===a.enumGeometryCollection&&P("Geometry_collection instances are not supported in this operation")}function L(e){I(e.getGeometryType())}function R(e){P(`bad wkid: ${e}`)}function U(e){let n="bad wkt: ";n+=e,n+="...",P(n)}function D(e,n){e||P(n)}export{k as A,x as B,T as C,D,a as G,P as a,M as b,j as c,b as d,l as e,f,n as g,h,y as i,g as j,d as k,p as l,E as m,v as n,N as o,C as p,A as q,G as r,L as s,z as t,R as u,w as v,U as w,m as x,B as y,I as z};