@arcgis/core 4.33.0-next.20250507 → 4.33.0-next.20250509

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/WebLinkChart.js +1 -1
  2. package/applications/SceneViewer/sceneViewerUtils.d.ts +2 -0
  3. package/applications/SceneViewer/sceneViewerUtils.js +1 -1
  4. package/arcade/batchExec.js +5 -0
  5. package/arcade/featureset/support/RecentlyUsedCache.js +1 -1
  6. package/arcade/functions/aiServices.js +1 -1
  7. package/arcade.js +1 -1
  8. package/assets/components/assets/input-time-picker/t9n/messages.ar.json +1 -1
  9. package/assets/components/assets/input-time-picker/t9n/messages.bg.json +1 -1
  10. package/assets/components/assets/input-time-picker/t9n/messages.bs.json +1 -1
  11. package/assets/components/assets/input-time-picker/t9n/messages.ca.json +1 -1
  12. package/assets/components/assets/input-time-picker/t9n/messages.cs.json +1 -1
  13. package/assets/components/assets/input-time-picker/t9n/messages.da.json +1 -1
  14. package/assets/components/assets/input-time-picker/t9n/messages.de.json +1 -1
  15. package/assets/components/assets/input-time-picker/t9n/messages.el.json +1 -1
  16. package/assets/components/assets/input-time-picker/t9n/messages.en.json +1 -1
  17. package/assets/components/assets/input-time-picker/t9n/messages.es.json +1 -1
  18. package/assets/components/assets/input-time-picker/t9n/messages.et.json +1 -1
  19. package/assets/components/assets/input-time-picker/t9n/messages.fi.json +1 -1
  20. package/assets/components/assets/input-time-picker/t9n/messages.fr.json +1 -1
  21. package/assets/components/assets/input-time-picker/t9n/messages.he.json +1 -1
  22. package/assets/components/assets/input-time-picker/t9n/messages.hr.json +1 -1
  23. package/assets/components/assets/input-time-picker/t9n/messages.hu.json +1 -1
  24. package/assets/components/assets/input-time-picker/t9n/messages.id.json +1 -1
  25. package/assets/components/assets/input-time-picker/t9n/messages.it.json +1 -1
  26. package/assets/components/assets/input-time-picker/t9n/messages.ja.json +1 -1
  27. package/assets/components/assets/input-time-picker/t9n/messages.json +1 -1
  28. package/assets/components/assets/input-time-picker/t9n/messages.ko.json +1 -1
  29. package/assets/components/assets/input-time-picker/t9n/messages.lt.json +1 -1
  30. package/assets/components/assets/input-time-picker/t9n/messages.lv.json +1 -1
  31. package/assets/components/assets/input-time-picker/t9n/messages.nl.json +1 -1
  32. package/assets/components/assets/input-time-picker/t9n/messages.no.json +1 -1
  33. package/assets/components/assets/input-time-picker/t9n/messages.pl.json +1 -1
  34. package/assets/components/assets/input-time-picker/t9n/messages.pt-BR.json +1 -1
  35. package/assets/components/assets/input-time-picker/t9n/messages.pt-PT.json +1 -1
  36. package/assets/components/assets/input-time-picker/t9n/messages.ro.json +1 -1
  37. package/assets/components/assets/input-time-picker/t9n/messages.ru.json +1 -1
  38. package/assets/components/assets/input-time-picker/t9n/messages.sk.json +1 -1
  39. package/assets/components/assets/input-time-picker/t9n/messages.sl.json +1 -1
  40. package/assets/components/assets/input-time-picker/t9n/messages.sr.json +1 -1
  41. package/assets/components/assets/input-time-picker/t9n/messages.sv.json +1 -1
  42. package/assets/components/assets/input-time-picker/t9n/messages.th.json +1 -1
  43. package/assets/components/assets/input-time-picker/t9n/messages.tr.json +1 -1
  44. package/assets/components/assets/input-time-picker/t9n/messages.uk.json +1 -1
  45. package/assets/components/assets/input-time-picker/t9n/messages.vi.json +1 -1
  46. package/assets/components/assets/input-time-picker/t9n/messages.zh-CN.json +1 -1
  47. package/assets/components/assets/input-time-picker/t9n/messages.zh-HK.json +1 -1
  48. package/assets/components/assets/input-time-picker/t9n/messages.zh-TW.json +1 -1
  49. package/assets/esri/core/workers/RemoteClient.js +1 -1
  50. package/assets/esri/core/workers/chunks/029a118e6dfb3f544a5c.js +1 -0
  51. package/assets/esri/core/workers/chunks/0516bd18334d3af6c555.js +1 -0
  52. package/assets/esri/core/workers/chunks/0766ecb677d667e5fb83.js +2 -0
  53. package/assets/esri/core/workers/chunks/{543eb46b55cacd6e1dbc.js.LICENSE.txt → 0766ecb677d667e5fb83.js.LICENSE.txt} +1 -1
  54. package/assets/esri/core/workers/chunks/{c607d618b64d3accecc4.js → 0aca29f7156b2b412f2e.js} +1 -1
  55. package/assets/esri/core/workers/chunks/0bbb38f59f37c51c72f0.js +1 -0
  56. package/assets/esri/core/workers/chunks/10e6dffa57aa1a626708.js +1 -0
  57. package/assets/esri/core/workers/chunks/1abd026ed12c863e1d94.js +1 -0
  58. package/assets/esri/core/workers/chunks/1c6542315390037053a6.js +1 -0
  59. package/assets/esri/core/workers/chunks/218a66d53f7cf4f285aa.js +2 -0
  60. package/assets/esri/core/workers/chunks/{d8dc922f7466300b668f.js.LICENSE.txt → 218a66d53f7cf4f285aa.js.LICENSE.txt} +2 -2
  61. package/assets/esri/core/workers/chunks/243dc74ec62891ba1ef7.js +1 -0
  62. package/assets/esri/core/workers/chunks/{7cd32b10ed0e18e44ef2.js → 2b01e3bce78541620a86.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{f74b5659b6496a5c4c0c.js → 2e0af748eba93f3ea6cb.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{cd81df932b87583b7e4c.js → 306e262f148b3057b11b.js} +1 -1
  65. package/assets/esri/core/workers/chunks/352b7dcd1633e0c98194.js +1 -0
  66. package/assets/esri/core/workers/chunks/3596540ef49e5330ceb2.js +2 -0
  67. package/assets/esri/core/workers/chunks/{7b4523ab392966624d97.js.LICENSE.txt → 3596540ef49e5330ceb2.js.LICENSE.txt} +1 -7
  68. package/assets/esri/core/workers/chunks/391b1c3e736a62befbaf.js +1 -0
  69. package/assets/esri/core/workers/chunks/{cbec01223d51cdb9ee79.js → 3c45603af279ad7fed8c.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{a22c88b0a525e602dce0.js → 3d0e09ef78dc2fd6957a.js} +1 -1
  71. package/assets/esri/core/workers/chunks/40e556a0645af8658658.js +1 -0
  72. package/assets/esri/core/workers/chunks/4402336db7210cd583e0.js +1 -0
  73. package/assets/esri/core/workers/chunks/46104db7f77952bb6c12.js +1 -0
  74. package/assets/esri/core/workers/chunks/{5383dc4814b0ba42e871.js → 47cd99ab3ed11a931084.js} +1 -1
  75. package/assets/esri/core/workers/chunks/47f64a340b5d56bf9e59.js +1 -0
  76. package/assets/esri/core/workers/chunks/49f0e53b3c9ba8451442.js +1 -0
  77. package/assets/esri/core/workers/chunks/4feb774f123da26e9f2a.js +1 -0
  78. package/assets/esri/core/workers/chunks/515e3295495d0958db7e.js +1 -0
  79. package/assets/esri/core/workers/chunks/{ee1d104e2bcc5d808fa4.js → 5228fc7fcdf57f44781e.js} +1 -1
  80. package/assets/esri/core/workers/chunks/5371df31553626528c69.js +1 -0
  81. package/assets/esri/core/workers/chunks/54f4a1131f99468db076.js +1 -0
  82. package/assets/esri/core/workers/chunks/{49c968e91c3c48aaa110.js → 5583d18032ed8bc17c74.js} +1 -1
  83. package/assets/esri/core/workers/chunks/5ddf463c85c33428e807.js +1 -0
  84. package/assets/esri/core/workers/chunks/5e7f35bf1aab93cb1c52.js +1 -0
  85. package/assets/esri/core/workers/chunks/61c74a733718d667b071.js +1 -0
  86. package/assets/esri/core/workers/chunks/{69f7fe6c58e4931597f6.js → 631205dc4d73d49ec9ed.js} +1 -1
  87. package/assets/esri/core/workers/chunks/{875a0e2d023094c8e15e.js → 66e79aa02b3aa12b3778.js} +1 -1
  88. package/assets/esri/core/workers/chunks/{a5a43d54684747561aa9.js → 6b42bcfbb60432e3ed1f.js} +1 -1
  89. package/assets/esri/core/workers/chunks/6e12900a9f4c3c9941ec.js +1 -0
  90. package/assets/esri/core/workers/chunks/6e5d8a6b29c06a27998c.js +1 -0
  91. package/assets/esri/core/workers/chunks/6eabced7123a65d47292.js +1 -0
  92. package/assets/esri/core/workers/chunks/6f506303017903b9a06f.js +1 -0
  93. package/assets/esri/core/workers/chunks/6f6bf67a7960b7e9b03e.js +1 -0
  94. package/assets/esri/core/workers/chunks/{52a3d0e041717da7697e.js → 736cb9f74bf050b70f4c.js} +1 -1
  95. package/assets/esri/core/workers/chunks/7c49a8877bd744daa3d5.js +1 -0
  96. package/assets/esri/core/workers/chunks/7e8f78b96d43c224c7b6.js +1 -0
  97. package/assets/esri/core/workers/chunks/7ed9a9c33a08ebba5570.js +346 -0
  98. package/assets/esri/core/workers/chunks/83fcc6f770ad084b8ab9.js +1 -0
  99. package/assets/esri/core/workers/chunks/85efb318cda7260221ae.js +1 -0
  100. package/assets/esri/core/workers/chunks/86138c297095af1ac604.js +1 -0
  101. package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
  102. package/assets/esri/core/workers/chunks/8b74b609de4f70e1a75c.js +1 -0
  103. package/assets/esri/core/workers/chunks/90ae15ce22a49bd84876.js +2 -0
  104. package/assets/esri/core/workers/chunks/{ac9c6779771ec855da79.js.LICENSE.txt → 90ae15ce22a49bd84876.js.LICENSE.txt} +3 -3
  105. package/assets/esri/core/workers/chunks/90f93091fe088875f80f.js +1 -0
  106. package/assets/esri/core/workers/chunks/91a02ee91f61cf841111.js +1 -0
  107. package/assets/esri/core/workers/chunks/93cc26e5636040fdc0b8.js +1 -0
  108. package/assets/esri/core/workers/chunks/9ca480eb8b2312381ccf.js +1 -0
  109. package/assets/esri/core/workers/chunks/{77c7b7c4426c2b1a5b42.js → 9fc35ec8185beba96715.js} +1 -1
  110. package/assets/esri/core/workers/chunks/a0d2bd5d4ed3c90f6b1c.js +1 -0
  111. package/assets/esri/core/workers/chunks/{4f627eb62caee760215a.js → a1f27c4f4b5ef3e359f7.js} +1 -1
  112. package/assets/esri/core/workers/chunks/a31658f544ac6e1801d6.js +1 -0
  113. package/assets/esri/core/workers/chunks/{3a205f87f100832ef9f5.js → a5e746e10239a3bfe237.js} +1 -1
  114. package/assets/esri/core/workers/chunks/a6bcae413e62cd879b46.js +1 -0
  115. package/assets/esri/core/workers/chunks/a73c6b4bc5baf440f85a.js +1 -0
  116. package/assets/esri/core/workers/chunks/{59d4c41172e921922cac.js → a8b42d8c0b76c234c09f.js} +100 -62
  117. package/assets/esri/core/workers/chunks/{3a517393619af3639b83.js → ad9bcd9dae45cdf90cbb.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{e46c05ef7272c7f1f70c.js → b1035bf4a016b1199236.js} +1 -1
  119. package/assets/esri/core/workers/chunks/b4f38fe9cc948a39ad87.js +2 -0
  120. package/assets/esri/core/workers/chunks/{ce9de24cb96b56d20562.js.LICENSE.txt → b4f38fe9cc948a39ad87.js.LICENSE.txt} +1 -1
  121. package/assets/esri/core/workers/chunks/b5d68d8460b7c15001dd.js +1 -0
  122. package/assets/esri/core/workers/chunks/b816b608f31954128246.js +1 -0
  123. package/assets/esri/core/workers/chunks/bd7b54db7fd278b15500.js +1 -0
  124. package/assets/esri/core/workers/chunks/c1175477dfcdee90a453.js +1 -0
  125. package/assets/esri/core/workers/chunks/{85d87cd1bf7eecd54100.js → c16e0da7a19310c71e8b.js} +1 -1
  126. package/assets/esri/core/workers/chunks/c17c269cc30e7e1d0bfb.js +1 -0
  127. package/assets/esri/core/workers/chunks/c28d4717ed588c0d8bf1.js +1 -0
  128. package/assets/esri/core/workers/chunks/c2f925167a43f63289a7.js +1 -0
  129. package/assets/esri/core/workers/chunks/c9ab067b07d1eab974d1.js +1 -0
  130. package/assets/esri/core/workers/chunks/cb80b7ddc9acf625d754.js +1 -0
  131. package/assets/esri/core/workers/chunks/{812d8554144ef5a7cd4b.js → cd4fb107489594c57438.js} +1 -1
  132. package/assets/esri/core/workers/chunks/cd5c380196db7fb55242.js +1 -0
  133. package/assets/esri/core/workers/chunks/d22f91bc16a7641bcbef.js +1 -0
  134. package/assets/esri/core/workers/chunks/d7b640f7a181bd26c7c7.js +1 -0
  135. package/assets/esri/core/workers/chunks/d874d24568b1acedebc4.js +1 -0
  136. package/assets/esri/core/workers/chunks/{2bdbf678d4f013543dbb.js → d971571a957de70d5a8d.js} +1 -1
  137. package/assets/esri/core/workers/chunks/dc3a6beb3028009b3c23.js +1 -0
  138. package/assets/esri/core/workers/chunks/e0dc8794343c2a949ffb.js +2 -0
  139. package/assets/esri/core/workers/chunks/{670a66617249f2d15a62.js.LICENSE.txt → e0dc8794343c2a949ffb.js.LICENSE.txt} +1 -1
  140. package/assets/esri/core/workers/chunks/e3c1aea34ece8336dae1.js +1 -0
  141. package/assets/esri/core/workers/chunks/e483d2f169e51a361742.js +1 -0
  142. package/assets/esri/core/workers/chunks/e662c86b8bafc5512d3d.js +1 -0
  143. package/assets/esri/core/workers/chunks/e697dd4508f02dcfe329.js +1 -0
  144. package/assets/esri/core/workers/chunks/{a50cb1fc8c4c585c0e11.js → ec8e8048b3df2c92008d.js} +1 -1
  145. package/assets/esri/core/workers/chunks/ed6d0fea159dea638c2f.js +1 -0
  146. package/assets/esri/core/workers/chunks/f7ab3511f6627f467796.js +1 -0
  147. package/assets/esri/core/workers/chunks/f98689562017583f73ee.js +1 -0
  148. package/assets/esri/core/workers/chunks/fb2e28e6a87956267d1c.js +66 -0
  149. package/assets/esri/core/workers/chunks/fbcd94f60f92257a7303.js +2 -0
  150. package/assets/esri/core/workers/chunks/{c2594024d72133d3ed7b.js.LICENSE.txt → fbcd94f60f92257a7303.js.LICENSE.txt} +1 -1
  151. package/assets/esri/core/workers/chunks/fda48126f67e80034404.js +1 -0
  152. package/assets/esri/themes/base/widgets/_Daylight.scss +0 -4
  153. package/assets/esri/themes/base/widgets/_FeatureTable.scss +1 -0
  154. package/assets/esri/themes/base/widgets/_ShadowCast.scss +27 -28
  155. package/assets/esri/themes/dark/main.css +1 -1
  156. package/assets/esri/themes/light/main.css +1 -1
  157. package/assets/esri/themes/light/view.css +1 -1
  158. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast.json +1 -1
  159. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ar.json +1 -1
  160. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bg.json +1 -1
  161. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bs.json +1 -1
  162. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ca.json +1 -1
  163. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_cs.json +1 -1
  164. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_da.json +1 -1
  165. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_de.json +1 -1
  166. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_el.json +1 -1
  167. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_es.json +1 -1
  168. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_et.json +1 -1
  169. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_fi.json +1 -1
  170. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_fr.json +1 -1
  171. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_he.json +1 -1
  172. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_hr.json +1 -1
  173. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_hu.json +1 -1
  174. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_id.json +1 -1
  175. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_it.json +1 -1
  176. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ja.json +1 -1
  177. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ko.json +1 -1
  178. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_lt.json +1 -1
  179. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_lv.json +1 -1
  180. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_nl.json +1 -1
  181. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_no.json +1 -1
  182. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pl.json +1 -1
  183. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pt-BR.json +1 -1
  184. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pt-PT.json +1 -1
  185. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ro.json +1 -1
  186. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ru.json +1 -1
  187. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sk.json +1 -1
  188. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sl.json +1 -1
  189. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sr.json +1 -1
  190. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sv.json +1 -1
  191. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_th.json +1 -1
  192. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_tr.json +1 -1
  193. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_uk.json +1 -1
  194. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_vi.json +1 -1
  195. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-CN.json +1 -1
  196. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-HK.json +1 -1
  197. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-TW.json +1 -1
  198. package/chunks/HUDMaterial.glsl.js +1 -1
  199. package/chunks/Laserlines.glsl.js +2 -2
  200. package/chunks/aiServices.js +1 -1
  201. package/chunks/boundedPlane.js +1 -1
  202. package/chunks/cameraUtilsSpherical.js +1 -1
  203. package/chunks/vec32.js +1 -1
  204. package/core/libs/gl-matrix-2/math/mat4.js +1 -1
  205. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  206. package/core/mapCollectionUtils.js +1 -1
  207. package/core/perspectiveUtils.js +1 -1
  208. package/geometry/support/axisAngleDegrees.js +1 -1
  209. package/geometry/support/curves/bezierCurveUtils.js +1 -1
  210. package/geometry/support/curves/circleUtils.js +1 -1
  211. package/geometry/support/curves/curveExtent.js +5 -0
  212. package/geometry/support/curves/curveLength.js +5 -0
  213. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  214. package/geometry/support/curves/ellipticArc4Utils.js +1 -1
  215. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  216. package/geometry/support/curves/mathUtils.js +1 -1
  217. package/geometry/support/curves/splitCurveAtPoint.js +1 -1
  218. package/geometry/support/frustum.js +1 -1
  219. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  220. package/geometry/support/meshUtils/primitives.js +1 -1
  221. package/geometry/support/meshUtils/projection.js +1 -1
  222. package/geometry/support/meshUtils/rotate.js +1 -1
  223. package/geometry/support/meshUtils/scale.js +1 -1
  224. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  225. package/geometry/support/meshVertexSpaceUtils.js +1 -1
  226. package/geometry/support/plane.js +1 -1
  227. package/interfaces.d.ts +111 -6
  228. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  229. package/layers/KnowledgeGraphLayer.js +1 -1
  230. package/layers/LinkChartLayer.js +1 -1
  231. package/layers/MapImageLayer.js +1 -1
  232. package/layers/VoxelWasmPerSceneView.js +1 -1
  233. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  234. package/layers/graphics/sources/MemorySource.js +1 -1
  235. package/layers/mixins/SublayersOwner.js +1 -1
  236. package/layers/support/Sublayer.js +1 -1
  237. package/layers/video/VideoCameraSensorModel.js +1 -1
  238. package/layers/voxel/VoxelVolume.js +1 -1
  239. package/layers/voxel/voxelPlaneUtils.js +1 -1
  240. package/package.json +1 -1
  241. package/rest/print.js +1 -1
  242. package/rest/support/JobInfo.js +1 -1
  243. package/rest/support/TranslateContent.js +1 -1
  244. package/rest/support/TranslateParameters.js +1 -1
  245. package/rest/support/TranslateResult.js +1 -1
  246. package/support/loadArcade.js +1 -1
  247. package/support/revision.js +1 -1
  248. package/symbols/cim/cimAnalyzer.js +1 -1
  249. package/views/2d/engine/webgl/AFeatureTile.js +1 -1
  250. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js +1 -1
  251. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  252. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
  253. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
  254. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  255. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  256. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
  257. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  258. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  259. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
  260. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  261. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  262. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  263. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  264. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  265. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  266. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  267. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  268. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  269. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  270. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  271. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  272. package/views/3d/analysis/Viewshed/ViewshedVisualization.js +1 -1
  273. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  274. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  275. package/views/3d/animation/pointToPoint/Camera.js +1 -1
  276. package/views/3d/camera/constraintUtils/distance.js +1 -1
  277. package/views/3d/camera/intersectionUtils.js +1 -1
  278. package/views/3d/interactive/Manipulator3D.js +1 -1
  279. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  280. package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.js +1 -1
  281. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  282. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  283. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  284. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  285. package/views/3d/layers/I3SMeshView3D.js +1 -1
  286. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  287. package/views/3d/layers/PointCloudWorker.js +1 -1
  288. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  289. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  290. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  291. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  292. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  293. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  294. package/views/3d/layers/graphics/Labeler.js +1 -1
  295. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  296. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  297. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  298. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  299. package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
  300. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  301. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  302. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  303. package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
  304. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  305. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  306. package/views/3d/layers/i3s/Intersector.js +1 -1
  307. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  308. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  309. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  310. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  311. package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
  312. package/views/3d/state/Frustum.js +1 -1
  313. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  314. package/views/3d/state/controllers/InteractiveController.js +1 -1
  315. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  316. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  317. package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
  318. package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
  319. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  320. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  321. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  322. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  323. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  324. package/views/3d/support/hitTest.js +1 -1
  325. package/views/3d/support/orientedBoundingBox.js +1 -1
  326. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  327. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  328. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  329. package/views/3d/support/viewpointUtils.js +1 -1
  330. package/views/3d/terrain/Intersector.js +1 -1
  331. package/views/3d/terrain/OverlayManager.js +1 -1
  332. package/views/3d/terrain/TerrainRenderer.js +1 -1
  333. package/views/3d/terrain/TerrainSurface.js +1 -1
  334. package/views/3d/webgl/ManagedDepthTexture.js +1 -1
  335. package/views/3d/webgl/RenderCamera.js +1 -1
  336. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  337. package/views/3d/webgl-engine/collections/Component/ElevationAgnosticBVH.js +1 -1
  338. package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
  339. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  340. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  341. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  342. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  343. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  344. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  345. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  346. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  347. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechniqueConfiguration.js +1 -1
  348. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
  349. package/views/3d/webgl-engine/lib/HUDIntersectorResult.js +5 -0
  350. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  351. package/views/3d/webgl-engine/lib/IntersectorInterfaces.js +1 -1
  352. package/views/3d/webgl-engine/lib/IntersectorResult.js +5 -0
  353. package/views/3d/webgl-engine/lib/IntersectorTarget.js +1 -1
  354. package/views/3d/webgl-engine/lib/IntersectorType.js +5 -0
  355. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  356. package/views/3d/webgl-engine/lib/Material.js +1 -1
  357. package/views/3d/webgl-engine/lib/Normals.js +1 -1
  358. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  359. package/views/3d/webgl-engine/lib/ObjectIntersectorResult.js +5 -0
  360. package/views/3d/webgl-engine/lib/ObjectTarget.js +5 -0
  361. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  362. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  363. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  364. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  365. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  366. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  367. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  368. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  369. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  370. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  371. package/views/3d/webgl-engine/lib/lodRendering/Intersector.js +1 -1
  372. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  373. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  374. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  375. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  376. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  377. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  378. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  379. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  380. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  381. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  382. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  383. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  384. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  385. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  386. package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
  387. package/views/3d/webgl-engine/materials/pbrUtils.js +1 -1
  388. package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
  389. package/views/FocusArea.js +1 -1
  390. package/views/FocusAreaOutline.js +5 -0
  391. package/views/FocusAreaOutlineItem.js +5 -0
  392. package/views/FocusAreas.js +1 -1
  393. package/views/FocusAreasUtils.js +5 -0
  394. package/views/FocusAreasView.js +5 -0
  395. package/views/SceneView.js +1 -1
  396. package/views/analysis/DimensionAnalysisView.js +1 -1
  397. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  398. package/views/interactive/ToolIntersector.js +1 -1
  399. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  400. package/views/interactive/sketch/constraints.js +1 -1
  401. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  402. package/views/interactive/snapping/hints/IntersectionSnappingHint.js +1 -1
  403. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  404. package/views/interactive/snapping/hints/ParallelSnappingHint.js +1 -1
  405. package/views/interactive/snapping/hints/PointSnappingHint.js +1 -1
  406. package/views/interactive/snapping/hints/RightAngleSnappingHint.js +1 -1
  407. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  408. package/views/layers/DimensionLayerView.js +1 -1
  409. package/views/support/angularMeasurementUtils.js +1 -1
  410. package/views/support/geometry3dUtils.js +1 -1
  411. package/widgets/BasemapLayerList.js +1 -1
  412. package/widgets/BatchAttributeForm.js +1 -1
  413. package/widgets/Daylight/DaylightViewModel.js +1 -1
  414. package/widgets/Daylight/css.js +1 -1
  415. package/widgets/Daylight.js +1 -1
  416. package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
  417. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js +1 -1
  418. package/widgets/FeatureForm.js +1 -1
  419. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  420. package/widgets/FeatureTable.js +1 -1
  421. package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
  422. package/widgets/ShadowCast/css.js +1 -1
  423. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  424. package/widgets/UtilityNetworkTrace.js +1 -1
  425. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  426. package/widgets/VideoPlayer/components/MetadataSection.js +1 -1
  427. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  428. package/widgets/support/FilterBuilder.js +1 -1
  429. package/widgets/support/SketchTooltipControls.js +1 -1
  430. package/widgets/support/SnappingControls.js +1 -1
  431. package/assets/esri/core/workers/chunks/00e49ed684cc167c4481.js +0 -1
  432. package/assets/esri/core/workers/chunks/02e1332e91393ee985e8.js +0 -1
  433. package/assets/esri/core/workers/chunks/0366d46c78aa3b4a0523.js +0 -1
  434. package/assets/esri/core/workers/chunks/076a205298026e926d70.js +0 -1
  435. package/assets/esri/core/workers/chunks/07adf428f5fdba5c7cdf.js +0 -1
  436. package/assets/esri/core/workers/chunks/0c338364cb55afdbd580.js +0 -1
  437. package/assets/esri/core/workers/chunks/1349d4ea29fbf41e22bc.js +0 -1
  438. package/assets/esri/core/workers/chunks/2934fd7ec0c07371c4fe.js +0 -1
  439. package/assets/esri/core/workers/chunks/2a72f272051721767ca1.js +0 -319
  440. package/assets/esri/core/workers/chunks/2a9f206c23f69045d3f2.js +0 -1
  441. package/assets/esri/core/workers/chunks/2ac2c9cb88a7d1249b56.js +0 -1
  442. package/assets/esri/core/workers/chunks/2ad47c0ba1680f7d5e03.js +0 -1
  443. package/assets/esri/core/workers/chunks/2b3aa568356f4b70afe8.js +0 -1
  444. package/assets/esri/core/workers/chunks/2da01fe20200b6d74851.js +0 -1
  445. package/assets/esri/core/workers/chunks/35002d23c5b9f37c6331.js +0 -1
  446. package/assets/esri/core/workers/chunks/35b138f6d0687c5bee4f.js +0 -1
  447. package/assets/esri/core/workers/chunks/45d64b72b7e93e9c64d7.js +0 -1
  448. package/assets/esri/core/workers/chunks/4957450197305498d327.js +0 -1
  449. package/assets/esri/core/workers/chunks/4b63f36189730396721b.js +0 -1
  450. package/assets/esri/core/workers/chunks/543eb46b55cacd6e1dbc.js +0 -2
  451. package/assets/esri/core/workers/chunks/55def679b9f1c7c4d4d3.js +0 -1
  452. package/assets/esri/core/workers/chunks/598fade09fa4da759ac2.js +0 -1
  453. package/assets/esri/core/workers/chunks/60f7cd05e88701f43d3f.js +0 -1
  454. package/assets/esri/core/workers/chunks/6118144588af9cd8e49b.js +0 -1
  455. package/assets/esri/core/workers/chunks/62c5030557595c9a7c37.js +0 -1
  456. package/assets/esri/core/workers/chunks/62d1e6e7d8685ffc152f.js +0 -1
  457. package/assets/esri/core/workers/chunks/670a66617249f2d15a62.js +0 -2
  458. package/assets/esri/core/workers/chunks/687a11f49772bf5e1f5a.js +0 -1
  459. package/assets/esri/core/workers/chunks/6b554b42e16ad32b433d.js +0 -1
  460. package/assets/esri/core/workers/chunks/6fc39a58f3011291c602.js +0 -1
  461. package/assets/esri/core/workers/chunks/7978b66cdfe078960ddd.js +0 -1
  462. package/assets/esri/core/workers/chunks/7b4523ab392966624d97.js +0 -2
  463. package/assets/esri/core/workers/chunks/7c2ec96749972e0b8a13.js +0 -1
  464. package/assets/esri/core/workers/chunks/7fa70851868f80eaccfc.js +0 -1
  465. package/assets/esri/core/workers/chunks/8d09cc782dae1dcfc6c4.js +0 -1
  466. package/assets/esri/core/workers/chunks/8ec0a762ec73d1f91fce.js +0 -1
  467. package/assets/esri/core/workers/chunks/919673d958045ab94c95.js +0 -1
  468. package/assets/esri/core/workers/chunks/9321e3244ccb1ee9985a.js +0 -1
  469. package/assets/esri/core/workers/chunks/97a4f8504e76c877893b.js +0 -1
  470. package/assets/esri/core/workers/chunks/9cac00d4bfac14aaae12.js +0 -1
  471. package/assets/esri/core/workers/chunks/a1278a1c4a913c671989.js +0 -1
  472. package/assets/esri/core/workers/chunks/a2452958b0ced28fc1e5.js +0 -1
  473. package/assets/esri/core/workers/chunks/ac9c6779771ec855da79.js +0 -2
  474. package/assets/esri/core/workers/chunks/aed72cbac8d463b1d2e0.js +0 -1
  475. package/assets/esri/core/workers/chunks/af44ba2ee6c7670ddcc1.js +0 -1
  476. package/assets/esri/core/workers/chunks/b2f1d1721a9dd88a1adf.js +0 -1
  477. package/assets/esri/core/workers/chunks/b52a738ca2b5c39f8e15.js +0 -1
  478. package/assets/esri/core/workers/chunks/b60504e6326464a512df.js +0 -1
  479. package/assets/esri/core/workers/chunks/b79e8d1e3f2c214549b7.js +0 -1
  480. package/assets/esri/core/workers/chunks/ba4aafa8dfa76006c3e7.js +0 -1
  481. package/assets/esri/core/workers/chunks/bbcc5c5ef7cb92c2e213.js +0 -39
  482. package/assets/esri/core/workers/chunks/bbff052a991a2dc36960.js +0 -1
  483. package/assets/esri/core/workers/chunks/bceb837623aa79fcfbed.js +0 -1
  484. package/assets/esri/core/workers/chunks/bf190d672dcbaedc1a41.js +0 -1
  485. package/assets/esri/core/workers/chunks/bfd39cd1d83291ba014b.js +0 -1
  486. package/assets/esri/core/workers/chunks/c255c9279815359fdce5.js +0 -1
  487. package/assets/esri/core/workers/chunks/c2594024d72133d3ed7b.js +0 -2
  488. package/assets/esri/core/workers/chunks/ca8c631172902c6623fa.js +0 -1
  489. package/assets/esri/core/workers/chunks/ce9de24cb96b56d20562.js +0 -2
  490. package/assets/esri/core/workers/chunks/cf008faa999e8d07116f.js +0 -1
  491. package/assets/esri/core/workers/chunks/d8dc922f7466300b668f.js +0 -2
  492. package/assets/esri/core/workers/chunks/dbf6011dd7933f02d41d.js +0 -66
  493. package/assets/esri/core/workers/chunks/dcb9ab790e694328d02c.js +0 -1
  494. package/assets/esri/core/workers/chunks/e4e9dd635bdef18d0bd5.js +0 -1
  495. package/assets/esri/core/workers/chunks/e69f2e3c2d5e71fbb42f.js +0 -1
  496. package/assets/esri/core/workers/chunks/e93222c65bd28203ddf7.js +0 -1
  497. package/assets/esri/core/workers/chunks/ea70cabea50960dc8167.js +0 -1
  498. package/assets/esri/core/workers/chunks/f07b3aecff90a6a400d8.js +0 -1
  499. package/assets/esri/core/workers/chunks/f61632c06c05b72e7017.js +0 -1
package/rest/print.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{id as e}from"../kernel.js";import t from"../request.js";import{JSONMap as a}from"../core/jsonMap.js";import{createScreenPoint as i,pt2px as r,px2pt as n}from"../core/screenUtils.js";import{dataComponents as o,normalize as s}from"../core/urlUtils.js";import l from"../geometry/Polygon.js";import{collectLabelingFields as c}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as u}from"../layers/support/floorFilterUtils.js";import{getSizeRangeAtScale as y}from"../renderers/visualVariables/support/visualVariableUtils.js";import{asValidOptions as p,findToken as f}from"./utils.js";import{execute as d}from"./geoprocessor/execute.js";import{submitJob as m}from"./geoprocessor/submitJob.js";import{formatJsonMap as g}from"./support/fileFormat.js";import{toJSON as h}from"./support/layoutTemplate.js";import{getVisibleLayerViews as b,isScreenshotRequired as w,isBingMapsLayer as S,isBlendLayer as x,getCopyright as I,getSelectionSymbol as v,createPointLayer as D,createPolygonLayer as T,createPolylineLayer as L,createMultipointLayer as O,getContextBoundingBox as E}from"./support/printTaskUtils.js";import P from"./support/PrintTemplate.js";import{toJSON as M}from"./support/reportTemplate.js";const V={Feet:"ft",Kilometers:"km",Meters:"m",Miles:"mi"},F=new a({esriFeet:"Feet",esriKilometers:"Kilometers",esriMeters:"Meters",esriMiles:"Miles"}),k=new a({esriExecutionTypeSynchronous:"sync",esriExecutionTypeAsynchronous:"async"}),N=new Map;var U;async function R(e,t,a){const i=await J(e,a),r=await z(t,i);if("sync"===await j(e,a)){const{results:t}=await d(e,r,void 0,a);return t?.[0]?.value}const n=await m(e,r,void 0,a);await n.waitForJobCompletion({interval:t.updateDelay});const{value:o}=await n.fetchResultData("Output_File",null,a);return o}async function J(e,a){const i=W(e),r=N.get(i)??{gpServerUrl:i,legendLayerNameMap:{},legendLayers:[]};return r.gpMetadata??=(await t(i,p({f:"json"},a))).data,r.cimVersion=r.gpMetadata.cimVersion,N.set(i,r),r}async function j(e,t){return Se(await J(e,t))}async function A(e,a){const i=await J(e,a),r=i.gpMetadata.tasks,n=i.gpServerUrl;return i.taskInfos||(i.taskInfos={},await Promise.all(r?.map((async e=>{const r=(await t(`${n}/${e}`,p({f:"json"},a))).data,o=r.name.startsWith(U.GetLayoutTemplatesInfo)?U.GetLayoutTemplatesInfo:r.name.startsWith(U.ExportWebMap)?U.ExportWebMap:null;o&&(i.taskInfos[o]??=r)}))??[])),i.taskInfos}async function C(e,t,a){return(await A(e,a))[t]??null}async function _(e,t,a){const i=await C(e,t,a);return i?.executionType?k.fromJSON(i.executionType):"sync"}async function z(t,a){a=a||{is11xService:!1,legendLayerNameMap:{},legendLayers:[]};const i=t.template||new P;null==i.showLabels&&(i.showLabels=!0);const r=i.exportOptions;let n;const o=h(i.layout);if(r){if(n={dpi:r.dpi},"map_only"===o?.toLowerCase()||""===o){const{width:e,height:t}=r;n.outputSize=null!=e&&null!=t?[e,t]:void 0}}const s=i.layoutOptions;let l;if(s){let e,t;"Miles"===s.scalebarUnit||"Kilometers"===s.scalebarUnit?(e="Kilometers",t="Miles"):"Meters"!==s.scalebarUnit&&"Feet"!==s.scalebarUnit||(e="Meters",t="Feet"),l={titleText:s.titleText,authorText:s.authorText,copyrightText:s.copyrightText,customTextElements:s.customTextElements,elementOverrides:s.elementOverrides,scaleBarOptions:e||t?{metricUnit:F.toJSON(e)??void 0,metricLabel:e?V[e]:void 0,nonMetricUnit:F.toJSON(t)??void 0,nonMetricLabel:t?V[t]:void 0}:void 0}}let c=null;s?.legendLayers&&(c=s.legendLayers.map((e=>{const t=e.layerId;a.legendLayerNameMap[t]=e.title;const i={id:t};return e.subLayerIds&&(i.subLayerIds=e.subLayerIds),i})));const u=await $(t,i,a);if(u.operationalLayers){const e=new RegExp("[\\u4E00-\\u9FFF\\u0E00-\\u0E7F\\u0900-\\u097F\\u3040-\\u309F\\u30A0-\\u30FF\\u31F0-\\u31FF]"),t=/[\u0600-\u06FF]/,a=a=>{const i=a.text,r=a.font,n=r?.family?.toLowerCase();i&&r&&("arial"===n||"arial unicode ms"===n)&&(r.family=e.test(i)?"Arial Unicode MS":"Arial","normal"!==r.style&&t.test(i)&&(r.family="Arial Unicode MS"))};for(const i of u.operationalLayers)if(i.featureCollection?.layers)for(const e of i.featureCollection.layers){if(e.layerDefinition?.drawingInfo?.renderer?.symbol){const t=e.layerDefinition.drawingInfo.renderer;"esriTS"===t.symbol.type&&a(t.symbol)}if(e.featureSet?.features)for(const t of e.featureSet.features)t.symbol&&"esriTS"===t.symbol.type&&a(t.symbol)}}t.outSpatialReference&&(u.mapOptions.spatialReference=t.outSpatialReference.toJSON()),Object.assign(u,{exportOptions:n,layoutOptions:l||{}}),Object.assign(u.layoutOptions,{legendOptions:{operationalLayers:null!=c?c:a.legendLayers.slice()}}),a.legendLayers.length=0,N.set(a.gpServerUrl,a);const y={Web_Map_as_JSON:JSON.stringify(u),Format:g.toJSON(i.format),Layout_Template:o,Layout_Item_ID:void 0,Report_Template:M(i.report),Report_Item_ID:void 0};if(i.layoutItem){delete y.Layout_Template;const t=i.layoutItem;await t.load(),"public"!==t.access&&e&&await e.getCredential(a.gpServerUrl),y.Layout_Item_ID=JSON.stringify({id:t.id})}if(i.reportItem){delete y.Report_Template;const t=i.reportItem;await t.load(),"public"!==t.access&&e&&await e.getCredential(a.gpServerUrl),y.Report_Item_ID=JSON.stringify({id:t.id})}return t.extraParameters&&Object.assign(y,t.extraParameters),y}async function $(e,t,a){const i=e.view;let r=i.spatialReference;const n={operationalLayers:await q(i,t,a)};t.includeTables&&(n.tables=await le(i));let o=e.extent||a.ssExtent||i.extent;if(r?.isWrappable&&(o=o.clone()._normalize(!0),r=o.spatialReference),n.mapOptions={extent:o&&o.toJSON(),spatialReference:r&&r.toJSON(),showAttribution:t.attributionVisible},a.ssExtent=null,i.background&&(n.background=i.background.toJSON()),i.rotation&&(n.mapOptions.rotation=-i.rotation),t.scalePreserved&&(n.mapOptions.scale=t.outScale||i.scale),null!=i.timeExtent){const e=null!=i.timeExtent.start?i.timeExtent.start.getTime():null,t=null!=i.timeExtent.end?i.timeExtent.end.getTime():null;n.mapOptions.time=[e,t]}return t.reportOptions&&(n.reportOptions=t.reportOptions),n}function W(e){let t=e;const a=t.lastIndexOf("/GPServer/");return a>0&&(t=t.slice(0,a+9)),t}async function q(e,t,a){const i=[],r={layerView:null,printTemplate:t,view:e};let n=0;t.scalePreserved&&(n=t.outScale||e.scale);const o=b(e,n);for(const s of o){const e=s.layer;if(!e.loaded||"layers"in e)continue;let t;r.layerView=s,t=w(s)?await ne(e,r,a):S(e)?B(e):"csv"===e?.type?await K(e,r,a):"catalog-footprint"===e?.type?await G(e,r,a):"feature"===e?.type?await H(e,r,a):"geojson"===e?.type?await X(e,r,a):"graphics"===e?.type?await Y(e,r,a):"imagery"===e?.type?Z(e,a):"imagery-tile"===e?.type?await ee(e,r,a):"kml"===e?.type?await te(e,r,a):"map-image"===e?.type?ae(e,r,a):"map-notes"===e?.type?await ie(r,a):"open-street-map"===e?.type?re():"stream"===e?.type?await oe(e,r,a):"subtype-group"===e?.type?await se(e,a):"tile"===e?.type?ce(e,a):"vector-tile"===e?.type?await ue(e,r,a):"web-tile"===e?.type?ye(e):"wfs"===e?.type?await pe(e,r,a):"wms"===e?.type?fe(e,a):"wmts"===e?.type?de(e):await ne(e,r,a),t&&(Array.isArray(t)?i.push(...t):(t.id=e.id,t.title=a.legendLayerNameMap[e.id]||e.title,t.opacity=s.fullOpacity,t.minScale=e.minScale||0,t.maxScale=e.maxScale||0,x(e)&&e.blendMode&&"normal"!==e.blendMode&&(t.blendMode=e.blendMode),i.push(t)))}if(n)for(const s of i)s.minScale=0,s.maxScale=0;if(e.graphics?.length){const r=await Q(null,e.graphics,t,a);r&&i.push(r)}return i}function B(e){return{culture:e.culture,key:e.key,type:"BingMaps"+("aerial"===e.style?"Aerial":"hybrid"===e.style?"Hybrid":"Road")}}async function G(e,{layerView:t,printTemplate:a},i){if(parseFloat(i.cimVersion)<3.1){return Q(e,await be(t),a,i)}const r=e.parent,n={id:(o=we(r,"web-map")).id,url:o.url,layerType:o.layerType,customParameters:o.customParameters,dynamicGroupLayer:{visibility:!1},footprintLayer:o.footprintLayer,layerDefinition:o.layerDefinition};var o;return me(n,r),n}async function K(e,t,a){e.legendEnabled&&a.legendLayers.push({id:e.id});const i=t.layerView,r=t.printTemplate;if(!(i.filter||e.portalItem&&"public"!==e.portalItem.access)){const t=we(e,"web-map");return t.type="CSV",delete t.popupInfo,delete t.layerType,t.showLabels=r.showLabels&&e.labelsVisible,t}return Q(e,await be(i),r,a)}async function Q(e,t,a,i){let r;const n=T(),o=L(),s=D(),u=O(),y=D();if(y.layerDefinition.name="textLayer",delete y.layerDefinition.drawingInfo,e){if("esri.layers.FeatureLayer"===e.declaredClass||"esri.layers.StreamLayer"===e.declaredClass?n.layerDefinition.name=o.layerDefinition.name=s.layerDefinition.name=u.layerDefinition.name=i.legendLayerNameMap[e.id]||e.arcgisProps?.title||e.title:"esri.layers.GraphicsLayer"===e.declaredClass&&(t=e.graphics.items),e.renderer){const t=e.renderer.toJSON(),a=n.layerDefinition.drawingInfo;a&&(a.renderer=t);const i=o.layerDefinition.drawingInfo;i&&(i.renderer=t);const r=s.layerDefinition.drawingInfo;r&&(r.renderer=t);const l=u.layerDefinition.drawingInfo;l&&(l.renderer=t)}if(a.showLabels&&e.labelsVisible&&"function"==typeof e.write){const t=we(e,"web-map"),a=t.layerDefinition?.drawingInfo?.labelingInfo;if(a){r=!0;const e=n.layerDefinition.drawingInfo;e&&(e.labelingInfo=a);const t=o.layerDefinition.drawingInfo;t&&(t.labelingInfo=a);const i=s.layerDefinition.drawingInfo;i&&(i.labelingInfo=a);const l=u.layerDefinition.drawingInfo;l&&(l.labelingInfo=a)}}}let p;e?.renderer||r||(delete n.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete s.layerDefinition.drawingInfo,delete u.layerDefinition.drawingInfo);const f=e?.fieldsIndex,d=e?.renderer;if(f){const t=new Set;r&&await c(t,e),d&&"function"==typeof d.collectRequiredFields&&await d.collectRequiredFields(t,f),p=Array.from(t);const a=f.fields.map((e=>e.toJSON()));n.layerDefinition.fields=a,o.layerDefinition.fields=a,s.layerDefinition.fields=a,u.layerDefinition.fields=a}const m=t?.length;let g;for(let c=0;c<m;c++){const e=t[c]||t.at(c);if(!1!==e.visible&&e.geometry){if(g=e.toJSON(),g.hasOwnProperty("popupTemplate")&&delete g.popupTemplate,g.geometry?.z&&delete g.geometry.z,g.symbol&&(g.symbol.angle||delete g.symbol.angle,xe(g.symbol)?g.symbol=await ge(g.symbol,i):g.symbol.text&&delete g.attributes),(!a||!a.forceFeatureAttributes)&&p?.length){const e={};for(const t of p)g.attributes?.hasOwnProperty(t)&&(e[t]=g.attributes[t]);g.attributes=e}"polygon"===e.geometry.type?n.featureSet.features.push(g):"polyline"===e.geometry.type?o.featureSet.features.push(g):"point"===e.geometry.type?g.symbol?.text?y.featureSet.features.push(g):s.featureSet.features.push(g):"multipoint"===e.geometry.type?u.featureSet.features.push(g):"extent"===e.geometry.type&&(g.geometry=l.fromExtent(e.geometry).toJSON(),n.featureSet.features.push(g))}}const h=[n,o,u,s,y].filter((e=>e.featureSet.features.length>0));for(const l of h){const e=l.featureSet.features.every((e=>e.symbol));if(e&&(!a||!a.forceFeatureAttributes))for(const t of l.featureSet.features)delete t.attributes;e&&delete l.layerDefinition.drawingInfo,l.layerDefinition.drawingInfo?.renderer&&await he(l.layerDefinition.drawingInfo.renderer,i)}return h.length?{featureCollection:{layers:h},showLabels:r}:null}async function H(e,t,a){let i;const r=e.renderer,n=parseFloat(a.cimVersion);if("binning"===e.featureReduction?.type||"cluster"===e.featureReduction?.type&&n<2.9||"pie-chart"===r?.type||"dot-density"===r?.type&&n<2.6)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});const o=t.layerView,{printTemplate:s,view:l}=t,c="feature-layer"!==e.source?.type&&"ogc-feature"!==e.source?.type;if(o.filter||c||!r||"field"in r&&null!=r.field&&!e.getField(r.field)){const t=await be(o);i=await Q(e,t,s,a)}else{if(i={id:(p=we(e)).id,title:p.title,url:p.url,layerType:p.layerType,customParameters:p.customParameters,layerDefinition:p.layerDefinition,charts:s.includeCharts?p.charts:void 0},s.attributionVisible&&(i.credits=I(e)),i.showLabels=s.showLabels&&e.labelsVisible,me(i,e),delete i.layerDefinition?.featureReduction?.disablePopup,delete i.layerDefinition?.featureReduction?.popupInfo,o.displayFilterEnabled||delete i.layerDefinition?.displayFilterInfo,i.layerDefinition?.drawingInfo?.renderer&&(delete i.layerDefinition.minScale,delete i.layerDefinition.maxScale,await he(i.layerDefinition.drawingInfo.renderer,a),"visualVariables"in r&&r.visualVariables?.[0])){const e=r.visualVariables[0];if("size"===e.type&&e.maxSize&&"number"!=typeof e.maxSize&&e.minSize&&"number"!=typeof e.minSize){const t=y(e,l.scale);i.layerDefinition.drawingInfo.renderer.visualVariables[0].minSize=t.minSize,i.layerDefinition.drawingInfo.renderer.visualVariables[0].maxSize=t.maxSize}}const t=u(o);if(t&&(i.layerDefinition??={},i.layerDefinition.definitionExpression=i.layerDefinition.definitionExpression?`(${i.layerDefinition.definitionExpression}) AND (${t})`:t),e.gdbVersion&&(i.layerDefinition??={},i.layerDefinition.gdbVersion=e.gdbVersion),o.hasHighlight&&"highlightIds"in o){const t=o;i.selectionObjectIds=t.highlightIds,i.selectionSymbol=v(e.geometryType,t.highlightOptions??l.highlightOptions)}}var p;return i}async function X(e,t,a){if("binning"===e.featureReduction?.type||"cluster"===e.featureReduction?.type)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});return Q(e,await be(t.layerView),t.printTemplate,a)}async function Y(e,{printTemplate:t},a){return Q(e,null,t,a)}function Z(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});const a={layerType:(i=we(e)).layerType,customParameters:i.customParameters};var i;return a.bandIds=e.bandIds,a.compressionQuality=e.compressionQuality,a.format=e.format,a.interpolation=e.interpolation,(e.mosaicRule||e.definitionExpression)&&(a.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.rasterFunction&&(a.renderingRule=e.rasterFunction.toJSON()),e.renderer&&(a.layerDefinition??={},a.layerDefinition.drawingInfo??={},a.layerDefinition.drawingInfo.renderer=e.renderer.toJSON()),me(a,e),a}async function ee(e,t,a){if("flow"===e.renderer?.type)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});const i={bandIds:(r=we(e)).bandIds,customParameters:r.customParameters,interpolation:r.interpolation,layerDefinition:r.layerDefinition};var r;return i.layerType="ArcGISImageServiceLayer",me(i,e),i}async function te(e,t,a){const i=t.printTemplate;if(!e.portalItem||"public"===e.portalItem.access){const t=we(e,"web-map");return t.type="kml",delete t.layerType,t.url=s(e.url),t}const r=[],n=t.layerView,o="data:image/png;base64,";n.allVisibleMapImages.forEach(((t,a)=>{const i={id:`${e.id}_image${a}`,type:"image",title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:n.fullOpacity,extent:t.extent};t.href.startsWith(o)?i.imageData=t.href.slice(o.length):i.url=t.href,r.push(i)}));const l=[...n.allVisiblePoints.items,...n.allVisiblePolylines.items,...n.allVisiblePolygons.items],c={id:e.id,...await Q(null,l,i,a)};return r.push(c),r}function ae(e,{printTemplate:t,view:a},i){let r;const n={id:e.id,subLayerIds:[]};let o=[];const s=a.scale,l=e=>{const t=0===s,a=0===e.minScale||s<=e.minScale,i=0===e.maxScale||s>=e.maxScale;if(e.visible&&(t||a&&i))if(e.sublayers)e.sublayers.forEach(l);else{const t=e.toExportImageJSON(),a={id:e.id,name:e.title,layerDefinition:{definitionExpression:t.definitionExpression,drawingInfo:t.drawingInfo,orderBy:t.orderBy,source:t.source}};o.unshift(a),n.subLayerIds.push(e.id)}};var c;return e.sublayers&&e.sublayers.forEach(l),o.length&&(o=o.map((({id:e,name:t,layerDefinition:a})=>({id:e,name:t,layerDefinition:a}))),r={layerType:(c=we(e)).layerType,customParameters:c.customParameters},r.layers=o,r.visibleLayers=e.capabilities?.exportMap?.supportsDynamicLayers?void 0:n.subLayerIds,t.attributionVisible&&(r.credits=I(e)),e.gdbVersion&&(r.gdbVersion=e.gdbVersion),me(r,e),e.legendEnabled&&i.legendLayers.push(n)),r}async function ie({layerView:e,printTemplate:t},a){const i=[],r=e.layer;if(null!=r.featureCollections)for(const n of r.featureCollections){const e=await Q(n,n.source,t,a);e&&i.push(...e.featureCollection.layers)}else if(null!=r.sublayers)for(const n of r.sublayers){const e=await Q(null,n.graphics,t,a);e&&i.push(...e.featureCollection.layers)}return{featureCollection:{layers:i}}}function re(){return{type:"OpenStreetMap"}}async function ne(e,{printTemplate:t,view:a},r){const n={type:"image"},s={format:"png",ignoreBackground:!0,ignorePadding:!0,layers:[e]};0!==a.rotation&&(s.rotation=0);const l=r.ssExtent||a.state.extent.clone();let c=96,u=!0,y=!0;if(t.exportOptions){const e=t.exportOptions;null!=e.dpi&&e.dpi>0&&(c=e.dpi),null!=e.width&&e.width>0&&(u=e.width%2==a.width%2),null!=e.height&&e.height>0&&(y=e.height%2==a.height%2)}if("map-only"===t.layout&&t.scalePreserved&&(!t.outScale||t.outScale===a.scale)&&96===c&&(!u||!y)&&a.state.extent.equals(a.extent)&&(s.area={x:0,y:0,width:a.width,height:a.height},u||(s.area.width-=1),y||(s.area.height-=1),!r.ssExtent)){const e=a.toMap(i(s.area.width,s.area.height));l.ymin=e.y,l.xmax=e.x,r.ssExtent=l}n.extent=l.clone()._normalize(!0).toJSON();const p=await a.takeScreenshot(s);return n.imageData=o(p.dataUrl)?.data,n}async function oe(e,{layerView:t,printTemplate:a},i){e.legendEnabled&&i.legendLayers.push({id:e.id});return Q(e,await be(t),a,i)}async function se(e,t){if(e.legendEnabled)for(const r of e.sublayers)r.legendEnabled&&t.legendLayers.push({id:r.id});const a={customParameters:(i=we(e)).customParameters,effect:i.effect,layerDefinition:i.layerDefinition,layerType:i.layerType,layers:i.layers,url:i.url};var i;if(me(a,e),Array.isArray(a.layers)){for(const e of a.layers)delete e.popupInfo;a.token&&a.layers.length>0&&(a.layers[a.layers.length-1].token=a.token,delete a.token)}return a}async function le(e){const t=[],a=[];for(const r of e.map.allTables)"feature"!==r.type||r.loaded||a.push(r.load());a.length&&await Promise.allSettled(a);for(const r of e.map.allTables)if("feature"===r.type&&r.loaded&&r.isTable&&"feature-layer"===r.source?.type){const e={id:(i=we(r)).id,title:i.title,customParameters:i.customParameters,layerDefinition:{definitionExpression:i.layerDefinition?.definitionExpression},url:i.url};me(e,r),t.push(e)}var i;return t.length?t:void 0}function ce(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});const a={layerType:(i=we(e)).layerType,customParameters:i.customParameters};var i;return me(a,e),a}async function ue(e,t,a){const i=t.layerView;if(e.serviceUrl&&e.styleUrl&&!i.spriteSourceChanged&&!i.styleChanged){const t=f(e.styleUrl,e.apiKey),i=f(e.serviceUrl,e.apiKey);if(!t&&!i||"2.1.0"!==a.cimVersion){const a={type:"VectorTileLayer"};return a.styleUrl=s(e.styleUrl),a.token=t,i!==t&&(a.additionalTokens=[{url:e.serviceUrl,token:i}]),a}}return ne(e,t,a)}function ye(e){const t=e.urlTemplate?.replace(/\${/g,"{"),a={type:"WebTiledLayer",urlTemplate:t,credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(a.subDomains=e.subDomains),a}async function pe(e,t,a){return parseFloat(a.cimVersion)<3.5?ne(e,t,a):(e.legendEnabled&&a.legendLayers.push({id:e.id}),{layerType:(i=we(e,"web-map")).layerType,layerDefinition:i.layerDefinition,url:i.url,wfsInfo:i.wfsInfo});var i}function fe(e,t){let a;const i=[],r=e=>{e.visible&&(e.sublayers?e.sublayers.forEach(r):e.name&&i.unshift(e.name))};return e.sublayers&&e.sublayers.forEach(r),i.length&&(e.legendEnabled&&t.legendLayers.push({id:e.id,subLayerIds:i}),a={type:"wms",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:i,url:s(e.url),version:e.version}),a}function de(e){const t=e.activeLayer;return{type:"wmts",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:s(e.url)}}function me(e,t){t.url&&(e.url=s(e.url||t.url),e.token=f(e.url,t.apiKey))}async function ge(e,a){a.canvas||(a.canvas=document.createElement("canvas"));const i=1024;a.canvas.width=i,a.canvas.height=i;const o=a.canvas.getContext("2d");let s,l;if(e.path){const t=new Path2D(e.path);t.closePath(),o.fillStyle=Array.isArray(e.color)?`rgba(${e.color[0]},${e.color[1]},${e.color[2]},${e.color[3]/255})`:"rgb(0,0,0)",o.fill(t);const a=E(o);if(!a)return null;o.clearRect(0,0,i,i);const n=r(e.size)/Math.max(a.width,a.height);o.scale(n,n);const c=i/n,u=c/2-a.width/2-a.x,y=c/2-a.height/2-a.y;if(o.translate(u,y),Array.isArray(e.color)&&o.fill(t),e.outline?.width&&Array.isArray(e.outline.color)){const i=e.outline;o.lineWidth=r(i.width)/n,o.lineJoin="round",o.strokeStyle=`rgba(${i.color[0]},${i.color[1]},${i.color[2]},${i.color[3]/255})`,o.stroke(t),a.width+=o.lineWidth,a.height+=o.lineWidth}a.width*=n,a.height*=n;const p=o.getImageData(i/2-a.width/2,i/2-a.height/2,Math.ceil(a.width),Math.ceil(a.height));s=p.width,l=p.height,o.canvas.width=s,o.canvas.height=l,o.putImageData(p,0,0)}else{const a="image/svg+xml"===e.contentType?"data:image/svg+xml;base64,"+e.imageData:e.url,i=(await t(a,{responseType:"image"})).data;s=r(e.width),l=r(e.height),o.canvas.width=s,o.canvas.height=l,o.drawImage(i,0,0,o.canvas.width,o.canvas.height)}return{type:"esriPMS",imageData:o.canvas.toDataURL("image/png").slice(22),angle:e.angle,contentType:"image/png",height:n(l),width:n(s),xoffset:e.xoffset,yoffset:e.yoffset}}async function he(e,t){const a=e.type;if("simple"===a&&xe(e.symbol))e.symbol=await ge(e.symbol,t);else if("uniqueValue"===a||"classBreaks"===a){xe(e.defaultSymbol)&&(e.defaultSymbol=await ge(e.defaultSymbol,t));const i=e["uniqueValue"===a?"uniqueValueInfos":"classBreakInfos"];if(i)for(const e of i)xe(e.symbol)&&(e.symbol=await ge(e.symbol,t))}}async function be(e){return e.queryFeatures(e.createQuery()).then((e=>e.features))}function we(e,t){return e.write({},{ignorePersistenceEnabled:!0,origin:t})??{}}function Se(e){return e.gpMetadata?.executionType?k.fromJSON(e.gpMetadata.executionType):"sync"}function xe(e){return e&&(e.path||"image/svg+xml"===e.contentType||e.url?.endsWith(".svg"))}!function(e){e.ExportWebMap="ExportWebMap",e.GetLayoutTemplatesInfo="GetLayoutTemplatesInfo"}(U||(U={}));export{U as PrintServiceTask,R as execute,z as getGpPrintParams,W as getGpServerUrl,j as getMode,_ as getTaskExecutionMode,C as getTaskInfo,A as getTaskInfos,N as printCacheMap};
5
+ import{id as e}from"../kernel.js";import t from"../request.js";import{JSONMap as a}from"../core/jsonMap.js";import{createScreenPoint as i,pt2px as r,px2pt as n}from"../core/screenUtils.js";import{dataComponents as o,normalize as s}from"../core/urlUtils.js";import l from"../geometry/Polygon.js";import{collectLabelingFields as c}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as u}from"../layers/support/floorFilterUtils.js";import{getSizeRangeAtScale as y}from"../renderers/visualVariables/support/visualVariableUtils.js";import{asValidOptions as p,findToken as f}from"./utils.js";import{execute as d}from"./geoprocessor/execute.js";import{submitJob as m}from"./geoprocessor/submitJob.js";import{formatJsonMap as g}from"./support/fileFormat.js";import{toJSON as h}from"./support/layoutTemplate.js";import{getVisibleLayerViews as b,isScreenshotRequired as w,isBingMapsLayer as S,isBlendLayer as x,getCopyright as I,getSelectionSymbol as v,createPointLayer as D,createPolygonLayer as T,createPolylineLayer as L,createMultipointLayer as O,getContextBoundingBox as E}from"./support/printTaskUtils.js";import P from"./support/PrintTemplate.js";import{toJSON as M}from"./support/reportTemplate.js";const V={Feet:"ft",Kilometers:"km",Meters:"m",Miles:"mi"},F=new a({esriFeet:"Feet",esriKilometers:"Kilometers",esriMeters:"Meters",esriMiles:"Miles"}),k=new a({esriExecutionTypeSynchronous:"sync",esriExecutionTypeAsynchronous:"async"}),N=new Map;var R;async function U(e,t,a){const i=await J(e,a),r=await z(t,i);if("sync"===await j(e,a)){const{results:t}=await d(e,r,void 0,a);return t?.[0]?.value}const n=await m(e,r,void 0,a);await n.waitForJobCompletion({interval:t.updateDelay});const{value:o}=await n.fetchResultData("Output_File",null,a);return o}async function J(e,a){const i=W(e),r=N.get(i)??{gpServerUrl:i,legendLayerNameMap:{},legendLayers:[]};return r.gpMetadata??=(await t(i,p({f:"json"},a))).data,r.cimVersion=r.gpMetadata.cimVersion,N.set(i,r),r}async function j(e,t){return Se(await J(e,t))}async function A(e,a){const i=await J(e,a),r=i.gpMetadata.tasks,n=i.gpServerUrl;return i.taskInfos||(i.taskInfos={},await Promise.all(r?.map((async e=>{const r=(await t(`${n}/${e}`,p({f:"json"},a))).data,o=r.name.startsWith(R.GetLayoutTemplatesInfo)?R.GetLayoutTemplatesInfo:r.name.startsWith(R.ExportWebMap)?R.ExportWebMap:null;o&&(i.taskInfos[o]??=r)}))??[])),i.taskInfos}async function C(e,t,a){return(await A(e,a))[t]??null}async function _(e,t,a){const i=await C(e,t,a);return i?.executionType?k.fromJSON(i.executionType):"sync"}async function z(t,a){a=a||{is11xService:!1,legendLayerNameMap:{},legendLayers:[]};const i=t.template||new P;null==i.showLabels&&(i.showLabels=!0);const r=i.exportOptions;let n;const o=h(i.layout);if(r){if(n={dpi:r.dpi},"map_only"===o?.toLowerCase()||""===o){const{width:e,height:t}=r;n.outputSize=null!=e&&null!=t?[e,t]:void 0}}const s=i.layoutOptions;let l;if(s){let e,t;"Miles"===s.scalebarUnit||"Kilometers"===s.scalebarUnit?(e="Kilometers",t="Miles"):"Meters"!==s.scalebarUnit&&"Feet"!==s.scalebarUnit||(e="Meters",t="Feet"),l={titleText:s.titleText,authorText:s.authorText,copyrightText:s.copyrightText,customTextElements:s.customTextElements,elementOverrides:s.elementOverrides,scaleBarOptions:e||t?{metricUnit:F.toJSON(e)??void 0,metricLabel:e?V[e]:void 0,nonMetricUnit:F.toJSON(t)??void 0,nonMetricLabel:t?V[t]:void 0}:void 0}}let c=null;s?.legendLayers&&(c=s.legendLayers.map((e=>{const t=e.layerId;a.legendLayerNameMap[t]=e.title;const i={id:t};return e.subLayerIds&&(i.subLayerIds=e.subLayerIds),i})));const u=await $(t,i,a);if(u.operationalLayers){const e=new RegExp("[\\u4E00-\\u9FFF\\u0E00-\\u0E7F\\u0900-\\u097F\\u3040-\\u309F\\u30A0-\\u30FF\\u31F0-\\u31FF]"),t=/[\u0600-\u06FF]/,a=a=>{const i=a.text,r=a.font,n=r?.family?.toLowerCase();i&&r&&("arial"===n||"arial unicode ms"===n)&&(r.family=e.test(i)?"Arial Unicode MS":"Arial","normal"!==r.style&&t.test(i)&&(r.family="Arial Unicode MS"))};for(const i of u.operationalLayers)if(i.featureCollection?.layers)for(const e of i.featureCollection.layers){if(e.layerDefinition?.drawingInfo?.renderer?.symbol){const t=e.layerDefinition.drawingInfo.renderer;"esriTS"===t.symbol.type&&a(t.symbol)}if(e.featureSet?.features)for(const t of e.featureSet.features)t.symbol&&"esriTS"===t.symbol.type&&a(t.symbol)}}t.outSpatialReference&&(u.mapOptions.spatialReference=t.outSpatialReference.toJSON()),Object.assign(u,{exportOptions:n,layoutOptions:l||{}}),Object.assign(u.layoutOptions,{legendOptions:{operationalLayers:null!=c?c:a.legendLayers.slice()}}),a.legendLayers.length=0,N.set(a.gpServerUrl,a);const y={Web_Map_as_JSON:JSON.stringify(u),Format:g.toJSON(i.format),Layout_Template:o,Layout_Item_ID:void 0,Report_Template:M(i.report),Report_Item_ID:void 0};if(i.layoutItem){delete y.Layout_Template;const t=i.layoutItem;await t.load(),"public"!==t.access&&e&&await e.getCredential(a.gpServerUrl),y.Layout_Item_ID=JSON.stringify({id:t.id})}if(i.reportItem){delete y.Report_Template;const t=i.reportItem;await t.load(),"public"!==t.access&&e&&await e.getCredential(a.gpServerUrl),y.Report_Item_ID=JSON.stringify({id:t.id})}return t.extraParameters&&Object.assign(y,t.extraParameters),y}async function $(e,t,a){const i=e.view;let r=i.spatialReference;const n={operationalLayers:await q(i,t,a)};t.includeTables&&(n.tables=await le(i));let o=e.extent||a.ssExtent||i.extent;if(r?.isWrappable&&(o=o.clone()._normalize(!0),r=o.spatialReference),n.mapOptions={extent:o&&o.toJSON(),spatialReference:r&&r.toJSON(),showAttribution:t.attributionVisible},a.ssExtent=null,i.background&&(n.background=i.background.toJSON()),i.rotation&&(n.mapOptions.rotation=-i.rotation),t.scalePreserved&&(n.mapOptions.scale=t.outScale||i.scale),null!=i.timeExtent){const e=null!=i.timeExtent.start?i.timeExtent.start.getTime():null,t=null!=i.timeExtent.end?i.timeExtent.end.getTime():null;n.mapOptions.time=[e,t]}return t.reportOptions&&(n.reportOptions=t.reportOptions),n}function W(e){let t=e;const a=t.lastIndexOf("/GPServer/");return a>0&&(t=t.slice(0,a+9)),t}async function q(e,t,a){const i=[],r={layerView:null,printTemplate:t,view:e};let n=0;t.scalePreserved&&(n=t.outScale||e.scale);const o=b(e,n);for(const s of o){const e=s.layer;if(!e.loaded||"layers"in e)continue;let t;r.layerView=s,t=w(s)?await ne(e,r,a):S(e)?B(e):"csv"===e?.type?await K(e,r,a):"catalog-footprint"===e?.type?await G(e,r,a):"feature"===e?.type?await H(e,r,a):"geojson"===e?.type?await X(e,r,a):"graphics"===e?.type?await Y(e,r,a):"imagery"===e?.type?Z(e,a):"imagery-tile"===e?.type?await ee(e,r,a):"kml"===e?.type?await te(e,r,a):"map-image"===e?.type?ae(e,r,a):"map-notes"===e?.type?await ie(r,a):"open-street-map"===e?.type?re():"stream"===e?.type?await oe(e,r,a):"subtype-group"===e?.type?await se(e,a):"tile"===e?.type?ce(e,a):"vector-tile"===e?.type?await ue(e,r,a):"web-tile"===e?.type?ye(e):"wfs"===e?.type?await pe(e,r,a):"wms"===e?.type?fe(e,a):"wmts"===e?.type?de(e):await ne(e,r,a),t&&(Array.isArray(t)?i.push(...t):(t.id=e.id,t.title=a.legendLayerNameMap[e.id]||e.title,t.opacity=s.fullOpacity,t.minScale=e.minScale||0,t.maxScale=e.maxScale||0,x(e)&&e.blendMode&&"normal"!==e.blendMode&&(t.blendMode=e.blendMode),i.push(t)))}if(n)for(const s of i)s.minScale=0,s.maxScale=0;if(e.graphics?.length){const r=await Q(null,e.graphics,t,a);r&&i.push(r)}return i}function B(e){return{culture:e.culture,key:e.key,type:"BingMaps"+("aerial"===e.style?"Aerial":"hybrid"===e.style?"Hybrid":"Road")}}async function G(e,{layerView:t,printTemplate:a},i){if(parseFloat(i.cimVersion)<3.1){return Q(e,await be(t),a,i)}const r=e.parent,n={id:(o=we(r,"web-map")).id,url:o.url,layerType:o.layerType,customParameters:o.customParameters,dynamicGroupLayer:{visibility:!1},footprintLayer:o.footprintLayer,layerDefinition:o.layerDefinition};var o;return me(n,r),n}async function K(e,t,a){e.legendEnabled&&a.legendLayers.push({id:e.id});const i=t.layerView,r=t.printTemplate;if(!(i.filter||e.portalItem&&"public"!==e.portalItem.access)){const t=we(e,"web-map");return t.type="CSV",delete t.popupInfo,delete t.layerType,t.showLabels=r.showLabels&&e.labelsVisible,t}return Q(e,await be(i),r,a)}async function Q(e,t,a,i){let r;const n=T(),o=L(),s=D(),u=O(),y=D();if(y.layerDefinition.name="textLayer",delete y.layerDefinition.drawingInfo,e){if("esri.layers.FeatureLayer"===e.declaredClass||"esri.layers.StreamLayer"===e.declaredClass?n.layerDefinition.name=o.layerDefinition.name=s.layerDefinition.name=u.layerDefinition.name=i.legendLayerNameMap[e.id]||e.arcgisProps?.title||e.title:"esri.layers.GraphicsLayer"===e.declaredClass&&(t=e.graphics.items),e.renderer){const t=e.renderer.toJSON(),a=n.layerDefinition.drawingInfo;a&&(a.renderer=t);const i=o.layerDefinition.drawingInfo;i&&(i.renderer=t);const r=s.layerDefinition.drawingInfo;r&&(r.renderer=t);const l=u.layerDefinition.drawingInfo;l&&(l.renderer=t)}if(a.showLabels&&e.labelsVisible&&"function"==typeof e.write){const t=we(e,"web-map"),a=t.layerDefinition?.drawingInfo?.labelingInfo;if(a){r=!0;const e=n.layerDefinition.drawingInfo;e&&(e.labelingInfo=a);const t=o.layerDefinition.drawingInfo;t&&(t.labelingInfo=a);const i=s.layerDefinition.drawingInfo;i&&(i.labelingInfo=a);const l=u.layerDefinition.drawingInfo;l&&(l.labelingInfo=a)}}}let p;e?.renderer||r||(delete n.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete s.layerDefinition.drawingInfo,delete u.layerDefinition.drawingInfo);const f=e?.fieldsIndex,d=e?.renderer;if(f){const t=new Set;r&&await c(t,e),d&&"function"==typeof d.collectRequiredFields&&await d.collectRequiredFields(t,f),p=Array.from(t);const a=f.fields.map((e=>e.toJSON()));n.layerDefinition.fields=a,o.layerDefinition.fields=a,s.layerDefinition.fields=a,u.layerDefinition.fields=a}const m=t?.length;let g;for(let c=0;c<m;c++){const e=t[c]||t.at(c);if(!1!==e.visible&&e.geometry){if(g=e.toJSON(),g.hasOwnProperty("popupTemplate")&&delete g.popupTemplate,g.geometry?.z&&delete g.geometry.z,g.symbol&&(g.symbol.angle||delete g.symbol.angle,xe(g.symbol)?g.symbol=await ge(g.symbol,i):g.symbol.text&&delete g.attributes),(!a||!a.forceFeatureAttributes)&&p?.length){const e={};for(const t of p)g.attributes?.hasOwnProperty(t)&&(e[t]=g.attributes[t]);g.attributes=e}"polygon"===e.geometry.type?n.featureSet.features.push(g):"polyline"===e.geometry.type?o.featureSet.features.push(g):"point"===e.geometry.type?g.symbol?.text?y.featureSet.features.push(g):s.featureSet.features.push(g):"multipoint"===e.geometry.type?u.featureSet.features.push(g):"extent"===e.geometry.type&&(g.geometry=l.fromExtent(e.geometry).toJSON(),n.featureSet.features.push(g))}}const h=[n,o,u,s,y].filter((e=>e.featureSet.features.length>0));for(const l of h){const e=l.featureSet.features.every((e=>e.symbol));if(e&&(!a||!a.forceFeatureAttributes))for(const t of l.featureSet.features)delete t.attributes;e&&delete l.layerDefinition.drawingInfo,l.layerDefinition.drawingInfo?.renderer&&await he(l.layerDefinition.drawingInfo.renderer,i)}return h.length?{featureCollection:{layers:h},showLabels:r}:null}async function H(e,t,a){let i;const r=e.renderer,n=parseFloat(a.cimVersion);if("binning"===e.featureReduction?.type||"cluster"===e.featureReduction?.type&&(n<2.9||"pie-chart"===e.featureReduction.renderer?.type)||"pie-chart"===r?.type&&n<3.1||"dot-density"===r?.type&&n<2.6)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});const o=t.layerView,{printTemplate:s,view:l}=t,c="feature-layer"!==e.source?.type&&"ogc-feature"!==e.source?.type;if(o.filter||c||!r||"field"in r&&null!=r.field&&!e.getField(r.field)){const t=await be(o);i=await Q(e,t,s,a)}else{if(i={id:(p=we(e)).id,title:p.title,url:p.url,layerType:p.layerType,customParameters:p.customParameters,layerDefinition:p.layerDefinition,charts:s.includeCharts?p.charts:void 0},s.attributionVisible&&(i.credits=I(e)),i.showLabels=s.showLabels&&e.labelsVisible,me(i,e),delete i.layerDefinition?.featureReduction?.disablePopup,delete i.layerDefinition?.featureReduction?.popupInfo,o.displayFilterEnabled||delete i.layerDefinition?.displayFilterInfo,i.layerDefinition?.drawingInfo?.renderer&&(delete i.layerDefinition.minScale,delete i.layerDefinition.maxScale,await he(i.layerDefinition.drawingInfo.renderer,a),"visualVariables"in r&&r.visualVariables?.[0])){const e=r.visualVariables[0];if("size"===e.type&&e.maxSize&&"number"!=typeof e.maxSize&&e.minSize&&"number"!=typeof e.minSize){const t=y(e,l.scale);i.layerDefinition.drawingInfo.renderer.visualVariables[0].minSize=t.minSize,i.layerDefinition.drawingInfo.renderer.visualVariables[0].maxSize=t.maxSize}}const t=u(o);if(t&&(i.layerDefinition??={},i.layerDefinition.definitionExpression=i.layerDefinition.definitionExpression?`(${i.layerDefinition.definitionExpression}) AND (${t})`:t),e.gdbVersion&&(i.layerDefinition??={},i.layerDefinition.gdbVersion=e.gdbVersion),o.hasHighlight&&"highlightIds"in o){const t=o;i.selectionObjectIds=t.highlightIds,i.selectionSymbol=v(e.geometryType,t.highlightOptions??l.highlightOptions)}}var p;return i}async function X(e,t,a){if("binning"===e.featureReduction?.type||"cluster"===e.featureReduction?.type)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});return Q(e,await be(t.layerView),t.printTemplate,a)}async function Y(e,{printTemplate:t},a){return Q(e,null,t,a)}function Z(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});const a={layerType:(i=we(e)).layerType,customParameters:i.customParameters};var i;return a.bandIds=e.bandIds,a.compressionQuality=e.compressionQuality,a.format=e.format,a.interpolation=e.interpolation,(e.mosaicRule||e.definitionExpression)&&(a.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.rasterFunction&&(a.renderingRule=e.rasterFunction.toJSON()),e.renderer&&(a.layerDefinition??={},a.layerDefinition.drawingInfo??={},a.layerDefinition.drawingInfo.renderer=e.renderer.toJSON()),me(a,e),a}async function ee(e,t,a){if("flow"===e.renderer?.type)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});const i={bandIds:(r=we(e)).bandIds,customParameters:r.customParameters,interpolation:r.interpolation,layerDefinition:r.layerDefinition};var r;return i.layerType="ArcGISImageServiceLayer",me(i,e),i}async function te(e,t,a){const i=t.printTemplate;if(!e.portalItem||"public"===e.portalItem.access){const t=we(e,"web-map");return t.type="kml",delete t.layerType,t.url=s(e.url),t}const r=[],n=t.layerView,o="data:image/png;base64,";n.allVisibleMapImages.forEach(((t,a)=>{const i={id:`${e.id}_image${a}`,type:"image",title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:n.fullOpacity,extent:t.extent};t.href.startsWith(o)?i.imageData=t.href.slice(o.length):i.url=t.href,r.push(i)}));const l=[...n.allVisiblePoints.items,...n.allVisiblePolylines.items,...n.allVisiblePolygons.items],c={id:e.id,...await Q(null,l,i,a)};return r.push(c),r}function ae(e,{printTemplate:t,view:a},i){let r;const n={id:e.id,subLayerIds:[]};let o=[];const s=a.scale,l=e=>{const t=0===s,a=0===e.minScale||s<=e.minScale,i=0===e.maxScale||s>=e.maxScale;if(e.visible&&(t||a&&i))if(e.sublayers)e.sublayers.forEach(l);else{const t=e.toExportImageJSON(),a={id:e.id,name:e.title,layerDefinition:{definitionExpression:t.definitionExpression,drawingInfo:t.drawingInfo,orderBy:t.orderBy,source:t.source}};o.unshift(a),n.subLayerIds.push(e.id)}};var c;return e.sublayers&&e.sublayers.forEach(l),o.length&&(o=o.map((({id:e,name:t,layerDefinition:a})=>({id:e,name:t,layerDefinition:a}))),r={layerType:(c=we(e)).layerType,customParameters:c.customParameters},r.layers=o,r.visibleLayers=e.capabilities?.exportMap?.supportsDynamicLayers?void 0:n.subLayerIds,t.attributionVisible&&(r.credits=I(e)),e.gdbVersion&&(r.gdbVersion=e.gdbVersion),me(r,e),e.legendEnabled&&i.legendLayers.push(n)),r}async function ie({layerView:e,printTemplate:t},a){const i=[],r=e.layer;if(null!=r.featureCollections)for(const n of r.featureCollections){const e=await Q(n,n.source,t,a);e&&i.push(...e.featureCollection.layers)}else if(null!=r.sublayers)for(const n of r.sublayers){const e=await Q(null,n.graphics,t,a);e&&i.push(...e.featureCollection.layers)}return{featureCollection:{layers:i}}}function re(){return{type:"OpenStreetMap"}}async function ne(e,{printTemplate:t,view:a},r){const n={type:"image"},s={format:"png",ignoreBackground:!0,ignorePadding:!0,layers:[e]};0!==a.rotation&&(s.rotation=0);const l=r.ssExtent||a.state.extent.clone();let c=96,u=!0,y=!0;if(t.exportOptions){const e=t.exportOptions;null!=e.dpi&&e.dpi>0&&(c=e.dpi),null!=e.width&&e.width>0&&(u=e.width%2==a.width%2),null!=e.height&&e.height>0&&(y=e.height%2==a.height%2)}if("map-only"===t.layout&&t.scalePreserved&&(!t.outScale||t.outScale===a.scale)&&96===c&&(!u||!y)&&a.state.extent.equals(a.extent)&&(s.area={x:0,y:0,width:a.width,height:a.height},u||(s.area.width-=1),y||(s.area.height-=1),!r.ssExtent)){const e=a.toMap(i(s.area.width,s.area.height));l.ymin=e.y,l.xmax=e.x,r.ssExtent=l}n.extent=l.clone()._normalize(!0).toJSON();const p=await a.takeScreenshot(s);return n.imageData=o(p.dataUrl)?.data,n}async function oe(e,{layerView:t,printTemplate:a},i){e.legendEnabled&&i.legendLayers.push({id:e.id});return Q(e,await be(t),a,i)}async function se(e,t){if(e.legendEnabled)for(const r of e.sublayers)r.legendEnabled&&t.legendLayers.push({id:r.id});const a={customParameters:(i=we(e)).customParameters,effect:i.effect,layerDefinition:i.layerDefinition,layerType:i.layerType,layers:i.layers,url:i.url};var i;if(me(a,e),Array.isArray(a.layers)){for(const e of a.layers)delete e.popupInfo;a.token&&a.layers.length>0&&(a.layers[a.layers.length-1].token=a.token,delete a.token)}return a}async function le(e){const t=[],a=[];for(const r of e.map.allTables)"feature"!==r.type||r.loaded||a.push(r.load());a.length&&await Promise.allSettled(a);for(const r of e.map.allTables)if("feature"===r.type&&r.loaded&&r.isTable&&"feature-layer"===r.source?.type){const e={id:(i=we(r)).id,title:i.title,customParameters:i.customParameters,layerDefinition:{definitionExpression:i.layerDefinition?.definitionExpression},url:i.url};me(e,r),t.push(e)}var i;return t.length?t:void 0}function ce(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});const a={layerType:(i=we(e)).layerType,customParameters:i.customParameters};var i;return me(a,e),a}async function ue(e,t,a){const i=t.layerView;if(e.serviceUrl&&e.styleUrl&&!i.spriteSourceChanged&&!i.styleChanged){const t=f(e.styleUrl,e.apiKey),i=f(e.serviceUrl,e.apiKey);if(!t&&!i||"2.1.0"!==a.cimVersion){const a={type:"VectorTileLayer"};return a.styleUrl=s(e.styleUrl),a.token=t,i!==t&&(a.additionalTokens=[{url:e.serviceUrl,token:i}]),a}}return ne(e,t,a)}function ye(e){const t=e.urlTemplate?.replace(/\${/g,"{"),a={type:"WebTiledLayer",urlTemplate:t,credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(a.subDomains=e.subDomains),a}async function pe(e,t,a){return parseFloat(a.cimVersion)<3.5?ne(e,t,a):(e.legendEnabled&&a.legendLayers.push({id:e.id}),{layerType:(i=we(e,"web-map")).layerType,layerDefinition:i.layerDefinition,url:i.url,wfsInfo:i.wfsInfo});var i}function fe(e,t){let a;const i=[],r=e=>{e.visible&&(e.sublayers?e.sublayers.forEach(r):e.name&&i.unshift(e.name))};return e.sublayers&&e.sublayers.forEach(r),i.length&&(e.legendEnabled&&t.legendLayers.push({id:e.id,subLayerIds:i}),a={type:"wms",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:i,url:s(e.url),version:e.version}),a}function de(e){const t=e.activeLayer;return{type:"wmts",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:s(e.url)}}function me(e,t){t.url&&(e.url=s(e.url||t.url),e.token=f(e.url,t.apiKey))}async function ge(e,a){a.canvas||(a.canvas=document.createElement("canvas"));const i=1024;a.canvas.width=i,a.canvas.height=i;const o=a.canvas.getContext("2d");let s,l;if(e.path){const t=new Path2D(e.path);t.closePath(),o.fillStyle=Array.isArray(e.color)?`rgba(${e.color[0]},${e.color[1]},${e.color[2]},${e.color[3]/255})`:"rgb(0,0,0)",o.fill(t);const a=E(o);if(!a)return null;o.clearRect(0,0,i,i);const n=r(e.size)/Math.max(a.width,a.height);o.scale(n,n);const c=i/n,u=c/2-a.width/2-a.x,y=c/2-a.height/2-a.y;if(o.translate(u,y),Array.isArray(e.color)&&o.fill(t),e.outline?.width&&Array.isArray(e.outline.color)){const i=e.outline;o.lineWidth=r(i.width)/n,o.lineJoin="round",o.strokeStyle=`rgba(${i.color[0]},${i.color[1]},${i.color[2]},${i.color[3]/255})`,o.stroke(t),a.width+=o.lineWidth,a.height+=o.lineWidth}a.width*=n,a.height*=n;const p=o.getImageData(i/2-a.width/2,i/2-a.height/2,Math.ceil(a.width),Math.ceil(a.height));s=p.width,l=p.height,o.canvas.width=s,o.canvas.height=l,o.putImageData(p,0,0)}else{const a="image/svg+xml"===e.contentType?"data:image/svg+xml;base64,"+e.imageData:e.url,i=(await t(a,{responseType:"image"})).data;s=r(e.width),l=r(e.height),o.canvas.width=s,o.canvas.height=l,o.drawImage(i,0,0,o.canvas.width,o.canvas.height)}return{type:"esriPMS",imageData:o.canvas.toDataURL("image/png").slice(22),angle:e.angle,contentType:"image/png",height:n(l),width:n(s),xoffset:e.xoffset,yoffset:e.yoffset}}async function he(e,t){const a=e.type;if("simple"===a&&xe(e.symbol))e.symbol=await ge(e.symbol,t);else if("uniqueValue"===a||"classBreaks"===a){xe(e.defaultSymbol)&&(e.defaultSymbol=await ge(e.defaultSymbol,t));const i=e["uniqueValue"===a?"uniqueValueInfos":"classBreakInfos"];if(i)for(const e of i)xe(e.symbol)&&(e.symbol=await ge(e.symbol,t))}}async function be(e){return e.queryFeatures(e.createQuery()).then((e=>e.features))}function we(e,t){return e.write({},{ignorePersistenceEnabled:!0,origin:t})??{}}function Se(e){return e.gpMetadata?.executionType?k.fromJSON(e.gpMetadata.executionType):"sync"}function xe(e){return e&&(e.path||"image/svg+xml"===e.contentType||e.url?.endsWith(".svg"))}!function(e){e.ExportWebMap="ExportWebMap",e.GetLayoutTemplatesInfo="GetLayoutTemplatesInfo"}(R||(R={}));export{R as PrintServiceTask,U as execute,z as getGpPrintParams,W as getGpServerUrl,j as getMode,_ as getTaskExecutionMode,C as getTaskInfo,A as getTaskInfos,N as printCacheMap};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import o from"../../request.js";import"../../core/has.js";import{strict as t}from"../../core/jsonMap.js";import s from"../../core/JSONSupport.js";import{onAbort as r,createAbortError as i}from"../../core/promiseUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as c}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{parseUrl as l}from"../utils.js";import u from"../geoprocessor/GPOptions.js";import{gpEncode as b,decode as m}from"../geoprocessor/utils.js";import j from"./GPMessage.js";var p;const h=t()({esriJobCancelled:"job-cancelled",esriJobCancelling:"job-cancelling",esriJobDeleted:"job-deleted",esriJobDeleting:"job-deleting",esriJobTimedOut:"job-timed-out",esriJobExecuting:"job-executing",esriJobFailed:"job-failed",esriJobNew:"job-new",esriJobSubmitted:"job-submitted",esriJobSucceeded:"job-succeeded",esriJobWaiting:"job-waiting"},{ignoreUnknown:!1}),d=1e3;let g=class extends s{static{p=this}constructor(e){super(e),this.jobId=null,this.jobStatus=null,this.messages=null,this.progress=null,this.requestOptions=null,this.sourceUrl=null,this._cancelJobTimer=void 0,this._jobCompletionTimer=void 0}async cancelJob(e){const{jobId:t,sourceUrl:s}=this,{path:a}=l(s),c={...this.requestOptions,...e,query:{f:"json"}},n=`${a}/jobs/${t}/cancel`,{data:u}=await o(n,c),{messages:b,jobStatus:m,progress:j}=p.fromJSON(u);return this.set({messages:b,jobStatus:m,progress:j}),"job-cancelled"===m?this:new Promise(((o,t)=>{r(c.signal,(()=>{this.clearCancelJobTimer(),t(i())})),this.clearCancelJobTimer();const s=()=>{this._cancelJobTimer||t(i()),this.checkJobStatus(e).then((({jobStatus:e})=>{switch(e){case"job-cancelling":default:this._cancelJobTimer=setTimeout(s,d);break;case"job-deleted":case"job-deleting":case"job-executing":case"job-failed":case"job-new":case"job-submitted":case"job-succeeded":case"job-timed-out":case"job-waiting":t(this);break;case"job-cancelled":o(this)}}))};this._cancelJobTimer=setTimeout(s,d)}))}destroy(){clearInterval(this._cancelJobTimer),clearInterval(this._jobCompletionTimer)}async checkJobStatus(e){const{path:t}=l(this.sourceUrl),s={...this.requestOptions,...e,query:{f:"json"}},r=`${t}/jobs/${this.jobId}`,{data:i}=await o(r,s),{messages:a,jobStatus:c,progress:n}=p.fromJSON(i);return this.set({messages:a,jobStatus:c,progress:n}),this}async fetchResultData(e,t,s){t=u.from(t||{});const{returnColumnName:r,returnFeatureCollection:i,returnM:a,returnZ:c,outSpatialReference:n}=t,{path:j}=l(this.sourceUrl),p=b({returnColumnName:r||null,returnFeatureCollection:i||null,returnM:a||null,returnZ:c||null,outSR:n,returnType:"data",f:"json"},null),h={...this.requestOptions,...s,query:p},d=`${j}/jobs/${this.jobId}/results/${e}`,{data:g}=await o(d,h);return m(g)}async fetchResultImage(e,t,s){const{path:r}=l(this.sourceUrl),i={...t.toJSON(),f:"json"},a=b(i),c={...this.requestOptions,...s,query:a},n=`${r}/jobs/${this.jobId}/results/${e}`,{data:u}=await o(n,c);return m(u)}async fetchResultMapImageLayer(){const{path:e}=l(this.sourceUrl),o=e.indexOf("/GPServer/"),t=`${e.slice(0,Math.max(0,o))}/MapServer/jobs/${this.jobId}`;return new(0,(await import("../../layers/MapImageLayer.js")).default)({url:t})}async waitForJobCompletion(e={}){const{interval:o=d,signal:t,statusCallback:s}=e;return new Promise(((e,a)=>{r(t,(()=>{this.clearJobCompletionTimer(),a(i())})),this.clearJobCompletionTimer();const c=()=>{this._jobCompletionTimer||a(i()),this.checkJobStatus().then((({jobStatus:t})=>{switch(t){case"job-succeeded":e(this);break;case"job-executing":case"job-new":case"job-submitted":case"job-waiting":s&&s(this),this._jobCompletionTimer=setTimeout(c,o);break;case"job-cancelled":case"job-cancelling":case"job-deleted":case"job-deleting":case"job-failed":case"job-timed-out":a(this);break;default:this._jobCompletionTimer=setTimeout(c,o)}})).catch((e=>{a(e)}))};this._jobCompletionTimer=setTimeout(c,o)}))}clearCancelJobTimer(){clearTimeout(this._cancelJobTimer),this._cancelJobTimer=void 0}clearJobCompletionTimer(){clearTimeout(this._jobCompletionTimer),this._jobCompletionTimer=void 0}};e([a()],g.prototype,"jobId",void 0),e([c(h,{ignoreUnknown:!1})],g.prototype,"jobStatus",void 0),e([a({type:[j]})],g.prototype,"messages",void 0),e([a()],g.prototype,"progress",void 0),e([a()],g.prototype,"requestOptions",void 0),e([a({json:{write:!0}})],g.prototype,"sourceUrl",void 0),g=p=e([n("esri.rest.support.JobInfo")],g);export{g as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import o from"../../request.js";import"../../core/has.js";import{strict as t}from"../../core/jsonMap.js";import s from"../../core/JSONSupport.js";import{onAbort as r,createAbortError as i}from"../../core/promiseUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as c}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{parseUrl as l}from"../utils.js";import u from"../geoprocessor/GPOptions.js";import{gpEncode as b,decode as m}from"../geoprocessor/utils.js";import j from"./GPMessage.js";var p;const h=t()({esriJobCancelled:"job-cancelled",esriJobCancelling:"job-cancelling",esriJobDeleted:"job-deleted",esriJobDeleting:"job-deleting",esriJobTimedOut:"job-timed-out",esriJobExecuting:"job-executing",esriJobFailed:"job-failed",esriJobNew:"job-new",esriJobSubmitted:"job-submitted",esriJobSucceeded:"job-succeeded",esriJobWaiting:"job-waiting"},{ignoreUnknown:!1}),d=1e3;let g=class extends s{static{p=this}constructor(e){super(e),this.jobId=null,this.jobStatus=null,this.messages=null,this.progress=null,this.requestOptions=null,this.sourceUrl=null,this._cancelJobTimer=void 0,this._jobCompletionTimer=void 0}async cancelJob(e){const{jobId:t,sourceUrl:s}=this,{path:a}=l(s),c={...this.requestOptions,...e,query:{f:"json"}},n=`${a}/jobs/${t}/cancel`,{data:u}=await o(n,c),{messages:b,jobStatus:m,progress:j}=p.fromJSON(u);return this.set({messages:b,jobStatus:m,progress:j}),"job-cancelled"===m?this:new Promise(((o,t)=>{r(c.signal,(()=>{this.clearCancelJobTimer(),t(i())})),this.clearCancelJobTimer();const s=()=>{this._cancelJobTimer||t(i()),this.checkJobStatus(e).then((({jobStatus:e})=>{switch(e){case"job-cancelling":default:this._cancelJobTimer=setTimeout(s,d);break;case"job-deleted":case"job-deleting":case"job-executing":case"job-failed":case"job-new":case"job-submitted":case"job-succeeded":case"job-timed-out":case"job-waiting":t(this);break;case"job-cancelled":o(this)}})).catch((e=>{t(e)}))};this._cancelJobTimer=setTimeout(s,d)}))}destroy(){clearInterval(this._cancelJobTimer),clearInterval(this._jobCompletionTimer)}async checkJobStatus(e){const{path:t}=l(this.sourceUrl),s={...this.requestOptions,...e,query:{f:"json"}},r=`${t}/jobs/${this.jobId}`,{data:i}=await o(r,s),{messages:a,jobStatus:c,progress:n}=p.fromJSON(i);return this.set({messages:a,jobStatus:c,progress:n}),this}async fetchResultData(e,t,s){t=u.from(t||{});const{returnColumnName:r,returnFeatureCollection:i,returnM:a,returnZ:c,outSpatialReference:n}=t,{path:j}=l(this.sourceUrl),p=b({returnColumnName:r||null,returnFeatureCollection:i||null,returnM:a||null,returnZ:c||null,outSR:n,returnType:"data",f:"json"},null),h={...this.requestOptions,...s,query:p},d=`${j}/jobs/${this.jobId}/results/${e}`,{data:g}=await o(d,h);return m(g)}async fetchResultImage(e,t,s){const{path:r}=l(this.sourceUrl),i={...t.toJSON(),f:"json"},a=b(i),c={...this.requestOptions,...s,query:a},n=`${r}/jobs/${this.jobId}/results/${e}`,{data:u}=await o(n,c);return m(u)}async fetchResultMapImageLayer(){const{path:e}=l(this.sourceUrl),o=e.indexOf("/GPServer/"),t=`${e.slice(0,Math.max(0,o))}/MapServer/jobs/${this.jobId}`;return new(0,(await import("../../layers/MapImageLayer.js")).default)({url:t})}async waitForJobCompletion(e={}){const{interval:o=d,signal:t,statusCallback:s}=e;return new Promise(((e,a)=>{r(t,(()=>{this.clearJobCompletionTimer(),a(i())})),this.clearJobCompletionTimer();const c=()=>{this._jobCompletionTimer||a(i()),this.checkJobStatus().then((({jobStatus:t})=>{switch(t){case"job-succeeded":e(this);break;case"job-executing":case"job-new":case"job-submitted":case"job-waiting":s&&s(this),this._jobCompletionTimer=setTimeout(c,o);break;case"job-cancelled":case"job-cancelling":case"job-deleted":case"job-deleting":case"job-failed":case"job-timed-out":a(this);break;default:this._jobCompletionTimer=setTimeout(c,o)}})).catch((e=>{a(e)}))};this._jobCompletionTimer=setTimeout(c,o)}))}clearCancelJobTimer(){clearTimeout(this._cancelJobTimer),this._cancelJobTimer=void 0}clearJobCompletionTimer(){clearTimeout(this._jobCompletionTimer),this._jobCompletionTimer=void 0}};e([a()],g.prototype,"jobId",void 0),e([c(h,{ignoreUnknown:!1})],g.prototype,"jobStatus",void 0),e([a({type:[j]})],g.prototype,"messages",void 0),e([a()],g.prototype,"progress",void 0),e([a()],g.prototype,"requestOptions",void 0),e([a({json:{write:!0}})],g.prototype,"sourceUrl",void 0),g=p=e([n("esri.rest.support.JobInfo")],g);export{g as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let e=class extends o{constructor(r){super(r)}};r([t({type:String,json:{write:!0}})],e.prototype,"key",void 0),r([t({type:String,json:{write:!0}})],e.prototype,"text",void 0),e=r([s("esri.rest.support.TranslateContent")],e);const p=e;export{p as default};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let e=class extends o{constructor(r){super(r)}};r([t({type:String,json:{write:!0}})],e.prototype,"key",void 0),r([t({type:String,json:{write:!0}})],e.prototype,"text",void 0),e=r([s("esri.rest.support.TranslateContent")],e);export{e as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{apiKey as e}from"./commonProperties.js";import p from"./TranslateContent.js";let i=class extends o{constructor(t){super(t),this.to=null,this.contents=null,this.portalUrl="https://www.arcgis.com",this.translator="esri",this.from=null,this.apiKey=null}};t([r({type:[String],json:{write:!0}})],i.prototype,"to",void 0),t([r({type:[p],json:{write:!0}})],i.prototype,"contents",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"portalUrl",void 0),t([r({type:String,json:{write:!0,default:"esri"}})],i.prototype,"translator",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"from",void 0),t([r(e)],i.prototype,"apiKey",void 0),i=t([s("esri.rest.support.TranslateParameters")],i);const n=i;export{n as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{apiKey as e}from"./commonProperties.js";import p from"./TranslateContent.js";let i=class extends o{constructor(t){super(t),this.to=null,this.contents=null,this.portalUrl="https://www.arcgis.com",this.translator="esri",this.from=null,this.apiKey=null}};t([r({type:[String],json:{write:!0}})],i.prototype,"to",void 0),t([r({type:[p],json:{write:!0}})],i.prototype,"contents",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"portalUrl",void 0),t([r({type:String,json:{write:!0,default:"esri"}})],i.prototype,"translator",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"from",void 0),t([r(e)],i.prototype,"apiKey",void 0),i=t([s("esri.rest.support.TranslateParameters")],i);export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";let s=class extends t{constructor(e){super(e),this.text=null,this.detectedLanguage="en",this.detectedLanguageScore=-1}};e([r({type:String,json:{write:!0}})],s.prototype,"key",void 0),e([r({type:String,json:{write:!0}})],s.prototype,"text",void 0),e([r({type:String,json:{read:{source:"detectedLanguage.language"},write:{target:"detectedLanguage.language"}}})],s.prototype,"detectedLanguage",void 0),e([r({type:Number,json:{read:{source:"detectedLanguage.score"},write:{target:"detectedLanguage.score"}}})],s.prototype,"detectedLanguageScore",void 0),e([r({type:Object,json:{write:!0}})],s.prototype,"translation",void 0),s=e([o("esri.rest.support.TranslateResult")],s);const a=s;export{a as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";let s=class extends t{constructor(e){super(e),this.text=null,this.detectedLanguage="en",this.detectedLanguageScore=-1}};e([r({type:String,json:{write:!0}})],s.prototype,"key",void 0),e([r({type:String,json:{write:!0}})],s.prototype,"text",void 0),e([r({type:String,json:{read:{source:"detectedLanguage.language"},write:{target:"detectedLanguage.language"}}})],s.prototype,"detectedLanguage",void 0),e([r({type:Number,json:{read:{source:"detectedLanguage.score"},write:{target:"detectedLanguage.score"}}})],s.prototype,"detectedLanguageScore",void 0),e([r({type:Object,json:{write:!0}})],s.prototype,"translation",void 0),s=e([o("esri.rest.support.TranslateResult")],s);export{s as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- let a;function e(){return a||(a=(async()=>{const a=await import("./arcadeUtils.js");return{arcade:a.arcade,arcadeUtils:a,Dictionary:a.Dictionary,Feature:a.arcadeFeature,Voxel:a.Voxel}})()),a}export{e as loadArcade};
5
+ let a;function e(){return a||(a=(async()=>{const[a,e,r]=await Promise.all([import("./arcadeUtils.js"),import("../arcade/batchExec.js"),import("../arcade/functions/aiServices.js")]);return{arcade:a.arcade,arcadeUtils:a,batchExec:e,aiServices:r,Dictionary:a.Dictionary,Feature:a.arcadeFeature,Voxel:a.Voxel}})()),a}export{e as loadArcade};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- const c="20250507",a="9508c1aac42a9f16acd5171386c474687ff3a78c";export{c as buildDate,a as commitHash};
5
+ const a="20250509",c="557354f33cc6d6b099ab71566481aa9aa924c780";export{a as buildDate,c as commitHash};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{isRGB as e}from"../../core/colorUtils.js";import{getFontFamily as t}from"../../core/fontUtils.js";import"../../core/has.js";import{clone as r}from"../../core/lang.js";import i from"../../core/Logger.js";import{pt2px as o,px2pt as a}from"../../core/screenUtils.js";import{numericHash as s}from"../../core/string.js";import{checkForAnimations as l,getAnimationParams as n,handleAbsoluteAnchor as p,handleMarker as c,handleRelativeAnchor as m,getFrameTranslation as y,translate as d,getStaticParam as h,shouldUseAnimatedPath as f}from"./animationUtils.js";import{CIMSymbolHelper as u}from"./CIMSymbolHelper.js";import{antialiasingOutlineFillSettings as v}from"./constants.js";import{defaultCIMValues as O}from"./defaultCIMValues.js";import{Alignment as g,SymbolUnits as S}from"./enums.js";import{fitVectorMarker as _}from"./fitVectorMarker.js";import{OverrideHelper as M}from"./OverrideHelper.js";import{getExtent as C,getSDFMetrics as k,getSDFDimensions as b}from"./SDFHelper.js";import{colorToArray as x,normalizeAlpha as P,getSize as z,isCIMMarkerStrokePlacement as E,hasStrokeLayer as I,getTintColor as L,getNumericValue as V,normalizePrimitiveOverrideProps as N,getDefaultCIMValue as R,getEnum as A,getStrokeWidth as w,getFillColor as T,getStrokeColor as G,fromCIMFontDecoration as F,fromCIMFontStyle as X,fromCIMVerticalAlignment as j,fromCIMHorizontalAlignment as Y,getTextCasing as W,isValidCIMValue as D,uncapitalize as U}from"./utils.js";import{CIMEffectHelper as H}from"./effects/CIMEffectHelper.js";import{rasterizedVectorMarkerMinSize as J,randomInsidePolygonTextureSize as B}from"../../views/2d/engine/webgl/definitions.js";const q=()=>i.getLogger("esri.symbols.cim.cimAnalyzer");function K(e){const t=e.markerPlacement;return t&&t.angleToLine?g.MAP:g.SCREEN}class Q{constructor(e){this._cimLayers=[],this._poMap={},this._primitiveOverrides=[],this._hasTextStringTemplates=!1,e&&(this._resourceManager=e)}analyzeSymbolReference(t,r,i){if(this._cimLayers=i??[],!t)return this._cimLayers;if(this._reset(),this._hasTextStringTemplates=t.hasTextStringTemplates??!1,t.primitiveOverrides){this._primitiveOverrides=t.primitiveOverrides;for(const t of this._primitiveOverrides){const r=t.valueExpressionInfo;if(r)this._setPoMap(t.primitiveName,t.propertyName,r);else if(null!=t.value){let r=t.value;t.propertyName.includes("Color")&&(e(r)&&(r=x(r)),r=P(r)),this._setPoMap(t.primitiveName,t.propertyName,r)}}}return this._analyzeSymbol(t.symbol,r),this._cimLayers}_reset(){this._cimLayers=[],this._poMap={},this._primitiveOverrides=[]}_analyzeSymbol(e,t){switch(e?.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this._analyzeMultiLayerSymbol(e,t)}}_analyzeMultiLayerSymbol(e,t){const r=e?.symbolLayers;if(!r)return;for(let l=0;l<r.length;l++){const e=r[l];"CIMVectorMarker"===e.type&&(r[l]=_(e,this._resourceManager.geometryEngine))}const i=e.effects;let o=g.SCREEN;const a=z(e)??0;if("CIMPointSymbol"===e.type&&"Map"===e.angleAlignment&&(o=g.MAP),oe(r,i))return this._analyzeCompositeOutlineFill(r,i,a);let s={transform:[0,0,0,1],fromColor:[1,1,1,1],toColor:[1,1,1,1],colorMix:[0,0,0,0],toOpacity:[1,1,1,1],opacityMix:[0,0,0,0],hasAnimations:l(e)};s=n(this._poMap,e,s);const p="CIMPolygonSymbol"===e.type;let c=r.length;for(;c--;){const l=r[c];if(!l||!1===l.enable)continue;let n;i?.length&&(n=[...i]);const m=l.effects;m?.length&&(i?n.push(...m):n=[...m]);let y=null;if(n){y=[];for(const e of n){const t=M.findEffectOverrides(e,this._primitiveOverrides);t&&y.push(t)}}const d=[];switch(M.findApplicableOverrides(l,this._primitiveOverrides,d),l.type){case"CIMSolidFill":this._analyzeSolidFill(l,y,I(r));break;case"CIMPictureFill":this._analyzePictureFill(l,y);break;case"CIMHatchFill":this._analyzeHatchFill(l,y);break;case"CIMGradientFill":this._analyzeGradientFill(l,y);break;case"CIMSolidStroke":this._analyzeSolidStroke(l,y,p,a);break;case"CIMPictureStroke":this._analyzePictureStroke(l,y,p,a);break;case"CIMGradientStroke":this._analyzeGradientStroke(l,y,p,a);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":{"CIMLineSymbol"!==e.type&&"CIMPolygonSymbol"!==e.type||(o=K(l));const r=[],i=l.primitiveName;i&&r.push(i);const n=p&&E(l.markerPlacement);this._analyzeMarker(l,y,null,r,o,a,t,[],s,!1,n);break}default:q().error("Cannot analyze CIM layer",l.type)}}}_analyzeSolidFill(e,t,r){const{primitiveName:i,type:o}=e,a=P(e.color);if(r||!t?.some((e=>"CIMGeometricEffectTaperedPolygon"===e.effect.type)))this._cimLayers.push({type:"fill",spriteRasterizationParam:null,colorLocked:!!e.colorLocked,color:this._getValueOrOverrideExpression(o,i,"Color",a),height:0,angle:0,offsetX:0,offsetY:0,scaleX:1,effects:t,applyRandomOffset:!1,sampleAlphaOnly:!0,hasUnresolvedReplacementColor:!1});else{const r=this._getValueOrOverrideExpression(o,i,"Color",a);this._cimLayers.push({type:"outlineFill",colorLocked:!!e.colorLocked,color:r,outlineColor:r,...v,effects:t})}}_analyzePictureFill(e,t){const{primitiveName:r,type:i}=e,o=L(e),a=V(e.height,O.CIMPictureFill.height);let s=V(e.scaleX,1);if("width"in e&&"number"==typeof e.width){const t=e.width;let r=1;const i=this._resourceManager.getResource(e.url);null!=i&&(r=i.width/i.height),s/=r*(a/t)}const l={type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(r,i)};this._cimLayers.push({type:"fill",spriteRasterizationParam:l,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(i,r,"TintColor",o),height:this._getValueOrOverrideExpression(i,r,"Height",a),scaleX:this._getValueOrOverrideExpression(i,r,"ScaleX",s),angle:this._getValueOrOverrideExpression(i,r,"Rotation",V(e.rotation)),offsetX:this._getValueOrOverrideExpression(i,r,"OffsetX",V(e.offsetX)),offsetY:this._getValueOrOverrideExpression(i,r,"OffsetY",V(e.offsetY)),applyRandomOffset:!1,sampleAlphaOnly:!1,hasUnresolvedReplacementColor:!1})}_analyzeHatchFill(e,t){const{primitiveName:r,type:i}=e,o=this._analyzeMaterialOverrides(r,["Rotation","OffsetX","OffsetY"]),a=N(o);let s=[255,255,255,1],l=!1;if(e.lineSymbol?.symbolLayers)for(const p of e.lineSymbol.symbolLayers){if("CIMSolidStroke"!==p.type)continue;const e=p.primitiveName??r;l||!e||p.colorLocked||null==this._poMap[e]?.Color&&null==this._poMap[e]?.StrokeColor||(s=P(p.color),s=this._maybeGetValueOrOverrideExpression(e,"StrokeColor")??this._getValueOrOverrideExpression(i,e,"Color",s),l=!0);const t=this._maybeGetValueOrOverrideExpression(e,"StrokeWidth");if(t){let r=null,o=null;"number"==typeof t?r=t:o=t.valueExpressionInfo;let s=a.find((e=>"strokeWidth"===e.propertyName));s?s.propertyName="width":(s={type:"CIMPrimitiveOverride",primitiveName:e,propertyName:"width",valueExpressionInfo:o,value:r,defaultValue:R(i,"width")},a.push(s))}}const n={type:"sprite-rasterization-param",resource:e,overrides:a};this._cimLayers.push({type:"fill",spriteRasterizationParam:n,colorLocked:!!e.colorLocked,effects:t,color:s,height:this._getValueOrOverrideExpression(i,r,"Separation",V(e.separation,O.CIMHatchFill.separation)),scaleX:1,angle:this._getValueOrOverrideExpression(i,r,"Rotation",V(e.rotation)),offsetX:this._getValueOrOverrideExpression(i,r,"OffsetX",V(e.offsetX)),offsetY:this._getValueOrOverrideExpression(i,r,"OffsetY",V(e.offsetY)),applyRandomOffset:!1,sampleAlphaOnly:!0,hasUnresolvedReplacementColor:!l})}_analyzeGradientFill(e,t){const{angle:r,gradientMethod:i,gradientSize:o,gradientSizeUnits:a,gradientType:s,interval:l,primitiveName:n,type:p}=e,c=O.CIMGradientFill,m=e.colorRamp;this._cimLayers.push({type:"gradientFill",spriteRasterizationParam:{type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(n,p)},colorLocked:!1,effects:t,color:[255,255,255,1],gradientMethod:this._getValueOrOverrideExpression(p,n,"GradientMethod",i??"Linear"),angle:this._getValueOrOverrideExpression(p,n,"Angle",V(r,c.angle)),gradientType:this._getValueOrOverrideExpression(p,n,"GradientType",s??c.gradientType),interval:this._getValueOrOverrideExpression(p,n,"Interval",V(l,"CIMFixedColorRamp"===m.type?m.colors.length:c.interval)),gradientSize:this._getValueOrOverrideExpression(p,n,"GradientSize",V(o,c.gradientSize)),gradientSizeUnits:"Absolute"===a?S.Absolute:"Relative"===a?S.Relative:c.gradientSizeUnits})}_analyzeCompositeOutlineFill(e,t,r){const i=e.find((e=>"CIMSolidFill"===e.type)),o=e.find((e=>"CIMSolidStroke"===e.type));if(null==i||null==o)return;const a=[...t??[],...i.effects??[]].map((e=>M.findEffectOverrides(e,this._primitiveOverrides))).filter((e=>null!=e)),s=V(o.width,O.CIMSolidStroke.width),l=A(o.capStyle,O.CIMSolidStroke.capstyle),n=A(o.joinStyle,O.CIMSolidStroke.joinstyle),p=o.miterLimit;this._cimLayers.push({type:"outlineFill",colorLocked:!!i.colorLocked,color:this._getValueOrOverrideExpression(i.type,i.primitiveName,"Color",P(i.color)),outlineColor:this._getValueOrOverrideExpression(o.type,o.primitiveName,"Color",P(o.color)),outlineWidth:this._getValueOrOverrideExpression(o.type,o.primitiveName,"Width",s),cap:this._getValueOrOverrideExpression(o.type,o.primitiveName,"CapStyle",l),join:this._getValueOrOverrideExpression(o.type,o.primitiveName,"JoinStyle",n),miterLimit:p&&this._getValueOrOverrideExpression(o.type,o.primitiveName,"MiterLimit",p),referenceWidth:r,effects:a})}_analyzeSolidStroke(e,t,r,i){const{primitiveName:o,type:a}=e,s=P(e.color),l=V(e.width,O.CIMSolidStroke.width),n=A(e.capStyle,O.CIMSolidStroke.capstyle),p=A(e.joinStyle,O.CIMSolidStroke.joinstyle),c=e.miterLimit;let m,y,d,h,f=[];if(this._analyzePrimitiveOverrides(o,t,null,null)&&(f=this._getPrimitiveMaterialOverrides(o,a)),t&&Array.isArray(t)&&t.length>0){const e=t[t.length-1].effect;e&&"CIMGeometricEffectDashes"===e.type&&"NoConstraint"===e.lineDashEnding&&(m=e.dashTemplate,y=e.scaleDash,d=e.offsetAlongLine,h=e.primitiveName,(t=[...t]).pop())}null!=h&&f.push(...this._getPrimitiveMaterialOverrides(h,a).filter((e=>"dashTemplate"===e.propertyName)));const u=void 0!==m?{type:"sprite-rasterization-param",resource:{type:"dash",dashTemplate:m,primitiveName:h},overrides:f}:null;this._cimLayers.push({type:"line",spriteRasterizationParam:u,isOutline:r,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(a,o,"Color",s),width:this._getValueOrOverrideExpression(a,o,"Width",l),cap:this._getValueOrOverrideExpression(a,o,"CapStyle",n),join:this._getValueOrOverrideExpression(a,o,"JoinStyle",p),miterLimit:c&&this._getValueOrOverrideExpression(a,o,"MiterLimit",c),referenceWidth:i,zOrder:$(e.name),dashTemplate:this._maybeGetValueOrOverrideExpression(h,"DashTemplate")??m,offsetAlongLine:this._getValueOrOverrideExpression(a,h,"OffsetAlongLine",d??0),scaleDash:y,sampleAlphaOnly:!0})}_analyzePictureStroke(e,t,r,i){const{primitiveName:o,type:a}=e,s=L(e),l=V(e.width,O.CIMPictureStroke.width),n=A(e.capStyle,O.CIMPictureStroke.capstyle),p=A(e.joinStyle,O.CIMPictureStroke.joinstyle),c=e.miterLimit,m={type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(o,a)};this._cimLayers.push({type:"line",spriteRasterizationParam:m,isOutline:r,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(a,o,"TintColor",s),width:this._getValueOrOverrideExpression(a,o,"Width",l),cap:this._getValueOrOverrideExpression(a,o,"CapStyle",n),join:this._getValueOrOverrideExpression(a,o,"JoinStyle",p),miterLimit:c&&this._getValueOrOverrideExpression(a,o,"MiterLimit",c),referenceWidth:i,zOrder:$(e.name),dashTemplate:null,scaleDash:!1,sampleAlphaOnly:!1})}_analyzeGradientStroke(e,t,r,i){const{gradientMethod:o,gradientSize:a,gradientSizeUnits:s,gradientType:l,interval:n,primitiveName:p,type:c}=e,m=O.CIMGradientStroke,y=V(e.width,m.width),d=A(e.capStyle,m.capstyle),h=A(e.joinStyle,m.joinstyle),f=e.miterLimit,u=e.colorRamp;this._cimLayers.push({type:"gradientStroke",spriteRasterizationParam:{type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(p,c)},colorLocked:!!e.colorLocked,effects:t,color:[255,255,255,1],width:this._getValueOrOverrideExpression(c,p,"Width",y),cap:this._getValueOrOverrideExpression(c,p,"CapStyle",d),join:this._getValueOrOverrideExpression(c,p,"JoinStyle",h),miterLimit:f&&this._getValueOrOverrideExpression(c,p,"MiterLimit",f),referenceWidth:i,isOutline:r,gradientMethod:this._getValueOrOverrideExpression(c,p,"GradientMethod",o??m.gradientMethod),gradientType:this._getValueOrOverrideExpression(c,p,"GradientType",l??m.gradientType),interval:this._getValueOrOverrideExpression(c,p,"Interval",V(n,"CIMFixedColorRamp"===u.type?u.colors.length:m.interval)),gradientSize:this._getValueOrOverrideExpression(c,p,"GradientSize",V(a,m.gradientSize)),gradientSizeUnits:"Absolute"===s?S.Absolute:"Relative"===s?S.Relative:m.gradientSizeUnits})}_analyzeMarker(e,t,r,i,o,a,s,l,y,d=!1,h=!1){if(d||=!!e.colorLocked,this._analyzeMarkerInsidePolygon(e,t,d))return;const f=V(e.size,O.CIMVectorMarker.size),u=V(e.rotation),v=V(e.offsetX),g=V(e.offsetY),{primitiveName:S,type:_}=e,M=this._getValueOrOverrideExpression(_,S,"Size",f),C=this._getValueOrOverrideExpression(_,S,"Rotation",u),k=this._getValueOrOverrideExpression(_,S,"OffsetX",v),b=this._getValueOrOverrideExpression(_,S,"OffsetY",g);let x=y;switch(x=n(this._poMap,e,x),x=p(e,x),x=c(this._poMap,e,x),x=m(e,x),e.type){case"CIMPictureMarker":this._analyzePictureMarker(e,t,r,i,o,a,M,C,k,b,l,x,d,h);break;case"CIMVectorMarker":this._analyzeVectorMarker(e,t,r,i,o,a,M,C,k,b,l,x,s,d,h)}}_analyzeMarkerInsidePolygon(e,t,r){const{markerPlacement:i,type:o}=e;if(!i||"CIMMarkerPlacementInsidePolygon"!==i.type)return!1;if("CIMVectorMarker"===o||"CIMPictureMarker"===o){const r=e.primitiveName;if(r&&this._analyzePrimitiveOverrides([r],t,null,null))return!1;const a=i.primitiveName;if(a&&this._analyzePrimitiveOverrides([a],t,null,null))return!1;if("CIMVectorMarker"===o){const{markerGraphics:t}=e;if(t)for(const e of t){const{symbol:t}=e;if("CIMPolygonSymbol"===t?.type&&t.symbolLayers){const{symbolLayers:e}=t;for(const t of e)if("CIMSolidStroke"===t.type)return!1}}}else{const{animatedSymbolProperties:t}=e;if(t)return!1}}const s=Math.abs(i.stepX),l=Math.abs(i.stepY);if(0===s||0===l)return!0;let n,p;if("Random"===i.gridType){const e=a(B),t=Math.max(Math.floor(e/s),1);n=l*Math.max(Math.floor(e/l),1);p=t*s/n}else i.shiftOddRows?(n=2*l,p=s/l*.5):(n=l,p=s/l);const c=L(e),m="CIMCharacterMarker"===e.type?null:{type:"sprite-rasterization-param",resource:e,overrides:[]};return this._cimLayers.push({type:"fill",spriteRasterizationParam:m,colorLocked:r,effects:t,color:c,height:n,scaleX:p,angle:i.gridAngle,offsetX:V(i.offsetX),offsetY:V(i.offsetY),applyRandomOffset:"Random"===i.gridType,sampleAlphaOnly:"CIMPictureMarker"!==e.type,hasUnresolvedReplacementColor:!0}),!0}_analyzePictureMarker(e,t,i,o,a,l,n,p,c,m,y,d,h,f){const{animatedSymbolProperties:u,primitiveName:v,type:O}=e;let g=V(e.scaleX,1);const S=L(e);i||(i=this._createMarkerPlacementOverrideExpression(e.markerPlacement));const _=this._createGIFAnimatedSymbolPropertiesOverrideExpression(u),M=e.anchorPoint??{x:0,y:0};if("width"in e&&"number"==typeof e.width){const t=e.width;let r=1;const i=this._resourceManager.getResource(e.url);null!=i&&(r=i.width/i.height);g/=r*(V(e.size)/t)}const C=[...o];let k;e.primitiveName&&C.push(e.primitiveName),u||_?k={type:"animated",url:e.url,urlHash:"H"+s(e.url),playAnimation:e.animatedSymbolProperties?.playAnimation,reverseAnimation:e.animatedSymbolProperties?.reverseAnimation,randomizeStartTime:e.animatedSymbolProperties?.randomizeStartTime,randomizeStartSeed:e.animatedSymbolProperties?.randomizeStartSeed,startTimeOffset:e.animatedSymbolProperties?.startTimeOffset,duration:e.animatedSymbolProperties?.duration,repeatType:e.animatedSymbolProperties?.repeatType,repeatDelay:e.animatedSymbolProperties?.repeatDelay}:(k=r(e),k.markerPlacement=null);const b={type:"sprite-rasterization-param",resource:k,overrides:this._getMaterialOverrides(C,O)};_&&b.overrides.push(..._.overrides);const x=n;this._cimLayers.push({type:"marker",spriteRasterizationParam:b,colorLocked:h,effects:t,scaleSymbolsProportionally:!1,alignment:a,size:n,scaleX:this._getValueOrOverrideExpression(O,v,"ScaleX",g),rotation:p,offsetX:c,offsetY:m,transform:{type:"cim-marker-transform-param",params:y},color:this._getValueOrOverrideExpression(O,v,"TintColor",S),anchorPoint:{x:M.x,y:M.y},isAbsoluteAnchorPoint:"Relative"!==e.anchorPointUnits,outlineColor:[0,0,0,0],outlineWidth:0,frameHeight:0,widthRatio:1,rotateClockwise:!!e.rotateClockwise,referenceSize:l,sizeRatio:1,isOutline:f,markerPlacement:i,animationParams:se(d),baseSize:x})}_analyzeVectorMarker(e,t,r,i,o,a,s,l,p,c,m,f,u,v,O){const g=e.markerGraphics;if(!g)return;const S=e.frame;let _=0;_=S?S.ymax-S.ymin:a;const M=!!e.scaleSymbolsProportionally;if(_){const t={offsetX:p,offsetY:c,rotation:l,size:s,frameHeight:_,rotateClockWise:!!e.rotateClockwise,absoluteAnchorPoint:!1,scaleSymbolsProportionally:M};m=[...m,t]}r||(r=this._createMarkerPlacementOverrideExpression(e.markerPlacement));for(const C of g)if(C){const s=C.symbol;if(!s)continue;const l=C.primitiveName;l&&i.push(l);let p,c=f;if(("CIMPointSymbol"===s.type||"CIMTextSymbol"===s.type)&&S){let t=0,r=0;const i=C.geometry;"x"in i&&"y"in i&&(t+=i.x-.5*(S.xmin+S.xmax),r+=i.y-.5*(S.ymin+S.ymax));const o=e.anchorPoint;let a=!1;o&&("Absolute"===e.anchorPointUnits?(t-=o.x,r-=o.y,a=!0):S&&(t-=(S.xmax-S.xmin)*o.x,r-=(S.ymax-S.ymin)*o.y));const s={offsetX:t,offsetY:r,rotation:0,size:0,frameHeight:0,rotateClockWise:!1,absoluteAnchorPoint:a,scaleSymbolsProportionally:M};p=[...m,s]}const g=C.geometry,[k,b]=y(g,S);switch(0===k&&0===b||(c=d(c,k,b)),"CIMPointSymbol"===s.type&&(c=n(this._poMap,s,c)),s.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":u||re(s)?(c={...c,transform:{type:"AnimatedTransform",relativeTranslation:!1,absoluteScale:!0,translation:h([0,0]),rotation:h(0),scale:h(_),parent:f.transform}},this._analyzeMultiLayerGraphicNonSDF(e,t,r,C,i,o,a,p??m,c,_,v,O)):this._analyzeMultiLayerGraphic(e,t,r,C,i,o,a,p??m,c,_,v,O);break;case"CIMTextSymbol":this._analyzeTextGraphic(t,r,C,i,o,a,p??m,v)}l&&i.pop()}}_analyzeMultiLayerGraphic(e,t,r,i,o,a,s,l,n,p,c,m){const y=i.symbol.symbolLayers;y&&(!te(y)||f(n)?ie(y)?this._analyzeMultiLayerGraphicNonSDF(e,t,r,i,o,a,s,l,n,p,!!c,m):this._analyzeMarkerGraphicSymbolLayers(e,t,r,i,o,a,s,l,n,p,c,m):this._analyzeCompositeMarkerGraphic(e,t,r,i,y,a,s,l,p,c,m))}_analyzeMarkerGraphicSymbolLayers(e,t,r,i,o,a,s,l,p,c,m,y){const d=i.symbol,h=d.symbolLayers;if(!h)return;const f=this._resourceManager.geometryEngine,u=H.applyEffects(d.effects,i.geometry,f);if(!u)return;let v=h.length;for(;v--;){const d=h[v];if(!d||!1===d.enable)continue;const g=d.primitiveName;switch(g&&o.push(g),d.type){case"CIMSolidFill":case"CIMSolidStroke":{const o=H.applyEffects(d.effects,u,f),h=C(o);if(!h)continue;const v="Relative"!==e.anchorPointUnits,S=w(d)??0,{frameSizeRatio:_,anchorX:M,anchorY:x,widthRatio:z,sdfPaddingRatio:E}=k(h,e.frame,e.size,e.anchorPoint,v,S,e.scaleSymbolsProportionally),I="CIMSolidFill"===d.type,L={type:"sdf",geom:o,sdfPaddingRatio:E,asFill:I},{path:N}=d,R=I?P(T(d)):null==N?P(G(d)):[0,0,0,0],A=I?[0,0,0,0]:P(G(d));if(!I&&!S)break;const F=i.primitiveName;let X=null;I&&!d.colorLocked&&(X=this._maybeGetValueOrOverrideExpression(F,"FillColor"));let j=null;I||d.colorLocked||(j=this._maybeGetValueOrOverrideExpression(F,"StrokeColor"));const Y=X??this._getValueOrOverrideExpression(d.type,g,"Color",R),W=j??this._getValueOrOverrideExpression(d.type,g,"Color",A),D=this._maybeGetValueOrOverrideExpression(F,"StrokeWidth")??this._getValueOrOverrideExpression(d.type,g,"Width",S),U=N?{type:"sprite-rasterization-param",resource:{type:"path",path:N,asFill:I},overrides:[]}:{type:"sprite-rasterization-param",resource:L,overrides:[]},J=n(this._poMap,d,p),B=V(e.size,O.CIMVectorMarker.size),q=this._getValueOrOverrideExpression(e.type,e.primitiveName,"Size",B);this._cimLayers.push({type:"marker",spriteRasterizationParam:U,colorLocked:!!d.colorLocked||!!m,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:a,anchorPoint:{x:M,y:x},isAbsoluteAnchorPoint:v,size:c,rotation:0,offsetX:0,offsetY:0,scaleX:1,transform:{type:"cim-marker-transform-param",params:l},frameHeight:c,widthRatio:z,rotateClockwise:!1,referenceSize:s,sizeRatio:_,color:Y,outlineColor:W,outlineWidth:D,isOutline:y,markerPlacement:r,animationParams:se(J),isStroke:"CIMSolidFill"!==d.type,baseSize:q,...b(o,E)});break}case"CIMPictureMarker":case"CIMVectorMarker":if(d.markerPlacement){q().error("Error analyzing CIM, got unexpected marker placement");break}this._analyzeMarker(d,t,r,o,a,s,!1,l,p,m,y)}g&&o.pop()}}_analyzeTextGraphic(e,r,i,o,a,s,l,n){const p=[];M.findApplicableOverrides(i,this._primitiveOverrides,p);const c=i.geometry;if(!("x"in c)||!("y"in c))return;const m=i.symbol,y=F(m),d=X(m.fontStyleName),h=t(m.fontFamilyName);m.font={family:h,decoration:y,...d};const f=V(m.height,O.CIMTextSymbol.height),u=V(m.angle),v=V(m.offsetX),g=V(m.offsetY),{haloSymbol:S}=m,_=V(m.haloSize,0);let C=[0,0,0,0];if(S?.symbolLayers?.length){const e=S.symbolLayers;for(const t of e)if(t.color){C=this._getValueOrOverrideExpression(m?.haloSymbol?.type??"CIMPolygonSymbol",t.primitiveName,"Color",P(t.color));break}}const k=i.primitiveName;let b=[0,0,0,1],x=[0,0,0,0],z=0,E=!1;if(m.symbol?.symbolLayers)for(const t of m.symbol.symbolLayers){const e=t.primitiveName;if("CIMSolidStroke"===t.type)x=this._getValueOrOverrideExpression("CIMSolidStroke",e,"Color",P(t.color)),z=this._getValueOrOverrideExpression("CIMSolidStroke",e,"Width",w(t)??0);else if("CIMSolidFill"===t.type){const r=P(t.color);E=E??!!t.colorLocked,b=this._getValueOrOverrideExpression("CIMSolidFill",e??k,"Color",r)}}let I=null,L=null,N=null,R=null,A=null;k&&(I=this._maybeGetValueOrOverrideExpression(k,"TextSize"),L=this._maybeGetValueOrOverrideExpression(k,"TextAngle"),N=this._maybeGetValueOrOverrideExpression(k,"TextOffsetX"),R=this._maybeGetValueOrOverrideExpression(k,"TextOffsetY"),E||(A=this._maybeGetValueOrOverrideExpression(k,"FillColor")));const T=A??b;let G=null,W=null,D=0;if(m.callout&&"CIMBackgroundCallout"===m.callout.type){const e=m.callout;if(e.backgroundSymbol){const t=e.backgroundSymbol.symbolLayers;if(t)for(const e of t)"CIMSolidFill"===e.type?G=P(e.color):"CIMSolidStroke"===e.type&&(W=P(e.color),D=V(e.width,O.CIMSolidStroke.width))}}const U=this._getValueOrOverrideExpression(m.type,i.primitiveName,"TextString",i.textString??"");if(null==U)return;const{fontStyleName:H}=m,J=h+(H?"-"+H.toLowerCase():"-regular"),B=this._getMaterialOverrides(o,m.type);B.push(...this._getPrimitiveMaterialOverrides(i.primitiveName,m.type)),this._collectDictionaryTemplateOverrides(B,i);const q={type:"text-rasterization-param",resource:{type:"text",textString:i.textString??"",font:m.font,symbol:m,primitiveName:i.primitiveName},overrides:B};this._cimLayers.push({type:"text",lineWidth:m.lineWidth,textRasterizationParam:q,colorLocked:!!n||!!E,effects:e,alignment:a,anchorPoint:{x:0,y:0},isAbsoluteAnchorPoint:!1,fontName:J,decoration:y,haloSize:_,haloColor:C,weight:d.weight,style:d.style,size:I??f,angle:L??u,offsetX:N??v,offsetY:R??g,transform:{type:"cim-marker-transform-param",params:l},horizontalAlignment:Y(m.horizontalAlignment),verticalAlignment:j(m.verticalAlignment),text:U,color:T,outlineColor:x,outlineSize:z,backgroundColor:G,borderLineColor:W,borderLineWidth:D,referenceSize:s,sizeRatio:1,markerPlacement:r})}_collectDictionaryTemplateOverrides(e,t){if(t.textString&&this._hasTextStringTemplates){const r=W(t.symbol);e.push({propertyName:"textString",defaultValue:"",valueExpressionInfo:{type:"dictionary-template",textCase:r,template:t.textString},primitiveName:t.primitiveName})}}_analyzeMultiLayerGraphicNonSDF(e,t,r,i,a,s,l,n,p,c,m,y){const d=Z(e,i),h=e.primitiveName,f=this._analyzeMaterialOverrides(h,["Rotation","OffsetX","OffsetY"]),v=N(f),[g,S,_]=u.getTextureAnchor(d,this._resourceManager,J),M=this._getMaterialOverrides(a,e.type);M.push(...v);const C={type:"sprite-rasterization-param",resource:{...d,avoidSDFRasterization:!0},overrides:M},k=V(e.size,O.CIMVectorMarker.size),b=this._getValueOrOverrideExpression(e.type,h,"Size",k);this._cimLayers.push({type:"marker",spriteRasterizationParam:C,colorLocked:m,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:s,anchorPoint:{x:g,y:S},isAbsoluteAnchorPoint:!1,size:c,rotation:0,offsetX:0,offsetY:0,transform:{type:"cim-marker-transform-param",params:n},color:[255,255,255,1],outlineColor:[0,0,0,0],outlineWidth:0,scaleX:1,frameHeight:c,widthRatio:1,rotateClockwise:!!e.rotateClockwise,referenceSize:l,sizeRatio:_/o(e.size),isOutline:y,markerPlacement:r,animationParams:se(p),baseSize:b})}_createMarkerPlacementOverrideExpression(e){if(!e)return null;const t=[];return M.findApplicableOverrides(e,this._primitiveOverrides,t),{type:"cim-marker-placement-param",placement:e,overrides:ae(t)}}_createGIFAnimatedSymbolPropertiesOverrideExpression(e){if(!e)return null;const t=[];return M.findApplicableOverrides(e,this._primitiveOverrides,t),{type:"cim-gif-animation-params",animation:e,overrides:ae(t)}}_analyzeCompositeMarkerGraphic(e,t,r,i,o,a,s,l,n,p,c){const m=i.geometry,y=o[0],d=o[1],h=C(m);if(!h)return;const f="Relative"!==e.anchorPointUnits,u=V(y.width,O.CIMSolidStroke.width),{frameSizeRatio:v,anchorX:g,anchorY:S,widthRatio:_,sdfPaddingRatio:M}=k(h,e.frame,e.size,e.anchorPoint,f,u,e.scaleSymbolsProportionally),{path:b}=d,x=d.primitiveName,z=y.primitiveName,E=i.primitiveName;let I=null;d.colorLocked||p||(I=this._maybeGetValueOrOverrideExpression(E,"FillColor"));const L=I??this._getValueOrOverrideExpression(d.type,x,"Color",P(d.color));let N=null;y.colorLocked||p||(N=this._maybeGetValueOrOverrideExpression(E,"StrokeColor"));const R=N??this._getValueOrOverrideExpression(y.type,z,"Color",P(y.color)),A=this._maybeGetValueOrOverrideExpression(E,"StrokeWidth")??this._getValueOrOverrideExpression(y.type,z,"Width",u),w={type:"sprite-rasterization-param",resource:b?{type:"path",path:b,asFill:!0}:{type:"sdf",geom:m,sdfPaddingRatio:M,asFill:!0},overrides:[]};this._cimLayers.push({type:"marker",spriteRasterizationParam:w,colorLocked:p,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:a,anchorPoint:{x:g,y:S},isAbsoluteAnchorPoint:f,size:n,rotation:0,offsetX:0,offsetY:0,scaleX:1,transform:{type:"cim-marker-transform-param",params:l},frameHeight:n,widthRatio:_,rotateClockwise:!1,referenceSize:s,sizeRatio:v,color:L,outlineColor:R,outlineWidth:A,isOutline:c,markerPlacement:r})}_setPoMap(e,t,r){let i;this._poMap[e]?i=this._poMap[e]:(i={},this._poMap[e]=i),i[t]=r}_maybeGetValueOrOverrideExpression(e,t,r){return this._getValueOrOverrideExpression("",e,t,r,!1)}_getValueOrOverrideExpression(e,t,r,i,o=!0){if(o&&!D(i)&&(i=R(e,r.toLowerCase())),null==t)return i;const a=this._poMap[t];if(null==a)return i;const s=a[r];return"string"==typeof s||"number"==typeof s||Array.isArray(s)?s:s?{valueExpressionInfo:s,defaultValue:i}:i}_analyzePrimitiveOverrides(e,t,r,i){if(null==e)return!1;"string"==typeof e&&(e=[e]);for(const o of this._primitiveOverrides)if(e.includes(o.primitiveName)&&o.valueExpressionInfo)return!0;if(null!=t)for(const o of t)if(o?.overrides.length>0)return!0;if(null!=r)for(const o of r)if(o?.overrides.length>0)return!0;if(null!=i)for(const o of i)if(o?.overrides.length>0)return!0;return!1}_getMaterialOverrides(e,t){if(!e)return[];const r=[];for(const i of e)r.push(...this._getPrimitiveMaterialOverrides(i,t));return r}_getPrimitiveMaterialOverrides(e,t){if(!e)return[];const r=N(this._primitiveOverrides.filter((t=>t.primitiveName===e)));return r.forEach((e=>e.defaultValue=R(t,e.propertyName.toLowerCase()))),r}_analyzeMaterialOverrides(e,t){return this._primitiveOverrides.filter((r=>r.primitiveName!==e||!t.includes(r.propertyName)))}}function Z(e,t){return{type:e.type,enable:!0,name:e.name,colorLocked:e.colorLocked,primitiveName:e.primitiveName,anchorPoint:e.anchorPoint,anchorPointUnits:e.anchorPointUnits,offsetX:0,offsetY:0,rotateClockwise:e.rotateClockwise,rotation:0,size:e.size,billboardMode3D:e.billboardMode3D,depth3D:e.depth3D,frame:e.frame,markerGraphics:[t],scaleSymbolsProportionally:e.scaleSymbolsProportionally,respectFrame:e.respectFrame,clippingPath:e.clippingPath}}function $(e){if(e&&0===e.indexOf("Level_")){const t=parseInt(e.slice(6),10);if(!isNaN(t))return t}return 0}function ee(e,t){if(!t||0===t.length)return e;const i=r(e);return M.applyOverrides(i,t),i}const te=e=>e&&2===e.length&&e[0].enable&&e[1].enable&&"CIMSolidStroke"===e[0].type&&"CIMSolidFill"===e[1].type&&null==e[0].path&&null==e[1].path&&!e[0].effects&&!e[1].effects&&!e[0].animations&&!e[1].animations;function re(e){const t=e.symbolLayers;if(!t)return!1;const r=t.find((e=>e.effects?.find((e=>"CIMGeometricEffectDashes"===e.type&&null!=e.dashTemplate)))),i=t.find((e=>e.effects?.find((e=>"CIMGeometricEffectAddControlPoints"===e.type))));return!!r||!!i}function ie(e){return e.some((e=>"CIMSolidFill"!==e.type&&"CIMSolidStroke"!==e.type&&("CIMVectorMarker"!==e.type&&"CIMPictureMarker"!==e.type||null!=e.markerPlacement)))}function oe(e,t){if(t?.some((e=>"CIMGeometricEffectRadial"===e.type))&&t?.some((e=>"CIMGeometricEffectTaperedPolygon"===e.type))&&2===e.length){const t=e.find((e=>"CIMSolidFill"===e.type)),r=e.find((e=>"CIMSolidStroke"===e.type));if(null!=t&&null!=r&&!r.effects?.length)return!0}return!1}function ae(e){return r(e).map((e=>({...e,propertyName:U(e.propertyName)})))}function se(e){return f(e)?{type:"animation-params",params:e}:null}export{Q as CIMAnalyzer,ee as analyzeCIMResource};
5
+ import{isRGB as e}from"../../core/colorUtils.js";import{getFontFamily as t}from"../../core/fontUtils.js";import"../../core/has.js";import{clone as r}from"../../core/lang.js";import i from"../../core/Logger.js";import{pt2px as o,px2pt as a}from"../../core/screenUtils.js";import{numericHash as s}from"../../core/string.js";import{checkForAnimations as l,getAnimationParams as n,handleAbsoluteAnchor as p,handleMarker as c,handleRelativeAnchor as m,getFrameTranslation as y,translate as d,getStaticParam as f,shouldUseAnimatedPath as h}from"./animationUtils.js";import{CIMSymbolHelper as u}from"./CIMSymbolHelper.js";import{antialiasingOutlineFillSettings as v}from"./constants.js";import{defaultCIMValues as O}from"./defaultCIMValues.js";import{Alignment as g,SymbolUnits as S}from"./enums.js";import{fitVectorMarker as _}from"./fitVectorMarker.js";import{OverrideHelper as M}from"./OverrideHelper.js";import{getExtent as k,getSDFMetrics as C,getSDFDimensions as b}from"./SDFHelper.js";import{colorToArray as x,normalizeAlpha as P,getSize as z,isCIMMarkerStrokePlacement as E,hasStrokeLayer as I,getTintColor as L,getNumericValue as V,normalizePrimitiveOverrideProps as N,getDefaultCIMValue as R,getEnum as A,getStrokeWidth as w,getFillColor as G,getStrokeColor as T,fromCIMFontDecoration as F,fromCIMFontStyle as X,fromCIMVerticalAlignment as j,fromCIMHorizontalAlignment as Y,getTextCasing as W,isValidCIMValue as D,uncapitalize as U}from"./utils.js";import{CIMEffectHelper as H}from"./effects/CIMEffectHelper.js";import{rasterizedVectorMarkerMinSize as J,randomInsidePolygonTextureSize as B}from"../../views/2d/engine/webgl/definitions.js";const q=()=>i.getLogger("esri.symbols.cim.cimAnalyzer");function K(e){const t=e.markerPlacement;return t&&t.angleToLine?g.MAP:g.SCREEN}class Q{constructor(e){this._cimLayers=[],this._poMap={},this._primitiveOverrides=[],this._hasTextStringTemplates=!1,e&&(this._resourceManager=e)}analyzeSymbolReference(t,r,i){if(this._cimLayers=i??[],!t)return this._cimLayers;if(this._reset(),this._hasTextStringTemplates=t.hasTextStringTemplates??!1,t.primitiveOverrides){this._primitiveOverrides=t.primitiveOverrides;for(const t of this._primitiveOverrides){const r=t.valueExpressionInfo;if(r)this._setPoMap(t.primitiveName,t.propertyName,r);else if(null!=t.value){let r=t.value;t.propertyName.includes("Color")&&(e(r)&&(r=x(r)),r=P(r)),this._setPoMap(t.primitiveName,t.propertyName,r)}}}return this._analyzeSymbol(t.symbol,r),this._cimLayers}_reset(){this._cimLayers=[],this._poMap={},this._primitiveOverrides=[]}_analyzeSymbol(e,t){switch(e?.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this._analyzeMultiLayerSymbol(e,t)}}_analyzeMultiLayerSymbol(e,t){const r=e?.symbolLayers;if(!r)return;for(let l=0;l<r.length;l++){const e=r[l];"CIMVectorMarker"===e.type&&(r[l]=_(e,this._resourceManager.geometryEngine))}const i=e.effects;let o=g.SCREEN;const a=z(e)??0;if("CIMPointSymbol"===e.type&&"Map"===e.angleAlignment&&(o=g.MAP),oe(r,i))return this._analyzeCompositeOutlineFill(r,i,a);let s={transform:[0,0,0,1],fromColor:[1,1,1,1],toColor:[1,1,1,1],colorMix:[0,0,0,0],toOpacity:[1,1,1,1],opacityMix:[0,0,0,0],hasAnimations:l(e)};s=n(this._poMap,e,s);const p="CIMPolygonSymbol"===e.type;let c=r.length;for(;c--;){const l=r[c];if(!l||!1===l.enable)continue;let n;i?.length&&(n=[...i]);const m=l.effects;m?.length&&(i?n.push(...m):n=[...m]);let y=null;if(n){y=[];for(const e of n){const t=M.findEffectOverrides(e,this._primitiveOverrides);t&&y.push(t)}}const d=[];switch(M.findApplicableOverrides(l,this._primitiveOverrides,d),l.type){case"CIMSolidFill":this._analyzeSolidFill(l,y,I(r));break;case"CIMPictureFill":this._analyzePictureFill(l,y);break;case"CIMHatchFill":this._analyzeHatchFill(l,y);break;case"CIMGradientFill":this._analyzeGradientFill(l,y);break;case"CIMSolidStroke":this._analyzeSolidStroke(l,y,p,a);break;case"CIMPictureStroke":this._analyzePictureStroke(l,y,p,a);break;case"CIMGradientStroke":this._analyzeGradientStroke(l,y,p,a);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":{"CIMLineSymbol"!==e.type&&"CIMPolygonSymbol"!==e.type||(o=K(l));const r=[],i=l.primitiveName;i&&r.push(i);const n=p&&E(l.markerPlacement);this._analyzeMarker(l,y,null,r,o,a,t,[],s,!1,n);break}default:q().error("Cannot analyze CIM layer",l.type)}}}_analyzeSolidFill(e,t,r){const{primitiveName:i,type:o}=e,a=P(e.color);if(r||!t?.some((e=>"CIMGeometricEffectTaperedPolygon"===e.effect.type)))this._cimLayers.push({type:"fill",spriteRasterizationParam:null,colorLocked:!!e.colorLocked,color:this._getValueOrOverrideExpression(o,i,"Color",a),height:0,angle:0,offsetX:0,offsetY:0,scaleX:1,effects:t,applyRandomOffset:!1,sampleAlphaOnly:!0,hasUnresolvedReplacementColor:!1});else{const r=this._getValueOrOverrideExpression(o,i,"Color",a);this._cimLayers.push({type:"outlineFill",colorLocked:!!e.colorLocked,color:r,effects:t,outlineColor:r,outlineColorLocked:!!e.colorLocked,...v,outlineEffects:t})}}_analyzePictureFill(e,t){const{primitiveName:r,type:i}=e,o=L(e),a=V(e.height,O.CIMPictureFill.height);let s=V(e.scaleX,1);if("width"in e&&"number"==typeof e.width){const t=e.width;let r=1;const i=this._resourceManager.getResource(e.url);null!=i&&(r=i.width/i.height),s/=r*(a/t)}const l={type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(r,i)};this._cimLayers.push({type:"fill",spriteRasterizationParam:l,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(i,r,"TintColor",o),height:this._getValueOrOverrideExpression(i,r,"Height",a),scaleX:this._getValueOrOverrideExpression(i,r,"ScaleX",s),angle:this._getValueOrOverrideExpression(i,r,"Rotation",V(e.rotation)),offsetX:this._getValueOrOverrideExpression(i,r,"OffsetX",V(e.offsetX)),offsetY:this._getValueOrOverrideExpression(i,r,"OffsetY",V(e.offsetY)),applyRandomOffset:!1,sampleAlphaOnly:!1,hasUnresolvedReplacementColor:!1})}_analyzeHatchFill(e,t){const{primitiveName:r,type:i}=e,o=this._analyzeMaterialOverrides(r,["Rotation","OffsetX","OffsetY"]),a=N(o);let s=[255,255,255,1],l=!1;if(e.lineSymbol?.symbolLayers)for(const p of e.lineSymbol.symbolLayers){if("CIMSolidStroke"!==p.type)continue;const e=p.primitiveName??r;l||!e||p.colorLocked||null==this._poMap[e]?.Color&&null==this._poMap[e]?.StrokeColor||(s=P(p.color),s=this._maybeGetValueOrOverrideExpression(e,"StrokeColor")??this._getValueOrOverrideExpression(i,e,"Color",s),l=!0);const t=this._maybeGetValueOrOverrideExpression(e,"StrokeWidth");if(t){let r=null,o=null;"number"==typeof t?r=t:o=t.valueExpressionInfo;let s=a.find((e=>"strokeWidth"===e.propertyName));s?s.propertyName="width":(s={type:"CIMPrimitiveOverride",primitiveName:e,propertyName:"width",valueExpressionInfo:o,value:r,defaultValue:R(i,"width")},a.push(s))}}const n={type:"sprite-rasterization-param",resource:e,overrides:a};this._cimLayers.push({type:"fill",spriteRasterizationParam:n,colorLocked:!!e.colorLocked,effects:t,color:s,height:this._getValueOrOverrideExpression(i,r,"Separation",V(e.separation,O.CIMHatchFill.separation)),scaleX:1,angle:this._getValueOrOverrideExpression(i,r,"Rotation",V(e.rotation)),offsetX:this._getValueOrOverrideExpression(i,r,"OffsetX",V(e.offsetX)),offsetY:this._getValueOrOverrideExpression(i,r,"OffsetY",V(e.offsetY)),applyRandomOffset:!1,sampleAlphaOnly:!0,hasUnresolvedReplacementColor:!l})}_analyzeGradientFill(e,t){const{angle:r,gradientMethod:i,gradientSize:o,gradientSizeUnits:a,gradientType:s,interval:l,primitiveName:n,type:p}=e,c=O.CIMGradientFill,m=e.colorRamp;this._cimLayers.push({type:"gradientFill",spriteRasterizationParam:{type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(n,p)},colorLocked:!1,effects:t,color:[255,255,255,1],gradientMethod:this._getValueOrOverrideExpression(p,n,"GradientMethod",i??"Linear"),angle:this._getValueOrOverrideExpression(p,n,"Angle",V(r,c.angle)),gradientType:this._getValueOrOverrideExpression(p,n,"GradientType",s??c.gradientType),interval:this._getValueOrOverrideExpression(p,n,"Interval",V(l,"CIMFixedColorRamp"===m.type?m.colors.length:c.interval)),gradientSize:this._getValueOrOverrideExpression(p,n,"GradientSize",V(o,c.gradientSize)),gradientSizeUnits:"Absolute"===a?S.Absolute:"Relative"===a?S.Relative:c.gradientSizeUnits})}_analyzeCompositeOutlineFill(e,t,r){const i=e.find((e=>"CIMSolidFill"===e.type)),o=e.find((e=>"CIMSolidStroke"===e.type));if(null==i||null==o)return;const a=[...t??[],...i.effects??[]].map((e=>M.findEffectOverrides(e,this._primitiveOverrides))).filter((e=>null!=e)),s=[...t??[],...o.effects??[]].map((e=>M.findEffectOverrides(e,this._primitiveOverrides))).filter((e=>null!=e)),l=V(o.width,O.CIMSolidStroke.width),n=A(o.capStyle,O.CIMSolidStroke.capstyle),p=A(o.joinStyle,O.CIMSolidStroke.joinstyle),c=o.miterLimit;this._cimLayers.push({type:"outlineFill",colorLocked:!!i.colorLocked,color:this._getValueOrOverrideExpression(i.type,i.primitiveName,"Color",P(i.color)),effects:a,outlineColorLocked:!!o.colorLocked,outlineColor:this._getValueOrOverrideExpression(o.type,o.primitiveName,"Color",P(o.color)),outlineWidth:this._getValueOrOverrideExpression(o.type,o.primitiveName,"Width",l),cap:this._getValueOrOverrideExpression(o.type,o.primitiveName,"CapStyle",n),join:this._getValueOrOverrideExpression(o.type,o.primitiveName,"JoinStyle",p),miterLimit:c&&this._getValueOrOverrideExpression(o.type,o.primitiveName,"MiterLimit",c),referenceWidth:r,outlineEffects:s})}_analyzeSolidStroke(e,t,r,i){const{primitiveName:o,type:a}=e,s=P(e.color),l=V(e.width,O.CIMSolidStroke.width),n=A(e.capStyle,O.CIMSolidStroke.capstyle),p=A(e.joinStyle,O.CIMSolidStroke.joinstyle),c=e.miterLimit;let m,y,d,f,h=[];if(this._analyzePrimitiveOverrides(o,t,null,null)&&(h=this._getPrimitiveMaterialOverrides(o,a)),t&&Array.isArray(t)&&t.length>0){const e=t[t.length-1].effect;e&&"CIMGeometricEffectDashes"===e.type&&"NoConstraint"===e.lineDashEnding&&(m=e.dashTemplate,y=e.scaleDash,d=e.offsetAlongLine,f=e.primitiveName,(t=[...t]).pop())}null!=f&&h.push(...this._getPrimitiveMaterialOverrides(f,a).filter((e=>"dashTemplate"===e.propertyName)));const u=void 0!==m?{type:"sprite-rasterization-param",resource:{type:"dash",dashTemplate:m,primitiveName:f},overrides:h}:null;this._cimLayers.push({type:"line",spriteRasterizationParam:u,isOutline:r,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(a,o,"Color",s),width:this._getValueOrOverrideExpression(a,o,"Width",l),cap:this._getValueOrOverrideExpression(a,o,"CapStyle",n),join:this._getValueOrOverrideExpression(a,o,"JoinStyle",p),miterLimit:c&&this._getValueOrOverrideExpression(a,o,"MiterLimit",c),referenceWidth:i,zOrder:$(e.name),dashTemplate:this._maybeGetValueOrOverrideExpression(f,"DashTemplate")??m,offsetAlongLine:this._getValueOrOverrideExpression(a,f,"OffsetAlongLine",d??0),scaleDash:y,sampleAlphaOnly:!0})}_analyzePictureStroke(e,t,r,i){const{primitiveName:o,type:a}=e,s=L(e),l=V(e.width,O.CIMPictureStroke.width),n=A(e.capStyle,O.CIMPictureStroke.capstyle),p=A(e.joinStyle,O.CIMPictureStroke.joinstyle),c=e.miterLimit,m={type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(o,a)};this._cimLayers.push({type:"line",spriteRasterizationParam:m,isOutline:r,colorLocked:!!e.colorLocked,effects:t,color:this._getValueOrOverrideExpression(a,o,"TintColor",s),width:this._getValueOrOverrideExpression(a,o,"Width",l),cap:this._getValueOrOverrideExpression(a,o,"CapStyle",n),join:this._getValueOrOverrideExpression(a,o,"JoinStyle",p),miterLimit:c&&this._getValueOrOverrideExpression(a,o,"MiterLimit",c),referenceWidth:i,zOrder:$(e.name),dashTemplate:null,scaleDash:!1,sampleAlphaOnly:!1})}_analyzeGradientStroke(e,t,r,i){const{gradientMethod:o,gradientSize:a,gradientSizeUnits:s,gradientType:l,interval:n,primitiveName:p,type:c}=e,m=O.CIMGradientStroke,y=V(e.width,m.width),d=A(e.capStyle,m.capstyle),f=A(e.joinStyle,m.joinstyle),h=e.miterLimit,u=e.colorRamp;this._cimLayers.push({type:"gradientStroke",spriteRasterizationParam:{type:"sprite-rasterization-param",resource:e,overrides:this._getPrimitiveMaterialOverrides(p,c)},colorLocked:!!e.colorLocked,effects:t,color:[255,255,255,1],width:this._getValueOrOverrideExpression(c,p,"Width",y),cap:this._getValueOrOverrideExpression(c,p,"CapStyle",d),join:this._getValueOrOverrideExpression(c,p,"JoinStyle",f),miterLimit:h&&this._getValueOrOverrideExpression(c,p,"MiterLimit",h),referenceWidth:i,isOutline:r,gradientMethod:this._getValueOrOverrideExpression(c,p,"GradientMethod",o??m.gradientMethod),gradientType:this._getValueOrOverrideExpression(c,p,"GradientType",l??m.gradientType),interval:this._getValueOrOverrideExpression(c,p,"Interval",V(n,"CIMFixedColorRamp"===u.type?u.colors.length:m.interval)),gradientSize:this._getValueOrOverrideExpression(c,p,"GradientSize",V(a,m.gradientSize)),gradientSizeUnits:"Absolute"===s?S.Absolute:"Relative"===s?S.Relative:m.gradientSizeUnits})}_analyzeMarker(e,t,r,i,o,a,s,l,y,d=!1,f=!1){if(d||=!!e.colorLocked,this._analyzeMarkerInsidePolygon(e,t,d))return;const h=V(e.size,O.CIMVectorMarker.size),u=V(e.rotation),v=V(e.offsetX),g=V(e.offsetY),{primitiveName:S,type:_}=e,M=this._getValueOrOverrideExpression(_,S,"Size",h),k=this._getValueOrOverrideExpression(_,S,"Rotation",u),C=this._getValueOrOverrideExpression(_,S,"OffsetX",v),b=this._getValueOrOverrideExpression(_,S,"OffsetY",g);let x=y;switch(x=n(this._poMap,e,x),x=p(e,x),x=c(this._poMap,e,x),x=m(e,x),e.type){case"CIMPictureMarker":this._analyzePictureMarker(e,t,r,i,o,a,M,k,C,b,l,x,d,f);break;case"CIMVectorMarker":this._analyzeVectorMarker(e,t,r,i,o,a,M,k,C,b,l,x,s,d,f)}}_analyzeMarkerInsidePolygon(e,t,r){const{markerPlacement:i,type:o}=e;if(!i||"CIMMarkerPlacementInsidePolygon"!==i.type)return!1;if("CIMVectorMarker"===o||"CIMPictureMarker"===o){const r=e.primitiveName;if(r&&this._analyzePrimitiveOverrides([r],t,null,null))return!1;const a=i.primitiveName;if(a&&this._analyzePrimitiveOverrides([a],t,null,null))return!1;if("CIMVectorMarker"===o){const{markerGraphics:t}=e;if(t)for(const e of t){const{symbol:t}=e;if("CIMPolygonSymbol"===t?.type&&t.symbolLayers){const{symbolLayers:e}=t;for(const t of e)if("CIMSolidStroke"===t.type)return!1}}}else{const{animatedSymbolProperties:t}=e;if(t)return!1}}const s=Math.abs(i.stepX),l=Math.abs(i.stepY);if(0===s||0===l)return!0;let n,p;if("Random"===i.gridType){const e=a(B),t=Math.max(Math.floor(e/s),1);n=l*Math.max(Math.floor(e/l),1);p=t*s/n}else i.shiftOddRows?(n=2*l,p=s/l*.5):(n=l,p=s/l);const c=L(e),m="CIMCharacterMarker"===e.type?null:{type:"sprite-rasterization-param",resource:e,overrides:[]};return this._cimLayers.push({type:"fill",spriteRasterizationParam:m,colorLocked:r,effects:t,color:c,height:n,scaleX:p,angle:i.gridAngle,offsetX:V(i.offsetX),offsetY:V(i.offsetY),applyRandomOffset:"Random"===i.gridType,sampleAlphaOnly:"CIMPictureMarker"!==e.type,hasUnresolvedReplacementColor:!0}),!0}_analyzePictureMarker(e,t,i,o,a,l,n,p,c,m,y,d,f,h){const{animatedSymbolProperties:u,primitiveName:v,type:O}=e;let g=V(e.scaleX,1);const S=L(e);i||(i=this._createMarkerPlacementOverrideExpression(e.markerPlacement));const _=this._createGIFAnimatedSymbolPropertiesOverrideExpression(u),M=e.anchorPoint??{x:0,y:0};if("width"in e&&"number"==typeof e.width){const t=e.width;let r=1;const i=this._resourceManager.getResource(e.url);null!=i&&(r=i.width/i.height);g/=r*(V(e.size)/t)}const k=[...o];let C;e.primitiveName&&k.push(e.primitiveName),u||_?C={type:"animated",url:e.url,urlHash:"H"+s(e.url),playAnimation:e.animatedSymbolProperties?.playAnimation,reverseAnimation:e.animatedSymbolProperties?.reverseAnimation,randomizeStartTime:e.animatedSymbolProperties?.randomizeStartTime,randomizeStartSeed:e.animatedSymbolProperties?.randomizeStartSeed,startTimeOffset:e.animatedSymbolProperties?.startTimeOffset,duration:e.animatedSymbolProperties?.duration,repeatType:e.animatedSymbolProperties?.repeatType,repeatDelay:e.animatedSymbolProperties?.repeatDelay}:(C=r(e),C.markerPlacement=null);const b={type:"sprite-rasterization-param",resource:C,overrides:this._getMaterialOverrides(k,O)};_&&b.overrides.push(..._.overrides);const x=n;this._cimLayers.push({type:"marker",spriteRasterizationParam:b,colorLocked:f,effects:t,scaleSymbolsProportionally:!1,alignment:a,size:n,scaleX:this._getValueOrOverrideExpression(O,v,"ScaleX",g),rotation:p,offsetX:c,offsetY:m,transform:{type:"cim-marker-transform-param",params:y},color:this._getValueOrOverrideExpression(O,v,"TintColor",S),anchorPoint:{x:M.x,y:M.y},isAbsoluteAnchorPoint:"Relative"!==e.anchorPointUnits,outlineColor:[0,0,0,0],outlineWidth:0,frameHeight:0,widthRatio:1,rotateClockwise:!!e.rotateClockwise,referenceSize:l,sizeRatio:1,isOutline:h,markerPlacement:i,animationParams:se(d),baseSize:x})}_analyzeVectorMarker(e,t,r,i,o,a,s,l,p,c,m,h,u,v,O){const g=e.markerGraphics;if(!g)return;const S=e.frame;let _=0;_=S?S.ymax-S.ymin:a;const M=!!e.scaleSymbolsProportionally;if(_){const t={offsetX:p,offsetY:c,rotation:l,size:s,frameHeight:_,rotateClockWise:!!e.rotateClockwise,absoluteAnchorPoint:!1,scaleSymbolsProportionally:M};m=[...m,t]}r||(r=this._createMarkerPlacementOverrideExpression(e.markerPlacement));for(const k of g)if(k){const s=k.symbol;if(!s)continue;const l=k.primitiveName;l&&i.push(l);let p,c=h;if(("CIMPointSymbol"===s.type||"CIMTextSymbol"===s.type)&&S){let t=0,r=0;const i=k.geometry;"x"in i&&"y"in i&&(t+=i.x-.5*(S.xmin+S.xmax),r+=i.y-.5*(S.ymin+S.ymax));const o=e.anchorPoint;let a=!1;o&&("Absolute"===e.anchorPointUnits?(t-=o.x,r-=o.y,a=!0):S&&(t-=(S.xmax-S.xmin)*o.x,r-=(S.ymax-S.ymin)*o.y));const s={offsetX:t,offsetY:r,rotation:0,size:0,frameHeight:0,rotateClockWise:!1,absoluteAnchorPoint:a,scaleSymbolsProportionally:M};p=[...m,s]}const g=k.geometry,[C,b]=y(g,S);switch(0===C&&0===b||(c=d(c,C,b)),"CIMPointSymbol"===s.type&&(c=n(this._poMap,s,c)),s.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":u||re(s)?(c={...c,transform:{type:"AnimatedTransform",relativeTranslation:!1,absoluteScale:!0,translation:f([0,0]),rotation:f(0),scale:f(_),parent:h.transform}},this._analyzeMultiLayerGraphicNonSDF(e,t,r,k,i,o,a,p??m,c,_,v,O)):this._analyzeMultiLayerGraphic(e,t,r,k,i,o,a,p??m,c,_,v,O);break;case"CIMTextSymbol":this._analyzeTextGraphic(t,r,k,i,o,a,p??m,v)}l&&i.pop()}}_analyzeMultiLayerGraphic(e,t,r,i,o,a,s,l,n,p,c,m){const y=i.symbol.symbolLayers;y&&(!te(y)||h(n)?ie(y)?this._analyzeMultiLayerGraphicNonSDF(e,t,r,i,o,a,s,l,n,p,!!c,m):this._analyzeMarkerGraphicSymbolLayers(e,t,r,i,o,a,s,l,n,p,c,m):this._analyzeCompositeMarkerGraphic(e,t,r,i,y,a,s,l,p,c,m))}_analyzeMarkerGraphicSymbolLayers(e,t,r,i,o,a,s,l,p,c,m,y){const d=i.symbol,f=d.symbolLayers;if(!f)return;const h=this._resourceManager.geometryEngine,u=H.applyEffects(d.effects,i.geometry,h);if(!u)return;let v=f.length;for(;v--;){const d=f[v];if(!d||!1===d.enable)continue;const g=d.primitiveName;switch(g&&o.push(g),d.type){case"CIMSolidFill":case"CIMSolidStroke":{const o=H.applyEffects(d.effects,u,h),f=k(o);if(!f)continue;const v="Relative"!==e.anchorPointUnits,S=w(d)??0,{frameSizeRatio:_,anchorX:M,anchorY:x,widthRatio:z,sdfPaddingRatio:E}=C(f,e.frame,e.size,e.anchorPoint,v,S,e.scaleSymbolsProportionally),I="CIMSolidFill"===d.type,L={type:"sdf",geom:o,sdfPaddingRatio:E,asFill:I},{path:N}=d,R=I?P(G(d)):null==N?P(T(d)):[0,0,0,0],A=I?[0,0,0,0]:P(T(d));if(!I&&!S)break;const F=i.primitiveName;let X=null;I&&!d.colorLocked&&(X=this._maybeGetValueOrOverrideExpression(F,"FillColor"));let j=null;I||d.colorLocked||(j=this._maybeGetValueOrOverrideExpression(F,"StrokeColor"));const Y=X??this._getValueOrOverrideExpression(d.type,g,"Color",R),W=j??this._getValueOrOverrideExpression(d.type,g,"Color",A),D=this._maybeGetValueOrOverrideExpression(F,"StrokeWidth")??this._getValueOrOverrideExpression(d.type,g,"Width",S),U=N?{type:"sprite-rasterization-param",resource:{type:"path",path:N,asFill:I},overrides:[]}:{type:"sprite-rasterization-param",resource:L,overrides:[]},J=n(this._poMap,d,p),B=V(e.size,O.CIMVectorMarker.size),q=this._getValueOrOverrideExpression(e.type,e.primitiveName,"Size",B);this._cimLayers.push({type:"marker",spriteRasterizationParam:U,colorLocked:!!d.colorLocked||!!m,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:a,anchorPoint:{x:M,y:x},isAbsoluteAnchorPoint:v,size:c,rotation:0,offsetX:0,offsetY:0,scaleX:1,transform:{type:"cim-marker-transform-param",params:l},frameHeight:c,widthRatio:z,rotateClockwise:!1,referenceSize:s,sizeRatio:_,color:Y,outlineColor:W,outlineWidth:D,isOutline:y,markerPlacement:r,animationParams:se(J),isStroke:"CIMSolidFill"!==d.type,baseSize:q,...b(o,E)});break}case"CIMPictureMarker":case"CIMVectorMarker":if(d.markerPlacement){q().error("Error analyzing CIM, got unexpected marker placement");break}this._analyzeMarker(d,t,r,o,a,s,!1,l,p,m,y)}g&&o.pop()}}_analyzeTextGraphic(e,r,i,o,a,s,l,n){const p=[];M.findApplicableOverrides(i,this._primitiveOverrides,p);const c=i.geometry;if(!("x"in c)||!("y"in c))return;const m=i.symbol,y=F(m),d=X(m.fontStyleName),f=t(m.fontFamilyName);m.font={family:f,decoration:y,...d};const h=V(m.height,O.CIMTextSymbol.height),u=V(m.angle),v=V(m.offsetX),g=V(m.offsetY),{haloSymbol:S}=m,_=V(m.haloSize,0);let k=[0,0,0,0];if(S?.symbolLayers?.length){const e=S.symbolLayers;for(const t of e)if(t.color){k=this._getValueOrOverrideExpression(m?.haloSymbol?.type??"CIMPolygonSymbol",t.primitiveName,"Color",P(t.color));break}}const C=i.primitiveName;let b=[0,0,0,1],x=[0,0,0,0],z=0,E=!1;if(m.symbol?.symbolLayers)for(const t of m.symbol.symbolLayers){const e=t.primitiveName;if("CIMSolidStroke"===t.type)x=this._getValueOrOverrideExpression("CIMSolidStroke",e,"Color",P(t.color)),z=this._getValueOrOverrideExpression("CIMSolidStroke",e,"Width",w(t)??0);else if("CIMSolidFill"===t.type){const r=P(t.color);E=E??!!t.colorLocked,b=this._getValueOrOverrideExpression("CIMSolidFill",e??C,"Color",r)}}let I=null,L=null,N=null,R=null,A=null;C&&(I=this._maybeGetValueOrOverrideExpression(C,"TextSize"),L=this._maybeGetValueOrOverrideExpression(C,"TextAngle"),N=this._maybeGetValueOrOverrideExpression(C,"TextOffsetX"),R=this._maybeGetValueOrOverrideExpression(C,"TextOffsetY"),E||(A=this._maybeGetValueOrOverrideExpression(C,"FillColor")));const G=A??b;let T=null,W=null,D=0;if(m.callout&&"CIMBackgroundCallout"===m.callout.type){const e=m.callout;if(e.backgroundSymbol){const t=e.backgroundSymbol.symbolLayers;if(t)for(const e of t)"CIMSolidFill"===e.type?T=P(e.color):"CIMSolidStroke"===e.type&&(W=P(e.color),D=V(e.width,O.CIMSolidStroke.width))}}const U=this._getValueOrOverrideExpression(m.type,i.primitiveName,"TextString",i.textString??"");if(null==U)return;const{fontStyleName:H}=m,J=f+(H?"-"+H.toLowerCase():"-regular"),B=this._getMaterialOverrides(o,m.type);B.push(...this._getPrimitiveMaterialOverrides(i.primitiveName,m.type)),this._collectDictionaryTemplateOverrides(B,i);const q={type:"text-rasterization-param",resource:{type:"text",textString:i.textString??"",font:m.font,symbol:m,primitiveName:i.primitiveName},overrides:B};this._cimLayers.push({type:"text",lineWidth:m.lineWidth,textRasterizationParam:q,colorLocked:!!n||!!E,effects:e,alignment:a,anchorPoint:{x:0,y:0},isAbsoluteAnchorPoint:!1,fontName:J,decoration:y,haloSize:_,haloColor:k,weight:d.weight,style:d.style,size:I??h,angle:L??u,offsetX:N??v,offsetY:R??g,transform:{type:"cim-marker-transform-param",params:l},horizontalAlignment:Y(m.horizontalAlignment),verticalAlignment:j(m.verticalAlignment),text:U,color:G,outlineColor:x,outlineSize:z,backgroundColor:T,borderLineColor:W,borderLineWidth:D,referenceSize:s,sizeRatio:1,markerPlacement:r})}_collectDictionaryTemplateOverrides(e,t){if(t.textString&&this._hasTextStringTemplates){const r=W(t.symbol);e.push({propertyName:"textString",defaultValue:"",valueExpressionInfo:{type:"dictionary-template",textCase:r,template:t.textString},primitiveName:t.primitiveName})}}_analyzeMultiLayerGraphicNonSDF(e,t,r,i,a,s,l,n,p,c,m,y){const d=Z(e,i),f=e.primitiveName,h=this._analyzeMaterialOverrides(f,["Rotation","OffsetX","OffsetY"]),v=N(h),[g,S,_]=u.getTextureAnchor(d,this._resourceManager,J),M=this._getMaterialOverrides(a,e.type);M.push(...v);const k={type:"sprite-rasterization-param",resource:{...d,avoidSDFRasterization:!0},overrides:M},C=V(e.size,O.CIMVectorMarker.size),b=this._getValueOrOverrideExpression(e.type,f,"Size",C);this._cimLayers.push({type:"marker",spriteRasterizationParam:k,colorLocked:m,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:s,anchorPoint:{x:g,y:S},isAbsoluteAnchorPoint:!1,size:c,rotation:0,offsetX:0,offsetY:0,transform:{type:"cim-marker-transform-param",params:n},color:[255,255,255,1],outlineColor:[0,0,0,0],outlineWidth:0,scaleX:1,frameHeight:c,widthRatio:1,rotateClockwise:!!e.rotateClockwise,referenceSize:l,sizeRatio:_/o(e.size),isOutline:y,markerPlacement:r,animationParams:se(p),baseSize:b})}_createMarkerPlacementOverrideExpression(e){if(!e)return null;const t=[];return M.findApplicableOverrides(e,this._primitiveOverrides,t),{type:"cim-marker-placement-param",placement:e,overrides:ae(t)}}_createGIFAnimatedSymbolPropertiesOverrideExpression(e){if(!e)return null;const t=[];return M.findApplicableOverrides(e,this._primitiveOverrides,t),{type:"cim-gif-animation-params",animation:e,overrides:ae(t)}}_analyzeCompositeMarkerGraphic(e,t,r,i,o,a,s,l,n,p,c){const m=i.geometry,y=o[0],d=o[1],f=k(m);if(!f)return;const h="Relative"!==e.anchorPointUnits,u=V(y.width,O.CIMSolidStroke.width),{frameSizeRatio:v,anchorX:g,anchorY:S,widthRatio:_,sdfPaddingRatio:M}=C(f,e.frame,e.size,e.anchorPoint,h,u,e.scaleSymbolsProportionally),{path:b}=d,x=d.primitiveName,z=y.primitiveName,E=i.primitiveName;let I=null;d.colorLocked||p||(I=this._maybeGetValueOrOverrideExpression(E,"FillColor"));const L=I??this._getValueOrOverrideExpression(d.type,x,"Color",P(d.color));let N=null;y.colorLocked||p||(N=this._maybeGetValueOrOverrideExpression(E,"StrokeColor"));const R=N??this._getValueOrOverrideExpression(y.type,z,"Color",P(y.color)),A=this._maybeGetValueOrOverrideExpression(E,"StrokeWidth")??this._getValueOrOverrideExpression(y.type,z,"Width",u),w={type:"sprite-rasterization-param",resource:b?{type:"path",path:b,asFill:!0}:{type:"sdf",geom:m,sdfPaddingRatio:M,asFill:!0},overrides:[]};this._cimLayers.push({type:"marker",spriteRasterizationParam:w,colorLocked:p,effects:t,scaleSymbolsProportionally:!!e.scaleSymbolsProportionally,alignment:a,anchorPoint:{x:g,y:S},isAbsoluteAnchorPoint:h,size:n,rotation:0,offsetX:0,offsetY:0,scaleX:1,transform:{type:"cim-marker-transform-param",params:l},frameHeight:n,widthRatio:_,rotateClockwise:!1,referenceSize:s,sizeRatio:v,color:L,outlineColor:R,outlineWidth:A,isOutline:c,markerPlacement:r})}_setPoMap(e,t,r){let i;this._poMap[e]?i=this._poMap[e]:(i={},this._poMap[e]=i),i[t]=r}_maybeGetValueOrOverrideExpression(e,t,r){return this._getValueOrOverrideExpression("",e,t,r,!1)}_getValueOrOverrideExpression(e,t,r,i,o=!0){if(o&&!D(i)&&(i=R(e,r.toLowerCase())),null==t)return i;const a=this._poMap[t];if(null==a)return i;const s=a[r];return"string"==typeof s||"number"==typeof s||Array.isArray(s)?s:s?{valueExpressionInfo:s,defaultValue:i}:i}_analyzePrimitiveOverrides(e,t,r,i){if(null==e)return!1;"string"==typeof e&&(e=[e]);for(const o of this._primitiveOverrides)if(e.includes(o.primitiveName)&&o.valueExpressionInfo)return!0;if(null!=t)for(const o of t)if(o?.overrides.length>0)return!0;if(null!=r)for(const o of r)if(o?.overrides.length>0)return!0;if(null!=i)for(const o of i)if(o?.overrides.length>0)return!0;return!1}_getMaterialOverrides(e,t){if(!e)return[];const r=[];for(const i of e)r.push(...this._getPrimitiveMaterialOverrides(i,t));return r}_getPrimitiveMaterialOverrides(e,t){if(!e)return[];const r=N(this._primitiveOverrides.filter((t=>t.primitiveName===e)));return r.forEach((e=>e.defaultValue=R(t,e.propertyName.toLowerCase()))),r}_analyzeMaterialOverrides(e,t){return this._primitiveOverrides.filter((r=>r.primitiveName!==e||!t.includes(r.propertyName)))}}function Z(e,t){return{type:e.type,enable:!0,name:e.name,colorLocked:e.colorLocked,primitiveName:e.primitiveName,anchorPoint:e.anchorPoint,anchorPointUnits:e.anchorPointUnits,offsetX:0,offsetY:0,rotateClockwise:e.rotateClockwise,rotation:0,size:e.size,billboardMode3D:e.billboardMode3D,depth3D:e.depth3D,frame:e.frame,markerGraphics:[t],scaleSymbolsProportionally:e.scaleSymbolsProportionally,respectFrame:e.respectFrame,clippingPath:e.clippingPath}}function $(e){if(e&&0===e.indexOf("Level_")){const t=parseInt(e.slice(6),10);if(!isNaN(t))return t}return 0}function ee(e,t){if(!t||0===t.length)return e;const i=r(e);return M.applyOverrides(i,t),i}const te=e=>e&&2===e.length&&e[0].enable&&e[1].enable&&"CIMSolidStroke"===e[0].type&&"CIMSolidFill"===e[1].type&&null==e[0].path&&null==e[1].path&&!e[0].effects&&!e[1].effects&&!e[0].animations&&!e[1].animations;function re(e){const t=e.symbolLayers;if(!t)return!1;const r=t.find((e=>e.effects?.find((e=>"CIMGeometricEffectDashes"===e.type&&null!=e.dashTemplate)))),i=t.find((e=>e.effects?.find((e=>"CIMGeometricEffectAddControlPoints"===e.type))));return!!r||!!i}function ie(e){return e.some((e=>"CIMSolidFill"!==e.type&&"CIMSolidStroke"!==e.type&&("CIMVectorMarker"!==e.type&&"CIMPictureMarker"!==e.type||null!=e.markerPlacement)))}function oe(e,t){if(t?.some((e=>"CIMGeometricEffectRadial"===e.type))&&t?.some((e=>"CIMGeometricEffectTaperedPolygon"===e.type))&&2===e.length){const t=e.find((e=>"CIMSolidFill"===e.type)),r=e.find((e=>"CIMSolidStroke"===e.type)),i=r?.effects?.some((e=>"CIMGeometricEffectDashes"===e.type));if(null!=t&&null!=r&&!i)return!0}return!1}function ae(e){return r(e).map((e=>({...e,propertyName:U(e.propertyName)})))}function se(e){return h(e)?{type:"animation-params",params:e}:null}export{Q as CIMAnalyzer,ee as analyzeCIMResource};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{set as t,multiply as s}from"../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{set as r,multiply as e,identity as o,translate as a,rotate as n,scale as l,invert as m}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{i as h,q as f}from"../../../../chunks/vec32.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f32.js";import{tileSize as d}from"./definitions.js";import{TiledDisplayObject as u}from"./TiledDisplayObject.js";const x=c(),M=p();class g extends u{constructor(t,s,i,r){super(t,s,i,r,d,d)}destroy(){super.destroy()}setTransform(m){const c=this.resolution/m.resolution,h=this.transforms.tileMat3,[f,p]=m.toScreenNoRotation([0,0],[this.x,this.y]),d=this.width/this.rangeX*c,u=this.height/this.rangeY*c;r(h,d,0,0,0,u,0,f,p,1),e(this.transforms.displayViewScreenMat3,m.displayViewMat3,h);const x=t(i(),d,0,0,u,f,p);s(this.transforms.labelMat2d,m.viewMat2d,x);const M=[0,0];m.toScreen(M,[this.x,this.y]);const g=this.transforms.tileUnitsToPixels;o(g),a(g,g,M),n(g,g,Math.PI*m.rotation/180),l(g,g,[d,u,1])}_createTransforms(){return{labelMat2d:i(),tileMat3:c(),displayViewScreenMat3:c(),tileUnitsToPixels:c()}}containsScreenPoint(t,s,i){const r=e(x,t.viewMat3,this.transforms.tileMat3),o=m(x,r);if(null==o)return!0;h(M,...s,1);const a=f(M,M,o),n=i*(this.resolution/t.resolution);return a[0]>=-n&&a[0]<this.width+n&&a[1]>=-n&&a[1]<this.height+n}}export{g as AFeatureTile};
5
+ import{set as t,multiply as s}from"../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{set as r,multiply as o,identity as e,translate as a,rotate as n,scale as l,invert as m}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{i as h,o as f}from"../../../../chunks/vec32.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f32.js";import{tileSize as d}from"./definitions.js";import{TiledDisplayObject as u}from"./TiledDisplayObject.js";const x=c(),M=p();class g extends u{constructor(t,s,i,r){super(t,s,i,r,d,d)}destroy(){super.destroy()}setTransform(m){const c=this.resolution/m.resolution,h=this.transforms.tileMat3,[f,p]=m.toScreenNoRotation([0,0],[this.x,this.y]),d=this.width/this.rangeX*c,u=this.height/this.rangeY*c;r(h,d,0,0,0,u,0,f,p,1),o(this.transforms.displayViewScreenMat3,m.displayViewMat3,h);const x=t(i(),d,0,0,u,f,p);s(this.transforms.labelMat2d,m.viewMat2d,x);const M=[0,0];m.toScreen(M,[this.x,this.y]);const g=this.transforms.tileUnitsToPixels;e(g),a(g,g,M),n(g,g,Math.PI*m.rotation/180),l(g,g,[d,u,1])}_createTransforms(){return{labelMat2d:i(),tileMat3:c(),displayViewScreenMat3:c(),tileUnitsToPixels:c()}}containsScreenPoint(t,s,i){const r=o(x,t.viewMat3,this.transforms.tileMat3),e=m(x,r);if(null==e)return!0;h(M,...s,1);const a=f(M,M,e),n=i*(this.resolution/t.resolution);return a[0]>=-n&&a[0]<this.width+n&&a[1]>=-n&&a[1]<this.height+n}}export{g as AFeatureTile};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{AFillMeshWriter as e}from"../fill/AFillMeshWriter.js";import{DataType as t}from"../../../../../../webgl/enums.js";const r={createComputedParams:e=>e,optionalAttributes:{},attributes:{id:{type:t.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:t.UNSIGNED_BYTE,count:1},pos:{type:t.SHORT,count:2,pack:"position",packPrecisionFactor:10},inverseArea:{type:t.FLOAT,count:1,packTessellation:({inverseArea:e})=>e}}};class s extends e{constructor(){super(...arguments),this.vertexSpec=r}createTesselationParams(e,t){return{inverseArea:1/e.readGeometryArea()}}}export{s as DotDensityMeshWriter,r as dotDensityVertexSpec};
5
+ import{AFillMeshWriter as e}from"../fill/AFillMeshWriter.js";import{DataType as t}from"../../../../../../webgl/enums.js";const r={createComputedParams:e=>e,optionalAttributes:{},attributes:{id:{type:t.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:t.UNSIGNED_BYTE,count:1},pos:{type:t.SHORT,count:2,pack:"position",packPrecisionFactor:10},inverseArea:{type:t.FLOAT,count:1,packTessellation:({inverseArea:e})=>e}}};class s extends e{constructor(){super(...arguments),this.vertexSpec=r}createTesselationParams(e){return{inverseArea:1/e.readGeometryArea()}}}export{s as DotDensityMeshWriter,r as dotDensityVertexSpec};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../../../../../core/has.js";import{loadLibtess as e}from"../../../../../../../geometry/libtess.js";import{clipMarshall as t,triangulate as r,triangulateLibtess as s}from"../../../mesh/templates/templateUtils.js";import{MeshWriter as i}from"../mesh/MeshWriter.js";const o=100,n=has("featurelayer-fast-triangulation-enabled");class a extends i{async loadDependencies(){await Promise.all([super.loadDependencies(),e()])}_write(e,t,r){const s=r?.asOptimized()??t.readGeometryForDisplay(),i=this._clip(s);i&&(e.recordStart(this.instanceId,this.attributeLayout),this._writeGeometry(e,t,i),e.recordEnd())}_clip(e){if(!e)return null;const r=this.hasEffects;return t(e,r?256:8)}_writeGeometry(e,t,i){const a=i.maxLength>o,c=[],l=this.createTesselationParams(t,i);if(!a&&n&&r(c,i))return void(c.length&&this._writeVertices(e,t,i.coords,l,c));const d=s(i);this._writeVertices(e,t,d,l)}_writeVertices(e,t,r,s,i){const o=t.getDisplayId(),n=e.vertexCount(),a=this.hasEffects;let c=0;if(i)for(const l of i){const t=r[2*l],i=r[2*l+1];a&&e.recordBounds(t,i,0,0),this._writeVertex(e,o,t,i,s),c++}else for(let l=0;l<r.length;l+=2){const t=Math.round(r[l]),i=Math.round(r[l+1]);a&&e.recordBounds(t,i,0,0),this._writeVertex(e,o,t,i,s),c++}e.indexEnsureSize(c);for(let l=0;l<c;l++)e.indexWrite(l+n)}}export{a as AFillMeshWriter};
5
+ import has from"../../../../../../../core/has.js";import{loadLibtess as e}from"../../../../../../../geometry/libtess.js";import{clipMarshall as t,triangulate as r,triangulateLibtess as s}from"../../../mesh/templates/templateUtils.js";import{MeshWriter as i}from"../mesh/MeshWriter.js";const o=100,n=has("featurelayer-fast-triangulation-enabled");class a extends i{async loadDependencies(){await Promise.all([super.loadDependencies(),e()])}_write(e,t,r){const s=r?.asOptimized()??t.readGeometryForDisplay(),i=this._clip(s);i&&(e.recordStart(this.instanceId,this.attributeLayout),this._writeGeometry(e,t,i),e.recordEnd())}_clip(e){if(!e)return null;const r=this.hasEffects;return t(e,r?256:8)}_writeGeometry(e,t,i){const a=i.maxLength>o,c=[],l=this.createTesselationParams(t);if(!a&&n&&r(c,i))return void(c.length&&this._writeVertices(e,t,i.coords,l,c));const d=s(i);this._writeVertices(e,t,d,l)}_writeVertices(e,t,r,s,i){const o=t.getDisplayId(),n=e.vertexCount(),a=this.hasEffects;let c=0;if(i)for(const l of i){const t=r[2*l],i=r[2*l+1];a&&e.recordBounds(t,i,0,0),this._writeVertex(e,o,t,i,s),c++}else for(let l=0;l<r.length;l+=2){const t=Math.round(r[l]),i=Math.round(r[l+1]);a&&e.recordBounds(t,i,0,0),this._writeVertex(e,o,t,i,s),c++}e.indexEnsureSize(c);for(let l=0;l<c;l++)e.indexWrite(l+n)}}export{a as AFillMeshWriter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{pt2px as e}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as t}from"../../../../../../../geometry/GeometryCursor.js";import{getPatternSize as r,packComplexFillBitset as s,complexFillVertexSpec as i}from"./ComplexFillMeshWriter.js";import{packBitset as o}from"./meshWriterUtils.js";import{OutlineFillMeshWriter as a,OutlineFillOutlineMeshWriter as n,outlineFillVertexSpec_Outline as u}from"./OutlineFillMeshWriter.js";import{packPrecision as c,signedToUnsignedByte as p,bitsetTypeFillOutline as l}from"../shaders/constants.js";import{DataType as m}from"../../../../../../webgl/enums.js";const d=i,h=u,y={createComputedParams:e=>e,optionalAttributes:d.optionalAttributes,attributes:{...d.attributes,bitset:{type:m.UNSIGNED_BYTE,count:1,pack:e=>s(e)},aux1:{count:1,type:m.HALF_FLOAT,pack:e=>r(e).width},aux2:{count:1,type:m.HALF_FLOAT,pack:e=>r(e).height},aux3:{count:2,type:m.HALF_FLOAT,pack:({offsetX:t,offsetY:r})=>[e(t),e(r)]},aux4:{count:2,type:m.UNSIGNED_BYTE,pack:({scaleX:e,scaleY:t})=>[e*c,t*c]}}},f={createComputedParams:e=>e,optionalAttributes:d.optionalAttributes,attributes:{...d.attributes,color:h.attributes.color,bitset:{type:m.UNSIGNED_BYTE,count:1,pack:e=>o([[l,!0]])},aux1:{count:1,type:m.HALF_FLOAT,pack:t=>e(.5*t.width)},aux2:{count:1,type:m.HALF_FLOAT,pack:t=>e(.5*t.referenceWidth)},aux3:{count:2,type:m.HALF_FLOAT,packTessellation:({extrusionOffsetX:e,extrusionOffsetY:t})=>[e,t]},aux4:{count:2,type:m.UNSIGNED_BYTE,packTessellation:({normalX:e,normalY:t})=>[e*c+p,t*c+p]}}};class _ extends n{constructor(){super(...arguments),this.vertexSpec=f}}class x extends a{constructor(){super(...arguments),this.vertexSpec=y}_createOutlineWriter(e,t,r,s){return new _(e,t,r,s)}_write(e,r,s){const i=s?.asOptimized()??r.readGeometryForDisplay(),o=this._clip(i);if(!o)return;const a=this.evaluatedMeshParams.sprite?.textureBinding;e.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(e,r,o),this._lineMeshWriter.writeLineVertices(e,t.fromOptimizedCIM(o,"esriGeometryPolyline"),r),e.recordEnd()}ensurePacked(e,t,r){super.ensurePacked(e,t,r),this._lineMeshWriter.ensurePacked(e,t,r)}enqueueRequest(e,t,r){super.enqueueRequest(e,t,r),this._lineMeshWriter.enqueueRequest(e,t,r)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{x as ComplexOutlineFillMeshWriter};
5
+ import{pt2px as e}from"../../../../../../../core/screenUtils.js";import{getPatternSize as t,packComplexFillBitset as s,complexFillVertexSpec as r}from"./ComplexFillMeshWriter.js";import{packBitset as i}from"./meshWriterUtils.js";import{OutlineFillMeshWriter as a,OutlineFillOutlineMeshWriter as o,outlineFillVertexSpec_Outline as u}from"./OutlineFillMeshWriter.js";import{packPrecision as n,signedToUnsignedByte as c,bitsetTypeFillOutline as p}from"../shaders/constants.js";import{DataType as l}from"../../../../../../webgl/enums.js";const d=r,h=u,m={createComputedParams:e=>e,optionalAttributes:d.optionalAttributes,attributes:{...d.attributes,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:e=>s(e)},aux1:{count:1,type:l.HALF_FLOAT,pack:e=>t(e).width},aux2:{count:1,type:l.HALF_FLOAT,pack:e=>t(e).height},aux3:{count:2,type:l.HALF_FLOAT,pack:({offsetX:t,offsetY:s})=>[e(t),e(s)]},aux4:{count:2,type:l.UNSIGNED_BYTE,pack:({scaleX:e,scaleY:t})=>[e*n,t*n]}}},x={createComputedParams:e=>e,optionalAttributes:d.optionalAttributes,attributes:{...d.attributes,color:h.attributes.color,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:e=>i([[p,!0]])},aux1:{count:1,type:l.HALF_FLOAT,pack:t=>e(.5*t.width)},aux2:{count:1,type:l.HALF_FLOAT,pack:t=>e(.5*t.referenceWidth)},aux3:{count:2,type:l.HALF_FLOAT,packTessellation:({extrusionOffsetX:e,extrusionOffsetY:t})=>[e,t]},aux4:{count:2,type:l.UNSIGNED_BYTE,packTessellation:({normalX:e,normalY:t})=>[e*n+c,t*n+c]}}};class A extends o{constructor(){super(...arguments),this.vertexSpec=x}}class f extends a{constructor(){super(...arguments),this.vertexSpec=m}_createOutlineWriter(e,t,s,r){return new A(e,t,s,r)}write(e,t,s,r,i){this.ensurePacked(t,s,r);const a=this.evaluatedMeshParams.sprite?.textureBinding;e.recordStart(this.instanceId,this.attributeLayout,a),this._write(e,s),e.recordEnd()}ensurePacked(e,t,s){super.ensurePacked(e,t,s),this._lineMeshWriter.ensurePacked(e,t,s)}enqueueRequest(e,t,s){super.enqueueRequest(e,t,s),this._lineMeshWriter.enqueueRequest(e,t,s)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{f as ComplexOutlineFillMeshWriter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{minMaxZoomPrecisionFactor as t}from"../../../definitions.js";import{AFillMeshWriter as o}from"./AFillMeshWriter.js";import{processColorInput as e,getMinMaxZoom as r}from"./meshWriterUtils.js";import{DataType as s}from"../../../../../../webgl/enums.js";const i={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:s.SHORT,count:2,packPrecisionFactor:t,pack:({scaleInfo:t},{tileInfo:o})=>r(t,o)}},attributes:{id:{type:s.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:s.UNSIGNED_BYTE,count:1},pos:{type:s.SHORT,count:2,pack:"position",packPrecisionFactor:10},color:{type:s.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>e(t)}}};class c extends o{constructor(){super(...arguments),this.vertexSpec=i}createTesselationParams(t,o){return null}}export{c as FillMeshWriter,i as fillVertexSpec};
5
+ import{minMaxZoomPrecisionFactor as t}from"../../../definitions.js";import{AFillMeshWriter as o}from"./AFillMeshWriter.js";import{processColorInput as e,getMinMaxZoom as r}from"./meshWriterUtils.js";import{DataType as s}from"../../../../../../webgl/enums.js";const i={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:s.SHORT,count:2,packPrecisionFactor:t,pack:({scaleInfo:t},{tileInfo:o})=>r(t,o)}},attributes:{id:{type:s.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:s.UNSIGNED_BYTE,count:1},pos:{type:s.SHORT,count:2,pack:"position",packPrecisionFactor:10},color:{type:s.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>e(t)}}};class c extends o{constructor(){super(...arguments),this.vertexSpec=i}createTesselationParams(t){return null}}export{c as FillMeshWriter,i as fillVertexSpec};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{SymbolUnits as t}from"../../../../../../../symbols/cim/enums.js";import{spritePadding as e,gradientTextureExternalPadding as r}from"../../../definitions.js";import{AFillMeshWriter as i}from"./AFillMeshWriter.js";import{fillVertexSpec as s}from"./FillMeshWriter.js";import{gradientFillMethods as a,bitset as o}from"./gradientFillConstants.js";import{getGradientSizeHelper as n}from"./GradientSizeHelper.js";import{getBitMask as c}from"./meshWriterUtils.js";import{DataType as l}from"../../../../../../webgl/enums.js";const p={createComputedParams:t=>t,optionalAttributes:s.optionalAttributes,attributes:{...s.attributes,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:({gradientSizeUnits:e,gradientType:r})=>{let i=0;return e===t.Absolute&&(i|=c(o.isAbsolute)),"discrete"===r.toLowerCase()&&(i|=c(o.isDiscrete)),i}},tlbr:{count:4,type:l.UNSIGNED_SHORT,pack:({sprite:t})=>{const{rect:i,width:s,height:a}=t,o=i.x+e+r,n=i.y+e;return[o,n,o+s-2*r,n+a]}},relativePosition:{count:2,type:l.HALF_FLOAT,packTessellation:({gradientStats:t},e,r,i)=>t?.getRelativePosition(r,i)??[0,0]},relativeGradientSize:{count:2,type:l.HALF_FLOAT,packTessellation:({gradientStats:t})=>t?.relativeSize??[1,1]},gradientMethod:{count:1,type:l.UNSIGNED_BYTE,pack:({gradientMethod:t})=>{switch(t.toLowerCase()){case"rectangular":return a.rectangular;case"circular":return a.circular;default:return a.linear}}}}};class u extends i{constructor(){super(...arguments),this.vertexSpec=p}get _preventEffectClipping(){return!0}createTesselationParams(t,e){return{gradientStats:n(e,this.evaluatedMeshParams)}}_write(t,e,r){const i=r?.asOptimized()??e.readGeometryForDisplay(),s=this._clip(i);if(!s)return;const a=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(t,e,s),t.recordEnd()}}export{u as GradientFillMeshWriter,p as gradientFillVertexSpec};
5
+ import{SymbolUnits as t}from"../../../../../../../symbols/cim/enums.js";import{spritePadding as e,gradientTextureExternalPadding as r}from"../../../definitions.js";import{AFillMeshWriter as i}from"./AFillMeshWriter.js";import{fillVertexSpec as s}from"./FillMeshWriter.js";import{gradientFillMethods as a,bitset as o}from"./gradientFillConstants.js";import{getGradientSizeHelper as n}from"./GradientSizeHelper.js";import{getBitMask as l}from"./meshWriterUtils.js";import{DataType as c}from"../../../../../../webgl/enums.js";const p={createComputedParams:t=>t,optionalAttributes:s.optionalAttributes,attributes:{...s.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:({gradientSizeUnits:e,gradientType:r})=>{let i=0;return e===t.Absolute&&(i|=l(o.isAbsolute)),"discrete"===r.toLowerCase()&&(i|=l(o.isDiscrete)),i}},tlbr:{count:4,type:c.UNSIGNED_SHORT,pack:({sprite:t})=>{const{rect:i,width:s,height:a}=t,o=i.x+e+r,n=i.y+e;return[o,n,o+s-2*r,n+a]}},relativePosition:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t},e,r,i)=>t?.getRelativePosition(r,i)??[0,0]},relativeGradientSize:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t})=>t?.relativeSize??[1,1]},gradientMethod:{count:1,type:c.UNSIGNED_BYTE,pack:({gradientMethod:t})=>{switch(t.toLowerCase()){case"rectangular":return a.rectangular;case"circular":return a.circular;default:return a.linear}}}}};class u extends i{constructor(){super(...arguments),this.vertexSpec=p}get _preventEffectClipping(){return!0}createTesselationParams(t){return{gradientStats:n(this._unclippedGeometry,this.evaluatedMeshParams)}}_write(t,e,r){const i=r?.asOptimized()??e.readGeometryForDisplay();this._unclippedGeometry=i;const s=this._clip(i);if(!s)return void(this._unclippedGeometry=null);const a=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(t,e,s),this._unclippedGeometry=null,t.recordEnd()}}export{u as GradientFillMeshWriter,p as gradientFillVertexSpec};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{clipMarshall as t}from"../../../mesh/templates/templateUtils.js";import{FillMeshWriter as r}from"./FillMeshWriter.js";import{processColorInput as s,packBitset as i}from"./meshWriterUtils.js";import{LineVertexSpec as o,LineMeshWriter as n}from"../line/LineMeshWriter.js";import{getLineClippingMargin as a}from"../mesh/utils.js";import{bitsetTypeFillOutline as u}from"../shaders/constants.js";import{DataType as l}from"../../../../../../webgl/enums.js";const p={createComputedParams:e=>e,optionalAttributes:o.optionalAttributes,attributes:{...o.attributes,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:e=>0},color:{type:l.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:e})=>s(e)}}},c={createComputedParams:e=>e,optionalAttributes:o.optionalAttributes,attributes:{...o.attributes,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:e=>i([[u,!0]])},color:{type:l.UNSIGNED_BYTE,count:4,normalized:!0,pack:({outlineColor:e})=>s(e)}}};class m extends n{constructor(){super(...arguments),this.vertexSpec=c}}class h extends r{constructor(e,t,r,s){super(e,t,r,s),this.vertexSpec=p,this._lineMeshWriter=this._createOutlineWriter(e,t,r,s)}_createOutlineWriter(e,t,r,s){return new m(e,t,r,s)}_write(t,r,s){const i=s?.asOptimized()??r.readGeometryForDisplay(),o=this._clip(i);o&&(t.recordStart(this.instanceId,this.attributeLayout),this._writeGeometry(t,r,o),this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(o,"esriGeometryPolyline"),r),t.recordEnd())}_clip(e){return e?t(e,a(this.evaluatedMeshParams)):null}ensurePacked(e,t,r){super.ensurePacked(e,t,r),this._lineMeshWriter.ensurePacked(e,t,r)}enqueueRequest(e,t,r){super.enqueueRequest(e,t,r),this._lineMeshWriter.enqueueRequest(e,t,r)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{h as OutlineFillMeshWriter,m as OutlineFillOutlineMeshWriter,p as outlineFillVertexSpec_Fill,c as outlineFillVertexSpec_Outline};
5
+ import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{clipMarshall as t}from"../../../mesh/templates/templateUtils.js";import{FillMeshWriter as i}from"./FillMeshWriter.js";import{processColorInput as r,packBitset as s}from"./meshWriterUtils.js";import{LineVertexSpec as o,LineMeshWriter as l}from"../line/LineMeshWriter.js";import{getLineClippingMargin as n}from"../mesh/utils.js";import{bitsetTypeFillOutline as a,bitsetOutlineUsesColorVV as u}from"../shaders/constants.js";import{DataType as c}from"../../../../../../webgl/enums.js";const h={createComputedParams:e=>e,optionalAttributes:o.optionalAttributes,attributes:{...o.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:e=>0},color:{type:c.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:e})=>r(e)}}},m={createComputedParams:e=>e,optionalAttributes:o.optionalAttributes,attributes:{...o.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:e=>s([[a,!0],[u,e.outlineUsesColorVV]])},color:{type:c.UNSIGNED_BYTE,count:4,normalized:!0,pack:({outlineColor:e})=>r(e)}}};class p extends l{constructor(){super(...arguments),this.vertexSpec=m}}class f extends i{constructor(e,t,i,r){super(e,t,i,r),this.vertexSpec=h,this._lineMeshWriter=this._createOutlineWriter(e,t,i,r)}_createOutlineWriter(e,t,i,r){return new p(e,t,i,r)}_write(e,t){const i=this.evaluatedMeshParams.effects,r=this.evaluatedMeshParams.outlineEffects;if(i?.length||r?.length){if(i?.length){const r=this.getEffectCursor(e,t,i);if(r){let i;for(;i=r?.next();)i.invertY(),this._writeFill(e,t,i)}}else this._writeFill(e,t);if(r?.length){const i=this.getEffectCursor(e,t,r);if(i){let r;for(;r=i?.next();)r.invertY(),this._writeOutline(e,t,r)}}else this._writeOutline(e,t)}else this._writeSimpleOutlineFill(e,t)}_writeSimpleOutlineFill(t,i){const r=i.readGeometryForDisplay(),s=this._clip(r);s&&(this._writeGeometry(t,i,s),this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(s,"esriGeometryPolyline"),i))}_writeFill(e,t,i){const r=i?.asOptimized()??t.readGeometryForDisplay(),s=this._clip(r);s&&this._writeGeometry(e,t,s)}_writeOutline(t,i,r){const s=r?.asOptimized()??i.readGeometryForDisplay(),o=this._clip(s);o&&this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(o,"esriGeometryPolyline"),i)}_clip(e){return e?t(e,n(this.evaluatedMeshParams)):null}get effectInfos(){return[...this._evaluator.inputMeshParams.effects?.effectInfos??[],...this._evaluator.inputMeshParams.outlineEffects?.effectInfos??[]]}write(e,t,i,r,s){this.ensurePacked(t,i,r),e.recordStart(this.instanceId,this.attributeLayout),this._write(e,i),e.recordEnd()}ensurePacked(e,t,i){super.ensurePacked(e,t,i),this._lineMeshWriter.ensurePacked(e,t,i)}enqueueRequest(e,t,i){super.enqueueRequest(e,t,i),this._lineMeshWriter.enqueueRequest(e,t,i)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}get hasEffects(){return!!this.evaluatedMeshParams.outlineEffects}}export{f as OutlineFillMeshWriter,p as OutlineFillOutlineMeshWriter,h as outlineFillVertexSpec_Fill,m as outlineFillVertexSpec_Outline};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{OutlineFillMeshWriter as t,outlineFillVertexSpec_Fill as r,OutlineFillOutlineMeshWriter as s,outlineFillVertexSpec_Outline as i}from"./OutlineFillMeshWriter.js";import{patternFillVertexSpec as a}from"./PatternFillMeshWriter.js";const n={optionalAttributes:a.optionalAttributes,createComputedParams:e=>e,attributes:{...a.attributes,...r.attributes}},o={optionalAttributes:a.optionalAttributes,createComputedParams:e=>e,attributes:{...a.attributes,...i.attributes}};class u extends s{constructor(){super(...arguments),this.vertexSpec=o}}class c extends t{constructor(){super(...arguments),this.vertexSpec=n}_createOutlineWriter(e,t,r,s){return new u(e,t,r,s)}_write(t,r,s){const i=s?.asOptimized()??r.readGeometryForDisplay(),a=this._clip(i);if(!a)return;const n=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,n),this._writeGeometry(t,r,a),this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(a,"esriGeometryPolyline"),r),t.recordEnd()}ensurePacked(e,t,r){super.ensurePacked(e,t,r),this._lineMeshWriter.ensurePacked(e,t,r)}enqueueRequest(e,t,r){super.enqueueRequest(e,t,r),this._lineMeshWriter.enqueueRequest(e,t,r)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{c as PatternOutlineFillMeshWriter};
5
+ import{OutlineFillMeshWriter as e,outlineFillVertexSpec_Fill as t,OutlineFillOutlineMeshWriter as r,outlineFillVertexSpec_Outline as s}from"./OutlineFillMeshWriter.js";import{patternFillVertexSpec as i}from"./PatternFillMeshWriter.js";const a={optionalAttributes:i.optionalAttributes,createComputedParams:e=>e,attributes:{...i.attributes,...t.attributes}},u={optionalAttributes:i.optionalAttributes,createComputedParams:e=>e,attributes:{...i.attributes,...s.attributes}};class n extends r{constructor(){super(...arguments),this.vertexSpec=u}}class o extends e{constructor(){super(...arguments),this.vertexSpec=a}_createOutlineWriter(e,t,r,s){return new n(e,t,r,s)}write(e,t,r,s,i){this.ensurePacked(t,r,s);const a=this.evaluatedMeshParams.sprite?.textureBinding;e.recordStart(this.instanceId,this.attributeLayout,a),this._write(e,r),e.recordEnd()}ensurePacked(e,t,r){super.ensurePacked(e,t,r),this._lineMeshWriter.ensurePacked(e,t,r)}enqueueRequest(e,t,r){super.enqueueRequest(e,t,r),this._lineMeshWriter.enqueueRequest(e,t,r)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{o as PatternOutlineFillMeshWriter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{CIMEffectHelper as t}from"../../../../../../../symbols/cim/effects/CIMEffectHelper.js";import{loadGeometryEngine as r,getGeometryEngine as a}from"./loadGeometryEngine.js";import{MeshWriterVertexPack as s}from"./MeshWriterVertexPack.js";function i(e){if(!e)return!1;for(const t of e)switch(t.effect.type){case"CIMGeometricEffectBuffer":case"CIMGeometricEffectDonut":case"CIMGeometricEffectOffset":case"CIMGeometricEffectTaperedPolygon":case"CIMGeometricEffectEnclosingPolygon":return!0}return!1}class c{constructor(e,t,r,a){this._instanceId=e,this._evaluator=t,this._enabledOptionalAttributes=r,this._viewParams=a,this._evaluator.evaluator=e=>this.vertexSpec.createComputedParams(e)}get _vertexPack(){if(!this._cachedVertexPack){const e=s.fromVertexSpec(this.vertexSpec,this._enabledOptionalAttributes);this._evaluator.hasDynamicProperties||e.pack(this._evaluator.evaluatedMeshParams,this._viewParams),this._cachedVertexPack=e}return this._cachedVertexPack}get evaluatedMeshParams(){return this._evaluator.evaluatedMeshParams}get hasEffects(){return!!this.evaluatedMeshParams.effects}get instanceId(){return this._instanceId}get attributeLayout(){return this._vertexPack.attributeLayout}get _preventEffectClipping(){return!1}setReferences(e){this._references=e}getBoundsInfo(){return null}getTileInfo(){return this._viewParams.tileInfo}async loadDependencies(){i(this._evaluator.inputMeshParams.effects?.effectInfos)&&await r()}enqueueRequest(e,t,r){this._evaluator.hasDynamicProperties&&this._evaluator.enqueueRequest(e,t,r)}write(r,s,i,c,n){this.ensurePacked(s,i,c);const o=this.evaluatedMeshParams.effects;if(!o||0===o.length)return void this._write(r,i,void 0,n);const u=i.readGeometryForDisplay()?.clone();if(!u)return;const f=e.fromOptimizedCIM(u,i.geometryType),h=a();f.invertY();const l=r.id||"",m=t.executeEffects(o,f,l,h,this._preventEffectClipping);let v;for(;v=m.next();)v.invertY(),this._write(r,i,v,n)}ensurePacked(e,t,r){if(!this._evaluator.hasDynamicProperties)return;const a=this._evaluator.evaluateMeshParams(e,t,r);this._vertexPack.pack(a,this._viewParams)}hasArcadeDependency(e){return this._evaluator.hasArcadeDependency(e)}_writeVertex(e,t,r,a,s){const i=this.evaluatedMeshParams;this._vertexPack.writeVertex(e,t,r,a,i,s)}}export{c as MeshWriter};
5
+ import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{CIMEffectHelper as t}from"../../../../../../../symbols/cim/effects/CIMEffectHelper.js";import{loadGeometryEngine as r,getGeometryEngine as s}from"./loadGeometryEngine.js";import{MeshWriterVertexPack as a}from"./MeshWriterVertexPack.js";function i(e){if(!e)return!1;for(const t of e)switch(t.effect.type){case"CIMGeometricEffectBuffer":case"CIMGeometricEffectDonut":case"CIMGeometricEffectOffset":case"CIMGeometricEffectTaperedPolygon":case"CIMGeometricEffectEnclosingPolygon":return!0}return!1}class c{constructor(e,t,r,s){this._instanceId=e,this._evaluator=t,this._enabledOptionalAttributes=r,this._viewParams=s,this._evaluator.evaluator=e=>this.vertexSpec.createComputedParams(e)}get _vertexPack(){if(!this._cachedVertexPack){const e=a.fromVertexSpec(this.vertexSpec,this._enabledOptionalAttributes);this._evaluator.hasDynamicProperties||e.pack(this._evaluator.evaluatedMeshParams,this._viewParams),this._cachedVertexPack=e}return this._cachedVertexPack}get evaluatedMeshParams(){return this._evaluator.evaluatedMeshParams}get hasEffects(){return!!this.evaluatedMeshParams.effects}get effectInfos(){return this._evaluator.inputMeshParams.effects?.effectInfos}get instanceId(){return this._instanceId}get attributeLayout(){return this._vertexPack.attributeLayout}get _preventEffectClipping(){return!1}setReferences(e){this._references=e}getBoundsInfo(){return null}getTileInfo(){return this._viewParams.tileInfo}async loadDependencies(){i(this.effectInfos)&&await r()}enqueueRequest(e,t,r){this._evaluator.hasDynamicProperties&&this._evaluator.enqueueRequest(e,t,r)}write(e,t,r,s,a){this.ensurePacked(t,r,s);const i=this.evaluatedMeshParams.effects;if(!i||0===i.length)return void this._write(e,r,void 0,a);const c=this.getEffectCursor(e,r,i);if(!c)return;let n;for(;n=c.next();)n.invertY(),this._write(e,r,n,a)}ensurePacked(e,t,r){if(!this._evaluator.hasDynamicProperties)return;const s=this._evaluator.evaluateMeshParams(e,t,r);this._vertexPack.pack(s,this._viewParams)}hasArcadeDependency(e){return this._evaluator.hasArcadeDependency(e)}_writeVertex(e,t,r,s,a){const i=this.evaluatedMeshParams;this._vertexPack.writeVertex(e,t,r,s,i,a)}getEffectCursor(r,a,i){const c=a.readGeometryForDisplay()?.clone();if(!c)return;const n=e.fromOptimizedCIM(c,a.geometryType),o=s();n.invertY();const f=r.id||"";return t.executeEffects(i,n,f,o,this._preventEffectClipping)}}export{c as MeshWriter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t,a as o}from"../../../../../../../chunks/tslib.es6.js";import{location as i,uniform as e,option as r,input as s}from"../../GraphShaderModule.js";import{greaterThan as a,Float as l,ifElse as p,Vec3 as n,Vec4 as u,Vec2 as m}from"../../graph/glsl.js";import{AFeatureShader as d,BaseHittestVertexInput as c,FeatureVertexInput as f}from"./AFeatureShader.js";import{bitsetTypeFillOutline as y}from"./constants.js";import{hittestFill as h,failHittest as v}from"./hittestUtils.js";import{getLineFragmentColor as V,getLineVertexData as S,AntialiasingControls as b,LineFragmentInput as j}from"./LineShader.js";import{getBit as x}from"./utils.js";import{VisualVariableColor as g}from"./VisualVariableColor.js";import{VisualVariableOpacity as w}from"./VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as z}from"./VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as M}from"./VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as O}from"./VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as C}from"./VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as P,getVisualVariableColor as U}from"./vvUtils.js";class W extends f{}t([i(3,m)],W.prototype,"offset",void 0),t([i(4,u)],W.prototype,"color",void 0),t([i(5,m)],W.prototype,"normal",void 0),t([i(6,l)],W.prototype,"halfWidth",void 0),t([i(7,l)],W.prototype,"referenceHalfWidth",void 0),t([i(8,m)],W.prototype,"zoomRange",void 0);class F extends j{}function R(t,o,i){const{id:e,bitset:r}=o,s=x(r,y),m=a(s,new l(.5)),d=S(t,o),c=p(m,d.halfWidth,new l(0)),f=P(t,e),h=U(t,e,o.color),v=p(m,o.color,h.multiply(f)),V=t.view.displayViewScreenMat3.multiply(new n(o.pos.xy,1)),b=t.clip(o.id),j=new u(V.xy,b,1),g=p(m,d.glPosition,j),w=i&&t.maybeRunHittest(o,i,m);return{isOutline:s,color:v,opacity:new l(1),halfWidth:c,normal:d.normal,glPosition:g,...w}}class A extends d{constructor(){super(...arguments),this.computeAttributes={pos:["nextPos1","nextPos2"]}}}t([e(b)],A.prototype,"antialiasingControls",void 0),t([r(g)],A.prototype,"visualVariableColor",void 0),t([r(w)],A.prototype,"visualVariableOpacity",void 0),t([r(z)],A.prototype,"visualVariableSizeMinMaxValue",void 0),t([r(M)],A.prototype,"visualVariableSizeScaleStops",void 0),t([r(O)],A.prototype,"visualVariableSizeStops",void 0),t([r(C)],A.prototype,"visualVariableSizeUnitValue",void 0);class H extends A{constructor(){super(...arguments),this.type="OutlineFillShader"}vertex(t,o){return R(this,t,o)}fragment(t){const{color:o,isOutline:i}=t,e=a(i,new l(.5)),r=V(t,this.antialiasingControls.blur),s=p(e,r,o),n=p(e,new l(1/255),new l(0));return this.getFragmentOutput(s,t,n)}hittest(t,o,i){return p(i,v(this.hittestRequest),h(this,t,o))}}t([o(0,s(W)),o(1,s(c))],H.prototype,"vertex",null),t([o(0,s(F))],H.prototype,"fragment",null);export{A as AOutlineFillShader,F as OutlineFillFragmentInput,H as OutlineFillShader,W as OutlineFillVertexInput,R as getOutlineFillVertexData};
5
+ import{_ as t,a as o}from"../../../../../../../chunks/tslib.es6.js";import{location as i,uniform as e,option as r,input as s}from"../../GraphShaderModule.js";import{greaterThan as a,Float as l,ifElse as p,Vec3 as n,Vec4 as u,Vec2 as m}from"../../graph/glsl.js";import{AFeatureShader as d,BaseHittestVertexInput as c,FeatureVertexInput as f}from"./AFeatureShader.js";import{bitsetTypeFillOutline as y,bitsetOutlineUsesColorVV as h}from"./constants.js";import{hittestFill as v,failHittest as V}from"./hittestUtils.js";import{getLineFragmentColor as S,getLineVertexData as b,AntialiasingControls as j,LineFragmentInput as x}from"./LineShader.js";import{getBit as g,getBitBool as w}from"./utils.js";import{VisualVariableColor as z}from"./VisualVariableColor.js";import{VisualVariableOpacity as M}from"./VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as O}from"./VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as C}from"./VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as P}from"./VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as U}from"./VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as W,getVisualVariableColor as F}from"./vvUtils.js";class R extends f{}t([i(3,m)],R.prototype,"offset",void 0),t([i(4,u)],R.prototype,"color",void 0),t([i(5,m)],R.prototype,"normal",void 0),t([i(6,l)],R.prototype,"halfWidth",void 0),t([i(7,l)],R.prototype,"referenceHalfWidth",void 0),t([i(8,m)],R.prototype,"zoomRange",void 0);class A extends x{}function H(t,o,i){const{id:e,bitset:r}=o,s=g(r,y),m=a(s,new l(.5)),d=b(t,o),c=p(m,d.halfWidth,new l(0)),f=W(t,e),v=F(t,e,o.color),V=p(m,p(w(r,h),v,o.color),v.multiply(f)),S=t.view.displayViewScreenMat3.multiply(new n(o.pos.xy,1)),j=t.clip(o.id),x=new u(S.xy,j,1),z=p(m,d.glPosition,x),M=i&&t.maybeRunHittest(o,i,m);return{isOutline:s,color:V,opacity:new l(1),halfWidth:c,normal:d.normal,glPosition:z,...M}}class k extends d{constructor(){super(...arguments),this.computeAttributes={pos:["nextPos1","nextPos2"]}}}t([e(j)],k.prototype,"antialiasingControls",void 0),t([r(z)],k.prototype,"visualVariableColor",void 0),t([r(M)],k.prototype,"visualVariableOpacity",void 0),t([r(O)],k.prototype,"visualVariableSizeMinMaxValue",void 0),t([r(C)],k.prototype,"visualVariableSizeScaleStops",void 0),t([r(P)],k.prototype,"visualVariableSizeStops",void 0),t([r(U)],k.prototype,"visualVariableSizeUnitValue",void 0);class q extends k{constructor(){super(...arguments),this.type="OutlineFillShader"}vertex(t,o){return H(this,t,o)}fragment(t){const{color:o,isOutline:i}=t,e=a(i,new l(.5)),r=S(t,this.antialiasingControls.blur),s=p(e,r,o),n=p(e,new l(1/255),new l(0));return this.getFragmentOutput(s,t,n)}hittest(t,o,i){return p(i,V(this.hittestRequest),v(this,t,o))}}t([o(0,s(R)),o(1,s(c))],q.prototype,"vertex",null),t([o(0,s(A))],q.prototype,"fragment",null);export{k as AOutlineFillShader,A as OutlineFillFragmentInput,q as OutlineFillShader,R as OutlineFillVertexInput,H as getOutlineFillVertexData};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- var i;!function(i){i[i.Geographic=0]="Geographic",i[i.Arithmatic=1]="Arithmatic"}(i||(i={}));const t=3.14159265359/180,c=3.14159265359/128,r=180/3.141592654,a=1/8,e=1,o=1,h=1.1,n=1,p=1/4,g=1/8,m=.2,A=24,G=8,f=8,s=1e-5,u=.05,v=2,x=0,b=1,d=2,j=3,k=1e-30,l=1,q=4,w=0,y=2,z=3,B=0,C=2,D=2,E=3,F=0,H=3,I=16777216,J=1.1,K=16,L=128;export{i as RotationType,b as attrVvColor,d as attrVvOpacity,j as attrVvRotation,x as attrVvSize,C as bitsetFillRandomPatternOffset,q as bitsetGenericConsiderAlphaOnly,l as bitsetGenericLockColor,E as bitsetLineIsSdf,D as bitsetLineScaleDash,w as bitsetMarkerAlignmentMap,y as bitsetMarkerOutlineAllowColorOverride,z as bitsetMarkerScaleSymbolsProportionally,F as bitsetTextIsBackground,H as bitsetTextIsMapAligned,B as bitsetTypeFillOutline,c as c256ToRad,t as cDegToRad,r as cRadToDeg,s as epsilon,u as epsilonHitTest,p as extrudeScalePlacementPadding,e as fillPositionPrecision,J as magnifierBarrelFactor,v as maxFilterCount,I as maxRepresentableInt,G as maxSdfDistance,k as nanMagicNumber,g as offsetPrecision,m as outlineScale,K as packPrecision,f as placementPadding,a as positionPrecision,A as sdfFontSize,L as signedToUnsignedByte,o as softEdgeRatio,n as thinLineHalfWidth,h as thinLineWidthFactor};
5
+ var i;!function(i){i[i.Geographic=0]="Geographic",i[i.Arithmatic=1]="Arithmatic"}(i||(i={}));const t=3.14159265359/180,c=3.14159265359/128,r=180/3.141592654,a=1/8,e=1,o=1,h=1.1,n=1,p=1/4,g=1/8,m=.2,A=24,G=8,f=8,s=1e-5,u=.05,v=2,x=0,b=1,d=2,j=3,k=1e-30,l=1,q=4,w=0,y=2,z=3,B=0,C=2,D=2,E=3,F=0,H=3,I=16777216,J=1.1,K=16,L=128,M=1;export{i as RotationType,b as attrVvColor,d as attrVvOpacity,j as attrVvRotation,x as attrVvSize,C as bitsetFillRandomPatternOffset,q as bitsetGenericConsiderAlphaOnly,l as bitsetGenericLockColor,E as bitsetLineIsSdf,D as bitsetLineScaleDash,w as bitsetMarkerAlignmentMap,y as bitsetMarkerOutlineAllowColorOverride,z as bitsetMarkerScaleSymbolsProportionally,M as bitsetOutlineUsesColorVV,F as bitsetTextIsBackground,H as bitsetTextIsMapAligned,B as bitsetTypeFillOutline,c as c256ToRad,t as cDegToRad,r as cRadToDeg,s as epsilon,u as epsilonHitTest,p as extrudeScalePlacementPadding,e as fillPositionPrecision,J as magnifierBarrelFactor,v as maxFilterCount,I as maxRepresentableInt,G as maxSdfDistance,k as nanMagicNumber,g as offsetPrecision,m as outlineScale,K as packPrecision,f as placementPadding,a as positionPrecision,A as sdfFontSize,L as signedToUnsignedByte,o as softEdgeRatio,n as thinLineHalfWidth,h as thinLineWidthFactor};