uomtiles 0.1.0

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 (507) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_nuxt/1d1PDhA4.js +1 -0
  3. package/.output/public/_nuxt/3B2XYGg4.js +1 -0
  4. package/.output/public/_nuxt/981KwFWf.js +1 -0
  5. package/.output/public/_nuxt/B30dSvM4.js +1 -0
  6. package/.output/public/_nuxt/BN1Gp4Dm.js +1 -0
  7. package/.output/public/_nuxt/BQlj8Xoe.js +6 -0
  8. package/.output/public/_nuxt/BRkljK8J.js +1 -0
  9. package/.output/public/_nuxt/BSdHYVlE2.js +1 -0
  10. package/.output/public/_nuxt/B_MqTg2k2.js +1 -0
  11. package/.output/public/_nuxt/BiWblTbb2.js +64 -0
  12. package/.output/public/_nuxt/BrPwntMr.js +1 -0
  13. package/.output/public/_nuxt/BskybydR.js +1 -0
  14. package/.output/public/_nuxt/ByRlKR9F.js +1 -0
  15. package/.output/public/_nuxt/C0Zdl2EE2.js +1 -0
  16. package/.output/public/_nuxt/C4qlzA4o.js +1 -0
  17. package/.output/public/_nuxt/C7HxHbxA.js +1 -0
  18. package/.output/public/_nuxt/C97TfNgP.js +3 -0
  19. package/.output/public/_nuxt/CNs_Ozdc.js +1 -0
  20. package/.output/public/_nuxt/CPuhwLY1.js +1 -0
  21. package/.output/public/_nuxt/CVE291Pi.js +1 -0
  22. package/.output/public/_nuxt/C_0VY3Cv2.js +4 -0
  23. package/.output/public/_nuxt/Ce26t8_Y.js +1 -0
  24. package/.output/public/_nuxt/CfW544W5.js +1 -0
  25. package/.output/public/_nuxt/CgMd2Y5s.js +2 -0
  26. package/.output/public/_nuxt/CgdzV712.js +1 -0
  27. package/.output/public/_nuxt/D1wVNWS0.js +1 -0
  28. package/.output/public/_nuxt/DC3bhq63.js +1 -0
  29. package/.output/public/_nuxt/DK3Fl9T5.js +1 -0
  30. package/.output/public/_nuxt/DL1MZZLI.js +1 -0
  31. package/.output/public/_nuxt/DXm-42Fi.js +1 -0
  32. package/.output/public/_nuxt/Djg3Kzfv.js +1 -0
  33. package/.output/public/_nuxt/DkcySee1.js +1 -0
  34. package/.output/public/_nuxt/DmN-PKW1.js +1 -0
  35. package/.output/public/_nuxt/DtFVCXI9.js +1 -0
  36. package/.output/public/_nuxt/Dz7VMlHR.js +1 -0
  37. package/.output/public/_nuxt/NL65vbjG2.js +1 -0
  38. package/.output/public/_nuxt/Oxy7pKSk.js +3 -0
  39. package/.output/public/_nuxt/Pik8or8N2.js +1 -0
  40. package/.output/public/_nuxt/XZ59tThl.js +1 -0
  41. package/.output/public/_nuxt/ZpWjFsgV.js +1 -0
  42. package/.output/public/_nuxt/builds/latest.json +1 -0
  43. package/.output/public/_nuxt/builds/meta/9f85104e-738d-4a74-8daa-40b136ce17d5.json +1 -0
  44. package/.output/public/_nuxt/dXz6dFgW2.js +1 -0
  45. package/.output/public/_nuxt/entry.P6tFNE31.css +1 -0
  46. package/.output/public/_nuxt/error-404.Biv0P6cJ.css +1 -0
  47. package/.output/public/_nuxt/error-500.8ok468rV.css +1 -0
  48. package/.output/public/_nuxt/j0MRD-c3.js +1 -0
  49. package/.output/public/_nuxt/local-pixel-diff.worker-C6RdZoCq.js +2 -0
  50. package/.output/public/_nuxt/maplibre-gl-worker.nfnkSQvL.mjs +6 -0
  51. package/.output/public/_nuxt/nearest-area.worker-iSLH0Y_s.js +2 -0
  52. package/.output/public/_nuxt/q7DkoVkj.js +828 -0
  53. package/.output/public/_nuxt/raster-tile.worker-BFlOgJig.js +2 -0
  54. package/.output/public/_nuxt/services._3nQizF8.css +1 -0
  55. package/.output/public/_nuxt/sql-wasm.DfANybxk.wasm +0 -0
  56. package/.output/public/_nuxt/tile-diff.worker-CvWWI_eu.js +1 -0
  57. package/.output/public/_nuxt/zZ1EGR7Y.js +1 -0
  58. package/.output/public/apple-touch-icon.png +0 -0
  59. package/.output/public/favicon.ico +0 -0
  60. package/.output/public/favicon.svg +8 -0
  61. package/.output/public/icon-192.png +0 -0
  62. package/.output/public/icon-512.png +0 -0
  63. package/.output/public/site.webmanifest +11 -0
  64. package/.output/server/chunks/_/config.mjs +208 -0
  65. package/.output/server/chunks/_/config.mjs.map +1 -0
  66. package/.output/server/chunks/_/data-directory.mjs +24 -0
  67. package/.output/server/chunks/_/data-directory.mjs.map +1 -0
  68. package/.output/server/chunks/_/error-500.mjs +20 -0
  69. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  70. package/.output/server/chunks/_/file-workspace.mjs +910 -0
  71. package/.output/server/chunks/_/file-workspace.mjs.map +1 -0
  72. package/.output/server/chunks/_/icons.mjs +6269 -0
  73. package/.output/server/chunks/_/icons.mjs.map +1 -0
  74. package/.output/server/chunks/_/map-service.mjs +233 -0
  75. package/.output/server/chunks/_/map-service.mjs.map +1 -0
  76. package/.output/server/chunks/_/missing-tile.mjs +104 -0
  77. package/.output/server/chunks/_/missing-tile.mjs.map +1 -0
  78. package/.output/server/chunks/_/pixel-diff.mjs +78 -0
  79. package/.output/server/chunks/_/pixel-diff.mjs.map +1 -0
  80. package/.output/server/chunks/_/uom-auth.mjs +334 -0
  81. package/.output/server/chunks/_/uom-auth.mjs.map +1 -0
  82. package/.output/server/chunks/_/uom-map.mjs +265 -0
  83. package/.output/server/chunks/_/uom-map.mjs.map +1 -0
  84. package/.output/server/chunks/build/Alert-0ngTJXxP.mjs +5076 -0
  85. package/.output/server/chunks/build/Alert-0ngTJXxP.mjs.map +1 -0
  86. package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs +569 -0
  87. package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs.map +1 -0
  88. package/.output/server/chunks/build/Empty-CkW3mADt.mjs +359 -0
  89. package/.output/server/chunks/build/Empty-CkW3mADt.mjs.map +1 -0
  90. package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs +207 -0
  91. package/.output/server/chunks/build/FocusScope-Cf0lg0zt.mjs.map +1 -0
  92. package/.output/server/chunks/build/FormField-CEUZHcv7.mjs +278 -0
  93. package/.output/server/chunks/build/FormField-CEUZHcv7.mjs.map +1 -0
  94. package/.output/server/chunks/build/Input-BeNavYXb.mjs +592 -0
  95. package/.output/server/chunks/build/Input-BeNavYXb.mjs.map +1 -0
  96. package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs +2003 -0
  97. package/.output/server/chunks/build/MapBaseLayerTabs-4445J6yh.mjs.map +1 -0
  98. package/.output/server/chunks/build/Modal-DNZtVxca.mjs +1326 -0
  99. package/.output/server/chunks/build/Modal-DNZtVxca.mjs.map +1 -0
  100. package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs +146 -0
  101. package/.output/server/chunks/build/OnlineMap-CKwiuqUY.mjs.map +1 -0
  102. package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs +1025 -0
  103. package/.output/server/chunks/build/Pagination-CDHx4HTZ.mjs.map +1 -0
  104. package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs +2066 -0
  105. package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs.map +1 -0
  106. package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs +379 -0
  107. package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs.map +1 -0
  108. package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs +1087 -0
  109. package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs.map +1 -0
  110. package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs +1345 -0
  111. package/.output/server/chunks/build/Tooltip-CkpSktvJ.mjs.map +1 -0
  112. package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs +7 -0
  113. package/.output/server/chunks/build/_virtual_public-CeOptKUP.mjs.map +1 -0
  114. package/.output/server/chunks/build/advanced-D1onodoF.mjs +1430 -0
  115. package/.output/server/chunks/build/advanced-D1onodoF.mjs.map +1 -0
  116. package/.output/server/chunks/build/compare-DmSAW8oA.mjs +1093 -0
  117. package/.output/server/chunks/build/compare-DmSAW8oA.mjs.map +1 -0
  118. package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs +3217 -0
  119. package/.output/server/chunks/build/dashboard-BJxrZ19n.mjs.map +1 -0
  120. package/.output/server/chunks/build/details-CBMqXYyo.mjs +3714 -0
  121. package/.output/server/chunks/build/details-CBMqXYyo.mjs.map +1 -0
  122. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +86 -0
  123. package/.output/server/chunks/build/error-404-D9aQjJRn.mjs.map +1 -0
  124. package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs +9 -0
  125. package/.output/server/chunks/build/error-404-styles.DciiguV6.mjs.map +1 -0
  126. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +74 -0
  127. package/.output/server/chunks/build/error-500-BNyA3wrb.mjs.map +1 -0
  128. package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs +9 -0
  129. package/.output/server/chunks/build/error-500-styles.C562DYMR.mjs.map +1 -0
  130. package/.output/server/chunks/build/esm-Dp2lJXbp.mjs +1121 -0
  131. package/.output/server/chunks/build/esm-Dp2lJXbp.mjs.map +1 -0
  132. package/.output/server/chunks/build/interval-BxUMpo78.mjs +411 -0
  133. package/.output/server/chunks/build/interval-BxUMpo78.mjs.map +1 -0
  134. package/.output/server/chunks/build/login-lbtjN0MV.mjs +642 -0
  135. package/.output/server/chunks/build/login-lbtjN0MV.mjs.map +1 -0
  136. package/.output/server/chunks/build/pages-Ba0Eixbd.mjs +220 -0
  137. package/.output/server/chunks/build/pages-Ba0Eixbd.mjs.map +1 -0
  138. package/.output/server/chunks/build/services-DuJwjAB8.mjs +3005 -0
  139. package/.output/server/chunks/build/services-DuJwjAB8.mjs.map +1 -0
  140. package/.output/server/chunks/build/services-styles.eoO16BY9.mjs +9 -0
  141. package/.output/server/chunks/build/services-styles.eoO16BY9.mjs.map +1 -0
  142. package/.output/server/chunks/build/tasks-CyN9x492.mjs +915 -0
  143. package/.output/server/chunks/build/tasks-CyN9x492.mjs.map +1 -0
  144. package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs +87 -0
  145. package/.output/server/chunks/build/tasks-D_Q5EDnn.mjs.map +1 -0
  146. package/.output/server/chunks/nitro/nitro.mjs +6215 -0
  147. package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  148. package/.output/server/chunks/routes/api/auth/captcha.post.mjs +21 -0
  149. package/.output/server/chunks/routes/api/auth/captcha.post.mjs.map +1 -0
  150. package/.output/server/chunks/routes/api/auth/login.post.mjs +27 -0
  151. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -0
  152. package/.output/server/chunks/routes/api/auth/logout.post.mjs +22 -0
  153. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -0
  154. package/.output/server/chunks/routes/api/auth/map-token.post.mjs +22 -0
  155. package/.output/server/chunks/routes/api/auth/map-token.post.mjs.map +1 -0
  156. package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +31 -0
  157. package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -0
  158. package/.output/server/chunks/routes/api/auth/status.get.mjs +21 -0
  159. package/.output/server/chunks/routes/api/auth/status.get.mjs.map +1 -0
  160. package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +44 -0
  161. package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
  162. package/.output/server/chunks/routes/api/map/live/status.get.mjs +32 -0
  163. package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -0
  164. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +48 -0
  165. package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -0
  166. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +46 -0
  167. package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -0
  168. package/.output/server/chunks/routes/api/map-service/config.post.mjs +38 -0
  169. package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -0
  170. package/.output/server/chunks/routes/api/map-service/file.post.mjs +41 -0
  171. package/.output/server/chunks/routes/api/map-service/file.post.mjs.map +1 -0
  172. package/.output/server/chunks/routes/api/map-service/source.post.mjs +35 -0
  173. package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -0
  174. package/.output/server/chunks/routes/api/map-service/status.get.mjs +32 -0
  175. package/.output/server/chunks/routes/api/map-service/status.get.mjs.map +1 -0
  176. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +47 -0
  177. package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -0
  178. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +38 -0
  179. package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs.map +1 -0
  180. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +42 -0
  181. package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -0
  182. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +48 -0
  183. package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -0
  184. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +45 -0
  185. package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -0
  186. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +32 -0
  187. package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs.map +1 -0
  188. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +38 -0
  189. package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -0
  190. package/.output/server/chunks/routes/api/workspace/compare.post.mjs +33 -0
  191. package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -0
  192. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +33 -0
  193. package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -0
  194. package/.output/server/chunks/routes/api/workspace/files.get.mjs +27 -0
  195. package/.output/server/chunks/routes/api/workspace/files.get.mjs.map +1 -0
  196. package/.output/server/chunks/routes/api/workspace/files.post.mjs +38 -0
  197. package/.output/server/chunks/routes/api/workspace/files.post.mjs.map +1 -0
  198. package/.output/server/chunks/routes/api/workspace/stop.post.mjs +32 -0
  199. package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -0
  200. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +36 -0
  201. package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -0
  202. package/.output/server/chunks/routes/renderer.mjs +422 -0
  203. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  204. package/.output/server/chunks/routes/services/wms.get.mjs +54 -0
  205. package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -0
  206. package/.output/server/chunks/routes/services/wmts.get.mjs +54 -0
  207. package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -0
  208. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  209. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  210. package/.output/server/chunks/virtual/entry.mjs +18545 -0
  211. package/.output/server/chunks/virtual/entry.mjs.map +1 -0
  212. package/.output/server/chunks/virtual/precomputed.mjs +4 -0
  213. package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
  214. package/.output/server/chunks/virtual/styles.mjs +10 -0
  215. package/.output/server/chunks/virtual/styles.mjs.map +1 -0
  216. package/.output/server/index.mjs +12 -0
  217. package/.output/server/index.mjs.map +1 -0
  218. package/.output/server/node_modules/@babel/parser/lib/index.js +14611 -0
  219. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  220. package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
  221. package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
  222. package/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
  223. package/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
  224. package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
  225. package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
  226. package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
  227. package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
  228. package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
  229. package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
  230. package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
  231. package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
  232. package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
  233. package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
  234. package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
  235. package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
  236. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
  237. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
  238. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
  239. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
  240. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
  241. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
  242. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
  243. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
  244. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
  245. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
  246. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
  247. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
  248. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
  249. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
  250. package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
  251. package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
  252. package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
  253. package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
  254. package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
  255. package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
  256. package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
  257. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
  258. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
  259. package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
  260. package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
  261. package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
  262. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
  263. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
  264. package/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
  265. package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
  266. package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
  267. package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
  268. package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
  269. package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
  270. package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
  271. package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
  272. package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
  273. package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
  274. package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
  275. package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
  276. package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
  277. package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
  278. package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
  279. package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
  280. package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
  281. package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
  282. package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
  283. package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
  284. package/.output/server/node_modules/@iconify/utils/package.json +119 -0
  285. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6801 -0
  286. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  287. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +692 -0
  288. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  289. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
  290. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  291. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
  292. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  293. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6976 -0
  294. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  295. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1841 -0
  296. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  297. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +904 -0
  298. package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
  299. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +609 -0
  300. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  301. package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  302. package/.output/server/node_modules/consola/dist/core.mjs +512 -0
  303. package/.output/server/node_modules/consola/dist/index.mjs +651 -0
  304. package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  305. package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  306. package/.output/server/node_modules/consola/package.json +136 -0
  307. package/.output/server/node_modules/devalue/index.js +17 -0
  308. package/.output/server/node_modules/devalue/package.json +39 -0
  309. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  310. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  311. package/.output/server/node_modules/devalue/src/operations.js +193 -0
  312. package/.output/server/node_modules/devalue/src/parse.js +270 -0
  313. package/.output/server/node_modules/devalue/src/stringify.js +428 -0
  314. package/.output/server/node_modules/devalue/src/uneval.js +582 -0
  315. package/.output/server/node_modules/devalue/src/utils.js +185 -0
  316. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  317. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  318. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  319. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  320. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  321. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  322. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  323. package/.output/server/node_modules/entities/package.json +120 -0
  324. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  325. package/.output/server/node_modules/estree-walker/package.json +37 -0
  326. package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
  327. package/.output/server/node_modules/fflate/package.json +128 -0
  328. package/.output/server/node_modules/fnv1a-64/dist/index.mjs +95 -0
  329. package/.output/server/node_modules/fnv1a-64/package.json +75 -0
  330. package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
  331. package/.output/server/node_modules/hookable/package.json +53 -0
  332. package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
  333. package/.output/server/node_modules/nostics/dist/index.mjs +187 -0
  334. package/.output/server/node_modules/nostics/package.json +125 -0
  335. package/.output/server/node_modules/object-identity/index.js +60 -0
  336. package/.output/server/node_modules/object-identity/package.json +40 -0
  337. package/.output/server/node_modules/p-limit/index.js +104 -0
  338. package/.output/server/node_modules/p-limit/package.json +58 -0
  339. package/.output/server/node_modules/pmtiles/dist/esm/index.js +2 -0
  340. package/.output/server/node_modules/pmtiles/package.json +50 -0
  341. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  342. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  343. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  344. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  345. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  346. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  347. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  348. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  349. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  350. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  351. package/.output/server/node_modules/source-map-js/package.json +71 -0
  352. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  353. package/.output/server/node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs +1 -0
  354. package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
  355. package/.output/server/node_modules/tailwindcss/package.json +89 -0
  356. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  357. package/.output/server/node_modules/ufo/package.json +48 -0
  358. package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
  359. package/.output/server/node_modules/unhead/dist/index.mjs +52 -0
  360. package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
  361. package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
  362. package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
  363. package/.output/server/node_modules/unhead/dist/plugins.mjs +631 -0
  364. package/.output/server/node_modules/unhead/dist/scripts.node.mjs +6 -0
  365. package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
  366. package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
  367. package/.output/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
  368. package/.output/server/node_modules/unhead/dist/shared/unhead.BQWSw36o.mjs +192 -0
  369. package/.output/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +67 -0
  370. package/.output/server/node_modules/unhead/dist/shared/unhead.BdK3SLPN.mjs +585 -0
  371. package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
  372. package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
  373. package/.output/server/node_modules/unhead/dist/shared/unhead.C3b2Ipoj.mjs +223 -0
  374. package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
  375. package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
  376. package/.output/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +27 -0
  377. package/.output/server/node_modules/unhead/dist/shared/unhead.CfKy3Kuq.mjs +196 -0
  378. package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
  379. package/.output/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +400 -0
  380. package/.output/server/node_modules/unhead/dist/shared/unhead.MC5RsXLj.mjs +19 -0
  381. package/.output/server/node_modules/unhead/dist/shared/unhead.jEy9BmRq.mjs +264 -0
  382. package/.output/server/node_modules/unhead/dist/shared/unhead.tQnRaXfX.mjs +240 -0
  383. package/.output/server/node_modules/unhead/dist/stream/client.mjs +28 -0
  384. package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
  385. package/.output/server/node_modules/unhead/dist/stream/server.mjs +264 -0
  386. package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
  387. package/.output/server/node_modules/unhead/package.json +179 -0
  388. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  389. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  390. package/.output/server/node_modules/vue/index.js +7 -0
  391. package/.output/server/node_modules/vue/index.mjs +1 -0
  392. package/.output/server/node_modules/vue/package.json +112 -0
  393. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  394. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +278 -0
  395. package/.output/server/node_modules/vue-bundle-renderer/package.json +54 -0
  396. package/.output/server/node_modules/yocto-queue/index.js +90 -0
  397. package/.output/server/node_modules/yocto-queue/package.json +48 -0
  398. package/.output/server/node_modules/zod/index.js +4 -0
  399. package/.output/server/node_modules/zod/package.json +135 -0
  400. package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
  401. package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
  402. package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
  403. package/.output/server/node_modules/zod/v4/classic/errors.js +48 -0
  404. package/.output/server/node_modules/zod/v4/classic/external.js +20 -0
  405. package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +599 -0
  406. package/.output/server/node_modules/zod/v4/classic/iso.js +30 -0
  407. package/.output/server/node_modules/zod/v4/classic/package.json +7 -0
  408. package/.output/server/node_modules/zod/v4/classic/parse.js +15 -0
  409. package/.output/server/node_modules/zod/v4/classic/schemas.js +1395 -0
  410. package/.output/server/node_modules/zod/v4/core/api.js +1087 -0
  411. package/.output/server/node_modules/zod/v4/core/checks.js +575 -0
  412. package/.output/server/node_modules/zod/v4/core/core.js +78 -0
  413. package/.output/server/node_modules/zod/v4/core/doc.js +35 -0
  414. package/.output/server/node_modules/zod/v4/core/errors.js +185 -0
  415. package/.output/server/node_modules/zod/v4/core/index.js +16 -0
  416. package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  417. package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +601 -0
  418. package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
  419. package/.output/server/node_modules/zod/v4/core/package.json +7 -0
  420. package/.output/server/node_modules/zod/v4/core/parse.js +93 -0
  421. package/.output/server/node_modules/zod/v4/core/regexes.js +139 -0
  422. package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
  423. package/.output/server/node_modules/zod/v4/core/schemas.js +2239 -0
  424. package/.output/server/node_modules/zod/v4/core/to-json-schema.js +448 -0
  425. package/.output/server/node_modules/zod/v4/core/util.js +674 -0
  426. package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
  427. package/.output/server/node_modules/zod/v4/locales/ar.js +106 -0
  428. package/.output/server/node_modules/zod/v4/locales/az.js +105 -0
  429. package/.output/server/node_modules/zod/v4/locales/be.js +156 -0
  430. package/.output/server/node_modules/zod/v4/locales/bg.js +120 -0
  431. package/.output/server/node_modules/zod/v4/locales/ca.js +107 -0
  432. package/.output/server/node_modules/zod/v4/locales/cs.js +111 -0
  433. package/.output/server/node_modules/zod/v4/locales/da.js +115 -0
  434. package/.output/server/node_modules/zod/v4/locales/de.js +108 -0
  435. package/.output/server/node_modules/zod/v4/locales/el.js +109 -0
  436. package/.output/server/node_modules/zod/v4/locales/en.js +113 -0
  437. package/.output/server/node_modules/zod/v4/locales/eo.js +109 -0
  438. package/.output/server/node_modules/zod/v4/locales/es.js +132 -0
  439. package/.output/server/node_modules/zod/v4/locales/fa.js +114 -0
  440. package/.output/server/node_modules/zod/v4/locales/fi.js +112 -0
  441. package/.output/server/node_modules/zod/v4/locales/fr-CA.js +107 -0
  442. package/.output/server/node_modules/zod/v4/locales/fr.js +125 -0
  443. package/.output/server/node_modules/zod/v4/locales/he.js +214 -0
  444. package/.output/server/node_modules/zod/v4/locales/hr.js +122 -0
  445. package/.output/server/node_modules/zod/v4/locales/hu.js +108 -0
  446. package/.output/server/node_modules/zod/v4/locales/hy.js +147 -0
  447. package/.output/server/node_modules/zod/v4/locales/id.js +106 -0
  448. package/.output/server/node_modules/zod/v4/locales/index.js +52 -0
  449. package/.output/server/node_modules/zod/v4/locales/is.js +109 -0
  450. package/.output/server/node_modules/zod/v4/locales/it.js +108 -0
  451. package/.output/server/node_modules/zod/v4/locales/ja.js +107 -0
  452. package/.output/server/node_modules/zod/v4/locales/ka.js +112 -0
  453. package/.output/server/node_modules/zod/v4/locales/kh.js +5 -0
  454. package/.output/server/node_modules/zod/v4/locales/km.js +110 -0
  455. package/.output/server/node_modules/zod/v4/locales/ko.js +111 -0
  456. package/.output/server/node_modules/zod/v4/locales/lt.js +203 -0
  457. package/.output/server/node_modules/zod/v4/locales/mk.js +109 -0
  458. package/.output/server/node_modules/zod/v4/locales/ms.js +107 -0
  459. package/.output/server/node_modules/zod/v4/locales/nl.js +110 -0
  460. package/.output/server/node_modules/zod/v4/locales/no.js +108 -0
  461. package/.output/server/node_modules/zod/v4/locales/ota.js +109 -0
  462. package/.output/server/node_modules/zod/v4/locales/package.json +7 -0
  463. package/.output/server/node_modules/zod/v4/locales/pl.js +109 -0
  464. package/.output/server/node_modules/zod/v4/locales/ps.js +114 -0
  465. package/.output/server/node_modules/zod/v4/locales/pt.js +108 -0
  466. package/.output/server/node_modules/zod/v4/locales/ro.js +119 -0
  467. package/.output/server/node_modules/zod/v4/locales/ru.js +156 -0
  468. package/.output/server/node_modules/zod/v4/locales/sl.js +109 -0
  469. package/.output/server/node_modules/zod/v4/locales/sv.js +110 -0
  470. package/.output/server/node_modules/zod/v4/locales/ta.js +110 -0
  471. package/.output/server/node_modules/zod/v4/locales/th.js +110 -0
  472. package/.output/server/node_modules/zod/v4/locales/tr.js +105 -0
  473. package/.output/server/node_modules/zod/v4/locales/ua.js +5 -0
  474. package/.output/server/node_modules/zod/v4/locales/uk.js +108 -0
  475. package/.output/server/node_modules/zod/v4/locales/ur.js +110 -0
  476. package/.output/server/node_modules/zod/v4/locales/uz.js +110 -0
  477. package/.output/server/node_modules/zod/v4/locales/vi.js +108 -0
  478. package/.output/server/node_modules/zod/v4/locales/yo.js +107 -0
  479. package/.output/server/node_modules/zod/v4/locales/zh-CN.js +109 -0
  480. package/.output/server/node_modules/zod/v4/locales/zh-TW.js +107 -0
  481. package/.output/server/package.json +37 -0
  482. package/LICENSE +3 -0
  483. package/README.md +125 -0
  484. package/dist/src/bbox.js +55 -0
  485. package/dist/src/cli.js +255 -0
  486. package/dist/src/config.js +56 -0
  487. package/dist/src/core/fetch-process.js +19 -0
  488. package/dist/src/core/grid-renderer.js +149 -0
  489. package/dist/src/core/lease.js +103 -0
  490. package/dist/src/core/paths.js +13 -0
  491. package/dist/src/core/png.js +192 -0
  492. package/dist/src/core/raster-style.js +33 -0
  493. package/dist/src/core/uomtiles.js +307 -0
  494. package/dist/src/fetcher.js +208 -0
  495. package/dist/src/geographic-grid.js +162 -0
  496. package/dist/src/grid-crawl.js +478 -0
  497. package/dist/src/mask-image.js +16 -0
  498. package/dist/src/official-grid.js +51 -0
  499. package/dist/src/quality.js +30 -0
  500. package/dist/src/token.js +206 -0
  501. package/package.json +68 -0
  502. package/public/apple-touch-icon.png +0 -0
  503. package/public/favicon.ico +0 -0
  504. package/public/favicon.svg +8 -0
  505. package/public/icon-192.png +0 -0
  506. package/public/icon-512.png +0 -0
  507. package/public/site.webmanifest +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.mjs","sources":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,233 @@
