@arcgis/core 5.1.0-next.93 → 5.1.0-next.95

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 (499) hide show
  1. package/Graphic.js +1 -1
  2. package/analysis/Viewshed.js +1 -1
  3. package/arcade/arcadeAsyncRuntime.js +1 -1
  4. package/arcade/arcadeCompiler.js +1 -1
  5. package/arcade/arcadeRuntime.js +1 -1
  6. package/arcade/compilerUtils.js +1 -1
  7. package/arcade/debug.d.ts +10 -1
  8. package/arcade.js +1 -1
  9. package/assets/esri/core/workers/RemoteClient.js +1 -1
  10. package/assets/esri/core/workers/chunks/02aaeaa988e9e7d65a7f.js +1 -0
  11. package/assets/esri/core/workers/chunks/031ea31bbdb7f1be791e.js +1 -0
  12. package/assets/esri/core/workers/chunks/03a4543b94f9adeb1852.js +1 -0
  13. package/assets/esri/core/workers/chunks/05c52e8f187740da9b36.js +1 -0
  14. package/assets/esri/core/workers/chunks/0630ce1975c91ae362d9.js +1 -0
  15. package/assets/esri/core/workers/chunks/{7f0f10946f05a09b5654.js → 07ddf1b1f7602063ceb0.js} +1 -1
  16. package/assets/esri/core/workers/chunks/0ab1384282afc8731857.js +1 -0
  17. package/assets/esri/core/workers/chunks/{be47e42c6c8c0820efd8.js → 0e6b24e8864940ed9877.js} +1 -1
  18. package/assets/esri/core/workers/chunks/0f527961805cd45c14e2.js +1 -0
  19. package/assets/esri/core/workers/chunks/11a99ee68409a641810e.js +1 -0
  20. package/assets/esri/core/workers/chunks/11b0d3a825fe50dd1e84.js +1 -0
  21. package/assets/esri/core/workers/chunks/130abc6a353e4d79a1b1.js +1 -0
  22. package/assets/esri/core/workers/chunks/16006dc0cb95f7c291a5.js +1 -0
  23. package/assets/esri/core/workers/chunks/177472a6a9beb1590934.js +1 -0
  24. package/assets/esri/core/workers/chunks/19a9a555365a8363d34b.js +1 -0
  25. package/assets/esri/core/workers/chunks/1a68a249540fda9083a9.js +1 -0
  26. package/assets/esri/core/workers/chunks/1ae016e4f5e39c34a941.js +1 -0
  27. package/assets/esri/core/workers/chunks/{43f58604ba4a94a9167c.js → 1f3a676e7a4eae5ad566.js} +1 -1
  28. package/assets/esri/core/workers/chunks/23241e6093e245f9c774.js +1 -0
  29. package/assets/esri/core/workers/chunks/{172228d1a392ca7a5b21.js → 246253fbbb2ecea48f91.js} +1 -1
  30. package/assets/esri/core/workers/chunks/25d795a1697803d77e56.js +1 -0
  31. package/assets/esri/core/workers/chunks/268ed861c882740c805b.js +1 -0
  32. package/assets/esri/core/workers/chunks/{da008d6a3afb30d18392.js → 299b4eecd0288348c971.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{df8a3d3cac454d42e14d.js → 29aba121db7f00e0cf81.js} +1 -1
  34. package/assets/esri/core/workers/chunks/2b52c1c01cf568ba01fb.js +1 -0
  35. package/assets/esri/core/workers/chunks/2f6ba01ea8b8f193bea5.js +1 -0
  36. package/assets/esri/core/workers/chunks/{f52443cd203e687551da.js → 2fda38219d778f0447b5.js} +1 -1
  37. package/assets/esri/core/workers/chunks/2ffffc1931b2e27c6617.js +1 -0
  38. package/assets/esri/core/workers/chunks/3116a1c2b67a296ba86e.js +1 -0
  39. package/assets/esri/core/workers/chunks/31837f2f8859e2cf2efd.js +1 -0
  40. package/assets/esri/core/workers/chunks/3241e0ed26aff61ec213.js +1 -0
  41. package/assets/esri/core/workers/chunks/330da3828eefd8d72d3f.js +1 -0
  42. package/assets/esri/core/workers/chunks/359465b9726edcc70c83.js +1 -0
  43. package/assets/esri/core/workers/chunks/36ecb0082b8804b10fbf.js +1 -0
  44. package/assets/esri/core/workers/chunks/389e57aab12d52d72695.js +1 -0
  45. package/assets/esri/core/workers/chunks/38b1d2ffcc318ac0119d.js +1 -0
  46. package/assets/esri/core/workers/chunks/390717f079def83a0d9c.js +1 -0
  47. package/assets/esri/core/workers/chunks/{3397eae416622c64e628.js → 3f0483cbcd893acf240c.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{77c2d8d0ce1c1ab469e9.js → 40afdb74517a7df59e0d.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{41cbde4738ae4adf973d.js → 4142d5232c99d8aa943d.js} +5 -5
  50. package/assets/esri/core/workers/chunks/41e811138c96d85fd3e8.js +1 -0
  51. package/assets/esri/core/workers/chunks/43b5cfb34b11c4124b51.js +1 -0
  52. package/assets/esri/core/workers/chunks/{747e258f57f0543c836e.js → 43cc82373be791b7cb4c.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{8a370cc1a99ddc7ce70b.js → 4456bbb4b7dfe80c7477.js} +1 -1
  54. package/assets/esri/core/workers/chunks/44b30dfce12824ee1f33.js +1 -0
  55. package/assets/esri/core/workers/chunks/453c3b265481c80fc625.js +1 -0
  56. package/assets/esri/core/workers/chunks/4644e1b00fd4e628219d.js +1 -0
  57. package/assets/esri/core/workers/chunks/47dd2bfecc5c4b5f10f0.js +1 -0
  58. package/assets/esri/core/workers/chunks/4b19acf8bde5b2e80692.js +1 -0
  59. package/assets/esri/core/workers/chunks/4faaf61d20e20fcf6c18.js +1 -0
  60. package/assets/esri/core/workers/chunks/{a169d9fe66b5865911d9.js → 503439246250d9e1cbd5.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{f8072a4cf1b25d8b93f9.js → 509beae195c900a85e0b.js} +1 -1
  62. package/assets/esri/core/workers/chunks/5217d676749bca59d90f.js +1 -0
  63. package/assets/esri/core/workers/chunks/{1e3fe89970c57a883fe5.js → 53ff47c06ccfc0be885c.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{53750e85f3128993a43a.js → 545c38789267e3487dbd.js} +1 -1
  65. package/assets/esri/core/workers/chunks/54dad475dc806a38c287.js +1 -0
  66. package/assets/esri/core/workers/chunks/5648379d1ed4ca02eedd.js +1 -0
  67. package/assets/esri/core/workers/chunks/{12f41c1c66fb446b6286.js → 5853925d2f7fb550bd2e.js} +11 -11
  68. package/assets/esri/core/workers/chunks/58579c53be1a44bd08d2.js +1 -0
  69. package/assets/esri/core/workers/chunks/598271956c46e21e5c09.js +1 -0
  70. package/assets/esri/core/workers/chunks/{d82da31dc702b8fd6a07.js → 59a64d72eed8c40c63cf.js} +1 -1
  71. package/assets/esri/core/workers/chunks/5ea0096a282e87a269bd.js +1 -0
  72. package/assets/esri/core/workers/chunks/63378b0b4265a547656b.js +1 -0
  73. package/assets/esri/core/workers/chunks/{394812e19b6915d560b0.js → 642be1619c0e76355cb6.js} +1 -1
  74. package/assets/esri/core/workers/chunks/65b0b4e808479187da00.js +1 -0
  75. package/assets/esri/core/workers/chunks/6666cd3bf1a3d175dc8c.js +1 -0
  76. package/assets/esri/core/workers/chunks/69a1cbf0af059548f96a.js +1 -0
  77. package/assets/esri/core/workers/chunks/6ae2408ac075b974e887.js +1 -0
  78. package/assets/esri/core/workers/chunks/{19a0cb2d335d97ad9488.js → 6b4c99c7648f37feec00.js} +1 -1
  79. package/assets/esri/core/workers/chunks/6b79c254897ece95b7a3.js +1 -0
  80. package/assets/esri/core/workers/chunks/6d66dc77af8d112c33c6.js +1 -0
  81. package/assets/esri/core/workers/chunks/71119398ec91f1b209d7.js +1 -0
  82. package/assets/esri/core/workers/chunks/71e12db99589c98a4357.js +1 -0
  83. package/assets/esri/core/workers/chunks/7536f0683e488159d8bd.js +1 -0
  84. package/assets/esri/core/workers/chunks/76589434d573111a8fb4.js +1 -0
  85. package/assets/esri/core/workers/chunks/{6f67c9f68101a084b683.js → 765bc49e58e9d0caa496.js} +6 -6
  86. package/assets/esri/core/workers/chunks/7c2d2f22df057ba8cb50.js +1 -0
  87. package/assets/esri/core/workers/chunks/7d6299ab7b0db23ab961.js +1 -0
  88. package/assets/esri/core/workers/chunks/8042e001545e2782499c.js +1 -0
  89. package/assets/esri/core/workers/chunks/82b2acc6f181927de89c.js +1 -0
  90. package/assets/esri/core/workers/chunks/85a200aecc7a844c9566.js +1 -0
  91. package/assets/esri/core/workers/chunks/89250d268dc2554a9ece.js +1 -0
  92. package/assets/esri/core/workers/chunks/8a23a62cbf1c5b4019c5.js +1 -0
  93. package/assets/esri/core/workers/chunks/8ac8ef856ed9592c433b.js +1 -0
  94. package/assets/esri/core/workers/chunks/8bfe4841c83eb3abfbe8.js +1 -0
  95. package/assets/esri/core/workers/chunks/{6aed2e42e65ac80f1fab.js → 8de61993e114f453579b.js} +1 -1
  96. package/assets/esri/core/workers/chunks/8e374ce47256a567ae11.js +1 -0
  97. package/assets/esri/core/workers/chunks/8f992ff87173a3ca1621.js +640 -0
  98. package/assets/esri/core/workers/chunks/{d7e7f3efd1d28617b808.js → 92e7067960549733f8e6.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{f1673e723b336204ad77.js → 9b23d999db902d25ba58.js} +1 -1
  100. package/assets/esri/core/workers/chunks/9bb2251ba58932f85d13.js +1 -0
  101. package/assets/esri/core/workers/chunks/{d8ccc713c5ad93e7a0c3.js → 9bd713d96502ddc2ce25.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{8351012ceb466f01b8fd.js → 9d8e7839772029d83c93.js} +1 -1
  103. package/assets/esri/core/workers/chunks/a12fd6a445f42326642f.js +1 -0
  104. package/assets/esri/core/workers/chunks/a50fd0e66b01fe205033.js +1 -0
  105. package/assets/esri/core/workers/chunks/{51716e411fad624ac21c.js → a567d001fcfa1f1cdeea.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{5eff240a0e41a4f80e61.js → a68b5cb66c2c5e6b46e0.js} +1 -1
  107. package/assets/esri/core/workers/chunks/a8e2fbbfbdf1c3203d5e.js +1 -0
  108. package/assets/esri/core/workers/chunks/a94674826e5893c9d197.js +1 -0
  109. package/assets/esri/core/workers/chunks/aad02c7417648d881129.js +1 -0
  110. package/assets/esri/core/workers/chunks/ad329226c8b579d0964c.js +1 -0
  111. package/assets/esri/core/workers/chunks/afdc6fc453157528cf9b.js +1 -0
  112. package/assets/esri/core/workers/chunks/b2504657d3ef8769005e.js +1 -0
  113. package/assets/esri/core/workers/chunks/b7f5d51ac26f37837b3b.js +1 -0
  114. package/assets/esri/core/workers/chunks/b90db0829da3f96e4a19.js +1 -0
  115. package/assets/esri/core/workers/chunks/{359d3acb3953e64e5a78.js → ba7fe21a78ea37a02b7c.js} +1 -1
  116. package/assets/esri/core/workers/chunks/bd17ac2e6f1eb8cf7abf.js +1 -0
  117. package/assets/esri/core/workers/chunks/bd721bbc7afc75d3bddb.js +1 -0
  118. package/assets/esri/core/workers/chunks/bd9dae2d5ec199f8e9ba.js +1 -0
  119. package/assets/esri/core/workers/chunks/{75c09a2fa4c34b4844c5.js → be0eab592db0e651b023.js} +6 -6
  120. package/assets/esri/core/workers/chunks/be19d4a6fb9b1c923127.js +1 -0
  121. package/assets/esri/core/workers/chunks/beba9f2213d8a850ddb6.js +1 -0
  122. package/assets/esri/core/workers/chunks/{f706bfea34d22539b46a.js → bf6c6bc15b0d2d82d1a4.js} +2 -2
  123. package/assets/esri/core/workers/chunks/bf706a5d065a357de51b.js +1 -0
  124. package/assets/esri/core/workers/chunks/{baea6f86b2dbe067940e.js → bf73232057ebc1ecc0ad.js} +1 -1
  125. package/assets/esri/core/workers/chunks/c2589e5e0e0f81a378c2.js +1 -0
  126. package/assets/esri/core/workers/chunks/c321bcda8e8893577948.js +1 -0
  127. package/assets/esri/core/workers/chunks/c33f1f722499a5c6fc11.js +1 -0
  128. package/assets/esri/core/workers/chunks/c452c74ba9de218c3e57.js +1 -0
  129. package/assets/esri/core/workers/chunks/{fade7b878a9498382bb2.js → c514135bf7703ba69a47.js} +1 -1
  130. package/assets/esri/core/workers/chunks/c798a40418e7ff38042a.js +1 -0
  131. package/assets/esri/core/workers/chunks/{969f58a2de4ebe63619d.js → c88fd4f69cb2b53b48ec.js} +1 -1
  132. package/assets/esri/core/workers/chunks/ca6c128940ddbebcaaab.js +1 -0
  133. package/assets/esri/core/workers/chunks/{c7ee05f46b26b17f9414.js → ce2ed9405ff1b704d35c.js} +1 -1
  134. package/assets/esri/core/workers/chunks/ce3e51c799a80648e46d.js +1 -0
  135. package/assets/esri/core/workers/chunks/{e81afc8a058a8ecc9b24.js → ce4e09b623ebb640c46c.js} +1 -1
  136. package/assets/esri/core/workers/chunks/cf7acf5acb6d322fd996.js +1 -0
  137. package/assets/esri/core/workers/chunks/{e0b27bceb397482bd0e8.js → d122431f3b0b88dcb488.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{2647c739cda29361a463.js → d87e504082e293640ece.js} +2 -2
  139. package/assets/esri/core/workers/chunks/d8c4fb66c733ab2f66d3.js +1 -0
  140. package/assets/esri/core/workers/chunks/d8d338665fe00494c826.js +1 -0
  141. package/assets/esri/core/workers/chunks/d93a4ccf8f0208dc6ad7.js +1 -0
  142. package/assets/esri/core/workers/chunks/de11ebcea2b8f9dfe65d.js +1 -0
  143. package/assets/esri/core/workers/chunks/e03713dee3205c96d53f.js +1 -0
  144. package/assets/esri/core/workers/chunks/e133840540abf20262a4.js +1 -0
  145. package/assets/esri/core/workers/chunks/e54ad3683ad992682deb.js +1 -0
  146. package/assets/esri/core/workers/chunks/{3092184350d66c79f610.js → e5d969214d9eda5c0b4c.js} +1 -1
  147. package/assets/esri/core/workers/chunks/e63e24101e7e92c62d98.js +1 -0
  148. package/assets/esri/core/workers/chunks/e7e7c7cbfd8542bd7a46.js +1 -0
  149. package/assets/esri/core/workers/chunks/ead6e4d0a515c0913bee.js +1 -0
  150. package/assets/esri/core/workers/chunks/ee635172be7fdea69367.js +1 -0
  151. package/assets/esri/core/workers/chunks/{aefeb5a17bb481c95da3.js → eeb847bfea558566adf6.js} +1 -1
  152. package/assets/esri/core/workers/chunks/{d11de13537b623739e14.js → f14e3693cd644265f909.js} +1 -1
  153. package/assets/esri/core/workers/chunks/f196ad0c7dbcbf632776.js +1 -0
  154. package/assets/esri/core/workers/chunks/f31deeedb2508e81293b.js +2 -0
  155. package/assets/esri/core/workers/chunks/f618ee43581e8de6ad0c.js +1 -0
  156. package/assets/esri/core/workers/chunks/{2fd4220131bfc3f5e2dd.js → f635a8e3b0bfeda99ed5.js} +1 -1
  157. package/assets/esri/core/workers/chunks/f66262f8582909157f01.js +1 -0
  158. package/assets/esri/core/workers/chunks/f69c44479ee3fd8c831d.js +1 -0
  159. package/assets/esri/core/workers/chunks/{ea97619a4470f1540b99.js → f6ebec8d2248c719b89f.js} +1 -1
  160. package/assets/esri/core/workers/chunks/f948e4a80a7dbda70f2e.js +1 -0
  161. package/assets/esri/core/workers/chunks/f95e3333a65a0c09fd1e.js +1 -0
  162. package/assets/esri/core/workers/chunks/fa3138dd8139008b430d.js +1 -0
  163. package/assets/esri/core/workers/chunks/fa9ab152ea785b5e97e0.js +1 -0
  164. package/assets/esri/core/workers/chunks/fae147d03ed723ab234d.js +1 -0
  165. package/assets/esri/core/workers/chunks/fae79769df54eb4c4154.js +1 -0
  166. package/assets/esri/core/workers/chunks/fd2afff07aaac8203c18.js +1 -0
  167. package/assets/esri/core/workers/chunks/fdb7851e98e8d2ba48d3.js +1 -0
  168. package/assets/esri/core/workers/chunks/ff7708aaa2de720e3a47.js +1 -0
  169. package/assets/esri/core/workers/chunks/ffb8fa77297578afef7c.js +1 -0
  170. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  171. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  172. package/chunks/GaussianSplat.glsl.js +8 -8
  173. package/chunks/GlobalIllumination.glsl.js +31 -31
  174. package/chunks/GlowComposition.glsl.js +4 -4
  175. package/chunks/OITBlend.glsl.js +3 -7
  176. package/chunks/OITBlendEmission.glsl.js +22 -0
  177. package/chunks/{OITDim.glsl.js → OITDimOpaque.glsl.js} +2 -2
  178. package/chunks/RibbonLine.glsl.js +57 -53
  179. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  180. package/chunks/arcgis-knowledge-client-core.js +1 -1
  181. package/config.js +1 -1
  182. package/core/has.js +1 -1
  183. package/geometry/support/geometryUtils.js +1 -1
  184. package/geometry/support/heightModelInfoUtils.js +1 -1
  185. package/kernel.js +1 -1
  186. package/layers/DimensionFeatureLayer.d.ts +7 -0
  187. package/layers/DimensionFeatureLayer.js +2 -0
  188. package/layers/FeatureLayer.d.ts +27 -1
  189. package/layers/FeatureLayer.js +1 -1
  190. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  191. package/layers/graphics/OptimizedFeature.js +1 -1
  192. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  193. package/layers/graphics/data/optimizedFeatureQueryEngineAdapter.js +1 -1
  194. package/layers/graphics/featureConversionUtils.js +1 -1
  195. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  196. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  197. package/layers/mixins/ArcGISImageService.js +1 -1
  198. package/layers/mixins/FeatureReductionLayer.js +1 -1
  199. package/layers/mixins/PortalLayer.js +1 -1
  200. package/layers/raster/datasets/ImageAuxRaster.js +1 -1
  201. package/layers/raster/datasets/InMemoryRaster.js +1 -1
  202. package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
  203. package/layers/raster/formats/RasterCodec.js +1 -1
  204. package/layers/support/RasterJobHandler.js +1 -1
  205. package/layers/support/capabilities.js +1 -1
  206. package/layers/support/layerUtils.js +1 -1
  207. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  208. package/layers/types.d.ts +1 -1
  209. package/networks/support/CircuitPathConnectivityElement.js +1 -1
  210. package/networks/support/networkFieldUtils.js +1 -1
  211. package/package.json +2 -2
  212. package/popup/Features.js +1 -1
  213. package/portal/schemas/definitions.js +1 -1
  214. package/portal/support/layersLoader.js +1 -1
  215. package/rest/knowledgeGraph/ReplicaDefinition.d.ts +0 -3
  216. package/rest/knowledgeGraph/types.d.ts +1 -1
  217. package/rest/knowledgeGraph/wasmInterface/queryToWasmEncodedFactories.js +1 -1
  218. package/rest/knowledgeGraph/wasmInterface/replicaToWasmEncodedFactories.js +1 -1
  219. package/rest/support/Query.js +1 -1
  220. package/rest/versionManagement/gdbVersion/support/ConflictsParameters.js +1 -1
  221. package/rest/versionManagement/gdbVersion/support/DifferencesParameters.js +1 -1
  222. package/rest/versionManagement/gdbVersion/support/DifferencesResult.d.ts +25 -0
  223. package/rest/versionManagement/gdbVersion/support/InspectConflictsParameters.js +1 -1
  224. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.d.ts +3 -5
  225. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.js +1 -1
  226. package/support/revision.js +1 -1
  227. package/symbols/cim/CIMEffects.js +1 -1
  228. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  229. package/symbols/cim/CIMSymbolHelper.js +1 -1
  230. package/symbols/cim/defaultCIMValues.js +1 -1
  231. package/symbols/cim/effects/EffectAddControlPoints.js +1 -1
  232. package/symbols/cim/effects/EffectArrow.js +1 -1
  233. package/symbols/cim/effects/EffectBuffer.js +1 -1
  234. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  235. package/symbols/cim/effects/EffectCut.js +1 -1
  236. package/symbols/cim/effects/EffectDashes.js +1 -1
  237. package/symbols/cim/effects/EffectDonut.js +1 -1
  238. package/symbols/cim/effects/EffectEnclosingPolygon.js +1 -1
  239. package/symbols/cim/effects/EffectHelper.js +1 -1
  240. package/symbols/cim/effects/EffectJog.js +1 -1
  241. package/symbols/cim/effects/EffectMove.js +1 -1
  242. package/symbols/cim/effects/EffectOffset.js +1 -1
  243. package/symbols/cim/effects/EffectRadial.js +1 -1
  244. package/symbols/cim/effects/EffectTaperedPolygon.js +1 -1
  245. package/symbols/cim/effects/EffectWave.js +1 -1
  246. package/symbols/cim/placements/PlacementAtRatioPositions.js +1 -1
  247. package/symbols/cim/types.d.ts +34 -1
  248. package/symbols/cim/utils.js +1 -1
  249. package/symbols/dimensions/effects/LinearDimensionArrowEffect.js +1 -1
  250. package/symbols/dimensions/effects/LinearDimensionExtensionLineEffect.js +1 -1
  251. package/symbols/dimensions/effects/LinearDimensionLeaderLineEffect.js +1 -1
  252. package/symbols/dimensions/effects/LinearDimensionLineEffect.js +1 -1
  253. package/symbols/dimensions/effects/LinearDimensionPointEffect.js +1 -1
  254. package/symbols/dimensions/effects/LinearDimensionTextEffect.js +1 -1
  255. package/symbols/types.d.ts +1 -1
  256. package/views/2d/engine/vectorTiles/decluttering/SymbolDeclutterer.js +1 -1
  257. package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
  258. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  259. package/views/2d/engine/webgl/GlyphSDFCreator.js +1 -1
  260. package/views/2d/engine/webgl/alignmentUtils.js +1 -1
  261. package/views/2d/engine/webgl/definitions.js +1 -1
  262. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  263. package/views/2d/engine/webgl/shaderGraph/techniques/TestTechnique.js +1 -1
  264. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  265. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
  266. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  267. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
  268. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  269. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  270. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js +1 -1
  271. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
  272. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js +1 -1
  273. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  274. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js +1 -1
  275. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  276. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js +1 -1
  277. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  278. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  279. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js +1 -1
  280. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  281. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  282. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  283. package/views/2d/layerViewModuleImportUtils.js +1 -1
  284. package/views/2d/layers/DimensionLayerView2D.js +2 -0
  285. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  286. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  287. package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +2 -0
  288. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  289. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  290. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  291. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  292. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  293. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  294. package/views/2d/layers/features/schema/SourceSchema.js +1 -1
  295. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  296. package/views/2d/layers/features/sources/strategies/AFeatureTileLoadStrategy.js +1 -1
  297. package/views/2d/layers/features/sources/strategies/FeatureHybridTileLoadStrategy.js +2 -0
  298. package/views/2d/layers/features/sources/strategies/chunks/ByReferenceTileSourceChunk.js +2 -0
  299. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  300. package/views/2d/layers/features/support/DisplayIdGenerator.js +1 -1
  301. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  302. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  303. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  304. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  305. package/views/2d/layers/features/support/RefCounted.js +2 -0
  306. package/views/2d/types.d.ts +2 -0
  307. package/views/3d/layerViewModuleImportUtils.js +1 -1
  308. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  309. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  310. package/views/3d/support/QualityProfile.js +1 -1
  311. package/views/3d/support/QualitySettings.js +1 -1
  312. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  313. package/views/3d/types.d.ts +2 -0
  314. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +11 -12
  315. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +5 -5
  316. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +1 -1
  317. package/views/3d/webgl-engine/core/shaderLibrary/util/{ComputeCovariance.glsl.js → GaussianSplatCovariance.glsl.js} +15 -9
  318. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +43 -0
  319. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js +36 -0
  320. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  321. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  322. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  323. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  324. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  325. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  326. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  327. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  328. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  329. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  330. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  331. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  332. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  333. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  334. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.js +1 -1
  335. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  336. package/views/3d/webgl-engine/effects/precipitation/Precipitation.js +1 -1
  337. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  338. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  339. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  340. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  341. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  342. package/views/3d/webgl-engine/effects/transparency/OITBlendEmission.glsl.js +2 -0
  343. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechnique.js +2 -0
  344. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechniqueConfiguration.js +2 -0
  345. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  346. package/views/3d/webgl-engine/effects/transparency/{OITDim.glsl.js → OITDimOpaque.glsl.js} +1 -1
  347. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +2 -0
  348. package/views/3d/webgl-engine/effects/transparency/{OITDimTechniqueConfiguration.js → OITDimOpaqueTechniqueConfiguration.js} +1 -1
  349. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  350. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  351. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  352. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  353. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  354. package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +1 -1
  355. package/views/PopupView.js +1 -1
  356. package/views/SceneView.d.ts +3 -3
  357. package/views/layers/FeatureLikeLayerView.d.ts +2 -1
  358. package/views/layers/FeatureLikeLayerView.js +1 -1
  359. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +12 -12
  360. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  361. package/widgets/FeatureTable/Grid/Column.d.ts +2 -17
  362. package/widgets/FeatureTable/Grid/Column.js +1 -1
  363. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  364. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  365. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -7
  366. package/widgets/FeatureTable/Grid/GroupColumn.js +1 -1
  367. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -9
  368. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  369. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  370. package/widgets/FeatureTable/support/types.d.ts +0 -8
  371. package/widgets/FeatureTable.d.ts +18 -3
  372. package/widgets/FeatureTable.js +1 -1
  373. package/widgets/Features/FeaturesViewModel.js +1 -1
  374. package/widgets/Search/support/layerSearchUtils.js +1 -1
  375. package/widgets/Search/support/locatorUtils.js +1 -1
  376. package/assets/esri/core/workers/chunks/00e9e25269d5776f8645.js +0 -1
  377. package/assets/esri/core/workers/chunks/014a5fad55f97b9b5166.js +0 -1
  378. package/assets/esri/core/workers/chunks/015fc0a17b17d69cc3bb.js +0 -1
  379. package/assets/esri/core/workers/chunks/02e8fc598ee09cf1b678.js +0 -1
  380. package/assets/esri/core/workers/chunks/06003996a378c45bc605.js +0 -1
  381. package/assets/esri/core/workers/chunks/0a6df243b18acae471be.js +0 -1
  382. package/assets/esri/core/workers/chunks/127cd8fee3717a473fc5.js +0 -1
  383. package/assets/esri/core/workers/chunks/146424b5717d0a645ee1.js +0 -1
  384. package/assets/esri/core/workers/chunks/169ca3724053fc046d1b.js +0 -1
  385. package/assets/esri/core/workers/chunks/17445fd8048966617d49.js +0 -1
  386. package/assets/esri/core/workers/chunks/1765dfeac20e34ce25b7.js +0 -1
  387. package/assets/esri/core/workers/chunks/1768f1a7e3caa6074d91.js +0 -1
  388. package/assets/esri/core/workers/chunks/1906416c84bab369bbd6.js +0 -1
  389. package/assets/esri/core/workers/chunks/1a35121a0c2595a41fdb.js +0 -1
  390. package/assets/esri/core/workers/chunks/1f85646936200a399c15.js +0 -1
  391. package/assets/esri/core/workers/chunks/1ff3c15a51c4dc991806.js +0 -1
  392. package/assets/esri/core/workers/chunks/206bdfd868a9ef88f3a8.js +0 -1
  393. package/assets/esri/core/workers/chunks/2343b1105bc4c1b4a086.js +0 -1
  394. package/assets/esri/core/workers/chunks/2387613b855771a3e537.js +0 -1
  395. package/assets/esri/core/workers/chunks/2b0b398180ed98c2c84c.js +0 -1
  396. package/assets/esri/core/workers/chunks/3469df5c4846b0cee012.js +0 -1
  397. package/assets/esri/core/workers/chunks/34b6b5dd415c68f0b0d1.js +0 -1
  398. package/assets/esri/core/workers/chunks/34f7450769826e8b7069.js +0 -636
  399. package/assets/esri/core/workers/chunks/36f6673b23579b88d8f7.js +0 -1
  400. package/assets/esri/core/workers/chunks/384c235d36f32769e32b.js +0 -1
  401. package/assets/esri/core/workers/chunks/38c28189f273636e4017.js +0 -1
  402. package/assets/esri/core/workers/chunks/3a183259805638c25363.js +0 -1
  403. package/assets/esri/core/workers/chunks/3d9032217347dadcbe41.js +0 -1
  404. package/assets/esri/core/workers/chunks/3efbb684c0409955186d.js +0 -1
  405. package/assets/esri/core/workers/chunks/3feec3d08424b94e1bcf.js +0 -1
  406. package/assets/esri/core/workers/chunks/412745bfacef23e3b702.js +0 -1
  407. package/assets/esri/core/workers/chunks/46b16501db6681dc467b.js +0 -1
  408. package/assets/esri/core/workers/chunks/47b3a5213539548ff3a6.js +0 -1
  409. package/assets/esri/core/workers/chunks/48549d3d7bf0154c0afa.js +0 -1
  410. package/assets/esri/core/workers/chunks/4b79ebfb3328f9483147.js +0 -1
  411. package/assets/esri/core/workers/chunks/4c97cc922eece3a91b6b.js +0 -1
  412. package/assets/esri/core/workers/chunks/4dbbf59c79d9e72f20ee.js +0 -1
  413. package/assets/esri/core/workers/chunks/4e206957b28253ddc1a3.js +0 -1
  414. package/assets/esri/core/workers/chunks/52b3a11c962810bc6dbe.js +0 -1
  415. package/assets/esri/core/workers/chunks/53ef72edc3ed80bf558c.js +0 -1
  416. package/assets/esri/core/workers/chunks/54c035cdc171998d0776.js +0 -1
  417. package/assets/esri/core/workers/chunks/54c6e870262469d0d702.js +0 -1
  418. package/assets/esri/core/workers/chunks/55fd201ca5e10c6e4761.js +0 -1
  419. package/assets/esri/core/workers/chunks/566f6319ded0634769e0.js +0 -1
  420. package/assets/esri/core/workers/chunks/56717ff315c6ec874142.js +0 -1
  421. package/assets/esri/core/workers/chunks/56941e8bbd2d49bf2656.js +0 -1
  422. package/assets/esri/core/workers/chunks/5fccb372b4d5ee2f64cc.js +0 -1
  423. package/assets/esri/core/workers/chunks/60cee9a44929decd2474.js +0 -1
  424. package/assets/esri/core/workers/chunks/6124141ac642e4ce1454.js +0 -1
  425. package/assets/esri/core/workers/chunks/61fada8942b65fa0b5e1.js +0 -1
  426. package/assets/esri/core/workers/chunks/65c61171e6c6be5c5c2f.js +0 -1
  427. package/assets/esri/core/workers/chunks/6a3d207308b29651f397.js +0 -1
  428. package/assets/esri/core/workers/chunks/6d696beddcc5fbed5875.js +0 -1
  429. package/assets/esri/core/workers/chunks/6dac8dfcd63fc757ae2d.js +0 -1
  430. package/assets/esri/core/workers/chunks/71cfab6305f275cfb04e.js +0 -1
  431. package/assets/esri/core/workers/chunks/728ad5bbbcbf88d6249f.js +0 -1
  432. package/assets/esri/core/workers/chunks/7b505112c7e6d9b7a239.js +0 -1
  433. package/assets/esri/core/workers/chunks/7b6c8be59ed87e386aa4.js +0 -1
  434. package/assets/esri/core/workers/chunks/7ba67f1d7831a5576a5a.js +0 -1
  435. package/assets/esri/core/workers/chunks/7c820c5f6f05480d5050.js +0 -1
  436. package/assets/esri/core/workers/chunks/7ef51b0ebd560113ae7e.js +0 -1
  437. package/assets/esri/core/workers/chunks/80f4f686ce403cb2693f.js +0 -1
  438. package/assets/esri/core/workers/chunks/81d761c837b7456ec99f.js +0 -1
  439. package/assets/esri/core/workers/chunks/83f1871d04c979fa23b7.js +0 -1
  440. package/assets/esri/core/workers/chunks/85da2987e17b6755a94e.js +0 -1
  441. package/assets/esri/core/workers/chunks/8a3bff0f58483c1665f9.js +0 -1
  442. package/assets/esri/core/workers/chunks/8a5a827ee557d9f9a66e.js +0 -1
  443. package/assets/esri/core/workers/chunks/8a7a99533d02eb9cb058.js +0 -2
  444. package/assets/esri/core/workers/chunks/8b046e28f879079caada.js +0 -1
  445. package/assets/esri/core/workers/chunks/8d738e9acc2f222235ea.js +0 -1
  446. package/assets/esri/core/workers/chunks/915e2711d3a2cfa402b2.js +0 -1
  447. package/assets/esri/core/workers/chunks/9a5ef33d99a8f89956ff.js +0 -1
  448. package/assets/esri/core/workers/chunks/9c09097e390985bbac58.js +0 -1
  449. package/assets/esri/core/workers/chunks/9c402657f63a4d5668d0.js +0 -1
  450. package/assets/esri/core/workers/chunks/9f51a69b8f1937a8794a.js +0 -1
  451. package/assets/esri/core/workers/chunks/a015c2f54eb91e43a1f4.js +0 -1
  452. package/assets/esri/core/workers/chunks/a232d05c0a055f398c6e.js +0 -1
  453. package/assets/esri/core/workers/chunks/a242ec19a7508de436da.js +0 -1
  454. package/assets/esri/core/workers/chunks/a25acccda8febac71a3d.js +0 -1
  455. package/assets/esri/core/workers/chunks/a432219de6a873f88776.js +0 -1
  456. package/assets/esri/core/workers/chunks/a6b75576d598ec161cc4.js +0 -1
  457. package/assets/esri/core/workers/chunks/a7f9f478bd1493fc3c76.js +0 -1
  458. package/assets/esri/core/workers/chunks/aac6a57edd7494125204.js +0 -1
  459. package/assets/esri/core/workers/chunks/afc0baf86ece710ef867.js +0 -1
  460. package/assets/esri/core/workers/chunks/b2662bfdbd1e3623ceb9.js +0 -1
  461. package/assets/esri/core/workers/chunks/b4bac22467e96be7a974.js +0 -1
  462. package/assets/esri/core/workers/chunks/b73c146d3e550eaf07eb.js +0 -1
  463. package/assets/esri/core/workers/chunks/b7af0e6b9aadbcaf6a0b.js +0 -1
  464. package/assets/esri/core/workers/chunks/bc78937986854e500b8e.js +0 -1
  465. package/assets/esri/core/workers/chunks/bd10d21545bca9a49de0.js +0 -1
  466. package/assets/esri/core/workers/chunks/bea170f08f5261e22d29.js +0 -1
  467. package/assets/esri/core/workers/chunks/bec3ee5ea945e1e07a35.js +0 -1
  468. package/assets/esri/core/workers/chunks/bf4dd8e50704e4040966.js +0 -1
  469. package/assets/esri/core/workers/chunks/c31ee5617c61a933cb0e.js +0 -1
  470. package/assets/esri/core/workers/chunks/c3e89c7c7b677bd18557.js +0 -1
  471. package/assets/esri/core/workers/chunks/cb81d524f12edcadb9bb.js +0 -1
  472. package/assets/esri/core/workers/chunks/cc0f3b9b153a0c232afe.js +0 -1
  473. package/assets/esri/core/workers/chunks/cd0c232f4e3868d91a05.js +0 -1
  474. package/assets/esri/core/workers/chunks/ce7ef7c4ca14d66d96f6.js +0 -1
  475. package/assets/esri/core/workers/chunks/d3d9d40556c847bba1a7.js +0 -1
  476. package/assets/esri/core/workers/chunks/d55cef8199b8246fea3f.js +0 -1
  477. package/assets/esri/core/workers/chunks/d8decaee2c780e1b5e35.js +0 -1
  478. package/assets/esri/core/workers/chunks/dc54d4a9fe1691862356.js +0 -1
  479. package/assets/esri/core/workers/chunks/dd5b362bded458afa2d6.js +0 -1
  480. package/assets/esri/core/workers/chunks/dde94664110ff231a52d.js +0 -1
  481. package/assets/esri/core/workers/chunks/de3e5d82502ee15b7eae.js +0 -1
  482. package/assets/esri/core/workers/chunks/e18badd11f360cc2912b.js +0 -1
  483. package/assets/esri/core/workers/chunks/e6f1ed5e56f1d9862821.js +0 -1
  484. package/assets/esri/core/workers/chunks/e6fe8b5fbe95de01453b.js +0 -1
  485. package/assets/esri/core/workers/chunks/eaab5ac049622986e3bc.js +0 -1
  486. package/assets/esri/core/workers/chunks/ee7e9bca57160694b3c4.js +0 -1
  487. package/assets/esri/core/workers/chunks/ef0085aa743b33cb549f.js +0 -1
  488. package/assets/esri/core/workers/chunks/f0250cecb243b32cdba7.js +0 -1
  489. package/assets/esri/core/workers/chunks/f1e5626a0cc1631a1efb.js +0 -1
  490. package/assets/esri/core/workers/chunks/f36345ebb9851ab92453.js +0 -1
  491. package/assets/esri/core/workers/chunks/f468c6ea2818a1f97e19.js +0 -1
  492. package/assets/esri/core/workers/chunks/f49c7bb5d134bcb22155.js +0 -1
  493. package/assets/esri/core/workers/chunks/f6c8e93ca2987e83f925.js +0 -1
  494. package/assets/esri/core/workers/chunks/f7531aa69a87814c60d1.js +0 -1
  495. package/assets/esri/themes/base/fonts/cdn.scss +0 -3
  496. package/views/3d/webgl-engine/effects/transparency/OITDimTechnique.js +0 -2
  497. /package/assets/esri/core/workers/chunks/{f706bfea34d22539b46a.js.LICENSE.txt → bf6c6bc15b0d2d82d1a4.js.LICENSE.txt} +0 -0
  498. /package/assets/esri/core/workers/chunks/{2647c739cda29361a463.js.LICENSE.txt → d87e504082e293640ece.js.LICENSE.txt} +0 -0
  499. /package/assets/esri/core/workers/chunks/{8a7a99533d02eb9cb058.js.LICENSE.txt → f31deeedb2508e81293b.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2649],{85560(t,e,s){function i(){const t=new Float32Array(6);return t[0]=1,t[3]=1,t}function n(t,e,s,i){const n=e[i],r=e[i+1];t[i]=s[0]*n+s[2]*r+s[4],t[i+1]=s[1]*n+s[3]*r+s[5]}s.d(e,{vt:()=>i}),Object.freeze(Object.defineProperty({__proto__:null,clone:function(t){const e=new Float32Array(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},create:i,fromValues:function(t,e,s,i,n,r){const o=new Float32Array(6);return o[0]=t,o[1]=e,o[2]=s,o[3]=i,o[4]=n,o[5]=r,o},transform:n,transformMany:function(t,e,s,i=0,r=0,o=2){const a=r||e.length/o;for(let r=i;r<a;r++)n(t,e,s,r*o)}},Symbol.toStringTag,{value:"Module"}))},88340(t,e,s){function i(){return new Float32Array(2)}function n(t,e){const s=new Float32Array(2);return s[0]=t,s[1]=e,s}function r(){return i()}function o(){return n(1,1)}function a(){return n(1,0)}function h(){return n(0,1)}s.d(e,{Un:()=>c,fA:()=>n,uY:()=>l,vt:()=>i});const l=r(),c=o(),u=a(),_=h();Object.freeze(Object.defineProperty({__proto__:null,ONES:c,UNIT_X:u,UNIT_Y:_,ZEROS:l,clone:function(t){const e=new Float32Array(2);return e[0]=t[0],e[1]=t[1],e},create:i,fromValues:n,ones:o,unitX:a,unitY:h,zeros:r},Symbol.toStringTag,{value:"Module"}))},16905(t,e,s){s.d(e,{$0:()=>h,D_:()=>n,Tl:()=>a,e$:()=>o,lw:()=>r});var i=s(34304);function n(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function r(t,e,s){const i=e[0],n=e[1],r=e[2],o=e[3],a=e[4],h=e[5],l=s[0],c=s[1],u=s[2],_=s[3],f=s[4],p=s[5];return t[0]=i*l+r*c,t[1]=n*l+o*c,t[2]=i*u+r*_,t[3]=n*u+o*_,t[4]=i*f+r*p+a,t[5]=n*f+o*p+h,t}function o(t,e,s){const i=e[0],n=e[1],r=e[2],o=e[3],a=e[4],h=e[5],l=Math.sin(s),c=Math.cos(s);return t[0]=i*c+r*l,t[1]=n*c+o*l,t[2]=i*-l+r*c,t[3]=n*-l+o*c,t[4]=a,t[5]=h,t}function a(t,e,s){const i=e[0],n=e[1],r=e[2],o=e[3],a=e[4],h=e[5],l=s[0],c=s[1];return t[0]=i,t[1]=n,t[2]=r,t[3]=o,t[4]=i*l+r*c+a,t[5]=n*l+o*c+h,t}function h(t,e){const s=Math.sin(e),i=Math.cos(e);return t[0]=i,t[1]=s,t[2]=-s,t[3]=i,t[4]=0,t[5]=0,t}function l(t,e,s){return t[0]=e[0]-s[0],t[1]=e[1]-s[1],t[2]=e[2]-s[2],t[3]=e[3]-s[3],t[4]=e[4]-s[4],t[5]=e[5]-s[5],t}const c=r,u=l;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,e,s){return t[0]=e[0]+s[0],t[1]=e[1]+s[1],t[2]=e[2]+s[2],t[3]=e[3]+s[3],t[4]=e[4]+s[4],t[5]=e[5]+s[5],t},copy:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},determinant:function(t){return t[0]*t[3]-t[1]*t[2]},equals:function(t,e){const s=t[0],n=t[1],r=t[2],o=t[3],a=t[4],h=t[5],l=e[0],c=e[1],u=e[2],_=e[3],f=e[4],p=e[5],d=(0,i.FD)();return Math.abs(s-l)<=d*Math.max(1,Math.abs(s),Math.abs(l))&&Math.abs(n-c)<=d*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(r-u)<=d*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(o-_)<=d*Math.max(1,Math.abs(o),Math.abs(_))&&Math.abs(a-f)<=d*Math.max(1,Math.abs(a),Math.abs(f))&&Math.abs(h-p)<=d*Math.max(1,Math.abs(h),Math.abs(p))},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+1)},fromRotation:h,fromScaling:function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},fromTranslation:function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},identity:n,invert:function(t,e){const s=e[0],i=e[1],n=e[2],r=e[3],o=e[4],a=e[5];let h=s*r-i*n;return h?(h=1/h,t[0]=r*h,t[1]=-i*h,t[2]=-n*h,t[3]=s*h,t[4]=(n*a-r*o)*h,t[5]=(i*o-s*a)*h,t):null},mul:c,multiply:r,multiplyScalar:function(t,e,s){return t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s,t[4]=e[4]*s,t[5]=e[5]*s,t},multiplyScalarAndAdd:function(t,e,s,i){return t[0]=e[0]+s[0]*i,t[1]=e[1]+s[1]*i,t[2]=e[2]+s[2]*i,t[3]=e[3]+s[3]*i,t[4]=e[4]+s[4]*i,t[5]=e[5]+s[5]*i,t},rotate:o,scale:function(t,e,s){const i=e[0],n=e[1],r=e[2],o=e[3],a=e[4],h=e[5],l=s[0],c=s[1];return t[0]=i*l,t[1]=n*l,t[2]=r*c,t[3]=o*c,t[4]=a,t[5]=h,t},set:function(t,e,s,i,n,r,o){return t[0]=e,t[1]=s,t[2]=i,t[3]=n,t[4]=r,t[5]=o,t},str:function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},sub:u,subtract:l,translate:a},Symbol.toStringTag,{value:"Module"}))},36745(t,e,s){s.d(e,{z:()=>a});var i=s(4718),n=s(51118),r=s(60408),o=s(92722);class a{static fromOptimized(t,e,s=1){return(new h).initialize(t,e,s)}static fromJSON(t){const[e,s]=c(t),i=(0,r.Pv)(t),n=(0,r.W0)(t);return(new u).initialize(e,s,i,n,1)}static fromOptimizedCIM(t,e,s=1){return(new _).initialize(t,e,s)}static fromJSONCIM(t,e=1){const[s,i]=c(t),n=(0,r.Pv)(t),o=(0,r.W0)(t);return(new f).initialize(s,i,n,o,e)}static fromFeatureSetReader(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimized(e,s):null}static fromFeatureSetReaderCIM(t){const e=t.readGeometryForDisplay(),s=t.geometryType;return e&&s?this.fromOptimizedCIM(e,s):null}static createEmptyOptimized(t,e=!1,s=!1,i=1){return(new _).initialize(new o.A([],[],e,s),t,i)}static createEmptyJSON(t,e=!1,s=!1){return(new u).initialize([],t,e,s,1)}static createEmptyOptimizedCIM(t,e=!1,s=!1,i=1){return(new _).initialize(new o.A([],[],e,s),t,i)}static createEmptyJSONCIM(t,e=!1,s=!1,i=1){return(new f).initialize([],t,e,s,i)}asJSON(){const t=(0,n.x)(this),{hasZ:e,hasM:s}=this;return"esriGeometryEnvelope"===this.geometryType?{xmin:t[0][0][0],ymin:t[0][0][1],xmax:t[0][2][0],ymax:t[0][2][1]}:"esriGeometryMultipoint"===this.geometryType?{points:t.flat(),hasZ:e,hasM:s}:"esriGeometryPoint"===this.geometryType?{x:t[0][0][0],y:t[0][0][1],z:e?t[0][0][2]:void 0,m:s?t[0][0][e?3:2]:void 0}:"esriGeometryPolygon"===this.geometryType?{rings:t,hasZ:e,hasM:s}:{paths:t,hasZ:e,hasM:s}}getCurrentRingArea(){if(this.pathSize<3)return 0;let t,e,s=0;if(this.seekPathStart(),!this.nextPoint())return 0;t=this.x,e=this.y;const i=t,n=e;for(;this.nextPoint();)s+=(t-this.x)*(e+this.y),t=this.x,e=this.y;return s+=(t-i)*(e+n),-.5*s}invertY(){this.yFactor*=-1}}class h extends a{constructor(){super(...arguments),this._end=-1}get hasZ(){return this._geometry?.hasZ}get hasM(){return this._geometry?.hasM}initialize(t,e,s){return this.geometryType=e,this._stride=t.stride,this._geometry=t,this._pathIndex=-1,this._pathOffset=0,this._pointOffset=-this._stride,this._end=-1,this.yFactor=s,this}reset(){this.initialize(this._geometry,this.geometryType,this.yFactor)}seekPath(t){if(t>=0&&t<this.totalSize){if(this._pathIndex<t)for(;this._pathIndex<t&&this.nextPath(););else if(this._pathIndex>t)for(;this._pathIndex>t&&this.prevPath(););return!0}return!1}seekPathStart(){this._pointOffset=this._pathOffset-this._stride}seekPathEnd(){this._pointOffset=this._end}seekInPath(t){const e=this._pathOffset+t*this._stride;return e>=0&&e<this._end&&(this._pointOffset=e,!0)}nextPoint(){return(this._pointOffset+=this._stride)<this._end}prevPoint(){return(this._pointOffset-=this._stride)>=this._pathOffset}nextPath(){return!(this.pathIndex>=this.totalSize-1||(this._pathIndex>=0&&(this._pathOffset+=this._stride*this.pathSize),this._pathIndex++,this._pointOffset=this._pathOffset-this._stride,this._end=this._pointOffset+this._stride+this._stride*this.pathSize,0))}prevPath(){return!(this.pathIndex<=0||(this._pathIndex--,this._end=this._pathOffset,this._pathOffset-=this._stride*this.pathSize,this._pointOffset=this._pathOffset-this._stride,0))}getCurrentPath(){const t=this._end,e=this._geometry.coords,s=this._pathOffset;return(new h).initialize(new o.A([this.pathSize],e.slice(s,t),this.hasZ,this.hasM),this.geometryType,this.yFactor)}pathLength(){const t=this._end,e=this._stride,s=this._geometry.coords;let i=0;for(let n=this._pathOffset+e;n<t;n+=e){const t=s[n-e],r=s[n-e+1],o=s[n]-t,a=s[n+1]-r;i+=Math.sqrt(o*o+a*a)}return i}startPath(){this._geometry.lengths.push(0)}pushPath(t){this.startPath(),this.pushPoints(t)}pushPoint(t){for(let e=0;e<this._stride;++e)this._geometry.coords.push(t[e]);this._geometry.lengths[this.totalSize-1]++}pushXY(t,e){this._geometry.coords.push(t,e),this._geometry.lengths[this.totalSize-1]++}pushPoints(t){for(const e of t)for(let t=0;t<this._stride;++t)this._geometry.coords.push(e[t]);this._geometry.lengths[this.totalSize-1]+=t.length}pushCursor(t){const e=t.asOptimized();this._geometry.coords.push(...e.coords),this._geometry.lengths.push(...e.lengths)}asOptimized(){const t=this._geometry.clone();if(1!==this.yFactor)for(let e=1;e<t.coords.length;e+=this._stride)t.coords[e]*=this.yFactor;return"esriGeometryPoint"===this.geometryType&&(t.lengths.length=0),t}isClosed(){const t=this._geometry.coords,e=this._pathOffset,s=this._end-this._stride;for(let i=0;i<this._stride;i++)if(t[e+i]!==t[s+i])return!1;return!0}clone(){return(new h).initialize(this._geometry.clone(),this.geometryType,this.yFactor)}get totalPoints(){return this._geometry.isPoint?1:this._geometry.lengths.reduce((t,e)=>t+e)}get pathSize(){const{lengths:t}=this._geometry;return this._geometry.isPoint?1:this._pathIndex<0||this._pathIndex>t.length-1?0:t[this._pathIndex]}get totalSize(){return this._geometry.isPoint?1:this._geometry.lengths.length}get x(){return this._geometry.coords[this._pointOffset]}set x(t){this._geometry.coords[this._pointOffset]=t}get y(){return this.yFactor*this._geometry.coords[this._pointOffset+1]}set y(t){this._geometry.coords[this._pointOffset+1]=this.yFactor*t}get z(){return this._geometry.coords[this._pointOffset+2]}set z(t){this._geometry.coords[this._pointOffset+2]=t}get m(){const t=this.hasZ?3:2;return this._geometry.coords[this._pointOffset+t]}set m(t){this._geometry.coords[this._pointOffset+3]=t}get pathIndex(){return this._pathIndex}get _coordIndex(){return this._pointOffset/this._stride}}function l(t){const e=[t.x,t.y];return t.z&&e.push(t.z),t.m&&e.push(t.m),e}function c(t){return(0,r.Bi)(t)?[t.rings,"esriGeometryPolygon"]:(0,r.Rg)(t)?[t.paths,"esriGeometryPolyline"]:(0,r.U9)(t)?[[t.points],"esriGeometryMultipoint"]:(0,r.ZC)(t)?[[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]],"esriGeometryEnvelope"]:(0,r.fT)(t)?[[[l(t)]],"esriGeometryPoint"]:[[],"esriGeometryPolyline"]}class u extends a{initialize(t,e,s,i,n){return this._paths=t,this.geometryType=e,this.hasZ=s,this.hasM=i,this._pathIndex=this._pointIndex=-1,this.yFactor=n,this._mIndex=this.hasZ?3:2,this}reset(){this._pathIndex=this._pointIndex=-1}seekPath(t){return this._pathIndex=t,this._pointIndex=-1,t>=0&&t<this.totalSize&&(this._currentPath=this._paths[t],!0)}seekPathStart(){this._pointIndex=-1}seekPathEnd(){this._pointIndex=this._currentPath.length}seekInPath(t){return t>=0&&t<this._currentPath.length&&(this._pointIndex=t,this._currentPoint=this._currentPath[this._pointIndex],!0)}nextPoint(){return this._currentPoint=this._currentPath[++this._pointIndex],this._pointIndex<this._currentPath.length}prevPoint(){return this._currentPoint=this._currentPath[--this._pointIndex],this._pointIndex>=0}nextPath(){return this._pointIndex=-1,this._currentPath=this._paths[++this._pathIndex],this._pathIndex<this.totalSize}prevPath(){return this.pathIndex>0&&(this._pointIndex=-1,this._pathIndex--,this._currentPath=this._paths[this._pathIndex],!0)}pathLength(){const t=this._currentPath.length,e=this._currentPath;let s=0;for(let i=1;i<t;i++){const t=e[i-1],n=e[i],r=t[0],o=t[1],a=n[0]-r,h=n[1]-o;s+=Math.sqrt(a*a+h*h)}return s}startPath(){this._paths.push([])}getCurrentPath(){return(new u).initialize([this._currentPath],this.geometryType,this.hasZ,this.hasM,this.yFactor)}pushPath(t){this._paths.push(t)}pushPoint(t){this._paths[this.totalSize-1].push(t)}pushXY(t,e){this._paths[this.totalSize-1].push([t,e])}pushPoints(t){this._paths[this.totalSize-1].push(...t)}pushCursor(t){const e=(0,n.x)(t);for(const t of e)this.pushPath(t)}asOptimized(){const{hasZ:t,hasM:e}=this,s=new o.A([],[],t,e),{coords:i,lengths:n}=s;if("esriGeometryPoint"===this.geometryType)i.push(...this._paths[0][0]),n.length=0;else for(const s of this._paths){for(const n of s)i.push(n[0]),i.push(n[1]*this.yFactor),t&&i.push(n[2]),e&&i.push(n[this._mIndex]);n.push(s.length)}return s}isClosed(){const t=this._currentPath[0],e=this._currentPath[this._currentPath.length-1];for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}clone(){return(new u).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}get totalPoints(){return this._paths.map(t=>t.length).reduce((t,e)=>t+e)}get pathSize(){return this._pathIndex<0||this._pathIndex>this.totalSize-1?-1:this._paths[this._pathIndex].length}get totalSize(){return this._paths.length}get x(){return this._currentPoint[0]}set x(t){this._currentPoint[0]=t}get y(){return this.yFactor*this._currentPoint[1]}set y(t){this._currentPoint[1]=this.yFactor*t}get z(){return this._currentPoint[2]}set z(t){this._currentPoint[2]=t}get m(){return this._currentPoint[this._mIndex]}set m(t){this._currentPoint[this._mIndex]=t}get pathIndex(){return this._pathIndex}}class _ extends h{initialize(t,e,s){return super.initialize(t,e,s),this._controlPoints||(this._controlPoints=this._controlPoints=new Array(this.totalSize).fill(void 0).map(t=>new Set)),this}startPath(){super.startPath(),this._controlPoints.push(new Set)}clone(){const t=(new _).initialize(this._geometry.clone(),this.geometryType,this.yFactor);return t._controlPoints=this._controlPoints,t}setControlPoint(){this._controlPoints[this.pathIndex].add(this._coordIndex)}getControlPoint(){return this._controlPoints[this.pathIndex].has(this._coordIndex)}setControlPointAt(t){this._controlPoints[this.pathIndex].add(t)}getControlPointAt(t){return this._controlPoints[this.pathIndex].has(t)}}class f extends u{initialize(t,e,s,i,n){return super.initialize(t,e,s,i,n)}clone(){return(new f).initialize((0,i.o8)(this._paths),this.geometryType,this.hasZ,this.hasM,this.yFactor)}setControlPoint(){this._paths[this.pathIndex][this._pointIndex][4]=1}getControlPoint(){return 1===this._paths[this.pathIndex][this._pointIndex][4]}setControlPointAt(t){this._paths[this.pathIndex][t][4]=1}getControlPointAt(t){return 1===this._paths[this.pathIndex][t][4]}}},32011(t,e,s){s.d(e,{d:()=>h});var i=s(19419),n=s(537),r=s(12359),o=s(95108),a=s(12176);function h(t){if(0===t.totalSize)return null;const e=(0,n.z8)(t);if(!e)return null;const s=4*(Math.abs(e[0])+Math.abs(e[2])+Math.abs(e[1])+Math.abs(e[3])+1)*222045e-19;let o=0,a=0;t.reset();for(let e=0;t.nextPath();e++){const s=t.getCurrentRingArea();s>a&&(a=s,o=e)}if(t.seekPath(o),0===t.pathSize)return null;t.seekPathStart();const h=(0,n.B$)(t);if(Math.abs(a)<=2*s*s)return[(h[0]+h[2])/2,(h[1]+h[3])/2];t.seekPathStart();const _=(0,r.w2)(t,(0,i.vt)());if(null===_)return null;if(t.totalPoints<4)return _;const f=[[NaN,NaN],[NaN,NaN],[NaN,NaN],[NaN,NaN]],p=[NaN,NaN,NaN,NaN],y=[NaN,NaN,NaN,NaN];let P=!1,x=c(_,t,!0);0===x.distance&&(P=!0,f[0][0]=_[0],f[0][1]=_[1],x=c(_,t,!1)),p[0]=x.distance,y[0]=0;const M=[NaN,NaN];let b=!1,S=.25,C=-1,w=NaN;do{if(w=NaN,f[1]=u(t,d(h[0],h[2],S),0,e),isNaN(f[1][0])||isNaN(f[1][1])||(x=c(f[1],t,!1),w=x.distance),!isNaN(w)&&w>s&&l(f[1],t))b=!0,p[1]=w,y[1]=m(f[1],_);else if(!isNaN(w)&&w>C&&(C=w,M[0]=f[1][0],M[1]=f[1][1]),S-=.01,S<.1){if(!(C>=0))break;b=!0,p[1]=C,f[1][0]=M[0],f[1][1]=M[1],y[1]=m(f[1],_)}}while(!b);b=!1,S=.5,C=-1;let k=.01,I=1;do{if(w=NaN,f[2]=u(t,d(h[0],h[2],S),0,e),isNaN(f[2][0])||isNaN(f[2][1])||(x=c(f[2],t,!1),w=x.distance),!isNaN(w)&&w>s&&l(f[2],t))b=!0,p[2]=w,y[2]=m(f[2],_);else if(!isNaN(w)&&w>C)C=w,M[0]=f[2][0],M[1]=f[2][1];else if(w>C&&(C=w,M[0]=f[2][0],M[1]=f[2][1]),S=.5+k*I,k+=.01,I*=-1,S<.3||S>.7){if(!(C>=0))break;b=!0,p[2]=C,f[2][0]=M[0],f[2][1]=M[1],y[2]=m(f[2],_)}}while(!b);b=!1,S=.75,C=-1;do{if(w=NaN,f[3]=u(t,d(h[0],h[2],S),0,e),isNaN(f[3][0])||isNaN(f[3][1])||(x=c(f[3],t,!1),w=x.distance),!isNaN(w)&&w>s&&l(f[3],t))b=!0,p[3]=w,y[3]=m(f[3],_);else if(w>C&&(C=w,M[0]=f[3][0],M[1]=f[3][1]),S+=.01,S>.9){if(!(C>=0))break;b=!0,p[3]=C,f[3][0]=M[0],f[3][1]=M[1],y[3]=m(f[3],_)}}while(!b);const z=[0,1,2,3],v=P?0:1;let T;for(let t=v;t<4;t++)for(let t=v;t<3;t++){const e=y[t],s=y[t+1];g(e,s)>0&&(T=z[t],z[t]=z[t+1],z[t+1]=T,y[t]=s,y[t+1]=e)}let A=v,L=0,E=0;for(let t=v;t<4;t++){switch(t){case 0:E=2*p[z[t]];break;case 1:E=1.66666666*p[z[t]];break;case 2:E=1.33333333*p[z[t]];break;case 3:E=p[z[t]]}E>L&&(L=E,A=z[t])}return f[A]}function l(t,e){let s,i,n,r,o=0;for(e.reset();e.nextPath()&&e.nextPoint();)for(s=e.x,i=e.y;e.nextPoint();s=n,i=r)n=e.x,r=e.y,i>t[1]!=r>t[1]&&((n-s)*(t[1]-i)-(r-i)*(t[0]-s)>0?o++:o--);return 0!==o}function c(t,e,s){if(s&&l(t,e))return{coord:t,distance:0};let i=1/0,n=0,r=0,a=[0,0],h=[0,0];const c=[0,0];for(e.reset();e.nextPath()&&e.nextPoint();)if(!(e.pathSize<2))for(a[0]=e.x,a[1]=e.y;e.nextPoint();a=h){h=[e.x,e.y],(0,o.gR)(c,t,a,h);const s=m(t,c);s<i&&(i=s,n=c[0],r=c[1])}return{coord:[n,r],distance:Math.sqrt(i)}}function u(t,e,s,n){const r=[e,0];let o=1/0,h=1/0,l=!1,c=!1;const u=[[e,n[1]-1],[e,n[3]+1]],p=[0,0],d=[0,0],m=[0,0],g=[[0,0],[0,0]],y=(0,i.vt)();for(t.reset();t.nextPath()&&t.nextPoint();)if(!(t.pathSize<2))for(g[0][0]=t.x,g[0][1]=t.y;t.nextPoint();g[0][0]=g[1][0],g[0][1]=g[1][1]){if(g[1][0]=t.x,g[1][1]=t.y,null===_(y,g))continue;if(d[0]=u[0][0],d[1]=u[0][1],m[0]=u[1][0],m[1]=u[1][1],0===f(y,d,m))continue;if(!(0,a.Ql)(u[0],u[1],g[0],g[1],p))continue;const e=p[1];o>h?e<o&&(o=e,l=!0):e<h&&(h=e,c=!0)}return l&&c?r[1]=(o+h)/2:r[0]=r[1]=NaN,r}function _(t,e){if(e.length<2)return null;t||(t=(0,i.vt)());const[s,n]=e[0],[r,o]=e[1];return t[0]=Math.min(s,r),t[1]=Math.min(n,o),t[2]=Math.max(s,r),t[3]=Math.max(n,o),t}function f(t,e,s){let i=p(e,t),n=p(s,t);const r=t[0],o=t[1],a=t[2],h=t[3];if(i&n)return 0;if(!(i|n))return 4;const l=(i?1:0)|(n?2:0);do{const l=s[0]-e[0],c=s[1]-e[1];if(l>c)3&i?(1&i?(e[1]+=c*(r-e[0])/l,e[0]=r):(e[1]+=c*(a-e[0])/l,e[0]=a),i=p(e,t)):3&n?(1&n?(s[1]+=c*(r-s[0])/l,s[0]=r):(s[1]+=c*(a-s[0])/l,s[0]=a),n=p(s,t)):i?(4&i?(e[0]+=l*(o-e[1])/c,e[1]=o):(e[0]+=l*(h-e[1])/c,e[1]=h),i=p(e,t)):(4&n?(s[0]+=l*(o-s[1])/c,s[1]=o):(s[0]+=l*(h-s[1])/c,s[1]=h),n=p(s,t));else if(12&i?(4&i?(e[0]+=l*(o-e[1])/c,e[1]=o):(e[0]+=l*(h-e[1])/c,e[1]=h),i=p(e,t)):12&n?(4&n?(s[0]+=l*(o-s[1])/c,s[1]=o):(s[0]+=l*(h-s[1])/c,s[1]=h),n=p(s,t)):i?(1&i?(e[1]+=c*(r-e[0])/l,e[0]=r):(e[1]+=c*(a-e[0])/l,e[0]=a),i=p(e,t)):(1&n?(s[1]+=c*(r-s[0])/l,s[0]=r):(s[1]+=c*(a-s[0])/l,s[0]=a),n=p(s,t)),i&n)return 0}while(i|n);return l}function p(t,e){return(t[0]<e[0]?1:0)|(t[0]>e[2]?1:0)<<1|(t[1]<e[1]?1:0)<<2|(t[1]>e[3]?1:0)<<3}function d(t,e,s){return t+(e-t)*s}function m(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}function g(t,e){if(t<e)return-1;if(t>e)return 1;if(t===e)return 0;const s=isNaN(t),i=isNaN(e);return s<i?-1:s>i?1:0}},35833(t,e,s){s.d(e,{$Z:()=>o,NS:()=>l,Xs:()=>h,ai:()=>d,g1:()=>m,hd:()=>c,kT:()=>g,lX:()=>a,mO:()=>u,qc:()=>y,vZ:()=>f,yM:()=>_});var i=s(36745),n=s(6774),r=s(93397);const o=(0,r.z9)(()=>Promise.all([s.e(6042),s.e(1878),s.e(8885),s.e(5756),s.e(3299),s.e(463),s.e(6160)]).then(s.bind(s,46160))),a=(0,r.z9)(()=>Promise.all([s.e(6042),s.e(1878),s.e(8885),s.e(5756),s.e(3299),s.e(8872)]).then(s.bind(s,55666))),h=(0,r.z9)(()=>Promise.all([s.e(6042),s.e(1878),s.e(8885),s.e(5756),s.e(3299),s.e(1060)]).then(s.bind(s,51190))),l=(0,r.z9)(()=>Promise.all([s.e(6042),s.e(1878),s.e(8885),s.e(5756),s.e(3299),s.e(837)]).then(s.bind(s,97528))),c=(0,r.z9)(()=>Promise.all([s.e(6042),s.e(1878),s.e(8885),s.e(5756),s.e(3299),s.e(463),s.e(795)]).then(s.bind(s,50795))),u=(0,r.z9)(()=>Promise.all([s.e(6042),s.e(1878),s.e(8885),s.e(5756),s.e(3299),s.e(6936)]).then(s.bind(s,15605))),_=(0,r.z9)(()=>Promise.all([s.e(6042),s.e(1878),s.e(8885),s.e(5756),s.e(3299),s.e(1075)]).then(s.bind(s,3637))),f=(0,r.z9)(()=>Promise.all([s.e(6042),s.e(1878),s.e(8885),s.e(5756),s.e(3299),s.e(1948)]).then(s.bind(s,83299)));let p;function d(t){switch(t.type){case"CIMGeometricEffectDonut":case"CIMGeometricEffectBuffer":return o.getImportPromise();case"CIMGeometricEffectEnclosingPolygon":return a.getImportPromise();case"CIMGeometricEffectOffset":return Promise.all([u.getImportPromise(),c.getImportPromise()]);case"CIMGeometricEffectTaperedPolygon":return Promise.all([_.getImportPromise(),h.getImportPromise(),l.getImportPromise()]);default:return Promise.resolve()}}function m(t){return"CIMMarkerPlacementAtMeasuredUnits"===t.type?f.getImportPromise():Promise.resolve()}class g{constructor(t){this._geometry=t}next(){const t=this._geometry;return this._geometry=null,t}}function y(t,e,s){if(!t)return null;p||(p=new n.O3(0,0,0,1));const r=s?-1:1,o="esriGeometryPolygon"===t.geometryType,a=o?3:2,h=o?3:2;let l,c;for(p.reset(a),p.setPixelMargin(e+1),p.setExtent(512);t.nextPath();)if(!(t.pathSize<h)){for(t.nextPoint(),l=t.x,c=r*t.y,p.moveTo(l,c);t.nextPoint();)l=t.x,c=r*t.y,p.lineTo(l,c);o&&p.close()}const u=p.result(!1);if(u){const e=i.z.createEmptyOptimizedCIM(t.geometryType);for(const t of u){e.startPath();for(const s of t)e.pushXY(s.x,r*s.y)}return e.reset(),e}return null}},92580(t,e,s){s.d(e,{A:()=>Kt,c:()=>Qt});class i{static{this.instance=null}static local(){return null===i.instance&&(i.instance=new i),i.instance}execute(t,e){return new n(t,e)}}class n{constructor(t,e){this._inputGeometries=t,this._angleTolerance=void 0!==e.angleTolerance?e.angleTolerance:120,this._maxCosAngle=Math.cos((1-Math.abs(this._angleTolerance)/180)*Math.PI)}next(){let t=this._inputGeometries.next();if(!t)return null;for(;t;){if("esriGeometryPolygon"===t.geometryType)this._isClosed=!0;else if("esriGeometryPolyline"===t.geometryType)this._isClosed=!1;else{if("esriGeometryEnvelope"!==t.geometryType){t=this._inputGeometries.next();continue}if(this._maxCosAngle)return t;this._isClosed=!0}for(;t.nextPath();)this._processPath(t);return t.reset(),t}return null}_processPath(t){if(t.nextPoint()){const e=t.x,s=t.y;let i=e,n=s,r=t.pathSize,o=0,a=0,h=0,l=0,c=0,u=0;this._isClosed&&++r;for(let _=1;t.nextPoint()||_<r;++_){let f,p;this._isClosed&&_===r-1?(f=e,p=s):(f=t.x,p=t.y);const d=f-i,m=p-n,g=Math.sqrt(d*d+m*m);_>1&&g>0&&h>0&&(o*d+a*m)/g/h<=this._maxCosAngle&&t.setControlPointAt(_-1),1===_&&(l=d,c=m,u=g),g>0&&(i=f,n=p,o=d,a=m,h=g)}this._isClosed&&h>0&&u>0&&(o*l+a*c)/u/h<=this._maxCosAngle&&t.setControlPointAt(0)}}}var r=s(36745),o=s(51118),a=s(98939);function h(t,e){t[4]=e}class l{constructor(t,e=!0,s=!0,i=0){this._angleToLine=!0,this._keepUpright=!1,this.isClosed=!1,this.geometryCursor=null,this.geometryCursor=!e&&"esriGeometryPolygon"===t.geometryType||!s&&"esriGeometryPolyline"===t.geometryType?null:t,this.geomUnitsPerPoint=i,this.iterateMultiPath=!1,this.iteratePath=!1,this.internalPlacement=new a.W}next(){if(!this.geometryCursor)return null;const t=this.processMultiPath(this.geometryCursor);if(this.iterateMultiPath&&t||(this.geometryCursor=null),!t)return null;const e=t.getAngle();if(this._angleToLine&&this._keepUpright&&Math.abs(e)>.5*Math.PI){const s=e+Math.PI,i=Math.atan2(Math.sin(s),Math.cos(s));Number.isNaN(i)||t.setRotate(i)}return t}processMultiPath(t){for(;this.iteratePath||t.pathIndex<t.totalSize-1;){this.iteratePath||t.nextPath(),this.iterateMultiPath=!0;const e=this.processPath(t);if(e)return e}return this.iterateMultiPath=!1,null}}class c{constructor(t,e,s,i=0){this.isClosed=!1,this.inputGeometries=t,this.acceptPolygon=e,this.acceptPolyline=s,this.geomUnitsPerPoint=i,this.iteratePath=!1,this.multiPathCursor=null}next(){for(;;){if(!this.multiPathCursor){let t=this.inputGeometries.next();for(;t&&(this.isClosed=this.acceptPolygon&&"esriGeometryPolygon"===t.geometryType||"esriGeometryEnvelope"===t.geometryType,this.multiPathCursor=t,!this.multiPathCursor);)t=this.inputGeometries.next();if(!this.multiPathCursor)return null}for(;this.iteratePath||this.multiPathCursor.nextPath();){this.multiPathCursor.seekPathStart();const t=this.processPath(this.multiPathCursor);if(t)return t}this.multiPathCursor=null}}}const u=.03;class _{constructor(t=0,e=!1){}isEmpty(t){if(!t.nextPoint())return!0;let e,s,i,n;for(e=t.x,s=t.y;t.nextPoint();e=s,s=n)if(i=t.x,n=t.y,i!==e||n!==s)return t.seekPathStart(),!1;return t.seekPathStart(),!0}normalize(t){const e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);0!==e&&(t[0]/=e,t[1]/=e)}getLength(t,e,s,i){const n=s-t,r=i-e;return Math.sqrt(n*n+r*r)}getSegLength(t){const[[e,s],[i,n]]=t;return this.getLength(e,s,i,n)}getCoord2D(t,e,s,i,n){return[t+(s-t)*n,e+(i-e)*n]}getSegCoord2D(t,e){const[[s,i],[n,r]]=t;return this.getCoord2D(s,i,n,r,e)}getAngle(t,e,s,i,n){const r=s-t,o=i-e;return Math.atan2(o,r)}getAngleCS(t,e,s,i,n,r){null==t&&(t=[0,0]);const o=i-e,a=n-s,h=Math.sqrt(o*o+a*a);return 0!==h?(t[0]=o/h,t[1]=a/h,t):(t[0]=1,t[1]=0,t)}getSegAngleCS(t,e,s){const[[i,n],[r,o]]=e;return this.getAngleCS(t,i,n,r,o,s)}cut(t,e,s,i,n,r){return[n<=0?[t,e]:this.getCoord2D(t,e,s,i,n),r>=1?[s,i]:this.getCoord2D(t,e,s,i,r)]}getSubCurve(t,e,s){const i=r.z.createEmptyOptimizedCIM("esriGeometryPolyline");return this.appendSubCurve(i,t,e,s)?i:null}appendSubCurve(t,e,s,i){t.startPath(),e.seekPathStart();let n=0,r=!0;if(!e.nextPoint())return!1;let o=e.x,a=e.y;for(;e.nextPoint();){const h=this.getLength(o,a,e.x,e.y);if(0!==h){if(r){if(n+h>s){const l=(s-n)/h;let c=1,u=!1;n+h>=i&&(c=(i-n)/h,u=!0);const _=this.cut(o,a,e.x,e.y,l,c);if(_&&t.pushPoints(_),u)break;r=!1}}else{if(n+h>i){const s=this.cut(o,a,e.x,e.y,0,(i-n)/h);s&&t.pushPoint(s[1]);break}t.pushXY(e.x,e.y)}n+=h,o=e.x,a=e.y}else o=e.x,a=e.y}return!0}getCIMPointAlong(t,e){if(!t.nextPoint())return null;let s,i,n,r,o=0;for(s=t.x,i=t.y;t.nextPoint();s=n,i=r){n=t.x,r=t.y;const a=this.getLength(s,i,n,r);if(0!==a){if(o+a>e){const t=(e-o)/a;return this.getCoord2D(s,i,n,r,t)}o+=a}}return null}offset(t,e,s,i,n){if(!t||t.length<2)return null;let r=0,o=t[r++],a=r;for(;r<t.length;){const e=t[r];e[0]===o[0]&&e[1]===o[1]||(r!==a&&(t[a]=t[r]),o=t[a++]),r++}const h=t[0][0]===t[a-1][0]&&t[0][1]===t[a-1][1];if(h&&--a,a<(h?3:2))return null;const l=[];o=h?t[a-1]:null;let c=t[0];for(let n=0;n<a;n++){const r=n===a-1?h?t[0]:null:t[n+1];if(o)if(r){const t=[r[0]-c[0],r[1]-c[1]];this.normalize(t);const n=[c[0]-o[0],c[1]-o[1]];this.normalize(n);const a=n[0]*t[1]-n[1]*t[0],h=n[0]*t[0]+n[1]*t[1];if(0===a&&1===h){c=r;continue}if(a>=0==e<=0){if(h<1){const s=[t[0]-n[0],t[1]-n[1]];this.normalize(s);const r=Math.sqrt((1+h)/2);if(r>1/i){const t=-Math.abs(e)/r;l.push([c[0]-s[0]*t,c[1]-s[1]*t])}}}else switch(s){case"Mitered":{const s=Math.sqrt((1+h)/2);if(s>0&&1/s<i){const i=[t[0]-n[0],t[1]-n[1]];this.normalize(i);const r=Math.abs(e)/s;l.push([c[0]-i[0]*r,c[1]-i[1]*r]);break}}case"Bevelled":l.push([c[0]+n[1]*e,c[1]-n[0]*e]),l.push([c[0]+t[1]*e,c[1]-t[0]*e]);break;case"Rounded":if(h<1){l.push([c[0]+n[1]*e,c[1]-n[0]*e]);const s=Math.floor(2.5*(1-h));if(s>0){const i=1/s;let r=i;for(let o=1;o<s;o++,r+=i){const s=[n[1]*(1-r)+t[1]*r,-n[0]*(1-r)-t[0]*r];this.normalize(s),l.push([c[0]+s[0]*e,c[1]+s[1]*e])}}l.push([c[0]+t[1]*e,c[1]-t[0]*e])}break;default:if(a<0)l.push([c[0]+(n[1]+n[0])*e,c[1]+(n[1]-n[0])*e]),l.push([c[0]+(t[1]-t[0])*e,c[1]-(t[0]+t[1])*e]);else{const s=Math.sqrt((1+Math.abs(h))/2),i=[t[0]-n[0],t[1]-n[1]];this.normalize(i);const r=e/s;l.push([c[0]-i[0]*r,c[1]-i[1]*r])}}}else{const t=[c[0]-o[0],c[1]-o[1]];this.normalize(t),l.push([c[0]+t[1]*e,c[1]-t[0]*e])}else{const t=[r[0]-c[0],r[1]-c[1]];this.normalize(t),l.push([c[0]+t[1]*e,c[1]-t[0]*e])}o=c,c=r}return l.length<(h?3:2)?null:(h&&l.push([l[0][0],l[0][1]]),l)}}const f=1.7320508075688772;class p{static{this.instance=null}static local(){return null===p.instance&&(p.instance=new p),p.instance}execute(t,e,s){return new d(t,e,s)}}class d extends c{constructor(t,e,s){super(t,!1,!0),this._curveHelper=new _,this._width=(void 0!==e.width?e.width:5)*s,this._arrowType=void 0!==e.geometricEffectArrowType?e.geometricEffectArrowType:void 0!==e.arrowType?e.arrowType:"OpenEnded",this._offsetFlattenError=u*s}processPath(t){const e=r.z.createEmptyOptimizedCIM(t.geometryType);switch(this._arrowType){case"OpenEnded":default:this._constructSimpleArrow(e,t,!0);break;case"Block":this._constructSimpleArrow(e,t,!1);break;case"Crossed":this._constructCrossedArrow(e,t)}return e}_constructSimpleArrow(t,e,s){const i=e.pathLength();let n=this._width;i<2*n&&(n=i/2);const r=this._curveHelper.getSubCurve(e,0,i-n);if(!r||!r.nextPath())return;r.seekPathStart();const a=n/2;if(this._curveHelper.isEmpty(r))return;const h=(0,o.A)(r),l=this._constructOffset(h,-a);if(!l)return;const c=this._constructOffset(h,a);if(!c)return;const u=this._constructArrowBasePoint(l,-a/2);if(!u)return;const _=this._constructArrowBasePoint(c,a/2);if(!_)return;e.seekInPath(e.pathSize-1);const f=[e.x,e.y];t.pushPath(c),t.nextPath(),t.nextPoint(),t.setControlPoint(),t.pushPoint(_),t.nextPoint(),t.setControlPoint(),t.pushPoint(f),t.nextPoint(),t.setControlPoint(),t.pushPoint(u),t.nextPoint(),t.setControlPoint(),t.pushPoints(l.reverse()),t.setControlPoint(),s||(t.setControlPointAt(0),t.setControlPointAt(t.pathSize-1),t.pushPoint(c[0])),t.reset()}_constructCrossedArrow(t,e){const s=e.pathLength();let i=this._width;s<i*(1+f+1)&&(i=s/(1+f+1)),e.seekPathStart();const n=this._curveHelper.getSubCurve(e,0,s-i*(1+f));if(!n)return;n.nextPath();const r=i/2;if(this._curveHelper.isEmpty(n))return;const a=(0,o.A)(n),h=this._constructOffset(a,r);if(!h)return;const l=this._constructOffset(a,-r);if(!l)return;const c=this._curveHelper.getSubCurve(e,0,s-i);if(!c)return;if(c.nextPath(),this._curveHelper.isEmpty(c))return;const u=(0,o.A)(c),_=this._constructOffset(u,r);if(!_)return;const p=this._constructOffset(u,-r);if(!p)return;const d=_[_.length-1],m=this._constructArrowBasePoint(_,r/2);if(!m)return;const g=p[p.length-1],y=this._constructArrowBasePoint(p,-r/2);if(!y)return;e.seekInPath(e.pathSize-1);const P=[e.x,e.y];t.pushPath(h),t.nextPath(),t.nextPoint(),t.setControlPoint(),t.pushPoint(g),t.nextPoint(),t.setControlPoint(),t.pushPoint(y),t.nextPoint(),t.setControlPoint(),t.pushPoint(P),t.nextPoint(),t.setControlPoint(),t.pushPoint(m),t.nextPoint(),t.setControlPoint(),t.pushPoint(d),t.nextPoint(),t.setControlPoint(),t.pushPoints(l.reverse()),t.nextPoint(),t.setControlPoint(),t.reset()}_constructOffset(t,e){return this._curveHelper.offset(t,e,"Rounded",4,this._offsetFlattenError)}_constructArrowBasePoint(t,e){if(!t||t.length<2)return null;const s=t[t.length-2],i=t[t.length-1],n=[i[0]-s[0],i[1]-s[1]];return this._curveHelper.normalize(n),[i[0]+n[1]*e,i[1]-n[0]*e]}}var m=s(16930),g=s(35833);class y{static{this.instance=null}static local(){return null===y.instance&&(y.instance=new y),y.instance}execute(t,e,s,i,n,r){return new P(t,e,s,i,n,r)}}class P{constructor(t,e,s,i,n,r){this._preventClipping=r,this._inputGeometries=t,this._tileKey=i,this._curveHelper=new _,this._size=(void 0!==e.size?e.size:1)*s,this._maxInflateSize=n*s,this._offsetFlattenError=u*s}next(){let t;for(;t=this._inputGeometries.next();){if(0===this._size)return t;if("esriGeometryEnvelope"===t.geometryType)if(this._size>0){const e=r.z.createEmptyOptimizedCIM(t.geometryType),s=(0,o.x)(t)[0],i=this._curveHelper.offset(s,this._size,"Rounded",4,this._offsetFlattenError);if(i)return e.pushPath(i),e}else if(this._size<0){const e=t.asJSON();if(Math.min(e.xmax-e.xmin,e.ymax-e.ymin)+2*this._size>0)return r.z.fromJSONCIM({xmin:e.xmin-this._size,xmax:e.xmax+this._size,ymin:e.ymin-this._size,ymax:e.ymax+this._size})}const e=!this._preventClipping&&this._tileKey?(0,g.qc)(t,this._maxInflateSize,!0):t;if(!e)continue;const s=g.$Z.module,i={...e.asJSON(),spatialReference:{wkid:m.A.WebMercator.wkid}},n=s.execute(i,this._size);return n?r.z.fromJSONCIM(n):null}return null}}var x=s(95108);class M{static{this.instance=null}static local(){return null===M.instance&&(M.instance=new M),M.instance}execute(t,e,s){return new b(t,e,s)}}class b{constructor(t,e,s){this._defaultPointSize=20,this._inputGeometries=t,this._geomUnitsPerPoint=s,this._rule=e.rule??"FullGeometry",this._defaultSize=this._defaultPointSize*s}next(){let t;for(;t=this._inputGeometries.next();){const e=this._processGeom((0,o.x)(t));if(e?.length)return r.z.fromJSONCIM({paths:e})}return null}_clone(t){return[t[0],t[1]]}_mid(t,e){return[(t[0]+e[0])/2,(t[1]+e[1])/2]}_mix(t,e,s,i){return[t[0]*e+s[0]*i,t[1]*e+s[1]*i]}_add(t,e){return[t[0]+e[0],t[1]+e[1]]}_add2(t,e,s){return[t[0]+e,t[1]+s]}_sub(t,e){return[t[0]-e[0],t[1]-e[1]]}_dist(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}_norm(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}_normalize(t,e=1){const s=e/this._norm(t);t[0]*=s,t[1]*=s}_leftPerpendicular(t){const e=-t[1],s=t[0];t[0]=e,t[1]=s}_leftPerp(t){return[-t[1],t[0]]}_rightPerpendicular(t){const e=t[1],s=-t[0];t[0]=e,t[1]=s}_rightPerp(t){return[t[1],-t[0]]}_dotProduct(t,e){return t[0]*e[0]+t[1]*e[1]}_crossProduct(t,e){return t[0]*e[1]-t[1]*e[0]}_rotateDirect(t,e,s){const i=t[0]*e-t[1]*s,n=t[0]*s+t[1]*e;t[0]=i,t[1]=n}_makeCtrlPt(t){const e=[t[0],t[1]];return h(e,1),e}_addAngledTicks(t,e,s,i){const n=this._sub(s,e);this._normalize(n);const r=this._crossProduct(n,this._sub(i,e));let o;o=r>0?this._rightPerp(n):this._leftPerp(n);const a=Math.abs(r)/2,h=[];h.push([e[0]+(o[0]-n[0])*a,e[1]+(o[1]-n[1])*a]),h.push(e),h.push(s),h.push([s[0]+(o[0]+n[0])*a,s[1]+(o[1]+n[1])*a]),t.push(h)}_addBezier2(t,e,s,i,n){if(0===n--)return void t.push(i);const r=this._mid(e,s),o=this._mid(s,i),a=this._mid(r,o);this._addBezier2(t,e,r,a,n),this._addBezier2(t,a,o,i,n)}_addBezier3(t,e,s,i,n,r){if(0===r--)return void t.push(n);const o=this._mid(e,s),a=this._mid(s,i),h=this._mid(i,n),l=this._mid(o,a),c=this._mid(a,h),u=this._mid(l,c);this._addBezier3(t,e,o,l,u,r),this._addBezier3(t,u,c,h,n,r)}_add90DegArc(t,e,s,i,n){const r=n??this._crossProduct(this._sub(s,e),this._sub(i,e))>0,o=this._mid(e,s),a=this._sub(o,e);r?this._leftPerpendicular(a):this._rightPerpendicular(a),o[0]+=a[0],o[1]+=a[1],this._addBezier3(t,e,this._mix(e,.33333,o,.66667),this._mix(s,.33333,o,.66667),s,4)}_addArrow(t,e,s){const i=e[0],n=e[1],r=e[e.length-1],o=this._sub(i,n),a=this._norm(o);this._normalize(o);const h=Math.abs(this._crossProduct(o,this._sub(r,n)));let l=this._dotProduct(o,this._sub(r,n));l<.05*a?l=.05*a:l>.95*a&&(l=.95*a);const c=.5*h,u=this._leftPerp(o),_=[n[0]+o[0]*l,n[1]+o[1]*l],f=e.length-1,p=[];p.push(s?[-u[0],-u[1]]:u);let d=[-o[0],-o[1]];for(let t=1;t<f-1;t++){const s=this._sub(e[t+1],e[t]);this._normalize(s);const i=this._dotProduct(s,d),n=this._crossProduct(s,d),r=Math.sqrt((1+i)/2),o=this._sub(s,d);this._normalize(o),o[0]/=r,o[1]/=r,p.push(n<0?[-o[0],-o[1]]:o),d=s}p.push(this._rightPerp(d));for(let s=p.length-1;s>0;s--)t.push([e[s][0]+p[s][0]*c,e[s][1]+p[s][1]*c]);t.push([_[0]+p[0][0]*c,_[1]+p[0][1]*c]),t.push([_[0]+p[0][0]*h,_[1]+p[0][1]*h]),t.push(i),t.push([_[0]-p[0][0]*h,_[1]-p[0][1]*h]),t.push([_[0]-p[0][0]*c,_[1]-p[0][1]*c]);for(let s=1;s<p.length;s++)t.push([e[s][0]-p[s][0]*c,e[s][1]-p[s][1]*c])}_addDash(t,e,s){const i=this._norm(s)/7;this._normalize(s);let n=[];for(let r=0;r<=7;r++)n.push([e[0]+s[0]*r*i,e[1]+s[1]*r*i]),1&r&&(t.push(n),n=[])}_cp2(t,e,s){return t.length>=2?t[1]:this._add2(t[0],e*this._defaultSize,s*this._defaultSize)}_cp3(t,e,s,i){if(t.length>=3)return t[2];const n=this._mix(t[0],1-s,e,s),r=this._sub(e,t[0]);return this._normalize(r),this._rightPerpendicular(r),[n[0]+r[0]*i*this._defaultSize,n[1]+r[1]*i*this._defaultSize]}_arrowPath(t){if(t.length>2)return t;const e=t[0],s=this._cp2(t,-4,0),i=this._sub(e,s);this._normalize(i);const n=this._rightPerp(i);return[e,s,[e[0]+(n[0]-i[0])*this._defaultSize,e[1]+(n[1]-i[1])*this._defaultSize]]}_arrowLastSeg(t){const e=t[0],s=this._cp2(t,-4,0);let i;if(t.length>=3)i=t[t.length-1];else{const t=this._sub(e,s);this._normalize(t);const n=this._rightPerp(t);i=[e[0]+(n[0]-t[0])*this._defaultSize,e[1]+(n[1]-t[1])*this._defaultSize]}return[s,i]}_processGeom(t){if(!t)return null;const e=[];for(const s of t){const t=s.length>1&&(0,x.Yl)(s)<this._defaultSize;if(!s||0===s.length||t)continue;const i=s.length;let n=s[0];switch(this._rule){case"PerpendicularFromFirstSegment":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,.5,4),r=[];r.push(i),r.push(this._mid(n,t)),e.push(r);break}case"ReversedFirstSegment":{const t=this._cp2(s,0,-1);e.push([t,n]);break}case"PerpendicularToSecondSegment":{if(s.length<3)return[];const t=this._cp2(s,-4,1),i=this._cp3(s,t,.882353,-1.94),r=[];r.push(this._mid(t,i)),r.push(n),e.push(r);break}case"SecondSegmentWithTicks":{if(s.length<3)return[];const t=this._cp2(s,-4,1),i=this._cp3(s,t,.882353,-1.94),r=this._sub(i,t);let o;o=this._crossProduct(r,this._sub(n,t))>0?this._rightPerp(r):this._leftPerp(r);const a=[];a.push([t[0]+(o[0]-r[0])/3,t[1]+(o[1]-r[1])/3]),a.push(t),a.push(i),a.push([i[0]+(o[0]+r[0])/3,i[1]+(o[1]+r[1])/3]),e.push(a);break}case"DoublePerpendicular":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,.5,3),r=this._mid(n,t),o=this._sub(r,i);this._normalize(o);const a=this._crossProduct(o,this._sub(n,i));this._leftPerpendicular(o);const h=[];h.push(n),h.push([i[0]+o[0]*a,i[1]+o[1]*a]),e.push(h);const l=[];l.push([i[0]-o[0]*a,i[1]-o[1]*a]),l.push(t),e.push(l);break}case"OppositeToFirstSegment":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,.5,3),r=this._mid(n,t),o=this._sub(r,i);this._normalize(o);const a=this._crossProduct(o,this._sub(n,i));this._leftPerpendicular(o);const h=[];h.push([i[0]+o[0]*a,i[1]+o[1]*a]),h.push([i[0]-o[0]*a,i[1]-o[1]*a]),e.push(h);break}case"TriplePerpendicular":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,.5,4),r=this._mid(n,t),o=this._sub(r,i);this._normalize(o);const a=this._crossProduct(o,this._sub(n,i));this._leftPerpendicular(o);const h=[];h.push([i[0]+o[0]*a*.8,i[1]+o[1]*a*.8]),h.push([r[0]+.8*(n[0]-r[0]),r[1]+.8*(n[1]-r[1])]),e.push(h),e.push([i,r]);const l=[];l.push([i[0]-o[0]*a*.8,i[1]-o[1]*a*.8]),l.push([r[0]+.8*(t[0]-r[0]),r[1]+.8*(t[1]-r[1])]),e.push(l);break}case"HalfCircleFirstSegment":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,.5,4),r=this._mid(n,t);let o=this._sub(t,n);const a=Math.cos(Math.PI/18),h=Math.sin(Math.PI/18),l=Math.sqrt((1+a)/2),c=Math.sqrt((1-a)/2),u=[];let _;this._crossProduct(o,this._sub(i,n))>0?(u.push(n),o=this._sub(n,r),_=t):(u.push(t),o=this._sub(t,r),_=n),this._rotateDirect(o,l,c),o[0]/=l,o[1]/=l;for(let t=1;t<=18;t++)u.push(this._add(r,o)),this._rotateDirect(o,a,h);u.push(_),e.push(u);break}case"HalfCircleSecondSegment":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,1,-1);let r=this._sub(n,t);this._normalize(r);const o=this._crossProduct(r,this._sub(i,t))/2;this._leftPerpendicular(r);const a=[t[0]+r[0]*o,t[1]+r[1]*o];r=this._sub(t,a);const h=Math.cos(Math.PI/18);let l=Math.sin(Math.PI/18);o>0&&(l=-l);const c=[t];for(let t=1;t<=18;t++)this._rotateDirect(r,h,l),c.push(this._add(a,r));e.push(c);break}case"HalfCircleExtended":{const t=this._cp2(s,0,-2),r=this._cp3(s,t,1,-1);let o;if(i>=4)o=s[3];else{const e=this._sub(n,t);o=this._add(r,e)}const a=this._dist(t,r)/2/.75,h=this._sub(t,n);this._normalize(h,a);const l=this._sub(r,o);this._normalize(l,a);const c=[o,r];e.push(c);const u=[this._clone(r)];this._addBezier3(u,r,this._add(r,l),this._add(t,h),t,4),u.push(n),e.push(u);break}case"OpenCircle":{const t=this._cp2(s,-2,0),i=this._sub(t,n),r=Math.cos(Math.PI/18),o=-Math.sin(Math.PI/18),a=[t];for(let t=1;t<=33;t++)this._rotateDirect(i,r,o),a.push(this._add(n,i));e.push(a);break}case"CoverageEdgesWithTicks":{const t=this._cp2(s,0,-1);let r,o;if(i>=3)r=s[2];else{const e=this._sub(t,n),s=this._leftPerp(e);r=[n[0]+s[0]-.25*e[0],n[1]+s[1]-.25*e[1]]}if(i>=4)o=s[3];else{const e=this._mid(n,t),s=this._sub(n,t);this._normalize(s),this._leftPerpendicular(s);const i=this._crossProduct(s,this._sub(r,e));this._rightPerpendicular(s),o=[r[0]+s[0]*i*2,r[1]+s[1]*i*2]}const a=this._sub(t,n);let h,l;h=this._crossProduct(a,this._sub(r,n))>0?this._rightPerp(a):this._leftPerp(a),l=[],l.push(r),l.push(n),l.push([n[0]+(h[0]-a[0])/3,n[1]+(h[1]-a[1])/3]),e.push(l),h=this._crossProduct(a,this._sub(o,t))>0?this._rightPerp(a):this._leftPerp(a),l=[],l.push([t[0]+(h[0]+a[0])/3,t[1]+(h[1]+a[1])/3]),l.push(t),l.push(o),e.push(l);break}case"GapExtentWithDoubleTicks":{const t=this._cp2(s,0,2),r=this._cp3(s,t,0,1);let o;if(i>=4)o=s[3];else{const e=this._sub(t,n);o=this._add(r,e)}this._addAngledTicks(e,n,t,this._mid(r,o)),this._addAngledTicks(e,r,o,this._mid(n,t));break}case"GapExtentMidline":{const t=this._cp2(s,2,0),r=this._cp3(s,t,0,1);let o;if(i>=4)o=s[3];else{const e=this._sub(t,n);o=this._add(r,e)}const a=[];a.push(this._mid(n,r)),a.push(this._mid(t,o)),e.push(a);break}case"Chevron":{const t=this._cp2(s,-1,-1);let r;if(i>=3)r=s[2];else{const e=this._sub(t,n);this._leftPerpendicular(e),r=this._add(n,e)}e.push([t,this._makeCtrlPt(n),r]);break}case"PerpendicularWithArc":{const t=this._cp2(s,0,-2),r=this._cp3(s,t,.5,-1),o=this._sub(t,n),a=this._norm(o);o[0]/=a,o[1]/=a;const h=this._crossProduct(o,this._sub(r,n));let l=this._dotProduct(o,this._sub(r,n));l<.05*a?l=.05*a:l>.95*a&&(l=.95*a);const c=[n[0]+o[0]*l,n[1]+o[1]*l];let u=this._leftPerp(o),_=[];if(_.push([c[0]-u[0]*h,c[1]-u[1]*h]),_.push([c[0]+u[0]*h,c[1]+u[1]*h]),e.push(_),i>=4){const t=s[3];let i=this._dotProduct(o,this._sub(t,n));i<.1*a?i=.1*a:i>.9*a&&(i=.9*a);const r=[n[0]+o[0]*i,n[1]+o[1]*i],h=this._crossProduct(o,this._sub(t,n)),l=[];l.push([r[0]-u[0]*h,r[1]-u[1]*h]),l.push([r[0]+u[0]*h,r[1]+u[1]*h]),e.push(l)}const f=[t[0]+u[0]*h,t[1]+u[1]*h];u=this._sub(t,f);const p=Math.cos(Math.PI/18);let d=Math.sin(Math.PI/18);h<0&&(d=-d),_=[n,t];for(let t=1;t<=9;t++)this._rotateDirect(u,p,d),_.push(this._add(f,u));e.push(_);break}case"ClosedHalfCircle":{const t=this._cp2(s,2,0),i=this._mid(n,t),r=this._sub(t,i),o=Math.cos(Math.PI/18),a=Math.sin(Math.PI/18),h=[n,t];for(let t=1;t<=18;t++)this._rotateDirect(r,o,a),h.push(this._add(i,r));e.push(h);break}case"TripleParallelExtended":{const t=this._cp2(s,0,-2),i=this._cp3(s,t,1,-2),r=this._mid(n,t),o=this._sub(i,t);this._normalize(o);const a=Math.abs(this._crossProduct(o,this._sub(r,t)))/2,l=this._dist(t,i),c=[t,n];c.push([n[0]+o[0]*l*.5,n[1]+o[1]*l*.5]),e.push(c);const u=[];u.push([r[0]-o[0]*a,r[1]-o[1]*a]),u.push([r[0]+o[0]*l*.375,r[1]+o[1]*l*.375]),h(u[u.length-1],1),u.push([r[0]+o[0]*l*.75,r[1]+o[1]*l*.75]),e.push(u);const _=[t,i];e.push(_);break}case"ParallelWithTicks":{const t=this._cp2(s,3,0),i=this._cp3(s,t,.5,-1),r=this._sub(i,t);this._normalize(r);const o=this._crossProduct(r,this._sub(i,n));this._leftPerpendicular(r),this._addAngledTicks(e,n,t,i),this._addAngledTicks(e,this._mix(n,1,r,o),this._mix(t,1,r,o),this._mid(n,t));break}case"Parallel":{const t=this._cp2(s,3,0),i=this._cp3(s,t,.5,-1),r=this._sub(t,n);this._normalize(r);const o=this._leftPerp(r),a=this._crossProduct(r,this._sub(i,n));let h=[n,t];e.push(h),h=[],h.push([n[0]+o[0]*a,n[1]+o[1]*a]),h.push([t[0]+o[0]*a,t[1]+o[1]*a]),e.push(h);break}case"PerpendicularToFirstSegment":{const t=this._cp2(s,3,0),i=this._cp3(s,t,.5,-1),r=this._mid(n,t),o=this._sub(t,n);this._normalize(o);const a=this._crossProduct(o,this._sub(i,n));this._leftPerpendicular(o);const h=[];h.push([r[0]-o[0]*a*.25,r[1]-o[1]*a*.25]),h.push([r[0]+o[0]*a*1.25,r[1]+o[1]*a*1.25]),e.push(h);break}case"ParallelOffset":{const t=this._cp2(s,3,0),i=this._cp3(s,t,.5,-1),r=this._sub(t,n);this._normalize(r);const o=this._crossProduct(r,this._sub(i,n));this._leftPerpendicular(r);const a=[];a.push([n[0]-r[0]*o,n[1]-r[1]*o]),a.push([t[0]-r[0]*o,t[1]-r[1]*o]),e.push(a);const h=[];h.push([n[0]+r[0]*o,n[1]+r[1]*o]),h.push([t[0]+r[0]*o,t[1]+r[1]*o]),e.push(h);break}case"OffsetOpposite":{const t=this._cp2(s,3,0),i=this._cp3(s,t,.5,-1),r=this._sub(t,n);this._normalize(r);const o=this._crossProduct(r,this._sub(i,n));this._leftPerpendicular(r);const a=[];a.push([n[0]-r[0]*o,n[1]-r[1]*o]),a.push([t[0]-r[0]*o,t[1]-r[1]*o]),e.push(a);break}case"OffsetSame":{const t=this._cp2(s,3,0),i=this._cp3(s,t,.5,-1),r=this._sub(t,n);this._normalize(r);const o=this._crossProduct(r,this._sub(i,n));this._leftPerpendicular(r);const a=[];a.push([n[0]+r[0]*o,n[1]+r[1]*o]),a.push([t[0]+r[0]*o,t[1]+r[1]*o]),e.push(a);break}case"CircleWithArc":{let t=this._cp2(s,3,0);const r=this._cp3(s,t,.5,-1);let o,a;if(i>=4)o=s[3],a=this._crossProduct(this._sub(o,t),this._sub(r,t))>0;else{o=t,a=this._crossProduct(this._sub(o,n),this._sub(r,n))>0;const e=24*this._geomUnitsPerPoint,s=this._sub(o,n);this._normalize(s,e);const i=Math.sqrt(2)/2;this._rotateDirect(s,i,a?i:-i),t=this._add(n,s)}const l=this._sub(t,n),c=Math.cos(Math.PI/18),u=Math.sin(Math.PI/18),_=[t];for(let t=1;t<=36;t++)this._rotateDirect(l,c,u),_.push(this._add(n,l));this._add90DegArc(_,t,o,r,a),h(_[_.length-8],1),e.push(_);break}case"DoubleJog":{let t,r=this._cp2(s,-3,1),o=this._cp3(s,r,-1,-.5);if(i>=4)t=s[3];else{const e=n;n=r,t=o;const s=this._dist(n,e),i=this._dist(t,e);let a=30*this._geomUnitsPerPoint;.5*s<a&&(a=.5*s),.5*i<a&&(a=.5*i),r=this._mix(n,a/s,e,(s-a)/s),o=this._mix(t,a/i,e,(i-a)/i)}const a=this._mid(n,r),h=this._mid(t,o),l=this._dist(n,r),c=this._dist(o,t);let u=Math.min(l,c)/8;u=Math.min(u,24*this._geomUnitsPerPoint);const _=Math.cos(Math.PI/4);let f=this._sub(n,r);this._normalize(f,u),this._crossProduct(f,this._sub(t,r))>0?this._rotateDirect(f,_,-_):this._rotateDirect(f,_,_);let p=[];p.push(r),p.push(this._add(a,f)),p.push(this._sub(a,f)),p.push(n),e.push(p),f=this._sub(t,o),this._normalize(f,u),this._crossProduct(f,this._sub(n,o))<0?this._rotateDirect(f,_,_):this._rotateDirect(f,_,-_),p=[],p.push(o),p.push(this._add(h,f)),p.push(this._sub(h,f)),p.push(t),e.push(p);break}case"PerpendicularOffset":{const t=this._cp2(s,-4,1),i=this._cp3(s,t,.882353,-1.94),r=this._sub(i,t);this._crossProduct(r,this._sub(n,t))>0?this._rightPerpendicular(r):this._leftPerpendicular(r);const o=[r[0]/8,r[1]/8],a=this._sub(this._mid(t,i),o);e.push([a,n]);break}case"LineExcludingLastSegment":{const t=this._arrowPath(s),i=[];let n=t.length-2;for(;n--;)i.push(t[n]);e.push(i);break}case"MultivertexArrow":{const t=this._arrowPath(s),i=[];this._addArrow(i,t,!1),e.push(i);break}case"CrossedArrow":{const t=this._arrowPath(s),i=[];this._addArrow(i,t,!0),e.push(i);break}case"ChevronArrow":{const[t,i]=this._arrowLastSeg(s),r=10*this._geomUnitsPerPoint,o=this._sub(n,t),a=this._norm(o);this._normalize(o);const h=this._crossProduct(o,this._sub(i,t));let l=this._dotProduct(o,this._sub(i,t));l<.05*a?l=.05*a:l>.95*a-r&&(l=.95*a-r);const c=[t[0]+o[0]*l,t[1]+o[1]*l],u=this._leftPerp(o),_=[];_.push([c[0]+u[0]*h+o[0]*r,c[1]+u[1]*h+o[1]*r]),_.push(n),_.push([c[0]-u[0]*h+o[0]*r,c[1]-u[1]*h+o[1]*r]),e.push(_);break}case"ChevronArrowOffset":{const[t,i]=this._arrowLastSeg(s),r=this._sub(n,t),o=this._norm(r);this._normalize(r);const a=this._crossProduct(r,this._sub(i,t));let h=this._dotProduct(r,this._sub(i,t));h<.05*o?h=.05*o:h>.95*o&&(h=.95*o);const l=[t[0]+r[0]*h,t[1]+r[1]*h];this._leftPerpendicular(r);const c=[];c.push([l[0]+r[0]*a*.5,l[1]+r[1]*a*.5]),c.push(this._mid(l,n)),c.push([l[0]-r[0]*a*.5,l[1]-r[1]*a*.5]),e.push(c);break}case"PartialFirstSegment":{const[t,i]=this._arrowLastSeg(s),r=this._sub(n,t),o=this._norm(r);this._normalize(r);let a=this._dotProduct(r,this._sub(i,t));a<.05*o?a=.05*o:a>.95*o&&(a=.95*o);const h=[t[0]+r[0]*a,t[1]+r[1]*a];e.push([t,h]);break}case"Arch":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,.5,1),r=this._sub(n,t),o=this._mix(i,1,r,.55),a=this._mix(i,1,r,-.55),h=[n];this._addBezier2(h,n,o,i,4),this._addBezier2(h,i,a,t,4),e.push(h);break}case"CurvedParallelTicks":{const t=this._cp2(s,-4,1),i=this._cp3(s,t,.882353,-1.94),r=this._sub(i,t);this._crossProduct(r,this._sub(n,t))>0?this._rightPerpendicular(r):this._leftPerpendicular(r);const o=[r[0]/8,r[1]/8],a=this._sub(this._mid(t,i),o),h=this._sub(this._mix(t,.75,i,.25),o),l=this._sub(this._mix(t,.25,i,.75),o),c=[t];this._addBezier2(c,t,h,a,3),this._addBezier2(c,a,l,i,3),e.push(c);for(let t=0;t<8;t++){const s=c[2*t+1],i=[this._clone(s)];i.push(this._add(s,[r[0]/4,r[1]/4])),e.push(i)}break}case"Arc90Degrees":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,.5,1),r=[t];this._add90DegArc(r,t,n,i),e.push(r);break}case"TipWithPerpendicularAndTicks":{const[t,i]=this._arrowLastSeg(s),r=10*this._geomUnitsPerPoint,o=this._sub(n,t),a=this._norm(o);this._normalize(o);let h=this._crossProduct(o,this._sub(i,t)),l=this._dotProduct(o,this._sub(i,t));l<.05*a?l=.05*a:l>.95*a-r&&(l=.95*a-r);const c=this._leftPerp(o),u=[n[0]-o[0]*r,n[1]-o[1]*r],_=.5*Math.max(a-l-r,r);h=Math.abs(h);const f=[];f.push([u[0]+c[0]*(h+_)-o[0]*_,u[1]+c[1]*(h+_)-o[1]*_]),f.push([u[0]+c[0]*h,u[1]+c[1]*h]),f.push([u[0]-c[0]*h,u[1]-c[1]*h]),f.push([u[0]-c[0]*(h+_)-o[0]*_,u[1]-c[1]*(h+_)-o[1]*_]),e.push(f),e.push([u,n]);break}case"ConcentricCircles":{const t=this._cp2(s,1,0),r=this._cp3(s,t,2,0),o=Math.cos(Math.PI/18),a=Math.sin(Math.PI/18);let l=this._dist(t,n),c=[l,0],u=[];for(let t=0;t<=36;t++)u.push(this._add(n,c)),this._rotateDirect(c,o,a);if(e.push(u),i>=4){u=[];const t=s[3];l=this._dist(t,n),c=[l,0];for(let t=0;t<=36;t++)u.push(this._add(n,c)),0===t&&(u.push(this._add(n,c)),h(u[1],1)),this._rotateDirect(c,o,a);e.push(u)}u=[],l=this._dist(r,n),c=[l,0];for(let t=0;t<=36;t++)u.push(this._add(n,c)),this._rotateDirect(c,o,a);e.push(u);break}case"DoubleJogArrow":{n=this._arrowPath(s)[0];const[t,i]=this._arrowLastSeg(s),r=this._sub(n,t),o=this._norm(r);this._normalize(r);const a=Math.abs(this._crossProduct(r,this._sub(i,n)));let h=Math.abs(this._dotProduct(r,this._sub(i,n)));h<.05*o?h=.05*o:h>.95*o&&(h=.95*o);const l=Math.max(a,h),c=this._leftPerp(r);let u=[];const _=[n[0]-r[0]*h*.5+c[0]*a*.5,n[1]-r[1]*h*.5+c[1]*a*.5];u.push([_[0],_[1]]),_[0]+=r[0]*l*.5+c[0]*l*.4,_[1]+=r[1]*l*.5+c[1]*l*.4,u.push([_[0],_[1]]),_[0]-=c[0]*l*.25,_[1]-=c[1]*l*.25,u.push([_[0],_[1]]),_[0]+=r[0]*l*.5+c[0]*l*.4,_[1]+=r[1]*l*.5+c[1]*l*.4,u.push([_[0],_[1]]),e.push(u),u=[],_[0]=n[0]-r[0]*h*.5-c[0]*a*.5,_[1]=n[1]-r[1]*h*.5-c[1]*a*.5,u.push([_[0],_[1]]),_[0]+=r[0]*l*.5-c[0]*l*.4,_[1]+=r[1]*l*.5-c[1]*l*.4,u.push([_[0],_[1]]),_[0]+=c[0]*l*.25,_[1]+=c[1]*l*.25,u.push([_[0],_[1]]),_[0]+=r[0]*l*.5-c[0]*l*.4,_[1]+=r[1]*l*.5-c[1]*l*.4,u.push([_[0],_[1]]),e.push(u);break}case"LinkedChevrons":{const t=this._cp2(s,-5,0),i=this._cp3(s,t,-.2,1),r=this._sub(n,t);this._normalize(r);const o=this._leftPerp(r),a=Math.abs(this._crossProduct(r,this._sub(i,t)));e.push([t,n]);const h=[];h.push([n[0]-r[0]*a+o[0]*a,n[1]-r[1]*a+o[1]*a]),h.push(n),h.push([n[0]-r[0]*a-o[0]*a,n[1]-r[1]*a-o[1]*a]),e.push(h),this._addDash(e,t,[-r[0]*a+o[0]*a,-r[1]*a+o[1]*a]),this._addDash(e,t,[-r[0]*a-o[0]*a,-r[1]*a-o[1]*a]);break}case"SegmentThenHalfCircle":{const t=this._cp2(s,2,0),r=this._cp3(s,t,1.5,0);let o;o=i>=4?s[3]:this._cp3(s,t,1.25,-.5);const a=this._sub(t,n);this._normalize(a);const h=.5*this._dist(t,r),l=this._crossProduct(a,this._sub(o,n))>0,c=Math.cos(Math.PI/18);let u=Math.sin(Math.PI/18);l&&(u=-u);const _=[n,t];a[0]*=h,a[1]*=h;const f=this._add(t,a);a[0]=-a[0],a[1]=-a[1];for(let t=1;t<=18;t++)this._rotateDirect(a,c,u),_.push(this._add(f,a));e.push(_);break}case"LineWithStraightTicks":{const t=this._cp2(s,-2,1),i=this._cp3(s,t,-1,-.5),r=this._sub(i,t);this._normalize(r);const o=this._dotProduct(r,this._sub(t,n)),a=this._dotProduct(r,this._sub(i,n));let h=[n];h.push([n[0]+r[0]*o,n[1]+r[1]*o]),h.push(t),e.push(h),h=[n],h.push([n[0]+r[0]*a,n[1]+r[1]*a]),h.push(i),e.push(h);break}case"DoubleCurve":{const t=this._cp2(s,-5,-1),i=this._cp3(s,t,2,0),r=Math.atan2(1,5),o=Math.cos(r),a=Math.sin(r),l=this._sub(t,n),c=this._dist(n,t);this._normalize(l),this._rotateDirect(l,o,-a);const u=[n];u.push([n[0]+l[0]*c*.5,n[1]+l[1]*c*.5]),h(u[1],1),u.push([n[0]+l[0]*c*.8,n[1]+l[1]*c*.8]),this._addBezier2(u,u[2],[n[0]+l[0]*c,n[1]+l[1]*c],t,3);const _=this._sub(i,t),f=this._dist(t,i);this._normalize(_),this._rotateDirect(_,o,-a),this._addBezier2(u,t,[i[0]-_[0]*f,i[1]-_[1]*f],[i[0]-_[0]*f*.8,i[1]-_[1]*f*.8],3),u.push(i),e.push(u);break}case"ParallelWithTicksByWidth":{const t=this._cp2(s,0,-1),i=this._cp3(s,t,.5,3),r=this._sub(t,n);this._normalize(r);const o=this._crossProduct(r,this._sub(i,n));this._leftPerpendicular(r),o>0?(this._addAngledTicks(e,n,[n[0]+r[0]*o,n[1]+r[1]*o],t),this._addAngledTicks(e,t,[t[0]+r[0]*o,t[1]+r[1]*o],n)):(this._addAngledTicks(e,[n[0]+r[0]*o,n[1]+r[1]*o],n,t),this._addAngledTicks(e,[t[0]+r[0]*o,t[1]+r[1]*o],n,t));break}case"EnclosingRoundedRectangle":{const t=this._cp2(s,3,-2),e=[Math.min(n[0],t[0]),Math.max(n[1],t[1])],i=[Math.max(n[0],t[0]),Math.min(n[1],t[1])],r=i[0]-e[0],o=e[1]-i[1],a=Math.min(r,o)/10,h=[];h.push([e[0]+a+.75*(r-2*a),e[1]]),h.push([i[0]-a,e[1]]),this._add90DegArc(h,[i[0]-a,e[1]],[i[0],e[1]-a],[i[0],e[1]]),h.push([i[0],i[1]+a]),this._add90DegArc(h,[i[0],i[1]+a],[i[0]-a,i[1]],i),h.push([e[0]+a,i[1]]),this._add90DegArc(h,[e[0]+a,i[1]],[e[0],i[1]+a],[e[0],i[1]]),h.push([e[0],e[1]-a]),this._add90DegArc(h,[e[0],e[1]-a],[e[0]+a,e[1]],e),h.push([e[0]+a+.75*(r-2*a),e[1]]);break}default:e.push(s)}}return e}}class S{static{this.instance=null}static local(){return null===S.instance&&(S.instance=new S),S.instance}execute(t,e,s){return new C(t,e,s)}}class C extends c{constructor(t,e,s){super(t,!0,!0),this._curveHelper=new _,this._beginCut=(void 0!==e.beginCut?e.beginCut:1)*s,this._endCut=(void 0!==e.endCut?e.endCut:1)*s,this._middleCut=(void 0!==e.middleCut?e.middleCut:0)*s,this._invert=void 0!==e.invert&&e.invert,this._beginCut<0&&(this._beginCut=0),this._endCut<0&&(this._endCut=0),this._middleCut<0&&(this._middleCut=0)}processPath(t){const{_beginCut:e,_endCut:s,_middleCut:i}=this,n=t.pathLength(),o=r.z.createEmptyOptimizedCIM("esriGeometryPolyline");if(this._invert){if(0!==e||0!==s||0!==i)if(e+s+i>=n)for(o.startPath();t.nextPoint();)o.pushXY(t.x,t.y);else this._curveHelper.appendSubCurve(o,t,0,e),this._curveHelper.appendSubCurve(o,t,.5*(n-i),.5*(n+i)),this._curveHelper.appendSubCurve(o,t,n-s,s)}else if(0===e&&0===s&&0===i)for(o.startPath();t.nextPoint();)o.pushXY(t.x,t.y);else e+s+i<n&&(0===i?this._curveHelper.appendSubCurve(o,t,e,n-s):(this._curveHelper.appendSubCurve(o,t,e,.5*(n-i)),this._curveHelper.appendSubCurve(o,t,.5*(n+i),n-s)));return 0===o.totalSize?null:o}}class w{constructor(){this._values=[],this.extPtGap=0,this.ctrlPtGap=0,this._length=0,this._currentValue=0}isEmpty(){return 0===this._values.length}size(){return this._values.length}init(t,e=!0){if(this._setEmpty(),!t||0===t.length)return!1;for(let s=0;s<t.length;s++){let i=Math.abs(t[s]);e&&i<1e-7&&(i=1e-7),this._values.push(i),this._length+=i}return 0!==this._length&&(this.ctrlPtGap=this.extPtGap=0,this._currentValue=-1,!0)}scale(t){const e=this._values?this._values.length:0;for(let s=0;s<e;++s)this._values[s]*=t;this._length*=t,this.extPtGap*=t,this.ctrlPtGap*=t}addValue(t){this._length+=t,this._values.push(t)}firstValue(){return this._values[0]}lastValue(){return this._values[this._values.length-1]}nextValue(){return this._currentValue++,this._currentValue===this._values.length&&(this._currentValue=0),this._values[this._currentValue]}reset(){this._currentValue=-1}length(){return this._length}_setEmpty(){this.extPtGap=this.ctrlPtGap=this._length=0,this._currentValue=-1,this._values.length=0}}class k{constructor(){this.pt=null,this.ca=0,this.sa=0}}class I{constructor(){this.reset()}reset(){this.segment=null,this.segmentLength=0,this.abscissa=0,this.isPathEnd=!1,this.isPartEnd=!1}isValid(){return null!==this.segment}copyTo(t){t.segment=this.segment,t.segmentLength=this.segmentLength,t.abscissa=this.abscissa,t.isPathEnd=this.isPathEnd,t.isPartEnd=this.isPartEnd}}class z extends _{constructor(t=0,e=!1){super(t,e),this._tempPos=new I,this._tempPt=[0,0],this._tolerance=u,this._currentPosition=new I}updateTolerance(t){this._tolerance=u*t}init(t,e,s=!0){return s?(this._patternLength=e.length(),this._partExtPtGap=e.extPtGap,this._partCtrlPtGap=e.ctrlPtGap):(this._patternLength=0,this._partExtPtGap=0,this._partCtrlPtGap=0),this._currentPosition.reset(),this._partSegCount=0,this._pathCursor=t,this._seg=-1,this._setPosAtNextPart()}curPositionIsValid(){return this._currentPosition.isValid()}nextPosition(t,e=0){const s=new I;return!!this._nextPosition(t,s,null,e)&&(s.copyTo(this._currentPosition),!0)}curPointAndAngle(t){t.pt=this._getPoint(this._currentPosition);const[e,s]=this._getAngleCS(this._tempPt,this._currentPosition);t.ca=e,t.sa=s}nextPointAndAngle(t,e,s=0){const i=this._tempPos;if(!this._nextPosition(t,i,null,s))return!1;i.copyTo(this._currentPosition),e.pt=this._getPoint(i);const[n,r]=this._getAngleCS(this._tempPt,i);return e.ca=n,e.sa=r,!0}nextCurve(t){if(0===t)return null;const e=r.z.createEmptyOptimizedCIM("esriGeometryPolyline");e.startPath(),e.nextPath();const s=new I;return this._nextPosition(t,s,e,1)?(s.copyTo(this._currentPosition),e):null}isPathEnd(){return this._currentPosition.isPathEnd}getPathEnd(){return this._currentPosition.segment[1]}getPt(t){return this._pathCursor.seekInPath(t),[this._pathCursor.x,this._pathCursor.y]}getSeg(t){return[this.getPt(t),this.getPt(t+1)]}_nextPosition(t,e,s,i){if(this._currentPosition.isPathEnd)return!1;let n=this._currentPosition.abscissa;for(this._currentPosition.segmentLength>0&&(n/=this._currentPosition.segmentLength),this._currentPosition.copyTo(e);e.abscissa+t*this._partLengthRatio>e.segmentLength+this._tolerance;){if(s){if(0===s.pathSize)if(0===n){const t=e.segment[0];s.pushXY(t[0],t[1])}else s.pushPoint(this.getSegCoord2D(e.segment,n));const t=e.segment[1];s.pushXY(t[0],t[1])}if(n=0,t-=(e.segmentLength-e.abscissa)/this._partLengthRatio,this._partSegCount)e.segment=this._nextSegment(),e.segmentLength=this.getSegLength(e.segment),e.abscissa=0,this._partSegCount--;else{if(!this._setPosAtNextPart())return 0!==i&&(e.segmentLength=this.getSegLength(e.segment),e.isPartEnd=!0,1===i?(e.abscissa=e.segmentLength,e.isPathEnd=!0):e.abscissa=e.segmentLength+t,!0);this._currentPosition.copyTo(e)}}if(e.abscissa+=t*this._partLengthRatio,s){0===s.pathSize&&(0===n?s.pushPoint(e.segment[0]):s.pushPoint(this.getSegCoord2D(e.segment,n)));const t=e.abscissa/e.segmentLength;1===t?s.pushPoint(e.segment[1]):s.pushPoint(this.getSegCoord2D(e.segment,t))}return this._partSegCount||Math.abs(e.abscissa-e.segmentLength)<this._tolerance&&(e.isPathEnd=this._partIsLast,e.isPartEnd=!0),!0}_getPoint(t){const e=t.segmentLength<=0?0:t.abscissa/t.segmentLength;return this.getSegCoord2D(this._currentPosition.segment,e)}_getAngleCS(t,e){const s=e.segmentLength<=0?0:e.abscissa/e.segmentLength;return this.getSegAngleCS(t,this._currentPosition.segment,s)}_setPosAtNextPart(){for(;this._partSegCount;)this._hasNextSegment()&&this._nextSegment(),this._partSegCount--;if(!this._hasNextSegment())return!1;for(this._partLength=0,this._partIsLast=!0,this._partSegCount=0;this._hasNextSegment();)if(this._partLength+=this.getSegLength(this._nextSegment()),this._partSegCount++,this._pathCursor.getControlPointAt(this._getEndPointIndex())){this._partIsLast=!this._hasNextSegment();break}let t=this._partSegCount;for(;t;)this._previousSegment(),--t;this._currentPosition.segment=this._nextSegment(),this._currentPosition.segmentLength=this.getSegLength(this._currentPosition.segment),this._currentPosition.abscissa=0,this._currentPosition.isPathEnd=this._currentPosition.isPartEnd=!1,--this._partSegCount;const e=this._getStartPointIndex();this._ctrlPtBegin=this._pathCursor.getControlPointAt(e);let s=e+this._partSegCount+1;if(s>=this._pathCursor.pathSize&&(s=0),this._ctrlPtEnd=this._pathCursor.getControlPointAt(s),this._patternLength>0){const t=this._ctrlPtBegin?this._partCtrlPtGap:this._partExtPtGap,e=this._ctrlPtEnd?this._partCtrlPtGap:this._partExtPtGap;let s=Math.round((this._partLength-(t+e))/this._patternLength);s<=0&&(s=t+e>0?0:1),this._partLengthRatio=this._partLength/(t+e+s*this._patternLength),this._partLengthRatio<.01&&(this._partLengthRatio=1)}else this._partLengthRatio=1;return!0}_hasNextSegment(){return this._seg<this._pathCursor.pathSize-2}_previousSegment(){return this.getSeg(--this._seg)}_nextSegment(){return this.getSeg(++this._seg)}_getStartPointIndex(){return this._seg}_getEndPointIndex(){return this._seg+1}}var v=s(93397);class T{static{this.instance=null}static local(){return null===T.instance&&(T.instance=new T),T.instance}execute(t,e,s){return new A(t,e,s)}}class A extends c{constructor(t,e,s){super(t,!0,!0),this._firstCurve=null,this._walker=new z,this._walker.updateTolerance(s),this._endings=e.lineDashEnding??"NoConstraint",this._customDashPos=-(e.offsetAlongLine??0)*s,this._offsetAtEnd=(e.customEndingOffset??0)*s;let i=(0,v.FH)(e).dashTemplate;null==i&&(i=[]),i.length%2&&(i=[...i,...i]);let n=0;for(;n<i.length&&0===i[n];)n++;let r=0;const o=[];for(let t=n;t<i.length;t++)0===i[t]?r++:0===r?o.push(i[t]):1&r?(o[o.length-1]+=i[t],r=0):(o.push(i[t]),r=0);i=o,i.length<=1?i=0===i.length||n%2==0?[]:[-1]:i.length%2==1?n%2==1?i.unshift(0):i.push(0):n%2==1&&(i.unshift(0),i.push(0)),this._pattern=new w,this._pattern.init(i,!1),this._pattern.scale(s)}processPath(t){if(this._pattern.size()%2==1)return null;if(0===this._pattern.length()){this.iteratePath=!1;const e=(0,o.A)(t);return r.z.fromJSONCIM({paths:[e]})}if(!this.iteratePath){let e=!0;switch(this._endings){case"HalfPattern":case"HalfGap":default:this._pattern.extPtGap=0;break;case"FullPattern":this.isClosed||(this._pattern.extPtGap=.5*this._pattern.firstValue());break;case"FullGap":this.isClosed||(this._pattern.extPtGap=.5*this._pattern.lastValue());break;case"NoConstraint":this.isClosed||(e=!1);break;case"Custom":this.isClosed||(this._pattern.extPtGap=.5*this._offsetAtEnd)}const s=t.pathLength();if(this._pattern.isEmpty()||s<.1*this._pattern.length()){const e=(0,o.A)(t);return r.z.fromJSONCIM({paths:[e]})}if(!this._walker.init(t,this._pattern,e)){const e=(0,o.A)(t);return r.z.fromJSONCIM({paths:[e]})}}let e;if(this.iteratePath)e=this._pattern.nextValue();else{let t;switch(this._endings){case"HalfPattern":default:t=.5*this._pattern.firstValue();break;case"HalfGap":t=.5*-this._pattern.lastValue();break;case"FullGap":t=-this._pattern.lastValue();break;case"FullPattern":t=0;break;case"NoConstraint":case"Custom":t=-this._customDashPos}let s=t/this._pattern.length();s-=Math.floor(s),t=s*this._pattern.length(),this._pattern.reset(),e=this._pattern.nextValue();let i=!1;for(;t>=e;)t-=e,e=this._pattern.nextValue(),i=!i;e-=t,i?(this._walker.nextPosition(e),e=this._pattern.nextValue()):this.isClosed&&(this._firstCurve=this._walker.nextCurve(e),e=this._pattern.nextValue(),this._walker.nextPosition(e),e=this._pattern.nextValue())}0===e&&(e=this._pattern.nextValue(),this._walker.nextPosition(e),e=this._pattern.nextValue());let s=this._walker.nextCurve(e);if(s)if(this._walker.isPathEnd()){if(this.iteratePath=!1,this._firstCurve){for(this._firstCurve.nextPath();this._firstCurve.nextPoint();)s.pushXY(this._firstCurve.x,this._firstCurve.y);this._firstCurve=null}}else e=this._pattern.nextValue(),!this._walker.nextPosition(e)||this._walker.isPathEnd()?(this.iteratePath=!1,this._firstCurve&&(s.pushCursor(this._firstCurve),this._firstCurve=null)):this.iteratePath=!0;else this.iteratePath=!1,s=this._firstCurve,this._firstCurve=null;return s?.reset(),s}}class L{static{this.instance=null}static local(){return null===L.instance&&(L.instance=new L),L.instance}execute(t,e,s,i,n,r){return new E(t,e,s,i,n,r)}}class E{constructor(t,e,s,i,n,r){this._preventClipping=r,this._inputGeometries=t,this._tileKey=i,this._maxInflateSize=n*s,this._width=(void 0!==e.width?e.width:2)*s,e.method,this._option=e.option??"Accurate"}next(){let t;for(;t=this._inputGeometries.next();){if("esriGeometryEnvelope"===t.geometryType&&this._width>0){const e=t.asJSON();return Math.min(e.xmax-e.xmin,e.ymax-e.ymin)-2*this._width<0?t:r.z.fromJSONCIM({paths:[[[e.xmin+this._width,e.ymin+this._width],[e.xmax-this._width,e.ymin+this._width],[e.xmax-this._width,e.ymax-this._width],[e.xmin+this._width,e.ymax-this._width],[e.xmin+this._width,e.ymin+this._width]],[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]})}if("esriGeometryPolygon"===t.geometryType){if(0===this._width)return t.clone();const e=g.$Z.module,s=!this._preventClipping&&this._tileKey?(0,g.qc)(t,this._maxInflateSize,!0):t.clone();if(!s)continue;const i={...s.asJSON(),spatialReference:{wkid:m.A.WebMercator.wkid}},n=e.execute(i,-this._width);if(n)for(const t of n.rings)if(t){s.startPath();for(const e of t.reverse())s.pushXY(e[0],s.yFactor*e[1])}return s}}return null}}var R=s(537);class G{static{this.instance=null}static local(){return null===G.instance&&(G.instance=new G),G.instance}execute(t,e){return new N(t,e)}}class N{constructor(t,e){this._inputGeometries=t,this._medhod=e.method}next(){let t=this._inputGeometries.next();const e=this._medhod;for(;null!=t;){if(t.totalSize>0)switch(e){case"RectangularBox":return O(t);case"ConvexHull":return this._constructConvexHull(t);default:return F(t)}t=this._inputGeometries.next()}return null}_constructConvexHull(t){switch(t.geometryType){case"esriGeometryPolyline":case"esriGeometryPolygon":{const e=g.lX.module,s={...t.asJSON(),spatialReference:{wkid:m.A.WebMercator.wkid}},i=e.execute(s);return i?r.z.fromJSONCIM(i):null}case"esriGeometryEnvelope":return t;default:return null}}}function O(t){const e=(0,R.z8)(t),s={xmin:e[0],ymin:e[1],xmax:e[2],ymax:e[3]};return r.z.fromJSONCIM(s)}function F(t){switch(t.geometryType){case"esriGeometryPolyline":{const e=[];for(;t.nextPath();)D(t,e);return r.z.fromJSONCIM({rings:e})}case"esriGeometryPolygon":case"esriGeometryEnvelope":return t;default:return null}}function D(t,e){if(t.seekPathStart(),!t.nextPoint())return;const s=t.x,i=t.y,n=[[s,i]];for(e.push(n);t.nextPoint();)n.push([t.x,t.y]);n.push([s,i])}class X{static{this.instance=null}static local(){return null===X.instance&&(X.instance=new X),X.instance}execute(t,e,s){return new Y(t,e,s)}}class Y extends c{constructor(t,e,s){super(t,!1,!0),this._curveHelper=new _,this._length=(void 0!==e.length?e.length:20)*s,this._angle=void 0!==e.angle?e.angle:225,this._position=void 0!==e.position?e.position:50,this._length<0&&(this._length=-this._length),this._position<20&&(this._position=20),this._position>80&&(this._position=80),this._mirror=!1}processPath(t){const e=r.z.createEmptyOptimizedCIM("esriGeometryPolyline");if(this._curveHelper.isEmpty(t))return null;t.seekInPath(0);const s=t.x,i=t.y;t.seekInPath(t.pathSize-1);const n=t.x,o=t.y,a=[n-s,o-i];this._curveHelper.normalize(a);const h=s+(n-s)*this._position/100,l=i+(o-i)*this._position/100,c=Math.cos((90-this._angle)/180*Math.PI);let u=Math.sin((90-this._angle)/180*Math.PI);this._mirror&&(u=-u),this._mirror=!this._mirror;const _=[h-this._length/2*c,l-this._length/2*u],f=[h+this._length/2*c,l+this._length/2*u];return e.pushPath([[s,i],_,f,[n,o]]),e}}class H{static{this.instance=null}static local(){return null===H.instance&&(H.instance=new H),H.instance}execute(t,e,s){return new W(t,e,s)}}class W{constructor(t,e,s){this._inputGeometries=t,this._offsetX=void 0!==e.offsetX?e.offsetX*s:0,this._offsetY=void 0!==e.offsetY?e.offsetY*s:0}next(){let t=this._inputGeometries.next();for(;t;){if(t.totalSize>0)return this._move(t.clone(),this._offsetX,this._offsetY);t=this._inputGeometries.next()}return null}_move(t,e,s){for(;t.nextPath();)for(;t.nextPoint();)t.x=t.x+e,t.y=t.y+s;return t.reset(),t}}var U=s(60408);class B{static{this.instance=null}static local(){return null===B.instance&&(B.instance=new B),B.instance}execute(t,e,s,i,n,r){return new V(t,e,s,i,n,r)}}class V{constructor(t,e,s,i,n,r){this._preventClipping=r,this._inputGeometries=t,this._tileKey=i,this._curveHelper=new _,this._offset=(e.offset??1)*s,this._method=e.method??"Square",this._maxInflateSize=Math.max(Math.abs(n*s),10),this._option=e.option||"Fast",this._offsetFlattenError=u*s}next(){let t;for(;t=this._inputGeometries.next();){if(0===this._offset)return t.clone();if("esriGeometryEnvelope"===t.geometryType){if("Rounded"===this._method&&this._offset>0){const e=(0,o.A)(t),s=this._curveHelper.offset(e,-this._offset,this._method,4,this._offsetFlattenError);if(s){const e=r.z.createEmptyOptimizedCIM(t.geometryType);return e.pushPath(s),e}return null}const e=t.asJSON();if((0,U.ZC)(e)&&Math.min(e.xmax-e.xmin,e.ymax-e.ymin)+2*this._offset>0)return r.z.fromJSONCIM({xmin:e.xmin-this._offset,xmax:e.xmax+this._offset,ymin:e.ymin-this._offset,ymax:e.ymax+this._offset})}const e=!this._preventClipping&&this._tileKey?(0,g.qc)(t,this._maxInflateSize,!0):t.clone();if(!e)continue;const s=g.mO.module,i=g.hd.module,n={...e.asJSON(),spatialReference:{wkid:m.A.WebMercator.wkid}};let a,h=$(this._method);return"esriGeometryPolygon"===t.geometryType&&this._offset>0?("square"===h&&(h="bevel"),a=i.executeMany([n],[this._offset],h,"round")[0]):a=s.execute(n,-this._offset,{joins:h,flattenError:this._offsetFlattenError,miterLimit:4}),a?r.z.fromJSONCIM(a):null}return null}}function $(t){switch(t){case"Rounded":return"round";case"Bevelled":return"bevel";case"Mitered":return"miter";case"Square":return"square"}}var q=s(12359),J=s(28076);class Z{static{this.instance=null}static local(){return null===Z.instance&&(Z.instance=new Z),Z.instance}execute(t,e,s){return new j(t,e,s)}}class j{constructor(t,e,s){this._inputGeometries=t,this._length=(void 0!==e.length?e.length:J.D.CIMGeometricEffectRadial.length)*s,this._angle=void 0!==e.angle?e.angle*Math.PI/180:J.D.CIMGeometricEffectRadial.angle,this._lx=Math.cos(this._angle)*this._length,this._ly=Math.sin(this._angle)*this._length}next(){let t=this._inputGeometries.next();for(;t;){if("esriGeometryPoint"===t.geometryType||"esriGeometryMultipoint"===t.geometryType){const e=r.z.createEmptyOptimizedCIM("esriGeometryPolyline");return t.nextPath()&&t.nextPoint()&&e.pushPath([[t.x,t.y],[t.x+this._lx,t.y+this._ly]]),e}if("esriGeometryPolygon"===t.geometryType){const e=(0,q.IK)(t);if(!e)return null;const s=r.z.createEmptyOptimizedCIM("esriGeometryPolyline");return s.pushPath([[e[0],e[1]],[e[0]+this._lx,e[1]+this._ly]]),s}t=this._inputGeometries.next()}return null}}class K{static{this.instance=null}static local(){return null===K.instance&&(K.instance=new K),K.instance}execute(t,e,s){return new Q(t,e,s)}}class Q{constructor(t,e,s){this._inputGeometries=t,this._reverse=void 0===e.reverse||e.reverse}next(){let t=this._inputGeometries.next();for(;t;){if(!this._reverse)return t;if("esriGeometryPolyline"===t.geometryType)return tt(t.clone());t=this._inputGeometries.next()}return null}}function tt(t){for(;t.nextPath();)for(let e=0;e<t.pathSize/2;e++){t.seekInPath(e);const s=t.x,i=t.y;t.seekInPath(t.pathSize-e-1);const n=t.x,r=t.y;t.x=s,t.y=i,t.seekInPath(e),t.x=n,t.y=r}return t.reset(),t}class et{static{this.instance=null}static local(){return null===et.instance&&(et.instance=new et),et.instance}execute(t,e,s){return new st(t,e,s)}}class st{constructor(t,e,s){this._inputGeometries=t,this._rotateAngle=void 0!==e.angle?e.angle*Math.PI/180:0}next(){let t=this._inputGeometries.next();for(;t;){if(0===this._rotateAngle||"esriGeometryPoint"===t.geometryType)return t;if(t.totalSize>0){const e=(0,R.z8)(t),s=(e[2]+e[0])/2,i=(e[3]+e[1])/2;return t.reset(),this._rotate(t.clone(),s,i)}t=this._inputGeometries.next()}return null}_rotate(t,e,s){const i=Math.cos(this._rotateAngle),n=Math.sin(this._rotateAngle);for(;t.nextPath();)for(;t.nextPoint();){const r=t.x-e,o=t.y-s;t.x=e+r*i-o*n,t.y=s+r*n+o*i}return t.reset(),t}}class it{static{this.instance=null}static local(){return null===it.instance&&(it.instance=new it),it.instance}execute(t,e,s){return new nt(t,e,s)}}class nt{constructor(t,e,s){this._inputGeometries=t,this._xFactor=void 0!==e.xScaleFactor?e.xScaleFactor:1.15,this._yFactor=void 0!==e.yScaleFactor?e.yScaleFactor:1.15}next(){const t=this._inputGeometries.next();if(t){if(1===this._xFactor&&1===this._yFactor)return t;if("esriGeometryPoint"===t.geometryType)return t;if(t.totalSize>0){const e=(0,R.z8)(t),s=(e[2]+e[0])/2,i=(e[3]+e[1])/2;return t.reset(),this._scaleCursor(t.clone(),s,i)}}return null}_scaleCursor(t,e,s){for(;t.nextPath();)for(;t.nextPoint();)t.x=e+(t.x-e)*this._xFactor,t.y=s+(t.y-s)*this._yFactor;return t.reset(),t}}class rt{constructor(){this._polyline=[]}beginPath(t){this._polyline.push([t])}lineTo(t){if(0===this._polyline.length)throw new Error("No path started. Call beginPath first.");this._polyline[this._polyline.length-1].push(t)}getPointCount(){return this._polyline.reduce((t,e)=>t+e.length,0)}addSegment(t,e,s){s&&this.beginPath(t),this.lineTo(e)}getXY(t){let e=0;for(const s of this._polyline){if(t<e+s.length)return s[t-e];e+=s.length}return null}getGeometry(){return this._polyline}}class ot{static{this.instance=null}static local(){return null===ot.instance&&(ot.instance=new ot),ot.instance}execute(t,e,s){return new at(t,e,s)}}class at extends c{constructor(t,e,s){super(t,!1,!0),this._suppress=void 0!==e.suppress&&e.suppress,this._invert=void 0!==e.invert&&e.invert}processPath(t){if(t.totalSize<=0)return null;if(!this._suppress){const e=r.z.createEmptyOptimizedCIM("esriGeometryPolygon",!1,!1,t.yFactor);for(t.seekPathEnd();t.nextPoint();)e.pushXY(t.x,t.y);return e}const e=[],s=new Array(t.pathSize);let i=0;for(t.seekPathStart();t.nextPoint();)s[i++]=t.getControlPoint(),e.push([t.x,t.y]);let n=!0,o=!0,a=!1,h=!this._invert;i=0;const l=new rt;let c=e[0];for(;i<e.length-1;){const t=e[i+1],r=s[i],u=s[i+1];i++,o&&(h=r||u?this._invert:!this._invert,o=!1),h?(l.addSegment(c,t,n),n=!1):a=!0,c=t,u&&(h?(h=!1,n=!0):h=!0)}const u=l.getGeometry();if(0===u.length)return null;if(!a&&e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]){const t=u[u.length-1];return t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]||t.push([t[0][0],t[0][1]]),r.z.fromJSONCIM({paths:u})}const _=u[u.length-1];return l.getPointCount()>1&&"esriGeometryPolygon"===t.geometryType&&_[0][0]===_[_.length-1][0]&&_[0][1]===_[_.length-1][1]&&u.length>1&&(u[u.length-1].push(...u[0]),u.splice(0,1)),r.z.fromJSONCIM({paths:u})}}var ht=s(49186),lt=s(53966),ct=s(6774);const ut=()=>lt.A.getLogger("esri.symbols.cim.effects.EffectTaperedPolygon");class _t{static{this.instance=null}static local(){return null===_t.instance&&(_t.instance=new _t),_t.instance}execute(t,e,s){return new ft(t,e,s)}}class ft extends c{constructor(t,e,s){super(t,!1,!0),this._slopeS=0,this._slopeC=1,this._lastTangent1=new ct.bR(NaN,NaN),this._lastWidth=0,this._geomUnitsPerPoint=s,this._halfFromWidth=Math.abs(void 0!==e.fromWidth?e.fromWidth:0)*s*.5,this._halfToWidth=Math.abs(void 0!==e.toWidth?e.toWidth:1)*s*.5,this._originalLength=(void 0!==e.length?e.length:0)*s,this._length=0}processPath(t){if(t.totalSize<=0)return null;if(this._halfFromWidth<=0&&this._halfToWidth<=0){const e=r.z.createEmptyOptimizedCIM("esriGeometryPolygon",!1,!1,t.yFactor);for(t.seekPathEnd();t.prevPoint();)e.pushXY(t.x,t.y);for(t.seekPathStart();t.nextPoint();)e.pushXY(t.x,t.y);return e}const e=t.getCurrentPath().asJSON(),s=g.NS.module.execute(e,.25*this._geomUnitsPerPoint,{removeDegenerateParts:!0}),i=null==s?null:(0,U.Bi)(s)?s.rings:(0,U.Rg)(s)?s.paths:null;if(!i)return ut().error(new ht.A("mapview-bad-resource","Unable to process geometry")),null;const n=g.Xs.module.execute(s);if((0===this._originalLength||this._originalLength>n)&&n>0){this._length=n;const t=(this._halfToWidth-this._halfFromWidth)/this._length;if(Math.abs(t)<1){const e=t*t;this._slopeC=Math.sqrt(1/(1+e)),this._slopeS=Math.sqrt(e/(1+e)),t<0&&(this._slopeS=-this._slopeS)}else this._slopeC=this._slopeS=.7071}else this._length=this._originalLength,this._slopeC=1,this._slopeS=0;const o=[];for(const t of i){const e=new rt,s=new rt;let i=0;this._setFromOffset(t.slice(0,2),e,s);for(let n=0,r=3;r<=t.length;++n,++r)i=this._setOffset(t.slice(n,r),i,e,s);this._setToOffset(t.slice(-2),i,e,s);const[n]=e.getGeometry(),[r]=s.getGeometry();o.push([...n,...r.reverse()])}const a={rings:o,spatialReference:{wkid:m.A.WebMercator.wkid}},h=g.yM.module.execute(a);return r.z.fromJSONCIM(h)}_setFromOffset([[t,e],[s,i]],n,r){const o=this._halfFromWidth,a=new ct.bR(s-t,i-e).normalize().scale(o);n.beginPath([t-a.y,e+a.x]),r.beginPath([t+a.y,e-a.x])}_setToOffset([[t,e],[s,i]],n,r,o){let a;a=(n+=Math.sqrt((s-t)**2+(i-e)**2))>=this._length?this._halfToWidth:this._halfFromWidth+(this._halfToWidth-this._halfFromWidth)*n/this._length;const h=new ct.bR(s-t,i-e).normalize().scale(a);r.lineTo([s-h.y,i+h.x]),o.lineTo([s+h.y,i-h.x])}_setOffset([[t,e],[s,i],[n,r]],o,a,h){const l=Math.sqrt((s-t)**2+(i-e)**2);let c;c=o+l>=this._length?this._halfToWidth:this._halfFromWidth+(this._halfToWidth-this._halfFromWidth)*(o+l)/this._length,o+=l;const u=new ct.bR(s,i),_=new ct.bR(s-t,i-e).normalize(),f=new ct.bR(n-s,r-i).normalize(),p=ct.bR.sub(f,_),d=a.getPointCount(),m=h.getPointCount();_.leftPerpendicular(),f.leftPerpendicular();const g=_.x*f.x+_.y*f.y;if(g>.99){const t=ct.bR.add(_,f).scale(c/2),e=t.clone().rotate(this._slopeC,this._slopeS);a.lineTo([u.x+e.x,u.y+e.y]);const s=t.rotateReverse(this._slopeC,this._slopeS);h.lineTo([u.x-s.x,u.y-s.y])}else{const s=_.x*f.y-_.y*f.x;if(p.scale(1/s),s<0){p.scale(-c).rotateReverse(this._slopeC,this._slopeS);const t=h.getXY(m-1);t||ut().error(new ht.A("mapview-bad-resource","Unable to process geometry, index out of scope"));const e=ct.bR.add(u,p).sub(ct.bR.fromArray(t));if(_.x*e.y-_.y*e.x>0){const t=_.clone().scale(-c).rotateReverse(this._slopeC,this._slopeS),e=f.clone().scale(-c).rotateReverse(this._slopeC,this._slopeS);h.lineTo([u.x+t.x,u.y+t.y]),h.lineTo([u.x,u.y]),h.lineTo([u.x+e.x,u.y+e.y])}else h.lineTo([u.x+p.x,u.y+p.y])}else{p.scale(c).rotate(this._slopeC,this._slopeS);const t=a.getXY(d-1);t||ut().error(new ht.A("mapview-bad-resource","Unable to process geometry, index out of scope"));const e=ct.bR.add(u,p).sub(ct.bR.fromArray(t));if(_.x*e.y-_.y*e.x>0){const t=_.clone().scale(c).rotate(this._slopeC,this._slopeS),e=f.clone().scale(c).rotate(this._slopeC,this._slopeS);a.lineTo([u.x+t.x,u.y+t.y]),a.lineTo([u.x,u.y]),a.lineTo([u.x+e.x,u.y+e.y])}else a.lineTo([u.x+p.x,u.y+p.y])}const i=Math.acos(g);let n=1;if(c>.25){const t=2*Math.acos(1-.25/c);t<i&&(n=Math.round(i/t))}const r=Math.cos(i/n),o=Math.sin(i/n),l=_.clone();if(s<0){l.rotate(this._slopeC,this._slopeS);const s=a.getXY(d-1);s||ut().error(new ht.A("mapview-bad-resource","Unable to process geometry, index out of scope"));const i=ct.bR.add(u,l.clone().scale(this._lastWidth)),n=ct.bR.sub(i,ct.bR.fromArray(s)),r=_.x*n.y-_.y*n.x;if(!isNaN(this._lastTangent1.x)&&!isNaN(this._lastTangent1.y)&&r>0){const s=new ct.bR(t,e),i=this._lastTangent1.clone().scale(this._lastWidth);i.rotate(this._slopeC,this._slopeS);const n=_.clone().scale(this._lastWidth);n.rotate(this._slopeC,this._slopeS),a.lineTo([s.x+i.x,s.y+i.y]),a.lineTo([s.x,s.y]),a.lineTo([s.x+n.x,s.y+n.y])}}else{l.scale(-1).rotateReverse(this._slopeC,this._slopeS);const s=h.getXY(m-1);s||ut().error(new ht.A("mapview-bad-resource","Unable to process geometry, index out of scope"));const i=ct.bR.add(u,l.clone().scale(this._lastWidth)),n=ct.bR.sub(i,ct.bR.fromArray(s)),r=_.x*n.y-_.y*n.x;if(!isNaN(this._lastTangent1.x)&&!isNaN(this._lastTangent1.y)&&r>0){const s=new ct.bR(t,e),i=this._lastTangent1.clone().scale(-this._lastWidth);i.rotateReverse(this._slopeC,this._slopeS);const n=_.clone().scale(-this._lastWidth);n.rotateReverse(this._slopeC,this._slopeS),h.lineTo([s.x+i.x,s.y+i.y]),h.lineTo([s.x,s.y]),h.lineTo([s.x+n.x,s.y+n.y])}}l.scale(c);for(let t=0;t<=n;t++)s<0?(a.lineTo([u.x+l.x,u.y+l.y]),l.rotateReverse(r,o)):(h.lineTo([u.x+l.x,u.y+l.y]),l.rotate(r,o))}return this._lastTangent1.setCoords(_.x,_.y),this._lastWidth=c,o}}class pt{static{this.instance=null}static local(){return null===pt.instance&&(pt.instance=new pt),pt.instance}execute(t,e,s){return new dt(t,e,s)}}class dt{constructor(t,e,s){this._inputGeometries=t,this._height=(void 0!==e.amplitude?e.amplitude:2)*s,this._period=(void 0!==e.period?e.period:3)*s,this._style=e.waveform??"Sinus",this._height<=0&&(this._height=Math.abs(this._height)),this._period<=0&&(this._period=Math.abs(this._period)),this._pattern=new w,this._pattern.addValue(this._period),this._pattern.addValue(this._period),this._walker=new z,this._walker.updateTolerance(s)}next(){let t=this._inputGeometries.next();for(;t;){if(0===this._height||0===this._period)return t;const e=this._processGeom(t);if(e)return e;t=this._inputGeometries.next()}return null}_processGeom(t){const e=r.z.createEmptyOptimizedCIM(t.geometryType);for(;t.nextPath();){e.startPath();const s=t.pathLength();if(this._walker.init(t,this._pattern))switch(this._style){case"Sinus":default:this._constructCurve(e,s,!1);break;case"Square":this._constructSquare(e,s);break;case"Triangle":this._constructTriangle(e,s);break;case"Random":this._constructCurve(e,s,!0)}else for(;t.nextPoint();)e.pushXY(t.x,t.y)}return e}_constructCurve(t,e,s){let i=Math.round(e/this._period);0===i&&(i=1);const n=16*i+1,r=e/i,o=this._period/16,a=1/n,h=2*Math.PI*e/r,l=2*Math.PI*Math.random(),c=2*Math.PI*Math.random(),u=2*Math.PI*Math.random(),_=.75-Math.random()/2,f=.75-Math.random()/2,p=new k;this._walker.curPointAndAngle(p),t.pushPoint(p.pt);let d=0;for(;;){if(!this._walker.nextPointAndAngle(o,p)){t.pushPoint(this._walker.getPathEnd());break}{const e=d;let i;if(d+=a,s){const t=this._height/2*(1+.3*Math.sin(_*h*e+l));i=t*Math.sin(h*e+c),i+=t*Math.sin(f*h*e+u),i/=2}else i=.5*this._height*Math.sin(.5*h*e);t.pushXY(p.pt[0]-i*p.sa,p.pt[1]+i*p.ca)}}}_constructSquare(t,e){Math.round(e/this._period);let s=!0;for(;;){let e=!1;if(this._walker.curPositionIsValid()){const i=new k;this._walker.curPointAndAngle(i);const n=new k;if(this._walker.nextPointAndAngle(this._period,n)){const r=new k;this._walker.nextPointAndAngle(this._period,r)&&(s?(t.pushPoint(i.pt),s=!1):t.pushPoint(i.pt),t.pushXY(i.pt[0]-this._height/2*i.sa,i.pt[1]+this._height/2*i.ca),t.pushXY(n.pt[0]-this._height/2*n.sa,n.pt[1]+this._height/2*n.ca),t.pushXY(n.pt[0]+this._height/2*n.sa,n.pt[1]-this._height/2*n.ca),t.pushXY(r.pt[0]+this._height/2*r.sa,r.pt[1]-this._height/2*r.ca),e=!0)}}if(!e){t.pushPoint(this._walker.getPathEnd());break}}}_constructTriangle(t,e){Math.round(e/this._period);let s=!0;for(;;){let e=!1;if(this._walker.curPositionIsValid()){const i=new k;this._walker.curPointAndAngle(i);const n=new k;if(this._walker.nextPointAndAngle(this._period/2,n)){const r=new k;this._walker.nextPointAndAngle(this._period,r)&&(this._walker.nextPosition(this._period/2)&&(s?(t.pushPoint(i.pt),s=!1):t.pushPoint(i.pt),t.pushXY(n.pt[0]-this._height/2*n.sa,n.pt[1]+this._height/2*n.ca),t.pushXY(r.pt[0]+this._height/2*r.sa,r.pt[1]-this._height/2*r.ca)),e=!0)}}if(!e){t.pushPoint(this._walker.getPathEnd());break}}}}class mt{static{this.instance=null}static local(){return null===mt.instance&&(mt.instance=new mt),mt.instance}execute(t,e,s){return new gt(t,e,s)}}class gt extends l{constructor(t,e,s){super(t),this._geometryWalker=new z,this._geometryWalker.updateTolerance(s),this._angleToLine=e.angleToLine??!0,this._keepUpright=e.keepUpright??!1,this._offset=(e.offset?e.offset:0)*s,this._originalEndings=e.endings??"WithHalfGap",this._offsetAtEnd=(e.customEndingOffset?e.customEndingOffset:0)*s,this._position=-(e.offsetAlongLine?e.offsetAlongLine:0)*s,this._pattern=new w,this._pattern.init(e.placementTemplate),this._pattern.scale(s),this._endings=this._originalEndings}processPath(t){if(this._pattern.isEmpty())return null;let e;if(this.iteratePath)e=this._pattern.nextValue();else{"WithFullGap"===this._originalEndings&&this.isClosed?this._endings="WithMarkers":this._endings=this._originalEndings,this._pattern.extPtGap=0;let s,i=!0;switch(this._endings){case"NoConstraint":s=-this._position,s=this._adjustPosition(s),i=!1;break;case"WithHalfGap":default:s=-this._pattern.lastValue()/2;break;case"WithFullGap":s=-this._pattern.lastValue(),this._pattern.extPtGap=this._pattern.lastValue();break;case"WithMarkers":s=0;break;case"Custom":s=-this._position,s=this._adjustPosition(s),this._pattern.extPtGap=.5*this._offsetAtEnd}if(!this._geometryWalker.init(t,this._pattern,i))return null;this._pattern.reset();let n=0;for(;s>n;)s-=n,n=this._pattern.nextValue();n-=s,e=n,this.iteratePath=!0}const s=new k;return this._geometryWalker.nextPointAndAngle(e,s)?"WithFullGap"===this._endings&&this._geometryWalker.isPathEnd()?(this.iteratePath=!1,null):"WithMarkers"===this._endings&&this._geometryWalker.isPathEnd()&&(this.iteratePath=!1,this.isClosed)?null:(this.internalPlacement.setTranslate(s.pt[0]-this._offset*s.sa,s.pt[1]+this._offset*s.ca),this._angleToLine&&this.internalPlacement.setRotateCS(s.ca,s.sa),this.internalPlacement):(this.iteratePath=!1,null)}_adjustPosition(t){let e=t/this._pattern.length();return e-=Math.floor(e),e*this._pattern.length()}}class yt{static{this.instance=null}static local(){return null===yt.instance&&(yt.instance=new yt),yt.instance}execute(t,e,s){return new Pt(t,e,s)}}class Pt extends l{constructor(t,e,s){super(t,!1,!0),this._curveHelper=new _,this._placePerPart=e.placePerPart??!1,this._angleToLine=void 0===e.angleToLine||e.angleToLine,this._keepUpright=e.keepUpright??!1,this._offset=void 0!==e.offset?e.offset*s:0,this._type=e.extremityPlacement??"Both",this._position=void 0!==e.offsetAlongLine?e.offsetAlongLine*s:0,this._beginProcessed=!1}processMultiPath(t){return this._placePerPart?super.processMultiPath(t):this.processPath(t)}processPath(t){let e;switch(this._type){case"Both":default:this._beginProcessed?(e=this._atExtremities(t,this._position,!1),this._beginProcessed=!1,this.iterateMultiPath=!1,this.iteratePath=!1):(e=this._atExtremities(t,this._position,!0),this._beginProcessed=!0,this.iterateMultiPath=!0,this.iteratePath=!0);break;case"JustBegin":e=this._atExtremities(t,this._position,!0);break;case"JustEnd":e=this._atExtremities(t,this._position,!1);case"None":}return e}_atExtremities(t,e,s){if(this._placePerPart||(s?t.seekPath(0):t.seekPath(t.totalSize-1)),s||t.seekPathEnd(),s?t.nextPoint():t.prevPoint()){let i=0,[n,r]=[0,0],[o,a]=[t.x,t.y];const h=[0,0];for(;s?t.nextPoint():t.prevPoint();){n=o,r=a,o=t.x,a=t.y;const s=this._curveHelper.getLength(n,r,o,a);if(i+s>e){const t=(e-i)/s,[l,c]=this._curveHelper.getAngleCS(h,n,r,o,a,t),u=this._curveHelper.getCoord2D(n,r,o,a,t);return this.internalPlacement.setTranslate(u[0]-this._offset*c,u[1]+this._offset*l),this._angleToLine&&this.internalPlacement.setRotateCS(-l,-c),this.internalPlacement}i+=s}}return null}}const xt=.001;class Mt{static{this.instance=null}static local(){return null===Mt.instance&&(Mt.instance=new Mt),Mt.instance}execute(t,e,s){return new bt(t,e,s)}}class bt extends l{constructor(t,e,s){super(t),this._segmentIterator=null,this._segCount=0,this._firstSeg=!0,this._seg=null,this._ms=[],this._from=0,this._to=0,this._pt=null,this._walker=new z,this._walker.updateTolerance(s),this._placePerPart=e.placePerPart??!1,this._angleToLine=e.angleToLine??!1,this._keepUpright=e.keepUpright??!1,this._offset=(e.offset??0)*s,this._interval=e.interval??0,this._interval<=0&&(this._interval=.01),this._skipRate=e.skipMarkerRate??0,this._skipRate<=1&&(this._skipRate=0),this._placeAtExtremities=e.placeAtExtremities??!1}processPath(t){if(!this.iteratePath){const{fromGeometry:e}=g.vZ.module,s=e(t.getCurrentPath().asJSON()).getGeometry(),i=s.getPathStart(0);this._segmentIterator=s.querySegmentIteratorAtVertex(i),this._segCount=s.getSegmentCountPath(0),this._firstSeg=!0,this.iteratePath=!0,this._pt=s.getXY(0).clone()}for(;0===this._ms.length&&this._segmentIterator?.hasNextSegment();){--this._segCount,this._seg=this._segmentIterator.nextSegment(),this._from=this._seg.getStartAttributeAsDbl(2,0),this._to=this._seg.getEndAttributeAsDbl(2,0);const e=!isNaN(this._from),s=!isNaN(this._to);e&&(this._from=Math.round(this._from/xt)*xt,Math.abs(this._from)<xt&&(this._from=0)),s&&(this._to=Math.round(this._to/xt)*xt,Math.abs(this._to)<xt&&(this._to=0));let i=e?Math.floor(this._from/this._interval):0,n=s?Math.floor(this._to/this._interval):0;if(e&&(this._placeAtExtremities||!this._firstSeg||!this._placePerPart&&t.pathIndex>0)&&Math.abs(i*this._interval-this._from)<xt&&(!this._skipRate||i%this._skipRate)&&this._ms.push(this._from),this._firstSeg=!1,e&&s&&!(Math.abs(this._from-this._to)<xt))if(this._from<=this._to){i*this._interval<this._from+xt&&++i,n*this._interval>this._to-xt&&--n;for(let t=i;t<=n;++t)(!this._skipRate||t%this._skipRate)&&this._ms.push(t*this._interval)}else{i*this._interval>this._from-xt&&--i,n*this._interval<this._to+xt&&++n;for(let t=n;t<=i;++t)(!this._skipRate||t%this._skipRate)&&this._ms.push(t*this._interval)}}let e=0;if(0===this._ms.length){if(this.iteratePath=!1,!this._segCount&&this._placeAtExtremities&&!isNaN(this._to)&&(this._placePerPart||t.pathIndex===t.totalSize-1)){const t=Math.floor(this._to/this._interval);Math.abs(t*this._interval-this._to)<xt&&(!this._skipRate||t%this._skipRate)&&(this._ms.push(this._to),e=1)}if(0===this._ms.length)return null}const s=this._ms.pop(),i=isNaN(this._from)||isNaN(this._to)||Math.abs(this._from-this._to)<xt?e:(s-this._from)/(this._to-this._from);this._seg.queryCoord2D(i,this._pt);const n=this._seg.getTangent(i);let{x:r,y:o}=n.normalize();return this.internalPlacement.setTranslate(this._pt.x-this._offset*o,this._pt.y+this._offset*r),this._angleToLine&&(this._keepUpright&&r<0&&(r=-r,o=-o),this.internalPlacement.setRotateCS(r,o)),this.internalPlacement.setMeasure(s),this.internalPlacement}}class St{static{this.instance=null}static local(){return null===St.instance&&(St.instance=new St),St.instance}execute(t,e,s){return new Ct(t,e,s)}}class Ct extends l{constructor(t,e,s){super(t),this._walker=new z,this._walker.updateTolerance(s),this._angleToLine=void 0===e.angleToLine||e.angleToLine,this._keepUpright=e.keepUpright??!1,this._offset=void 0!==e.offset?e.offset*s:0,this._beginGap=void 0!==e.beginPosition?e.beginPosition*s:0,this._endGap=void 0!==e.endPosition?e.endPosition*s:0,this._flipFirst=void 0===e.flipFirst||e.flipFirst,this._pattern=new w,this._pattern.init(e.positionArray,!1),this._subPathLen=0,this._posCount=this._pattern.size(),this._isFirst=!0,this._prevPos=0}processPath(t){if(this._pattern.isEmpty())return null;let e;if(this.iteratePath){const t=this._pattern.nextValue()*this._subPathLen,s=this._beginGap+t;e=s-this._prevPos,this._prevPos=s}else{if(this._posCount=this._pattern.size(),this._isFirst=!0,this._prevPos=0,this._subPathLen=t.pathLength()-this._beginGap-this._endGap,this._subPathLen<0)return this.iteratePath=!1,null;if(!this._walker.init(t,this._pattern,!1))return null;this._pattern.reset();const s=this._pattern.nextValue()*this._subPathLen,i=this._beginGap+s;e=i-this._prevPos,this._prevPos=i,this.iteratePath=!0}const s=new k;if(!this._walker.nextPointAndAngle(e,s,1))return this.iteratePath=!1,null;this.internalPlacement.setTranslate(s.pt[0]-this._offset*s.sa,s.pt[1]+this._offset*s.ca);const i=this._isFirst&&this._flipFirst;let n,r;return this._angleToLine?(n=s.ca,r=s.sa):(n=1,r=0),i&&(n=-n,r=-r),this.internalPlacement.setRotateCS(n,r),this._isFirst=!1,this._posCount--,0===this._posCount&&(this.iteratePath=!1),this.internalPlacement}}var wt=s(87811);const kt=512,It=24,zt=1e-6;class vt{static{this.instance=null}static local(){return null===vt.instance&&(vt.instance=new vt),vt.instance}execute(t,e,s,i){return new Tt(t,e,s,i)}}class Tt{constructor(t,e,s,i){if(this._xMin=0,this._xMax=0,this._yMin=0,this._yMax=0,this._currentX=0,this._currentY=0,this._accelerationMap=null,this._testInsidePolygon=!1,this._verticalSubdivision=!0,this._stepX=Math.abs(e.stepX??16)*s,this._stepY=Math.abs(e.stepY??16)*s,this._stepX=Math.round(128*this._stepX)/128,this._stepY=Math.round(128*this._stepY)/128,0!==this._stepX&&0!==this._stepY){if(this._gridType=e.gridType??"Fixed","Random"===this._gridType){const t=e.seed??13,s=1;this._randomLCG=new wt.A(t*s),this._randomness=(e.randomness??100)/100,this._gridAngle=0,this._shiftOddRows=!1,this._cosAngle=1,this._sinAngle=0,this._offsetX=0,this._offsetY=0,this._buildRandomValues()}else{if(this._randomness=0,this._gridAngle=e.gridAngle??0,this._shiftOddRows=e.shiftOddRows??!1,this._offsetX=(e.offsetX??0)*s,this._offsetY=(e.offsetY??0)*s,this._cosAngle=Math.cos(this._gridAngle/180*Math.PI),this._sinAngle=-Math.sin(this._gridAngle/180*Math.PI),this._stepX)if(this._offsetX<0)for(;this._offsetX<-.5*this._stepX;)this._offsetX+=this._stepX;else for(;this._offsetX>=.5*this._stepX;)this._offsetX-=this._stepX;if(this._stepY)if(this._offsetY<0)for(;this._offsetY<-.5*this._stepY;)this._offsetY+=this._stepY;else for(;this._offsetY>=.5*this._stepY;)this._offsetY-=this._stepY}if(this._graphicOriginX=0,this._graphicOriginY=0,null!=i){const[t,e,s,n]=i.split("/"),r=parseFloat(t),o=parseFloat(e),a=parseFloat(s),h=parseFloat(n);this._graphicOriginX=-(h*2**r+a)*kt,this._graphicOriginY=o*kt,this._testInsidePolygon=!0}this._internalPlacement=new a.W,this._calculateMinMax(t),this._geometryCursor=t}}next(){return this._geometryCursor?this._nextInside():null}_buildRandomValues(){if(!Tt._randValues){Tt._randValues=[];for(let t=0;t<It;t++)for(let t=0;t<It;t++)Tt._randValues.push(this._randomLCG.getFloat()),Tt._randValues.push(this._randomLCG.getFloat())}}_calculateMinMax(t){let e,s,i,n,r,o,a,h,l,c,u,_,f,p;this._xMin=0,this._xMax=0,this._yMin=0,this._yMax=0,a=h=f=u=Number.MAX_VALUE,l=c=p=_=-Number.MAX_VALUE;const d=1!==this._cosAngle;for(t.reset();t.nextPath();)for(;t.nextPoint();)o=t.x,r=t.y,e=o-this._graphicOriginX-this._offsetX,s=r-this._graphicOriginY-this._offsetY,d?(i=this._cosAngle*e-this._sinAngle*s,n=this._sinAngle*e+this._cosAngle*s):(i=e,n=s),a=Math.min(a,i),l=Math.max(l,i),h=Math.min(h,n),c=Math.max(c,n),u=Math.min(u,r),_=Math.max(_,r),f=Math.min(f,o),p=Math.max(p,o);u=u!==Number.MAX_VALUE?u:-512-this._stepY,_=_!==-Number.MAX_VALUE?_:this._stepY,f=f!==Number.MAX_VALUE?f:-this._stepX,p=p!==-Number.MAX_VALUE?p:kt+this._stepX;const m=_-u,g=p-f;if(this._verticalSubdivision=m>=g,this._polygonMin=this._verticalSubdivision?u:f,this._testInsidePolygon){let t=0-this._graphicOriginX-this._offsetX-this._stepX,e=kt-this._graphicOriginX-this._offsetX+this._stepX,s=-512-this._graphicOriginY-this._offsetY-this._stepY,i=0-this._graphicOriginY-this._offsetY+this._stepY;if(d){const n=[[t,s],[t,i],[e,s],[e,i]];t=s=Number.MAX_VALUE,e=i=-Number.MAX_VALUE;for(const r of n){const n=this._cosAngle*r[0]-this._sinAngle*r[1],o=this._sinAngle*r[0]+this._cosAngle*r[1];t=Math.min(t,n),e=Math.max(e,n),s=Math.min(s,o),i=Math.max(i,o)}}a=a!==Number.MAX_VALUE?Math.max(a,t):t,h=h!==Number.MAX_VALUE?Math.max(h,s):s,l=l!==-Number.MAX_VALUE?Math.min(l,e):e,c=c!==-Number.MAX_VALUE?Math.min(c,i):i}this._xMin=Math.round(a/this._stepX),this._xMax=Math.round(l/this._stepX),this._yMin=Math.round(h/this._stepY),this._yMax=Math.round(c/this._stepY),this._currentX=this._xMax+1,this._currentY=this._yMin-1,this._buildAccelerationMap(t,f,p,u,_)}_buildAccelerationMap(t,e,s,i,n){t.reset();const r=new Map,o=this._verticalSubdivision,a=o?n-i:s-e;let h=Math.ceil(a/10);if(h<=1)return;const l=Math.floor(a/h);let c,u,_,f,p,d,m,g,y,P,x;for(h++,this._delta=l,o?(y=-512-2*this._stepY,P=2*this._stepY,x=i):(y=-2*this._stepX,P=kt+2*this._stepX,x=e);t.nextPath();)if(!(t.pathSize<2)&&t.nextPoint())for(c=t.x,u=t.y;t.nextPoint();c=_,u=f){if(_=t.x,f=t.y,o){if(u===f||u<y&&f<y||u>P&&f>P)continue;p=Math.min(u,f),d=Math.max(u,f)}else{if(c===_||c<y&&_<y||c>P&&_>P)continue;p=Math.min(c,_),d=Math.max(c,_)}for(;p<d;)m=Math.floor((p-x)/l),At(m,c,u,_,f,r),p+=l;g=Math.floor((d-x)/l),g>m&&At(g,c,u,_,f,r)}this._accelerationMap=r}_nextInside(){for(;;){if(this._currentX>this._xMax){if(this._currentY++,this._currentY>this._yMax)return null;this._currentX=this._xMin,this._shiftOddRows&&this._currentY%2&&this._currentX--}let t=this._currentX*this._stepX+this._offsetX;this._shiftOddRows&&this._currentY%2&&(t+=.5*this._stepX);const e=this._currentY*this._stepY+this._offsetY;let s,i;if(this._currentX++,"Random"===this._gridType){const n=(this._currentX%It+It)%It,r=(this._currentY%It+It)%It;s=this._graphicOriginX+t+this._stepX*this._randomness*(.5-Tt._randValues[r*It+n])*2/3,i=this._graphicOriginY+e+this._stepY*this._randomness*(.5-Tt._randValues[r*It+n+1])*2/3}else s=this._graphicOriginX+this._cosAngle*t+this._sinAngle*e,i=this._graphicOriginY-this._sinAngle*t+this._cosAngle*e;if(!this._testInsidePolygon||this._isInsidePolygon(s,i,this._geometryCursor))return this._internalPlacement.setTranslate(s,i),this._internalPlacement}}_isInsidePolygon(t,e,s){if(null==this._accelerationMap)return function(t,e,s){let i,n,r,o,a=0;for(t+=zt,e+=zt,s.reset();s.nextPath();)if(s.nextPoint())for(i=s.x,n=s.y;s.nextPoint();i=r,n=o)r=s.x,o=s.y,n>e!=o>e&&((r-i)*(e-n)-(o-n)*(t-i)>0?a++:a--);return 0!==a}(t,e,s);t+=zt,e+=zt;const i=this._verticalSubdivision,n=i?e:t,r=Math.floor((n-this._polygonMin)/this._delta),o=this._accelerationMap.get(r);if(!o)return!1;let a,h,l,c=0;for(const s of o){if(a=s[0],h=s[1],i){if(a[1]>e==h[1]>e)continue;l=(h[0]-a[0])*(e-a[1])-(h[1]-a[1])*(t-a[0])}else{if(a[0]>t==h[0]>t)continue;l=(h[1]-a[1])*(t-a[0])-(h[0]-a[0])*(e-a[1])}l>0?c++:c--}return 0!==c}}function At(t,e,s,i,n,r){let o=r.get(t);o||(o=[],r.set(t,o)),o.push([[e,s],[i,n]])}class Lt{static{this.instance=null}static local(){return null===Lt.instance&&(Lt.instance=new Lt),Lt.instance}execute(t,e,s){return new Et(t,e,s)}}class Et extends l{constructor(t,e,s){super(t),this._curveHelper=new _,this._angleToLine=void 0===e.angleToLine||e.angleToLine,this._keepUpright=e.keepUpright??!1,this._offset=void 0!==e.offset?e.offset*s:0,this._relativeTo=e.relativeTo??"LineMiddle",this._position=void 0!==e.startPointOffset?e.startPointOffset*s:0,this._epsilon=.001*s}processPath(t){const e=this._position;if("SegmentMidpoint"===this._relativeTo){if(this.iteratePath||(this.iteratePath=!0),t.nextPoint()){let[e,s]=[t.x,t.y],[i,n]=[0,0];const r=[0,0];for(;t.nextPoint();){i=t.x,n=t.y;const o=this._curveHelper.getLength(e,s,i,n);if(o<this._epsilon){e=i,s=n;continue}const a=.5+this._position/o,[h,l]=this._curveHelper.getAngleCS(r,e,s,i,n,a),c=this._curveHelper.getCoord2D(e,s,i,n,a);return this.internalPlacement.setTranslate(c[0]-this._offset*l,c[1]+this._offset*h),this._angleToLine&&this.internalPlacement.setRotateCS(h,l),this.internalPlacement}}return this.iteratePath=!1,null}const s="LineEnd"===this._relativeTo;return this.onLine(t,e,s)}onLine(t,e,s){let i,n=!1;switch(this._relativeTo){case"LineMiddle":default:t.seekPathStart(),i=t.pathLength()/2+e;break;case"LineBeginning":i=e;break;case"LineEnd":i=e,n=!0}s?t.seekPathEnd():t.seekPathStart();let r=0;if(s?t.prevPoint():t.nextPoint()){let[e,o]=[t.x,t.y],[a,h]=[0,0];const l=[0,0];for(;s?t.prevPoint():t.nextPoint();){a=t.x,h=t.y;const s=this._curveHelper.getLength(e,o,a,h);if(r+s>i){const t=(i-r)/s,[c,u]=this._curveHelper.getAngleCS(l,e,o,a,h,t),_=this._curveHelper.getCoord2D(e,o,a,h,t),f=n?-this._offset:this._offset;return this.internalPlacement.setTranslate(_[0]-f*u,_[1]+f*c),this._angleToLine&&(n?this.internalPlacement.setRotateCS(-c,-u):this.internalPlacement.setRotateCS(c,u)),this.internalPlacement}e=a,o=h,r+=s}}return null}}class Rt{static{this.instance=null}static local(){return null===Rt.instance&&(Rt.instance=new Rt),Rt.instance}execute(t,e,s){return new Gt(t,e,s)}}class Gt extends l{constructor(t,e,s){super(t),this._curveHelper=new _,this._angleToLine=void 0===e.angleToLine||e.angleToLine,this._keepUpright=e.keepUpright??!1,this._offset=void 0!==e.offset?e.offset*s:0,this._endPoints=void 0===e.placeOnEndPoints||e.placeOnEndPoints,this._controlPoints=void 0===e.placeOnControlPoints||e.placeOnControlPoints,this._regularVertices=void 0===e.placeOnRegularVertices||e.placeOnRegularVertices,this._tags=[],this._tagIterator=0}processPath(t){if(this.iteratePath||(this._preparePath(t),this.iteratePath=!0),this._tagIterator>=this._tags.length)return this._tags.length=0,this._tagIterator=0,this.iteratePath=!1,null;const e=this._tags[this._tagIterator];this._angleToLine&&this.internalPlacement.setRotate(e[2]);let s=e[0],i=e[1];if(0!==this._offset){const t=Math.cos(e[2]),n=Math.sin(e[2]);s-=this._offset*n,i+=this._offset*t}return this.internalPlacement.setTranslate(s,i),this._tagIterator++,this.internalPlacement}_preparePath(t){this._tags.length=0,this._tagIterator=0,t.seekPathStart();const e=t.isClosed();let s=0,i=!1,n=0,r=0;if(t.seekPathStart(),t.nextPoint()){let o=t.x,a=t.y,h=t.getControlPoint(),l=!0,c=t.nextPoint();for(;c;){const u=t.x,_=t.y,f=t.getControlPoint();(this._angleToLine||0!==this._offset)&&(n=this._curveHelper.getAngle(o,a,u,_,0)),l?(l=!1,e?(s=n,i=h):(this._endPoints||this._controlPoints&&h)&&this._tags.push([o,a,n])):h?this._controlPoints&&this._tags.push([o,a,Nt(r,n)]):this._regularVertices&&this._tags.push([o,a,Nt(r,n)]),(this._angleToLine||0!==this._offset)&&(r=this._curveHelper.getAngle(o,a,u,_,1)),c=t.nextPoint(),c||(e?f||i?this._controlPoints&&this._tags.push([u,_,Nt(r,s)]):this._regularVertices&&this._tags.push([u,_,Nt(r,s)]):(this._endPoints||this._controlPoints&&f)&&this._tags.push([u,_,r])),o=u,a=_,h=f}}this._tagIterator=0}}function Nt(t,e){const s=Math.PI;for(;Math.abs(e-t)>s+2e-15;)e-t>s?e-=2*s:e+=2*s;return(t+e)/2}var Ot=s(32011);class Ft{static{this.instance=null}static local(){return null===Ft.instance&&(Ft.instance=new Ft),Ft.instance}execute(t,e,s){return new Dt(t,e,s)}}class Dt{constructor(t,e,s){this._geometryCursor=t,this._offsetX=void 0!==e.offsetX?e.offsetX*s:0,this._offsetY=void 0!==e.offsetY?e.offsetY*s:0,this._method=void 0!==e.method?e.method:"OnPolygon",this._placementPerPart=void 0!==e.placePerPart&&e.placePerPart,this._internalPlacement=new a.W}next(){const t=this._geometryCursor;if(!t)return null;if(!this._placementPerPart)return this._geometryCursor=null,this._polygonCenter(t);for(;t.nextPath();)if(!(t.getCurrentRingArea()<0))return this._polygonCenter(t.getCurrentPath());return this._geometryCursor=null,null}_polygonCenter(t){let e=!1;switch(this._method){case"CenterOfMass":{const s=(0,q.TP)(t);s&&(this._internalPlacement.setTranslate(s[0]+this._offsetX,s[1]+this._offsetY),e=!0)}break;case"BoundingBoxCenter":{const s=(0,R.z8)(t);s&&(this._internalPlacement.setTranslate((s[2]+s[0])/2+this._offsetX,(s[3]+s[1])/2+this._offsetY),e=!0)}break;default:{const s=(0,Ot.d)(t);null!==s&&(this._internalPlacement.setTranslate(s[0]+this._offsetX,s[1]+this._offsetY),e=!0)}}return e?this._internalPlacement:null}}class Xt{static{this.instance=null}static local(){return null===Xt.instance&&(Xt.instance=new Xt),Xt.instance}execute(t,e,s){return new Yt(t,e,s)}}class Yt{constructor(t,e,s){}next(){throw new Error("Method not implemented.")}}class Ht{static{this.instance=null}static local(){return null===Ht.instance&&(Ht.instance=new Ht),Ht.instance}execute(t,e,s){return new Wt(t,e,s)}}class Wt{constructor(t,e,s){}next(){throw new Error("Method not implemented.")}}class Ut{static{this.instance=null}static local(){return null===Ut.instance&&(Ut.instance=new Ut),Ut.instance}execute(t,e,s){return new Bt(t,e,s)}}class Bt{constructor(t,e,s){}next(){throw new Error("Method not implemented.")}}class Vt{static{this.instance=null}static local(){return null===Vt.instance&&(Vt.instance=new Vt),Vt.instance}execute(t,e,s){return new $t(t,e,s)}}class $t{constructor(t,e,s){}next(){throw new Error("Method not implemented.")}}class qt{static{this.instance=null}static local(){return null===qt.instance&&(qt.instance=new qt),qt.instance}execute(t,e,s){if("linearDimensionPointEffect"!==e?.type)throw new Error("Invalid effect type for LinearDimensionPointEffect");return new Jt(t,e,s)}}class Jt{constructor(t,e,s){}next(){throw new Error("Method not implemented.")}}class Zt{static{this.instance=null}static local(){return null===Zt.instance&&(Zt.instance=new Zt),Zt.instance}execute(t,e,s){return new jt(t,e,s)}}class jt{constructor(t,e,s){}next(){throw new Error("Method not implemented.")}}function Kt(t){if(!t)return null;switch(t.type){case"CIMGeometricEffectAddControlPoints":return i.local();case"CIMGeometricEffectArrow":return p.local();case"CIMGeometricEffectBuffer":return y.local();case"CIMGeometricEffectControlMeasureLine":return M.local();case"CIMGeometricEffectCut":return S.local();case"CIMGeometricEffectDashes":return T.local();case"CIMGeometricEffectDonut":return L.local();case"CIMGeometricEffectJog":return X.local();case"CIMGeometricEffectMove":return H.local();case"CIMGeometricEffectOffset":return B.local();case"CIMGeometricEffectRadial":return Z.local();case"CIMGeometricEffectReverse":return K.local();case"CIMGeometricEffectRotate":return et.local();case"CIMGeometricEffectScale":return it.local();case"CIMGeometricEffectSuppress":return ot.local();case"CIMGeometricEffectTaperedPolygon":return _t.local();case"CIMGeometricEffectWave":return pt.local();case"CIMGeometricEffectEnclosingPolygon":return G.local();case"LinearDimensionLineEffect":return Vt.local();case"LinearDimensionLeaderLineEffect":return Ut.local();case"LinearDimensionPointEffect":return qt.local();case"LinearDimensionArrowEffect":return Xt.local();case"LinearDimensionTextEffect":return Zt.local();case"LinearDimensionExtensionLineEffect":return Ht.local()}return null}function Qt(t){if(!t)return null;switch(t.type){case"CIMMarkerPlacementAlongLineSameSize":return mt.local();case"CIMMarkerPlacementAtExtremities":return yt.local();case"CIMMarkerPlacementAtMeasuredUnits":return Mt.local();case"CIMMarkerPlacementAtRatioPositions":return St.local();case"CIMMarkerPlacementInsidePolygon":return vt.local();case"CIMMarkerPlacementOnLine":return Lt.local();case"CIMMarkerPlacementOnVertices":return Rt.local();case"CIMMarkerPlacementPolygonCenter":return Ft.local()}return null}},98939(t,e,s){s.d(e,{W:()=>i});class i{constructor(){this.setIdentity()}getAngle(){return(null==this.rz||0===this.rz&&1!==this.rzCos&&0!==this.rzSin)&&(this.rz=Math.atan2(this.rzSin,this.rzCos)),this.rz}setIdentity(){this.tx=0,this.ty=0,this.tz=0,this.s=1,this.rx=0,this.ry=0,this.rz=0,this.rzCos=1,this.rzSin=0}setTranslate(t,e){this.tx=t,this.ty=e}setTranslateZ(t){this.tz=t}setRotateCS(t,e){this.rz=void 0,this.rzCos=t,this.rzSin=e}setRotate(t){this.rz=t,this.rzCos=void 0,this.rzSin=void 0}setRotateY(t){this.ry=t}setScale(t){this.s=t}setMeasure(t){this.m=t}}},92649(t,e,s){s.r(e),s.d(e,{CIMSymbolHelper:()=>ut,CIMSymbolInflatedSizeHelper:()=>ct,capTypeToEnum:()=>ft,forEachSymbolLayer:()=>_t,getEffectsInflateSize:()=>ht,slsDashToTemplateArray:()=>Mt,symbolToCIM:()=>rt});const i=new(s(32488).A);function n(t,e=!0){if(!i.hasBidiChar(t))return[t,!1,{...i}];let s;s="rtl"===i.checkContextual(t)?"IDNNN":"ICNNN";const n=e?"VLYSN":"VLYNN";return[i.bidiTransform(t,s,n),!0,{...i}]}var r=s(4718),o=s(53966),a=s(87811),h=s(90629),l=s(19419),c=s(537),u=s(52006),_=s(31411),f=s(11831),p=s(35833),d=s(98939);s(92602);new Map,new Set,s(44208);var m=s(34727),g=s(93687),y=s(36745),P=s(12359),x=(s(12176),s(60408));class M{applyColorSubstitution(t,e){if(!e)return t;this._rasterizationCanvas||(this._rasterizationCanvas=document.createElement("canvas"));const{width:s,height:i}=t,n=this._rasterizationCanvas,r=n.getContext("2d",{willReadFrequently:!0});t!==n&&(n.width=s,n.height=i,r.drawImage(t,0,0,s,i));const o=r.getImageData(0,0,s,i).data;if(e)for(const t of e)if(t&&t.oldColor&&4===t.oldColor.length&&t.newColor&&4===t.newColor.length){const[e,s,i,n]=t.oldColor,[r,a,h,l]=t.newColor;if(e===r&&s===a&&i===h&&n===l)continue;for(let t=0;t<o.length;t+=4)e===o[t]&&s===o[t+1]&&i===o[t+2]&&n===o[t+3]&&(o[t]=r,o[t+1]=a,o[t+2]=h,o[t+3]=l)}const a=new ImageData(o,s,i);return r.putImageData(a,0,0),n}tintImageData(t,e){if(!e||e.length<4)return t;this._rasterizationCanvas||(this._rasterizationCanvas=document.createElement("canvas"));const{width:s,height:i}=t,n=this._rasterizationCanvas,r=n.getContext("2d",{willReadFrequently:!0});t!==n&&(n.width=s,n.height=i,r.drawImage(t,0,0,s,i));const o=r.getImageData(0,0,s,i),a=new Uint8Array(o.data),h=[e[0]/255,e[1]/255,e[2]/255,e[3]/255];for(let t=0;t<a.length;t+=4)a[t]*=h[0],a[t+1]*=h[1],a[t+2]*=h[2],a[t+3]*=h[3];const l=new ImageData(new Uint8ClampedArray(a.buffer),s,i);return r.putImageData(l,0,0),n}}var b=s(92580),S=s(28076);function C(t){const e=t.getFrame(0);if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement)return e;const s=document.createElement("canvas");s.width=t.width,s.height=t.height;const i=s.getContext("2d");return e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0),s}function w(t,e=0){if(0===e)return t;const s=Math.cos(e),i=Math.sin(e),[n,r]=t;return[n*s+r*-i,n*i+r*s]}function k(t,e=0){let s=0;for(let i=0;i<4;i++)s+=t[e+i]*I[i];return s}const I=[1/256,1/65536,1/16777216,1/4294967296];k(new Uint8ClampedArray([255,255,255,255])),k(new Uint8ClampedArray([255,255,255,0])),s(35521);var z=s(76213);const v=()=>o.A.getLogger("esri.symbols.cim.rasterizingUtils");let T;function A(t,e){const{colorRamp:s,gradientType:i}=e,n=L(s),r="CIMFixedColorRamp"===s.type;if("Continuous"===i&&!r)return E(t,n);const o=e.interval??S.D.CIMGradientFill.interval;if(r)return E(t,function(t,e){const s=[],i=(t.length-1)/(e-1);for(let n=0;n<e;n++){const r=t[Math.round(n*i)].color;s.push({offset:n/e,color:r}),s.push({offset:(n+1)/e,color:r})}return s}(n,o));const a=[];T??=document.createElement("canvas"),function(t,e,s,i,n){const r=s+2*n;t.width=r,t.height=i;const o=(n+1)/r,a=t.getContext("2d",{willReadFrequently:!0});if(e.length>0){const t=a.createLinearGradient(0,0,r,i);E(t,e,o),a.fillStyle=t}else a.fillStyle="rgba(128, 128, 128, 1)";a.fillRect(0,0,r,i)}(T,n,o,1,0);const h=T.getContext("2d").getImageData(0,0,o,1).data;for(let t=0,e=0;t<o;t++,e=4*t){const s=[h[e+0],h[e+1],h[e+2],h[e+3]];a.push({offset:t/o,color:s}),a.push({offset:(t+1)/o,color:s})}return E(t,a)}function L(t){const e=[];switch(t.type){case"CIMPolarContinuousColorRamp":case"CIMLinearContinuousColorRamp":{"CIMPolarContinuousColorRamp"===t.type&&v().warnOnce("CIMPolarContinuousColorRamp is currently unsupported. Falling back to CIMLinearContinuousColorRamp.");const s=t;e.push({offset:0,color:[s.fromColor[0],s.fromColor[1],s.fromColor[2],s.fromColor[3]/255]}),e.push({offset:1,color:[s.toColor[0],s.toColor[1],s.toColor[2],s.toColor[3]/255]});break}case"CIMFixedColorRamp":{const s=t,i=1/(s.colors.length-1);let n=0;for(const t of s.colors)e.push({offset:n,color:[t[0],t[1],t[2],t[3]/255]}),n+=i;break}case"CIMMultipartColorRamp":{const s=t,i=s.weights.reduce((t,e)=>t+e,0);let n=0;for(let t=0;t<s.colorRamps.length;t++){const r=s.colorRamps[t],o=s.weights[t],a=L(r);for(const t of a)e.push({offset:(n+t.offset*o)/i,color:t.color});n+=o}break}default:v().error(`Color ramp "${t.type}" currently unsupported.`)}return e}function E(t,e,s=0){for(const{offset:i,color:n}of e)t.addColorStop(Math.min(Math.max(i,s),1-s),`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${n[3]})`)}class R{constructor(t=0,e=0,s=0,i=0){this.x=t,this.y=e,this.width=s,this.height=i}static fromExtent(t){return new R(t.xmin,-t.ymax,t.xmax-t.xmin,t.ymax-t.ymin)}get isEmpty(){return this.width<=0||this.height<=0}union(t){this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.width=Math.max(this.width,t.width),this.height=Math.max(this.height,t.height)}}var G=s(5760);function N(t){return`rgba(${t.slice(0,3).toString()},${t[3]})`}class O{constructor(t){t&&(this._textRasterizationCanvas=t)}rasterizeText(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const s=this._textRasterizationCanvas,i=s.getContext("2d",{willReadFrequently:!0});F(i,e),this._parameters=e,this._textLines=t.split(/\r?\n/),this._lineHeight=this._computeLineHeight();const{decoration:n,weight:r}=e.font;this._lineThroughWidthOffset=n&&"line-through"===n?.1*this._lineHeight:0;const o=null!=e.backgroundColor||null!=e.borderLine,a=o?G.y7:0,h=this._computeTextWidth(i,e)+2*a,l=this._lineHeight*this._textLines.length+2*a;if(s.width=h+2*this._lineThroughWidthOffset,s.height=l,0===s.width||0===s.height)return s.width=s.height=1,{size:[0,0],image:new Uint32Array(0),sdf:!1,simplePattern:!1,anchorX:0,anchorY:0,canvas:s};this._renderedLineHeight=Math.round(this._lineHeight),this._renderedOutlineSize=(e.outline.size||0)*e.pixelRatio,this._renderedHaloSize=(e.halo.size||0)*e.pixelRatio,this._renderedWidth=h,this._renderedHeight=l,this._lineThroughWidthOffset*=e.pixelRatio;const c=(e.outline&&e.outline.color)??[0,0,0,0],u=e.color??[0,0,0,0],_=e.halo&&e.halo.color?e.halo.color:[0,0,0,0];this._fillStyle=N(u),this._outlineStyle=N(c),this._haloStyle=function(t){return`rgb(${t.slice(0,3).toString()})`}(_);const f=this._renderedLineHeight,p=this._renderedOutlineSize,d=this._renderedHaloSize;i.save(),i.clearRect(0,0,s.width,s.height),F(i,e);const m=a*e.pixelRatio,g=function(t,e,s){return"center"===t?.5*e:"right"===t?e-s:s}(i.textAlign,this._renderedWidth-2*m,this._renderedHaloSize+this._renderedOutlineSize)+m,y=d+p+m,P=d>0;let x=this._lineThroughWidthOffset,M=0;if(o){i.save();const t=e.backgroundColor??[0,0,0,0],n=e.borderLine?.color??[0,0,0,0],r=2*(e.borderLine?.size??0);i.fillStyle=N(t),i.strokeStyle=N(n),i.lineWidth=r,i.fillRect(0,0,s.width,s.height),i.strokeRect(0,0,s.width,s.height),i.restore()}P&&this._renderHalo(i,g,y,x,M,e),p>0&&this._renderOutline(i,g,y,x,M,e),M+=y,x+=g;for(const t of this._textLines)P?(i.globalCompositeOperation="destination-out",i.fillStyle="rgb(0, 0, 0)",i.fillText(t,x,M),i.globalCompositeOperation="source-over",i.fillStyle=this._fillStyle,i.fillText(t,x,M)):(i.fillStyle=this._fillStyle,i.fillText(t,x,M)),n&&"none"!==n&&this._renderDecoration(i,x,M,n,r),M+=f;i.restore();const b=this._renderedWidth+2*this._lineThroughWidthOffset,S=this._renderedHeight,C=i.getImageData(0,0,b,S),w=new Uint8Array(C.data);if(e.premultiplyColors){let t;for(let e=0;e<w.length;e+=4)t=w[e+3]/255,w[e]=w[e]*t,w[e+1]=w[e+1]*t,w[e+2]=w[e+2]*t}let k,I;switch(e.horizontalAlignment){case"left":k=-.5;break;case"right":k=.5;break;default:k=0}switch(e.verticalAlignment){case"bottom":I=-.5;break;case"top":I=.5;break;case"baseline":I=-1/6;break;default:I=0}return{size:[b,S],image:new Uint32Array(w.buffer),sdf:!1,simplePattern:!1,anchorX:k,anchorY:I,canvas:s}}_renderHalo(t,e,s,i,n,r){const o=this._renderedWidth,a=this._renderedHeight;this._outlineRasterizationCanvas||(this._outlineRasterizationCanvas=document.createElement("canvas")),this._outlineRasterizationCanvas.width=o,this._outlineRasterizationCanvas.height=a;const h=this._outlineRasterizationCanvas,l=h.getContext("2d");l.clearRect(0,0,o,a),F(l,r);const{decoration:c,weight:u}=r.font;l.fillStyle=this._haloStyle,l.strokeStyle=this._haloStyle,l.lineJoin="round",this._renderOutlineNative(l,e,s,c,u,this._renderedHaloSize+this._renderedOutlineSize),t.globalAlpha=this._parameters.halo.color[3],t.drawImage(h,0,0,o,a,i,n,o,a),t.globalAlpha=1}_renderOutline(t,e,s,i,n,r){const o=this._renderedWidth,a=this._renderedHeight;this._outlineRasterizationCanvas||(this._outlineRasterizationCanvas=document.createElement("canvas")),this._outlineRasterizationCanvas.width=o,this._outlineRasterizationCanvas.height=a;const h=this._outlineRasterizationCanvas,l=h.getContext("2d");l.clearRect(0,0,o,a),F(l,r);const{decoration:c,weight:u}=r.font;l.fillStyle=this._outlineStyle,l.strokeStyle=this._outlineStyle,l.lineJoin="round",this._renderOutlineNative(l,e,s,c,u,this._renderedOutlineSize),t.globalAlpha=this._parameters.outline.color[3],t.drawImage(h,0,0,o,a,i,n,o,a),t.globalAlpha=1}_renderOutlineNative(t,e,s,i,n,r){const o=this._renderedLineHeight;for(const a of this._textLines){const h=2*r,l=5,c=.1;for(let r=0;r<l;r++){const o=(1-(l-1)*c+r*c)*h;t.lineWidth=o,t.strokeText(a,e,s),i&&"none"!==i&&this._renderDecoration(t,e,s,i,n,o)}s+=o}}computeTextSize(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const s=this._textRasterizationCanvas,i=s.getContext("2d");F(i,e),this._parameters=e,this._textLines=t.split(/\r?\n/),this._lineHeight=this._computeLineHeight();const n=this._computeTextWidth(i,e),r=this._lineHeight*this._textLines.length;return s.width=n,s.height=r,[n*e.pixelRatio,r*e.pixelRatio]}_computeTextWidth(t,e){let s=0;for(const e of this._textLines)s=Math.max(s,t.measureText(e).width);const i=e.font;return("italic"===i.style||"oblique"===i.style||"string"==typeof i.weight&&("bold"===i.weight||"bolder"===i.weight)||"number"==typeof i.weight&&i.weight>600)&&(s+=.3*t.measureText("w").width),s+=2*(0,h.Lz)(this._parameters.halo.size),Math.round(s)}_computeLineHeightBase(){return 1.275*this._parameters.size}_computeLineHeight(){let t=this._computeLineHeightBase();const e=this._parameters.font.decoration;return e&&"underline"===e&&(t*=1.3),Math.round(t+2*(0,h.Lz)(this._parameters.halo.size))}_renderDecoration(t,e,s,i,n,r){let o=.9*this._lineHeight;const a="bold"===n?.06:"bolder"===n?.09:.04;switch(t.textAlign){case"center":e-=this._renderedWidth/2;break;case"right":e-=this._renderedWidth}const h=t.textBaseline;if("underline"===i)switch(o=.9*this._computeLineHeightBase(),h){case"top":s+=o;break;case"middle":s+=o/2}else if("line-through"===i)switch(h){case"top":s+=o/1.5;break;case"middle":s+=o/3}const l=r?1.5*r:Math.ceil(o*a);t.save(),t.beginPath(),t.strokeStyle=t.fillStyle,t.lineWidth=l,t.moveTo(e-this._lineThroughWidthOffset,s),t.lineTo(e+this._renderedWidth+2*this._lineThroughWidthOffset,s),t.stroke(),t.restore()}}function F(t,e){const s=Math.max(e.size,.5),i=e.font,n=`${i.style} ${i.weight} ${(0,h.Lz)(s).toFixed(1)}px ${i.family}, sans-serif`;let r;switch(t.font=n,t.textBaseline="top",e.horizontalAlignment){case"left":default:r="left";break;case"right":r="right";break;case"center":r="center"}t.textAlign=r}var D=s(93397),X=s(75434);function Y(t){const e=(0,h.PN)(z.GR),s=(0,h.PN)(z.cp);return Math.max(e,Math.min(t||s,s))}s(39829);const H=Math.PI/180,W=()=>o.A.getLogger("esri.symbols.cim.CIMSymbolDrawHelper");class U{constructor(t){this._t=t}static createIdentity(){return new U([1,0,0,0,1,0])}clone(){const t=this._t;return new U(t.slice())}transform(t){const e=this._t;return[e[0]*t[0]+e[1]*t[1]+e[2],e[3]*t[0]+e[4]*t[1]+e[5]]}static createScale(t,e){return new U([t,0,0,0,e,0])}scale(t,e){const s=this._t;return s[0]*=t,s[1]*=t,s[2]*=t,s[3]*=e,s[4]*=e,s[5]*=e,this}scaleRatio(){return Math.sqrt(this._t[0]*this._t[0]+this._t[1]*this._t[1])}static createTranslate(t,e){return new U([0,0,t,0,0,e])}translate(t,e){const s=this._t;return s[2]+=t,s[5]+=e,this}static createRotate(t){const e=Math.cos(t),s=Math.sin(t);return new U([e,-s,0,s,e,0])}rotate(t){return U.multiply(this,U.createRotate(t),this)}angle(){const t=this._t[0],e=this._t[3],s=Math.sqrt(t*t+e*e);return[t/s,e/s]}static multiply(t,e,s){const i=t._t,n=e._t,r=i[0]*n[0]+i[3]*n[1],o=i[1]*n[0]+i[4]*n[1],a=i[2]*n[0]+i[5]*n[1]+n[2],h=i[0]*n[3]+i[3]*n[4],l=i[1]*n[3]+i[4]*n[4],c=i[2]*n[3]+i[5]*n[4]+n[5],u=s._t;return u[0]=r,u[1]=o,u[2]=a,u[3]=h,u[4]=l,u[5]=c,s}invert(){const t=this._t;let e=t[0]*t[4]-t[1]*t[3];if(0===e)return new U([0,0,0,0,0,0]);e=1/e;const s=(t[1]*t[5]-t[2]*t[4])*e,i=(t[2]*t[3]-t[0]*t[5])*e,n=t[4]*e,r=-t[1]*e,o=-t[3]*e,a=t[0]*e;return new U([n,r,s,o,a,i])}}class B{constructor(t,e){this._resourceManager=t,this._transfos=[],this._sizeTransfos=[],this._geomUnitsPerPoint=1,this._placementPool=new g.A(()=>new d.W,void 0,void 0,100),this._earlyReturn=!1,this._mapRotation=0,this._transfos.push(e||U.createIdentity()),this._sizeTransfos.push(e?e.scaleRatio():1)}setTransform(t,e){this._transfos=[t||U.createIdentity()],this._sizeTransfos=[e||(t?t.scaleRatio():1)]}setGeomUnitsPerPoint(t){this._geomUnitsPerPoint=t}transformPt(t){return this._transfos[this._transfos.length-1].transform(t)}transformSize(t){return t*this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformPt(t){return this._transfos[this._transfos.length-1].invert().transform(t)}reverseTransformSize(t){return t/this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformScalar(t){return t/this._transfos[this._transfos.length-1].scaleRatio()}getTransformAngle(){return this._transfos[this._transfos.length-1].angle()}geomUnitsPerPoint(){return this.isEmbedded()?1:this._geomUnitsPerPoint}prevGeomUnitsPerPoint(){return this._transfos.length>2?1:this._geomUnitsPerPoint}isEmbedded(){return this._transfos.length>1}back(){return this._transfos[this._transfos.length-1]}push(t,e){const s=e?t.scaleRatio():1;U.multiply(t,this.back(),t),this._transfos.push(t),this._sizeTransfos.push(this._sizeTransfos[this._sizeTransfos.length-1]*s)}pop(){this._transfos.splice(-1,1),this._sizeTransfos.splice(-1,1)}drawSymbol(t,e,s){if(t)switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this.drawMultiLayerSymbol(t,e);break;case"CIMTextSymbol":this.drawTextSymbol(t,e,s)}}drawMultiLayerSymbol(t,e){if(!t||!e)return;const s=t.symbolLayers;if(!s)return;const i=t.effects;if(i&&i.length>0){const t=this.executeEffects(i,e);if(t){let e=t.next();for(;e;)this.drawSymbolLayers(s,e.asJSON()),e=t.next()}}else this.drawSymbolLayers(s,e)}executeEffects(t,e){let s=new p.kT(y.z.fromJSONCIM(e));for(const e of t){const t=(0,b.A)(e);t&&(s=t.execute(s,e,this.geomUnitsPerPoint(),null))}return s}drawSymbolLayers(t,e){let s=t.length;for(;s--;){const i=t[s];if(!i||!1===i.enable)continue;const n=i.effects;if(n&&n.length>0){const t=this.executeEffects(n,e);if(t){let e=null;for(;(e=t.next())&&(this.drawSymbolLayer(i,e.asJSON()),!this._earlyReturn););}}else this.drawSymbolLayer(i,e);if(this._earlyReturn)return}}drawSymbolLayer(t,e){switch(t.type){case"CIMSolidFill":this.drawSolidFill(e,t.color,t.path);break;case"CIMHatchFill":this.drawHatchFill(e,t);break;case"CIMPictureFill":this.drawPictureFill(e,t);break;case"CIMGradientFill":this.drawGradientFill(e,t);break;case"CIMSolidStroke":this.drawSolidStroke(e,t.color,t.width,t.capStyle,t.joinStyle,t.miterLimit,t.path);break;case"CIMPictureStroke":this.drawPictureStroke(e,t);break;case"CIMGradientStroke":this.drawGradientStroke(e,t);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":this.drawMarkerLayer(t,e)}}drawHatchFill(t,e){const s=function(t,e,s){let i=(0,D.$w)(t.separation,S.D.CIMHatchFill.separation)*s,n=(0,D.$w)(t.rotation);if(0===i)return null;i<0&&(i=-i);let r=0;const o=.5*i;for(;r>o;)r-=i;for(;r<-o;)r+=i;const a=(0,l.vt)();(0,c.Rg)(a,e),a[0]-=o,a[1]-=o,a[2]+=o,a[3]+=o;const h=[[a[0],a[1]],[a[0],a[3]],[a[2],a[3]],[a[2],a[1]]];for(;n>180;)n-=180;for(;n<0;)n+=180;const u=Math.cos(n*H),_=Math.sin(n*H),f=-i*_,p=i*u;let d,m,g,y;r=(0,D.$w)(t.offsetX)*s*_-(0,D.$w)(t.offsetY)*s*u,d=g=Number.MAX_VALUE,m=y=-Number.MAX_VALUE;for(const t of h){const e=t[0],s=t[1],i=u*e+_*s,n=-_*e+u*s;d=Math.min(d,i),g=Math.min(g,n),m=Math.max(m,i),y=Math.max(y,n)}g=Math.floor(g/i)*i;let P=u*d-_*g-f*r/i,x=_*d+u*g-p*r/i,M=u*m-_*g-f*r/i,b=_*m+u*g-p*r/i;const C=1+Math.round((y-g)/i),w=[];for(let t=0;t<C;t++)P+=f,x+=p,M+=f,b+=p,w.push([[P,x],[M,b]]);return{paths:w}}(e,t,this.geomUnitsPerPoint());s&&(this.pushClipPath(t),this.drawMultiLayerSymbol(e.lineSymbol,s),this.popClipPath())}drawPictureFill(t,e){}drawGradientFill(t,e){}drawPictureStroke(t,e){}drawGradientStroke(t,e){}drawMarkerLayer(t,e){const s=t.markerPlacement;if(s){const i=(0,b.c)(s);if(i){const n="CIMMarkerPlacementInsidePolygon"===s.type||"CIMMarkerPlacementPolygonCenter"===s.type&&s.clipAtBoundary;n&&this.pushClipPath(e);const r=i.execute(y.z.fromJSONCIM(e),s,this.geomUnitsPerPoint(),null);if(r){let e=null;for(;(e=r.next())&&(this.drawMarker(t,e),!this._earlyReturn););}n&&this.popClipPath()}}else{const s=this._placementPool.acquire();if((0,x.fT)(e))s.tx=e.x,s.ty=e.y,this.drawMarker(t,s);else if((0,x.Bi)(e)){const i=(0,P.l8)(e);i&&([s.tx,s.ty]=i,this.drawMarker(t,s))}else if((0,x.Rg)(e)){for(const i of e.paths)for(const e of i)if(s.tx=e[0],s.ty=e[1],this.drawMarker(t,s),this._earlyReturn)break}else for(const i of e.points)if(s.tx=i[0],s.ty=i[1],this.drawMarker(t,s),this._earlyReturn)break;this._placementPool.release(s)}}drawMarker(t,e){switch(t.type){case"CIMCharacterMarker":case"CIMPictureMarker":this.drawPictureMarker(t,e);break;case"CIMVectorMarker":this.drawVectorMarker(t,e)}}drawPictureMarker(t,e){if(!t)return;const s=this._resourceManager.getResource(t.url),i=(0,D.$w)(t.size,S.D.CIMPictureMarker.size);if(null==s||i<=0)return;const n=s.width,r=s.height;if(!n||!r)return;const o=n/r,a=(0,D.$w)(t.scaleX,1),h=U.createIdentity(),l=t.anchorPoint;if(l){let e=l.x,s=l.y;"Absolute"!==t.anchorPointUnits&&(e*=i*o*a,s*=i),h.translate(-e,-s)}let c=(0,D.$w)(t.rotation);t.rotateClockwise&&(c=-c),this._mapRotation&&(c+=this._mapRotation),c&&h.rotate(c*H);let u=(0,D.$w)(t.offsetX),_=(0,D.$w)(t.offsetY);if(u||_){if(this._mapRotation){const t=H*this._mapRotation,e=Math.cos(t),s=Math.sin(t),i=u*s+_*e;u=u*e-_*s,_=i}h.translate(u,_)}const f=this.geomUnitsPerPoint();1!==f&&h.scale(f,f);const p=e.getAngle();p&&h.rotate(p),h.translate(e.tx,e.ty),this.push(h,!1),this.drawImage(t,i),this.pop()}drawVectorMarker(t,e){if(!t)return;const s=t.markerGraphics;if(!s)return;const i=(0,D.$w)(t.size,S.D.CIMVectorMarker.size),n=t.frame,r=n?n.ymax-n.ymin:0,o=i&&r?i/r:1,a=U.createIdentity();n&&a.translate(.5*-(n.xmax+n.xmin),.5*-(n.ymax+n.ymin));const h=t.anchorPoint;if(h){let e=h.x,s=h.y;"Absolute"!==t.anchorPointUnits?n&&(e*=n.xmax-n.xmin,s*=n.ymax-n.ymin):(e/=o,s/=o),a.translate(-e,-s)}1!==o&&a.scale(o,o);let l=(0,D.$w)(t.rotation);t.rotateClockwise&&(l=-l),this._mapRotation&&(l+=this._mapRotation),l&&a.rotate(l*H);let c=(0,D.$w)(t.offsetX),u=(0,D.$w)(t.offsetY);if(c||u){if(this._mapRotation){const t=H*this._mapRotation,e=Math.cos(t),s=Math.sin(t),i=c*s+u*e;c=c*e-u*s,u=i}a.translate(c,u)}const _=this.geomUnitsPerPoint();1!==_&&a.scale(_,_);const f=e.getAngle();f&&a.rotate(f),a.translate(e.tx,e.ty),this.push(a,t.scaleSymbolsProportionally);for(const t of s){t?.symbol&&t.geometry||W().error("Invalid marker graphic",t);let e=t.textString;if("number"==typeof e&&(e=e.toString()),this.drawSymbol(t.symbol,t.geometry,e),this._earlyReturn)break}this.pop()}drawTextSymbol(t,e,s){if(!t)return;if(!(0,x.fT)(e))return;if((0,D.$w)(t.height,S.D.CIMTextSymbol.height)<=0)return;const i=U.createIdentity();let n=(0,D.$w)(t.angle);n=-n,n&&i.rotate(n*H);const r=(0,D.$w)(t.offsetX),o=(0,D.$w)(t.offsetY);(r||o)&&i.translate(r,o);const a=this.geomUnitsPerPoint();1!==a&&i.scale(a,a),i.translate(e.x,e.y),this.push(i,!1),this.drawText(t,s),this.pop()}}class V extends B{constructor(t,e){super(t,e),this.reset()}reset(){this._xmin=this._ymin=1/0,this._xmax=this._ymax=-1/0,this._clipCount=0}envelope(){return new R(this._xmin,this._ymin,this._xmax-this._xmin,this._ymax-this._ymin)}bounds(){return(0,l.fA)(this._xmin,this._ymin,this._xmax,this._ymax)}drawSolidFill(t){if(t&&!(this._clipCount>0))if((0,x.Bi)(t))this._processPath(t.rings,0);else if((0,x.Rg)(t))this._processPath(t.paths,0);else if((0,x.ZC)(t)){const e=J(t);e&&this._processPath(e.rings,0)}else console.error("drawSolidFill Unexpected geometry type!")}drawSolidStroke(t,e,s){if(!t||this._clipCount>0||null==s||s<=0)return;const i=Math.max(.5*this.transformSize((0,D.$w)(s,S.D.CIMSolidStroke.width)),.25);if((0,x.Bi)(t))this._processPath(t.rings,i);else if((0,x.Rg)(t))this._processPath(t.paths,i);else if((0,x.ZC)(t)){const e=J(t);e&&this._processPath(e.rings,i)}else console.error("drawSolidStroke unexpected geometry type!")}drawMarkerLayer(t,e){(0,x.Bi)(e)&&t.markerPlacement&&("CIMMarkerPlacementInsidePolygon"===t.markerPlacement.type||"CIMMarkerPlacementPolygonCenter"===t.markerPlacement.type&&t.markerPlacement.clipAtBoundary)?this._processPath(e.rings,0):super.drawMarkerLayer(t,e)}drawHatchFill(t,e){this.drawSolidFill(t)}drawPictureFill(t,e){this.drawSolidFill(t)}drawGradientFill(t,e){this.drawSolidFill(t)}drawPictureStroke(t,e){this.drawSolidStroke(t,null,e.width)}drawGradientStroke(t,e){this.drawSolidStroke(t,null,e.width)}pushClipPath(t){this.drawSolidFill(t),this._clipCount++}popClipPath(){this._clipCount--}drawImage(t,e){const{url:s}=t,i=(0,D.$w)(t.scaleX,1);let n=i*e,r=e;const o=this._resourceManager.getResource(s);if(null!=o){const t=o.height/o.width;n=i*(e?t>1?e:e/t:o.width),r=e?t>1?e*t:e:o.height}this._merge(this.transformPt([-n/2,-r/2]),0),this._merge(this.transformPt([-n/2,r/2]),0),this._merge(this.transformPt([n/2,-r/2]),0),this._merge(this.transformPt([n/2,r/2]),0)}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new O);const s=Z(t);let[i,n]=this._textRasterizer.computeTextSize(e,s);i=(0,h.PN)(i),n=(0,h.PN)(n);const r=this.transformSize(1)*this.reverseTransformScalar(1);i*=r,n*=r;let o=0;switch(t.horizontalAlignment){case"Left":o=i/2;break;case"Right":o=-i/2}let a=0;switch(t.verticalAlignment){case"Bottom":a=n/2;break;case"Top":a=-n/2;break;case"Baseline":a=n/6}this._merge(this.transformPt([-i/2+o,-n/2+a]),0),this._merge(this.transformPt([-i/2+o,n/2+a]),0),this._merge(this.transformPt([i/2+o,-n/2+a]),0),this._merge(this.transformPt([i/2+o,n/2+a]),0)}_processPath(t,e){if(t)for(const s of t){const t=s?s.length:0;if(t>1){this._merge(this.transformPt(s[0]),e);for(let i=1;i<t;i++)this._merge(this.transformPt(s[i]),e)}}}_merge(t,e){t[0]-e<this._xmin&&(this._xmin=t[0]-e),t[0]+e>this._xmax&&(this._xmax=t[0]+e),t[1]-e<this._ymin&&(this._ymin=t[1]-e),t[1]+e>this._ymax&&(this._ymax=t[1]+e)}}class $ extends B{constructor(t,e,s,i){super(e,s),this._applyAdditionalRenderProps=i,this._colorSubstitutionHelper=new M,this._ctx=t}drawSolidFill(t,e){if(!t)return;if((0,x.Bi)(t))this._buildPath(t.rings,!0);else if((0,x.Rg)(t))this._buildPath(t.paths,!0);else if((0,x.ZC)(t))this._buildPath(J(t).rings,!0);else{if(!(0,x.U9)(t))return;console.log("CanvasDrawHelper.drawSolidFill - No implementation!")}const s=this._ctx;s.fillStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",s.fill("evenodd")}drawSolidStroke(t,e,s,i,n,r){if(!t||!e||0===s)return;if((0,x.Bi)(t))this._buildPath(t.rings,!0);else if((0,x.Rg)(t))this._buildPath(t.paths,!1);else{if(!(0,x.ZC)(t))return void console.log("CanvasDrawHelper.drawSolidStroke isn't implemented!");this._buildPath(J(t).rings,!0)}const o=this._ctx;o.strokeStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",o.lineWidth=Math.max(this.transformSize(s),.5),this._setCapStyle(i),this._setJoinStyle(n),o.miterLimit=r,o.stroke()}pushClipPath(t){if(this._ctx.save(),(0,x.Bi)(t))this._buildPath(t.rings,!0);else if((0,x.Rg)(t))this._buildPath(t.paths,!0);else{if(!(0,x.ZC)(t))return;this._buildPath(J(t).rings,!0)}this._ctx.clip("evenodd")}popClipPath(){this._ctx.restore()}drawImage(t,e){const{colorSubstitutions:s,url:i,tintColor:n}=t,r=(0,D.$w)(t.scaleX,1),o=this._resourceManager.getResource(i);if(null==o)return;let a=e*(o.width/o.height),h=e;e||(a=o.width,h=o.height);const l=(0,D.UE)(i)||"src"in o&&(0,D.UE)(o.src);let c="getFrame"in o?C(o):o;s&&(c=this._colorSubstitutionHelper.applyColorSubstitution(c,s)),this._applyAdditionalRenderProps&&!l&&n&&(c=this._colorSubstitutionHelper.tintImageData(c,n));const u=this.transformPt([0,0]),[_,f]=this.getTransformAngle(),p=this.transformSize(1),d=this._ctx;d.save(),d.setTransform({m11:r*p*_,m12:r*p*f,m21:-p*f,m22:p*_,m41:u[0],m42:u[1]}),d.drawImage(c,-a/2,-h/2,a,h),d.restore()}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new O);const s=Z(t,this.transformSize((0,h.PN)(1))),i=this._textRasterizer.rasterizeText(e,s);if(!i)return;const{size:n,anchorX:r,anchorY:o,canvas:a}=i,l=n[0]*(r+.5),c=n[1]*(o-.5),u=this._ctx,_=this.transformPt([0,0]),[f,p]=this.getTransformAngle();u.save(),u.setTransform({m11:1*f,m12:1*p,m21:-1*p,m22:1*f,m41:_[0]-1*l,m42:_[1]+1*c}),u.drawImage(a,0,0),u.restore()}drawPictureFill(t,e){if(!t)return;let{colorSubstitutions:s,height:i,offsetX:n,offsetY:r,rotation:o,scaleX:a,tintColor:h,url:l}=e;const c=this._resourceManager.getResource(l);if(null==c)return;if((0,x.Bi)(t))this._buildPath(t.rings,!0);else if((0,x.Rg)(t))this._buildPath(t.paths,!0);else if((0,x.ZC)(t))this._buildPath(J(t).rings,!0);else{if(!(0,x.U9)(t))return;console.log("CanvasDrawHelper.drawPictureFill - No implementation!")}const u=this._ctx,_=(0,D.UE)(l)||"src"in c&&(0,D.UE)(c.src);let f,p="getFrame"in c?C(c):c;if(s&&(p=this._colorSubstitutionHelper.applyColorSubstitution(p,s)),this._applyAdditionalRenderProps){_||h&&(p=this._colorSubstitutionHelper.tintImageData(p,h)),f=u.createPattern(p,"repeat");const t=this.transformSize(1);o||(o=0),n?n*=t:n=0,r?r*=t:r=0,i&&(i*=t);const e=i?i/c.height:1,s=a&&i?a*i/c.width:1;if(0!==o||1!==e||1!==s||0!==n||0!==r){const t=new DOMMatrix;t.rotateSelf(0,0,-o).translateSelf(n,r).scaleSelf(s,e,1),f.setTransform(t)}}else f=u.createPattern(p,"repeat");u.save(),u.fillStyle=f,u.fill("evenodd"),u.restore()}drawPictureStroke(t,e){if(!t)return;let{colorSubstitutions:s,capStyle:i,joinStyle:n,miterLimit:o,tintColor:a,url:l,width:c}=e;const u=this._resourceManager.getResource(l);if(null==u)return;let _;if((0,x.Bi)(t))_=t.rings;else if((0,x.Rg)(t))_=t.paths;else{if(!(0,x.ZC)(t))return(0,x.U9)(t)?void console.log("CanvasDrawHelper.drawPictureStroke - No implementation!"):void 0;_=J(t).rings}c||(c=u.width);const f=(0,D.UE)(l)||"src"in u&&(0,D.UE)(u.src);let p="getFrame"in u?C(u):u;s&&(p=this._colorSubstitutionHelper.applyColorSubstitution(p,s)),this._applyAdditionalRenderProps&&(f||a&&(p=this._colorSubstitutionHelper.tintImageData(p,a)));const d=Math.max(this.transformSize((0,h.Lz)(c)),.5),m=d/p.width,g=this._ctx,y=g.createPattern(p,"repeat-y");let P,M;g.save(),this._setCapStyle(i),this._setJoinStyle(n),void 0!==o&&(g.miterLimit=o),g.lineWidth=d;for(let t of _)if(t=(0,r.o8)(t),j(t),t&&!(t.length<=1)){P=this.transformPt(t[0]);for(let e=1;e<t.length;e++){M=this.transformPt(t[e]);const s=q(P,M),i=new DOMMatrix;i.translateSelf(0,P[1]-d/2).scaleSelf(m,m,1).rotateSelf(0,0,90-s),y.setTransform(i),g.strokeStyle=y,g.beginPath(),g.moveTo(P[0],P[1]),g.lineTo(M[0],M[1]),g.stroke(),P=M}}g.restore()}drawGradientFill(t,e){if(!t)return;let s;if((0,x.Bi)(t))s=t.rings;else if((0,x.Rg)(t))s=t.paths;else{if(!(0,x.ZC)(t))return void W().error("Unable to draw gradient fill");s=J(t).rings}this._buildPath(s,!0);const{angle:i,gradientMethod:n,gradientSize:r,gradientSizeUnits:o}=e,a=S.D.CIMGradientFill,c=e.gradientType??a.gradientType,u=-(0,m.kU)(i??0),_=(0,l.Ie)();for(const t of s){const e=t?t.length:0;if(e>1)for(let s=0;s<e;s++){let e=this.transformPt(t[s]);"Linear"!==n&&"Rectangular"!==n||(e=w(e,-u)),(0,l.tK)(_,e)}}const[f,p,d,g]=_,y=this._ctx;switch(y.save(),n){case"Buffered":W().error(`Gradient method "${n}" currently unsupported.`);break;case"Linear":{const t=(p+g)/2,s="Absolute"===o?this.transformSize((0,h.Lz)(r)):(0,D.yX)(r,a.gradientSize)*(d-f),[i,n]="Discrete"===c?[d,d-s]:[f+s,f],l=w([i,t],u),_=w([n,t],u),m=y.createLinearGradient(l[0],l[1],_[0],_[1]);A(m,e),y.fillStyle=m,y.fill("evenodd");break}case"Circular":{const t=(0,l.gX)(_),s=(0,l.ib)(_)/2,i="Absolute"===o?this.transformSize((0,h.Lz)(r)):(0,D.yX)(r,a.gradientSize)*s,[n,u]="Discrete"===c?[s,s-i]:[i,0],f=y.createRadialGradient(t[0],t[1],n,t[0],t[1],u);A(f,e),y.fillStyle=f,y.fill("evenodd");break}case"Rectangular":{const s=(0,l.gX)(_),i=s[0],n=s[1],m=w(s,u),P=(s,i,n,r,o,a,h,l)=>{y.save(),this.pushClipPath(t);const c=w([o,a],u),_=w([h,l],u);y.beginPath(),y.moveTo(m[0],m[1]),y.lineTo(c[0],c[1]),y.lineTo(_[0],_[1]),y.lineTo(m[0],m[1]),y.clip();const f=w([s,i],u),p=w([n,r],u),d=y.createLinearGradient(f[0],f[1],p[0],p[1]);A(d,e),y.fillStyle=d,y.fill("evenodd"),y.restore()};let x="Absolute"===o?this.transformSize((0,h.Lz)(r)):(0,D.yX)(r,a.gradientSize)*((0,l.VL)(_)/2),[M,b]="Discrete"===c?[d,d-x]:[i+x,i];P(M,n,b,n,d,p,d,g),[M,b]="Discrete"===c?[f,f+x]:[i-x,i],P(M,n,b,n,f,g,f,p),x="Absolute"===o?this.transformSize((0,h.Lz)(r)):(0,D.yX)(r,a.gradientSize)*((0,l.uJ)(_)/2);let[S,C]="Discrete"===c?[g,g-x]:[n+x,n];P(i,S,i,C,d,g,f,g),[S,C]="Discrete"===c?[p,p+x]:[n-x,n],P(i,S,i,C,f,p,d,p);break}}y.restore()}drawGradientStroke(t,e){const{capStyle:s,gradientMethod:i,gradientSize:n,gradientSizeUnits:o,joinStyle:a,miterLimit:l,width:c}=e;if(!t||0===c)return;let u;if((0,x.Bi)(t))u=t.rings;else if((0,x.Rg)(t))u=t.paths;else{if(!(0,x.ZC)(t))return void W().error("Unable to draw gradient stroke");u=J(t).rings}const _=e.gradientType??S.D.CIMGradientStroke.gradientType,f=Math.max(this.transformSize((0,h.Lz)(c)),.5),p=this._ctx;let d,m;p.save(),this._setCapStyle(s),this._setJoinStyle(a),void 0!==l&&(p.miterLimit=l),p.lineWidth=f;for(let t of u){if(t=(0,r.o8)(t),j(t),!t||t.length<=1)continue;let s=0;d=this.transformPt(t[0]);for(let e=1;e<t.length;e++){m=this.transformPt(t[e]);const i=m[0]-d[0],n=m[1]-d[1];s+=Math.sqrt(i*i+n*n),d=m}const a="Absolute"===o?this.transformSize((0,h.Lz)(n)):(0,D.yX)(n,S.D.CIMGradientStroke.gradientSize)*("AcrossLine"===i?f:s);let l=0;d=this.transformPt(t[0]);for(let n=1;n<t.length;n++){m=this.transformPt(t[n]);const r=m[0]-d[0],o=m[1]-d[1],h=Math.sqrt(r*r+o*o);let c,u,g,y;switch(i){case"AcrossLine":{const[t,e]=w([r/h,o/h],-Math.PI/2),s=f/2,i="Discrete"===_?s:a-s;c=(d[0]+m[0])/2+t*i,u=(d[1]+m[1])/2+e*i,g=c-t*a,y=u-e*a;break}case"AlongLine":{const t=r/h,e=o/h;"Discrete"===_?(c=d[0]-t*l,u=d[1]-e*l,g=c+t*a,y=u+e*a):(g=d[0]+t*(s-l),y=d[1]+e*(s-l),c=g-t*a,u=y-e*a);break}default:return W().error("Unrecognized gradient method:",i),void p.restore()}const P=p.createLinearGradient(c,u,g,y);A(P,e),p.strokeStyle=P,p.beginPath(),p.moveTo(d[0],d[1]),p.lineTo(m[0],m[1]),p.stroke(),l+=h,d=m}}p.restore()}_buildPath(t,e){const s=this._ctx;if(s.beginPath(),t)for(const i of t){const t=i?i.length:0;if(t>1){let n=this.transformPt(i[0]);s.moveTo(n[0],n[1]);for(let e=1;e<t;e++)n=this.transformPt(i[e]),s.lineTo(n[0],n[1]);e&&s.closePath()}}}_setCapStyle(t){switch(t){case"Butt":this._ctx.lineCap="butt";break;case"Round":this._ctx.lineCap="round";break;case"Square":this._ctx.lineCap="square"}}_setJoinStyle(t){switch(t){case"Bevel":this._ctx.lineJoin="bevel";break;case"Round":this._ctx.lineJoin="round";break;case"Miter":this._ctx.lineJoin="miter"}}}function q(t,e){const s=e[0]-t[0],i=e[1]-t[1];return 180/Math.PI*Math.atan2(i,s)}const J=t=>t?{spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]}:null;function Z(t,e=1){const s=(0,D.DW)(t),i=(0,D._d)(t.fontStyleName),n=t.fontFamilyName??"arial-unicode-ms",{weight:r,style:o}=i,a=e*(t.height||5),h=(0,D.Bu)(t.horizontalAlignment),l=(0,D.Nl)(t.verticalAlignment),c=(0,D.pM)(t),u=(0,D.pM)(t.haloSymbol),_=null!=u?e*(t.haloSize??0):0,f=(0,D._1)(t.symbol),p=e*((0,D.xo)(t.symbol)||0),d="CIMBackgroundCallout"===t.callout?.type?t.callout.backgroundSymbol:null,m=(0,D.pM)(d),g=(0,D.xo)(d),y=(0,D._1)(d);return{color:c,size:a,horizontalAlignment:h,verticalAlignment:l,font:{family:n,style:(0,D.pV)(o),weight:(0,D.Kn)(r),decoration:s},outline:{size:p||0,color:f},halo:{size:_||0,color:u,style:o},backgroundColor:m,borderLine:null!=g&&null!=y?{size:g,color:y}:null,pixelRatio:1,premultiplyColors:!0}}function j(t){let e,s,i,n,r,o=t[0],a=1;for(;a<t.length;)e=t[a][0]-o[0],s=t[a][1]-o[1],n=0!==e?s/e:Math.PI/2,void 0!==i&&Math.abs(n-i)<=1e-4?(t.splice(a-1,1),o=r):(r=o,o=t[a],a++),i=n}var K=s(59868),Q=s(13195);const tt=Math.PI,et=tt/2,st=Math.PI/180,it=96/72,nt=()=>o.A.getLogger("esri.symbols.cim.CIMSymbolHelper");function rt(t){let e;switch(t.type){case"cim":return t.data;case"web-style":return t;case"simple-marker":{const s=ut.fromSimpleMarker(t);if(!s)throw new Error("InternalError: Cannot convert symbol to CIM");e=s;break}case"picture-marker":e=ut.fromPictureMarker(t);break;case"simple-line":e=ut.fromSimpleLineSymbol(t);break;case"simple-fill":e=ut.fromSimpleFillSymbol(t);break;case"picture-fill":e=ut.fromPictureFillSymbol(t);break;case"text":e=ut.fromTextSymbol(t)}return{type:"CIMSymbolReference",symbol:e}}function ot(t,e,s){switch(e.type){case"CIMSymbolReference":return ot(t,e.symbol,s);case"CIMPointSymbol":null==s&&(s={x:0,y:0}),t.drawSymbol(e,s);break;case"CIMLineSymbol":null==s&&(s={paths:[[[0,0],[10,0]]]}),t.drawSymbol(e,s);break;case"CIMPolygonSymbol":null==s&&(s={rings:[[[0,0],[0,10],[10,10],[10,0],[0,0]]]}),t.drawSymbol(e,s);break;case"CIMTextSymbol":{const s={x:0,y:0};t.drawSymbol(e,s);break}case"CIMVectorMarker":{const s=new d.W;t.drawMarker(e,s);break}}return t.envelope()}function at(t){if(!t)return 0;switch(t.type){case"CIMMarkerPlacementAlongLineSameSize":case"CIMMarkerPlacementAlongLineRandomSize":case"CIMMarkerPlacementAtExtremities":case"CIMMarkerPlacementAtMeasuredUnits":case"CIMMarkerPlacementAtRatioPositions":case"CIMMarkerPlacementOnLine":case"CIMMarkerPlacementOnVertices":return Math.abs(t.offset??0);default:return 0}}function ht(t){if(!t)return 0;let e=0;for(const s of t)e+=lt(s);return e}function lt(t){if(!t)return 0;if((0,D.St)(t))return t.inflateSize??256;switch(t.type){case"CIMGeometricEffectArrow":return Math.abs(.5*t.width);case"CIMGeometricEffectBuffer":return Math.abs(t.size);case"CIMGeometricEffectControlMeasureLine":return 500;case"CIMGeometricEffectExtension":return Math.abs(t.length);case"CIMGeometricEffectJog":return Math.abs(.5*t.length);case"CIMGeometricEffectMove":return Math.max(Math.abs((0,D.$w)(t.offsetX)),Math.abs((0,D.$w)(t.offsetY)));case"CIMGeometricEffectOffset":case"CIMGeometricEffectOffsetTangent":return Math.abs(t.offset);case"CIMGeometricEffectRadial":return Math.abs(t.length??5);case"CIMGeometricEffectRegularPolygon":return Math.abs(t.radius);case"CIMGeometricEffectRotate":case"CIMGeometricEffectScale":default:return 0;case"CIMGeometricEffectTaperedPolygon":return.5*Math.max(Math.abs(t.fromWidth),Math.abs(t.toWidth));case"CIMGeometricEffectWave":return Math.abs(t.amplitude);case"CIMGeometricEffectDonut":return Math.abs(t.width)}}class ct{static getSymbolInflateSize(t,e,s,i,n){return t||(t=[0,0,0,0]),e?this._getInflateSize(t,e,s,i,n):t}static safeSize(t){const e=Math.max(Math.abs(t[0]),Math.abs(t[2])),s=Math.max(Math.abs(t[1]),Math.abs(t[3]));return Math.sqrt(e*e+s*s)}static _vectorMarkerBounds(t,e,s,i){let n=!0;const r=(0,l.vt)();if(e?.markerGraphics)for(const o of e.markerGraphics){const e=[0,0,0,0];o.geometry&&((0,c.Rg)(r,o.geometry),e[0]=0,e[1]=0,e[2]=0,e[3]=0,this.getSymbolInflateSize(e,o.symbol,s,0,i),r[0]+=e[0],r[1]+=e[1],r[2]+=e[2],r[3]+=e[3],n?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],n=!1):(t[0]=Math.min(t[0],r[0]),t[1]=Math.min(t[1],r[1]),t[2]=Math.max(t[2],r[2]),t[3]=Math.max(t[3],r[3])))}return t}static _getInflateSize(t,e,s,i,n){if(function(t){return void 0!==t.symbolLayers}(e)){const r=this._getLayersInflateSize(t,e.symbolLayers,s,i,n),o=ht(e.effects);return o>0&&(r[0]-=o,r[1]-=o,r[2]+=o,r[3]+=o),r}return this._getTextInflatedSize(t,e,n)}static _getLayersInflateSize(t,e,s,i,n){let r=!0;if(!e)return t;for(const o of e){if(!o)continue;let e=[0,0,0,0];switch(o.type){case"CIMSolidFill":case"CIMPictureFill":case"CIMHatchFill":case"CIMGradientFill":break;case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":{const t=o;let s=t.width;null!=s&&("Square"===t.capStyle||"Miter"===t.joinStyle?s/=1.4142135623730951:s/=2,e[0]=-s,e[1]=-s,e[2]=s,e[3]=s);break}case"CIMCharacterMarker":case"CIMVectorMarker":case"CIMPictureMarker":{const t=o;if("CIMVectorMarker"===o.type){const t=o;if(e=this._vectorMarkerBounds(e,t,s,n),t.frame){const s=(t.frame.xmin+t.frame.xmax)/2,i=(t.frame.ymin+t.frame.ymax)/2;if(e[0]-=s,e[1]-=i,e[2]-=s,e[3]-=i,null!=t.size){const s=t.size/(t.frame.ymax-t.frame.ymin);e[0]*=s,e[1]*=s,e[2]*=s,e[3]*=s}}}else if("CIMPictureMarker"===o.type){const i=o,n=s.getResource(i.url);let r=1;if(null!=n&&n.height&&(r=n.width/n.height),null!=t.size){const s=t.size/2,n=t.size*r*(i.scaleX??1)/2;e=[-n,-s,n,s]}}else if(null!=t.size){const s=t.size/2;e=[-s,-s,s,s]}if(t.anchorPoint){let s,i;"Absolute"===t.anchorPointUnits?(s=t.anchorPoint.x,i=t.anchorPoint.y):(s=t.anchorPoint.x*(e[2]-e[0]),i=t.anchorPoint.y*(e[3]-e[1]));const n=1.25*Math.sqrt(s*s+i*i);e[0]-=n,e[1]-=n,e[2]+=n,e[3]+=n}let r=(0,D.$w)(t.rotation);if(t.rotateClockwise&&(r=-r),i&&(r-=i),r){const t=st*r,s=Math.cos(t),i=Math.sin(t),n=(0,l.vt)([Q.MG,Q.MG,-Q.MG,-Q.MG]);(0,l.tK)(n,[e[0]*s-e[1]*i,e[0]*i+e[1]*s]),(0,l.tK)(n,[e[0]*s-e[3]*i,e[0]*i+e[3]*s]),(0,l.tK)(n,[e[2]*s-e[1]*i,e[2]*i+e[1]*s]),(0,l.tK)(n,[e[2]*s-e[3]*i,e[2]*i+e[3]*s]),e=n}let a=(0,D.$w)(t.offsetX),h=(0,D.$w)(t.offsetY);if(i){const t=st*i,e=Math.cos(t),s=Math.sin(t),n=a*s+h*e;a=a*e-h*s,h=n}e[0]+=a,e[1]+=h,e[2]+=a,e[3]+=h;const c=at(t.markerPlacement);c>0&&(e[0]-=c,e[1]-=c,e[2]+=c,e[3]+=c);break}}const a=ht(o.effects);a>0&&(e[0]-=a,e[1]-=a,e[2]+=a,e[3]+=a),r?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],r=!1):(t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[2]),t[3]=Math.max(t[3],e[3]))}return t}static _getTextInflatedSize(t,e,s){const i=function(t){return(0,h.PN)(Math.round((0,h.Lz)(t)))}(e.height??S.D.CIMTextSymbol.height);if(t[0]=-i/2,t[1]=-i/2,t[2]=i/2,t[3]=i/2,!s)return t;const n=s.get(e);if(!n)return t;if(!n.glyphMosaicItems.glyphs.length)return t;const{lineGapType:r,lineGap:o}=e,a=r?((t,e,s)=>{switch(t){case"ExtraLeading":return 1+e/s;case"Multiple":return e;case"Exact":return e/s}})(r,o??0,i):0,l="CIMBackgroundCallout"===e.callout?.type,c=(0,X.Tl)(n.glyphMosaicItems,{scale:i/z.eG,angle:(0,D.$w)(e.angle),xOffset:(0,D.$w)(e.offsetX),yOffset:(0,D.$w)(e.offsetY),horizontalAlignment:e.horizontalAlignment,verticalAlignment:e.verticalAlignment,maxLineWidth:Y(e.lineWidth),lineHeight:z.DY*Math.max(.25,Math.min(a||1,4)),decoration:e.font.decoration||"none",useCIMAngleBehavior:!0,hasBackground:l}).boundsT,u=Math.sqrt(c.width*c.width+c.height*c.height);return t[0]-=c.x+u,t[1]-=c.y-u,t[2]+=c.x+u,t[3]+=-c.y+u,t}}class ut{static getEnvelope(t,e,s){if(!t)return null;const i=new V(s);if(Array.isArray(t)){let s;for(const n of t)s?s.union(ot(i,n,e)):s=ot(i,n,e);return s}return ot(i,t,e)}static getTextureInfo(t,e,s,i,n){const r=i??this.getEnvelope(t,null,e);if(!r)return[0,0,0,0,1];const o=Math.max(r.width,r.height)*it;let a=null!=n?Math.max(n/o,1):1;a*=it,r.x*=a,r.y*=a,r.width*=a,r.height*=a,r.width=Math.max(Math.ceil(r.x+r.width)-Math.floor(r.x),1)-1,r.height=Math.max(Math.ceil(r.y+r.height)-Math.floor(r.y),1)-1;let h=r.x+.5*r.width,l=r.y+.5*r.height;return h+=r.x-Math.floor(r.x),l+=r.y-Math.floor(r.y),i||(r.width+=s,r.height+=s,h+=s/2,l+=s/2),[r.width,r.height,h,l,a]}static getTextureAnchor(t,e,s){const[i,n,r,o,a]=this.getTextureInfo(t,e,2,null,s);return[-r/i,-o/n,n/a*it]}static rasterize(t,e,s,i,n=!0,r){const[o,a,h,l,c]=this.getTextureInfo(e,i,2,s,r);t.width=o,t.height=a;const u=t.getContext("2d",{willReadFrequently:!0}),_=U.createScale(c,-c);_.translate(.5*o-h,.5*a+l);const f=new $(u,i,_);switch(e.type){case"CIMPointSymbol":{const t={type:"point",x:0,y:0};f.drawSymbol(e,t);break}case"CIMVectorMarker":{const t=new d.W;f.drawMarker(e,t);break}}const p=u.getImageData(0,0,t.width,t.height),m=new Uint8Array(p.data);if(n){let t;for(let e=0;e<m.length;e+=4)t=m[e+3]/255,m[e]=m[e]*t,m[e+1]=m[e+1]*t,m[e+2]=m[e+2]*t}return[m,t.width,t.height,-h/o,-l/a]}static fromTextSymbol(t){const{text:e}=t;return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,anchorPointUnits:"Relative",dominantSizeAxis3D:"Y",size:10,billboardMode3D:"FaceNearPlane",frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{x:0,y:0},symbol:ut.createCIMTextSymbolfromTextSymbol(t),textString:e}],scaleSymbolsProportionally:!0,respectFrame:!0}],scaleX:1,angleAlignment:"Display"}}static fromPictureFillSymbol(t){const{height:e,outline:s,width:i,xoffset:n,xscale:r,yoffset:o,yscale:a}=t,h=[],l={type:"CIMPolygonSymbol",symbolLayers:h};if(s){const t=Ct(s);t&&h.push(t)}let c=t.url;"esriPFS"===t.type&&t.imageData&&(c=t.imageData);const u="angle"in t?t.angle??0:0,_=(i??0)*(r||1),f=(e??0)*(a||1);return h.push({type:"CIMPictureFill",enable:!0,invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:c,height:f,width:_,offsetX:(0,D.$w)(n),offsetY:(0,D.$w)(o),rotation:(0,D.$w)(-u),colorSubstitutions:null}),l}static fromSimpleFillSymbol(t){const{color:e,style:s,outline:i}=t,n=[],o={type:"CIMPolygonSymbol",symbolLayers:n};if(i){const t=Ct(i);t&&n.push(t)}if(s&&"solid"!==s&&"none"!==s&&"esriSFSSolid"!==s&&"esriSFSNull"!==s){const t={type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",color:gt(e),capStyle:"Butt",joinStyle:"Miter",width:.75}]};let i=0;const o=(0,h.PN)(St(s)?8:10);switch(s){case"vertical":case"esriSFSVertical":i=90;break;case"forward-diagonal":case"esriSFSForwardDiagonal":case"diagonal-cross":case"esriSFSDiagonalCross":i=-45;break;case"backward-diagonal":case"esriSFSBackwardDiagonal":i=45;break;case"cross":case"esriSFSCross":i=0}n.push({type:"CIMHatchFill",lineSymbol:t,offsetX:0,offsetY:0,rotation:i,separation:o}),"cross"===s||"esriSFSCross"===s?n.push({type:"CIMHatchFill",lineSymbol:(0,r.o8)(t),offsetX:0,offsetY:0,rotation:90,separation:o}):"diagonal-cross"!==s&&"esriSFSDiagonalCross"!==s||n.push({type:"CIMHatchFill",lineSymbol:(0,r.o8)(t),offsetX:0,offsetY:0,rotation:45,separation:o})}else!s||"solid"!==s&&"esriSFSSolid"!==s||n.push({type:"CIMSolidFill",enable:!0,color:gt(e)});return o}static fromSimpleLineSymbol(t){const{cap:e,color:s,join:i,marker:n,miterLimit:r,style:o,width:a}=t;let h=null;"solid"!==o&&"none"!==o&&"esriSLSSolid"!==o&&"esriSLSNull"!==o&&(h=[{type:"CIMGeometricEffectDashes",dashTemplate:Mt(o,e),lineDashEnding:"NoConstraint",scaleDash:!0,offsetAlongLine:null}]);const l=[];if(n){let t;switch(n.placement){case"begin-end":t="Both";break;case"begin":t="JustBegin";break;case"end":t="JustEnd";break;default:t="None"}const e=ut.fromSimpleMarker(n,a,s).symbolLayers[0];e.markerPlacement={type:"CIMMarkerPlacementAtExtremities",placePerPart:!1,angleToLine:!0,keepUpright:!1,offset:0,extremityPlacement:t,offsetAlongLine:0},l.push(e)}return l.push({type:"CIMSolidStroke",color:"none"!==o&&"esriSLSNull"!==o?gt(s):[0,0,0,0],capStyle:ft(e),joinStyle:pt(i),miterLimit:r,width:a,effects:h}),{type:"CIMLineSymbol",symbolLayers:l}}static fromPictureMarker(t){const{angle:e,height:s,width:i,xoffset:n,yoffset:r}=t;let o=t.url;return"esriPMS"===t.type&&t.imageData&&(o=t.imageData),{type:"CIMPointSymbol",symbolLayers:[{type:"CIMPictureMarker",invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:o,size:s,width:i,offsetX:(0,D.$w)(n),offsetY:(0,D.$w)(r),rotation:(0,D.$w)(-e)}]}}static createCIMTextSymbolfromTextSymbol(t){const{angle:e,color:s,font:i,haloColor:r,haloSize:o,horizontalAlignment:a,kerning:h,lineWidth:l,text:c,verticalAlignment:u,xoffset:_,yoffset:f,backgroundColor:p,borderLineColor:d,borderLineSize:m}=t;let g,y,P,x,M,b;i&&(g=i.family,y=i.style,P=i.weight,x=i.size,M=i.decoration);let S=!1;return c&&(S=n(c)[1]),(p||m)&&(b={type:"CIMBackgroundCallout",margin:null,backgroundSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:gt(p)},{type:"CIMSolidStroke",enable:!0,color:gt(d),width:m??0}]},accentBarSymbol:null,gap:null,leaderLineSymbol:null,lineStyle:null}),{type:"CIMTextSymbol",angle:e,blockProgression:2,depth3D:1,extrapolateBaselines:!0,fontEffects:0,fontEncoding:1,fontFamilyName:g||"Arial",fontStyleName:yt(y,P),fontType:0,haloSize:o,height:x,hinting:1,horizontalAlignment:dt(a??"center"),kerning:h,letterWidth:100,ligatures:!0,lineGapType:"Multiple",lineWidth:l,offsetX:(0,D.$w)(_),offsetY:(0,D.$w)(f),strikethrough:"line-through"===M,underline:"underline"===M,symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:gt(s)}]},haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:gt(r)}]},shadowColor:[0,0,0,255],shadowOffsetX:1,shadowOffsetY:1,textCase:"Normal",textDirection:S?1:0,verticalAlignment:mt(u??"baseline"),verticalGlyphOrientation:0,wordSpacing:100,billboardMode3D:2,callout:b}}static createPictureMarkerRasterizationParam(t){const{angle:e,height:s,width:i,xoffset:n,yoffset:r}=t,o=t.url??t.source?.url??t.source?.imageData;return o?{type:"sprite-rasterization-param",overrides:[],resource:{type:"CIMPictureMarker",enable:!0,invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:o,size:s,width:i,offsetX:(0,D.$w)(n),offsetY:(0,D.$w)(r),rotation:(0,D.$w)(-e)}}:null}static createPictureFillRasterizationParam(t){const{width:e,height:s,xoffset:i,yoffset:n,url:r}=t;return r?{type:"sprite-rasterization-param",overrides:[],resource:{type:"CIMPictureFill",enable:!0,scaleX:1,textureFilter:"Picture",tintColor:null,url:r,width:e,height:s,offsetX:(0,D.$w)(i),offsetY:(0,D.$w)(n),rotation:0}}:null}static fromSimpleMarker(t,e,s){const{style:i}=t,n=t.color??s;if("path"===i||"esriSMSPath"===i){const e=[];if("outline"in t&&t.outline){const s=t.outline;e.push({type:"CIMSolidStroke",enable:!0,width:s.width,color:gt(s.color),path:t.path})}e.push({type:"CIMSolidFill",enable:!0,color:gt(n),path:t.path});const[s,i]=bt("square");return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,rotation:-(0,D.$w)(t.angle),size:(0,D.$w)(t.size||6),offsetX:(0,D.$w)(t.xoffset),offsetY:(0,D.$w)(t.yoffset),scaleSymbolsProportionally:!1,frame:s,markerGraphics:[{type:"CIMMarkerGraphic",geometry:i,symbol:{type:"CIMPolygonSymbol",symbolLayers:e}}]}]}}const r=[];let o,a,h=t.size;if("outline"in t&&t.outline&&"none"!==t.outline.style&&"esriSLSNull"!==t.outline.style){const e=t.outline,s="solid"!==e.style&&"esriSLSSolid"!==e.style;[o,a]=s?bt(i,t.size):bt(i);const n=e.width??K.A7.width;if(s){const e=n/t.size,s=(o.xmax-o.xmin)*e/2,i=(o.ymax-o.ymin)*e/2;o.xmin-=s,o.xmax+=s,o.ymin-=i,o.ymax+=i,h&&(h+=n)}const l="cross"!==t.style&&"x"!==t.style||"dot"===t?.outline.style||"short-dot"===t?.outline.style?"HalfGap":"FullPattern",c=s?[{type:"CIMGeometricEffectAddControlPoints"},{type:"CIMGeometricEffectDashes",dashTemplate:Mt(e.style,null).map(t=>e.width&&e.width>0?t*e.width:t),lineDashEnding:l,controlPointEnding:"FullPattern"}]:void 0;r.push({type:"CIMSolidStroke",capStyle:s?"Round":"Butt",enable:!0,width:n,color:gt(e.color),effects:c})}else!e||"line-marker"!==t.type||"cross"!==t.style&&"x"!==t.style?[o,a]=bt(i):([o,a]=bt(i),r.push({type:"CIMSolidStroke",enable:!0,width:e,color:gt(n)}));r.push({type:"CIMSolidFill",enable:!0,color:gt(n)});const l={type:"CIMPolygonSymbol",symbolLayers:r};return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,rotation:(0,D.$w)(-t.angle),size:(0,D.$w)(h||6*e),offsetX:(0,D.$w)(t.xoffset),offsetY:(0,D.$w)(t.yoffset),scaleSymbolsProportionally:!1,frame:o,markerGraphics:[{type:"CIMMarkerGraphic",geometry:a,symbol:l}]}]}}static fromCIMHatchFill(t,e){const s=e*(t.separation??S.D.CIMHatchFill.separation),i=s/2,n=(0,r.o8)(t.lineSymbol);n.symbolLayers?.forEach(t=>{switch(t.type){case"CIMSolidStroke":null!=t.width&&(t.width*=e),t.effects?.forEach(t=>{if("CIMGeometricEffectDashes"===t.type){const s=t.dashTemplate;t.dashTemplate=s?.map(t=>t*e)}});break;case"CIMVectorMarker":{null!=t.size&&(t.size*=e);const s=t.markerPlacement;null!=s&&"placementTemplate"in s&&(s.placementTemplate=s.placementTemplate.map(t=>t*e));break}}});let o=this._getLineSymbolPeriod(n)||4;for(;o<4;)o*=2;const a=o/2;return{type:"CIMVectorMarker",enable:!0,frame:{xmin:-a,xmax:a,ymin:-i,ymax:i},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{paths:[[[-a,0],[a,0]]]},symbol:n}],size:s}}static async normalizeSymbolAndFetchResources(t,e,s=null){if(!t)return;const i=[];if("effects"in t&&t.effects)for(const e of t.effects)i.push((0,p.ai)(e));async function n(t){if("CIMTextSymbol"!==t.type)return;const{fontFamilyName:s,fontStyleName:i}=t;if("calcitewebcoreicons"===s?.toLowerCase())return;const{style:n,weight:r}=(0,D._d)(i),o=(0,D.DW)(t),a=new f.A({family:s,style:n,weight:r,decoration:o});try{await e.loadFont(a)}catch{nt().error(`Unsupported font ${s} in CIM symbol`)}}i.push(n(t)),_t(t,t=>{if(t.effects)for(const e of t.effects)i.push((0,p.ai)(e));if("CIMVectorMarker"===t.type){for(const e of t.markerGraphics)(0,u.Ed)(e.geometry)&&(e.geometry=(0,_.GS)(e.geometry,{maxDeviation:.01}));t.markerPlacement&&i.push((0,p.g1)(t.markerPlacement))}"url"in t&&t.url&&i.push(e.fetchResource(t.url,{signal:s})),"symbol"in t&&i.push(n(t.symbol))}),await Promise.all(i)}static _getLineSymbolPeriod(t){if(t){const e=this._getEffectsRepeat(t.effects);if(e)return e;if(t.symbolLayers)for(const e of t.symbolLayers)if(e){const t=this._getEffectsRepeat(e.effects);if(t)return t;switch(e.type){case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":{const t=this._getPlacementRepeat(e.markerPlacement);if(t)return t}}}}return 0}static _getEffectsRepeat(t){if(t)for(const e of t)if(e)switch(e.type){case"CIMGeometricEffectDashes":{const t=e.dashTemplate;if(t&&t.length){let e=0;for(const s of t)e+=s;return 1&t.length&&(e*=2),e}break}case"CIMGeometricEffectWave":return e.period;default:nt().error(`unsupported geometric effect type ${e.type}`)}return 0}static _getPlacementRepeat(t){if(t)switch(t.type){case"CIMMarkerPlacementAlongLineSameSize":case"CIMMarkerPlacementAlongLineRandomSize":case"CIMMarkerPlacementAlongLineVariableSize":{const e=t.placementTemplate;if(e&&e.length){let t=0;for(const s of e)t+=+s;return 1&e.length&&(t*=2),t}break}}return 0}static fromCIMInsidePolygon(t){const e=t.markerPlacement,s={...t};s.markerPlacement=null,s.anchorPoint=null;const i=Math.abs(e.stepX),n=Math.abs(e.stepY),r=(e.randomness??100)/100;let o,l,c,u;if("Random"===e.gridType){const t=(0,h.PN)(z.yv),s=Math.max(Math.floor(t/i),1),_=Math.max(Math.floor(t/n),1);o=s*i/2,l=_*n/2,c=2*l;const f=new a.A(e.seed),p=r*i/1.5,d=r*n/1.5;u=[];for(let t=0;t<s;t++)for(let e=0;e<_;e++){const s=t*i-o+p*(.5-f.getFloat()),r=e*n-l+d*(.5-f.getFloat());u.push({x:s,y:r}),0===t&&u.push({x:s+2*o,y:r}),0===e&&u.push({x:s,y:r+2*l})}}else!0===e.shiftOddRows?(o=i/2,l=n,c=2*n,u=[{x:-o,y:0},{x:o,y:0},{x:0,y:l},{x:0,y:-l}]):(o=i/2,l=n/2,c=n,u=[{x:-i,y:0},{x:0,y:-n},{x:-i,y:-n},{x:0,y:0},{x:i,y:0},{x:0,y:n},{x:i,y:n},{x:-i,y:n},{x:i,y:-n}]);return{type:"CIMVectorMarker",enable:!0,frame:{xmin:-o,xmax:o,ymin:-l,ymax:l},markerGraphics:u.map(t=>({type:"CIMMarkerGraphic",geometry:t,symbol:{type:"CIMPointSymbol",symbolLayers:[s]}})),size:c}}}function _t(t,e){if(t)switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const s=t.symbolLayers;if(!s)return;for(const t of s)if(e(t),"CIMVectorMarker"===t.type){const s=t.markerGraphics;if(!s)continue;for(const t of s)if(t){const s=t.symbol;s&&_t(s,e)}}break}}}const ft=t=>{if(!t)return"Butt";switch(t){case"butt":return"Butt";case"square":return"Square";case"round":return"Round"}},pt=t=>{if(!t)return"Miter";switch(t){case"miter":return"Miter";case"round":return"Round";case"bevel":return"Bevel"}},dt=t=>{if(null==t)return"Center";switch(t){case"left":return"Left";case"right":return"Right";case"center":return"Center"}},mt=t=>{if(null==t)return"Center";switch(t){case"baseline":return"Baseline";case"top":return"Top";case"middle":return"Center";case"bottom":return"Bottom"}},gt=t=>{if(!t)return[0,0,0,0];const{r:e,g:s,b:i,a:n}=t;return[e,s,i,255*n]},yt=(t,e)=>{const s=Pt(e),i=xt(t);return s&&i?`${s}-${i}`:`${s}${i}`},Pt=t=>{if(!t)return"";switch(t.toLowerCase()){case"bold":case"bolder":return"bold"}return""},xt=t=>{if(!t)return"";switch(t.toLowerCase()){case"italic":case"oblique":return"italic"}return""},Mt=(t,e)=>{const s=.001,i="butt"===e;switch(t){case"dash":case"esriSLSDash":return i?[4,3]:[3,4];case"dash-dot":case"esriSLSDashDot":return i?[4,3,1,3]:[3,4,s,4];case"dot":case"esriSLSDot":return i?[1,3]:[s,4];case"long-dash":case"esriSLSLongDash":return i?[8,3]:[7,4];case"long-dash-dot":case"esriSLSLongDashDot":return i?[8,3,1,3]:[7,4,s,4];case"long-dash-dot-dot":case"esriSLSDashDotDot":return i?[8,3,1,3,1,3]:[7,4,s,4,s,4];case"short-dash":case"esriSLSShortDash":return i?[4,1]:[3,2];case"short-dash-dot":case"esriSLSShortDashDot":return i?[4,1,1,1]:[3,2,s,2];case"short-dash-dot-dot":case"esriSLSShortDashDotDot":return i?[4,1,1,1,1,1]:[3,2,s,2,s,2];case"short-dot":case"esriSLSShortDot":return i?[1,1]:[s,2];case"solid":case"esriSLSSolid":case"none":return nt().error("Unexpected: style does not require rasterization"),[0,0];default:return nt().error(`Tried to rasterize SLS, but found an unexpected style: ${t}!`),[0,0]}},bt=(t,e=100)=>{const s=e/2;let i,n;const r=t;if("circle"===r||"esriSMSCircle"===r){const t=.25;let e=Math.acos(1-t/s),r=Math.ceil(tt/e/4);0===r&&(r=1),e=et/r,r*=4;const o=[];o.push([s,0]);for(let t=1;t<r;t++)o.push([s*Math.cos(t*e),-s*Math.sin(t*e)]);o.push([s,0]),i={rings:[o]},n={xmin:-s,ymin:-s,xmax:s,ymax:s}}else if("cross"===r||"esriSMSCross"===r){const t=0;i={paths:[[[t,s],[t,-s]],[[s,t],[-s,t]]]},n={xmin:-s,ymin:-s,xmax:s,ymax:s}}else if("diamond"===r||"esriSMSDiamond"===r)i={rings:[[[-s,0],[0,s],[s,0],[0,-s],[-s,0]]]},n={xmin:-s,ymin:-s,xmax:s,ymax:s};else if("square"===r||"esriSMSSquare"===r)i={rings:[[[-s,-s],[-s,s],[s,s],[s,-s],[-s,-s]]]},n={xmin:-s,ymin:-s,xmax:s,ymax:s};else if("x"===r||"esriSMSX"===r)i={paths:[[[s,s],[-s,-s]],[[s,-s],[-s,s]]]},n={xmin:-s,ymin:-s,xmax:s,ymax:s};else if("triangle"===r||"esriSMSTriangle"===r){const t=.5773502691896257*e,s=-t,r=2/3*e,o=r-e;i={rings:[[[s,o],[0,r],[t,o],[s,o]]]},n={xmin:s,ymin:o,xmax:t,ymax:r}}else"arrow"===r&&(i={rings:[[[-50,50],[50,0],[-50,-50],[-33,-20],[-33,20],[-50,50]]]},n={xmin:-s,ymin:-s,xmax:s,ymax:s});return[n,i]},St=t=>"vertical"===t||"horizontal"===t||"cross"===t||"esriSFSCross"===t||"esriSFSVertical"===t||"esriSFSHorizontal"===t;function Ct(t){if(!t)return null;let e=null;const{cap:s,color:i,join:n,miterLimit:r,style:o,width:a}=t;return"solid"!==o&&"none"!==o&&"esriSLSSolid"!==o&&"esriSLSNull"!==o&&(e=[{type:"CIMGeometricEffectDashes",dashTemplate:Mt(o,s),lineDashEnding:"NoConstraint",scaleDash:!0,offsetAlongLine:null}]),{type:"CIMSolidStroke",color:"esriSLSNull"!==o&&"none"!==o?gt(i):[0,0,0,0],capStyle:ft(s),joinStyle:pt(n),miterLimit:r,width:a,effects:e}}},35521(t,e,s){s.d(e,{$u:()=>n});var i=s(28076);const n=1024;i.D.CIMSolidStroke.capstyle,i.D.CIMSolidStroke.joinstyle,i.D.CIMSolidStroke.miterlimit},63933(t,e,s){s.d(e,{Dy:()=>a,UD:()=>r,iT:()=>o,xy:()=>n});var i=s(53966);function n(t){if(!t)return 0;switch(t){case"Left":case"left":return-1;case"Right":case"right":return 1;case"Justify":return i.A.getLogger("esri.views.2d.engine.webgl.alignmentUtils").warnOnce("Horizontal alignment 'justify' is not implemented. Falling back to 'center'."),0;case"Center":case"center":return 0}}function r(t){if(!t)return 0;switch(t){case"Top":case"top":return 1;case"Center":case"middle":return 0;case"Baseline":case"baseline":return 2;case"Bottom":case"bottom":return-1}}function o(t){switch(t){case 1:case"right":return-1;case 0:case"center":return 0;case-1:case"left":return 1;default:return console.debug(`Found invalid horizontal alignment ${t}`),0}}function a(t){switch(t){case 1:case"top":return 1;case 0:case"middle":return 0;case-1:case 2:case"baseline":case"bottom":return-1;default:return console.debug(`Found invalid vertical alignment ${t}`),0}}},15660(t,e,s){s.d(e,{A:()=>n});var i=s(88340);class n{constructor(t,e,s,n){this.transformedX=0,this.transformedY=0,this.center=(0,i.fA)(t,e),this.centerT=(0,i.vt)(),this.halfWidth=s/2,this.halfHeight=n/2,this.width=s,this.height=n}get x(){return this.center[0]}get y(){return this.center[1]}get blX(){return this.center[0]+this.halfWidth}get blY(){return this.center[1]+this.halfHeight}get trX(){return this.center[0]-this.halfWidth}get trY(){return this.center[1]-this.halfHeight}get xmin(){return this.x-this.halfWidth}get xmax(){return this.x+this.halfWidth}get ymin(){return this.y-this.halfHeight}get ymax(){return this.y+this.halfHeight}set x(t){this.center[0]=t}set y(t){this.center[1]=t}clone(){return new n(this.x,this.y,this.width,this.height)}serialize(t){return t.writeF32(this.center[0]),t.writeF32(this.center[1]),t.push(this.width),t.push(this.height),t}findCollisionDelta(t,e=4){const s=Math.abs(t.centerT[0]-this.centerT[0]),i=Math.abs(t.centerT[1]-this.centerT[1]),n=(t.halfWidth+this.halfWidth+e)/s,r=(t.halfHeight+this.halfHeight+e)/i,o=Math.min(n,r);return Math.log2(o)}extend(t){const e=Math.min(this.xmin,t.xmin),s=Math.min(this.ymin,t.ymin),i=Math.max(this.xmax,t.xmax)-e,n=Math.max(this.ymax,t.ymax)-s,r=e+i/2,o=s+n/2;this.width=i,this.height=n,this.halfWidth=i/2,this.halfHeight=n/2,this.x=r,this.y=o}static deserialize(t){const e=t.readF32(),s=t.readF32(),i=t.readInt32(),r=t.readInt32();return new n(e,s,i,r)}}},75434(t,e,s){s.d(e,{Tl:()=>y});var i=s(16905),n=s(85560),r=s(37585),o=s(88340),a=s(63933),h=s(18989),l=s(15660);const c=Math.PI/180;class u{constructor(t,e,s,i){this._rotationT=(0,n.vt)(),this._transform=(0,n.vt)(),this._angle=0,this._bounds=null;const{mosaicItem:r,rect:o,shaping:a,code:h}=s,l=r.rect;this.width=0===h?o.width:l.width*i,this.height=0===h?o.height:l.height*i,this.x=i*(t+a.xOffset+o.left),this.y=i*(e+a.yOffset-o.top),this.textureBinding=r.textureBinding,this.texcoords={topLeft:[l.x,l.y],topRight:[l.x+l.width,l.y],bottomLeft:[l.x,l.y+l.height],bottomRight:[l.x+l.width,l.y+l.height]}}set angle(t){this._angle=t,(0,i.$0)(this._rotationT,-t),this._offsets=this._bounds=null}get angle(){return this._angle}get offsets(){if(!this._offsets){const{x:t,y:e,width:s,height:o}=this,a=(0,i.$0)((0,n.vt)(),-this.angle),h=(0,i.lw)((0,n.vt)(),a,this._transform);this._offsets={topLeft:(0,r.l0)([0,0],[t,e],h),topRight:(0,r.l0)([0,0],[t+s,e],h),bottomLeft:(0,r.l0)([0,0],[t,e+o],h),bottomRight:(0,r.l0)([0,0],[t+s,e+o],h)}}return this._offsets}get bounds(){if(this.width<=0)return null;if(!this._bounds){const t=this.offsets;let e=1/0,s=1/0,i=-1/0,n=-1/0;for(const[r,o]of[t.topLeft,t.topRight,t.bottomLeft,t.bottomRight])e=Math.min(e,r),s=Math.min(s,o),i=Math.max(i,r),n=Math.max(n,o);const r=i-e,o=n-s,a=e+r/2,h=s+o/2;this._bounds=new l.A(a,h,r,o)}return this._bounds}setTransform(t){this._transform=t,this._offsets=null}}const _=(t,e)=>({code:0,mosaicItem:{rect:new h.A(0,0,11,8),sdf:!0,page:0,textureBinding:e},rect:{height:4,width:t,left:0,top:0},shaping:{xOffset:0,yOffset:0,xAdvance:0,yAdvance:0}});function f(t,e){return t.forEach(t=>(0,r.l0)(t,t,e)),{topLeft:t[0],topRight:t[1],bottomLeft:t[2],bottomRight:t[3]}}class p{constructor(t,e,s,i){this._rotation=0,this._decorate(t,e,s,i),this.glyphs=t,this.bounds=this._createBounds(t),this.isMultiline=e.length>1,this._hasRotation=0!==s.angle,this._transform=this._createGlyphTransform(this.bounds,s),this._borderLineSizePx=s.borderLineSizePx,(s.borderLineSizePx||s.hasBackground)&&([this.bounds,this.textBox]=this.shapeBackground(this._transform));for(const e of t)e.setTransform(this._transform)}setRotation(t){if(0===t&&0===this._rotation)return;this._rotation=t;const e=this._transform,s=(0,i.$0)((0,n.vt)(),t);(0,i.lw)(e,s,e);for(const t of this.glyphs)t.setTransform(this._transform)}_decorate(t,e,s,i){if(!s.decoration||"none"===s.decoration||!t.length)return;const n=s.scale,r="underline"===s.decoration?i?.baseline??26:i?.midline??16,o=t[0].textureBinding;for(const s of e){const e=s.startX*n,i=s.startY*n,a=(s.width+s.glyphWidthEnd)*n;t.push(new u(e,i+r*n,_(a,o),1))}}shapeBackground(t){const e=(1.5+(this._borderLineSizePx||0))/2,s=this._borderLineSizePx?e:0,{xmin:i,ymin:n,xmax:r,ymax:o,x:a,y:h,width:c,height:u}=this.bounds,_=[i-8,n-8],p=[r+8,n-8],d=[i-8,o+8],m=[r+8,o+8],g=f([[_[0]-e,_[1]-e],[p[0]+e,p[1]-e],[_[0]+s,_[1]+s],[p[0]-s,p[1]+s]],t),y=f([[d[0]+s,d[1]-s],[m[0]-s,m[1]-s],[d[0]-e,d[1]+e],[m[0]+e,m[1]+e]],t),P=f([[_[0]-e,_[1]-e],[_[0]+s,_[1]+s],[d[0]-e,d[1]+e],[d[0]+s,d[1]-s]],t),x=f([[p[0]-s,p[1]+s],[p[0]+e,p[1]-e],[m[0]-s,m[1]-s],[m[0]+e,m[1]+e]],t),M={main:f([_,p,d,m],t),top:g,bot:y,left:P,right:x};return[new l.A(a,h,c+2*e,u+2*e),M]}get boundsT(){const t=this.bounds,e=(0,r.hZ)((0,o.vt)(),t.x,t.y);if((0,r.l0)(e,e,this._transform),this._hasRotation){const s=Math.max(t.width,t.height);return new l.A(e[0],e[1],s,s)}return new l.A(e[0],e[1],t.width,t.height)}_createBounds(t){let e=1/0,s=1/0,i=0,n=0;for(const r of t)e=Math.min(e,r.offsets.topLeft[0]),s=Math.min(s,r.offsets.topLeft[1]),i=Math.max(i,r.offsets.bottomRight[0]),n=Math.max(n,r.offsets.bottomRight[1]);const r=i-e,o=n-s;return new l.A(e+r/2,s+o/2,r,o)}_createGlyphTransform(t,e){const s=c*e.angle,a=(0,n.vt)(),h=(0,o.vt)();return(0,i.Tl)(a,a,(0,r.hZ)(h,e.xOffset,-e.yOffset)),e.useCIMAngleBehavior?(0,i.e$)(a,a,s):((0,i.Tl)(a,a,(0,r.hZ)(h,t.x,t.y)),(0,i.e$)(a,a,s),(0,i.Tl)(a,a,(0,r.hZ)(h,-t.x,-t.y))),a}}class d{constructor(t,e,s,i,n,r){this.glyphWidthEnd=0,this.startX=0,this.startY=0,this.start=Math.max(0,Math.min(e,s)),this.end=Math.max(0,Math.max(e,s)),this.end<t.length&&(this.glyphWidthEnd=t[this.end].rect.width),this.width=i,this.yMin=n,this.yMax=r}}const m=t=>10===t,g=t=>32===t;function y(t,e){const s=e.scale,i=new Array,n=t.sdfPadding,{faceInfo:r,glyphs:o,isRightToLeft:h}=t,l=function(t,e,s){const i=new Array,n=1/s.scale,r=s.maxLineWidth*n,o=e?t.length-1:0,a=e?-1:t.length,h=e?-1:1;let l=o,c=0,u=0,_=l,f=_,p=0,y=1/0,P=0;for(;l!==a;){const{code:e,rect:s,shaping:n}=t[l],a=Math.abs(s.top);if(m(e)||g(e)||(y=Math.min(y,a),P=Math.max(P,a+s.height)),m(e))l!==o&&(i.push(new d(t,_,l-h,c,y===1/0?0:y,P)),y=1/0,P=0),c=0,_=l+h,f=l+h,u=0;else if(g(e))f=l+h,u=0,p=n.xAdvance,c+=n.xAdvance;else if(c>r){if(f!==_){const e=f-2*h;c-=p,i.push(new d(t,_,e,c-u,y,P)),y=1/0,P=0,_=f,c=u}else i.push(new d(t,_,l-h,c,y,P)),y=1/0,P=0,_=l,f=l,c=0;c+=n.xAdvance,u+=n.xAdvance}else c+=n.xAdvance,u+=n.xAdvance;l+=h}const x=new d(t,_,l-h,c,y,P);return x.start>=0&&x.end<t.length&&i.push(x),i}(o,h,e),c=l.length?function(t,e){let s=0;for(let e=0;e<t.length;e++){const{width:i}=t[e];s=Math.max(i,s)}const i="underline"===e.decoration?4:0,n=t[0].yMin;return{x:0,y:n,height:t[t.length-1].yMax+e.lineHeight*(t.length-1)+i-n,width:s}}(l,e):{y:0,height:0},_=(0,a.xy)(e.horizontalAlignment),f=(0,a.UD)(e.verticalAlignment),y=2===f?1:0,P=y?0:f-1,x=(1-y)*-c.y+P*(c.height/2)+-22*y;for(let r=0;r<l.length;r++){const{start:a,end:h,width:c}=l[r];let f=-1*(_+1)*(c/2)-n;const p=(t.isRightToLeft?l.length-1-r:r)*e.lineHeight+x-n;l[r].startX=f,l[r].startY=p;for(let t=a;t<=h;t++){const e=o[t];if(m(e.code))continue;const n=new u(f,p,e,s);f+=e.shaping.xAdvance,i.push(n)}}return new p(i,l,e,r)}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8340],{7762(t,e,i){i.d(e,{A:()=>j});var s,n=i(5482),r=i(98291),o=i(4576),h=i(65529),a=i(36563),l=i(4718),c=i(53966),u=i(93687),f=i(76030),g=i(56507),p=i(62788),d=i(10107),m=i(7695),y=i(64108),_=i(95488),b=i(12195);class v{constructor(){this.target=null,this.cancellable=!1,this.defaultPrevented=!1,this.item=void 0,this.type=void 0}preventDefault(){this.cancellable&&(this.defaultPrevented=!0)}reset(t){this.defaultPrevented=!1,this.item=t}}class C{constructor(t,e,i,s,n){this.target=t,this.added=e,this.removed=i,this.start=s,this.deleteCount=n}}const S=new u.A(()=>new v,void 0,t=>{t.item=null,t.target=null,t.defaultPrevented=!1,t.cancellable=!1});function M(t){t&&"object"==typeof t&&"destroy"in t&&"function"==typeof t.destroy&&t.destroy()}function w(t){return t?t instanceof Z?t.toArray():t.length?Array.prototype.slice.apply(t):[]:[]}function A(t){if(t?.length)return t[0]}function x(t,e,i,s){const n=Math.min(t.length-i,e.length-s);let r=0;for(;r<n&&t[i+r]===e[s+r];)r++;return r}function E(t,e,i,s){e&&e.forEach((e,n,r)=>{t.push(e),E(t,i.call(s,e,n,r),i,s)})}const k=new Set,P=new Set,L=new Set,z=new Map;let R=0,Z=s=class extends h.nJ{static ofType(t){if(!t)return s;if(z.has(t))return z.get(t);let e=null;if("function"==typeof t)e=t.prototype.declaredClass;else if(t.base)e=t.base.prototype.declaredClass;else for(const i in t.typeMap){const s=t.typeMap[i].prototype.declaredClass;e?e+=` | ${s}`:e=s}let i=class extends s{};return(0,n.Cg)([(0,m.u)({Type:t,ensureType:"function"==typeof t?(0,g.dp)(t):(0,g.aq)(t)})],i.prototype,"itemType",void 0),i=(0,n.Cg)([(0,y.$)(`esri.core.Collection<${e}>`)],i),z.set(t,i),i}static isCollection(t){return null!=t&&t instanceof s}constructor(t){super(t),this._chgListeners=[],this._notifications=null,this._updating=!1,this._timer=null,this._observable=new _.I,this._length=0,this._items=[],Object.defineProperty(this,"uid",{value:R++})}normalizeCtorArgs(t){return t?(0,o.yc)(t)||t instanceof s?{items:t}:t:{}}destroy(){this._removeAllRaw(),this._timer&&this._timer.remove(),super.destroy(),this._notifications=null}*[Symbol.iterator](){yield*this.items}get length(){return this._length}set length(t){t>this._length?c.A.getLogger(this).error("#length=","Cannot increase the length of the collection by assigning to the length property."):this.splice(t,Math.max(0,this._length-t))}get items(){return(0,p.gc)(this._observable),this._items}set items(t){this._emitBeforeChanges(1)||(this._splice(0,this.length,w(t)),this._emitAfterChanges(1))}hasEventListener(t){return!this.destroyed&&("change"===t?this._chgListeners.length>0:super.hasEventListener(t))}on(t,e){if(this.destroyed)return(0,a.hA)();if("change"===t){const t=this._chgListeners,i={removed:!1,callback:e};return t.push(i),this._notifications&&this._notifications.push({listeners:t.slice(),items:this._items.slice(),changes:[]}),(0,a.hA)(()=>{i.removed=!0,t.splice(t.indexOf(i),1)})}return super.on(t,e)}once(t,e){const i="deref"in e?()=>e.deref():()=>e,s=this.on(t,t=>{i()?.call(null,t),s.remove()});return s}add(t,e){if((0,p.gc)(this._observable),this._emitBeforeChanges(1))return this;const i=this.getNextIndex(e??null);return this._splice(i,0,[t]),this._emitAfterChanges(1),this}addMany(t,e=this._items.length){if((0,p.gc)(this._observable),!t?.length)return this;if(this._emitBeforeChanges(1))return this;const i=this.getNextIndex(e);return this._splice(i,0,w(t)),this._emitAfterChanges(1),this}at(t){if((0,p.gc)(this._observable),(t=Math.trunc(t)||0)<0&&(t+=this.length),!(t<0||t>=this.length))return this._items[t]}removeAll(){if((0,p.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return[];const t=this._removeAllRaw();return this._emitAfterChanges(2),t}_removeAllRaw(){return 0===this.length?[]:this._splice(0,this.length)||[]}clone(){return(0,p.gc)(this._observable),this._createNewInstance({items:this._items.map(l.o8)})}concat(...t){(0,p.gc)(this._observable);const e=t.map(w);return this._createNewInstance({items:this._items.concat(...e)})}drain(t,e){if((0,p.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const i=this._splice(0,this.length),s=i.length;for(let n=0;n<s;n++)t.call(e,i[n],n,i);this._emitAfterChanges(2)}destroyAll(){this.drain(M)}destroyMany(t){const e=this.removeMany(t);return e.forEach(M),e}every(t,e){return(0,p.gc)(this._observable),this._items.every(t,e)}filter(t,e){(0,p.gc)(this._observable);const i=2===arguments.length?this._items.filter(t,e):this._items.filter(t);return this._createNewInstance({items:i})}find(t,e){return(0,p.gc)(this._observable),this._items.find(t,e)}findIndex(t,e){return(0,p.gc)(this._observable),this._items.findIndex(t,e)}flatten(t,e){(0,p.gc)(this._observable);const i=[];return E(i,this,t,e),new s(i)}forEach(t,e){return(0,p.gc)(this._observable),this._items.forEach(t,e)}getItemAt(t){return(0,p.gc)(this._observable),this._items[t]}getNextIndex(t){(0,p.gc)(this._observable);const e=this.length;return(t=t??e)<0?t=0:t>e&&(t=e),t}includes(t,e=0){return(0,p.gc)(this._observable),this._items.includes(t,e)}indexOf(t,e=0){return(0,p.gc)(this._observable),this._items.indexOf(t,e)}join(t=","){return(0,p.gc)(this._observable),this._items.join(t)}lastIndexOf(t,e=this.length-1){return(0,p.gc)(this._observable),this._items.lastIndexOf(t,e)}map(t,e){(0,p.gc)(this._observable);const i=this._items.map(t,e);return new s({items:i})}reorder(t,e=this.length-1){(0,p.gc)(this._observable);const i=this.indexOf(t);if(-1!==i){if(e<0?e=0:e>=this.length&&(e=this.length-1),i!==e){if(this._emitBeforeChanges(4))return t;this._splice(i,1),this._splice(e,0,[t]),this._emitAfterChanges(4)}return t}}pop(){if((0,p.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const t=A(this._splice(this.length-1,1));return this._emitAfterChanges(2),t}push(...t){return(0,p.gc)(this._observable),this._emitBeforeChanges(1)||(this._splice(this.length,0,t),this._emitAfterChanges(1)),this.length}reduce(t,e){(0,p.gc)(this._observable);const i=this._items;return 2===arguments.length?i.reduce(t,e):i.reduce(t)}reduceRight(t,e){(0,p.gc)(this._observable);const i=this._items;return 2===arguments.length?i.reduceRight(t,e):i.reduceRight(t)}remove(t){return(0,p.gc)(this._observable),this.removeAt(this.indexOf(t))}removeAt(t){if((0,p.gc)(this._observable),t<0||t>=this.length||this._emitBeforeChanges(2))return;const e=A(this._splice(t,1));return this._emitAfterChanges(2),e}removeMany(t){if((0,p.gc)(this._observable),!t?.length||this._emitBeforeChanges(2))return[];const e=t instanceof s?t.toArray():t,i=this._items,n=[],r=e.length;for(let t=0;t<r;t++){const s=e[t],r=i.indexOf(s);if(r>-1){const s=1+x(e,i,t+1,r+1),o=this._splice(r,s);o&&o.length>0&&n.push.apply(n,o),t+=s-1}}return this._emitAfterChanges(2),n}reverse(){if((0,p.gc)(this._observable),this._emitBeforeChanges(4))return this;const t=this._splice(0,this.length);return t&&(t.reverse(),this._splice(0,0,t)),this._emitAfterChanges(4),this}shift(){if((0,p.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const t=A(this._splice(0,1));return this._emitAfterChanges(2),t}slice(t=0,e=this.length){return(0,p.gc)(this._observable),this._createNewInstance({items:this._items.slice(t,e)})}some(t,e){return(0,p.gc)(this._observable),this._items.some(t,e)}sort(t){if((0,p.gc)(this._observable),!this.length||this._emitBeforeChanges(4)||!this._requiresSort(t))return this;const e=this._splice(0,this.length);return arguments.length?e.sort(t):e.sort(),this._splice(0,0,e),this._emitAfterChanges(4),this}_requiresSort(t=(t,e)=>t===e?0:t<e?-1:1){const e=this.length-1;for(let i=0;i<e;i++)if(t(this.items[i],this.items[i+1])>0)return!0;return!1}splice(t,e,...i){(0,p.gc)(this._observable),1===arguments.length&&(e=this.length),e??=0;const s=(e?2:0)|(i.length?1:0);if(this._emitBeforeChanges(s))return[];const n=this._splice(t,e,i)||[];return this._emitAfterChanges(s),n}toArray(){return(0,p.gc)(this._observable),this._items.slice()}toJSON(t){return(0,p.gc)(this._observable),this.toArray().map(e=>(0,b.W)(e)?e.toJSON(t):e)}toLocaleString(){return(0,p.gc)(this._observable),this._items.toLocaleString()}toString(){return(0,p.gc)(this._observable),this._items.toString()}unshift(...t){return(0,p.gc)(this._observable),!t.length||this._emitBeforeChanges(1)||(this._splice(0,0,t),this._emitAfterChanges(1)),this.length}_createNewInstance(t){return new this.constructor(t)}_splice(t,e,i){const s=this._items,n=this.itemType;let r,o;if(!this._notifications&&this.hasEventListener("change")&&(this._notifications=[{listeners:this._chgListeners.slice(),items:this._items.slice(),changes:[]}],this._timer&&this._timer.remove(),this._updating=!0,this._timer=(0,f._)(()=>this._dispatchChange())),t<0&&(t+=this.length),e){if(o=s.splice(t,e),this.hasEventListener("before-remove")){const e=S.acquire();e.target=this,e.cancellable=!0;for(let i=0,n=o.length;i<n;i++)r=o[i],e.reset(r),this.emit("before-remove",e),e.defaultPrevented&&(o.splice(i,1),s.splice(t,0,r),t+=1,i-=1,n-=1);S.release(e)}if(this._length=this._items.length,this.hasEventListener("after-remove")){const t=S.acquire();t.target=this,t.cancellable=!1;const e=o.length;for(let i=0;i<e;i++)t.reset(o[i]),this.emit("after-remove",t);S.release(t)}}if(i?.length){if(n){const t=[];for(const e of i){const i=n.ensureType(e);null==i&&null!=e||t.push(i)}i=t}const e=this.hasEventListener("before-add"),r=this.hasEventListener("after-add"),o=t===this.length;if(e||r){const n=S.acquire();n.target=this,n.cancellable=!0;const h=S.acquire();h.target=this,h.cancellable=!1;for(const a of i)e?(n.reset(a),this.emit("before-add",n),n.defaultPrevented||(o?s.push(a):s.splice(t++,0,a),this._length=s.length,r&&(h.reset(a),this.emit("after-add",h)))):(o?s.push(a):s.splice(t++,0,a),this._length=s.length,h.reset(a),this.emit("after-add",h));S.release(h),S.release(n)}else{if(o)for(const t of i)s.push(t);else s.splice(t,0,...i);this._length=s.length}}if((i?.length||o?.length)&&this._notifyChangeEvent(i,o),this.hasEventListener("after-splice")){const s=new C(this,i,o,t,e);this.emit("after-splice",s)}return o}_emitBeforeChanges(t){let e=!1;if(this.hasEventListener("before-changes")){const i=S.acquire();i.target=this,i.cancellable=!0,i.type=t,this.emit("before-changes",i),e=i.defaultPrevented,S.release(i)}return e}_emitAfterChanges(t){if(this.hasEventListener("after-changes")){const e=S.acquire();e.target=this,e.cancellable=!1,e.type=t,this.emit("after-changes",e),S.release(e)}this._observable.notify()}_notifyChangeEvent(t,e){this.hasEventListener("change")&&this._notifications&&this._notifications[this._notifications.length-1].changes.push({added:t,removed:e})}get updating(){return this._updating}_dispatchChange(){if(this._timer&&(this._timer.remove(),this._timer=null),this._updating=!1,!this._notifications)return;const t=this._notifications;this._notifications=null;for(const e of t){const t=e.changes;k.clear(),P.clear(),L.clear();for(const{added:e,removed:i}of t){if(e)if(0===L.size&&0===P.size)for(const t of e)k.add(t);else for(const t of e)P.has(t)?(L.add(t),P.delete(t)):L.has(t)||k.add(t);if(i)if(0===L.size&&0===k.size)for(const t of i)P.add(t);else for(const t of i)k.has(t)?k.delete(t):(L.delete(t),P.add(t))}const i=r.A.acquire();k.forEach(t=>{i.push(t)});const s=r.A.acquire();P.forEach(t=>{s.push(t)});const n=this._items,o=e.items,h=r.A.acquire();if(L.forEach(t=>{o.indexOf(t)!==n.indexOf(t)&&h.push(t)}),e.listeners&&(i.length||s.length||h.length)){const t={target:this,added:i,removed:s,moved:h},n=e.listeners.length;for(let i=0;i<n;i++){const s=e.listeners[i];s.removed||s.callback.call(this,t)}}r.A.release(i),r.A.release(s),r.A.release(h)}k.clear(),P.clear(),L.clear()}};(0,n.Cg)([(0,d.MZ)()],Z.prototype,"_updating",void 0),(0,n.Cg)([(0,d.MZ)()],Z.prototype,"_length",void 0),(0,n.Cg)([(0,d.MZ)()],Z.prototype,"length",null),(0,n.Cg)([(0,d.MZ)()],Z.prototype,"items",null),(0,n.Cg)([(0,d.MZ)({readOnly:!0})],Z.prototype,"updating",null),Z=s=(0,n.Cg)([(0,y.$)("esri.core.Collection")],Z);const j=Z},69052(t,e,i){i.d(e,{hr:()=>n,ie:()=>a,uC:()=>h});var s=i(34727);class n{constructor(t,e){this.min=t,this.max=e,this.range=e-t}normalize(t,e=0,i=!1){return r(this.range,this.min,this.max,t,e,i)}clamp(t,e=0){return(0,s.qE)(t-e,this.min,this.max)+e}monotonic(t,e,i){return t<e?e:e+o(this.range,t-e,i)}minimalMonotonic(t,e,i){return r(this.range,t,t+this.range,e,i)}center(t,e,i){return e=this.monotonic(t,e,i),this.normalize((t+e)/2,i)}diff(t,e,i){return this.monotonic(t,e,i)-t}shortestSignedDiff(t,e){t=this.normalize(t);const i=(e=this.normalize(e))-t,s=e<t?this.minimalMonotonic(t,e)-t:e-this.minimalMonotonic(e,t);return Math.abs(i)<Math.abs(s)?i:s}contains(t,e,i){return e=this.minimalMonotonic(t,e),(i=this.minimalMonotonic(t,i))>t&&i<e}}function r(t,e,i,s,n=0,r=!1){return(s-=n)<e?s+=o(t,e-s):s>i&&(s-=o(t,s-i)),r&&s===i&&(s=e),s+n}function o(t,e,i=0){return Math.ceil((e-i)/t)*t+i}const h=new n(0,2*Math.PI),a=(new n(-Math.PI,Math.PI),new n(0,360))},4902(t,e,i){i.d(e,{s:()=>o});var s=i(5482),n=i(64108);let r=0;const o=t=>{const e=t;let i=class extends e{constructor(...t){super(...t),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+r++})}};return i=(0,s.Cg)([(0,n.$)("esri.core.Identifiable")],i),i};o(class{})},7695(t,e,i){function s(t){return(e,i)=>{e[i]=t}}i.d(e,{u:()=>s})},56512(t,e,i){function s(t){let e,i,s=[],n=!1;return function(...r){return n&&e===this&&function(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;++i)if(t[i]!==e[i])return!1;return!0}(r,s)||(i=t.apply(this,r),e=this,s=r,n=!0),i}}i.d(e,{B:()=>s})},36708(t,e,i){i.d(e,{C_:()=>f,OH:()=>d,Vh:()=>m,on:()=>u,pc:()=>y,wB:()=>a,z7:()=>l});var s=i(37955),n=i(36563),r=i(97768),o=i(17676),h=i(14012);function a(t,e,i={}){return c(t,e,i,g)}function l(t,e,i={}){return c(t,e,i,p)}function c(t,e,i={},s){let n=null;const o=i.once?(t,i)=>{s(t)&&((0,r.xt)(n),e(t,i))}:(t,i)=>{s(t)&&e(t,i)};if(n=(0,h.Cn)(t,o,i.sync,i.equals),i.initial){const e=t();o(e,e)}return n}function u(t,e,i,o={}){let h=null,l=null,c=null;function u(){h&&l&&(l.remove(),o.onListenerRemove?.(h),h=null,l=null)}function f(t){o.once&&o.once&&(0,r.xt)(c),i(t)}const g=a(t,(t,i)=>{u(),(0,s.wb)(t)&&(h=t,l=(0,s.on)(t,e,f),o.onListenerAdd?.(t))},{sync:o.sync,initial:!0});return c=(0,n.hA)(()=>{g.remove(),u()}),c}function f(t,e){return function(t,e,i){if((0,o.G4)(i))return Promise.reject((0,o.NK)());const s=t();if(e?.(s))return Promise.resolve(s);let h=null;function a(){h=(0,r.xt)(h)}return new Promise((s,r)=>{h=(0,n.vE)([(0,o.u7)(i,()=>{a(),r((0,o.NK)())}),c(t,t=>{a(),s(t)},{sync:!1,once:!0},e??g)])})}(t,p,e)}function g(t){return!0}function p(t){return!!t}i(80559);const d={sync:!0},m={initial:!0},y={sync:!0,initial:!0}},31411(t,e,i){i.d(e,{GS:()=>w,gh:()=>x});var s=i(49186),n=i(56512),r=i(65864),o=i(4305),h=i(50954),a=i(52006),l=i(49663),c=i(46068),u=i(15507);const f=1e-6,g=[0,0];function p(t){return{maxSegmentLength:t.maxSegmentLength??0,maxDeviation:t.maxDeviation??0,maxSegmentsPerCurve:t.maxSegmentsPerCurve??12e3,minSegmentsPerCurve:Math.max(t.minSegmentsPerCurve??1,1)}}class d{constructor(t,e){this.curveStart=t,this.curveEnd=e,this.tStart=0,this.tEnd=0,this.tEndStack=[],this.arcEndStack=[]}get stackSize(){return this.tEndStack.length}initialize(t,e){this.tStart=0,this.arcStart=t,this.tEndStack.push(1),this.arcEndStack.push(e)}splitAt(t){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(t),this.arcEndStack.push(this.interpolate(t))}splitInHalf(){return this.splitAt((this.tStart+this.tEnd)/2)}pop(){this.tEnd=this.tEndStack.pop(),this.arcEnd=this.arcEndStack.pop()}next(){this.tStart=this.tEnd,this.arcStart=this.arcEnd}densify(t,{maxDeviation:e,maxSegmentLength:i,maxSegmentsPerCurve:s,minSegmentsPerCurve:n}){const r=i*i,o=e*e,h=1/s,a=this.interpolate(0),l=this.interpolate(1);(0,u.kb)(this.curveStart,a)>f&&t.push(a),this.initialize(a,l);const c=1/n;for(let t=n-1;t>0;t--){const e=t*c;this.pop(),this.splitAt(e)}for(;this.stackSize>0;)this.pop(),this.tStart===this.tEnd||this.tEnd-this.tStart<h||(0===r||!isFinite(r)||(0,u.kb)(this.arcStart,this.arcEnd)<r)&&(0===o||!isFinite(o)||this.getDeviation2()<o)?(t.push(this.arcEnd),this.next()):this.splitInHalf();return(0,u.kb)(this.curveEnd,l)>f&&t.push([...this.curveEnd]),t}}class m extends d{constructor(t,e){const[i,s,n]=e.b;super(t,i),this._controlPointsStack=[],this._curveControlPoints=[s,n],this._arcControlPoints=[s,n],this._controlPointsStack.push(this._arcControlPoints)}splitAt(t){const{arcStart:e,arcEnd:i,tStart:s,tEnd:n}=this,[r,o]=this._arcControlPoints,h=(t-s)/(n-s),a=(0,u.RS)([],e,r,h),l=(0,u.RS)(g,r,o,h),c=(0,u.RS)([],o,i,h),f=(0,u.RS)([],a,l,h),p=(0,u.RS)([],l,c,h),d=(0,u.RS)([],f,p,h);this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this._controlPointsStack.push([p,c]),this.tEndStack.push(t),this.arcEndStack.push(d),this._arcControlPoints[0]=a,this._arcControlPoints[1]=f,this._controlPointsStack.push(this._arcControlPoints)}pop(){super.pop(),this._arcControlPoints=this._controlPointsStack.pop()}interpolate(t){const{curveStart:e,curveEnd:i}=this,[s,n]=this._curveControlPoints;return(0,o.B4)(e,s,n,i,t)}getDeviation2(){const{arcStart:t,arcEnd:e}=this,[i,s]=this._arcControlPoints;return Math.max((0,u.yE)(i,t,e),(0,u.yE)(s,t,e))}}class y extends d{constructor(t,e){const[i]=e.a;super(t,i),this._derivedEllipse=(0,c.SW)(t,e)}pop(){super.pop(),this._tMid=(this.tStart+this.tEnd)/2,this._arcMid=this.interpolate(this._tMid)}splitInHalf(){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(this._tMid),this.arcEndStack.push(this._arcMid)}interpolate(t){return(0,c.Uk)(this._derivedEllipse,t)}getDeviation2(){return(0,u.yE)(this._arcMid,this.arcStart,this.arcEnd)}}function _(t,e,i,{cx:s,cy:n,radius:r,thetaStart:o,thetaEnd:h,isInvalid:a},{maxDeviation:l,maxSegmentLength:c,maxSegmentsPerCurve:g,minSegmentsPerCurve:p}){if(a)return t.push([...i]),t;const d=2*r,m=[s+r*Math.cos(o),n+r*Math.sin(o)],y=[s+r*Math.cos(h),n+r*Math.sin(h)];(0,u.kb)(e,m)>f&&t.push(m);const _=Math.abs(h-o),b=c>0&&c<d?2*Math.asin(c/d):_,v=l>0&&l<=r?2*Math.acos(1-l/r):_,C=Math.min(b,v),S=Math.min(g,Math.max(p,Math.ceil(Math.abs(_/C)))),M=1/S;for(let e=1;e<S;e++){const i=e*M,a=o*(1-i)+h*i;t.push([s+r*Math.cos(a),n+r*Math.sin(a)])}return t.push(y),(0,u.kb)(i,y)>f&&t.push([...i]),t}function b(t,e,i,s){return new m(e,i).densify(t,s)}function v(t,e,i,s){const n=(0,h.pM)(e,i),[r]=i.c;return _(t,e,r,n,s)}function C(t,e,i,s){const n=(0,l.io)(e,i),[r]=i.a;return _(t,e,r,n,s)}function S(t,e,i,s){const[n,r,o,h,a,l,c]=i.a;return 0===l||0===c?(t.push([...n]),t):new y(e,i).densify(t,s)}function M(t,e,i,s){return(0,a.Xq)(i)?(t.push([...i]),t):(0,a.n1)(i)?b(t,e,i,s):(0,a.aO)(i)?v(t,e,i,s):(0,a.DA)(i)?C(t,e,i,s):S(t,e,i,s)}function w(t,e={}){if(!(0,a.Ed)(t))return t;const i=p(e),s=(0,a.FD)(t),n=[];for(const t of s){const e=[];for(let s=0;s<t.length-1;s++){const n=s+1,r=[...(0,a.yP)(t[s])];0===s&&e.push(r),M(e,r,t[n],i)}n.push(e)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},paths:n,spatialReference:t.spatialReference}:{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},rings:n,spatialReference:t.spatialReference}}const A=(0,n.B)(t=>({maxDeviation:0,maxSegmentLength:100*t,maxSegmentsPerCurve:12e3,minSegmentsPerCurve:1}));async function x(t,e,n){const o=new Set(e);return await async function(t,e,n){let r=null;for(const o of t)if(o&&(0,a.Ed)(o)&&null==o.spatialReference.xyTolerance&&(0,a.V8)(o,e)){const t=o.spatialReference;if(!t)throw new s.A("geometry:missing-spatial-reference","Geometry contains an unsupported curve type, but it cannot be densified because it has no spatial reference.");const e=E(t);if(n.has(e))o.spatialReference=n.get(e);else{r||(r=await Promise.all([i.e(6042),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(6312)]).then(i.bind(i,78125)));const h=r.fromSpatialReference(t),a=h?.getTolerance();if(null==a)throw new s.A("geometry:missing-tolerance","Geometry contains an unsupported curve type, but it cannot be densified because the tolerance of its spatial reference is unknown. Set the `xyTolerance` property of the spatial reference.");const l=o.spatialReference.clone();l.read({xyTolerance:a}),o.spatialReference=l,n.set(e,l)}}}(t,o,n),t.map(t=>{if(!t||!(0,a.Ed)(t))return t;const i=t.spatialReference.xyTolerance;if(null==i)return t;const s=A(i);return(0,r.rS)(function(t,e,i){if(!(0,a.Ed)(t))return t;const s=new Set(e),n=p(i),r=(0,a.FD)(t),o=[];let h=!1;for(const t of r){const e=[];for(let i=0;i<t.length-1;i++){const r=i+1,o=[...(0,a.yP)(t[i])];0===i&&e.push(o);const l=t[r];(0,a.Xq)(l)?e.push([...l]):(0,a.n1)(l)&&!s.has("cubic-bezier")?b(e,o,l,n):(0,a.aO)(l)&&!s.has("circular-arc")?v(e,o,l,n):(0,a.DA)(l)&&!s.has("elliptic-arc")?C(e,o,l,n):(0,a.wY)(l)&&!s.has("elliptic-arc")?S(e,o,l,n):(e.push((0,a.tk)(l)),h=!0)}o.push(e)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},spatialReference:t.spatialReference,...h?{curvePaths:o}:{paths:o}}:{hasZ:t.hasZ,hasM:t.hasM,spatialReference:t.spatialReference,...h?{curveRings:o}:{rings:o}}}(t,e,s))})}function E(t){if(null!=t.wkid)return`${t.wkid}`;if(null!=t.wkt)return t.wkt;const e="toJSON"in t&&"function"==typeof t.toJSON?t.toJSON():t;return JSON.stringify(e)}},17136(t,e,i){i.d(e,{Y_:()=>L,O7:()=>k,el:()=>E});var s=i(92602),n=i(69052),r=i(49186),o=i(53966),h=i(39829),a=i(82799),l=i(16930),c=i(80754),u=i(21325),f=i(28735),g=i(52006),p=i(31411),d=i(11254),m=i(60408),y=i(65864),_=i(2272),b=i(84952),v=i(92300);const C=()=>o.A.getLogger("esri.geometry.support.normalizeUtils");function S(t){return"polygon"===t[0].type}function M(t){return"polyline"===t[0].type}function w(t,e,i){const s=1e6;if(e){const e=(0,g.Ed)(t)?(0,p.GS)(t,{maxSegmentLength:s}):function(t,e){if(!(t instanceof a.A||t instanceof h.A)){const t="straightLineDensify: the input geometry is neither polyline nor polygon";throw C().error(t),new r.A("internal:geometry",t)}const i=(0,c.r8)(t),s=[];for(const t of i){const i=[];s.push(i),i.push([t[0][0],t[0][1]]);for(let s=0;s<t.length-1;s++){const n=t[s][0],r=t[s][1],o=t[s+1][0],h=t[s+1][1],a=Math.sqrt((o-n)*(o-n)+(h-r)*(h-r)),l=(h-r)/a,c=(o-n)/a,u=a/e;if(u>1){for(let t=1;t<=u-1;t++){const s=t*e,o=c*s+n,h=l*s+r;i.push([o,h])}const t=(a+Math.floor(u-1)*e)/2,s=c*t+n,o=l*t+r;i.push([s,o])}i.push([o,h])}}return function(t){return"polygon"===t.type}(t)?new h.A({rings:s,spatialReference:t.spatialReference}):new a.A({paths:s,spatialReference:t.spatialReference})}(t,s);t=(0,f.ci)(e,!0)}return i&&(t=(0,c.kS)(t,i)),t}function A(t,e,i){if(Array.isArray(t)){const s=t[0];if(s>e){const i=(0,c.kd)(s,e);t[0]=s+i*(-2*e)}else if(s<i){const e=(0,c.kd)(s,i);t[0]=s+e*(-2*i)}}else{const s=t.x;if(s>e){const i=(0,c.kd)(s,e);t=t.clone().offset(i*(-2*e),0)}else if(s<i){const e=(0,c.kd)(s,i);t=t.clone().offset(e*(-2*i),0)}}return t}function x(t,e){let i=-1;for(let s=0;s<e.cutIndexes.length;s++){const n=e.cutIndexes[s],r=e.geometries[s],o=(0,c.r8)(r);for(let t=0;t<o.length;t++){const e=o[t];e.some(i=>{if(i[0]<180)return!0;{let i=0;for(let t=0;t<e.length;t++){const s=e[t][0];i=s>i?s:i}i=Number(i.toFixed(9));const s=-360*(0,c.kd)(i,180);for(let i=0;i<e.length;i++){const e=r.getPoint(t,i);r.setPoint(t,i,e.clone().offset(s,0))}return!0}})}if(n===i){if(S(t))for(const e of(0,c.r8)(r))t[n]=t[n].addRing(e);else if(M(t))for(const e of(0,c.r8)(r))t[n]=t[n].addPath(e)}else i=n,t[n]=r}return t}async function E(t,e,i){if(!Array.isArray(t))return E([t],e);e&&"string"!=typeof e&&C().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const n="string"==typeof e?e:e?.url??s.A.geometryServiceUrl;let r,o,l,g,p,S,M,k,P=0;const L=[],z=[];for(const e of t)if(null!=e)if(r||(r=e.spatialReference,o=(0,u.Vp)(r),l=r.isWebMercator,S=l?102100:4326,g=c.j7[S].maxX,p=c.j7[S].minX,M=c.j7[S].plus180Line,k=c.j7[S].minus180Line),o)if("mesh"===e.type)z.push(e);else if("point"===e.type)z.push(A(e.clone(),g,p));else if("multipoint"===e.type){const t=e.clone();t.points=t.points.map(t=>A(t,g,p)),z.push(t)}else if("extent"===e.type){const t=e.clone()._normalize(!1,!1,o);z.push(t.rings?new h.A(t):t)}else if(e.extent){const t=e.extent,i=(0,c.kd)(t.xmin,p)*(2*g);let s=0===i?e.clone():(0,c.kS)(e.clone(),i);t.offset(i,0);let{xmin:n,xmax:r}=t;n=Number(n.toFixed(9)),r=Number(r.toFixed(9)),t.intersects(M)&&r!==g?(P=r>P?r:P,s=w(s,l),L.push(s),z.push("cut")):t.intersects(k)&&n!==p?(P=r*(2*g)>P?r*(2*g):P,s=w(s,l,360),L.push(s),z.push("cut")):z.push(s)}else z.push(e.clone());else z.push(e);else z.push(e);let R=(0,c.kd)(P,g),Z=-90;const j=R,N=new a.A;for(;R>0;){const t=360*R-180;N.addPath([[t,Z],[t,-1*Z]]),Z*=-1,R--}if(L.length>0&&j>0){const e=x(L,await async function(t,e,i,s){const n=(0,_.Dl)(t),r=e[0].spatialReference,o={...s,responseType:"json",query:{...n.query,f:"json",sr:(0,u.YX)(r),target:JSON.stringify({geometryType:(0,m.$B)(e[0]),geometries:e}),cutter:JSON.stringify(i)}},h=await(0,d.A)(n.path+"/cut",o),{cutIndexes:a,geometries:l=[]}=h.data;return{cutIndexes:a,geometries:l.map(t=>{const e=(0,y.rS)(t);return e.spatialReference=r,e})}}(n,L,N,i)),s=[],r=[];for(let i=0;i<z.length;i++){const n=z[i];if("cut"!==n)r.push(n);else{const n=e.shift(),o=t[i];null!=o&&"polygon"===o.type&&o.rings&&o.rings.length>1&&n.rings.length>=o.rings.length?(s.push(n),r.push("simplify")):r.push(l?(0,f.Gh)(n):n)}}if(!s.length)return r;const o=await async function(t,e,i){const s="string"==typeof t?(0,b.An)(t):t,n=e[0].spatialReference,r=(0,m.$B)(e[0]),o={...i,query:{...s.query,f:"json",sr:(0,u.YX)(n),geometries:JSON.stringify((0,v.X)(e))}},{data:h}=await(0,d.A)(s.path+"/simplify",o);return(0,v.V)(h.geometries,r,n)}(n,s,i),h=[];for(let t=0;t<r.length;t++){const e=r[t];"simplify"!==e?h.push(e):h.push(l?(0,f.Gh)(o.shift()):o.shift())}return h}const T=[];for(let t=0;t<z.length;t++){const e=z[t];if("cut"!==e)T.push(e);else{const t=L.shift();T.push(!0===l?(0,f.Gh)(t):t)}}return T}function k(t,e,i){const s=(0,u.Vp)(i);if(null==s)return t;const[n,r]=s.valid,o=2*r;let h=0,a=0;e>r?h=Math.ceil(Math.abs(e-r)/o):e<n&&(h=-Math.ceil(Math.abs(e-n)/o)),t>r?a=Math.ceil(Math.abs(t-r)/o):t<n&&(a=-Math.ceil(Math.abs(t-n)/o));let l=t+(h-a)*o;const c=l-e;return c>r?l-=o:c<n&&(l+=o),l}function P(t){const e=(0,u.Vp)(t);if(null==e)return null;const[i,s]=e.valid;return new n.hr(i,s)}const L=P(l.A.WGS84);P(l.A.WebMercator)},80754(t,e,i){i.d(e,{j7:()=>h,kS:()=>l,kd:()=>a,r8:()=>c});var s=i(82799),n=i(16930),r=i(60408),o=i(52006);const h={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function a(t,e){return Math.ceil((t-e)/(2*e))}function l(t,e){if((0,o.Ed)(t))for(const i of function(t){return(0,r.Bi)(t)?t.curveRings:t.curvePaths}(t))for(const t of i){if((0,o.aO)(t)){const[i,s]=t.c;i[0]+=e,s[0]+=e;continue}if((0,o.FG)(t)){const[i,s]=t.a;i[0]+=e,s[0]+=e;continue}if((0,o.n1)(t)){const[i,s,n]=t.b;i[0]+=e,s[0]+=e,n[0]+=e;continue}t[0]+=e}for(const i of c(t))for(const t of i)t[0]+=e;return t}function c(t){return(0,r.Bi)(t)?t.rings:t.paths}},50498(t,e,i){i.d(e,{Ye:()=>u,gy:()=>c,iI:()=>g,yR:()=>f});var s=i(66552),n=i(5443),r=i(91075),o=i(48526),h=i(86738),a=i(39829),l=i(82799);const c=(0,s.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),u=(0,s.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),f={base:r.A,key:"type",typeMap:{extent:n.A,multipoint:o.A,point:h.A,polyline:l.A,polygon:a.A}},g=new s.J({esriGeometryBezier3Curve:"cubic-bezier",esriGeometryCircularArc:"circular-arc",esriGeometryEllipticArc:"elliptic-arc"},{ignoreUnknown:!0})},73133(t,e,i){i.d(e,{j:()=>s});const s=(0,i(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:"unknown"})},11831(t,e,i){i.d(e,{A:()=>l});var s,n=i(5482),r=i(25482),o=i(90629),h=i(91429),a=i(5760);let l=s=class extends r.o{constructor(t){super(t),this.decoration="none",this.family="sans-serif",this.style="normal",this.weight="normal"}get size(){return this._get("size")??9}set size(t){this._set("size",t)}castSize(t){return(0,o.cr)(t)}clone(){return new s({decoration:this.decoration,family:this.family,size:this.size,style:this.style,weight:this.weight})}hash(){return`${this.decoration}.${this.family}.${this.size}.${this.style}.${this.weight}`}};(0,n.Cg)([(0,h.MZ)({type:a.h9,json:{default:"none",write:!0}})],l.prototype,"decoration",void 0),(0,n.Cg)([(0,h.MZ)({type:String,json:{write:!0}})],l.prototype,"family",void 0),(0,n.Cg)([(0,h.MZ)({type:Number,json:{write:{overridePolicy:(t,e,i)=>({enabled:!i||!i.textSymbol3D})}}})],l.prototype,"size",null),(0,n.Cg)([(0,h.wg)("size")],l.prototype,"castSize",null),(0,n.Cg)([(0,h.MZ)({type:a._R,json:{default:"normal",write:!0}})],l.prototype,"style",void 0),(0,n.Cg)([(0,h.MZ)({type:a.NM,json:{default:"normal",write:!0}})],l.prototype,"weight",void 0),l=s=(0,n.Cg)([(0,h.$K)("esri.symbols.Font")],l)},68249(t,e,i){i.d(e,{A:()=>p});var s,n=i(5482),r=i(68197),o=i(4718),h=i(90629),a=i(91429),l=i(11831),c=i(20378),u=i(5760),f=i(93223),g=i(43937);let p=s=class extends c.A{constructor(...t){super(...t),this.backgroundColor=null,this.borderLineColor=null,this.borderLineSize=null,this.font=new l.A,this.horizontalAlignment="center",this.kerning=!0,this.haloColor=null,this.rightToLeft=null,this.rotated=!1,this.text="",this.type="text",this.verticalAlignment="baseline",this.angle=0,this.width=null,this.lineHeight=1}normalizeCtorArgs(t,e,i){if(t&&"string"!=typeof t)return t;const s={};return t&&(s.text=t),e&&(s.font=e),i&&(s.color=i),s}get haloSize(){return this._get("haloSize")??null}set haloSize(t){this._set("haloSize",t)}get xoffset(){return this._get("xoffset")??0}set xoffset(t){this._set("xoffset",t)}get yoffset(){return this._get("yoffset")??0}set yoffset(t){this._set("yoffset",t)}get lineWidth(){return this._get("lineWidth")??192}set lineWidth(t){this._set("lineWidth",t)}writeLineWidth(t,e,i,s){s&&"string"!=typeof s?s.origin:e[i]=t}castLineWidth(t){return(0,h.cr)(t)}writeLineHeight(t,e,i,s){s&&"string"!=typeof s?s.origin:e[i]=t}clone(){return new s({angle:this.angle,backgroundColor:(0,o.o8)(this.backgroundColor),borderLineColor:(0,o.o8)(this.borderLineColor),borderLineSize:this.borderLineSize,color:(0,o.o8)(this.color),font:this.font&&this.font.clone(),haloColor:(0,o.o8)(this.haloColor),haloSize:this.haloSize,horizontalAlignment:this.horizontalAlignment,kerning:this.kerning,lineHeight:this.lineHeight,lineWidth:this.lineWidth,rightToLeft:this.rightToLeft,rotated:this.rotated,text:this.text,verticalAlignment:this.verticalAlignment,width:this.width,xoffset:this.xoffset,yoffset:this.yoffset})}hash(){return`${this.backgroundColor?.hash()}.${this.borderLineColor}.${this.borderLineSize}.${this.color?.hash()}.${this.font&&this.font.hash()}.${this.haloColor?.hash()}.${this.haloSize}.${this.horizontalAlignment}.${this.kerning}.${this.rightToLeft}.${this.rotated}.${this.text}.${this.verticalAlignment}.${this.width}.${this.xoffset}.${this.yoffset}.${this.lineHeight}.${this.lineWidth}.${this.angle}`}};(0,n.Cg)([(0,a.MZ)({type:r.A,json:{write:!0}})],p.prototype,"backgroundColor",void 0),(0,n.Cg)([(0,a.MZ)({type:r.A,json:{write:!0}})],p.prototype,"borderLineColor",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0},cast:h.cr})],p.prototype,"borderLineSize",void 0),(0,n.Cg)([(0,a.MZ)({type:l.A,json:{write:!0}})],p.prototype,"font",void 0),(0,n.Cg)([(0,a.MZ)({...u.rM,json:{write:!0}})],p.prototype,"horizontalAlignment",void 0),(0,n.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],p.prototype,"kerning",void 0),(0,n.Cg)([(0,a.MZ)({type:r.A,json:{write:!0}})],p.prototype,"haloColor",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,cast:h.cr,json:{write:!0}})],p.prototype,"haloSize",null),(0,n.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],p.prototype,"rightToLeft",void 0),(0,n.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],p.prototype,"rotated",void 0),(0,n.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],p.prototype,"text",void 0),(0,n.Cg)([(0,f.e)({esriTS:"text"},{readOnly:!0})],p.prototype,"type",void 0),(0,n.Cg)([(0,a.MZ)({...u.x0,json:{write:!0}})],p.prototype,"verticalAlignment",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,cast:h.cr,json:{write:!0}})],p.prototype,"xoffset",null),(0,n.Cg)([(0,a.MZ)({type:Number,cast:h.cr,json:{write:!0}})],p.prototype,"yoffset",null),(0,n.Cg)([(0,a.MZ)({type:Number,json:{read:t=>t&&-1*t,write:(t,e)=>e.angle=t&&-1*t}})],p.prototype,"angle",void 0),(0,n.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],p.prototype,"width",void 0),(0,n.Cg)([(0,a.MZ)({type:Number})],p.prototype,"lineWidth",null),(0,n.Cg)([(0,g.K)("lineWidth")],p.prototype,"writeLineWidth",null),(0,n.Cg)([(0,a.wg)("lineWidth")],p.prototype,"castLineWidth",null),(0,n.Cg)([(0,a.MZ)(u.Tb)],p.prototype,"lineHeight",void 0),(0,n.Cg)([(0,g.K)("lineHeight")],p.prototype,"writeLineHeight",null),p=s=(0,n.Cg)([(0,a.$K)("esri.symbols.TextSymbol")],p)},5760(t,e,i){i.d(e,{NM:()=>h,Tb:()=>a,_R:()=>o,h9:()=>r,rM:()=>l,x0:()=>c,y7:()=>u});var s=i(34727),n=i(56507);const r=["none","underline","line-through"],o=["normal","italic","oblique"],h=["normal","lighter","bold","bolder"],a={type:Number,cast:t=>{const e=(0,n.GB)(t);return 0===e?1:(0,s.qE)(e,.1,4)},nonNullable:!0},l={type:["left","right","center"],nonNullable:!0},c={type:["baseline","top","middle","bottom"],nonNullable:!0},u=8}}]);