fundus 0.26.0 → 0.28.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 (197) hide show
  1. package/README.md +18 -4
  2. package/build/client/_app/immutable/assets/{3.OulZ54CG.css → 3.Dfl33dj0.css} +1 -1
  3. package/build/client/_app/immutable/assets/3.Dfl33dj0.css.br +0 -0
  4. package/build/client/_app/immutable/assets/3.Dfl33dj0.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{B_4qwt4o.js → BSzEzOBI.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BSzEzOBI.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BSzEzOBI.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/CRFKGnag.js +121 -0
  9. package/build/client/_app/immutable/chunks/CRFKGnag.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/CRFKGnag.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/apKHI4vq.js +2 -0
  12. package/build/client/_app/immutable/chunks/apKHI4vq.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/apKHI4vq.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/g2rma9Ym.js +1 -0
  15. package/build/client/_app/immutable/chunks/g2rma9Ym.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/g2rma9Ym.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{DS1jTxvm.js → rtFCvv3j.js} +1 -1
  18. package/build/client/_app/immutable/chunks/rtFCvv3j.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/rtFCvv3j.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.DgW6Eg19.js → app.BiYJKHq5.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.BiYJKHq5.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.BiYJKHq5.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.BGYYpgAJ.js +1 -0
  24. package/build/client/_app/immutable/entry/start.BGYYpgAJ.js.br +0 -0
  25. package/build/client/_app/immutable/entry/start.BGYYpgAJ.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/0.kL9OGUbr.js +1 -0
  27. package/build/client/_app/immutable/nodes/0.kL9OGUbr.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/0.kL9OGUbr.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{1.CoM7ng4c.js → 1.DQGC5ZQg.js} +1 -1
  30. package/build/client/_app/immutable/nodes/1.DQGC5ZQg.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/1.DQGC5ZQg.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{2.CV-vWxFI.js → 2.DXo6NZ8U.js} +2 -2
  33. package/build/client/_app/immutable/nodes/2.DXo6NZ8U.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/2.DXo6NZ8U.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/3.DkyIyoNd.js +1 -0
  36. package/build/client/_app/immutable/nodes/3.DkyIyoNd.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/3.DkyIyoNd.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/4.D1JY4Ttk.js +2 -0
  39. package/build/client/_app/immutable/nodes/4.D1JY4Ttk.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/4.D1JY4Ttk.js.gz +0 -0
  41. package/build/client/_app/version.json +1 -1
  42. package/build/client/_app/version.json.br +0 -0
  43. package/build/client/_app/version.json.gz +0 -0
  44. package/build/handler.js +7 -7
  45. package/build/index.js +7 -7
  46. package/build/server/chunks/chunks/{context.js-mE8mFnsg.js → context.js-BZSZNuAd.js} +5 -5
  47. package/build/server/chunks/chunks/{context.js-mE8mFnsg.js.map → context.js-BZSZNuAd.js.map} +1 -1
  48. package/build/server/chunks/chunks/{contract.js-B6KBK8D9.js → contract.js-B4JdXFgm.js} +33 -38
  49. package/build/server/chunks/chunks/contract.js-B4JdXFgm.js.map +1 -0
  50. package/build/server/chunks/chunks/{core.js-Bp-ReC60.js → core.js-BHxa3VBo.js} +40 -5
  51. package/build/server/chunks/chunks/core.js-BHxa3VBo.js.map +1 -0
  52. package/build/server/chunks/chunks/{exports.js-CDl9URFG.js → exports.js-Cncv1qoG.js} +2 -2
  53. package/build/server/chunks/chunks/{exports.js-CDl9URFG.js.map → exports.js-Cncv1qoG.js.map} +1 -1
  54. package/build/server/chunks/chunks/{http.js-BTq44nR5.js → http.js-DYYKvppy.js} +2 -2
  55. package/build/server/chunks/chunks/{http.js-BTq44nR5.js.map → http.js-DYYKvppy.js.map} +1 -1
  56. package/build/server/chunks/chunks/{internal.js-Bz3sw0lq.js → internal.js-C2FKw_9R.js} +3 -3
  57. package/build/server/chunks/chunks/{internal.js-Bz3sw0lq.js.map → internal.js-C2FKw_9R.js.map} +1 -1
  58. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js.map +1 -1
  59. package/build/server/chunks/chunks/{manifest-membership.js-Dj3WwZgz.js → manifest-membership.js-BkrPsM_r.js} +63 -4
  60. package/build/server/chunks/chunks/manifest-membership.js-BkrPsM_r.js.map +1 -0
  61. package/build/server/chunks/chunks/{raw-reconciliation.js-mWOAOdgL.js → raw-reconciliation.js-DPnNXe0b.js} +3 -3
  62. package/build/server/chunks/chunks/raw-reconciliation.js-DPnNXe0b.js.map +1 -0
  63. package/build/server/chunks/chunks/{raw-reconciliation2.js-Bo1jJgvd.js → raw-reconciliation2.js-DKOpJ8if.js} +2 -2
  64. package/build/server/chunks/chunks/{raw-reconciliation2.js-Bo1jJgvd.js.map → raw-reconciliation2.js-DKOpJ8if.js.map} +1 -1
  65. package/build/server/chunks/chunks/{shared.js-DwJl8ZNw.js → shared.js-BGsWd7z-.js} +2 -2
  66. package/build/server/chunks/chunks/{shared.js-DwJl8ZNw.js.map → shared.js-BGsWd7z-.js.map} +1 -1
  67. package/build/server/chunks/chunks/{utils.js-DoU5Jolh.js → utils.js-C0ADATvf.js} +3 -3
  68. package/build/server/chunks/chunks/{utils.js-DoU5Jolh.js.map → utils.js-C0ADATvf.js.map} +1 -1
  69. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-B_aa_zh7.js → _server.ts.js-Dw2MW5Tm.js} +6 -6
  70. package/build/server/chunks/entries/endpoints/api/_...path_/{_server.ts.js-B_aa_zh7.js.map → _server.ts.js-Dw2MW5Tm.js.map} +1 -1
  71. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-CM6PedpD.js → _server.ts.js-GQDuJGug.js} +7 -7
  72. package/build/server/chunks/entries/endpoints/api/assets/_id_/{_server.ts.js-CM6PedpD.js.map → _server.ts.js-GQDuJGug.js.map} +1 -1
  73. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BpfOlmKN.js → _server.ts.js-JbLSv7Xx.js} +7 -7
  74. package/build/server/chunks/entries/endpoints/api/assets/_id_/raw/{_server.ts.js-BpfOlmKN.js.map → _server.ts.js-JbLSv7Xx.js.map} +1 -1
  75. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-UvDSeD5O.js → _server.ts.js-BPae-BYF.js} +7 -7
  76. package/build/server/chunks/entries/endpoints/api/assets/_id_/reimport/{_server.ts.js-UvDSeD5O.js.map → _server.ts.js-BPae-BYF.js.map} +1 -1
  77. package/build/server/chunks/entries/endpoints/api/assets/_id_/retag/{_server.ts.js-D4kq3W1-.js → _server.ts.js-BafrrUxu.js} +7 -7
  78. package/build/server/chunks/entries/endpoints/api/assets/_id_/retag/{_server.ts.js-D4kq3W1-.js.map → _server.ts.js-BafrrUxu.js.map} +1 -1
  79. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-CcV2BTCH.js → _server.ts.js-UOlSNEi9.js} +7 -7
  80. package/build/server/chunks/entries/endpoints/api/assets/{_server.ts.js-CcV2BTCH.js.map → _server.ts.js-UOlSNEi9.js.map} +1 -1
  81. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-Cb0Dn_a2.js → _server.ts.js-QE1vUuAx.js} +7 -7
  82. package/build/server/chunks/entries/endpoints/api/assets/delete/{_server.ts.js-Cb0Dn_a2.js.map → _server.ts.js-QE1vUuAx.js.map} +1 -1
  83. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-ChlfFRqR.js → _server.ts.js-DIVfppGt.js} +7 -7
  84. package/build/server/chunks/entries/endpoints/api/assets/move/{_server.ts.js-ChlfFRqR.js.map → _server.ts.js-DIVfppGt.js.map} +1 -1
  85. package/build/server/chunks/entries/endpoints/api/events/{_server.ts.js-DnrgWGff.js → _server.ts.js-B6R_kqP8.js} +7 -7
  86. package/build/server/chunks/entries/endpoints/api/events/{_server.ts.js-DnrgWGff.js.map → _server.ts.js-B6R_kqP8.js.map} +1 -1
  87. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-CFM83bne.js → _server.ts.js-CertbDsH.js} +7 -7
  88. package/build/server/chunks/entries/endpoints/api/folders/_path_/{_server.ts.js-CFM83bne.js.map → _server.ts.js-CertbDsH.js.map} +1 -1
  89. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-BtJIovEG.js → _server.ts.js-DEIF3Hu2.js} +7 -7
  90. package/build/server/chunks/entries/endpoints/api/folders/{_server.ts.js-BtJIovEG.js.map → _server.ts.js-DEIF3Hu2.js.map} +1 -1
  91. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-BAHE77r2.js → _server.ts.js-DNFsNGr4.js} +7 -7
  92. package/build/server/chunks/entries/endpoints/api/imports/{_server.ts.js-BAHE77r2.js.map → _server.ts.js-DNFsNGr4.js.map} +1 -1
  93. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-Cypw-CjT.js → _server.ts.js-DDW8XRPe.js} +7 -7
  94. package/build/server/chunks/entries/endpoints/api/manifests/_name_/{_server.ts.js-Cypw-CjT.js.map → _server.ts.js-DDW8XRPe.js.map} +1 -1
  95. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-FrntF4Gn.js → _server.ts.js-C222-xli.js} +7 -7
  96. package/build/server/chunks/entries/endpoints/api/manifests/{_server.ts.js-FrntF4Gn.js.map → _server.ts.js-C222-xli.js.map} +1 -1
  97. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-BeEHDBep.js → _server.ts.js-CI1P1uyd.js} +7 -7
  98. package/build/server/chunks/entries/endpoints/api/raw/adopt/{_server.ts.js-BeEHDBep.js.map → _server.ts.js-CI1P1uyd.js.map} +1 -1
  99. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-Di1kfrl2.js → _server.ts.js-DpiUwaSh.js} +7 -7
  100. package/build/server/chunks/entries/endpoints/api/raw/edited/accept/{_server.ts.js-Di1kfrl2.js.map → _server.ts.js-DpiUwaSh.js.map} +1 -1
  101. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-CrLHlnap.js → _server.ts.js-DT0VPqPT.js} +7 -7
  102. package/build/server/chunks/entries/endpoints/api/raw/edited/dismiss/{_server.ts.js-CrLHlnap.js.map → _server.ts.js-DT0VPqPT.js.map} +1 -1
  103. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-BcqKQTDk.js → _server.ts.js-DBpHM42g.js} +7 -7
  104. package/build/server/chunks/entries/endpoints/api/reconcile/{_server.ts.js-BcqKQTDk.js.map → _server.ts.js-DBpHM42g.js.map} +1 -1
  105. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-oFUf-T_H.js → _server.ts.js-Cxu5b6Au.js} +7 -7
  106. package/build/server/chunks/entries/endpoints/api/reveal/{_server.ts.js-oFUf-T_H.js.map → _server.ts.js-Cxu5b6Au.js.map} +1 -1
  107. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-D46dsJCB.js → _server.ts.js-W4dhMo8Y.js} +7 -7
  108. package/build/server/chunks/entries/endpoints/api/state/{_server.ts.js-D46dsJCB.js.map → _server.ts.js-W4dhMo8Y.js.map} +1 -1
  109. package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-BlKjsU-v.js → _server.ts.js-DJ_adxbT.js} +7 -7
  110. package/build/server/chunks/entries/endpoints/api/usage/{_server.ts.js-BlKjsU-v.js.map → _server.ts.js-DJ_adxbT.js.map} +1 -1
  111. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DkYQlG9U.js → _server.ts.js-BisoHihD.js} +6 -6
  112. package/build/server/chunks/entries/endpoints/files/_...path_/{_server.ts.js-DkYQlG9U.js.map → _server.ts.js-BisoHihD.js.map} +1 -1
  113. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-DafDgMis.js → _server.ts.js-D4jLLuko.js} +7 -7
  114. package/build/server/chunks/entries/endpoints/files/proxy/_...path_/{_server.ts.js-DafDgMis.js.map → _server.ts.js-D4jLLuko.js.map} +1 -1
  115. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-6Vn2UuF6.js → _server.ts.js-Dfv2ItjT.js} +7 -7
  116. package/build/server/chunks/entries/endpoints/files/raw/_...path_/{_server.ts.js-6Vn2UuF6.js.map → _server.ts.js-Dfv2ItjT.js.map} +1 -1
  117. package/build/server/chunks/entries/{hooks.server.js-CSypLuCa.js → hooks.server.js-oHJX5INm.js} +6 -6
  118. package/build/server/chunks/entries/{hooks.server.js-CSypLuCa.js.map → hooks.server.js-oHJX5INm.js.map} +1 -1
  119. package/build/server/chunks/{handler-C0NXVVDu.js → handler-uc4GLvWI.js} +5 -5
  120. package/build/server/chunks/{handler-C0NXVVDu.js.map → handler-uc4GLvWI.js.map} +1 -1
  121. package/build/server/chunks/{index.js-D3rzqgKi.js → index.js-BTlSiK4q.js} +5 -5
  122. package/build/server/chunks/{index.js-D3rzqgKi.js.map → index.js-BTlSiK4q.js.map} +1 -1
  123. package/build/server/chunks/{manifest.js-Dw3Fvt_0.js → manifest.js-BB8iIVbZ.js} +31 -31
  124. package/build/server/chunks/{manifest.js-Dw3Fvt_0.js.map → manifest.js-BB8iIVbZ.js.map} +1 -1
  125. package/build/server/chunks/nodes/{0.js-D1uRRjFL.js → 0.js-CccZDEdX.js} +2 -2
  126. package/build/server/chunks/nodes/{0.js-D1uRRjFL.js.map → 0.js-CccZDEdX.js.map} +1 -1
  127. package/build/server/chunks/nodes/1.js-_Ms77u64.js +7 -0
  128. package/build/server/chunks/nodes/{1.js-sYnc9kZu.js.map → 1.js-_Ms77u64.js.map} +1 -1
  129. package/build/server/chunks/nodes/{2.js-B3OCWo8p.js → 2.js-BpyFsilO.js} +2 -2
  130. package/build/server/chunks/nodes/{2.js-B3OCWo8p.js.map → 2.js-BpyFsilO.js.map} +1 -1
  131. package/build/server/chunks/nodes/3.js-D7RUEviu.js +7 -0
  132. package/build/server/chunks/nodes/{3.js-BWkr9ibc.js.map → 3.js-D7RUEviu.js.map} +1 -1
  133. package/build/server/chunks/nodes/4.js-Cfc3G2Gv.js +7 -0
  134. package/build/server/chunks/nodes/{4.js-gujLHNff.js.map → 4.js-Cfc3G2Gv.js.map} +1 -1
  135. package/dist/core/asset-id.d.ts +3 -2
  136. package/dist/core/asset-id.js +63 -2
  137. package/dist/core/chroma-key.d.ts +11 -5
  138. package/dist/core/chroma-key.js +11 -3
  139. package/dist/core/figma-tag-script.d.ts +19 -6
  140. package/dist/core/figma-tag-script.js +35 -23
  141. package/dist/core/index.d.ts +2 -2
  142. package/dist/core/index.js +1 -1
  143. package/dist/core/manifest-entry.d.ts +7 -0
  144. package/dist/core/plugins/slice.d.ts +12 -0
  145. package/dist/core/plugins/slice.js +26 -0
  146. package/dist/runtime/chroma-key-gl.d.ts +12 -4
  147. package/dist/runtime/chroma-key-gl.js +63 -6
  148. package/dist/runtime/components/ChromaKeyVideo.svelte +2 -1
  149. package/dist/runtime/geometry.d.ts +4 -2
  150. package/dist/runtime/geometry.js +14 -12
  151. package/dist/server/cli-figma-tags.js +12 -5
  152. package/dist/server/figma-tags.js +32 -6
  153. package/dist/server/plugins/contract.d.ts +5 -2
  154. package/dist/server/plugins/slice.js +14 -31
  155. package/dist/server/processing/processor.d.ts +1 -1
  156. package/dist/server/processing/processor.js +3 -3
  157. package/package.json +1 -1
  158. package/build/client/_app/immutable/assets/3.OulZ54CG.css.br +0 -0
  159. package/build/client/_app/immutable/assets/3.OulZ54CG.css.gz +0 -0
  160. package/build/client/_app/immutable/chunks/B_4qwt4o.js.br +0 -0
  161. package/build/client/_app/immutable/chunks/B_4qwt4o.js.gz +0 -0
  162. package/build/client/_app/immutable/chunks/Cml0-AYv.js +0 -2
  163. package/build/client/_app/immutable/chunks/Cml0-AYv.js.br +0 -0
  164. package/build/client/_app/immutable/chunks/Cml0-AYv.js.gz +0 -0
  165. package/build/client/_app/immutable/chunks/DGYcFVZ3.js +0 -1
  166. package/build/client/_app/immutable/chunks/DGYcFVZ3.js.br +0 -0
  167. package/build/client/_app/immutable/chunks/DGYcFVZ3.js.gz +0 -0
  168. package/build/client/_app/immutable/chunks/DS1jTxvm.js.br +0 -2
  169. package/build/client/_app/immutable/chunks/DS1jTxvm.js.gz +0 -0
  170. package/build/client/_app/immutable/chunks/p2q3f3Ml.js +0 -108
  171. package/build/client/_app/immutable/chunks/p2q3f3Ml.js.br +0 -0
  172. package/build/client/_app/immutable/chunks/p2q3f3Ml.js.gz +0 -0
  173. package/build/client/_app/immutable/entry/app.DgW6Eg19.js.br +0 -0
  174. package/build/client/_app/immutable/entry/app.DgW6Eg19.js.gz +0 -0
  175. package/build/client/_app/immutable/entry/start.D3J5OM6w.js +0 -1
  176. package/build/client/_app/immutable/entry/start.D3J5OM6w.js.br +0 -1
  177. package/build/client/_app/immutable/entry/start.D3J5OM6w.js.gz +0 -0
  178. package/build/client/_app/immutable/nodes/0.DdcKoZu5.js +0 -1
  179. package/build/client/_app/immutable/nodes/0.DdcKoZu5.js.br +0 -0
  180. package/build/client/_app/immutable/nodes/0.DdcKoZu5.js.gz +0 -0
  181. package/build/client/_app/immutable/nodes/1.CoM7ng4c.js.br +0 -0
  182. package/build/client/_app/immutable/nodes/1.CoM7ng4c.js.gz +0 -0
  183. package/build/client/_app/immutable/nodes/2.CV-vWxFI.js.br +0 -0
  184. package/build/client/_app/immutable/nodes/2.CV-vWxFI.js.gz +0 -0
  185. package/build/client/_app/immutable/nodes/3.B9mDsYGS.js +0 -1
  186. package/build/client/_app/immutable/nodes/3.B9mDsYGS.js.br +0 -0
  187. package/build/client/_app/immutable/nodes/3.B9mDsYGS.js.gz +0 -0
  188. package/build/client/_app/immutable/nodes/4.CFfIs-6D.js +0 -2
  189. package/build/client/_app/immutable/nodes/4.CFfIs-6D.js.br +0 -0
  190. package/build/client/_app/immutable/nodes/4.CFfIs-6D.js.gz +0 -0
  191. package/build/server/chunks/chunks/contract.js-B6KBK8D9.js.map +0 -1
  192. package/build/server/chunks/chunks/core.js-Bp-ReC60.js.map +0 -1
  193. package/build/server/chunks/chunks/manifest-membership.js-Dj3WwZgz.js.map +0 -1
  194. package/build/server/chunks/chunks/raw-reconciliation.js-mWOAOdgL.js.map +0 -1
  195. package/build/server/chunks/nodes/1.js-sYnc9kZu.js +0 -7
  196. package/build/server/chunks/nodes/3.js-BWkr9ibc.js +0 -7
  197. package/build/server/chunks/nodes/4.js-gujLHNff.js +0 -7