1
+ import { c as createError } from '../nitro/nitro.mjs';
2
+ import { createWriteStream, existsSync, statSync, unlinkSync, mkdirSync, writeFileSync, renameSync, chmodSync, copyFileSync, readFileSync } from 'node:fs';
3
+ import { extname, dirname, resolve } from 'node:path';
4
+ import { randomUUID } from 'node:crypto';
5
+ import { pipeline } from 'node:stream/promises';
6
+ import { e as encodeIndexedPng, d as decodeCanonicalAlphaMask } from './config.mjs';
7
+ import { s as serverDataDirectory } from './data-directory.mjs';
8
+ import { j as cleanWorkspaceFilename, v as validateTileFile, r as resolveWorkspaceFile, k as hasActiveSqliteLease, c as readTileFiles } from './file-workspace.mjs';
9
+
10
+ const WEB_MERCATOR_HALF_WORLD = 20037508342789244e-9;
11
+ const WEB_MERCATOR_WORLD = WEB_MERCATOR_HALF_WORLD * 2;
12
+ function parseHexColor(color) {
13
+ if (!/^#[0-9a-f]{6}$/i.test(color)) throw new RangeError("color must use #RRGGBB");
14
+ return [Number.parseInt(color.slice(1, 3), 16), Number.parseInt(color.slice(3, 5), 16), Number.parseInt(color.slice(5, 7), 16)];
15
+ }
16
+ function encodeStyledMask(mask, width, height, color, opacity) {
17
+ if (mask.length !== width * height) throw new RangeError("mask dimensions do not match output");
18
+ if (!Number.isInteger(opacity) || opacity < 0 || opacity > 100) throw new RangeError("opacity must be an integer from 0 to 100");
19
+ const [red, green, blue] = parseHexColor(color);
20
+ return encodeIndexedPng(width, height, mask, Uint8Array.of(0, 0, 0, red, green, blue), Uint8Array.of(0, Math.round(opacity * 2.55)));
21
+ }
22
+ function zoomForMercatorImage(bbox, width, height, maxZoom = 18) {
23
+ const resolution = Math.max((bbox.maxx - bbox.minx) / width, (bbox.maxy - bbox.miny) / height);
24
+ return Math.max(0, Math.min(maxZoom, Math.round(Math.log2(WEB_MERCATOR_WORLD / (256 * resolution)))));
25
+ }
26
+ function mercatorPixel(bbox, width, height, column, row, zoom) {
27
+ const mercatorX = bbox.minx + (column + 0.5) / width * (bbox.maxx - bbox.minx);
28
+ const mercatorY = bbox.maxy - (row + 0.5) / height * (bbox.maxy - bbox.miny);
29
+ const worldPixels = 256 * 2 ** zoom;
30
+ const globalX = Math.floor((mercatorX + WEB_MERCATOR_HALF_WORLD) / WEB_MERCATOR_WORLD * worldPixels);
31
+ const globalY = Math.floor((WEB_MERCATOR_HALF_WORLD - mercatorY) / WEB_MERCATOR_WORLD * worldPixels);
32
+ return {
33
+ tileX: Math.floor(globalX / 256),
34
+ tileY: Math.floor(globalY / 256),
35
+ pixelX: (globalX % 256 + 256) % 256,
36
+ pixelY: (globalY % 256 + 256) % 256
37
+ };
38
+ }
39
+
40
+ const defaults = { color: "#2980b9", opacity: 88};
41
+ function configPath() {
42
+ return resolve(serverDataDirectory(), "map-service.json");
43
+ }
44
+ function serviceFilePath() {
45
+ return resolve(serverDataDirectory(), "map-service.tiles");
46
+ }
47
+ function readStoredConfig() {
48
+ const path = configPath();
49
+ if (!existsSync(path)) return {};
50
+ try {
51
+ return JSON.parse(readFileSync(path, "utf8"));
52
+ } catch {
53
+ return {};
54
+ }
55
+ }
56
+ function writeStoredConfig(config) {
57
+ const path = configPath(), temporary = `${path}.${process.pid}.tmp`;
58
+ mkdirSync(dirname(path), { recursive: true });
59
+ writeFileSync(temporary, `${JSON.stringify(config, null, 2)}
60
+ `, { mode: 384 });
61
+ renameSync(temporary, path);
62
+ }
63
+ function serviceFileView(metadata) {
64
+ if (!metadata || !existsSync(serviceFilePath())) return null;
65
+ try {
66
+ validateTileFile(serviceFilePath(), metadata.kind);
67
+ } catch {
68
+ return null;
69
+ }
70
+ const stat = statSync(serviceFilePath());
71
+ return { filename: metadata.filename, kind: metadata.kind, bytes: stat.size, modifiedAt: stat.mtime.toISOString() };
72
+ }
73
+ function copyServiceFile(sourcePath, metadata) {
74
+ const target = serviceFilePath();
75
+ const temporary = `${target}.${process.pid}.${randomUUID()}.tmp`;
76
+ mkdirSync(dirname(target), { recursive: true });
77
+ try {
78
+ copyFileSync(sourcePath, temporary);
79
+ chmodSync(temporary, 384);
80
+ renameSync(temporary, target);
81
+ for (const suffix of ["-wal", "-shm"]) {
82
+ const sidecar = `${target}${suffix}`;
83
+ if (existsSync(sidecar)) unlinkSync(sidecar);
84
+ }
85
+ return serviceFileView({ ...metadata, bytes: 0, modifiedAt: "" });
86
+ } catch (error) {
87
+ if (existsSync(temporary)) unlinkSync(temporary);
88
+ throw error;
89
+ }
90
+ }
91
+ function finalizeUploadedServiceFile(temporary, metadata) {
92
+ const target = serviceFilePath();
93
+ mkdirSync(dirname(target), { recursive: true });
94
+ try {
95
+ chmodSync(temporary, 384);
96
+ renameSync(temporary, target);
97
+ for (const suffix of ["-wal", "-shm"]) {
98
+ const sidecar = `${target}${suffix}`;
99
+ if (existsSync(sidecar)) unlinkSync(sidecar);
100
+ }
101
+ return serviceFileView({ ...metadata, bytes: 0, modifiedAt: "" });
102
+ } catch (error) {
103
+ if (existsSync(temporary)) unlinkSync(temporary);
104
+ throw error;
105
+ }
106
+ }
107
+ function saveServiceFile(metadata) {
108
+ const current = mapServiceConfig();
109
+ const next = { ...current, file: metadata, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
110
+ writeStoredConfig(next);
111
+ return next;
112
+ }
113
+ function mapServiceConfig() {
114
+ const value = readStoredConfig();
115
+ const storedFile = value.file;
116
+ const metadata = storedFile && !storedFile.filename && storedFile.name ? { ...storedFile, filename: storedFile.name } : storedFile || null;
117
+ const file = serviceFileView(metadata);
118
+ const config = {
119
+ enabled: Boolean(value.enabled) && Boolean(file),
120
+ file,
121
+ color: typeof value.color === "string" ? value.color : defaults.color,
122
+ opacity: Number.isInteger(value.opacity) ? Number(value.opacity) : defaults.opacity,
123
+ updatedAt: typeof value.updatedAt === "string" ? value.updatedAt : null
124
+ };
125
+ if (JSON.stringify(value) !== JSON.stringify(config)) writeStoredConfig(config);
126
+ return config;
127
+ }
128
+ function configureMapService(input) {
129
+ const current = mapServiceConfig();
130
+ if (input.enabled && !current.file) throw createError({ statusCode: 400, statusMessage: "\u542F\u7528\u5730\u56FE\u670D\u52A1\u524D\u5FC5\u987B\u5148\u9009\u62E9\u670D\u52A1\u6587\u4EF6" });
131
+ const config = { ...input, file: current.file, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
132
+ writeStoredConfig(config);
133
+ return config;
134
+ }
135
+ function copyWorkspaceToMapService(filename) {
136
+ const source = resolveWorkspaceFile(filename);
137
+ if (source.kind === "uomtiles" && hasActiveSqliteLease(source.path, "writer")) {
138
+ throw createError({ statusCode: 409, statusMessage: "\u4E0B\u8F7D\u4E2D\u7684\u4EFB\u52A1\u4E0D\u80FD\u590D\u5236\u5230\u5730\u56FE\u670D\u52A1\uFF0C\u8BF7\u7B49\u5F85\u4EFB\u52A1\u5B8C\u6210" });
139
+ }
140
+ const copied = copyServiceFile(source.path, { filename: source.filename, kind: source.kind });
141
+ return saveServiceFile(copied);
142
+ }
143
+ async function uploadMapServiceFile(filename, input) {
144
+ const clean = cleanWorkspaceFilename(filename);
145
+ const extension = extname(clean).slice(1).toLowerCase();
146
+ if (!["uomtiles", "mbtiles", "pmtiles"].includes(extension)) throw createError({ statusCode: 400, statusMessage: "\u4EC5\u652F\u6301 .uomtiles\u3001.mbtiles\u3001.pmtiles" });
147
+ const target = serviceFilePath();
148
+ const temporary = `${target}.${process.pid}.${randomUUID()}.upload`;
149
+ try {
150
+ await pipeline(input, createWriteStream(temporary, { flags: "wx", mode: 384 }));
151
+ if (!existsSync(temporary) || statSync(temporary).size === 0) throw createError({ statusCode: 400, statusMessage: "\u6587\u4EF6\u4E3A\u7A7A" });
152
+ const kind = extension;
153
+ try {
154
+ validateTileFile(temporary, kind);
155
+ } catch (error) {
156
+ throw createError({ statusCode: 400, statusMessage: `\u6587\u4EF6\u683C\u5F0F\u65E0\u6548\uFF1A${error instanceof Error ? error.message : String(error)}` });
157
+ }
158
+ const uploaded = finalizeUploadedServiceFile(temporary, { filename: clean, kind });
159
+ return saveServiceFile(uploaded);
160
+ } catch (error) {
161
+ if (existsSync(temporary)) unlinkSync(temporary);
162
+ throw error;
163
+ }
164
+ }
165
+ function activeMapService() {
166
+ const config = mapServiceConfig();
167
+ if (!config.enabled || !config.file) throw createError({ statusCode: 503, statusMessage: "\u5730\u56FE\u670D\u52A1\u5C1A\u672A\u542F\u7528" });
168
+ return { config, file: { path: serviceFilePath(), kind: config.file.kind } };
169
+ }
170
+ async function mapServiceTile(z, x, y) {
171
+ const active = activeMapService();
172
+ const [tile] = await readTileFiles(active.file, [{ z, x, y }]);
173
+ const mask = tile ? decodeCanonicalAlphaMask(tile, 256) : new Uint8Array(256 * 256);
174
+ return encodeStyledMask(mask, 256, 256, active.config.color, active.config.opacity);
175
+ }
176
+ async function mapServiceImage(bbox, width, height) {
177
+ var _a;
178
+ const active = activeMapService();
179
+ const zoom = zoomForMercatorImage(bbox, width, height);
180
+ const samples = new Array(width * height);
181
+ const coordinates = /* @__PURE__ */ new Map();
182
+ for (let row = 0; row < height; row++) for (let column = 0; column < width; column++) {
183
+ const sample = mercatorPixel(bbox, width, height, column, row, zoom);
184
+ samples[row * width + column] = sample;
185
+ if (sample.tileX < 0 || sample.tileY < 0 || sample.tileX >= 2 ** zoom || sample.tileY >= 2 ** zoom) continue;
186
+ coordinates.set(`${sample.tileX}/${sample.tileY}`, { z: zoom, x: sample.tileX, y: sample.tileY });
187
+ }
188
+ const keys = [...coordinates.keys()];
189
+ const tiles = await readTileFiles(active.file, [...coordinates.values()]);
190
+ const masks = /* @__PURE__ */ new Map();
191
+ keys.forEach((key, index) => {
192
+ const tile = tiles[index];
193
+ if (tile) masks.set(key, decodeCanonicalAlphaMask(tile, 256));
194
+ });
195
+ const output = new Uint8Array(width * height);
196
+ for (let index = 0; index < samples.length; index++) {
197
+ const sample = samples[index];
198
+ output[index] = ((_a = masks.get(`${sample.tileX}/${sample.tileY}`)) == null ? void 0 : _a[sample.pixelY * 256 + sample.pixelX]) || 0;
199
+ }
200
+ return encodeStyledMask(output, width, height, active.config.color, active.config.opacity);
201
+ }
202
+ function xml(value) {
203
+ return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll('"', "&quot;");
204
+ }
205
+ function wmsCapabilities(endpoint) {
206
+ const href = xml(endpoint);
207
+ return `<?xml version="1.0" encoding="UTF-8"?>
208
+ <WMS_Capabilities version="1.3.0" xmlns="http://www.opengis.net/wms" xmlns:xlink="http://www.w3.org/1999/xlink">
209
+ <Service><Name>WMS</Name><Title>UOM\u9002\u98DE\u5730\u56FE</Title><OnlineResource xlink:type="simple" xlink:href="${href}"/></Service>
210
+ <Capability>
211
+ <Request>
212
+ <GetCapabilities><Format>text/xml</Format><DCPType><HTTP><Get><OnlineResource xlink:type="simple" xlink:href="${href}"/></Get></HTTP></DCPType></GetCapabilities>
213
+ <GetMap><Format>image/png</Format><DCPType><HTTP><Get><OnlineResource xlink:type="simple" xlink:href="${href}"/></Get></HTTP></DCPType></GetMap>
214
+ </Request>
215
+ <Layer><Title>UOM\u9002\u98DE\u5730\u56FE</Title><CRS>EPSG:3857</CRS><EX_GeographicBoundingBox><westBoundLongitude>-180</westBoundLongitude><eastBoundLongitude>180</eastBoundLongitude><southBoundLatitude>-85.05112878</southBoundLatitude><northBoundLatitude>85.05112878</northBoundLatitude></EX_GeographicBoundingBox><BoundingBox CRS="EPSG:3857" minx="-${WEB_MERCATOR_HALF_WORLD}" miny="-${WEB_MERCATOR_HALF_WORLD}" maxx="${WEB_MERCATOR_HALF_WORLD}" maxy="${WEB_MERCATOR_HALF_WORLD}"/><Layer queryable="0"><Name>uomtiles</Name><Title>UOM \u9002\u98DE\u7A7A\u57DF</Title><CRS>EPSG:3857</CRS></Layer></Layer>
216
+ </Capability>
217
+ </WMS_Capabilities>`;
218
+ }
219
+ function wmtsCapabilities(endpoint) {
220
+ const href = xml(endpoint);
221
+ const matrices = Array.from({ length: 19 }, (_, zoom) => `
222
+ <TileMatrix><ows:Identifier>${zoom}</ows:Identifier><ScaleDenominator>${5590822640287178e-7 / 2 ** zoom}</ScaleDenominator><TopLeftCorner>-${WEB_MERCATOR_HALF_WORLD} ${WEB_MERCATOR_HALF_WORLD}</TopLeftCorner><TileWidth>256</TileWidth><TileHeight>256</TileHeight><MatrixWidth>${2 ** zoom}</MatrixWidth><MatrixHeight>${2 ** zoom}</MatrixHeight></TileMatrix>`).join("");
223
+ return `<?xml version="1.0" encoding="UTF-8"?>
224
+ <Capabilities version="1.0.0" xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink">
225
+ <ows:ServiceIdentification><ows:Title>UOM\u9002\u98DE\u5730\u56FE</ows:Title><ows:ServiceType>OGC WMTS</ows:ServiceType><ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion></ows:ServiceIdentification>
226
+ <ows:OperationsMetadata><ows:Operation name="GetCapabilities"><ows:DCP><ows:HTTP><ows:Get xlink:href="${href}"/></ows:HTTP></ows:DCP></ows:Operation><ows:Operation name="GetTile"><ows:DCP><ows:HTTP><ows:Get xlink:href="${href}"/></ows:HTTP></ows:DCP></ows:Operation></ows:OperationsMetadata>
227
+ <Contents><Layer><ows:Title>UOM \u9002\u98DE\u7A7A\u57DF</ows:Title><ows:Identifier>uomtiles</ows:Identifier><Style isDefault="true"><ows:Identifier>default</ows:Identifier></Style><Format>image/png</Format><TileMatrixSetLink><TileMatrixSet>WebMercatorQuad</TileMatrixSet></TileMatrixSetLink></Layer><TileMatrixSet><ows:Identifier>WebMercatorQuad</ows:Identifier><ows:SupportedCRS>urn:ogc:def:crs:EPSG::3857</ows:SupportedCRS>${matrices}
228
+ </TileMatrixSet></Contents>
229
+ </Capabilities>`;
230
+ }
231
+
232
+ export { copyWorkspaceToMapService as a, activeMapService as b, configureMapService as c, mapServiceImage as d, wmtsCapabilities as e, mapServiceTile as f, mapServiceConfig as m, uploadMapServiceFile as u, wmsCapabilities as w };
233
+ //# sourceMappingURL=map-service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-service.mjs","sources":["../../../../src/core/raster-style.ts","../../../../server/utils/map-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { e as encodeIndexedPng } from './config.mjs';
2
+
3
+ const LOADING_TILE = Buffer.from(
4
+ "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",
5
+ "base64"
6
+ );
7
+ function loadingTilePng() {
8
+ return Promise.resolve(LOADING_TILE);
9
+ }
10
+ const progressGlyphs = {
11
+ "0": ["111", "101", "101", "101", "111"],
12
+ "1": ["010", "110", "010", "010", "111"],
13
+ "2": ["111", "001", "111", "100", "111"],
14
+ "3": ["111", "001", "111", "001", "111"],
15
+ "4": ["101", "101", "111", "001", "001"],
16
+ "5": ["111", "100", "111", "001", "111"],
17
+ "6": ["111", "100", "111", "101", "111"],
18
+ "7": ["111", "001", "010", "010", "010"],
19
+ "8": ["111", "101", "111", "101", "111"],
20
+ "9": ["111", "101", "111", "001", "111"],
21
+ "/": ["001", "001", "010", "100", "100"]
22
+ };
23
+ function taskProgressTilePng(completed, total) {
24
+ const label = `${completed}/${total}`;
25
+ const indexes = new Uint8Array(256 * 256);
26
+ for (let y = 0; y < 256; y++) for (let x = 0; x < 256; x++) {
27
+ indexes[y * 256 + x] = (x + y) % 32 < 2 ? 1 : 0;
28
+ }
29
+ const barLeft = 36, barTop = 151, barWidth = 184, barHeight = 8;
30
+ const filled = Math.round(barWidth * completed / total);
31
+ for (let y = barTop; y < barTop + barHeight; y++) for (let x = barLeft; x < barLeft + barWidth; x++) {
32
+ indexes[y * 256 + x] = x - barLeft < filled ? 3 : 1;
33
+ }
34
+ const scale = Math.max(2, Math.min(4, Math.floor(184 / Math.max(1, label.length * 4))));
35
+ const glyphWidth = 3 * scale, gap = scale;
36
+ const left = Math.floor((256 - (label.length * glyphWidth + (label.length - 1) * gap)) / 2);
37
+ const top = 120;
38
+ for (let characterIndex = 0; characterIndex < label.length; characterIndex++) {
39
+ const glyph = progressGlyphs[label[characterIndex]];
40
+ if (!glyph) throw new Error(`missing progress glyph ${label[characterIndex]}`);
41
+ const glyphLeft = left + characterIndex * (glyphWidth + gap);
42
+ for (let row = 0; row < glyph.length; row++) for (let column = 0; column < 3; column++) {
43
+ if (glyph[row][column] !== "1") continue;
44
+ for (let dy = 0; dy < scale; dy++) for (let dx = 0; dx < scale; dx++) {
45
+ indexes[(top + row * scale + dy) * 256 + glyphLeft + column * scale + dx] = 2;
46
+ }
47
+ }
48
+ }
49
+ return encodeIndexedPng(
50
+ 256,
51
+ 256,
52
+ indexes,
53
+ Uint8Array.of(238, 241, 239, 201, 208, 204, 83, 97, 91, 41, 128, 185),
54
+ Uint8Array.of(152, 184, 224, 214)
55
+ );
56
+ }
57
+ const placeholderGlyphs = Object.fromEntries(Object.entries({
58
+ "\u52A0": "GH5+fn9mE2YTZhNmE2YzZjNmM2ZjZmN+zn4EQAAAAAA=",
59
+ "\u8F7D": "f6QMJH/+CCAYJn/kNDw2PH+4BjgHsn/7Zn4GzgAAAAA=",
60
+ "\u4E2D": "AYB//n/+YYZhhmGGYYZ//n/+AYABgAGAAYABgAAAAAA=",
61
+ "\u91CD": "AYB//gGAP/wxjD/8MYwxjD/8AYA//AGAf/4AAAAAAAA=",
62
+ "\u8BD5": "GBYL/gf/cBBwEBAQE/gRmBGYEZgV+x/vOw4ABgAAAAA=",
63
+ "\uFF08": "AAQADAAIABgAGAAYABgAGAAYABgACAAMAAYAAgAAAAA=",
64
+ "\uFF09": "YAAwABAAGAAYABgAGAAYABgAGAAQADAAYABAAAAAAAA=",
65
+ "1": "AYAHgAeAAYABgAGAAYABgAGAAYAH4A/wAAAAAAAAAAA=",
66
+ "2": "A8AH4AwwADAAYABgAMADgAMABgAP4A/wAAAAAAAAAAA=",
67
+ "3": "A8AH4AwwADAA4APAAeAAMAwwDDAP4AfAAAAAAAAAAAA=",
68
+ "\u5931": "GYA//D/4YYBhgH/+f/4DwAPABmAOcBw4cA5AAgAAAAA=",
69
+ "\u8D25": "YmBqfnrEesR7zHvMemh6aHo4GDAUODZsY8ZAggAAAAA="
70
+ }).map(([character, encoded]) => [character, Buffer.from(encoded, "base64")]));
71
+ function onlineTilePlaceholderPng(status) {
72
+ const failed = status.state === "failed";
73
+ const label = status.state === "loading" ? "\u52A0\u8F7D\u4E2D" : status.state === "retrying" ? `\u91CD\u8BD5\u52A0\u8F7D\u4E2D\uFF08${status.attempt}\uFF09` : "\u52A0\u8F7D\u5931\u8D25";
74
+ const indexes = new Uint8Array(256 * 256);
75
+ for (let y = 0; y < 256; y++) for (let x = 0; x < 256; x++) {
76
+ const edge = x < 2 || y < 2 || x >= 254 || y >= 254;
77
+ const hatch = (x + y) % 32 < 2;
78
+ indexes[y * 256 + x] = edge ? 2 : hatch ? 1 : 0;
79
+ }
80
+ const characters = [...label];
81
+ const glyphWidth = 16, gap = 2;
82
+ const left = Math.floor((256 - (characters.length * glyphWidth + (characters.length - 1) * gap)) / 2);
83
+ const top = 120;
84
+ indexes.fill(0, 106 * 256 + 32, 106 * 256 + 224);
85
+ for (let y = 107; y < 150; y++) indexes.fill(y === 149 ? 2 : 0, y * 256 + 32, y * 256 + 224);
86
+ for (let y = 106; y < 150; y++) {
87
+ indexes[y * 256 + 32] = 2;
88
+ indexes[y * 256 + 223] = 2;
89
+ }
90
+ for (let characterIndex = 0; characterIndex < characters.length; characterIndex++) {
91
+ const glyph = placeholderGlyphs[characters[characterIndex]];
92
+ if (!glyph) throw new Error(`missing placeholder glyph ${characters[characterIndex]}`);
93
+ const glyphLeft = left + characterIndex * (glyphWidth + gap);
94
+ for (let pixel = 0; pixel < 256; pixel++) {
95
+ if (!(glyph[pixel >> 3] & 1 << 7 - (pixel & 7))) continue;
96
+ indexes[(top + Math.floor(pixel / 16)) * 256 + glyphLeft + pixel % 16] = 2;
97
+ }
98
+ }
99
+ const palette = failed ? Uint8Array.of(248, 232, 230, 223, 170, 165, 167, 59, 54) : Uint8Array.of(238, 241, 239, 201, 208, 204, 83, 97, 91);
100
+ return encodeIndexedPng(256, 256, indexes, palette, Uint8Array.of(168, 196, 232));
101
+ }
102
+
103
+ export { loadingTilePng as l, onlineTilePlaceholderPng as o, taskProgressTilePng as t };
104
+ //# sourceMappingURL=missing-tile.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-tile.mjs","sources":["../../../../server/utils/missing-tile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { c as createError } from '../nitro/nitro.mjs';
2
+ import { r as resolveWorkspaceFile, c as readTileFiles, f as tileFileCoordinates } from './file-workspace.mjs';
3
+ import { statSync } from 'node:fs';
4
+
5
+ const indexes = /* @__PURE__ */ new Map();
6
+ function compareKeys(left, right) {
7
+ return left.z - right.z || left.x - right.x || left.y - right.y;
8
+ }
9
+ function mergeKeys(left, right) {
10
+ const merged = [];
11
+ let leftIndex = 0, rightIndex = 0;
12
+ while (leftIndex < left.length || rightIndex < right.length) {
13
+ const leftKey = left[leftIndex], rightKey = right[rightIndex];
14
+ if (!leftKey) {
15
+ merged.push(rightKey);
16
+ rightIndex++;
17
+ continue;
18
+ }
19
+ if (!rightKey) {
20
+ merged.push(leftKey);
21
+ leftIndex++;
22
+ continue;
23
+ }
24
+ const order = compareKeys(leftKey, rightKey);
25
+ if (order <= 0) {
26
+ merged.push(leftKey);
27
+ leftIndex++;
28
+ }
29
+ if (order >= 0) {
30
+ if (order > 0) merged.push(rightKey);
31
+ rightIndex++;
32
+ }
33
+ }
34
+ return merged;
35
+ }
36
+ async function comparisonIndex(leftFilename, rightFilename) {
37
+ if (leftFilename === rightFilename) throw createError({ statusCode: 400, message: "\u8BF7\u9009\u62E9\u4E24\u4E2A\u4E0D\u540C\u7684\u6587\u4EF6" });
38
+ const left = resolveWorkspaceFile(leftFilename), right = resolveWorkspaceFile(rightFilename);
39
+ const leftStat = statSync(left.path), rightStat = statSync(right.path);
40
+ const cacheKey = `${left.filename}:${leftStat.size}:${leftStat.mtimeMs}:${right.filename}:${rightStat.size}:${rightStat.mtimeMs}`;
41
+ const cached = indexes.get(cacheKey);
42
+ if (cached) return cached;
43
+ const keys = mergeKeys(await tileFileCoordinates(left), await tileFileCoordinates(right));
44
+ const created = {
45
+ cacheKey,
46
+ leftPath: left.path,
47
+ rightPath: right.path,
48
+ keys,
49
+ totalTiles: keys.length
50
+ };
51
+ indexes.set(cacheKey, created);
52
+ while (indexes.size > 4) indexes.delete(indexes.keys().next().value);
53
+ return created;
54
+ }
55
+ async function workspacePixelDiffManifest(leftFilename, rightFilename) {
56
+ const { totalTiles } = await comparisonIndex(leftFilename, rightFilename);
57
+ return { totalTiles };
58
+ }
59
+ async function workspacePixelDiffBatch(leftFilename, rightFilename, offset, limit) {
60
+ const comparison = await comparisonIndex(leftFilename, rightFilename);
61
+ const leftFile = resolveWorkspaceFile(leftFilename), rightFile = resolveWorkspaceFile(rightFilename);
62
+ const coordinates = comparison.keys.slice(offset, offset + limit);
63
+ const [leftTiles, rightTiles] = await Promise.all([readTileFiles(leftFile, coordinates), readTileFiles(rightFile, coordinates)]);
64
+ const items = coordinates.map(({ z, x, y }, index) => {
65
+ const left = leftTiles[index], right = rightTiles[index];
66
+ return {
67
+ z,
68
+ x,
69
+ y,
70
+ left: left ? left.toString("base64") : null,
71
+ right: right ? right.toString("base64") : null
72
+ };
73
+ });
74
+ return { offset, totalTiles: comparison.totalTiles, items };
75
+ }
76
+
77
+ export { workspacePixelDiffBatch as a, workspacePixelDiffManifest as w };
78
+ //# sourceMappingURL=pixel-diff.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixel-diff.mjs","sources":["../../../../server/utils/pixel-diff.ts"],"names":[],"mappings":"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"}