package/README.md CHANGED
@@ -80,8 +80,9 @@ Add assets, assign them to `main`, then use the generated module:
80
80
 
81
81
  `Slice` fills whatever box it is given. To size that box from the artwork,
82
82
  `sliceLayoutGeometry(entry)` returns the natural size of the slice's element
83
- core in CSS pixels (source size minus baked-in overdraw, divided by the export
84
- pixel ratio) plus a ready-made CSS `aspect-ratio` value. For the 3-slice modes
83
+ core in CSS pixels (authored size before stretch compression, minus baked-in
84
+ overdraw, divided by the export pixel ratio) plus a ready-made CSS
85
+ `aspect-ratio` value. For the 3-slice modes
85
86
  the sliced-off cross axis must be laid out at exactly that size so the end caps
86
87
  keep their authored aspect ratio.
87
88
 
@@ -219,6 +220,12 @@ hosted on another origin cannot be uploaded to WebGL from images or one-slices.
219
220
  | Chroma-key video | H.264 MP4 with WebGL2 keying, mask, and fallback | `<ChromaKeyVideo>` |
220
221
  | Audio | Opus/WebM or AAC/M4A | Your audio engine via `retainEntry()` |
221
222
 
223
+ Chroma-key video keys any backdrop color, not just green: the despill that
224
+ removes the backdrop's color fringe follows `chromaKey.keyColor` and leaves
225
+ neutral colors untouched. Set the optional `chromaKey.despillCoverage` below 1
226
+ to limit the despill to the keyed edge when the subject itself contains colors
227
+ close to the key.
228
+
222
229
  Named presets in `fundus.config.ts` keep encoding choices consistent. Each asset
223
230
  currently produces one processed proxy, which is often exactly what an app wants
224
231
  and refreshingly unlike configuring a small television network.
@@ -487,8 +494,15 @@ npx fundus figma prepare-delete-tag --tag navigationPanel --json
487
494
  The agent passes `code` unchanged to `use_figma`. The set script re-checks every
488
495
  page of the live document (loading them all, which takes a few seconds on large
489
496
  files), writes the tag and its Dev Mode annotation exactly like the plugin, and
490
- returns the result, or throws without writing when the document changed. A node
491
- that already carries a tag needs `--force`.
497
+ returns the result, or throws without writing when the document changed.
498
+ `--force` always sets the tag: it replaces a tag the node already carries, moves
499
+ the tag away from any other node carrying it (tags stay unique), and overrides a
500
+ Fundus asset of that id from another source. To move an asset imported by node id to a tag, tag
501
+ its node with the asset's id (no `--force` needed), then run
502
+ `fundus asset replace <id> --from figma --figma-tag <id> --scale <saved scale>`.
503
+ Without `--scale` the replace exports at `import.figma.defaults.scale`, which
504
+ also resets a slice's `pixelRatio`; the follow-up that `prepare-set-tag` prints
505
+ already carries the asset's saved scale.
492
506
 
493
507
  The editor import dialog offers the same choice through a **Link / Tag** switch
494
508
  and remembers the last one used. On a tag asset's page, the Source section edits
@@ -1 +1 @@
1
- .usage-header.svelte-13vzy7a{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:400;display:flex}.usage-status.svelte-13vzy7a,.usage-actions.svelte-13vzy7a{align-items:center;gap:6px;display:flex}.usage-actions.svelte-13vzy7a .control:where(.svelte-13vzy7a){height:24px;padding-block:2px}.usage-actions.svelte-13vzy7a .control:where(.svelte-13vzy7a):disabled{cursor:not-allowed;opacity:.55}.status-dot.svelte-13vzy7a{background:var(--text-faint);border-radius:50%;flex:none;width:7px;height:7px}.status-dot.used.svelte-13vzy7a{background:var(--ok)}.status-dot.unknown.svelte-13vzy7a{background:var(--warning)}.usages-trigger.svelte-13vzy7a{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.chevron.svelte-13vzy7a{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;transform-origin:50%;flex:none;width:12px;height:12px;display:block}.chevron.open.svelte-13vzy7a{transform:rotate(180deg)}.usage-popover.svelte-13vzy7a{width:min(360px,100vw - 40px);font-size:11px;font-weight:400}.popover-heading.svelte-13vzy7a,.reference-location.svelte-13vzy7a{justify-content:space-between;align-items:center;gap:12px;display:flex}.popover-heading.svelte-13vzy7a{color:var(--text-dim);padding:2px 4px 8px;font-size:11px}.popover-heading.svelte-13vzy7a>span:where(.svelte-13vzy7a){font-variant-numeric:tabular-nums;color:var(--text-faint)}.usage-list.svelte-13vzy7a{flex-direction:column;gap:2px;max-height:min(320px,55vh);display:flex;overflow-y:auto}.usage-reference.svelte-13vzy7a{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:7px 8px;font-size:11px;display:flex}.usage-reference.svelte-13vzy7a:hover:not(:disabled),.usage-reference.svelte-13vzy7a:focus-visible{background:var(--accent-soft);outline:none}.usage-reference.svelte-13vzy7a:disabled{opacity:.55;cursor:not-allowed}.reference-location.svelte-13vzy7a{width:100%}.reference-file.svelte-13vzy7a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reference-position.svelte-13vzy7a{color:var(--accent);font-variant-numeric:tabular-nums;flex:none}.reference-paths.svelte-13vzy7a,.usage-reference.svelte-13vzy7a small:where(.svelte-13vzy7a){max-width:100%;color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.hint.svelte-13vzy7a{color:var(--text-faint);margin:0;font-size:11px}.error.svelte-13vzy7a{color:var(--danger)}.usage-section.svelte-1xvalv3{border-bottom:1px solid var(--border-soft);padding:12px}.hint.svelte-1xvalv3{color:var(--text-faint);margin:0;font-size:11px}.error.svelte-1xvalv3{color:var(--danger)}.refresh-error.svelte-1xvalv3{margin-top:8px}.detail.svelte-xy8zsr{flex:1;grid-template-columns:220px 1fr 280px;min-height:0;display:grid}.center.svelte-xy8zsr{flex-direction:column;min-width:0;min-height:0;padding:8px;display:flex}.center.empty.svelte-xy8zsr,.empty.svelte-xy8zsr{color:var(--text-dim);flex:1;justify-content:center;align-items:center;display:flex}.inspector.svelte-xy8zsr{background:var(--panel);border-left:1px solid var(--border);overflow-y:auto}.inspector.svelte-xy8zsr section:where(.svelte-xy8zsr){border-bottom:1px solid var(--border-soft);padding:12px}.inspector.svelte-xy8zsr h2:where(.svelte-xy8zsr){word-break:break-all;margin:0;font-size:13px}.raw.svelte-xy8zsr{color:var(--text-dim);word-break:break-all;margin:4px 0 0}.required-by.svelte-xy8zsr{color:var(--accent);word-break:break-all;margin:6px 0 0;font-size:11px}.warning.svelte-xy8zsr{color:var(--warning);margin:8px 0 0;font-size:11px}.duplicate-warning.svelte-xy8zsr{border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);border-radius:var(--radius);background:var(--warning-soft);color:var(--warning);margin-top:10px;padding:8px;font-size:11px}.duplicate-warning.svelte-xy8zsr>strong:where(.svelte-xy8zsr){margin-bottom:6px;display:block}.duplicate-row.svelte-xy8zsr{border-radius:var(--radius);min-width:0;color:var(--text);align-items:center;gap:8px;padding:4px;display:flex}.duplicate-row.svelte-xy8zsr:hover{background:color-mix(in srgb, var(--warning) 12%, transparent)}.duplicate-row.svelte-xy8zsr img:where(.svelte-xy8zsr){border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);object-fit:contain;flex:none;width:36px;height:36px}.duplicate-row.svelte-xy8zsr span:where(.svelte-xy8zsr){text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hint.svelte-xy8zsr{color:var(--text-faint);margin:0;font-size:11px}.inspector.svelte-xy8zsr h4:where(.svelte-xy8zsr){text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:8px 0 4px;font-size:10px}.reference-row.svelte-xy8zsr{border-radius:var(--radius);color:var(--text-dim);align-items:center;gap:6px;min-width:0;padding:3px 4px;display:flex}.reference-row.svelte-xy8zsr:hover{background:var(--panel-raised);color:var(--text)}.reference-field.svelte-xy8zsr{color:var(--text-faint);font-size:11px}.reference-arrow.svelte-xy8zsr{color:var(--text-faint);flex:none}.reference-asset.svelte-xy8zsr{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rename.svelte-xy8zsr{gap:8px;margin-bottom:8px;display:flex}.replace-raw.svelte-xy8zsr{width:100%;margin-bottom:8px}.replace-picker.svelte-xy8zsr{margin-bottom:8px}.replace-picker.svelte-xy8zsr .popover-anchor,.replace-picker.svelte-xy8zsr .replace-raw:where(.svelte-xy8zsr){width:100%}.replace-picker.svelte-xy8zsr .replace-raw:where(.svelte-xy8zsr){justify-content:center;align-items:center;gap:6px;margin-bottom:0;display:flex}.source-label.svelte-xy8zsr{margin-bottom:8px}.source-field.svelte-xy8zsr{color:var(--text-dim);flex-direction:column;gap:4px;margin-bottom:8px;font-size:11px;display:flex}.source-field.svelte-xy8zsr .control:where(.svelte-xy8zsr){width:100%}.source-actions.svelte-xy8zsr{flex-direction:column;gap:6px;display:flex}.source-actions.svelte-xy8zsr .control:where(.svelte-xy8zsr){text-align:center;width:100%}.rename.svelte-xy8zsr input:where(.svelte-xy8zsr){flex:1;min-width:0}.danger.svelte-xy8zsr{width:100%}
1
+ .usage-header.svelte-13vzy7a{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:400;display:flex}.usage-status.svelte-13vzy7a,.usage-actions.svelte-13vzy7a{align-items:center;gap:6px;display:flex}.usage-actions.svelte-13vzy7a .control:where(.svelte-13vzy7a){height:24px;padding-block:2px}.usage-actions.svelte-13vzy7a .control:where(.svelte-13vzy7a):disabled{cursor:not-allowed;opacity:.55}.status-dot.svelte-13vzy7a{background:var(--text-faint);border-radius:50%;flex:none;width:7px;height:7px}.status-dot.used.svelte-13vzy7a{background:var(--ok)}.status-dot.unknown.svelte-13vzy7a{background:var(--warning)}.usages-trigger.svelte-13vzy7a{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.chevron.svelte-13vzy7a{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;transform-origin:50%;flex:none;width:12px;height:12px;display:block}.chevron.open.svelte-13vzy7a{transform:rotate(180deg)}.usage-popover.svelte-13vzy7a{width:min(360px,100vw - 40px);font-size:11px;font-weight:400}.popover-heading.svelte-13vzy7a,.reference-location.svelte-13vzy7a{justify-content:space-between;align-items:center;gap:12px;display:flex}.popover-heading.svelte-13vzy7a{color:var(--text-dim);padding:2px 4px 8px;font-size:11px}.popover-heading.svelte-13vzy7a>span:where(.svelte-13vzy7a){font-variant-numeric:tabular-nums;color:var(--text-faint)}.usage-list.svelte-13vzy7a{flex-direction:column;gap:2px;max-height:min(320px,55vh);display:flex;overflow-y:auto}.usage-reference.svelte-13vzy7a{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:7px 8px;font-size:11px;display:flex}.usage-reference.svelte-13vzy7a:hover:not(:disabled),.usage-reference.svelte-13vzy7a:focus-visible{background:var(--accent-soft);outline:none}.usage-reference.svelte-13vzy7a:disabled{opacity:.55;cursor:not-allowed}.reference-location.svelte-13vzy7a{width:100%}.reference-file.svelte-13vzy7a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reference-position.svelte-13vzy7a{color:var(--accent);font-variant-numeric:tabular-nums;flex:none}.reference-paths.svelte-13vzy7a,.usage-reference.svelte-13vzy7a small:where(.svelte-13vzy7a){max-width:100%;color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.hint.svelte-13vzy7a{color:var(--text-faint);margin:0;font-size:11px}.error.svelte-13vzy7a{color:var(--danger)}.usage-section.svelte-1xvalv3{border-bottom:1px solid var(--border-soft);padding:12px}.hint.svelte-1xvalv3{color:var(--text-faint);margin:0;font-size:11px}.error.svelte-1xvalv3{color:var(--danger)}.refresh-error.svelte-1xvalv3{margin-top:8px}.detail.svelte-xy8zsr{flex:1;grid-template-columns:220px 1fr 280px;min-height:0;display:grid}.center.svelte-xy8zsr{flex-direction:column;min-width:0;min-height:0;padding:8px;display:flex}.center.empty.svelte-xy8zsr,.empty.svelte-xy8zsr{color:var(--text-dim);flex:1;justify-content:center;align-items:center;display:flex}.inspector.svelte-xy8zsr{background:var(--panel);border-left:1px solid var(--border);overflow-y:auto}.inspector.svelte-xy8zsr section:where(.svelte-xy8zsr){border-bottom:1px solid var(--border-soft);padding:12px}.title.svelte-xy8zsr{align-items:flex-start;gap:4px;display:flex}.inspector.svelte-xy8zsr h2:where(.svelte-xy8zsr){word-break:break-all;min-width:0;margin:0;font-size:13px}.copy-id.svelte-xy8zsr{color:var(--text-dim);background:0 0;border:0;border-radius:3px;flex:none;padding:2px}.copy-id.svelte-xy8zsr:hover{color:var(--text)}.raw.svelte-xy8zsr{color:var(--text-dim);word-break:break-all;margin:4px 0 0}.required-by.svelte-xy8zsr{color:var(--accent);word-break:break-all;margin:6px 0 0;font-size:11px}.warning.svelte-xy8zsr{color:var(--warning);margin:8px 0 0;font-size:11px}.duplicate-warning.svelte-xy8zsr{border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);border-radius:var(--radius);background:var(--warning-soft);color:var(--warning);margin-top:10px;padding:8px;font-size:11px}.duplicate-warning.svelte-xy8zsr>strong:where(.svelte-xy8zsr){margin-bottom:6px;display:block}.duplicate-row.svelte-xy8zsr{border-radius:var(--radius);min-width:0;color:var(--text);align-items:center;gap:8px;padding:4px;display:flex}.duplicate-row.svelte-xy8zsr:hover{background:color-mix(in srgb, var(--warning) 12%, transparent)}.duplicate-row.svelte-xy8zsr img:where(.svelte-xy8zsr){border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);object-fit:contain;flex:none;width:36px;height:36px}.duplicate-row.svelte-xy8zsr span:where(.svelte-xy8zsr){text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hint.svelte-xy8zsr{color:var(--text-faint);margin:0;font-size:11px}.inspector.svelte-xy8zsr h4:where(.svelte-xy8zsr){text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:8px 0 4px;font-size:10px}.reference-row.svelte-xy8zsr{border-radius:var(--radius);color:var(--text-dim);align-items:center;gap:6px;min-width:0;padding:3px 4px;display:flex}.reference-row.svelte-xy8zsr:hover{background:var(--panel-raised);color:var(--text)}.reference-field.svelte-xy8zsr{color:var(--text-faint);font-size:11px}.reference-arrow.svelte-xy8zsr{color:var(--text-faint);flex:none}.reference-asset.svelte-xy8zsr{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rename.svelte-xy8zsr{gap:8px;margin-bottom:8px;display:flex}.replace-raw.svelte-xy8zsr{width:100%;margin-bottom:8px}.replace-picker.svelte-xy8zsr{margin-bottom:8px}.replace-picker.svelte-xy8zsr .popover-anchor,.replace-picker.svelte-xy8zsr .replace-raw:where(.svelte-xy8zsr){width:100%}.replace-picker.svelte-xy8zsr .replace-raw:where(.svelte-xy8zsr){justify-content:center;align-items:center;gap:6px;margin-bottom:0;display:flex}.source-label.svelte-xy8zsr{margin-bottom:8px}.source-field.svelte-xy8zsr{color:var(--text-dim);flex-direction:column;gap:4px;margin-bottom:8px;font-size:11px;display:flex}.source-field.svelte-xy8zsr .control:where(.svelte-xy8zsr){width:100%}.source-actions.svelte-xy8zsr{flex-direction:column;gap:6px;display:flex}.source-actions.svelte-xy8zsr .control:where(.svelte-xy8zsr){text-align:center;width:100%}.rename.svelte-xy8zsr input:where(.svelte-xy8zsr){flex:1;min-width:0}.danger.svelte-xy8zsr{width:100%}
@@ -1 +1 @@
1
- import{H as e,U as t,V as n,it as r,nt as i,r as a,t as o,tt as s}from"./DLEDBLL1.js";var c=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},l=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},u=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function d(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function f(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function p(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(){}function ee(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function g(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var _=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&v.delete(b(e)),_(e,t));var v=new Map;function te(e,t){let n=b(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=g(e));let i=r.getAttribute(`data-ttl`);return i&&v.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function y(e,t,n){if(v.size>0){let t=b(e,n),r=v.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);v.delete(t)}}return window.fetch(t,n)}function b(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${ee(...e)}"]`}return n}var ne=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,re=/^\/\((?:[^)]+)\)$/;function x(e){let t=[];return{pattern:e===`/`||re.test(e)?/^\/$/:RegExp(`^${ae(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return se(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return se(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=ne.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return se(e)}).join(``)}).join(``)}/?$`),params:t}}function ie(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ae(e){return e.slice(1).split(`/`).filter(ie)}function oe(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function se(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}var ce=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function le(e,t){let n=ae(e),r=e!=`/`&&e.endsWith(`/`);return`/`+n.map(n=>n.replace(ce,(n,r,i,a)=>{let o=t[a];if(!o){if(r||i&&o!==void 0)return``;throw Error(`Missing parameter '${a}' in route ${e}`)}if(o.startsWith(`/`)||o.endsWith(`/`))throw Error(`Parameter '${a}' in route ${e} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return o})).filter(Boolean).join(`/`)+(r?`/`:``)}function ue({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=x(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return oe(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function de(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function fe(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var S=globalThis.__sveltekit_1ir5x2x?.base??``,pe=globalThis.__sveltekit_1ir5x2x?.assets??S??``,me=``;function he(...e){if(!e[0].startsWith(`/`))throw Error(`Cannot use \`resolve(...)\` with a non-absolute pathname or route ID (got "${e[0]}"). \`resolve\` is only for internal pathnames and route IDs; external URLs should be used directly.`);return S+me+le(e[0],e[1])}var ge=`1790372235980`,_e=`sveltekit:snapshot`,ve=`sveltekit:scroll`,ye=`sveltekit:states`,C=`sveltekit:history`,w=`sveltekit:navigation`,T={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},E=location.origin;function be(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function D(){return{x:pageXOffset,y:pageYOffset}}function O(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var xe={...T,"":T.hover};function Se(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ce(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Se(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||A(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===E&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function k(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=O(s,`preload-code`)),i===null&&(i=O(s,`preload-data`)),t===null&&(t=O(s,`keepfocus`)),n===null&&(n=O(s,`noscroll`)),a===null&&(a=O(s,`reload`)),o===null&&(o=O(s,`replacestate`)),s=Se(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:xe[r??`off`],preload_data:xe[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Te(e){let t=r(e),n=!0;function i(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:i,set:a,subscribe:o}}var Ee={v:h};function De(){let{set:e,subscribe:t}=r(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${pe}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==ge;return n&&(e(!0),Ee.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function A(e,t,n){return e.origin!==E||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Oe(e){}var ke=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...ke],[...new Set([...ke])];function Ae(e){return e.filter(e=>e!=null)}function j(e,t){return e+`/`+t}function je(e){return e instanceof c||e instanceof u?e.status:500}function Me(e){return e instanceof u?e.text:`Internal Error`}var M,N,P,Ne=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Pe=`a:`;Ne?(M={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Pe)},N={current:null},P={current:!1}):(M=new class{#e=i({});get data(){return n(this.#e)}set data(e){s(this.#e,e)}#t=i(null);get form(){return n(this.#t)}set form(e){s(this.#t,e)}#n=i(null);get error(){return n(this.#n)}set error(e){s(this.#n,e)}#r=i({});get params(){return n(this.#r)}set params(e){s(this.#r,e)}#i=i({id:null});get route(){return n(this.#i)}set route(e){s(this.#i,e)}#a=i({});get state(){return n(this.#a)}set state(e){s(this.#a,e)}#o=i(-1);get status(){return n(this.#o)}set status(e){s(this.#o,e)}#s=i(new URL(Pe));get url(){return n(this.#s)}set url(e){s(this.#s,e)}},N=new class{#e=i(null);get current(){return n(this.#e)}set current(e){s(this.#e,e)}},P=new class{#e=i(!1);get current(){return n(this.#e)}set current(e){s(this.#e,e)}},Ee.v=()=>P.current=!0);function Fe(e){Object.assign(M,e)}var{onMount:Ie,tick:Le}=o,Re=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),F=null,I=de(`sveltekit:scroll`)??{},L=de(`sveltekit:snapshot`)??{},R={url:Te({}),page:Te({}),navigating:r(null),updated:De()};function ze(e){I[e]=D()}function Be(e,t){let n=e+1;for(;I[n];)delete I[n],n+=1;for(n=t+1;L[n];)delete L[n],n+=1}function z(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(h)}async function Ve(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(S||`/`);e&&await e.update()}}var He,Ue,We,B,Ge,V,Ke={},qe={},Je=[],Ye=[],H=null;function Xe(){H?.fork?.then(e=>e?.discard()),H=null,Q={element:void 0,href:void 0}}var Ze=new Map,Qe=new Set,$e=new Set,U=new Set,W={branch:[],error:null,url:null,nav:null},et=!1,tt=!1,nt=!0,G=!1,K=!1,rt=!1,it=!1,at,q,J,Y,ot=new Set,st=new Map,ct=new Map;async function lt(e,t,n){if(globalThis.__sveltekit_1ir5x2x.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_1ir5x2x.data;for(let t in e)Ke[t]=e[t];for(let e in n)Ke[e]=n[e];for(let e in r)Ke[e]=r[e];for(let e in t)qe[e]=t[e]}document.URL!==location.href&&(location.href=location.href),V=e,await e.hooks.init?.(),He=ue(e),B=document.documentElement,Ge=t,Ue=e.nodes[0],We=e.nodes[1],Ue(),We(),q=history.state?.[C],J=history.state?.[w],q||(q=J=Date.now(),history.replaceState({...history.state,[C]:q,[w]:J},``));let r=I[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await zt(Ge,n)):(await Z({type:`enter`,url:be(V.hash?Gt(new URL(location.href)):location.href),replace_state:!0}),i()),Rt()}function ut(){Je.length=0,it=!1}function dt(e){Ye.some(e=>e?.snapshot)&&(L[e]=Ye.map(e=>e?.snapshot?.capture()))}function ft(e){L[e]?.forEach((e,t)=>{Ye[t]?.snapshot?.restore(e)})}function pt(){ze(q),fe(ve,I),dt(J),fe(_e,L)}async function mt(e,n,r,i){let a,o;n.invalidateAll&&Xe(),await Z({type:`goto`,url:be(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{if(n.invalidateAll){it=!0,a=new Set;for(let[e,t]of st)for(let[n,r]of t)r.resource?.reset(),a.add(j(e,n));o=new Set;for(let[e,t]of ct)for(let n of t.keys())o.add(j(e,n))}n.invalidate&&n.invalidate.forEach(Lt)}}),n.invalidateAll&&t().then(t).then(()=>{for(let[e,t]of st)for(let[n,{resource:r}]of t)a?.has(j(e,n))&&r.start();for(let[e,t]of ct)for(let[n,{resource:r}]of t)o?.has(j(e,n))&&r.reconnect()})}async function ht(e){if(e.id!==H?.id){Xe();let t={};ot.add(t),H={id:e.id,token:t,promise:Tt({...e,preload:t}).then(e=>(ot.delete(t),e.type===`loaded`&&e.state.error&&Xe(),e)),fork:null}}return H.promise}async function gt(e){let t=(await X(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function _t(e,t,n){let r={params:W.params,route:{id:W.route?.id??null},url:new URL(location.href)};if(W={...e.state,nav:r},Fe(e.props.page),at=new V.root({target:t,props:{...e.props,stores:R,components:Ye},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:I[q]??D()},willUnload:!1,type:`enter`,complete:Promise.resolve()};U.forEach(t=>t(e))}ft(J),tt=!0}async function vt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(S&&(e.pathname===S||e.pathname===S+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=d(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Ae(n).map(e=>e.node.component),page:Wt(M)}};s!==void 0&&(l.props.form=s);let u={},f=!M,p=0;for(let e=0;e<Math.max(n.length,W.branch.length);e+=1){let t=n[e],r=W.branch[e];t?.data!==r?.data&&(f=!0),t&&(u={...u,...t.data},f&&(l.props[`data_${p}`]=u),p+=1)}return(!W.url||e.href!==W.url.href||W.error!==a||s!==void 0&&s!==M.form||f)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:f?u:M.data}),l}async function yt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function bt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:tt?y(r,i.href,t):te(r,t)}}function xt(e,t,n,r,i,a){if(it)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==W.params[e])return!0;for(let e of i.dependencies)if(Je.some(t=>t(new URL(e))))return!0;return!1}function St(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Ct(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function wt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Wt(M),constructors:[]}}}async function Tt({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(H?.id===e)return ot.delete(H.token),H.promise;let{errors:o,layouts:s,leaf:u}=i,d=[...s,u];o.forEach(e=>e?.().catch(h)),d.forEach(e=>e?.[1]().catch(h));let f=W.url?e!==At(W.url):!1,p=W.route?i.id!==W.route.id:!1,m=Ct(W.url,n),ee=!1,g=d.map(async(e,t)=>{if(!e)return;let a=W.branch[t];return e[1]===a?.loader&&!xt(ee,p,f,m,a.universal?.uses,r)?a:(ee=!0,yt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await g[n])?.data);return e},server_data_node:St(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of g)e.catch(h);let _=[];for(let e=0;e<d.length;e+=1)if(d[e])try{_.push(await g[e])}catch(t){if(t instanceof l)return{type:`redirect`,location:t.location};if(a&&ot.has(a))return wt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=je(t),u;if(t instanceof c)u=t.body;else{if(await R.updated.check())return await Ve(),await z(n);u=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await Et(e,_,o);return d?vt({url:n,params:r,branch:_.slice(0,d.idx).concat(d.node),errors:o,status:s,error:u,route:i}):await Mt(n,{id:i.id},u,s)}else _.push(void 0);return vt({url:n,params:r,branch:_,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Et(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Dt({status:e,error:t,url:n,route:r}){let i={};try{return vt({url:n,params:i,branch:[await yt({loader:Ue,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:St(null)}),{node:await We(),loader:We,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof l){await mt(new URL(t.location,location.href),{},0);return}let a=await V.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function Ot(e){let t=e.href;if(Ze.has(t))return Ze.get(t);let n;try{let r=(async()=>{let t=await V.hooks.reroute({url:new URL(e),fetch:async(t,n)=>bt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);V.hash?n.hash=t:n.pathname=t,t=n}return t})();Ze.set(t,r),n=await r}catch{Ze.delete(t);return}return n}async function X(e,t){if(e&&!A(e,S,V.hash)){let n=await Ot(e);if(!n)return;let r=kt(n);for(let n of He){let i=n.exec(r);if(i)return{id:At(e),invalidating:t,route:n,params:p(i),url:e}}}}function kt(e){return f(V.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(S.length))||`/`}function At(e){return(V.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function jt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Ut(W,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return G||Qe.forEach(e=>e(c)),o?null:s}async function Z({type:n,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:d={},accept:f=h,block:p=h,event:m}){let ee=Y;Y=d;let g=await X(r,!1),_=n===`enter`?Ut(W,g,r,n):jt({url:r,type:n,delta:i?.delta,intent:g,scroll:i?.scroll,event:m});if(!_){p(),Y===d&&(Y=ee);return}let v=q,te=J;f(),G=!0,tt&&_.navigation.type!==`enter`&&R.navigating.set(N.current=_.navigation);let y=g&&await Tt(g);if(!y){if(A(r,S,V.hash))return await z(r,s);y=await Mt(r,{id:null},await $(new u(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=g?.url||r,Y!==d){_.reject(Error(`navigation aborted`));return}if(!y)return;if(y.type===`redirect`){if(l<20){await Z({type:n,url:new URL(y.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:d}),_.fulfil(void 0);return}if(y=await Dt({status:500,error:await $(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}}),!y)return}else if(y.props.page.status>=400&&await R.updated.check())return await Ve(),await z(r,s);if(ut(),ze(v),dt(te),y.props.page.url.pathname!==r.pathname&&(r.pathname=y.props.page.url.pathname),c=i?i.state:c,!i){let e=+!s,t={[C]:q+=e,[w]:J+=e,[ye]:c};(s?history.replaceState:history.pushState).call(history,t,``,r),s||Be(q,J)}let b=g&&H?.id===g.id?H.fork:null;H?.fork&&!b?Xe():(H=null,Q={element:void 0,href:void 0}),y.props.page.state=c;let ne;if(tt){let t=(await Promise.all(Array.from($e,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(t.length>0){function e(){t.forEach(e=>{U.delete(e)})}t.push(e),t.forEach(e=>{U.add(e)})}let n=_.navigation.to;W={...y.state,nav:{params:n.params,route:n.route,url:n.url}},y.props.page&&(y.props.page.url=r),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let i=b&&await b;i?ne=i.commit():(F=null,at.$set(y.props),F&&Object.assign(y.props.page,F),Fe(y.props.page),ne=e?.()),rt=!0}else await _t(y,Ge,!1);let{activeElement:re}=document;if(await ne,await t(),await t(),Y!==d){_.reject(Error(`navigation aborted`));return}y.props.page&&F&&Object.assign(y.props.page,F);let x=null;if(nt){let e=i?i.scroll:o?D():null;e?scrollTo(e.x,e.y):(x=r.hash&&document.getElementById(Kt(r)))?x.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==re&&document.activeElement!==document.body;!a&&!ie&&Ht(r,!x),nt=!0,G=!1,_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=D()),U.forEach(e=>e(_.navigation)),n===`popstate`&&ft(J),R.navigating.set(N.current=null)}async function Mt(e,t,n,r,i){return e.origin===E&&e.pathname===location.pathname&&!et?await Dt({status:r,error:n,url:e,route:t}):await z(e,i)}var Q={element:void 0,href:void 0};function Nt(){let e,t;B.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,T.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],T.tap)}B.addEventListener(`mousedown`,n),B.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(gt(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Ce(e,B),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=we(r,S,V.hash);if(o||s)return;let c=k(r),l=a&&At(W.url)===At(a);if(!(c.reload||l))if(n<=c.preload_data){Q={element:r,href:r.href},t=T.tap;let e=await X(a,!1);if(!e)return;ht(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,gt(a))}function a(){r.disconnect();for(let e of B.querySelectorAll(`a`)){let{url:t,external:n,download:i}=we(e,S,V.hash);if(n||i)continue;let a=k(e);a.reload||(a.preload_code===T.viewport&&r.observe(e),a.preload_code===T.eager&&gt(t))}}U.add(a),a()}function $(e,t){if(e instanceof c)return e.body;let n=je(e),r=Me(e);return V.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Pt(e,t){Ie(()=>(e.add(t),()=>{e.delete(t)}))}function Ft(e){Pt(U,e)}function It(e,t={}){return e=new URL(be(e)),e.origin===E?mt(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Lt(e){if(typeof e==`function`)Je.push(e);else{let{href:t}=new URL(e,location.href);Je.push(e=>e.href===t)}}function Rt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(pt(),!G){let e=Ut(W,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};Qe.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&pt()}),navigator.connection?.saveData||Nt(),B.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ce(t.composedPath()[0],B);if(!n)return;let{url:r,external:i,target:a,download:o}=we(n,S,V.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=k(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(V.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){jt({url:r,type:`link`,event:t})?G=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=W.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(K=!0,ze(q),e(r),!s.replace_state)return;K=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),B.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(A(r,S,!1))return;let i=e.target,a=k(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Vt)if(t.state?.[`sveltekit:history`]){let n=t.state[C];if(Y={},n===q)return;let r=I[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[w],s=W.url?m(location)===m(W.url):!1;if(o===J&&(rt||s)){i!==M.state&&(M.state=i),e(a),I[q]=D(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else K||(e(new URL(location.href)),V.hash&&location.reload())}),addEventListener(`hashchange`,()=>{K&&(K=!1,history.replaceState({...history.state,[C]:++q,[w]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))Re.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&R.navigating.set(N.current=null)});function e(e){W.url=M.url=e,R.page.set(Wt(M)),R.page.notify()}}async function zt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){et=!0;let u=new URL(location.href),d;({params:i={},route:a={id:null}}=await X(u,!1)||{}),d=He.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Bt(r.uses)),yt({loader:V.nodes[t],url:u,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:St(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await vt({url:u,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof l)return await z(new URL(t.location,location.href));f=await Dt({status:je(t),error:await $(t,{url:u,params:i,route:a}),url:u,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await _t(f,e,p))}function Bt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Vt=!1;function Ht(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Kt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=D();setTimeout(()=>{let a=history.state;Vt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Vt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Ut(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(h),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:D()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Wt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Gt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Kt(e){let t;if(V.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{N as a,Oe as c,R as i,he as l,It as n,M as o,lt as r,P as s,Ft as t};
1
+ import{H as e,U as t,V as n,it as r,nt as i,r as a,t as o,tt as s}from"./DLEDBLL1.js";var c=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},l=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},u=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function d(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function f(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function p(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(){}function ee(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;function g(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var _=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&v.delete(b(e)),_(e,t));var v=new Map;function te(e,t){let n=b(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=g(e));let i=r.getAttribute(`data-ttl`);return i&&v.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function y(e,t,n){if(v.size>0){let t=b(e,n),r=v.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);v.delete(t)}}return window.fetch(t,n)}function b(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${ee(...e)}"]`}return n}var ne=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,re=/^\/\((?:[^)]+)\)$/;function x(e){let t=[];return{pattern:e===`/`||re.test(e)?/^\/$/:RegExp(`^${ae(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return se(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return se(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=ne.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return se(e)}).join(``)}).join(``)}/?$`),params:t}}function ie(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ae(e){return e.slice(1).split(`/`).filter(ie)}function oe(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function se(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}var ce=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function le(e,t){let n=ae(e),r=e!=`/`&&e.endsWith(`/`);return`/`+n.map(n=>n.replace(ce,(n,r,i,a)=>{let o=t[a];if(!o){if(r||i&&o!==void 0)return``;throw Error(`Missing parameter '${a}' in route ${e}`)}if(o.startsWith(`/`)||o.endsWith(`/`))throw Error(`Parameter '${a}' in route ${e} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return o})).filter(Boolean).join(`/`)+(r?`/`:``)}function ue({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=x(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return oe(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function de(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function fe(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var S=globalThis.__sveltekit_133nkxr?.base??``,pe=globalThis.__sveltekit_133nkxr?.assets??S??``,me=``;function he(...e){if(!e[0].startsWith(`/`))throw Error(`Cannot use \`resolve(...)\` with a non-absolute pathname or route ID (got "${e[0]}"). \`resolve\` is only for internal pathnames and route IDs; external URLs should be used directly.`);return S+me+le(e[0],e[1])}var ge=`1790682779365`,_e=`sveltekit:snapshot`,ve=`sveltekit:scroll`,ye=`sveltekit:states`,C=`sveltekit:history`,w=`sveltekit:navigation`,T={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},E=location.origin;function be(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function D(){return{x:pageXOffset,y:pageYOffset}}function O(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var xe={...T,"":T.hover};function Se(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ce(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Se(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||A(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===E&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function k(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=O(s,`preload-code`)),i===null&&(i=O(s,`preload-data`)),t===null&&(t=O(s,`keepfocus`)),n===null&&(n=O(s,`noscroll`)),a===null&&(a=O(s,`reload`)),o===null&&(o=O(s,`replacestate`)),s=Se(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:xe[r??`off`],preload_data:xe[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Te(e){let t=r(e),n=!0;function i(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:i,set:a,subscribe:o}}var Ee={v:h};function De(){let{set:e,subscribe:t}=r(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${pe}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==ge;return n&&(e(!0),Ee.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function A(e,t,n){return e.origin!==E||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Oe(e){}var ke=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...ke],[...new Set([...ke])];function Ae(e){return e.filter(e=>e!=null)}function j(e,t){return e+`/`+t}function je(e){return e instanceof c||e instanceof u?e.status:500}function Me(e){return e instanceof u?e.text:`Internal Error`}var M,N,P,Ne=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Pe=`a:`;Ne?(M={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Pe)},N={current:null},P={current:!1}):(M=new class{#e=i({});get data(){return n(this.#e)}set data(e){s(this.#e,e)}#t=i(null);get form(){return n(this.#t)}set form(e){s(this.#t,e)}#n=i(null);get error(){return n(this.#n)}set error(e){s(this.#n,e)}#r=i({});get params(){return n(this.#r)}set params(e){s(this.#r,e)}#i=i({id:null});get route(){return n(this.#i)}set route(e){s(this.#i,e)}#a=i({});get state(){return n(this.#a)}set state(e){s(this.#a,e)}#o=i(-1);get status(){return n(this.#o)}set status(e){s(this.#o,e)}#s=i(new URL(Pe));get url(){return n(this.#s)}set url(e){s(this.#s,e)}},N=new class{#e=i(null);get current(){return n(this.#e)}set current(e){s(this.#e,e)}},P=new class{#e=i(!1);get current(){return n(this.#e)}set current(e){s(this.#e,e)}},Ee.v=()=>P.current=!0);function Fe(e){Object.assign(M,e)}var{onMount:Ie,tick:Le}=o,Re=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),F=null,I=de(`sveltekit:scroll`)??{},L=de(`sveltekit:snapshot`)??{},R={url:Te({}),page:Te({}),navigating:r(null),updated:De()};function ze(e){I[e]=D()}function Be(e,t){let n=e+1;for(;I[n];)delete I[n],n+=1;for(n=t+1;L[n];)delete L[n],n+=1}function z(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(h)}async function Ve(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(S||`/`);e&&await e.update()}}var He,Ue,We,B,Ge,V,Ke={},qe={},Je=[],Ye=[],H=null;function Xe(){H?.fork?.then(e=>e?.discard()),H=null,Q={element:void 0,href:void 0}}var Ze=new Map,Qe=new Set,$e=new Set,U=new Set,W={branch:[],error:null,url:null,nav:null},et=!1,tt=!1,nt=!0,G=!1,K=!1,rt=!1,it=!1,at,q,J,Y,ot=new Set,st=new Map,ct=new Map;async function lt(e,t,n){if(globalThis.__sveltekit_133nkxr.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_133nkxr.data;for(let t in e)Ke[t]=e[t];for(let e in n)Ke[e]=n[e];for(let e in r)Ke[e]=r[e];for(let e in t)qe[e]=t[e]}document.URL!==location.href&&(location.href=location.href),V=e,await e.hooks.init?.(),He=ue(e),B=document.documentElement,Ge=t,Ue=e.nodes[0],We=e.nodes[1],Ue(),We(),q=history.state?.[C],J=history.state?.[w],q||(q=J=Date.now(),history.replaceState({...history.state,[C]:q,[w]:J},``));let r=I[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await zt(Ge,n)):(await Z({type:`enter`,url:be(V.hash?Gt(new URL(location.href)):location.href),replace_state:!0}),i()),Rt()}function ut(){Je.length=0,it=!1}function dt(e){Ye.some(e=>e?.snapshot)&&(L[e]=Ye.map(e=>e?.snapshot?.capture()))}function ft(e){L[e]?.forEach((e,t)=>{Ye[t]?.snapshot?.restore(e)})}function pt(){ze(q),fe(ve,I),dt(J),fe(_e,L)}async function mt(e,n,r,i){let a,o;n.invalidateAll&&Xe(),await Z({type:`goto`,url:be(e),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{if(n.invalidateAll){it=!0,a=new Set;for(let[e,t]of st)for(let[n,r]of t)r.resource?.reset(),a.add(j(e,n));o=new Set;for(let[e,t]of ct)for(let n of t.keys())o.add(j(e,n))}n.invalidate&&n.invalidate.forEach(Lt)}}),n.invalidateAll&&t().then(t).then(()=>{for(let[e,t]of st)for(let[n,{resource:r}]of t)a?.has(j(e,n))&&r.start();for(let[e,t]of ct)for(let[n,{resource:r}]of t)o?.has(j(e,n))&&r.reconnect()})}async function ht(e){if(e.id!==H?.id){Xe();let t={};ot.add(t),H={id:e.id,token:t,promise:Tt({...e,preload:t}).then(e=>(ot.delete(t),e.type===`loaded`&&e.state.error&&Xe(),e)),fork:null}}return H.promise}async function gt(e){let t=(await X(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function _t(e,t,n){let r={params:W.params,route:{id:W.route?.id??null},url:new URL(location.href)};if(W={...e.state,nav:r},Fe(e.props.page),at=new V.root({target:t,props:{...e.props,stores:R,components:Ye},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:I[q]??D()},willUnload:!1,type:`enter`,complete:Promise.resolve()};U.forEach(t=>t(e))}ft(J),tt=!0}async function vt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(S&&(e.pathname===S||e.pathname===S+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=d(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Ae(n).map(e=>e.node.component),page:Wt(M)}};s!==void 0&&(l.props.form=s);let u={},f=!M,p=0;for(let e=0;e<Math.max(n.length,W.branch.length);e+=1){let t=n[e],r=W.branch[e];t?.data!==r?.data&&(f=!0),t&&(u={...u,...t.data},f&&(l.props[`data_${p}`]=u),p+=1)}return(!W.url||e.href!==W.url.href||W.error!==a||s!==void 0&&s!==M.form||f)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:f?u:M.data}),l}async function yt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function bt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:tt?y(r,i.href,t):te(r,t)}}function xt(e,t,n,r,i,a){if(it)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==W.params[e])return!0;for(let e of i.dependencies)if(Je.some(t=>t(new URL(e))))return!0;return!1}function St(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Ct(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function wt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Wt(M),constructors:[]}}}async function Tt({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(H?.id===e)return ot.delete(H.token),H.promise;let{errors:o,layouts:s,leaf:u}=i,d=[...s,u];o.forEach(e=>e?.().catch(h)),d.forEach(e=>e?.[1]().catch(h));let f=W.url?e!==At(W.url):!1,p=W.route?i.id!==W.route.id:!1,m=Ct(W.url,n),ee=!1,g=d.map(async(e,t)=>{if(!e)return;let a=W.branch[t];return e[1]===a?.loader&&!xt(ee,p,f,m,a.universal?.uses,r)?a:(ee=!0,yt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await g[n])?.data);return e},server_data_node:St(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of g)e.catch(h);let _=[];for(let e=0;e<d.length;e+=1)if(d[e])try{_.push(await g[e])}catch(t){if(t instanceof l)return{type:`redirect`,location:t.location};if(a&&ot.has(a))return wt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=je(t),u;if(t instanceof c)u=t.body;else{if(await R.updated.check())return await Ve(),await z(n);u=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await Et(e,_,o);return d?vt({url:n,params:r,branch:_.slice(0,d.idx).concat(d.node),errors:o,status:s,error:u,route:i}):await Mt(n,{id:i.id},u,s)}else _.push(void 0);return vt({url:n,params:r,branch:_,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Et(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Dt({status:e,error:t,url:n,route:r}){let i={};try{return vt({url:n,params:i,branch:[await yt({loader:Ue,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:St(null)}),{node:await We(),loader:We,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof l){await mt(new URL(t.location,location.href),{},0);return}let a=await V.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function Ot(e){let t=e.href;if(Ze.has(t))return Ze.get(t);let n;try{let r=(async()=>{let t=await V.hooks.reroute({url:new URL(e),fetch:async(t,n)=>bt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);V.hash?n.hash=t:n.pathname=t,t=n}return t})();Ze.set(t,r),n=await r}catch{Ze.delete(t);return}return n}async function X(e,t){if(e&&!A(e,S,V.hash)){let n=await Ot(e);if(!n)return;let r=kt(n);for(let n of He){let i=n.exec(r);if(i)return{id:At(e),invalidating:t,route:n,params:p(i),url:e}}}}function kt(e){return f(V.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(S.length))||`/`}function At(e){return(V.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function jt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Ut(W,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return G||Qe.forEach(e=>e(c)),o?null:s}async function Z({type:n,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:d={},accept:f=h,block:p=h,event:m}){let ee=Y;Y=d;let g=await X(r,!1),_=n===`enter`?Ut(W,g,r,n):jt({url:r,type:n,delta:i?.delta,intent:g,scroll:i?.scroll,event:m});if(!_){p(),Y===d&&(Y=ee);return}let v=q,te=J;f(),G=!0,tt&&_.navigation.type!==`enter`&&R.navigating.set(N.current=_.navigation);let y=g&&await Tt(g);if(!y){if(A(r,S,V.hash))return await z(r,s);y=await Mt(r,{id:null},await $(new u(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=g?.url||r,Y!==d){_.reject(Error(`navigation aborted`));return}if(!y)return;if(y.type===`redirect`){if(l<20){await Z({type:n,url:new URL(y.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:d}),_.fulfil(void 0);return}if(y=await Dt({status:500,error:await $(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}}),!y)return}else if(y.props.page.status>=400&&await R.updated.check())return await Ve(),await z(r,s);if(ut(),ze(v),dt(te),y.props.page.url.pathname!==r.pathname&&(r.pathname=y.props.page.url.pathname),c=i?i.state:c,!i){let e=+!s,t={[C]:q+=e,[w]:J+=e,[ye]:c};(s?history.replaceState:history.pushState).call(history,t,``,r),s||Be(q,J)}let b=g&&H?.id===g.id?H.fork:null;H?.fork&&!b?Xe():(H=null,Q={element:void 0,href:void 0}),y.props.page.state=c;let ne;if(tt){let t=(await Promise.all(Array.from($e,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(t.length>0){function e(){t.forEach(e=>{U.delete(e)})}t.push(e),t.forEach(e=>{U.add(e)})}let n=_.navigation.to;W={...y.state,nav:{params:n.params,route:n.route,url:n.url}},y.props.page&&(y.props.page.url=r),!a&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let i=b&&await b;i?ne=i.commit():(F=null,at.$set(y.props),F&&Object.assign(y.props.page,F),Fe(y.props.page),ne=e?.()),rt=!0}else await _t(y,Ge,!1);let{activeElement:re}=document;if(await ne,await t(),await t(),Y!==d){_.reject(Error(`navigation aborted`));return}y.props.page&&F&&Object.assign(y.props.page,F);let x=null;if(nt){let e=i?i.scroll:o?D():null;e?scrollTo(e.x,e.y):(x=r.hash&&document.getElementById(Kt(r)))?x.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==re&&document.activeElement!==document.body;!a&&!ie&&Ht(r,!x),nt=!0,G=!1,_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=D()),U.forEach(e=>e(_.navigation)),n===`popstate`&&ft(J),R.navigating.set(N.current=null)}async function Mt(e,t,n,r,i){return e.origin===E&&e.pathname===location.pathname&&!et?await Dt({status:r,error:n,url:e,route:t}):await z(e,i)}var Q={element:void 0,href:void 0};function Nt(){let e,t;B.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,T.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],T.tap)}B.addEventListener(`mousedown`,n),B.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(gt(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Ce(e,B),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=we(r,S,V.hash);if(o||s)return;let c=k(r),l=a&&At(W.url)===At(a);if(!(c.reload||l))if(n<=c.preload_data){Q={element:r,href:r.href},t=T.tap;let e=await X(a,!1);if(!e)return;ht(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,gt(a))}function a(){r.disconnect();for(let e of B.querySelectorAll(`a`)){let{url:t,external:n,download:i}=we(e,S,V.hash);if(n||i)continue;let a=k(e);a.reload||(a.preload_code===T.viewport&&r.observe(e),a.preload_code===T.eager&&gt(t))}}U.add(a),a()}function $(e,t){if(e instanceof c)return e.body;let n=je(e),r=Me(e);return V.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Pt(e,t){Ie(()=>(e.add(t),()=>{e.delete(t)}))}function Ft(e){Pt(U,e)}function It(e,t={}){return e=new URL(be(e)),e.origin===E?mt(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Lt(e){if(typeof e==`function`)Je.push(e);else{let{href:t}=new URL(e,location.href);Je.push(e=>e.href===t)}}function Rt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(pt(),!G){let e=Ut(W,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};Qe.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&pt()}),navigator.connection?.saveData||Nt(),B.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ce(t.composedPath()[0],B);if(!n)return;let{url:r,external:i,target:a,download:o}=we(n,S,V.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=k(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(V.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){jt({url:r,type:`link`,event:t})?G=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=W.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(K=!0,ze(q),e(r),!s.replace_state)return;K=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),B.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(A(r,S,!1))return;let i=e.target,a=k(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Vt)if(t.state?.[`sveltekit:history`]){let n=t.state[C];if(Y={},n===q)return;let r=I[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[w],s=W.url?m(location)===m(W.url):!1;if(o===J&&(rt||s)){i!==M.state&&(M.state=i),e(a),I[q]=D(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else K||(e(new URL(location.href)),V.hash&&location.reload())}),addEventListener(`hashchange`,()=>{K&&(K=!1,history.replaceState({...history.state,[C]:++q,[w]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))Re.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&R.navigating.set(N.current=null)});function e(e){W.url=M.url=e,R.page.set(Wt(M)),R.page.notify()}}async function zt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){et=!0;let u=new URL(location.href),d;({params:i={},route:a={id:null}}=await X(u,!1)||{}),d=He.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Bt(r.uses)),yt({loader:V.nodes[t],url:u,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:St(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await vt({url:u,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof l)return await z(new URL(t.location,location.href));f=await Dt({status:je(t),error:await $(t,{url:u,params:i,route:a}),url:u,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await _t(f,e,p))}function Bt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Vt=!1;function Ht(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Kt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=D();setTimeout(()=>{let a=history.state;Vt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Vt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Ut(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(h),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:D()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Wt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Gt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Kt(e){let t;if(V.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{N as a,Oe as c,R as i,he as l,It as n,M as o,lt as r,P as s,Ft as t};