@getontime/cli 4.0.0-beta.5 → 4.0.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 (366) hide show
  1. package/client/assets/Backstage-ZSqb8OU6.js +2 -0
  2. package/client/assets/Backstage-ZSqb8OU6.js.br +0 -0
  3. package/client/assets/Backstage-ZSqb8OU6.js.gz +0 -0
  4. package/client/assets/Backstage-ZSqb8OU6.js.map +1 -0
  5. package/client/assets/Countdown-DVRZbeRP.js +2 -0
  6. package/client/assets/Countdown-DVRZbeRP.js.br +0 -0
  7. package/client/assets/Countdown-DVRZbeRP.js.gz +0 -0
  8. package/client/assets/{Countdown-BaaR4j9x.js.map → Countdown-DVRZbeRP.js.map} +1 -1
  9. package/client/assets/CustomTranslationModal-D_Cy0d_H.js +2 -0
  10. package/client/assets/CustomTranslationModal-D_Cy0d_H.js.br +0 -0
  11. package/client/assets/CustomTranslationModal-D_Cy0d_H.js.gz +0 -0
  12. package/client/assets/{CustomTranslationModal-CcNNjbmZ.js.map → CustomTranslationModal-D_Cy0d_H.js.map} +1 -1
  13. package/client/assets/{DelayIndicator-DXDACqpc.js → DelayIndicator-B_JKLKYW.js} +2 -2
  14. package/client/assets/DelayIndicator-B_JKLKYW.js.br +0 -0
  15. package/client/assets/DelayIndicator-B_JKLKYW.js.gz +0 -0
  16. package/client/assets/{DelayIndicator-DXDACqpc.js.map → DelayIndicator-B_JKLKYW.js.map} +1 -1
  17. package/client/assets/{EditorFeatureWrapper-CX6wzTmM.js → EditorFeatureWrapper-DzBxDvRn.js} +2 -2
  18. package/client/assets/EditorFeatureWrapper-DzBxDvRn.js.br +0 -0
  19. package/client/assets/EditorFeatureWrapper-DzBxDvRn.js.gz +0 -0
  20. package/client/assets/{EditorFeatureWrapper-CX6wzTmM.js.map → EditorFeatureWrapper-DzBxDvRn.js.map} +1 -1
  21. package/client/assets/{EditorUtils-DxjFOwpn.js → EditorUtils-De0umjb-.js} +2 -2
  22. package/client/assets/EditorUtils-De0umjb-.js.br +0 -0
  23. package/client/assets/EditorUtils-De0umjb-.js.gz +0 -0
  24. package/client/assets/{EditorUtils-DxjFOwpn.js.map → EditorUtils-De0umjb-.js.map} +1 -1
  25. package/client/assets/{Empty-DiBXyIA8.js → Empty-BYF0tVRk.js} +2 -2
  26. package/client/assets/Empty-BYF0tVRk.js.br +2 -0
  27. package/client/assets/Empty-BYF0tVRk.js.gz +0 -0
  28. package/client/assets/{Empty-DiBXyIA8.js.map → Empty-BYF0tVRk.js.map} +1 -1
  29. package/client/assets/{EmptyPage-X6EO1Y5W.js → EmptyPage-DYH2bswA.js} +2 -2
  30. package/client/assets/EmptyPage-DYH2bswA.js.br +0 -0
  31. package/client/assets/EmptyPage-DYH2bswA.js.gz +0 -0
  32. package/client/assets/{EmptyPage-X6EO1Y5W.js.map → EmptyPage-DYH2bswA.js.map} +1 -1
  33. package/client/assets/{FollowButton-Cr-HA2-6.js → FollowButton-DyWsvyFF.js} +2 -2
  34. package/client/assets/FollowButton-DyWsvyFF.js.br +0 -0
  35. package/client/assets/FollowButton-DyWsvyFF.js.gz +0 -0
  36. package/client/assets/{FollowButton-Cr-HA2-6.js.map → FollowButton-DyWsvyFF.js.map} +1 -1
  37. package/client/assets/{MessageControlExport-VUkIayAJ.js → MessageControlExport-yLGU2dMq.js} +2 -2
  38. package/client/assets/MessageControlExport-yLGU2dMq.js.br +0 -0
  39. package/client/assets/MessageControlExport-yLGU2dMq.js.gz +0 -0
  40. package/client/assets/{MessageControlExport-VUkIayAJ.js.map → MessageControlExport-yLGU2dMq.js.map} +1 -1
  41. package/client/assets/MilestoneEditor-GkzJ-h1C.js +2 -0
  42. package/client/assets/MilestoneEditor-GkzJ-h1C.js.br +0 -0
  43. package/client/assets/MilestoneEditor-GkzJ-h1C.js.gz +0 -0
  44. package/client/assets/{MilestoneEditor-Da8oxrHI.js.map → MilestoneEditor-GkzJ-h1C.js.map} +1 -1
  45. package/client/assets/Modal-BKL-5GzU.js +2 -0
  46. package/client/assets/Modal-BKL-5GzU.js.br +0 -0
  47. package/client/assets/Modal-BKL-5GzU.js.gz +0 -0
  48. package/client/assets/Modal-BKL-5GzU.js.map +1 -0
  49. package/client/assets/Modal-BgJx3SNK.css +1 -0
  50. package/client/assets/Modal-BgJx3SNK.css.br +0 -0
  51. package/client/assets/Modal-BgJx3SNK.css.gz +0 -0
  52. package/client/assets/{MultiPartProgressBar-mGPuP1Wd.js → MultiPartProgressBar-BITERKS0.js} +2 -2
  53. package/client/assets/MultiPartProgressBar-BITERKS0.js.br +0 -0
  54. package/client/assets/MultiPartProgressBar-BITERKS0.js.gz +0 -0
  55. package/client/assets/{MultiPartProgressBar-mGPuP1Wd.js.map → MultiPartProgressBar-BITERKS0.js.map} +1 -1
  56. package/client/assets/OperatorExport-DMZ6eQfT.js +2 -0
  57. package/client/assets/OperatorExport-DMZ6eQfT.js.br +0 -0
  58. package/client/assets/OperatorExport-DMZ6eQfT.js.gz +0 -0
  59. package/client/assets/OperatorExport-DMZ6eQfT.js.map +1 -0
  60. package/client/assets/{OverviewWrapper-BMuW_wiO.js → OverviewWrapper-riM6vPno.js} +2 -2
  61. package/client/assets/OverviewWrapper-riM6vPno.js.br +0 -0
  62. package/client/assets/OverviewWrapper-riM6vPno.js.gz +0 -0
  63. package/client/assets/{OverviewWrapper-BMuW_wiO.js.map → OverviewWrapper-riM6vPno.js.map} +1 -1
  64. package/client/assets/{ProjectInfo-BYi1lzPk.js → ProjectInfo-DxtMq70a.js} +2 -2
  65. package/client/assets/ProjectInfo-DxtMq70a.js.br +0 -0
  66. package/client/assets/ProjectInfo-DxtMq70a.js.gz +0 -0
  67. package/client/assets/{ProjectInfo-BYi1lzPk.js.map → ProjectInfo-DxtMq70a.js.map} +1 -1
  68. package/client/assets/{ProtectRoute-DnUCrlh6.js → ProtectRoute-p1fmtLeu.js} +2 -2
  69. package/client/assets/ProtectRoute-p1fmtLeu.js.br +0 -0
  70. package/client/assets/ProtectRoute-p1fmtLeu.js.gz +0 -0
  71. package/client/assets/{ProtectRoute-DnUCrlh6.js.map → ProtectRoute-p1fmtLeu.js.map} +1 -1
  72. package/client/assets/ProtectedCuesheet-CvRnqT0z.js +2 -0
  73. package/client/assets/ProtectedCuesheet-CvRnqT0z.js.br +0 -0
  74. package/client/assets/ProtectedCuesheet-CvRnqT0z.js.gz +0 -0
  75. package/client/assets/ProtectedCuesheet-CvRnqT0z.js.map +1 -0
  76. package/client/assets/ProtectedEditor-BoiAT_IR.css +1 -0
  77. package/client/assets/ProtectedEditor-BoiAT_IR.css.br +0 -0
  78. package/client/assets/ProtectedEditor-BoiAT_IR.css.gz +0 -0
  79. package/client/assets/ProtectedEditor-D4UXj1xL.js +3 -0
  80. package/client/assets/ProtectedEditor-D4UXj1xL.js.br +0 -0
  81. package/client/assets/ProtectedEditor-D4UXj1xL.js.gz +0 -0
  82. package/client/assets/ProtectedEditor-D4UXj1xL.js.map +1 -0
  83. package/client/assets/RundownEntry-B1dSz1wu.js +2 -0
  84. package/client/assets/RundownEntry-B1dSz1wu.js.br +0 -0
  85. package/client/assets/RundownEntry-B1dSz1wu.js.gz +0 -0
  86. package/client/assets/{RundownEntry-Dl4Cb_pZ.js.map → RundownEntry-B1dSz1wu.js.map} +1 -1
  87. package/client/assets/RundownExport-WjLpncYT.js +3 -0
  88. package/client/assets/RundownExport-WjLpncYT.js.br +0 -0
  89. package/client/assets/RundownExport-WjLpncYT.js.gz +0 -0
  90. package/client/assets/{RundownExport-BPDLhvsM.js.map → RundownExport-WjLpncYT.js.map} +1 -1
  91. package/client/assets/{Select-CUjlJirY.js → Select-niU9Razm.js} +2 -2
  92. package/client/assets/Select-niU9Razm.js.br +0 -0
  93. package/client/assets/Select-niU9Razm.js.gz +0 -0
  94. package/client/assets/{Select-CUjlJirY.js.map → Select-niU9Razm.js.map} +1 -1
  95. package/client/assets/Studio-CWdJq4bx.js +2 -0
  96. package/client/assets/Studio-CWdJq4bx.js.br +0 -0
  97. package/client/assets/Studio-CWdJq4bx.js.gz +0 -0
  98. package/client/assets/{Studio-BLCIas53.js.map → Studio-CWdJq4bx.js.map} +1 -1
  99. package/client/assets/{StyleEditor-DTNiR-0P.js → StyleEditor-BIFjHsgD.js} +2 -2
  100. package/client/assets/StyleEditor-BIFjHsgD.js.br +0 -0
  101. package/client/assets/StyleEditor-BIFjHsgD.js.gz +0 -0
  102. package/client/assets/{StyleEditor-DTNiR-0P.js.map → StyleEditor-BIFjHsgD.js.map} +1 -1
  103. package/client/assets/SuperscriptTime-DCTyUARx.js +2 -0
  104. package/client/assets/SuperscriptTime-DCTyUARx.js.br +0 -0
  105. package/client/assets/SuperscriptTime-DCTyUARx.js.gz +0 -0
  106. package/client/assets/SuperscriptTime-DCTyUARx.js.map +1 -0
  107. package/client/assets/TimeElements-DBVGVx71.js +2 -0
  108. package/client/assets/TimeElements-DBVGVx71.js.br +0 -0
  109. package/client/assets/TimeElements-DBVGVx71.js.gz +0 -0
  110. package/client/assets/{TimeElements-rlwX9Mgy.js.map → TimeElements-DBVGVx71.js.map} +1 -1
  111. package/client/assets/{TimeInput-C0_Nl63x.js → TimeInput-wQ67FbW6.js} +2 -2
  112. package/client/assets/TimeInput-wQ67FbW6.js.br +0 -0
  113. package/client/assets/TimeInput-wQ67FbW6.js.gz +0 -0
  114. package/client/assets/{TimeInput-C0_Nl63x.js.map → TimeInput-wQ67FbW6.js.map} +1 -1
  115. package/client/assets/TimelinePage-DZefE2vQ.js +2 -0
  116. package/client/assets/TimelinePage-DZefE2vQ.js.br +0 -0
  117. package/client/assets/TimelinePage-DZefE2vQ.js.gz +0 -0
  118. package/client/assets/{TimelinePage-BC-pnISF.js.map → TimelinePage-DZefE2vQ.js.map} +1 -1
  119. package/client/assets/Timer-Bs450x86.js +2 -0
  120. package/client/assets/Timer-Bs450x86.js.br +0 -0
  121. package/client/assets/Timer-Bs450x86.js.gz +0 -0
  122. package/client/assets/Timer-Bs450x86.js.map +1 -0
  123. package/client/assets/{TimerControlExport-C_Jbwxog.js → TimerControlExport-C1C_vBX4.js} +2 -2
  124. package/client/assets/TimerControlExport-C1C_vBX4.js.br +0 -0
  125. package/client/assets/TimerControlExport-C1C_vBX4.js.gz +0 -0
  126. package/client/assets/{TimerControlExport-C_Jbwxog.js.map → TimerControlExport-C1C_vBX4.js.map} +1 -1
  127. package/client/assets/{TitleCard-C-Tw72nZ.js → TitleCard-B4N-kCM3.js} +2 -2
  128. package/client/assets/TitleCard-B4N-kCM3.js.br +0 -0
  129. package/client/assets/TitleCard-B4N-kCM3.js.gz +0 -0
  130. package/client/assets/{TitleCard-C-Tw72nZ.js.map → TitleCard-B4N-kCM3.js.map} +1 -1
  131. package/client/assets/{Tooltip-BZrLdTBU.js → Tooltip-DJ8Y4CO4.js} +2 -2
  132. package/client/assets/Tooltip-DJ8Y4CO4.js.br +0 -0
  133. package/client/assets/Tooltip-DJ8Y4CO4.js.gz +0 -0
  134. package/client/assets/{Tooltip-BZrLdTBU.js.map → Tooltip-DJ8Y4CO4.js.map} +1 -1
  135. package/client/assets/{ViewLogo-CdsW41HC.js → ViewLogo-Dd60EREE.js} +2 -2
  136. package/client/assets/ViewLogo-Dd60EREE.js.br +0 -0
  137. package/client/assets/ViewLogo-Dd60EREE.js.gz +0 -0
  138. package/client/assets/{ViewLogo-CdsW41HC.js.map → ViewLogo-Dd60EREE.js.map} +1 -1
  139. package/client/assets/{ViewParamsEditor-kNKEOAwm.css → ViewParamsEditor-1Ok39npF.css} +1 -1
  140. package/client/assets/ViewParamsEditor-1Ok39npF.css.br +0 -0
  141. package/client/assets/ViewParamsEditor-1Ok39npF.css.gz +0 -0
  142. package/client/assets/{ViewParamsEditor-YoYxps2g.js → ViewParamsEditor-BWEYbq_S.js} +2 -2
  143. package/client/assets/ViewParamsEditor-BWEYbq_S.js.br +0 -0
  144. package/client/assets/ViewParamsEditor-BWEYbq_S.js.gz +0 -0
  145. package/client/assets/{ViewParamsEditor-YoYxps2g.js.map → ViewParamsEditor-BWEYbq_S.js.map} +1 -1
  146. package/client/assets/{dateConfig-CqC6Ta_8.js → dateConfig-8rhb0Dbh.js} +2 -2
  147. package/client/assets/dateConfig-8rhb0Dbh.js.br +0 -0
  148. package/client/assets/dateConfig-8rhb0Dbh.js.gz +0 -0
  149. package/client/assets/{dateConfig-CqC6Ta_8.js.map → dateConfig-8rhb0Dbh.js.map} +1 -1
  150. package/client/assets/{editorSettings-CL1TjKzU.js → editorSettings-LMnfWux6.js} +2 -2
  151. package/client/assets/editorSettings-LMnfWux6.js.br +0 -0
  152. package/client/assets/editorSettings-LMnfWux6.js.gz +0 -0
  153. package/client/assets/{editorSettings-CL1TjKzU.js.map → editorSettings-LMnfWux6.js.map} +1 -1
  154. package/client/assets/{getProgress-Dh-Yy44B.js → getProgress-CyJTu6f5.js} +2 -2
  155. package/client/assets/getProgress-CyJTu6f5.js.br +0 -0
  156. package/client/assets/getProgress-CyJTu6f5.js.gz +0 -0
  157. package/client/assets/{getProgress-Dh-Yy44B.js.map → getProgress-CyJTu6f5.js.map} +1 -1
  158. package/client/assets/index-5QAOtSTh.js +3 -0
  159. package/client/assets/index-5QAOtSTh.js.br +0 -0
  160. package/client/assets/index-5QAOtSTh.js.gz +0 -0
  161. package/client/assets/index-5QAOtSTh.js.map +1 -0
  162. package/client/assets/{index-pvMSlFrO.css → index-De0uf0Ta.css} +1 -1
  163. package/client/assets/index-De0uf0Ta.css.br +0 -0
  164. package/client/assets/index-De0uf0Ta.css.gz +0 -0
  165. package/client/assets/{offset-BnfjZ6JI.js → offset-CLDSqOP5.js} +2 -2
  166. package/client/assets/offset-CLDSqOP5.js.br +0 -0
  167. package/client/assets/offset-CLDSqOP5.js.gz +0 -0
  168. package/client/assets/{offset-BnfjZ6JI.js.map → offset-CLDSqOP5.js.map} +1 -1
  169. package/client/assets/{parseUserTime-DNXIMX9s.js → parseUserTime-CCDHpp7D.js} +2 -2
  170. package/client/assets/parseUserTime-CCDHpp7D.js.br +0 -0
  171. package/client/assets/parseUserTime-CCDHpp7D.js.gz +0 -0
  172. package/client/assets/{parseUserTime-DNXIMX9s.js.map → parseUserTime-CCDHpp7D.js.map} +1 -1
  173. package/client/assets/{playbackstate-DzSEaiNW.js → playbackstate-6lBh6omZ.js} +2 -2
  174. package/client/assets/playbackstate-6lBh6omZ.js.br +0 -0
  175. package/client/assets/playbackstate-6lBh6omZ.js.gz +0 -0
  176. package/client/assets/{playbackstate-DzSEaiNW.js.map → playbackstate-6lBh6omZ.js.map} +1 -1
  177. package/client/assets/{presentation.utils-BfcniGcl.js → presentation.utils-BUIuV_2e.js} +2 -2
  178. package/client/assets/presentation.utils-BUIuV_2e.js.br +0 -0
  179. package/client/assets/presentation.utils-BUIuV_2e.js.gz +0 -0
  180. package/client/assets/{presentation.utils-BfcniGcl.js.map → presentation.utils-BUIuV_2e.js.map} +1 -1
  181. package/client/assets/{rundownUtils-CPBsEZ2m.js → rundownUtils-Cnd2prRX.js} +2 -2
  182. package/client/assets/rundownUtils-Cnd2prRX.js.br +0 -0
  183. package/client/assets/rundownUtils-Cnd2prRX.js.gz +0 -0
  184. package/client/assets/{rundownUtils-CPBsEZ2m.js.map → rundownUtils-Cnd2prRX.js.map} +1 -1
  185. package/client/assets/{useCustomFields-DY13Ir96.js → useCustomFields-BuxKsqGS.js} +2 -2
  186. package/client/assets/useCustomFields-BuxKsqGS.js.br +0 -0
  187. package/client/assets/useCustomFields-BuxKsqGS.js.gz +0 -0
  188. package/client/assets/{useCustomFields-DY13Ir96.js.map → useCustomFields-BuxKsqGS.js.map} +1 -1
  189. package/client/assets/{useFollowComponent-C42-1XCu.js → useFollowComponent-iGQv4zoS.js} +2 -2
  190. package/client/assets/useFollowComponent-iGQv4zoS.js.br +0 -0
  191. package/client/assets/useFollowComponent-iGQv4zoS.js.gz +0 -0
  192. package/client/assets/{useFollowComponent-C42-1XCu.js.map → useFollowComponent-iGQv4zoS.js.map} +1 -1
  193. package/client/assets/{useProjectData-BF2F6qPB.js → useProjectData-CetvEK9E.js} +2 -2
  194. package/client/assets/useProjectData-CetvEK9E.js.br +0 -0
  195. package/client/assets/useProjectData-CetvEK9E.js.gz +0 -0
  196. package/client/assets/{useProjectData-BF2F6qPB.js.map → useProjectData-CetvEK9E.js.map} +1 -1
  197. package/client/assets/useReport-PEFRsOhF.js +2 -0
  198. package/client/assets/useReport-PEFRsOhF.js.br +0 -0
  199. package/client/assets/useReport-PEFRsOhF.js.gz +0 -0
  200. package/client/assets/{useReport-DPqY9XXp.js.map → useReport-PEFRsOhF.js.map} +1 -1
  201. package/client/assets/{useRundown-uuXixjnX.js → useRundown-D8CYATNi.js} +2 -2
  202. package/client/assets/useRundown-D8CYATNi.js.br +0 -0
  203. package/client/assets/useRundown-D8CYATNi.js.gz +0 -0
  204. package/client/assets/{useRundown-uuXixjnX.js.map → useRundown-D8CYATNi.js.map} +1 -1
  205. package/client/assets/{useWindowTitle-BQ1kqXfk.js → useWindowTitle-b5fN0StF.js} +2 -2
  206. package/client/assets/useWindowTitle-b5fN0StF.js.br +0 -0
  207. package/client/assets/useWindowTitle-b5fN0StF.js.gz +0 -0
  208. package/client/assets/{useWindowTitle-BQ1kqXfk.js.map → useWindowTitle-b5fN0StF.js.map} +1 -1
  209. package/client/assets/{validateEvent-Cy-jEiwB.js → validateEvent-Bvgk1E-Y.js} +2 -2
  210. package/client/assets/validateEvent-Bvgk1E-Y.js.br +0 -0
  211. package/client/assets/validateEvent-Bvgk1E-Y.js.gz +0 -0
  212. package/client/assets/{validateEvent-Cy-jEiwB.js.map → validateEvent-Bvgk1E-Y.js.map} +1 -1
  213. package/client/assets/{vendor-Cnciq4o_.js → vendor-Cu5xgv5K.js} +3 -3
  214. package/client/assets/vendor-Cu5xgv5K.js.br +0 -0
  215. package/client/assets/vendor-Cu5xgv5K.js.gz +0 -0
  216. package/client/assets/{vendor-Cnciq4o_.js.map → vendor-Cu5xgv5K.js.map} +1 -1
  217. package/client/assets/{common.options-p5f_zJ2-.js → viewLoader.utils-BPhACxyG.js} +2 -2
  218. package/client/assets/viewLoader.utils-BPhACxyG.js.br +0 -0
  219. package/client/assets/viewLoader.utils-BPhACxyG.js.gz +0 -0
  220. package/client/assets/viewLoader.utils-BPhACxyG.js.map +1 -0
  221. package/client/index.html +3 -3
  222. package/package.json +1 -1
  223. package/server/index.cjs +103 -103
  224. package/client/assets/Backstage-B-_iTDRg.js +0 -2
  225. package/client/assets/Backstage-B-_iTDRg.js.br +0 -0
  226. package/client/assets/Backstage-B-_iTDRg.js.gz +0 -0
  227. package/client/assets/Backstage-B-_iTDRg.js.map +0 -1
  228. package/client/assets/Countdown-BaaR4j9x.js +0 -2
  229. package/client/assets/Countdown-BaaR4j9x.js.br +0 -0
  230. package/client/assets/Countdown-BaaR4j9x.js.gz +0 -0
  231. package/client/assets/CustomTranslationModal-CcNNjbmZ.js +0 -2
  232. package/client/assets/CustomTranslationModal-CcNNjbmZ.js.br +0 -0
  233. package/client/assets/CustomTranslationModal-CcNNjbmZ.js.gz +0 -0
  234. package/client/assets/DelayIndicator-DXDACqpc.js.br +0 -0
  235. package/client/assets/DelayIndicator-DXDACqpc.js.gz +0 -0
  236. package/client/assets/DropdownMenu-Bn0VHzKx.js +0 -2
  237. package/client/assets/DropdownMenu-Bn0VHzKx.js.br +0 -0
  238. package/client/assets/DropdownMenu-Bn0VHzKx.js.gz +0 -0
  239. package/client/assets/DropdownMenu-Bn0VHzKx.js.map +0 -1
  240. package/client/assets/DropdownMenu-ByBDeesm.css +0 -1
  241. package/client/assets/DropdownMenu-ByBDeesm.css.br +0 -0
  242. package/client/assets/DropdownMenu-ByBDeesm.css.gz +0 -0
  243. package/client/assets/EditorFeatureWrapper-CX6wzTmM.js.br +0 -0
  244. package/client/assets/EditorFeatureWrapper-CX6wzTmM.js.gz +0 -0
  245. package/client/assets/EditorUtils-DxjFOwpn.js.br +0 -0
  246. package/client/assets/EditorUtils-DxjFOwpn.js.gz +0 -0
  247. package/client/assets/Empty-DiBXyIA8.js.br +0 -2
  248. package/client/assets/Empty-DiBXyIA8.js.gz +0 -0
  249. package/client/assets/EmptyPage-X6EO1Y5W.js.br +0 -0
  250. package/client/assets/EmptyPage-X6EO1Y5W.js.gz +0 -0
  251. package/client/assets/FollowButton-Cr-HA2-6.js.br +0 -0
  252. package/client/assets/FollowButton-Cr-HA2-6.js.gz +0 -0
  253. package/client/assets/MessageControlExport-VUkIayAJ.js.br +0 -0
  254. package/client/assets/MessageControlExport-VUkIayAJ.js.gz +0 -0
  255. package/client/assets/MilestoneEditor-Da8oxrHI.js +0 -2
  256. package/client/assets/MilestoneEditor-Da8oxrHI.js.br +0 -0
  257. package/client/assets/MilestoneEditor-Da8oxrHI.js.gz +0 -0
  258. package/client/assets/MultiPartProgressBar-mGPuP1Wd.js.br +0 -0
  259. package/client/assets/MultiPartProgressBar-mGPuP1Wd.js.gz +0 -0
  260. package/client/assets/OperatorExport-BeuWuV6I.js +0 -2
  261. package/client/assets/OperatorExport-BeuWuV6I.js.br +0 -0
  262. package/client/assets/OperatorExport-BeuWuV6I.js.gz +0 -0
  263. package/client/assets/OperatorExport-BeuWuV6I.js.map +0 -1
  264. package/client/assets/OverviewWrapper-BMuW_wiO.js.br +0 -0
  265. package/client/assets/OverviewWrapper-BMuW_wiO.js.gz +0 -0
  266. package/client/assets/ProjectInfo-BYi1lzPk.js.br +0 -0
  267. package/client/assets/ProjectInfo-BYi1lzPk.js.gz +0 -0
  268. package/client/assets/ProtectRoute-DnUCrlh6.js.br +0 -0
  269. package/client/assets/ProtectRoute-DnUCrlh6.js.gz +0 -0
  270. package/client/assets/ProtectedCuesheet-CQOB7ipQ.js +0 -2
  271. package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.br +0 -0
  272. package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.gz +0 -0
  273. package/client/assets/ProtectedCuesheet-CQOB7ipQ.js.map +0 -1
  274. package/client/assets/ProtectedEditor-C4beOxz1.css +0 -1
  275. package/client/assets/ProtectedEditor-C4beOxz1.css.br +0 -0
  276. package/client/assets/ProtectedEditor-C4beOxz1.css.gz +0 -0
  277. package/client/assets/ProtectedEditor-KcsoZKKo.js +0 -3
  278. package/client/assets/ProtectedEditor-KcsoZKKo.js.br +0 -0
  279. package/client/assets/ProtectedEditor-KcsoZKKo.js.gz +0 -0
  280. package/client/assets/ProtectedEditor-KcsoZKKo.js.map +0 -1
  281. package/client/assets/RundownEntry-Dl4Cb_pZ.js +0 -2
  282. package/client/assets/RundownEntry-Dl4Cb_pZ.js.br +0 -0
  283. package/client/assets/RundownEntry-Dl4Cb_pZ.js.gz +0 -0
  284. package/client/assets/RundownExport-BPDLhvsM.js +0 -3
  285. package/client/assets/RundownExport-BPDLhvsM.js.br +0 -0
  286. package/client/assets/RundownExport-BPDLhvsM.js.gz +0 -0
  287. package/client/assets/Select-CUjlJirY.js.br +0 -0
  288. package/client/assets/Select-CUjlJirY.js.gz +0 -0
  289. package/client/assets/Studio-BLCIas53.js +0 -2
  290. package/client/assets/Studio-BLCIas53.js.br +0 -0
  291. package/client/assets/Studio-BLCIas53.js.gz +0 -0
  292. package/client/assets/StyleEditor-DTNiR-0P.js.br +0 -0
  293. package/client/assets/StyleEditor-DTNiR-0P.js.gz +0 -0
  294. package/client/assets/TimeElements-rlwX9Mgy.js +0 -2
  295. package/client/assets/TimeElements-rlwX9Mgy.js.br +0 -0
  296. package/client/assets/TimeElements-rlwX9Mgy.js.gz +0 -0
  297. package/client/assets/TimeInput-C0_Nl63x.js.br +0 -0
  298. package/client/assets/TimeInput-C0_Nl63x.js.gz +0 -0
  299. package/client/assets/TimelinePage-BC-pnISF.js +0 -2
  300. package/client/assets/TimelinePage-BC-pnISF.js.br +0 -0
  301. package/client/assets/TimelinePage-BC-pnISF.js.gz +0 -0
  302. package/client/assets/Timer-DgmA0De-.js +0 -2
  303. package/client/assets/Timer-DgmA0De-.js.br +0 -0
  304. package/client/assets/Timer-DgmA0De-.js.gz +0 -0
  305. package/client/assets/Timer-DgmA0De-.js.map +0 -1
  306. package/client/assets/TimerControlExport-C_Jbwxog.js.br +0 -0
  307. package/client/assets/TimerControlExport-C_Jbwxog.js.gz +0 -0
  308. package/client/assets/TitleCard-C-Tw72nZ.js.br +0 -0
  309. package/client/assets/TitleCard-C-Tw72nZ.js.gz +0 -0
  310. package/client/assets/Tooltip-BZrLdTBU.js.br +0 -0
  311. package/client/assets/Tooltip-BZrLdTBU.js.gz +0 -0
  312. package/client/assets/ViewLogo-CdsW41HC.js.br +0 -0
  313. package/client/assets/ViewLogo-CdsW41HC.js.gz +0 -0
  314. package/client/assets/ViewParamsEditor-YoYxps2g.js.br +0 -0
  315. package/client/assets/ViewParamsEditor-YoYxps2g.js.gz +0 -0
  316. package/client/assets/ViewParamsEditor-kNKEOAwm.css.br +0 -0
  317. package/client/assets/ViewParamsEditor-kNKEOAwm.css.gz +0 -0
  318. package/client/assets/common.options-p5f_zJ2-.js.br +0 -0
  319. package/client/assets/common.options-p5f_zJ2-.js.gz +0 -0
  320. package/client/assets/common.options-p5f_zJ2-.js.map +0 -1
  321. package/client/assets/dateConfig-CqC6Ta_8.js.br +0 -0
  322. package/client/assets/dateConfig-CqC6Ta_8.js.gz +0 -0
  323. package/client/assets/editorSettings-CL1TjKzU.js.br +0 -0
  324. package/client/assets/editorSettings-CL1TjKzU.js.gz +0 -0
  325. package/client/assets/getProgress-Dh-Yy44B.js.br +0 -0
  326. package/client/assets/getProgress-Dh-Yy44B.js.gz +0 -0
  327. package/client/assets/index-DdPXqLQ6.js +0 -3
  328. package/client/assets/index-DdPXqLQ6.js.br +0 -0
  329. package/client/assets/index-DdPXqLQ6.js.gz +0 -0
  330. package/client/assets/index-DdPXqLQ6.js.map +0 -1
  331. package/client/assets/index-pvMSlFrO.css.br +0 -0
  332. package/client/assets/index-pvMSlFrO.css.gz +0 -0
  333. package/client/assets/offset-BnfjZ6JI.js.br +0 -2
  334. package/client/assets/offset-BnfjZ6JI.js.gz +0 -0
  335. package/client/assets/parseUserTime-DNXIMX9s.js.br +0 -0
  336. package/client/assets/parseUserTime-DNXIMX9s.js.gz +0 -0
  337. package/client/assets/playbackstate-DzSEaiNW.js.br +0 -0
  338. package/client/assets/playbackstate-DzSEaiNW.js.gz +0 -0
  339. package/client/assets/presentation.utils-BfcniGcl.js.br +0 -0
  340. package/client/assets/presentation.utils-BfcniGcl.js.gz +0 -0
  341. package/client/assets/rundownUtils-CPBsEZ2m.js.br +0 -0
  342. package/client/assets/rundownUtils-CPBsEZ2m.js.gz +0 -0
  343. package/client/assets/useCustomFields-DY13Ir96.js.br +0 -0
  344. package/client/assets/useCustomFields-DY13Ir96.js.gz +0 -0
  345. package/client/assets/useFollowComponent-C42-1XCu.js.br +0 -0
  346. package/client/assets/useFollowComponent-C42-1XCu.js.gz +0 -0
  347. package/client/assets/useProjectData-BF2F6qPB.js.br +0 -0
  348. package/client/assets/useProjectData-BF2F6qPB.js.gz +0 -0
  349. package/client/assets/useReport-DPqY9XXp.js +0 -2
  350. package/client/assets/useReport-DPqY9XXp.js.br +0 -0
  351. package/client/assets/useReport-DPqY9XXp.js.gz +0 -0
  352. package/client/assets/useRundown-uuXixjnX.js.br +0 -0
  353. package/client/assets/useRundown-uuXixjnX.js.gz +0 -0
  354. package/client/assets/useWindowTitle-BQ1kqXfk.js.br +0 -0
  355. package/client/assets/useWindowTitle-BQ1kqXfk.js.gz +0 -0
  356. package/client/assets/validateEvent-Cy-jEiwB.js.br +0 -0
  357. package/client/assets/validateEvent-Cy-jEiwB.js.gz +0 -0
  358. package/client/assets/vendor-Cnciq4o_.js.br +0 -0
  359. package/client/assets/vendor-Cnciq4o_.js.gz +0 -0
  360. package/client/assets/viewLoader.utils-CYlNKkLE.js +0 -2
  361. package/client/assets/viewLoader.utils-CYlNKkLE.js.br +0 -0
  362. package/client/assets/viewLoader.utils-CYlNKkLE.js.gz +0 -0
  363. package/client/assets/viewLoader.utils-CYlNKkLE.js.map +0 -1
  364. /package/client/assets/{viewLoader-Bk5IU6zG.css → SuperscriptTime-Bk5IU6zG.css} +0 -0
  365. /package/client/assets/{viewLoader-Bk5IU6zG.css.br → SuperscriptTime-Bk5IU6zG.css.br} +0 -0
  366. /package/client/assets/{viewLoader-Bk5IU6zG.css.gz → SuperscriptTime-Bk5IU6zG.css.gz} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useRundown-uuXixjnX.js","sources":["../../../../packages/types/src/definitions/core/OntimeEntry.ts","../../../../packages/types/src/utils/guards.ts","../../../../packages/utils/src/date-utils/checkIsNextDay.ts","../../../../packages/utils/src/date-utils/isNewLatest.ts","../../src/common/api/rundown.ts","../../src/common/utils/rundownMetadata.ts","../../src/common/hooks-query/useRundown.ts"],"sourcesContent":["import type { MaybeNumber } from '../../utils/utils.type.js';\nimport type { EndAction } from '../EndAction.type.js';\nimport type { TimerType } from '../TimerType.type.js';\nimport type { TimeStrategy } from '../TimeStrategy.type.js';\nimport type { Trigger } from './Automation.type.js';\nimport type { EntryCustomFields } from './CustomFields.type.js';\n\nexport type EntryId = string;\n\nexport enum SupportedEntry {\n Event = 'event',\n Delay = 'delay',\n Group = 'group',\n Milestone = 'milestone',\n}\n\nexport type OntimeBaseEvent = {\n type: SupportedEntry;\n id: EntryId;\n};\n\nexport type OntimeDelay = OntimeBaseEvent & {\n type: SupportedEntry.Delay;\n duration: number;\n parent: EntryId | null;\n};\n\nexport type OntimeMilestone = OntimeBaseEvent & {\n type: SupportedEntry.Milestone;\n cue: string;\n title: string;\n note: string;\n colour: string;\n custom: EntryCustomFields;\n parent: EntryId | null;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n};\n\nexport type OntimeGroup = OntimeBaseEvent & {\n type: SupportedEntry.Group;\n title: string;\n note: string;\n entries: EntryId[];\n targetDuration: MaybeNumber;\n colour: string;\n custom: EntryCustomFields;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n timeStart: MaybeNumber; // calculated at runtime\n timeEnd: MaybeNumber; // calculated at runtime\n duration: number; // calculated at runtime\n isFirstLinked: boolean; // calculated at runtime, whether the first event is linked\n};\n\nexport type OntimeEvent = OntimeBaseEvent & {\n type: SupportedEntry.Event;\n flag: boolean;\n cue: string;\n title: string;\n note: string;\n endAction: EndAction;\n timerType: TimerType;\n countToEnd: boolean;\n linkStart: boolean;\n timeStrategy: TimeStrategy;\n timeStart: number;\n timeEnd: number;\n duration: number;\n skip: boolean;\n colour: string;\n timeWarning: number;\n timeDanger: number;\n custom: EntryCustomFields;\n triggers: Trigger[];\n parent: EntryId | null;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n delay: number; // calculated at runtime\n dayOffset: number; // calculated at runtime\n gap: number; // calculated at runtime\n};\n\nexport type PlayableEvent = OntimeEvent & { skip: false };\nexport type TimeField = 'timeStart' | 'timeEnd' | 'duration';\nexport type OntimeEntry = OntimeDelay | OntimeGroup | OntimeEvent | OntimeMilestone;\n\n// we need to create a manual union type since keys cannot be used in type unions\nexport type OntimeEntryCommonKeys = keyof OntimeEvent | keyof OntimeDelay | keyof OntimeGroup | keyof OntimeMilestone;\n","import type { AutomationOutput, HTTPOutput, OntimeAction, OSCOutput } from '../definitions/core/Automation.type.js';\nimport type {\n OntimeDelay,\n OntimeEntry,\n OntimeEvent,\n OntimeGroup,\n OntimeMilestone,\n PlayableEvent,\n} from '../definitions/core/OntimeEntry.js';\nimport { SupportedEntry } from '../definitions/core/OntimeEntry.js';\nimport { type TimerLifeCycle, timerLifecycleValues } from '../definitions/core/TimerLifecycle.type.js';\n\ntype MaybeEvent = OntimeEntry | Partial<OntimeEntry> | null | undefined;\n\nexport function isOntimeEvent(event: MaybeEvent): event is OntimeEvent {\n return event?.type === SupportedEntry.Event;\n}\n\nexport function isPlayableEvent(event: OntimeEvent): event is PlayableEvent {\n return !event.skip;\n}\n\nexport function isOntimeDelay(event: MaybeEvent): event is OntimeDelay {\n return event?.type === SupportedEntry.Delay;\n}\n\nexport function isOntimeGroup(event: MaybeEvent): event is OntimeGroup {\n return event?.type === SupportedEntry.Group;\n}\n\nexport function isOntimeMilestone(event: MaybeEvent): event is OntimeMilestone {\n return event?.type === SupportedEntry.Milestone;\n}\n\ntype AnyKeys<T> = keyof T;\n\nexport function isKeyOfType<T extends object>(key: PropertyKey, obj: T): key is AnyKeys<T> {\n return key in obj;\n}\n\nexport function isOSCOutput(output: AutomationOutput): output is OSCOutput {\n return output.type === 'osc';\n}\n\nexport function isHTTPOutput(output: AutomationOutput): output is HTTPOutput {\n return output.type === 'http';\n}\n\nexport function isOntimeAction(output: AutomationOutput): output is OntimeAction {\n return output.type === 'ontime';\n}\n\nexport function isTimerLifeCycle(maybeCycle: unknown): maybeCycle is TimerLifeCycle {\n if (typeof maybeCycle !== 'string') return false;\n return timerLifecycleValues.includes(maybeCycle);\n}\n","import type { OntimeEvent } from 'ontime-types';\n\nimport { dayInMs } from './conversionUtils.js';\n\n/**\n * Utility function checks whether a given event is the day after from its predecessor\n */\nexport function checkIsNextDay(\n current: Pick<OntimeEvent, 'timeStart' | 'dayOffset'>,\n previous: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'> | null,\n): boolean {\n if (!previous) {\n return false;\n }\n\n // if the day offsets are the same it can't be the next day\n if (current.dayOffset <= previous.dayOffset) {\n return false;\n }\n\n // if the previous event crossed midnight then the current is the same day\n if (previous.timeStart + previous.duration > dayInMs) {\n return false;\n }\n\n return true;\n}\n","import type { OntimeEvent } from 'ontime-types';\n\nimport { dayInMs } from './conversionUtils.js';\n\n/**\n * Checks whether a new element is the latest in the list\n */\nexport function isNewLatest(\n currentEvent: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'>,\n previousEvent: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'> | null,\n) {\n // true if there is no previous\n if (!previousEvent) {\n return true;\n }\n\n const normalisedCurrentEnd = currentEvent.timeStart + currentEvent.duration + currentEvent.dayOffset * dayInMs;\n const normalisedPreviousEnd = previousEvent.timeStart + previousEvent.duration + previousEvent.dayOffset * dayInMs;\n\n return normalisedCurrentEnd >= normalisedPreviousEnd;\n}\n","import axios, { AxiosResponse } from 'axios';\nimport { EntryId, OntimeEntry, OntimeEvent, ProjectRundownsList, Rundown, TransientEventPayload } from 'ontime-types';\n\nimport { apiEntryUrl } from './constants';\n\nconst rundownPath = `${apiEntryUrl}/rundowns`;\n\n// #region operations on project rundowns =========================\n\n/**\n * HTTP request to fetch a list of existing rundowns\n */\nexport async function fetchProjectRundownList(): Promise<ProjectRundownsList> {\n const res = await axios.get(rundownPath);\n return res.data;\n}\n\n/**\n * HTTP request to fetch all entries in the currently loaded rundown\n */\nexport async function fetchCurrentRundown(): Promise<Rundown> {\n const res = await axios.get(`${rundownPath}/current`);\n return res.data;\n}\n\n/**\n * HTTP request to switch the currently loaded rundown\n */\nexport async function loadRundown(id: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(`${rundownPath}/${id}/load`);\n}\n\n/**\n * HTTP request to create a new rundown\n */\nexport async function createRundown(title: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(rundownPath, { title });\n}\n\n/**\n * HTTP request to delete a rundown\n */\nexport async function deleteRundown(id: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.delete(`${rundownPath}/${id}`);\n}\n\n// #endregion operations on project rundowns ======================\n// #region operations on rundown entries ==========================\n\n/**\n * HTTP request to post new entry\n */\nexport async function postAddEntry(\n rundownId: string,\n data: TransientEventPayload,\n): Promise<AxiosResponse<OntimeEntry>> {\n return axios.post(`${rundownPath}/${rundownId}/entry`, data);\n}\n\n/**\n * HTTP request to edit an entry\n */\nexport async function putEditEntry(rundownId: string, data: Partial<OntimeEntry>): Promise<AxiosResponse<OntimeEntry>> {\n return axios.put(`${rundownPath}/${rundownId}/entry`, data);\n}\n\nexport type BatchEditEntry = {\n data: Partial<OntimeEvent>;\n ids: EntryId[];\n};\n\n/**\n * HTTP request to edit multiple events\n */\nexport async function putBatchEditEvents(rundownId: string, data: BatchEditEntry): Promise<AxiosResponse<Rundown>> {\n return axios.put(`${rundownPath}/${rundownId}/batch`, data);\n}\n\nexport type ReorderEntry = {\n entryId: EntryId;\n destinationId: EntryId;\n order: 'before' | 'after' | 'insert';\n};\n\n/**\n * HTTP request to reorder an entry\n */\nexport async function patchReorderEntry(rundownId: string, data: ReorderEntry): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/reorder`, data);\n}\n\n/**\n * HTTP request to swap two events\n */\nexport async function requestEventSwap(rundownId: string, from: EntryId, to: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/swap`, { from, to });\n}\n\n/**\n * HTTP request to request application of delay\n */\nexport async function requestApplyDelay(rundownId: string, delayId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/applydelay/${delayId}`);\n}\n\n/**\n * HTTP request for cloning an entry\n */\nexport async function postCloneEntry(rundownId: string, entryId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/clone/${entryId}`);\n}\n\n/**\n * HTTP request for grouping a list of entries into a group\n */\nexport async function requestGroupEntries(rundownId: string, entryIds: EntryId[]): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/group`, { ids: entryIds });\n}\n\n/**\n * HTTP request for dissolving of a group\n */\nexport async function requestUngroup(rundownId: string, groupId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/ungroup/${groupId}`);\n}\n\n/**\n * HTTP request to delete entries of a given rundown\n */\nexport async function deleteEntries(rundownId: string, entryIds: EntryId[]): Promise<AxiosResponse<Rundown>> {\n return axios.delete(`${rundownPath}/${rundownId}/entries`, { data: { ids: entryIds } });\n}\n\n/**\n * HTTP request to delete all entries of a given rundown\n */\nexport async function requestDeleteAll(rundownId: string): Promise<AxiosResponse<Rundown>> {\n return axios.delete(`${rundownPath}/${rundownId}/all`);\n}\n\n// #endregion operations on rundown entries =======================\n","import {\n isOntimeEvent,\n isOntimeGroup,\n isPlayableEvent,\n MaybeString,\n OntimeDelay,\n OntimeEntry,\n OntimeEvent,\n OntimeMilestone,\n PlayableEvent,\n Rundown,\n} from 'ontime-types';\nimport { checkIsNextDay, isNewLatest } from 'ontime-utils';\n\nexport type RundownMetadata = {\n previousEvent: PlayableEvent | null; // The playableEvent from the previous iteration, used by indicators\n latestEvent: PlayableEvent | null; // The playableEvent most forwards in time processed so far\n previousEntryId: MaybeString; // previous entry is used to infer position in the rundown for new events\n thisId: MaybeString;\n eventIndex: number;\n isPast: boolean;\n isNextDay: boolean;\n totalGap: number;\n isLinkedToLoaded: boolean; // check if the event can link all the way back to the currently playing event\n isLoaded: boolean;\n groupId: MaybeString;\n groupColour: string | undefined;\n groupEntries: number | undefined;\n isFirstAfterGroup: boolean;\n};\n\nexport type ExtendedEntry<T extends OntimeEntry = OntimeEntry> = T & RundownMetadata;\n\nexport const lastMetadataKey = 'LAST';\n\nexport type RundownMetadataObject = Record<string, Readonly<RundownMetadata>>;\n\n/**\n * Generates a Rundown Metadata object from a rundown\n */\nexport function getRundownMetadata(\n data: Pick<Rundown, 'entries' | 'flatOrder'>,\n selectedEventId: MaybeString,\n): RundownMetadataObject {\n const { metadata, process } = initRundownMetadata(selectedEventId);\n // keep a single reference to the metadata which we override for every entry\n let lastSnapshot = metadata;\n const rundownMetadata: RundownMetadataObject = {};\n\n for (const id of data.flatOrder) {\n const entry = data.entries[id];\n lastSnapshot = process(entry);\n rundownMetadata[id] = lastSnapshot;\n }\n\n // ensure some blank data even for empty rundowns\n rundownMetadata[lastMetadataKey] = lastSnapshot;\n\n return rundownMetadata;\n}\n\nexport function getFlatRundownMetadata(\n data: Pick<Rundown, 'entries' | 'flatOrder'>,\n selectedEventId: MaybeString,\n): ExtendedEntry[] {\n const { process } = initRundownMetadata(selectedEventId);\n const flatRundown: ExtendedEntry[] = [];\n\n for (const id of data.flatOrder) {\n const entry = data.entries[id];\n const extendedEntry = { ...entry, ...process(entry) };\n flatRundown.push(extendedEntry);\n }\n\n return flatRundown;\n}\n\n/**\n * Creates a process function which aggregates the rundown metadata and event metadata\n */\nexport function initRundownMetadata(selectedEventId: MaybeString) {\n let rundownMeta: RundownMetadata = {\n previousEvent: null,\n latestEvent: null,\n previousEntryId: null,\n thisId: null,\n eventIndex: 0,\n isPast: Boolean(selectedEventId), // all events before the current selected are in the past\n isNextDay: false,\n totalGap: 0,\n isLinkedToLoaded: false,\n isLoaded: false,\n groupId: null,\n groupColour: undefined,\n groupEntries: undefined,\n isFirstAfterGroup: false,\n };\n\n function process(entry: OntimeEntry): Readonly<RundownMetadata> {\n const processedRundownMetadata = processEntry(rundownMeta, selectedEventId, entry);\n rundownMeta = processedRundownMetadata;\n return rundownMeta;\n }\n\n return { metadata: rundownMeta, process };\n}\n\n/**\n * Receives a rundown entry and processes its place in the rundown\n */\nfunction processEntry(\n rundownMetadata: RundownMetadata,\n selectedEventId: MaybeString,\n entry: Readonly<OntimeEntry>,\n): Readonly<RundownMetadata> {\n const processedData = { ...rundownMetadata };\n // initialise data to be overridden below\n processedData.isNextDay = false;\n processedData.isLoaded = false;\n\n processedData.previousEntryId = processedData.thisId; // thisId comes from the previous iteration\n processedData.thisId = entry.id; // we reassign thisId\n processedData.previousEvent = processedData.latestEvent;\n\n if (entry.id === selectedEventId) {\n processedData.isLoaded = true;\n processedData.isPast = false;\n processedData.isLinkedToLoaded = true;\n }\n\n if (isOntimeGroup(entry)) {\n processedData.groupId = entry.id;\n processedData.groupColour = entry.colour;\n processedData.groupEntries = entry.entries.length;\n } else {\n // for delays and groups, we insert the group metadata\n if ((entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent !== processedData.groupId) {\n // if the parent is not the current group, we need to update the groupId\n processedData.groupId = (entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent;\n processedData.groupEntries = undefined;\n if ((entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent === null) {\n // if the entry has no parent, it cannot have a group colour\n processedData.groupColour = undefined;\n }\n }\n\n if (isOntimeEvent(entry)) {\n // event indexes are 1 based in UI\n processedData.eventIndex += 1;\n processedData.isFirstAfterGroup = Boolean(processedData.previousEvent?.parent) && entry.parent === null;\n\n if (isPlayableEvent(entry)) {\n processedData.isNextDay = checkIsNextDay(entry, processedData.previousEvent);\n processedData.totalGap += entry.gap;\n\n if (!processedData.isPast && !processedData.isLoaded) {\n /**\n * isLinkToLoaded is a chain value that we maintain until we\n * a) find an unlinked event\n * b) find a countToEnd event\n */\n processedData.isLinkedToLoaded =\n entry.linkStart && !processedData.previousEvent?.countToEnd && processedData.isLinkedToLoaded;\n }\n\n if (isNewLatest(entry, processedData.latestEvent)) {\n // this event is the forward most event in rundown, for next iteration\n processedData.latestEvent = entry;\n }\n }\n }\n }\n\n return processedData;\n}\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { EntryId, OntimeEntry, Rundown } from 'ontime-types';\n\nimport { queryRefetchIntervalSlow } from '../../ontimeConfig';\nimport { RUNDOWN } from '../api/constants';\nimport { fetchCurrentRundown } from '../api/rundown';\nimport { useSelectedEventId } from '../hooks/useSocket';\nimport { ExtendedEntry, getFlatRundownMetadata, getRundownMetadata } from '../utils/rundownMetadata';\n\nimport useProjectData from './useProjectData';\n\n// revision is -1 so that the remote revision is higher\nconst cachedRundownPlaceholder: Rundown = {\n id: 'default',\n title: '',\n order: [],\n flatOrder: [],\n entries: {},\n revision: -1,\n};\n\n/**\n * Normalised rundown data\n */\nexport default function useRundown() {\n const { data, status, isError, refetch, isFetching } = useQuery<Rundown>({\n queryKey: RUNDOWN,\n queryFn: fetchCurrentRundown,\n placeholderData: (previousData, _previousQuery) => previousData,\n refetchInterval: queryRefetchIntervalSlow,\n });\n return { data: data ?? cachedRundownPlaceholder, status, isError, refetch, isFetching };\n}\n\nexport function useRundownWithMetadata() {\n const { data, status } = useRundown();\n const { selectedEventId } = useSelectedEventId();\n const rundownMetadata = useMemo(() => getRundownMetadata(data, selectedEventId), [data, selectedEventId]);\n return { data, status, rundownMetadata };\n}\n\n/**\n * Provides access to a flat rundown\n * built from the order and rundown fields\n */\nexport function useFlatRundown() {\n const { data, status } = useRundown();\n const { data: projectData } = useProjectData();\n\n const loadedProject = useRef<string>('');\n const [prevRevision, setPrevRevision] = useState<number>(-1);\n const [flatRundown, setFlatRundown] = useState<OntimeEntry[]>([]);\n\n // update data whenever the revision changes\n useEffect(() => {\n if (data.revision !== -1 || data.revision !== prevRevision) {\n const flatRundown = data.order.map((id) => data.entries[id]);\n setFlatRundown(flatRundown);\n setPrevRevision(data.revision);\n }\n }, [data.entries, data.flatOrder, data.revision, prevRevision]);\n\n // TODO: should we have a project id field?\n // TODO(v4): cleanup as part of load multiple rundowns\n // invalidate current version if project changes\n useEffect(() => {\n if (projectData?.title !== loadedProject.current) {\n setPrevRevision(-1);\n loadedProject.current = projectData?.title ?? '';\n }\n }, [projectData]);\n\n return { data: flatRundown, rundownId: data.id, status };\n}\n\nexport function useFlatRundownWithMetadata() {\n const { data, status } = useRundown();\n const { selectedEventId } = useSelectedEventId();\n\n const rundownWithMetadata = useMemo(() => getFlatRundownMetadata(data, selectedEventId), [data, selectedEventId]);\n return { data: rundownWithMetadata, status };\n}\n\n/**\n * Provides access to a partial rundown based on a filter callback\n */\nexport function usePartialRundown(cb: (event: ExtendedEntry<OntimeEntry>) => boolean) {\n const { data, status } = useFlatRundownWithMetadata();\n const filteredData = useMemo(() => {\n return data.filter(cb);\n }, [data, cb]);\n\n return { data: filteredData, status };\n}\n\n/**\n * Hook to get a specific entry by ID from the rundown\n */\nexport function useEntry(entryId: EntryId | null): OntimeEntry | null {\n const { data: rundown } = useRundown();\n\n // track the specific entry we care about\n const entry = useMemo(() => {\n if (entryId === null) return null;\n return rundown.entries[entryId];\n }, [entryId, rundown.entries]);\n\n return entry;\n}\n"],"names":["SupportedEntry","isOntimeEvent","event","isPlayableEvent","isOntimeDelay","isOntimeGroup","isOntimeMilestone","isKeyOfType","key","obj","isOSCOutput","output","isHTTPOutput","isOntimeAction","checkIsNextDay","current","previous","dayInMs","isNewLatest","currentEvent","previousEvent","normalisedCurrentEnd","normalisedPreviousEnd","rundownPath","apiEntryUrl","fetchProjectRundownList","axios","fetchCurrentRundown","loadRundown","id","createRundown","title","deleteRundown","postAddEntry","rundownId","data","putEditEntry","putBatchEditEvents","patchReorderEntry","requestEventSwap","from","to","requestApplyDelay","delayId","postCloneEntry","entryId","requestGroupEntries","entryIds","requestUngroup","groupId","deleteEntries","requestDeleteAll","lastMetadataKey","getRundownMetadata","selectedEventId","metadata","process","initRundownMetadata","lastSnapshot","rundownMetadata","entry","getFlatRundownMetadata","flatRundown","extendedEntry","rundownMeta","processEntry","processedData","_a","_b","cachedRundownPlaceholder","useRundown","status","isError","refetch","isFetching","useQuery","RUNDOWN","previousData","_previousQuery","queryRefetchIntervalSlow","useRundownWithMetadata","useSelectedEventId","useMemo","useFlatRundown","projectData","useProjectData","loadedProject","useRef","prevRevision","setPrevRevision","useState","setFlatRundown","useEffect","useFlatRundownWithMetadata","usePartialRundown","cb","useEntry","rundown"],"mappings":"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"}
1
+ {"version":3,"file":"useRundown-D8CYATNi.js","sources":["../../../../packages/types/src/definitions/core/OntimeEntry.ts","../../../../packages/types/src/utils/guards.ts","../../../../packages/utils/src/date-utils/checkIsNextDay.ts","../../../../packages/utils/src/date-utils/isNewLatest.ts","../../src/common/api/rundown.ts","../../src/common/utils/rundownMetadata.ts","../../src/common/hooks-query/useRundown.ts"],"sourcesContent":["import type { MaybeNumber } from '../../utils/utils.type.js';\nimport type { EndAction } from '../EndAction.type.js';\nimport type { TimerType } from '../TimerType.type.js';\nimport type { TimeStrategy } from '../TimeStrategy.type.js';\nimport type { Trigger } from './Automation.type.js';\nimport type { EntryCustomFields } from './CustomFields.type.js';\n\nexport type EntryId = string;\n\nexport enum SupportedEntry {\n Event = 'event',\n Delay = 'delay',\n Group = 'group',\n Milestone = 'milestone',\n}\n\nexport type OntimeBaseEvent = {\n type: SupportedEntry;\n id: EntryId;\n};\n\nexport type OntimeDelay = OntimeBaseEvent & {\n type: SupportedEntry.Delay;\n duration: number;\n parent: EntryId | null;\n};\n\nexport type OntimeMilestone = OntimeBaseEvent & {\n type: SupportedEntry.Milestone;\n cue: string;\n title: string;\n note: string;\n colour: string;\n custom: EntryCustomFields;\n parent: EntryId | null;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n};\n\nexport type OntimeGroup = OntimeBaseEvent & {\n type: SupportedEntry.Group;\n title: string;\n note: string;\n entries: EntryId[];\n targetDuration: MaybeNumber;\n colour: string;\n custom: EntryCustomFields;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n timeStart: MaybeNumber; // calculated at runtime\n timeEnd: MaybeNumber; // calculated at runtime\n duration: number; // calculated at runtime\n isFirstLinked: boolean; // calculated at runtime, whether the first event is linked\n};\n\nexport type OntimeEvent = OntimeBaseEvent & {\n type: SupportedEntry.Event;\n flag: boolean;\n cue: string;\n title: string;\n note: string;\n endAction: EndAction;\n timerType: TimerType;\n countToEnd: boolean;\n linkStart: boolean;\n timeStrategy: TimeStrategy;\n timeStart: number;\n timeEnd: number;\n duration: number;\n skip: boolean;\n colour: string;\n timeWarning: number;\n timeDanger: number;\n custom: EntryCustomFields;\n triggers: Trigger[];\n parent: EntryId | null;\n // !==== RUNTIME METADATA ====! //\n revision: number;\n delay: number; // calculated at runtime\n dayOffset: number; // calculated at runtime\n gap: number; // calculated at runtime\n};\n\nexport type PlayableEvent = OntimeEvent & { skip: false };\nexport type TimeField = 'timeStart' | 'timeEnd' | 'duration';\nexport type OntimeEntry = OntimeDelay | OntimeGroup | OntimeEvent | OntimeMilestone;\n\n// we need to create a manual union type since keys cannot be used in type unions\nexport type OntimeEntryCommonKeys = keyof OntimeEvent | keyof OntimeDelay | keyof OntimeGroup | keyof OntimeMilestone;\n","import type { AutomationOutput, HTTPOutput, OntimeAction, OSCOutput } from '../definitions/core/Automation.type.js';\nimport type {\n OntimeDelay,\n OntimeEntry,\n OntimeEvent,\n OntimeGroup,\n OntimeMilestone,\n PlayableEvent,\n} from '../definitions/core/OntimeEntry.js';\nimport { SupportedEntry } from '../definitions/core/OntimeEntry.js';\nimport { type TimerLifeCycle, timerLifecycleValues } from '../definitions/core/TimerLifecycle.type.js';\n\ntype MaybeEvent = OntimeEntry | Partial<OntimeEntry> | null | undefined;\n\nexport function isOntimeEvent(event: MaybeEvent): event is OntimeEvent {\n return event?.type === SupportedEntry.Event;\n}\n\nexport function isPlayableEvent(event: OntimeEvent): event is PlayableEvent {\n return !event.skip;\n}\n\nexport function isOntimeDelay(event: MaybeEvent): event is OntimeDelay {\n return event?.type === SupportedEntry.Delay;\n}\n\nexport function isOntimeGroup(event: MaybeEvent): event is OntimeGroup {\n return event?.type === SupportedEntry.Group;\n}\n\nexport function isOntimeMilestone(event: MaybeEvent): event is OntimeMilestone {\n return event?.type === SupportedEntry.Milestone;\n}\n\ntype AnyKeys<T> = keyof T;\n\nexport function isKeyOfType<T extends object>(key: PropertyKey, obj: T): key is AnyKeys<T> {\n return key in obj;\n}\n\nexport function isOSCOutput(output: AutomationOutput): output is OSCOutput {\n return output.type === 'osc';\n}\n\nexport function isHTTPOutput(output: AutomationOutput): output is HTTPOutput {\n return output.type === 'http';\n}\n\nexport function isOntimeAction(output: AutomationOutput): output is OntimeAction {\n return output.type === 'ontime';\n}\n\nexport function isTimerLifeCycle(maybeCycle: unknown): maybeCycle is TimerLifeCycle {\n if (typeof maybeCycle !== 'string') return false;\n return timerLifecycleValues.includes(maybeCycle);\n}\n","import type { OntimeEvent } from 'ontime-types';\n\nimport { dayInMs } from './conversionUtils.js';\n\n/**\n * Utility function checks whether a given event is the day after from its predecessor\n */\nexport function checkIsNextDay(\n current: Pick<OntimeEvent, 'timeStart' | 'dayOffset'>,\n previous: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'> | null,\n): boolean {\n if (!previous) {\n return false;\n }\n\n // if the day offsets are the same it can't be the next day\n if (current.dayOffset <= previous.dayOffset) {\n return false;\n }\n\n // if the previous event crossed midnight then the current is the same day\n if (previous.timeStart + previous.duration > dayInMs) {\n return false;\n }\n\n return true;\n}\n","import type { OntimeEvent } from 'ontime-types';\n\nimport { dayInMs } from './conversionUtils.js';\n\n/**\n * Checks whether a new element is the latest in the list\n */\nexport function isNewLatest(\n currentEvent: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'>,\n previousEvent: Pick<OntimeEvent, 'timeStart' | 'duration' | 'dayOffset'> | null,\n) {\n // true if there is no previous\n if (!previousEvent) {\n return true;\n }\n\n const normalisedCurrentEnd = currentEvent.timeStart + currentEvent.duration + currentEvent.dayOffset * dayInMs;\n const normalisedPreviousEnd = previousEvent.timeStart + previousEvent.duration + previousEvent.dayOffset * dayInMs;\n\n return normalisedCurrentEnd >= normalisedPreviousEnd;\n}\n","import axios, { AxiosResponse } from 'axios';\nimport { EntryId, OntimeEntry, OntimeEvent, ProjectRundownsList, Rundown, TransientEventPayload } from 'ontime-types';\n\nimport { apiEntryUrl } from './constants';\n\nconst rundownPath = `${apiEntryUrl}/rundowns`;\n\n// #region operations on project rundowns =========================\n\n/**\n * HTTP request to fetch a list of existing rundowns\n */\nexport async function fetchProjectRundownList(): Promise<ProjectRundownsList> {\n const res = await axios.get(rundownPath);\n return res.data;\n}\n\n/**\n * HTTP request to fetch all entries in the currently loaded rundown\n */\nexport async function fetchCurrentRundown(): Promise<Rundown> {\n const res = await axios.get(`${rundownPath}/current`);\n return res.data;\n}\n\n/**\n * HTTP request to switch the currently loaded rundown\n */\nexport async function loadRundown(id: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(`${rundownPath}/${id}/load`);\n}\n\n/**\n * HTTP request to create a new rundown\n */\nexport async function createRundown(title: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.post(rundownPath, { title });\n}\n\n/**\n * HTTP request to delete a rundown\n */\nexport async function deleteRundown(id: string): Promise<AxiosResponse<ProjectRundownsList>> {\n return axios.delete(`${rundownPath}/${id}`);\n}\n\n// #endregion operations on project rundowns ======================\n// #region operations on rundown entries ==========================\n\n/**\n * HTTP request to post new entry\n */\nexport async function postAddEntry(\n rundownId: string,\n data: TransientEventPayload,\n): Promise<AxiosResponse<OntimeEntry>> {\n return axios.post(`${rundownPath}/${rundownId}/entry`, data);\n}\n\n/**\n * HTTP request to edit an entry\n */\nexport async function putEditEntry(rundownId: string, data: Partial<OntimeEntry>): Promise<AxiosResponse<OntimeEntry>> {\n return axios.put(`${rundownPath}/${rundownId}/entry`, data);\n}\n\nexport type BatchEditEntry = {\n data: Partial<OntimeEvent>;\n ids: EntryId[];\n};\n\n/**\n * HTTP request to edit multiple events\n */\nexport async function putBatchEditEvents(rundownId: string, data: BatchEditEntry): Promise<AxiosResponse<Rundown>> {\n return axios.put(`${rundownPath}/${rundownId}/batch`, data);\n}\n\nexport type ReorderEntry = {\n entryId: EntryId;\n destinationId: EntryId;\n order: 'before' | 'after' | 'insert';\n};\n\n/**\n * HTTP request to reorder an entry\n */\nexport async function patchReorderEntry(rundownId: string, data: ReorderEntry): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/reorder`, data);\n}\n\n/**\n * HTTP request to swap two events\n */\nexport async function requestEventSwap(rundownId: string, from: EntryId, to: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/swap`, { from, to });\n}\n\n/**\n * HTTP request to request application of delay\n */\nexport async function requestApplyDelay(rundownId: string, delayId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.patch(`${rundownPath}/${rundownId}/applydelay/${delayId}`);\n}\n\n/**\n * HTTP request for cloning an entry\n */\nexport async function postCloneEntry(rundownId: string, entryId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/clone/${entryId}`);\n}\n\n/**\n * HTTP request for grouping a list of entries into a group\n */\nexport async function requestGroupEntries(rundownId: string, entryIds: EntryId[]): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/group`, { ids: entryIds });\n}\n\n/**\n * HTTP request for dissolving of a group\n */\nexport async function requestUngroup(rundownId: string, groupId: EntryId): Promise<AxiosResponse<Rundown>> {\n return axios.post(`${rundownPath}/${rundownId}/ungroup/${groupId}`);\n}\n\n/**\n * HTTP request to delete entries of a given rundown\n */\nexport async function deleteEntries(rundownId: string, entryIds: EntryId[]): Promise<AxiosResponse<Rundown>> {\n return axios.delete(`${rundownPath}/${rundownId}/entries`, { data: { ids: entryIds } });\n}\n\n/**\n * HTTP request to delete all entries of a given rundown\n */\nexport async function requestDeleteAll(rundownId: string): Promise<AxiosResponse<Rundown>> {\n return axios.delete(`${rundownPath}/${rundownId}/all`);\n}\n\n// #endregion operations on rundown entries =======================\n","import {\n isOntimeEvent,\n isOntimeGroup,\n isPlayableEvent,\n MaybeString,\n OntimeDelay,\n OntimeEntry,\n OntimeEvent,\n OntimeMilestone,\n PlayableEvent,\n Rundown,\n} from 'ontime-types';\nimport { checkIsNextDay, isNewLatest } from 'ontime-utils';\n\nexport type RundownMetadata = {\n previousEvent: PlayableEvent | null; // The playableEvent from the previous iteration, used by indicators\n latestEvent: PlayableEvent | null; // The playableEvent most forwards in time processed so far\n previousEntryId: MaybeString; // previous entry is used to infer position in the rundown for new events\n thisId: MaybeString;\n eventIndex: number;\n isPast: boolean;\n isNextDay: boolean;\n totalGap: number;\n isLinkedToLoaded: boolean; // check if the event can link all the way back to the currently playing event\n isLoaded: boolean;\n groupId: MaybeString;\n groupColour: string | undefined;\n groupEntries: number | undefined;\n isFirstAfterGroup: boolean;\n};\n\nexport type ExtendedEntry<T extends OntimeEntry = OntimeEntry> = T & RundownMetadata;\n\nexport const lastMetadataKey = 'LAST';\n\nexport type RundownMetadataObject = Record<string, Readonly<RundownMetadata>>;\n\n/**\n * Generates a Rundown Metadata object from a rundown\n */\nexport function getRundownMetadata(\n data: Pick<Rundown, 'entries' | 'flatOrder'>,\n selectedEventId: MaybeString,\n): RundownMetadataObject {\n const { metadata, process } = initRundownMetadata(selectedEventId);\n // keep a single reference to the metadata which we override for every entry\n let lastSnapshot = metadata;\n const rundownMetadata: RundownMetadataObject = {};\n\n for (const id of data.flatOrder) {\n const entry = data.entries[id];\n lastSnapshot = process(entry);\n rundownMetadata[id] = lastSnapshot;\n }\n\n // ensure some blank data even for empty rundowns\n rundownMetadata[lastMetadataKey] = lastSnapshot;\n\n return rundownMetadata;\n}\n\nexport function getFlatRundownMetadata(\n data: Pick<Rundown, 'entries' | 'flatOrder'>,\n selectedEventId: MaybeString,\n): ExtendedEntry[] {\n const { process } = initRundownMetadata(selectedEventId);\n const flatRundown: ExtendedEntry[] = [];\n\n for (const id of data.flatOrder) {\n const entry = data.entries[id];\n const extendedEntry = { ...entry, ...process(entry) };\n flatRundown.push(extendedEntry);\n }\n\n return flatRundown;\n}\n\n/**\n * Creates a process function which aggregates the rundown metadata and event metadata\n */\nexport function initRundownMetadata(selectedEventId: MaybeString) {\n let rundownMeta: RundownMetadata = {\n previousEvent: null,\n latestEvent: null,\n previousEntryId: null,\n thisId: null,\n eventIndex: 0,\n isPast: Boolean(selectedEventId), // all events before the current selected are in the past\n isNextDay: false,\n totalGap: 0,\n isLinkedToLoaded: false,\n isLoaded: false,\n groupId: null,\n groupColour: undefined,\n groupEntries: undefined,\n isFirstAfterGroup: false,\n };\n\n function process(entry: OntimeEntry): Readonly<RundownMetadata> {\n const processedRundownMetadata = processEntry(rundownMeta, selectedEventId, entry);\n rundownMeta = processedRundownMetadata;\n return rundownMeta;\n }\n\n return { metadata: rundownMeta, process };\n}\n\n/**\n * Receives a rundown entry and processes its place in the rundown\n */\nfunction processEntry(\n rundownMetadata: RundownMetadata,\n selectedEventId: MaybeString,\n entry: Readonly<OntimeEntry>,\n): Readonly<RundownMetadata> {\n const processedData = { ...rundownMetadata };\n // initialise data to be overridden below\n processedData.isNextDay = false;\n processedData.isLoaded = false;\n\n processedData.previousEntryId = processedData.thisId; // thisId comes from the previous iteration\n processedData.thisId = entry.id; // we reassign thisId\n processedData.previousEvent = processedData.latestEvent;\n\n if (entry.id === selectedEventId) {\n processedData.isLoaded = true;\n processedData.isPast = false;\n processedData.isLinkedToLoaded = true;\n }\n\n if (isOntimeGroup(entry)) {\n processedData.groupId = entry.id;\n processedData.groupColour = entry.colour;\n processedData.groupEntries = entry.entries.length;\n } else {\n // for delays and groups, we insert the group metadata\n if ((entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent !== processedData.groupId) {\n // if the parent is not the current group, we need to update the groupId\n processedData.groupId = (entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent;\n processedData.groupEntries = undefined;\n if ((entry as OntimeEvent | OntimeDelay | OntimeMilestone).parent === null) {\n // if the entry has no parent, it cannot have a group colour\n processedData.groupColour = undefined;\n }\n }\n\n if (isOntimeEvent(entry)) {\n // event indexes are 1 based in UI\n processedData.eventIndex += 1;\n processedData.isFirstAfterGroup = Boolean(processedData.previousEvent?.parent) && entry.parent === null;\n\n if (isPlayableEvent(entry)) {\n processedData.isNextDay = checkIsNextDay(entry, processedData.previousEvent);\n processedData.totalGap += entry.gap;\n\n if (!processedData.isPast && !processedData.isLoaded) {\n /**\n * isLinkToLoaded is a chain value that we maintain until we\n * a) find an unlinked event\n * b) find a countToEnd event\n */\n processedData.isLinkedToLoaded =\n entry.linkStart && !processedData.previousEvent?.countToEnd && processedData.isLinkedToLoaded;\n }\n\n if (isNewLatest(entry, processedData.latestEvent)) {\n // this event is the forward most event in rundown, for next iteration\n processedData.latestEvent = entry;\n }\n }\n }\n }\n\n return processedData;\n}\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { EntryId, OntimeEntry, Rundown } from 'ontime-types';\n\nimport { queryRefetchIntervalSlow } from '../../ontimeConfig';\nimport { RUNDOWN } from '../api/constants';\nimport { fetchCurrentRundown } from '../api/rundown';\nimport { useSelectedEventId } from '../hooks/useSocket';\nimport { ExtendedEntry, getFlatRundownMetadata, getRundownMetadata } from '../utils/rundownMetadata';\n\nimport useProjectData from './useProjectData';\n\n// revision is -1 so that the remote revision is higher\nconst cachedRundownPlaceholder: Rundown = {\n id: 'default',\n title: '',\n order: [],\n flatOrder: [],\n entries: {},\n revision: -1,\n};\n\n/**\n * Normalised rundown data\n */\nexport default function useRundown() {\n const { data, status, isError, refetch, isFetching } = useQuery<Rundown>({\n queryKey: RUNDOWN,\n queryFn: fetchCurrentRundown,\n placeholderData: (previousData, _previousQuery) => previousData,\n refetchInterval: queryRefetchIntervalSlow,\n });\n return { data: data ?? cachedRundownPlaceholder, status, isError, refetch, isFetching };\n}\n\nexport function useRundownWithMetadata() {\n const { data, status } = useRundown();\n const { selectedEventId } = useSelectedEventId();\n const rundownMetadata = useMemo(() => getRundownMetadata(data, selectedEventId), [data, selectedEventId]);\n return { data, status, rundownMetadata };\n}\n\n/**\n * Provides access to a flat rundown\n * built from the order and rundown fields\n */\nexport function useFlatRundown() {\n const { data, status } = useRundown();\n const { data: projectData } = useProjectData();\n\n const loadedProject = useRef<string>('');\n const [prevRevision, setPrevRevision] = useState<number>(-1);\n const [flatRundown, setFlatRundown] = useState<OntimeEntry[]>([]);\n\n // update data whenever the revision changes\n useEffect(() => {\n if (data.revision !== -1 || data.revision !== prevRevision) {\n const flatRundown = data.order.map((id) => data.entries[id]);\n setFlatRundown(flatRundown);\n setPrevRevision(data.revision);\n }\n }, [data.entries, data.flatOrder, data.revision, prevRevision]);\n\n // TODO: should we have a project id field?\n // TODO(v4): cleanup as part of load multiple rundowns\n // invalidate current version if project changes\n useEffect(() => {\n if (projectData?.title !== loadedProject.current) {\n setPrevRevision(-1);\n loadedProject.current = projectData?.title ?? '';\n }\n }, [projectData]);\n\n return { data: flatRundown, rundownId: data.id, status };\n}\n\nexport function useFlatRundownWithMetadata() {\n const { data, status } = useRundown();\n const { selectedEventId } = useSelectedEventId();\n\n const rundownWithMetadata = useMemo(() => getFlatRundownMetadata(data, selectedEventId), [data, selectedEventId]);\n return { data: rundownWithMetadata, status };\n}\n\n/**\n * Provides access to a partial rundown based on a filter callback\n */\nexport function usePartialRundown(cb: (event: ExtendedEntry<OntimeEntry>) => boolean) {\n const { data, status } = useFlatRundownWithMetadata();\n const filteredData = useMemo(() => {\n return data.filter(cb);\n }, [data, cb]);\n\n return { data: filteredData, status };\n}\n\n/**\n * Hook to get a specific entry by ID from the rundown\n */\nexport function useEntry(entryId: EntryId | null): OntimeEntry | null {\n const { data: rundown } = useRundown();\n\n // track the specific entry we care about\n const entry = useMemo(() => {\n if (entryId === null) return null;\n return rundown.entries[entryId];\n }, [entryId, rundown.entries]);\n\n return entry;\n}\n"],"names":["SupportedEntry","isOntimeEvent","event","isPlayableEvent","isOntimeDelay","isOntimeGroup","isOntimeMilestone","isKeyOfType","key","obj","isOSCOutput","output","isHTTPOutput","isOntimeAction","checkIsNextDay","current","previous","dayInMs","isNewLatest","currentEvent","previousEvent","normalisedCurrentEnd","normalisedPreviousEnd","rundownPath","apiEntryUrl","fetchProjectRundownList","axios","fetchCurrentRundown","loadRundown","id","createRundown","title","deleteRundown","postAddEntry","rundownId","data","putEditEntry","putBatchEditEvents","patchReorderEntry","requestEventSwap","from","to","requestApplyDelay","delayId","postCloneEntry","entryId","requestGroupEntries","entryIds","requestUngroup","groupId","deleteEntries","requestDeleteAll","lastMetadataKey","getRundownMetadata","selectedEventId","metadata","process","initRundownMetadata","lastSnapshot","rundownMetadata","entry","getFlatRundownMetadata","flatRundown","extendedEntry","rundownMeta","processEntry","processedData","_a","_b","cachedRundownPlaceholder","useRundown","status","isError","refetch","isFetching","useQuery","RUNDOWN","previousData","_previousQuery","queryRefetchIntervalSlow","useRundownWithMetadata","useSelectedEventId","useMemo","useFlatRundown","projectData","useProjectData","loadedProject","useRef","prevRevision","setPrevRevision","useState","setFlatRundown","useEffect","useFlatRundownWithMetadata","usePartialRundown","cb","useEntry","rundown"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as o,ba as t,bb as c,bc as a,bd as b,A as d,h as f}from"./vendor-Cnciq4o_.js";import{i as l}from"./index-DdPXqLQ6.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new n.Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="97bb61cc-40e2-4598-907c-cdd5f803265d",n._sentryDebugIdIdentifier="sentry-dbid-97bb61cc-40e2-4598-907c-cdd5f803265d")}catch{}})();const _="_blink_177b4_1",u="_fourtyfive_177b4_13",x="_infoLabel_177b4_17",h="_info_177b4_17",g="_warning_177b4_37",k="_error_177b4_41",r={blink:_,fourtyfive:u,infoLabel:x,info:h,warning:g,error:k};function w({className:n,type:e="info",children:s}){return o.jsxs("div",{className:l([r.infoLabel,r[e],n]),children:[e==="info"&&o.jsx(t,{}),e==="warning"&&o.jsx(c,{}),e==="error"&&o.jsx(c,{}),o.jsx("div",{children:s})]})}const m="_checkbox_175d8_17",y="_indicator_175d8_53",i={checkbox:m,indicator:y};function p(n){return o.jsx(a,{className:i.checkbox,...n,children:o.jsx(b,{className:i.indicator,children:o.jsx(d,{className:i.icon})})})}function v(n){f.useEffect(()=>{document.title=`ontime - ${n}`},[])}export{p as C,w as I,v as u};
2
- //# sourceMappingURL=useWindowTitle-BQ1kqXfk.js.map
1
+ import{j as o,ba as t,bb as c,bc as a,bd as b,A as d,h as f}from"./vendor-Cu5xgv5K.js";import{i as l}from"./index-5QAOtSTh.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new n.Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="97bb61cc-40e2-4598-907c-cdd5f803265d",n._sentryDebugIdIdentifier="sentry-dbid-97bb61cc-40e2-4598-907c-cdd5f803265d")}catch{}})();const _="_blink_177b4_1",u="_fourtyfive_177b4_13",x="_infoLabel_177b4_17",h="_info_177b4_17",g="_warning_177b4_37",k="_error_177b4_41",r={blink:_,fourtyfive:u,infoLabel:x,info:h,warning:g,error:k};function w({className:n,type:e="info",children:s}){return o.jsxs("div",{className:l([r.infoLabel,r[e],n]),children:[e==="info"&&o.jsx(t,{}),e==="warning"&&o.jsx(c,{}),e==="error"&&o.jsx(c,{}),o.jsx("div",{children:s})]})}const m="_checkbox_175d8_17",y="_indicator_175d8_53",i={checkbox:m,indicator:y};function p(n){return o.jsx(a,{className:i.checkbox,...n,children:o.jsx(b,{className:i.indicator,children:o.jsx(d,{className:i.icon})})})}function v(n){f.useEffect(()=>{document.title=`ontime - ${n}`},[])}export{p as C,w as I,v as u};
2
+ //# sourceMappingURL=useWindowTitle-b5fN0StF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowTitle-BQ1kqXfk.js","sources":["../../src/common/components/info/Info.tsx","../../src/common/components/checkbox/Checkbox.tsx","../../src/common/hooks/useWindowTitle.ts"],"sourcesContent":["import { PropsWithChildren } from 'react';\nimport { IoAlertCircle, IoWarning } from 'react-icons/io5';\n\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './Info.module.scss';\n\ninterface InfoProps {\n className?: string;\n type?: 'info' | 'warning' | 'error';\n}\n\nexport default function Info({ className, type = 'info', children }: PropsWithChildren<InfoProps>) {\n return (\n <div className={cx([style.infoLabel, style[type], className])}>\n {type === 'info' && <IoAlertCircle />}\n {type === 'warning' && <IoWarning />}\n {type === 'error' && <IoWarning />}\n <div>{children}</div>\n </div>\n );\n}\n","import { IoCheckmark } from 'react-icons/io5';\nimport { Checkbox as BaseCheckbox } from '@base-ui-components/react/checkbox';\n\nimport style from './Checkbox.module.scss';\n\nexport default function Checkbox(checkboxProps: BaseCheckbox.Root.Props) {\n return (\n <BaseCheckbox.Root className={style.checkbox} {...checkboxProps}>\n <BaseCheckbox.Indicator className={style.indicator}>\n <IoCheckmark className={style.icon} />\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n );\n}\n","import { useEffect } from 'react';\n\n/**\n * Sets tab title\n * @param title\n */\nexport function useWindowTitle(title: string) {\n useEffect(() => {\n document.title = `ontime - ${title}`;\n }, []);\n}\n"],"names":["Info","className","type","children","jsxs","cx","style","IoAlertCircle","jsx","IoWarning","Checkbox","checkboxProps","BaseCheckbox.Root","BaseCheckbox.Indicator","IoCheckmark","useWindowTitle","title","useEffect"],"mappings":"8pBAYA,SAAwBA,EAAK,CAAE,UAAAC,EAAW,KAAAC,EAAO,OAAQ,SAAAC,GAA0C,CACjG,OACGC,EAAA,KAAA,MAAA,CAAI,UAAWC,EAAG,CAACC,EAAM,UAAWA,EAAMJ,CAAI,EAAGD,CAAS,CAAC,EACzD,SAAA,CAASC,IAAA,cAAWK,EAAc,CAAA,CAAA,EAClCL,IAAS,WAAaM,MAACC,EAAU,CAAA,CAAA,EACjCP,IAAS,SAAWM,MAACC,EAAU,CAAA,CAAA,EAChCD,MAAC,OAAK,SAAAL,CAAS,CAAA,CAAA,EACjB,CAEJ,iFChBA,SAAwBO,EAASC,EAAwC,CAErE,OAAAH,MAACI,EAAA,CAAkB,UAAWN,EAAM,SAAW,GAAGK,EAChD,SAACH,EAAA,IAAAK,EAAA,CAAuB,UAAWP,EAAM,UACvC,SAAAE,EAAAA,IAACM,GAAY,UAAWR,EAAM,KAAM,CAAA,CACtC,CACF,CAAA,CAEJ,CCPO,SAASS,EAAeC,EAAe,CAC5CC,EAAAA,UAAU,IAAM,CACL,SAAA,MAAQ,YAAYD,CAAK,EACpC,EAAG,EAAE,CACP"}
1
+ {"version":3,"file":"useWindowTitle-b5fN0StF.js","sources":["../../src/common/components/info/Info.tsx","../../src/common/components/checkbox/Checkbox.tsx","../../src/common/hooks/useWindowTitle.ts"],"sourcesContent":["import { PropsWithChildren } from 'react';\nimport { IoAlertCircle, IoWarning } from 'react-icons/io5';\n\nimport { cx } from '../../utils/styleUtils';\n\nimport style from './Info.module.scss';\n\ninterface InfoProps {\n className?: string;\n type?: 'info' | 'warning' | 'error';\n}\n\nexport default function Info({ className, type = 'info', children }: PropsWithChildren<InfoProps>) {\n return (\n <div className={cx([style.infoLabel, style[type], className])}>\n {type === 'info' && <IoAlertCircle />}\n {type === 'warning' && <IoWarning />}\n {type === 'error' && <IoWarning />}\n <div>{children}</div>\n </div>\n );\n}\n","import { IoCheckmark } from 'react-icons/io5';\nimport { Checkbox as BaseCheckbox } from '@base-ui-components/react/checkbox';\n\nimport style from './Checkbox.module.scss';\n\nexport default function Checkbox(checkboxProps: BaseCheckbox.Root.Props) {\n return (\n <BaseCheckbox.Root className={style.checkbox} {...checkboxProps}>\n <BaseCheckbox.Indicator className={style.indicator}>\n <IoCheckmark className={style.icon} />\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n );\n}\n","import { useEffect } from 'react';\n\n/**\n * Sets tab title\n * @param title\n */\nexport function useWindowTitle(title: string) {\n useEffect(() => {\n document.title = `ontime - ${title}`;\n }, []);\n}\n"],"names":["Info","className","type","children","jsxs","cx","style","IoAlertCircle","jsx","IoWarning","Checkbox","checkboxProps","BaseCheckbox.Root","BaseCheckbox.Indicator","IoCheckmark","useWindowTitle","title","useEffect"],"mappings":"8pBAYA,SAAwBA,EAAK,CAAE,UAAAC,EAAW,KAAAC,EAAO,OAAQ,SAAAC,GAA0C,CACjG,OACGC,EAAA,KAAA,MAAA,CAAI,UAAWC,EAAG,CAACC,EAAM,UAAWA,EAAMJ,CAAI,EAAGD,CAAS,CAAC,EACzD,SAAA,CAASC,IAAA,cAAWK,EAAc,CAAA,CAAA,EAClCL,IAAS,WAAaM,MAACC,EAAU,CAAA,CAAA,EACjCP,IAAS,SAAWM,MAACC,EAAU,CAAA,CAAA,EAChCD,MAAC,OAAK,SAAAL,CAAS,CAAA,CAAA,EACjB,CAEJ,iFChBA,SAAwBO,EAASC,EAAwC,CAErE,OAAAH,MAACI,EAAA,CAAkB,UAAWN,EAAM,SAAW,GAAGK,EAChD,SAACH,EAAA,IAAAK,EAAA,CAAuB,UAAWP,EAAM,UACvC,SAAAE,EAAAA,IAACM,GAAY,UAAWR,EAAM,KAAM,CAAA,CACtC,CACF,CAAA,CAEJ,CCPO,SAASS,EAAeC,EAAe,CAC5CC,EAAAA,UAAU,IAAM,CACL,SAAA,MAAQ,YAAYD,CAAK,EACpC,EAAG,EAAE,CACP"}
@@ -1,2 +1,2 @@
1
- import"./vendor-Cnciq4o_.js";import{T as o}from"./index-DdPXqLQ6.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8ee56b18-1b11-4879-847a-a8654abba190",e._sentryDebugIdIdentifier="sentry-dbid-8ee56b18-1b11-4879-847a-a8654abba190")}catch{}})();var a=(e=>(e.LoadNext="load-next",e.None="none",e.PlayNext="play-next",e))(a||{}),t=(e=>(e.LockEnd="lock-end",e.LockDuration="lock-duration",e))(t||{});function s(e,n=t.LockDuration){return Object.values(t).includes(e)?e:n}function i(e,n=a.None){return Object.values(a).includes(e)?e:n}function l(e,n=o.CountDown){return Object.values(o).includes(e)?e:n}export{a as E,t as T,i as a,s as b,l as v};
2
- //# sourceMappingURL=validateEvent-Cy-jEiwB.js.map
1
+ import"./vendor-Cu5xgv5K.js";import{T as o}from"./index-5QAOtSTh.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8ee56b18-1b11-4879-847a-a8654abba190",e._sentryDebugIdIdentifier="sentry-dbid-8ee56b18-1b11-4879-847a-a8654abba190")}catch{}})();var a=(e=>(e.LoadNext="load-next",e.None="none",e.PlayNext="play-next",e))(a||{}),t=(e=>(e.LockEnd="lock-end",e.LockDuration="lock-duration",e))(t||{});function s(e,n=t.LockDuration){return Object.values(t).includes(e)?e:n}function i(e,n=a.None){return Object.values(a).includes(e)?e:n}function l(e,n=o.CountDown){return Object.values(o).includes(e)?e:n}export{a as E,t as T,i as a,s as b,l as v};
2
+ //# sourceMappingURL=validateEvent-Bvgk1E-Y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateEvent-Cy-jEiwB.js","sources":["../../../../packages/types/src/definitions/EndAction.type.ts","../../../../packages/types/src/definitions/TimeStrategy.type.ts","../../../../packages/utils/src/validate-events/validateEvent.ts"],"sourcesContent":["export enum EndAction {\n LoadNext = 'load-next',\n None = 'none',\n PlayNext = 'play-next',\n}\n","export enum TimeStrategy {\n LockEnd = 'lock-end',\n LockDuration = 'lock-duration',\n}\n","import { EndAction, TimerType, TimeStrategy } from 'ontime-types';\n\n/**\n * Check if a given value is a valid time strategy, returns the fallback otherwise\n * @param {TimeStrategy} maybeTimeStrategy\n * @returns {TimeStrategy}\n */\nexport function validateTimeStrategy(maybeTimeStrategy: unknown, fallback = TimeStrategy.LockDuration): TimeStrategy {\n return Object.values(TimeStrategy).includes(maybeTimeStrategy as TimeStrategy)\n ? (maybeTimeStrategy as TimeStrategy)\n : fallback;\n}\n\n/**\n * Checks if given value is a valid type of EndAction, returns the fallback otherwise\n * @param {EndAction} maybeAction\n * @param {EndAction} [fallback]\n */\nexport function validateEndAction(maybeAction: unknown, fallback = EndAction.None): EndAction {\n return Object.values(EndAction).includes(maybeAction as EndAction) ? (maybeAction as EndAction) : fallback;\n}\n\n/**\n * Checks if given value is a valid type of TimerType, returns the fallback otherwise\n * @param {TimerType} maybeTimerType\n * @param {TimerType} [fallback]\n */\nexport function validateTimerType(maybeTimerType: unknown, fallback = TimerType.CountDown): TimerType {\n return Object.values(TimerType).includes(maybeTimerType as TimerType) ? (maybeTimerType as TimerType) : fallback;\n}\n\nexport function isKnownTimerType(maybeTimerType: unknown) {\n return Object.values(TimerType).includes(maybeTimerType as TimerType);\n}\n"],"names":["EndAction","TimeStrategy","validateTimeStrategy","maybeTimeStrategy","fallback","validateEndAction","maybeAction","validateTimerType","maybeTimerType","TimerType"],"mappings":"+ZAAY,IAAAA,GAAAA,IACVA,EAAA,SAAW,YACXA,EAAA,KAAO,OACPA,EAAA,SAAW,YAHDA,IAAAA,GAAA,CAAA,CAAA,ECAAC,GAAAA,IACVA,EAAA,QAAU,WACVA,EAAA,aAAe,gBAFLA,IAAAA,GAAA,CAAA,CAAA,ECOL,SAASC,EAAqBC,EAA4BC,EAAWH,EAAa,aAA4B,CACnH,OAAO,OAAO,OAAOA,CAAY,EAAE,SAASE,CAAiC,EACxEA,EACDC,CACN,CAOO,SAASC,EAAkBC,EAAsBF,EAAWJ,EAAU,KAAiB,CAC5F,OAAO,OAAO,OAAOA,CAAS,EAAE,SAASM,CAAwB,EAAKA,EAA4BF,CACpG,CAOO,SAASG,EAAkBC,EAAyBJ,EAAWK,EAAU,UAAsB,CACpG,OAAO,OAAO,OAAOA,CAAS,EAAE,SAASD,CAA2B,EAAKA,EAA+BJ,CAC1G"}
1
+ {"version":3,"file":"validateEvent-Bvgk1E-Y.js","sources":["../../../../packages/types/src/definitions/EndAction.type.ts","../../../../packages/types/src/definitions/TimeStrategy.type.ts","../../../../packages/utils/src/validate-events/validateEvent.ts"],"sourcesContent":["export enum EndAction {\n LoadNext = 'load-next',\n None = 'none',\n PlayNext = 'play-next',\n}\n","export enum TimeStrategy {\n LockEnd = 'lock-end',\n LockDuration = 'lock-duration',\n}\n","import { EndAction, TimerType, TimeStrategy } from 'ontime-types';\n\n/**\n * Check if a given value is a valid time strategy, returns the fallback otherwise\n * @param {TimeStrategy} maybeTimeStrategy\n * @returns {TimeStrategy}\n */\nexport function validateTimeStrategy(maybeTimeStrategy: unknown, fallback = TimeStrategy.LockDuration): TimeStrategy {\n return Object.values(TimeStrategy).includes(maybeTimeStrategy as TimeStrategy)\n ? (maybeTimeStrategy as TimeStrategy)\n : fallback;\n}\n\n/**\n * Checks if given value is a valid type of EndAction, returns the fallback otherwise\n * @param {EndAction} maybeAction\n * @param {EndAction} [fallback]\n */\nexport function validateEndAction(maybeAction: unknown, fallback = EndAction.None): EndAction {\n return Object.values(EndAction).includes(maybeAction as EndAction) ? (maybeAction as EndAction) : fallback;\n}\n\n/**\n * Checks if given value is a valid type of TimerType, returns the fallback otherwise\n * @param {TimerType} maybeTimerType\n * @param {TimerType} [fallback]\n */\nexport function validateTimerType(maybeTimerType: unknown, fallback = TimerType.CountDown): TimerType {\n return Object.values(TimerType).includes(maybeTimerType as TimerType) ? (maybeTimerType as TimerType) : fallback;\n}\n\nexport function isKnownTimerType(maybeTimerType: unknown) {\n return Object.values(TimerType).includes(maybeTimerType as TimerType);\n}\n"],"names":["EndAction","TimeStrategy","validateTimeStrategy","maybeTimeStrategy","fallback","validateEndAction","maybeAction","validateTimerType","maybeTimerType","TimerType"],"mappings":"+ZAAY,IAAAA,GAAAA,IACVA,EAAA,SAAW,YACXA,EAAA,KAAO,OACPA,EAAA,SAAW,YAHDA,IAAAA,GAAA,CAAA,CAAA,ECAAC,GAAAA,IACVA,EAAA,QAAU,WACVA,EAAA,aAAe,gBAFLA,IAAAA,GAAA,CAAA,CAAA,ECOL,SAASC,EAAqBC,EAA4BC,EAAWH,EAAa,aAA4B,CACnH,OAAO,OAAO,OAAOA,CAAY,EAAE,SAASE,CAAiC,EACxEA,EACDC,CACN,CAOO,SAASC,EAAkBC,EAAsBF,EAAWJ,EAAU,KAAiB,CAC5F,OAAO,OAAO,OAAOA,CAAS,EAAE,SAASM,CAAwB,EAAKA,EAA4BF,CACpG,CAOO,SAASG,EAAkBC,EAAyBJ,EAAWK,EAAU,UAAsB,CACpG,OAAO,OAAO,OAAOA,CAAS,EAAE,SAASD,CAA2B,EAAKA,EAA+BJ,CAC1G"}
@@ -1,4 +1,4 @@
1
- var Kk=Object.defineProperty;var L_=e=>{throw TypeError(e)};var Wk=(e,t,n)=>t in e?Kk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Rn=(e,t,n)=>Wk(e,typeof t!="symbol"?t+"":t,n),ny=(e,t,n)=>t.has(e)||L_("Cannot "+n);var ee=(e,t,n)=>(ny(e,t,"read from private field"),n?n.call(e):t.get(e)),Ze=(e,t,n)=>t.has(e)?L_("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Ue=(e,t,n,r)=>(ny(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),Rt=(e,t,n)=>(ny(e,t,"access private method"),n);var Kh=(e,t,n,r)=>({set _(o){Ue(e,t,o,n)},get _(){return ee(e,t,r)}});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="19bce8d6-74b5-4630-b2e0-e4b78c551e23",e._sentryDebugIdIdentifier="sentry-dbid-19bce8d6-74b5-4630-b2e0-e4b78c551e23")}catch{}})();function uM(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Xk=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};Xk.SENTRY_RELEASE={id:"12bc323e57b0ff8c46eca8f7f33190839932696f"};var P_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function us(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ry={exports:{}},gf={};var N_;function Qk(){if(N_)return gf;N_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,o,s){var l=null;if(s!==void 0&&(l=""+s),o.key!==void 0&&(l=""+o.key),"key"in o){s={};for(var c in o)c!=="key"&&(s[c]=o[c])}else s=o;return o=s.ref,{$$typeof:e,type:r,key:l,ref:o!==void 0?o:null,props:s}}return gf.Fragment=t,gf.jsx=n,gf.jsxs=n,gf}var F_;function Zk(){return F_||(F_=1,ry.exports=Qk()),ry.exports}var Ee=Zk(),oy={exports:{}},vt={};var B_;function Jk(){if(B_)return vt;B_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),g=Symbol.iterator;function m(P){return P===null||typeof P!="object"?null:(P=g&&P[g]||P["@@iterator"],typeof P=="function"?P:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,S={};function R(P,Q,Z){this.props=P,this.context=Q,this.refs=S,this.updater=Z||y}R.prototype.isReactComponent={},R.prototype.setState=function(P,Q){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,Q,"setState")},R.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=R.prototype;function x(P,Q,Z){this.props=P,this.context=Q,this.refs=S,this.updater=Z||y}var _=x.prototype=new C;_.constructor=x,b(_,R.prototype),_.isPureReactComponent=!0;var M=Array.isArray,T={H:null,A:null,T:null,S:null,V:null},A=Object.prototype.hasOwnProperty;function O(P,Q,Z,G,ne,re){return Z=re.ref,{$$typeof:e,type:P,key:Q,ref:Z!==void 0?Z:null,props:re}}function k(P,Q){return O(P.type,Q,void 0,void 0,void 0,P.props)}function D(P){return typeof P=="object"&&P!==null&&P.$$typeof===e}function U(P){var Q={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(Z){return Q[Z]})}var L=/\/+/g;function j(P,Q){return typeof P=="object"&&P!==null&&P.key!=null?U(""+P.key):Q.toString(36)}function B(){}function Y(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(B,B):(P.status="pending",P.then(function(Q){P.status==="pending"&&(P.status="fulfilled",P.value=Q)},function(Q){P.status==="pending"&&(P.status="rejected",P.reason=Q)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function H(P,Q,Z,G,ne){var re=typeof P;(re==="undefined"||re==="boolean")&&(P=null);var z=!1;if(P===null)z=!0;else switch(re){case"bigint":case"string":case"number":z=!0;break;case"object":switch(P.$$typeof){case e:case t:z=!0;break;case p:return z=P._init,H(z(P._payload),Q,Z,G,ne)}}if(z)return ne=ne(P),z=G===""?"."+j(P,0):G,M(ne)?(Z="",z!=null&&(Z=z.replace(L,"$&/")+"/"),H(ne,Q,Z,"",function(se){return se})):ne!=null&&(D(ne)&&(ne=k(ne,Z+(ne.key==null||P&&P.key===ne.key?"":(""+ne.key).replace(L,"$&/")+"/")+z)),Q.push(ne)),1;z=0;var le=G===""?".":G+":";if(M(P))for(var K=0;K<P.length;K++)G=P[K],re=le+j(G,K),z+=H(G,Q,Z,re,ne);else if(K=m(P),typeof K=="function")for(P=K.call(P),K=0;!(G=P.next()).done;)G=G.value,re=le+j(G,K++),z+=H(G,Q,Z,re,ne);else if(re==="object"){if(typeof P.then=="function")return H(Y(P),Q,Z,G,ne);throw Q=String(P),Error("Objects are not valid as a React child (found: "+(Q==="[object Object]"?"object with keys {"+Object.keys(P).join(", ")+"}":Q)+"). If you meant to render a collection of children, use an array instead.")}return z}function F(P,Q,Z){if(P==null)return P;var G=[],ne=0;return H(P,G,"","",function(re){return Q.call(Z,re,ne++)}),G}function V(P){if(P._status===-1){var Q=P._result;Q=Q(),Q.then(function(Z){(P._status===0||P._status===-1)&&(P._status=1,P._result=Z)},function(Z){(P._status===0||P._status===-1)&&(P._status=2,P._result=Z)}),P._status===-1&&(P._status=0,P._result=Q)}if(P._status===1)return P._result.default;throw P._result}var q=typeof reportError=="function"?reportError:function(P){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var Q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof P=="object"&&P!==null&&typeof P.message=="string"?String(P.message):String(P),error:P});if(!window.dispatchEvent(Q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",P);return}console.error(P)};function W(){}return vt.Children={map:F,forEach:function(P,Q,Z){F(P,function(){Q.apply(this,arguments)},Z)},count:function(P){var Q=0;return F(P,function(){Q++}),Q},toArray:function(P){return F(P,function(Q){return Q})||[]},only:function(P){if(!D(P))throw Error("React.Children.only expected to receive a single React element child.");return P}},vt.Component=R,vt.Fragment=n,vt.Profiler=o,vt.PureComponent=x,vt.StrictMode=r,vt.Suspense=f,vt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,vt.__COMPILER_RUNTIME={__proto__:null,c:function(P){return T.H.useMemoCache(P)}},vt.cache=function(P){return function(){return P.apply(null,arguments)}},vt.cloneElement=function(P,Q,Z){if(P==null)throw Error("The argument must be a React element, but you passed "+P+".");var G=b({},P.props),ne=P.key,re=void 0;if(Q!=null)for(z in Q.ref!==void 0&&(re=void 0),Q.key!==void 0&&(ne=""+Q.key),Q)!A.call(Q,z)||z==="key"||z==="__self"||z==="__source"||z==="ref"&&Q.ref===void 0||(G[z]=Q[z]);var z=arguments.length-2;if(z===1)G.children=Z;else if(1<z){for(var le=Array(z),K=0;K<z;K++)le[K]=arguments[K+2];G.children=le}return O(P.type,ne,void 0,void 0,re,G)},vt.createContext=function(P){return P={$$typeof:l,_currentValue:P,_currentValue2:P,_threadCount:0,Provider:null,Consumer:null},P.Provider=P,P.Consumer={$$typeof:s,_context:P},P},vt.createElement=function(P,Q,Z){var G,ne={},re=null;if(Q!=null)for(G in Q.key!==void 0&&(re=""+Q.key),Q)A.call(Q,G)&&G!=="key"&&G!=="__self"&&G!=="__source"&&(ne[G]=Q[G]);var z=arguments.length-2;if(z===1)ne.children=Z;else if(1<z){for(var le=Array(z),K=0;K<z;K++)le[K]=arguments[K+2];ne.children=le}if(P&&P.defaultProps)for(G in z=P.defaultProps,z)ne[G]===void 0&&(ne[G]=z[G]);return O(P,re,void 0,void 0,null,ne)},vt.createRef=function(){return{current:null}},vt.forwardRef=function(P){return{$$typeof:c,render:P}},vt.isValidElement=D,vt.lazy=function(P){return{$$typeof:p,_payload:{_status:-1,_result:P},_init:V}},vt.memo=function(P,Q){return{$$typeof:d,type:P,compare:Q===void 0?null:Q}},vt.startTransition=function(P){var Q=T.T,Z={};T.T=Z;try{var G=P(),ne=T.S;ne!==null&&ne(Z,G),typeof G=="object"&&G!==null&&typeof G.then=="function"&&G.then(W,q)}catch(re){q(re)}finally{T.T=Q}},vt.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},vt.use=function(P){return T.H.use(P)},vt.useActionState=function(P,Q,Z){return T.H.useActionState(P,Q,Z)},vt.useCallback=function(P,Q){return T.H.useCallback(P,Q)},vt.useContext=function(P){return T.H.useContext(P)},vt.useDebugValue=function(){},vt.useDeferredValue=function(P,Q){return T.H.useDeferredValue(P,Q)},vt.useEffect=function(P,Q,Z){var G=T.H;if(typeof Z=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return G.useEffect(P,Q)},vt.useId=function(){return T.H.useId()},vt.useImperativeHandle=function(P,Q,Z){return T.H.useImperativeHandle(P,Q,Z)},vt.useInsertionEffect=function(P,Q){return T.H.useInsertionEffect(P,Q)},vt.useLayoutEffect=function(P,Q){return T.H.useLayoutEffect(P,Q)},vt.useMemo=function(P,Q){return T.H.useMemo(P,Q)},vt.useOptimistic=function(P,Q){return T.H.useOptimistic(P,Q)},vt.useReducer=function(P,Q,Z){return T.H.useReducer(P,Q,Z)},vt.useRef=function(P){return T.H.useRef(P)},vt.useState=function(P){return T.H.useState(P)},vt.useSyncExternalStore=function(P,Q,Z){return T.H.useSyncExternalStore(P,Q,Z)},vt.useTransition=function(){return T.H.useTransition()},vt.version="19.1.1",vt}var H_;function da(){return H_||(H_=1,oy.exports=Jk()),oy.exports}var E=da();const ce=us(E),cM=uM({__proto__:null,default:ce},[E]);var iy={exports:{}},mf={},sy={exports:{}},ay={};var z_;function eL(){return z_||(z_=1,function(e){function t(F,V){var q=F.length;F.push(V);e:for(;0<q;){var W=q-1>>>1,P=F[W];if(0<o(P,V))F[W]=V,F[q]=P,q=W;else break e}}function n(F){return F.length===0?null:F[0]}function r(F){if(F.length===0)return null;var V=F[0],q=F.pop();if(q!==V){F[0]=q;e:for(var W=0,P=F.length,Q=P>>>1;W<Q;){var Z=2*(W+1)-1,G=F[Z],ne=Z+1,re=F[ne];if(0>o(G,q))ne<P&&0>o(re,G)?(F[W]=re,F[ne]=q,W=ne):(F[W]=G,F[Z]=q,W=Z);else if(ne<P&&0>o(re,q))F[W]=re,F[ne]=q,W=ne;else break e}}return V}function o(F,V){var q=F.sortIndex-V.sortIndex;return q!==0?q:F.id-V.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,c=l.now();e.unstable_now=function(){return l.now()-c}}var f=[],d=[],p=1,g=null,m=3,y=!1,b=!1,S=!1,R=!1,C=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function M(F){for(var V=n(d);V!==null;){if(V.callback===null)r(d);else if(V.startTime<=F)r(d),V.sortIndex=V.expirationTime,t(f,V);else break;V=n(d)}}function T(F){if(S=!1,M(F),!b)if(n(f)!==null)b=!0,A||(A=!0,j());else{var V=n(d);V!==null&&H(T,V.startTime-F)}}var A=!1,O=-1,k=5,D=-1;function U(){return R?!0:!(e.unstable_now()-D<k)}function L(){if(R=!1,A){var F=e.unstable_now();D=F;var V=!0;try{e:{b=!1,S&&(S=!1,x(O),O=-1),y=!0;var q=m;try{t:{for(M(F),g=n(f);g!==null&&!(g.expirationTime>F&&U());){var W=g.callback;if(typeof W=="function"){g.callback=null,m=g.priorityLevel;var P=W(g.expirationTime<=F);if(F=e.unstable_now(),typeof P=="function"){g.callback=P,M(F),V=!0;break t}g===n(f)&&r(f),M(F)}else r(f);g=n(f)}if(g!==null)V=!0;else{var Q=n(d);Q!==null&&H(T,Q.startTime-F),V=!1}}break e}finally{g=null,m=q,y=!1}V=void 0}}finally{V?j():A=!1}}}var j;if(typeof _=="function")j=function(){_(L)};else if(typeof MessageChannel<"u"){var B=new MessageChannel,Y=B.port2;B.port1.onmessage=L,j=function(){Y.postMessage(null)}}else j=function(){C(L,0)};function H(F,V){O=C(function(){F(e.unstable_now())},V)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(F){F.callback=null},e.unstable_forceFrameRate=function(F){0>F||125<F?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):k=0<F?Math.floor(1e3/F):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_next=function(F){switch(m){case 1:case 2:case 3:var V=3;break;default:V=m}var q=m;m=V;try{return F()}finally{m=q}},e.unstable_requestPaint=function(){R=!0},e.unstable_runWithPriority=function(F,V){switch(F){case 1:case 2:case 3:case 4:case 5:break;default:F=3}var q=m;m=F;try{return V()}finally{m=q}},e.unstable_scheduleCallback=function(F,V,q){var W=e.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?W+q:W):q=W,F){case 1:var P=-1;break;case 2:P=250;break;case 5:P=1073741823;break;case 4:P=1e4;break;default:P=5e3}return P=q+P,F={id:p++,callback:V,priorityLevel:F,startTime:q,expirationTime:P,sortIndex:-1},q>W?(F.sortIndex=q,t(d,F),n(f)===null&&F===n(d)&&(S?(x(O),O=-1):S=!0,H(T,q-W))):(F.sortIndex=P,t(f,F),b||y||(b=!0,A||(A=!0,j()))),F},e.unstable_shouldYield=U,e.unstable_wrapCallback=function(F){var V=m;return function(){var q=m;m=V;try{return F.apply(this,arguments)}finally{m=q}}}}(ay)),ay}var U_;function tL(){return U_||(U_=1,sy.exports=eL()),sy.exports}var ly={exports:{}},gr={};var V_;function nL(){if(V_)return gr;V_=1;var e=da();function t(f){var d="https://react.dev/errors/"+f;if(1<arguments.length){d+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)d+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+f+"; visit "+d+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},o=Symbol.for("react.portal");function s(f,d,p){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:g==null?null:""+g,children:f,containerInfo:d,implementation:p}}var l=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(f,d){if(f==="font")return"";if(typeof d=="string")return d==="use-credentials"?d:""}return gr.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,gr.createPortal=function(f,d){var p=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!d||d.nodeType!==1&&d.nodeType!==9&&d.nodeType!==11)throw Error(t(299));return s(f,d,null,p)},gr.flushSync=function(f){var d=l.T,p=r.p;try{if(l.T=null,r.p=2,f)return f()}finally{l.T=d,r.p=p,r.d.f()}},gr.preconnect=function(f,d){typeof f=="string"&&(d?(d=d.crossOrigin,d=typeof d=="string"?d==="use-credentials"?d:"":void 0):d=null,r.d.C(f,d))},gr.prefetchDNS=function(f){typeof f=="string"&&r.d.D(f)},gr.preinit=function(f,d){if(typeof f=="string"&&d&&typeof d.as=="string"){var p=d.as,g=c(p,d.crossOrigin),m=typeof d.integrity=="string"?d.integrity:void 0,y=typeof d.fetchPriority=="string"?d.fetchPriority:void 0;p==="style"?r.d.S(f,typeof d.precedence=="string"?d.precedence:void 0,{crossOrigin:g,integrity:m,fetchPriority:y}):p==="script"&&r.d.X(f,{crossOrigin:g,integrity:m,fetchPriority:y,nonce:typeof d.nonce=="string"?d.nonce:void 0})}},gr.preinitModule=function(f,d){if(typeof f=="string")if(typeof d=="object"&&d!==null){if(d.as==null||d.as==="script"){var p=c(d.as,d.crossOrigin);r.d.M(f,{crossOrigin:p,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0})}}else d==null&&r.d.M(f)},gr.preload=function(f,d){if(typeof f=="string"&&typeof d=="object"&&d!==null&&typeof d.as=="string"){var p=d.as,g=c(p,d.crossOrigin);r.d.L(f,p,{crossOrigin:g,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0,type:typeof d.type=="string"?d.type:void 0,fetchPriority:typeof d.fetchPriority=="string"?d.fetchPriority:void 0,referrerPolicy:typeof d.referrerPolicy=="string"?d.referrerPolicy:void 0,imageSrcSet:typeof d.imageSrcSet=="string"?d.imageSrcSet:void 0,imageSizes:typeof d.imageSizes=="string"?d.imageSizes:void 0,media:typeof d.media=="string"?d.media:void 0})}},gr.preloadModule=function(f,d){if(typeof f=="string")if(d){var p=c(d.as,d.crossOrigin);r.d.m(f,{as:typeof d.as=="string"&&d.as!=="script"?d.as:void 0,crossOrigin:p,integrity:typeof d.integrity=="string"?d.integrity:void 0})}else r.d.m(f)},gr.requestFormReset=function(f){r.d.r(f)},gr.unstable_batchedUpdates=function(f,d){return f(d)},gr.useFormState=function(f,d,p){return l.H.useFormState(f,d,p)},gr.useFormStatus=function(){return l.H.useHostTransitionStatus()},gr.version="19.1.1",gr}var j_;function fM(){if(j_)return ly.exports;j_=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),ly.exports=nL(),ly.exports}var $_;function rL(){if($_)return mf;$_=1;var e=tL(),t=da(),n=fM();function r(i){var a="https://react.dev/errors/"+i;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var u=2;u<arguments.length;u++)a+="&args[]="+encodeURIComponent(arguments[u])}return"Minified React error #"+i+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function s(i){var a=i,u=i;if(i.alternate)for(;a.return;)a=a.return;else{i=a;do a=i,(a.flags&4098)!==0&&(u=a.return),i=a.return;while(i)}return a.tag===3?u:null}function l(i){if(i.tag===13){var a=i.memoizedState;if(a===null&&(i=i.alternate,i!==null&&(a=i.memoizedState)),a!==null)return a.dehydrated}return null}function c(i){if(s(i)!==i)throw Error(r(188))}function f(i){var a=i.alternate;if(!a){if(a=s(i),a===null)throw Error(r(188));return a!==i?null:i}for(var u=i,h=a;;){var v=u.return;if(v===null)break;var w=v.alternate;if(w===null){if(h=v.return,h!==null){u=h;continue}break}if(v.child===w.child){for(w=v.child;w;){if(w===u)return c(v),i;if(w===h)return c(v),a;w=w.sibling}throw Error(r(188))}if(u.return!==h.return)u=v,h=w;else{for(var I=!1,N=v.child;N;){if(N===u){I=!0,u=v,h=w;break}if(N===h){I=!0,h=v,u=w;break}N=N.sibling}if(!I){for(N=w.child;N;){if(N===u){I=!0,u=w,h=v;break}if(N===h){I=!0,h=w,u=v;break}N=N.sibling}if(!I)throw Error(r(189))}}if(u.alternate!==h)throw Error(r(190))}if(u.tag!==3)throw Error(r(188));return u.stateNode.current===u?i:a}function d(i){var a=i.tag;if(a===5||a===26||a===27||a===6)return i;for(i=i.child;i!==null;){if(a=d(i),a!==null)return a;i=i.sibling}return null}var p=Object.assign,g=Symbol.for("react.element"),m=Symbol.for("react.transitional.element"),y=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),S=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),x=Symbol.for("react.consumer"),_=Symbol.for("react.context"),M=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),D=Symbol.for("react.activity"),U=Symbol.for("react.memo_cache_sentinel"),L=Symbol.iterator;function j(i){return i===null||typeof i!="object"?null:(i=L&&i[L]||i["@@iterator"],typeof i=="function"?i:null)}var B=Symbol.for("react.client.reference");function Y(i){if(i==null)return null;if(typeof i=="function")return i.$$typeof===B?null:i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case b:return"Fragment";case R:return"Profiler";case S:return"StrictMode";case T:return"Suspense";case A:return"SuspenseList";case D:return"Activity"}if(typeof i=="object")switch(i.$$typeof){case y:return"Portal";case _:return(i.displayName||"Context")+".Provider";case x:return(i._context.displayName||"Context")+".Consumer";case M:var a=i.render;return i=i.displayName,i||(i=a.displayName||a.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case O:return a=i.displayName||null,a!==null?a:Y(i.type)||"Memo";case k:a=i._payload,i=i._init;try{return Y(i(a))}catch{}}return null}var H=Array.isArray,F=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q={pending:!1,data:null,method:null,action:null},W=[],P=-1;function Q(i){return{current:i}}function Z(i){0>P||(i.current=W[P],W[P]=null,P--)}function G(i,a){P++,W[P]=i.current,i.current=a}var ne=Q(null),re=Q(null),z=Q(null),le=Q(null);function K(i,a){switch(G(z,a),G(re,i),G(ne,null),a.nodeType){case 9:case 11:i=(i=a.documentElement)&&(i=i.namespaceURI)?l_(i):0;break;default:if(i=a.tagName,a=a.namespaceURI)a=l_(a),i=u_(a,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}Z(ne),G(ne,i)}function se(){Z(ne),Z(re),Z(z)}function ie(i){i.memoizedState!==null&&G(le,i);var a=ne.current,u=u_(a,i.type);a!==u&&(G(re,i),G(ne,u))}function ve(i){re.current===i&&(Z(ne),Z(re)),le.current===i&&(Z(le),cf._currentValue=q)}var pe=Object.prototype.hasOwnProperty,Se=e.unstable_scheduleCallback,Ie=e.unstable_cancelCallback,Te=e.unstable_shouldYield,Le=e.unstable_requestPaint,ge=e.unstable_now,Re=e.unstable_getCurrentPriorityLevel,xe=e.unstable_ImmediatePriority,$=e.unstable_UserBlockingPriority,J=e.unstable_NormalPriority,ae=e.unstable_LowPriority,Me=e.unstable_IdlePriority,_e=e.log,be=e.unstable_setDisableYieldValue,ke=null,He=null;function Ve(i){if(typeof _e=="function"&&be(i),He&&typeof He.setStrictMode=="function")try{He.setStrictMode(ke,i)}catch{}}var Fe=Math.clz32?Math.clz32:an,Et=Math.log,pt=Math.LN2;function an(i){return i>>>=0,i===0?32:31-(Et(i)/pt|0)|0}var en=256,ye=4194304;function qe(i){var a=i&42;if(a!==0)return a;switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function je(i,a,u){var h=i.pendingLanes;if(h===0)return 0;var v=0,w=i.suspendedLanes,I=i.pingedLanes;i=i.warmLanes;var N=h&134217727;return N!==0?(h=N&~w,h!==0?v=qe(h):(I&=N,I!==0?v=qe(I):u||(u=N&~i,u!==0&&(v=qe(u))))):(N=h&~w,N!==0?v=qe(N):I!==0?v=qe(I):u||(u=h&~i,u!==0&&(v=qe(u)))),v===0?0:a!==0&&a!==v&&(a&w)===0&&(w=v&-v,u=a&-a,w>=u||w===32&&(u&4194048)!==0)?a:v}function Ge(i,a){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&a)===0}function Ke(i,a){switch(i){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function tt(){var i=en;return en<<=1,(en&4194048)===0&&(en=256),i}function Nt(){var i=ye;return ye<<=1,(ye&62914560)===0&&(ye=4194304),i}function Wt(i){for(var a=[],u=0;31>u;u++)a.push(i);return a}function wt(i,a){i.pendingLanes|=a,a!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function kt(i,a,u,h,v,w){var I=i.pendingLanes;i.pendingLanes=u,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=u,i.entangledLanes&=u,i.errorRecoveryDisabledLanes&=u,i.shellSuspendCounter=0;var N=i.entanglements,X=i.expirationTimes,fe=i.hiddenUpdates;for(u=I&~u;0<u;){var we=31-Fe(u),Ae=1<<we;N[we]=0,X[we]=-1;var de=fe[we];if(de!==null)for(fe[we]=null,we=0;we<de.length;we++){var he=de[we];he!==null&&(he.lane&=-536870913)}u&=~Ae}h!==0&&gt(i,h,0),w!==0&&v===0&&i.tag!==0&&(i.suspendedLanes|=w&~(I&~a))}function gt(i,a,u){i.pendingLanes|=a,i.suspendedLanes&=~a;var h=31-Fe(a);i.entangledLanes|=a,i.entanglements[h]=i.entanglements[h]|1073741824|u&4194090}function Vt(i,a){var u=i.entangledLanes|=a;for(i=i.entanglements;u;){var h=31-Fe(u),v=1<<h;v&a|i[h]&a&&(i[h]|=a),u&=~v}}function Ft(i){switch(i){case 2:i=1;break;case 8:i=4;break;case 32:i=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:i=128;break;case 268435456:i=134217728;break;default:i=0}return i}function Mt(i){return i&=-i,2<i?8<i?(i&134217727)!==0?32:268435456:8:2}function fn(){var i=V.p;return i!==0?i:(i=window.event,i===void 0?32:A_(i.type))}function mt(i,a){var u=V.p;try{return V.p=i,a()}finally{V.p=u}}var ft=Math.random().toString(36).slice(2),ot="__reactFiber$"+ft,Ht="__reactProps$"+ft,Ot="__reactContainer$"+ft,Fn="__reactEvents$"+ft,Wn="__reactListeners$"+ft,Xn="__reactHandles$"+ft,sr="__reactResources$"+ft,Po="__reactMarker$"+ft;function bl(i){delete i[ot],delete i[Ht],delete i[Fn],delete i[Wn],delete i[Xn]}function Mi(i){var a=i[ot];if(a)return a;for(var u=i.parentNode;u;){if(a=u[Ot]||u[ot]){if(u=a.alternate,a.child!==null||u!==null&&u.child!==null)for(i=h_(i);i!==null;){if(u=i[ot])return u;i=h_(i)}return a}i=u,u=i.parentNode}return null}function Oi(i){if(i=i[ot]||i[Ot]){var a=i.tag;if(a===5||a===6||a===13||a===26||a===27||a===3)return i}return null}function Ec(i){var a=i.tag;if(a===5||a===26||a===27||a===6)return i.stateNode;throw Error(r(33))}function Sl(i){var a=i[sr];return a||(a=i[sr]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function Qn(i){i[Po]=!0}var QE=new Set,ZE={};function Ea(i,a){El(i,a),El(i+"Capture",a)}function El(i,a){for(ZE[i]=a,i=0;i<a.length;i++)QE.add(a[i])}var z3=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),JE={},ew={};function U3(i){return pe.call(ew,i)?!0:pe.call(JE,i)?!1:z3.test(i)?ew[i]=!0:(JE[i]=!0,!1)}function Bd(i,a,u){if(U3(a))if(u===null)i.removeAttribute(a);else{switch(typeof u){case"undefined":case"function":case"symbol":i.removeAttribute(a);return;case"boolean":var h=a.toLowerCase().slice(0,5);if(h!=="data-"&&h!=="aria-"){i.removeAttribute(a);return}}i.setAttribute(a,""+u)}}function Hd(i,a,u){if(u===null)i.removeAttribute(a);else{switch(typeof u){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(a);return}i.setAttribute(a,""+u)}}function Ii(i,a,u,h){if(h===null)i.removeAttribute(u);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(u);return}i.setAttributeNS(a,u,""+h)}}var Xm,tw;function wl(i){if(Xm===void 0)try{throw Error()}catch(u){var a=u.stack.trim().match(/\n( *(at )?)/);Xm=a&&a[1]||"",tw=-1<u.stack.indexOf(`
1
+ var Kk=Object.defineProperty;var L_=e=>{throw TypeError(e)};var Wk=(e,t,n)=>t in e?Kk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Rn=(e,t,n)=>Wk(e,typeof t!="symbol"?t+"":t,n),ny=(e,t,n)=>t.has(e)||L_("Cannot "+n);var ee=(e,t,n)=>(ny(e,t,"read from private field"),n?n.call(e):t.get(e)),Ze=(e,t,n)=>t.has(e)?L_("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Ue=(e,t,n,r)=>(ny(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),Rt=(e,t,n)=>(ny(e,t,"access private method"),n);var Kh=(e,t,n,r)=>({set _(o){Ue(e,t,o,n)},get _(){return ee(e,t,r)}});(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ba4a34e5-90d1-4a47-bbd0-bb60d09dc4a0",e._sentryDebugIdIdentifier="sentry-dbid-ba4a34e5-90d1-4a47-bbd0-bb60d09dc4a0")}catch{}})();function uM(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Xk=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};Xk.SENTRY_RELEASE={id:"ef7f0fb54a84b4746849d1663233e1c7c650284d"};var P_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function us(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ry={exports:{}},gf={};var N_;function Qk(){if(N_)return gf;N_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,o,s){var l=null;if(s!==void 0&&(l=""+s),o.key!==void 0&&(l=""+o.key),"key"in o){s={};for(var c in o)c!=="key"&&(s[c]=o[c])}else s=o;return o=s.ref,{$$typeof:e,type:r,key:l,ref:o!==void 0?o:null,props:s}}return gf.Fragment=t,gf.jsx=n,gf.jsxs=n,gf}var F_;function Zk(){return F_||(F_=1,ry.exports=Qk()),ry.exports}var Ee=Zk(),oy={exports:{}},vt={};var B_;function Jk(){if(B_)return vt;B_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),g=Symbol.iterator;function m(P){return P===null||typeof P!="object"?null:(P=g&&P[g]||P["@@iterator"],typeof P=="function"?P:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,S={};function R(P,Q,Z){this.props=P,this.context=Q,this.refs=S,this.updater=Z||y}R.prototype.isReactComponent={},R.prototype.setState=function(P,Q){if(typeof P!="object"&&typeof P!="function"&&P!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,P,Q,"setState")},R.prototype.forceUpdate=function(P){this.updater.enqueueForceUpdate(this,P,"forceUpdate")};function C(){}C.prototype=R.prototype;function x(P,Q,Z){this.props=P,this.context=Q,this.refs=S,this.updater=Z||y}var _=x.prototype=new C;_.constructor=x,b(_,R.prototype),_.isPureReactComponent=!0;var M=Array.isArray,T={H:null,A:null,T:null,S:null,V:null},A=Object.prototype.hasOwnProperty;function O(P,Q,Z,G,ne,re){return Z=re.ref,{$$typeof:e,type:P,key:Q,ref:Z!==void 0?Z:null,props:re}}function k(P,Q){return O(P.type,Q,void 0,void 0,void 0,P.props)}function D(P){return typeof P=="object"&&P!==null&&P.$$typeof===e}function U(P){var Q={"=":"=0",":":"=2"};return"$"+P.replace(/[=:]/g,function(Z){return Q[Z]})}var L=/\/+/g;function j(P,Q){return typeof P=="object"&&P!==null&&P.key!=null?U(""+P.key):Q.toString(36)}function B(){}function Y(P){switch(P.status){case"fulfilled":return P.value;case"rejected":throw P.reason;default:switch(typeof P.status=="string"?P.then(B,B):(P.status="pending",P.then(function(Q){P.status==="pending"&&(P.status="fulfilled",P.value=Q)},function(Q){P.status==="pending"&&(P.status="rejected",P.reason=Q)})),P.status){case"fulfilled":return P.value;case"rejected":throw P.reason}}throw P}function H(P,Q,Z,G,ne){var re=typeof P;(re==="undefined"||re==="boolean")&&(P=null);var z=!1;if(P===null)z=!0;else switch(re){case"bigint":case"string":case"number":z=!0;break;case"object":switch(P.$$typeof){case e:case t:z=!0;break;case p:return z=P._init,H(z(P._payload),Q,Z,G,ne)}}if(z)return ne=ne(P),z=G===""?"."+j(P,0):G,M(ne)?(Z="",z!=null&&(Z=z.replace(L,"$&/")+"/"),H(ne,Q,Z,"",function(se){return se})):ne!=null&&(D(ne)&&(ne=k(ne,Z+(ne.key==null||P&&P.key===ne.key?"":(""+ne.key).replace(L,"$&/")+"/")+z)),Q.push(ne)),1;z=0;var le=G===""?".":G+":";if(M(P))for(var K=0;K<P.length;K++)G=P[K],re=le+j(G,K),z+=H(G,Q,Z,re,ne);else if(K=m(P),typeof K=="function")for(P=K.call(P),K=0;!(G=P.next()).done;)G=G.value,re=le+j(G,K++),z+=H(G,Q,Z,re,ne);else if(re==="object"){if(typeof P.then=="function")return H(Y(P),Q,Z,G,ne);throw Q=String(P),Error("Objects are not valid as a React child (found: "+(Q==="[object Object]"?"object with keys {"+Object.keys(P).join(", ")+"}":Q)+"). If you meant to render a collection of children, use an array instead.")}return z}function F(P,Q,Z){if(P==null)return P;var G=[],ne=0;return H(P,G,"","",function(re){return Q.call(Z,re,ne++)}),G}function V(P){if(P._status===-1){var Q=P._result;Q=Q(),Q.then(function(Z){(P._status===0||P._status===-1)&&(P._status=1,P._result=Z)},function(Z){(P._status===0||P._status===-1)&&(P._status=2,P._result=Z)}),P._status===-1&&(P._status=0,P._result=Q)}if(P._status===1)return P._result.default;throw P._result}var q=typeof reportError=="function"?reportError:function(P){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var Q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof P=="object"&&P!==null&&typeof P.message=="string"?String(P.message):String(P),error:P});if(!window.dispatchEvent(Q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",P);return}console.error(P)};function W(){}return vt.Children={map:F,forEach:function(P,Q,Z){F(P,function(){Q.apply(this,arguments)},Z)},count:function(P){var Q=0;return F(P,function(){Q++}),Q},toArray:function(P){return F(P,function(Q){return Q})||[]},only:function(P){if(!D(P))throw Error("React.Children.only expected to receive a single React element child.");return P}},vt.Component=R,vt.Fragment=n,vt.Profiler=o,vt.PureComponent=x,vt.StrictMode=r,vt.Suspense=f,vt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,vt.__COMPILER_RUNTIME={__proto__:null,c:function(P){return T.H.useMemoCache(P)}},vt.cache=function(P){return function(){return P.apply(null,arguments)}},vt.cloneElement=function(P,Q,Z){if(P==null)throw Error("The argument must be a React element, but you passed "+P+".");var G=b({},P.props),ne=P.key,re=void 0;if(Q!=null)for(z in Q.ref!==void 0&&(re=void 0),Q.key!==void 0&&(ne=""+Q.key),Q)!A.call(Q,z)||z==="key"||z==="__self"||z==="__source"||z==="ref"&&Q.ref===void 0||(G[z]=Q[z]);var z=arguments.length-2;if(z===1)G.children=Z;else if(1<z){for(var le=Array(z),K=0;K<z;K++)le[K]=arguments[K+2];G.children=le}return O(P.type,ne,void 0,void 0,re,G)},vt.createContext=function(P){return P={$$typeof:l,_currentValue:P,_currentValue2:P,_threadCount:0,Provider:null,Consumer:null},P.Provider=P,P.Consumer={$$typeof:s,_context:P},P},vt.createElement=function(P,Q,Z){var G,ne={},re=null;if(Q!=null)for(G in Q.key!==void 0&&(re=""+Q.key),Q)A.call(Q,G)&&G!=="key"&&G!=="__self"&&G!=="__source"&&(ne[G]=Q[G]);var z=arguments.length-2;if(z===1)ne.children=Z;else if(1<z){for(var le=Array(z),K=0;K<z;K++)le[K]=arguments[K+2];ne.children=le}if(P&&P.defaultProps)for(G in z=P.defaultProps,z)ne[G]===void 0&&(ne[G]=z[G]);return O(P,re,void 0,void 0,null,ne)},vt.createRef=function(){return{current:null}},vt.forwardRef=function(P){return{$$typeof:c,render:P}},vt.isValidElement=D,vt.lazy=function(P){return{$$typeof:p,_payload:{_status:-1,_result:P},_init:V}},vt.memo=function(P,Q){return{$$typeof:d,type:P,compare:Q===void 0?null:Q}},vt.startTransition=function(P){var Q=T.T,Z={};T.T=Z;try{var G=P(),ne=T.S;ne!==null&&ne(Z,G),typeof G=="object"&&G!==null&&typeof G.then=="function"&&G.then(W,q)}catch(re){q(re)}finally{T.T=Q}},vt.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},vt.use=function(P){return T.H.use(P)},vt.useActionState=function(P,Q,Z){return T.H.useActionState(P,Q,Z)},vt.useCallback=function(P,Q){return T.H.useCallback(P,Q)},vt.useContext=function(P){return T.H.useContext(P)},vt.useDebugValue=function(){},vt.useDeferredValue=function(P,Q){return T.H.useDeferredValue(P,Q)},vt.useEffect=function(P,Q,Z){var G=T.H;if(typeof Z=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return G.useEffect(P,Q)},vt.useId=function(){return T.H.useId()},vt.useImperativeHandle=function(P,Q,Z){return T.H.useImperativeHandle(P,Q,Z)},vt.useInsertionEffect=function(P,Q){return T.H.useInsertionEffect(P,Q)},vt.useLayoutEffect=function(P,Q){return T.H.useLayoutEffect(P,Q)},vt.useMemo=function(P,Q){return T.H.useMemo(P,Q)},vt.useOptimistic=function(P,Q){return T.H.useOptimistic(P,Q)},vt.useReducer=function(P,Q,Z){return T.H.useReducer(P,Q,Z)},vt.useRef=function(P){return T.H.useRef(P)},vt.useState=function(P){return T.H.useState(P)},vt.useSyncExternalStore=function(P,Q,Z){return T.H.useSyncExternalStore(P,Q,Z)},vt.useTransition=function(){return T.H.useTransition()},vt.version="19.1.1",vt}var H_;function da(){return H_||(H_=1,oy.exports=Jk()),oy.exports}var E=da();const ce=us(E),cM=uM({__proto__:null,default:ce},[E]);var iy={exports:{}},mf={},sy={exports:{}},ay={};var z_;function eL(){return z_||(z_=1,function(e){function t(F,V){var q=F.length;F.push(V);e:for(;0<q;){var W=q-1>>>1,P=F[W];if(0<o(P,V))F[W]=V,F[q]=P,q=W;else break e}}function n(F){return F.length===0?null:F[0]}function r(F){if(F.length===0)return null;var V=F[0],q=F.pop();if(q!==V){F[0]=q;e:for(var W=0,P=F.length,Q=P>>>1;W<Q;){var Z=2*(W+1)-1,G=F[Z],ne=Z+1,re=F[ne];if(0>o(G,q))ne<P&&0>o(re,G)?(F[W]=re,F[ne]=q,W=ne):(F[W]=G,F[Z]=q,W=Z);else if(ne<P&&0>o(re,q))F[W]=re,F[ne]=q,W=ne;else break e}}return V}function o(F,V){var q=F.sortIndex-V.sortIndex;return q!==0?q:F.id-V.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,c=l.now();e.unstable_now=function(){return l.now()-c}}var f=[],d=[],p=1,g=null,m=3,y=!1,b=!1,S=!1,R=!1,C=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function M(F){for(var V=n(d);V!==null;){if(V.callback===null)r(d);else if(V.startTime<=F)r(d),V.sortIndex=V.expirationTime,t(f,V);else break;V=n(d)}}function T(F){if(S=!1,M(F),!b)if(n(f)!==null)b=!0,A||(A=!0,j());else{var V=n(d);V!==null&&H(T,V.startTime-F)}}var A=!1,O=-1,k=5,D=-1;function U(){return R?!0:!(e.unstable_now()-D<k)}function L(){if(R=!1,A){var F=e.unstable_now();D=F;var V=!0;try{e:{b=!1,S&&(S=!1,x(O),O=-1),y=!0;var q=m;try{t:{for(M(F),g=n(f);g!==null&&!(g.expirationTime>F&&U());){var W=g.callback;if(typeof W=="function"){g.callback=null,m=g.priorityLevel;var P=W(g.expirationTime<=F);if(F=e.unstable_now(),typeof P=="function"){g.callback=P,M(F),V=!0;break t}g===n(f)&&r(f),M(F)}else r(f);g=n(f)}if(g!==null)V=!0;else{var Q=n(d);Q!==null&&H(T,Q.startTime-F),V=!1}}break e}finally{g=null,m=q,y=!1}V=void 0}}finally{V?j():A=!1}}}var j;if(typeof _=="function")j=function(){_(L)};else if(typeof MessageChannel<"u"){var B=new MessageChannel,Y=B.port2;B.port1.onmessage=L,j=function(){Y.postMessage(null)}}else j=function(){C(L,0)};function H(F,V){O=C(function(){F(e.unstable_now())},V)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(F){F.callback=null},e.unstable_forceFrameRate=function(F){0>F||125<F?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):k=0<F?Math.floor(1e3/F):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_next=function(F){switch(m){case 1:case 2:case 3:var V=3;break;default:V=m}var q=m;m=V;try{return F()}finally{m=q}},e.unstable_requestPaint=function(){R=!0},e.unstable_runWithPriority=function(F,V){switch(F){case 1:case 2:case 3:case 4:case 5:break;default:F=3}var q=m;m=F;try{return V()}finally{m=q}},e.unstable_scheduleCallback=function(F,V,q){var W=e.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?W+q:W):q=W,F){case 1:var P=-1;break;case 2:P=250;break;case 5:P=1073741823;break;case 4:P=1e4;break;default:P=5e3}return P=q+P,F={id:p++,callback:V,priorityLevel:F,startTime:q,expirationTime:P,sortIndex:-1},q>W?(F.sortIndex=q,t(d,F),n(f)===null&&F===n(d)&&(S?(x(O),O=-1):S=!0,H(T,q-W))):(F.sortIndex=P,t(f,F),b||y||(b=!0,A||(A=!0,j()))),F},e.unstable_shouldYield=U,e.unstable_wrapCallback=function(F){var V=m;return function(){var q=m;m=V;try{return F.apply(this,arguments)}finally{m=q}}}}(ay)),ay}var U_;function tL(){return U_||(U_=1,sy.exports=eL()),sy.exports}var ly={exports:{}},gr={};var V_;function nL(){if(V_)return gr;V_=1;var e=da();function t(f){var d="https://react.dev/errors/"+f;if(1<arguments.length){d+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)d+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+f+"; visit "+d+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},o=Symbol.for("react.portal");function s(f,d,p){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:g==null?null:""+g,children:f,containerInfo:d,implementation:p}}var l=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(f,d){if(f==="font")return"";if(typeof d=="string")return d==="use-credentials"?d:""}return gr.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,gr.createPortal=function(f,d){var p=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!d||d.nodeType!==1&&d.nodeType!==9&&d.nodeType!==11)throw Error(t(299));return s(f,d,null,p)},gr.flushSync=function(f){var d=l.T,p=r.p;try{if(l.T=null,r.p=2,f)return f()}finally{l.T=d,r.p=p,r.d.f()}},gr.preconnect=function(f,d){typeof f=="string"&&(d?(d=d.crossOrigin,d=typeof d=="string"?d==="use-credentials"?d:"":void 0):d=null,r.d.C(f,d))},gr.prefetchDNS=function(f){typeof f=="string"&&r.d.D(f)},gr.preinit=function(f,d){if(typeof f=="string"&&d&&typeof d.as=="string"){var p=d.as,g=c(p,d.crossOrigin),m=typeof d.integrity=="string"?d.integrity:void 0,y=typeof d.fetchPriority=="string"?d.fetchPriority:void 0;p==="style"?r.d.S(f,typeof d.precedence=="string"?d.precedence:void 0,{crossOrigin:g,integrity:m,fetchPriority:y}):p==="script"&&r.d.X(f,{crossOrigin:g,integrity:m,fetchPriority:y,nonce:typeof d.nonce=="string"?d.nonce:void 0})}},gr.preinitModule=function(f,d){if(typeof f=="string")if(typeof d=="object"&&d!==null){if(d.as==null||d.as==="script"){var p=c(d.as,d.crossOrigin);r.d.M(f,{crossOrigin:p,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0})}}else d==null&&r.d.M(f)},gr.preload=function(f,d){if(typeof f=="string"&&typeof d=="object"&&d!==null&&typeof d.as=="string"){var p=d.as,g=c(p,d.crossOrigin);r.d.L(f,p,{crossOrigin:g,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0,type:typeof d.type=="string"?d.type:void 0,fetchPriority:typeof d.fetchPriority=="string"?d.fetchPriority:void 0,referrerPolicy:typeof d.referrerPolicy=="string"?d.referrerPolicy:void 0,imageSrcSet:typeof d.imageSrcSet=="string"?d.imageSrcSet:void 0,imageSizes:typeof d.imageSizes=="string"?d.imageSizes:void 0,media:typeof d.media=="string"?d.media:void 0})}},gr.preloadModule=function(f,d){if(typeof f=="string")if(d){var p=c(d.as,d.crossOrigin);r.d.m(f,{as:typeof d.as=="string"&&d.as!=="script"?d.as:void 0,crossOrigin:p,integrity:typeof d.integrity=="string"?d.integrity:void 0})}else r.d.m(f)},gr.requestFormReset=function(f){r.d.r(f)},gr.unstable_batchedUpdates=function(f,d){return f(d)},gr.useFormState=function(f,d,p){return l.H.useFormState(f,d,p)},gr.useFormStatus=function(){return l.H.useHostTransitionStatus()},gr.version="19.1.1",gr}var j_;function fM(){if(j_)return ly.exports;j_=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),ly.exports=nL(),ly.exports}var $_;function rL(){if($_)return mf;$_=1;var e=tL(),t=da(),n=fM();function r(i){var a="https://react.dev/errors/"+i;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var u=2;u<arguments.length;u++)a+="&args[]="+encodeURIComponent(arguments[u])}return"Minified React error #"+i+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function s(i){var a=i,u=i;if(i.alternate)for(;a.return;)a=a.return;else{i=a;do a=i,(a.flags&4098)!==0&&(u=a.return),i=a.return;while(i)}return a.tag===3?u:null}function l(i){if(i.tag===13){var a=i.memoizedState;if(a===null&&(i=i.alternate,i!==null&&(a=i.memoizedState)),a!==null)return a.dehydrated}return null}function c(i){if(s(i)!==i)throw Error(r(188))}function f(i){var a=i.alternate;if(!a){if(a=s(i),a===null)throw Error(r(188));return a!==i?null:i}for(var u=i,h=a;;){var v=u.return;if(v===null)break;var w=v.alternate;if(w===null){if(h=v.return,h!==null){u=h;continue}break}if(v.child===w.child){for(w=v.child;w;){if(w===u)return c(v),i;if(w===h)return c(v),a;w=w.sibling}throw Error(r(188))}if(u.return!==h.return)u=v,h=w;else{for(var I=!1,N=v.child;N;){if(N===u){I=!0,u=v,h=w;break}if(N===h){I=!0,h=v,u=w;break}N=N.sibling}if(!I){for(N=w.child;N;){if(N===u){I=!0,u=w,h=v;break}if(N===h){I=!0,h=w,u=v;break}N=N.sibling}if(!I)throw Error(r(189))}}if(u.alternate!==h)throw Error(r(190))}if(u.tag!==3)throw Error(r(188));return u.stateNode.current===u?i:a}function d(i){var a=i.tag;if(a===5||a===26||a===27||a===6)return i;for(i=i.child;i!==null;){if(a=d(i),a!==null)return a;i=i.sibling}return null}var p=Object.assign,g=Symbol.for("react.element"),m=Symbol.for("react.transitional.element"),y=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),S=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),x=Symbol.for("react.consumer"),_=Symbol.for("react.context"),M=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),D=Symbol.for("react.activity"),U=Symbol.for("react.memo_cache_sentinel"),L=Symbol.iterator;function j(i){return i===null||typeof i!="object"?null:(i=L&&i[L]||i["@@iterator"],typeof i=="function"?i:null)}var B=Symbol.for("react.client.reference");function Y(i){if(i==null)return null;if(typeof i=="function")return i.$$typeof===B?null:i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case b:return"Fragment";case R:return"Profiler";case S:return"StrictMode";case T:return"Suspense";case A:return"SuspenseList";case D:return"Activity"}if(typeof i=="object")switch(i.$$typeof){case y:return"Portal";case _:return(i.displayName||"Context")+".Provider";case x:return(i._context.displayName||"Context")+".Consumer";case M:var a=i.render;return i=i.displayName,i||(i=a.displayName||a.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case O:return a=i.displayName||null,a!==null?a:Y(i.type)||"Memo";case k:a=i._payload,i=i._init;try{return Y(i(a))}catch{}}return null}var H=Array.isArray,F=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q={pending:!1,data:null,method:null,action:null},W=[],P=-1;function Q(i){return{current:i}}function Z(i){0>P||(i.current=W[P],W[P]=null,P--)}function G(i,a){P++,W[P]=i.current,i.current=a}var ne=Q(null),re=Q(null),z=Q(null),le=Q(null);function K(i,a){switch(G(z,a),G(re,i),G(ne,null),a.nodeType){case 9:case 11:i=(i=a.documentElement)&&(i=i.namespaceURI)?l_(i):0;break;default:if(i=a.tagName,a=a.namespaceURI)a=l_(a),i=u_(a,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}Z(ne),G(ne,i)}function se(){Z(ne),Z(re),Z(z)}function ie(i){i.memoizedState!==null&&G(le,i);var a=ne.current,u=u_(a,i.type);a!==u&&(G(re,i),G(ne,u))}function ve(i){re.current===i&&(Z(ne),Z(re)),le.current===i&&(Z(le),cf._currentValue=q)}var pe=Object.prototype.hasOwnProperty,Se=e.unstable_scheduleCallback,Ie=e.unstable_cancelCallback,Te=e.unstable_shouldYield,Le=e.unstable_requestPaint,ge=e.unstable_now,Re=e.unstable_getCurrentPriorityLevel,xe=e.unstable_ImmediatePriority,$=e.unstable_UserBlockingPriority,J=e.unstable_NormalPriority,ae=e.unstable_LowPriority,Me=e.unstable_IdlePriority,_e=e.log,be=e.unstable_setDisableYieldValue,ke=null,He=null;function Ve(i){if(typeof _e=="function"&&be(i),He&&typeof He.setStrictMode=="function")try{He.setStrictMode(ke,i)}catch{}}var Fe=Math.clz32?Math.clz32:an,Et=Math.log,pt=Math.LN2;function an(i){return i>>>=0,i===0?32:31-(Et(i)/pt|0)|0}var en=256,ye=4194304;function qe(i){var a=i&42;if(a!==0)return a;switch(i&-i){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return i&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return i}}function je(i,a,u){var h=i.pendingLanes;if(h===0)return 0;var v=0,w=i.suspendedLanes,I=i.pingedLanes;i=i.warmLanes;var N=h&134217727;return N!==0?(h=N&~w,h!==0?v=qe(h):(I&=N,I!==0?v=qe(I):u||(u=N&~i,u!==0&&(v=qe(u))))):(N=h&~w,N!==0?v=qe(N):I!==0?v=qe(I):u||(u=h&~i,u!==0&&(v=qe(u)))),v===0?0:a!==0&&a!==v&&(a&w)===0&&(w=v&-v,u=a&-a,w>=u||w===32&&(u&4194048)!==0)?a:v}function Ge(i,a){return(i.pendingLanes&~(i.suspendedLanes&~i.pingedLanes)&a)===0}function Ke(i,a){switch(i){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function tt(){var i=en;return en<<=1,(en&4194048)===0&&(en=256),i}function Nt(){var i=ye;return ye<<=1,(ye&62914560)===0&&(ye=4194304),i}function Wt(i){for(var a=[],u=0;31>u;u++)a.push(i);return a}function wt(i,a){i.pendingLanes|=a,a!==268435456&&(i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0)}function kt(i,a,u,h,v,w){var I=i.pendingLanes;i.pendingLanes=u,i.suspendedLanes=0,i.pingedLanes=0,i.warmLanes=0,i.expiredLanes&=u,i.entangledLanes&=u,i.errorRecoveryDisabledLanes&=u,i.shellSuspendCounter=0;var N=i.entanglements,X=i.expirationTimes,fe=i.hiddenUpdates;for(u=I&~u;0<u;){var we=31-Fe(u),Ae=1<<we;N[we]=0,X[we]=-1;var de=fe[we];if(de!==null)for(fe[we]=null,we=0;we<de.length;we++){var he=de[we];he!==null&&(he.lane&=-536870913)}u&=~Ae}h!==0&&gt(i,h,0),w!==0&&v===0&&i.tag!==0&&(i.suspendedLanes|=w&~(I&~a))}function gt(i,a,u){i.pendingLanes|=a,i.suspendedLanes&=~a;var h=31-Fe(a);i.entangledLanes|=a,i.entanglements[h]=i.entanglements[h]|1073741824|u&4194090}function Vt(i,a){var u=i.entangledLanes|=a;for(i=i.entanglements;u;){var h=31-Fe(u),v=1<<h;v&a|i[h]&a&&(i[h]|=a),u&=~v}}function Ft(i){switch(i){case 2:i=1;break;case 8:i=4;break;case 32:i=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:i=128;break;case 268435456:i=134217728;break;default:i=0}return i}function Mt(i){return i&=-i,2<i?8<i?(i&134217727)!==0?32:268435456:8:2}function fn(){var i=V.p;return i!==0?i:(i=window.event,i===void 0?32:A_(i.type))}function mt(i,a){var u=V.p;try{return V.p=i,a()}finally{V.p=u}}var ft=Math.random().toString(36).slice(2),ot="__reactFiber$"+ft,Ht="__reactProps$"+ft,Ot="__reactContainer$"+ft,Fn="__reactEvents$"+ft,Wn="__reactListeners$"+ft,Xn="__reactHandles$"+ft,sr="__reactResources$"+ft,Po="__reactMarker$"+ft;function bl(i){delete i[ot],delete i[Ht],delete i[Fn],delete i[Wn],delete i[Xn]}function Mi(i){var a=i[ot];if(a)return a;for(var u=i.parentNode;u;){if(a=u[Ot]||u[ot]){if(u=a.alternate,a.child!==null||u!==null&&u.child!==null)for(i=h_(i);i!==null;){if(u=i[ot])return u;i=h_(i)}return a}i=u,u=i.parentNode}return null}function Oi(i){if(i=i[ot]||i[Ot]){var a=i.tag;if(a===5||a===6||a===13||a===26||a===27||a===3)return i}return null}function Ec(i){var a=i.tag;if(a===5||a===26||a===27||a===6)return i.stateNode;throw Error(r(33))}function Sl(i){var a=i[sr];return a||(a=i[sr]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function Qn(i){i[Po]=!0}var QE=new Set,ZE={};function Ea(i,a){El(i,a),El(i+"Capture",a)}function El(i,a){for(ZE[i]=a,i=0;i<a.length;i++)QE.add(a[i])}var z3=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),JE={},ew={};function U3(i){return pe.call(ew,i)?!0:pe.call(JE,i)?!1:z3.test(i)?ew[i]=!0:(JE[i]=!0,!1)}function Bd(i,a,u){if(U3(a))if(u===null)i.removeAttribute(a);else{switch(typeof u){case"undefined":case"function":case"symbol":i.removeAttribute(a);return;case"boolean":var h=a.toLowerCase().slice(0,5);if(h!=="data-"&&h!=="aria-"){i.removeAttribute(a);return}}i.setAttribute(a,""+u)}}function Hd(i,a,u){if(u===null)i.removeAttribute(a);else{switch(typeof u){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(a);return}i.setAttribute(a,""+u)}}function Ii(i,a,u,h){if(h===null)i.removeAttribute(u);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":i.removeAttribute(u);return}i.setAttributeNS(a,u,""+h)}}var Xm,tw;function wl(i){if(Xm===void 0)try{throw Error()}catch(u){var a=u.stack.trim().match(/\n( *(at )?)/);Xm=a&&a[1]||"",tw=-1<u.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<u.stack.indexOf("@")?"@unknown:0:0":""}return`
3
3
  `+Xm+i+tw}var Qm=!1;function Zm(i,a){if(!i||Qm)return"";Qm=!0;var u=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var h={DetermineComponentFrameRoot:function(){try{if(a){var Ae=function(){throw Error()};if(Object.defineProperty(Ae.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ae,[])}catch(he){var de=he}Reflect.construct(i,[],Ae)}else{try{Ae.call()}catch(he){de=he}i.call(Ae.prototype)}}else{try{throw Error()}catch(he){de=he}(Ae=i())&&typeof Ae.catch=="function"&&Ae.catch(function(){})}}catch(he){if(he&&de&&typeof he.stack=="string")return[he.stack,de.stack]}return[null,null]}};h.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var v=Object.getOwnPropertyDescriptor(h.DetermineComponentFrameRoot,"name");v&&v.configurable&&Object.defineProperty(h.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var w=h.DetermineComponentFrameRoot(),I=w[0],N=w[1];if(I&&N){var X=I.split(`
4
4
  `),fe=N.split(`
@@ -71,5 +71,5 @@ Reason: ${y}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessi
71
71
  `);if(je!==kt){var gt=Nt[Wt];Fe({value:kt,selectionStart:gt!=null&&gt.startsWith(tt)?Ge-tt.length:Ge,selectionEnd:Ke-(je.length-kt.length)})}}else if(Ge!==Ke){var Nt=be(je,Ge),Vt=Nt.length-1,Ft=be(je,Ke).length-1,gt=Nt[Vt];Fe({value:je.split(`
72
72
  `).map(function(Xn,sr){return sr>=Vt&&sr<=Ft?tt+Xn:Xn}).join(`
73
73
  `),selectionStart:gt&&/\S/.test(gt)?Ge+tt.length:Ge,selectionEnd:Ke+tt.length*(Ft-Vt+1)})}else{var Mt=Ge+tt.length;Fe({value:je.substring(0,Ge)+tt+je.substring(Ke),selectionStart:Mt,selectionEnd:Mt})}else if(ye.key==="Backspace"){var fn=Ge!==Ke,mt=je.substring(0,Ge);if(mt.endsWith(tt)&&!fn){ye.preventDefault();var Mt=Ge-tt.length;Fe({value:je.substring(0,Ge-tt.length)+je.substring(Ke),selectionStart:Mt,selectionEnd:Mt})}}else if(ye.key==="Enter"){if(Ge===Ke){var ft=be(je,Ge).pop(),ot=ft==null?void 0:ft.match(/^\s+/);if(ot!=null&&ot[0]){ye.preventDefault();var Ht=`
74
- `+ot[0],Mt=Ge+Ht.length;Fe({value:je.substring(0,Ge)+Ht+je.substring(Ke),selectionStart:Mt,selectionEnd:Mt})}}}else if(ye.keyCode===d||ye.keyCode===p||ye.keyCode===g||ye.keyCode===m){var Ot=void 0;ye.keyCode===d&&ye.shiftKey?Ot=["(",")"]:ye.keyCode===p?ye.shiftKey?Ot=["{","}"]:Ot=["[","]"]:ye.keyCode===g?ye.shiftKey?Ot=['"','"']:Ot=["'","'"]:ye.keyCode===m&&!ye.shiftKey&&(Ot=["`","`"]),Ge!==Ke&&Ot&&(ye.preventDefault(),Fe({value:je.substring(0,Ge)+Ot[0]+je.substring(Ge,Ke)+Ot[1]+je.substring(Ke),selectionStart:Ge,selectionEnd:Ke+2}))}else(R?ye.metaKey&&ye.keyCode===c:ye.ctrlKey&&ye.keyCode===c)&&!ye.shiftKey&&!ye.altKey?(ye.preventDefault(),Et()):(R?ye.metaKey&&ye.keyCode===c&&ye.shiftKey:S?ye.ctrlKey&&ye.keyCode===l:ye.ctrlKey&&ye.keyCode===c&&ye.shiftKey)&&!ye.altKey?(ye.preventDefault(),pt()):ye.keyCode===f&&ye.ctrlKey&&(!R||ye.shiftKey)&&(ye.preventDefault(),ae(function(Fn){return!Fn}))}},en=function(ye){var qe=ye.currentTarget,je=qe.value,Ge=qe.selectionStart,Ke=qe.selectionEnd;ke({value:je,selectionStart:Ge,selectionEnd:Ke},!0),ne(je)};return s.useEffect(function(){He()},[He]),s.useImperativeHandle(O,function(){return{get session(){return{history:Re.current}},set session(ye){Re.current=ye.history}}},[]),s.createElement("div",e({},ge,{style:e(e({},M.container),ve)}),s.createElement("pre",e({className:K,"aria-hidden":"true",style:e(e(e({},M.editor),M.highlight),Me)},typeof _e=="string"?{dangerouslySetInnerHTML:{__html:_e+"<br />"}}:{children:_e})),s.createElement("textarea",{ref:function(ye){return xe.current=ye},style:e(e(e({},M.editor),M.textarea),Me),className:C+(Ie?" ".concat(Ie):""),id:Te,value:Le,onChange:en,onKeyDown:an,onClick:P,onKeyUp:G,onFocus:Q,onBlur:W,disabled:D,form:U,maxLength:F,minLength:V,name:q,placeholder:le,readOnly:se,required:ie,autoFocus:k,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),s.createElement("style",{dangerouslySetInnerHTML:{__html:x}}))}),M={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};return Pr.default=_,Pr}var EZ=SZ();const cne=us(EZ);var D1={exports:{}},ZA;function wZ(){return ZA||(ZA=1,function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var n=function(r){var o=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,s=0,l={},c={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function x(_){return _ instanceof f?new f(_.type,x(_.content),_.alias):Array.isArray(_)?_.map(x):_.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(x){return Object.prototype.toString.call(x).slice(8,-1)},objId:function(x){return x.__id||Object.defineProperty(x,"__id",{value:++s}),x.__id},clone:function x(_,M){M=M||{};var T,A;switch(c.util.type(_)){case"Object":if(A=c.util.objId(_),M[A])return M[A];T={},M[A]=T;for(var O in _)_.hasOwnProperty(O)&&(T[O]=x(_[O],M));return T;case"Array":return A=c.util.objId(_),M[A]?M[A]:(T=[],M[A]=T,_.forEach(function(k,D){T[D]=x(k,M)}),T);default:return _}},getLanguage:function(x){for(;x;){var _=o.exec(x.className);if(_)return _[1].toLowerCase();x=x.parentElement}return"none"},setLanguage:function(x,_){x.className=x.className.replace(RegExp(o,"gi"),""),x.classList.add("language-"+_)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(T){var x=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(T.stack)||[])[1];if(x){var _=document.getElementsByTagName("script");for(var M in _)if(_[M].src==x)return _[M]}return null}},isActive:function(x,_,M){for(var T="no-"+_;x;){var A=x.classList;if(A.contains(_))return!0;if(A.contains(T))return!1;x=x.parentElement}return!!M}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(x,_){var M=c.util.clone(c.languages[x]);for(var T in _)M[T]=_[T];return M},insertBefore:function(x,_,M,T){T=T||c.languages;var A=T[x],O={};for(var k in A)if(A.hasOwnProperty(k)){if(k==_)for(var D in M)M.hasOwnProperty(D)&&(O[D]=M[D]);M.hasOwnProperty(k)||(O[k]=A[k])}var U=T[x];return T[x]=O,c.languages.DFS(c.languages,function(L,j){j===U&&L!=x&&(this[L]=O)}),O},DFS:function x(_,M,T,A){A=A||{};var O=c.util.objId;for(var k in _)if(_.hasOwnProperty(k)){M.call(_,k,_[k],T||k);var D=_[k],U=c.util.type(D);U==="Object"&&!A[O(D)]?(A[O(D)]=!0,x(D,M,null,A)):U==="Array"&&!A[O(D)]&&(A[O(D)]=!0,x(D,M,k,A))}}},plugins:{},highlightAll:function(x,_){c.highlightAllUnder(document,x,_)},highlightAllUnder:function(x,_,M){var T={callback:M,container:x,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};c.hooks.run("before-highlightall",T),T.elements=Array.prototype.slice.apply(T.container.querySelectorAll(T.selector)),c.hooks.run("before-all-elements-highlight",T);for(var A=0,O;O=T.elements[A++];)c.highlightElement(O,_===!0,T.callback)},highlightElement:function(x,_,M){var T=c.util.getLanguage(x),A=c.languages[T];c.util.setLanguage(x,T);var O=x.parentElement;O&&O.nodeName.toLowerCase()==="pre"&&c.util.setLanguage(O,T);var k=x.textContent,D={element:x,language:T,grammar:A,code:k};function U(j){D.highlightedCode=j,c.hooks.run("before-insert",D),D.element.innerHTML=D.highlightedCode,c.hooks.run("after-highlight",D),c.hooks.run("complete",D),M&&M.call(D.element)}if(c.hooks.run("before-sanity-check",D),O=D.element.parentElement,O&&O.nodeName.toLowerCase()==="pre"&&!O.hasAttribute("tabindex")&&O.setAttribute("tabindex","0"),!D.code){c.hooks.run("complete",D),M&&M.call(D.element);return}if(c.hooks.run("before-highlight",D),!D.grammar){U(c.util.encode(D.code));return}if(_&&r.Worker){var L=new Worker(c.filename);L.onmessage=function(j){U(j.data)},L.postMessage(JSON.stringify({language:D.language,code:D.code,immediateClose:!0}))}else U(c.highlight(D.code,D.grammar,D.language))},highlight:function(x,_,M){var T={code:x,grammar:_,language:M};if(c.hooks.run("before-tokenize",T),!T.grammar)throw new Error('The language "'+T.language+'" has no grammar.');return T.tokens=c.tokenize(T.code,T.grammar),c.hooks.run("after-tokenize",T),f.stringify(c.util.encode(T.tokens),T.language)},tokenize:function(x,_){var M=_.rest;if(M){for(var T in M)_[T]=M[T];delete _.rest}var A=new g;return m(A,A.head,x),p(x,A,_,A.head,0),b(A)},hooks:{all:{},add:function(x,_){var M=c.hooks.all;M[x]=M[x]||[],M[x].push(_)},run:function(x,_){var M=c.hooks.all[x];if(!(!M||!M.length))for(var T=0,A;A=M[T++];)A(_)}},Token:f};r.Prism=c;function f(x,_,M,T){this.type=x,this.content=_,this.alias=M,this.length=(T||"").length|0}f.stringify=function x(_,M){if(typeof _=="string")return _;if(Array.isArray(_)){var T="";return _.forEach(function(U){T+=x(U,M)}),T}var A={type:_.type,content:x(_.content,M),tag:"span",classes:["token",_.type],attributes:{},language:M},O=_.alias;O&&(Array.isArray(O)?Array.prototype.push.apply(A.classes,O):A.classes.push(O)),c.hooks.run("wrap",A);var k="";for(var D in A.attributes)k+=" "+D+'="'+(A.attributes[D]||"").replace(/"/g,"&quot;")+'"';return"<"+A.tag+' class="'+A.classes.join(" ")+'"'+k+">"+A.content+"</"+A.tag+">"};function d(x,_,M,T){x.lastIndex=_;var A=x.exec(M);if(A&&T&&A[1]){var O=A[1].length;A.index+=O,A[0]=A[0].slice(O)}return A}function p(x,_,M,T,A,O){for(var k in M)if(!(!M.hasOwnProperty(k)||!M[k])){var D=M[k];D=Array.isArray(D)?D:[D];for(var U=0;U<D.length;++U){if(O&&O.cause==k+","+U)return;var L=D[U],j=L.inside,B=!!L.lookbehind,Y=!!L.greedy,H=L.alias;if(Y&&!L.pattern.global){var F=L.pattern.toString().match(/[imsuy]*$/)[0];L.pattern=RegExp(L.pattern.source,F+"g")}for(var V=L.pattern||L,q=T.next,W=A;q!==_.tail&&!(O&&W>=O.reach);W+=q.value.length,q=q.next){var P=q.value;if(_.length>x.length)return;if(!(P instanceof f)){var Q=1,Z;if(Y){if(Z=d(V,W,x,B),!Z||Z.index>=x.length)break;var z=Z.index,G=Z.index+Z[0].length,ne=W;for(ne+=q.value.length;z>=ne;)q=q.next,ne+=q.value.length;if(ne-=q.value.length,W=ne,q.value instanceof f)continue;for(var re=q;re!==_.tail&&(ne<G||typeof re.value=="string");re=re.next)Q++,ne+=re.value.length;Q--,P=x.slice(W,ne),Z.index-=W}else if(Z=d(V,0,P,B),!Z)continue;var z=Z.index,le=Z[0],K=P.slice(0,z),se=P.slice(z+le.length),ie=W+P.length;O&&ie>O.reach&&(O.reach=ie);var ve=q.prev;K&&(ve=m(_,ve,K),W+=K.length),y(_,ve,Q);var pe=new f(k,j?c.tokenize(le,j):le,H,le);if(q=m(_,ve,pe),se&&m(_,q,se),Q>1){var Se={cause:k+","+U,reach:ie};p(x,_,M,q.prev,W,Se),O&&Se.reach>O.reach&&(O.reach=Se.reach)}}}}}}function g(){var x={value:null,prev:null,next:null},_={value:null,prev:x,next:null};x.next=_,this.head=x,this.tail=_,this.length=0}function m(x,_,M){var T=_.next,A={value:M,prev:_,next:T};return _.next=A,T.prev=A,x.length++,A}function y(x,_,M){for(var T=_.next,A=0;A<M&&T!==x.tail;A++)T=T.next;_.next=T,T.prev=_,x.length-=A}function b(x){for(var _=[],M=x.head.next;M!==x.tail;)_.push(M.value),M=M.next;return _}if(!r.document)return r.addEventListener&&(c.disableWorkerMessageHandler||r.addEventListener("message",function(x){var _=JSON.parse(x.data),M=_.language,T=_.code,A=_.immediateClose;r.postMessage(c.highlight(T,c.languages[M],M)),A&&r.close()},!1)),c;var S=c.util.currentScript();S&&(c.filename=S.src,S.hasAttribute("data-manual")&&(c.manual=!0));function R(){c.manual||c.highlightAll()}if(!c.manual){var C=document.readyState;C==="loading"||C==="interactive"&&S&&S.defer?document.addEventListener("DOMContentLoaded",R):window.requestAnimationFrame?window.requestAnimationFrame(R):window.setTimeout(R,16)}return c}(t);e.exports&&(e.exports=n),typeof P_<"u"&&(P_.Prism=n)}(D1)),D1.exports}var RZ=wZ();const fne=us(RZ);(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))})(Prism);export{$Z as $,UJ as A,KJ as B,AJ as C,qee as D,CJ as E,cs as F,Gee as G,GJ as H,kJ as I,eee as J,Dee as K,Uee as L,_J as M,Yee as N,Y4 as O,jZ as P,HZ as Q,ce as R,wL as S,OJ as T,GZ as U,WZ as V,KZ as W,dM as X,L1 as Y,CZ as Z,MZ as _,vJ as a,Mte as a$,YL as a0,AZ as a1,TZ as a2,UZ as a3,BZ as a4,OZ as a5,qZ as a6,_Z as a7,LJ as a8,Aee as a9,Wte as aA,lW as aB,jD as aC,Fte as aD,ine as aE,Fg as aF,ene as aG,one as aH,nne as aI,gee as aJ,QJ as aK,PJ as aL,une as aM,EJ as aN,lne as aO,ane as aP,sne as aQ,yte as aR,bte as aS,VJ as aT,Zte as aU,tne as aV,Qte as aW,Jte as aX,Ate as aY,Cte as aZ,Tte as a_,yee as aa,_te as ab,pee as ac,gte as ad,bJ as ae,wJ as af,pte as ag,Pee as ah,Fee as ai,Ote as aj,Lee as ak,Oee as al,uee as am,XJ as an,qJ as ao,NJ as ap,vee as aq,YJ as ar,WJ as as,JJ as at,nee as au,YZ as av,SJ as aw,Yte as ax,Gte as ay,Xte as az,rI as b,tte as b$,MJ as b0,cee as b1,jJ as b2,Hte as b3,Bte as b4,zte as b5,jte as b6,$te as b7,Ute as b8,Vte as b9,dte as bA,Ste as bB,Ete as bC,wte as bD,Rte as bE,xte as bF,mte as bG,vte as bH,oee as bI,hte as bJ,Cee as bK,Iee as bL,wee as bM,mee as bN,See as bO,Eee as bP,Ree as bQ,kee as bR,Hee as bS,ree as bT,tee as bU,Xee as bV,Qee as bW,Zee as bX,Jee as bY,zee as bZ,ete as b_,DJ as ba,Bee as bb,Kee as bc,Wee as bd,yJ as be,see as bf,Tee as bg,Kte as bh,rne as bi,qte as bj,xJ as bk,Nee as bl,dee as bm,hee as bn,IJ as bo,lee as bp,HJ as bq,BJ as br,Pte as bs,Nte as bt,kte as bu,Lte as bv,Dte as bw,cte as bx,Ite as by,fte as bz,pJ as c,ute as c0,nte as c1,ate as c2,rte as c3,ote as c4,ite as c5,ste as c6,lte as c7,DZ as c8,kZ as c9,LZ as ca,PZ as cb,NZ as cc,FZ as cd,cne as ce,fne as cf,zJ as cg,_ee as ch,xee as ci,iee as cj,bee as ck,aee as cl,h$ as d,Vn as e,gJ as f,DO as g,E as h,mJ as i,Ee as j,VZ as k,IZ as l,Mee as m,fee as n,ZJ as o,$ee as p,Vee as q,br as r,jee as s,$J as t,R$ as u,gS as v,rc as w,FJ as x,RJ as y,TJ as z};
75
- //# sourceMappingURL=vendor-Cnciq4o_.js.map
74
+ `+ot[0],Mt=Ge+Ht.length;Fe({value:je.substring(0,Ge)+Ht+je.substring(Ke),selectionStart:Mt,selectionEnd:Mt})}}}else if(ye.keyCode===d||ye.keyCode===p||ye.keyCode===g||ye.keyCode===m){var Ot=void 0;ye.keyCode===d&&ye.shiftKey?Ot=["(",")"]:ye.keyCode===p?ye.shiftKey?Ot=["{","}"]:Ot=["[","]"]:ye.keyCode===g?ye.shiftKey?Ot=['"','"']:Ot=["'","'"]:ye.keyCode===m&&!ye.shiftKey&&(Ot=["`","`"]),Ge!==Ke&&Ot&&(ye.preventDefault(),Fe({value:je.substring(0,Ge)+Ot[0]+je.substring(Ge,Ke)+Ot[1]+je.substring(Ke),selectionStart:Ge,selectionEnd:Ke+2}))}else(R?ye.metaKey&&ye.keyCode===c:ye.ctrlKey&&ye.keyCode===c)&&!ye.shiftKey&&!ye.altKey?(ye.preventDefault(),Et()):(R?ye.metaKey&&ye.keyCode===c&&ye.shiftKey:S?ye.ctrlKey&&ye.keyCode===l:ye.ctrlKey&&ye.keyCode===c&&ye.shiftKey)&&!ye.altKey?(ye.preventDefault(),pt()):ye.keyCode===f&&ye.ctrlKey&&(!R||ye.shiftKey)&&(ye.preventDefault(),ae(function(Fn){return!Fn}))}},en=function(ye){var qe=ye.currentTarget,je=qe.value,Ge=qe.selectionStart,Ke=qe.selectionEnd;ke({value:je,selectionStart:Ge,selectionEnd:Ke},!0),ne(je)};return s.useEffect(function(){He()},[He]),s.useImperativeHandle(O,function(){return{get session(){return{history:Re.current}},set session(ye){Re.current=ye.history}}},[]),s.createElement("div",e({},ge,{style:e(e({},M.container),ve)}),s.createElement("pre",e({className:K,"aria-hidden":"true",style:e(e(e({},M.editor),M.highlight),Me)},typeof _e=="string"?{dangerouslySetInnerHTML:{__html:_e+"<br />"}}:{children:_e})),s.createElement("textarea",{ref:function(ye){return xe.current=ye},style:e(e(e({},M.editor),M.textarea),Me),className:C+(Ie?" ".concat(Ie):""),id:Te,value:Le,onChange:en,onKeyDown:an,onClick:P,onKeyUp:G,onFocus:Q,onBlur:W,disabled:D,form:U,maxLength:F,minLength:V,name:q,placeholder:le,readOnly:se,required:ie,autoFocus:k,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),s.createElement("style",{dangerouslySetInnerHTML:{__html:x}}))}),M={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};return Pr.default=_,Pr}var EZ=SZ();const cne=us(EZ);var D1={exports:{}},ZA;function wZ(){return ZA||(ZA=1,function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var n=function(r){var o=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,s=0,l={},c={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function x(_){return _ instanceof f?new f(_.type,x(_.content),_.alias):Array.isArray(_)?_.map(x):_.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(x){return Object.prototype.toString.call(x).slice(8,-1)},objId:function(x){return x.__id||Object.defineProperty(x,"__id",{value:++s}),x.__id},clone:function x(_,M){M=M||{};var T,A;switch(c.util.type(_)){case"Object":if(A=c.util.objId(_),M[A])return M[A];T={},M[A]=T;for(var O in _)_.hasOwnProperty(O)&&(T[O]=x(_[O],M));return T;case"Array":return A=c.util.objId(_),M[A]?M[A]:(T=[],M[A]=T,_.forEach(function(k,D){T[D]=x(k,M)}),T);default:return _}},getLanguage:function(x){for(;x;){var _=o.exec(x.className);if(_)return _[1].toLowerCase();x=x.parentElement}return"none"},setLanguage:function(x,_){x.className=x.className.replace(RegExp(o,"gi"),""),x.classList.add("language-"+_)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(T){var x=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(T.stack)||[])[1];if(x){var _=document.getElementsByTagName("script");for(var M in _)if(_[M].src==x)return _[M]}return null}},isActive:function(x,_,M){for(var T="no-"+_;x;){var A=x.classList;if(A.contains(_))return!0;if(A.contains(T))return!1;x=x.parentElement}return!!M}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(x,_){var M=c.util.clone(c.languages[x]);for(var T in _)M[T]=_[T];return M},insertBefore:function(x,_,M,T){T=T||c.languages;var A=T[x],O={};for(var k in A)if(A.hasOwnProperty(k)){if(k==_)for(var D in M)M.hasOwnProperty(D)&&(O[D]=M[D]);M.hasOwnProperty(k)||(O[k]=A[k])}var U=T[x];return T[x]=O,c.languages.DFS(c.languages,function(L,j){j===U&&L!=x&&(this[L]=O)}),O},DFS:function x(_,M,T,A){A=A||{};var O=c.util.objId;for(var k in _)if(_.hasOwnProperty(k)){M.call(_,k,_[k],T||k);var D=_[k],U=c.util.type(D);U==="Object"&&!A[O(D)]?(A[O(D)]=!0,x(D,M,null,A)):U==="Array"&&!A[O(D)]&&(A[O(D)]=!0,x(D,M,k,A))}}},plugins:{},highlightAll:function(x,_){c.highlightAllUnder(document,x,_)},highlightAllUnder:function(x,_,M){var T={callback:M,container:x,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};c.hooks.run("before-highlightall",T),T.elements=Array.prototype.slice.apply(T.container.querySelectorAll(T.selector)),c.hooks.run("before-all-elements-highlight",T);for(var A=0,O;O=T.elements[A++];)c.highlightElement(O,_===!0,T.callback)},highlightElement:function(x,_,M){var T=c.util.getLanguage(x),A=c.languages[T];c.util.setLanguage(x,T);var O=x.parentElement;O&&O.nodeName.toLowerCase()==="pre"&&c.util.setLanguage(O,T);var k=x.textContent,D={element:x,language:T,grammar:A,code:k};function U(j){D.highlightedCode=j,c.hooks.run("before-insert",D),D.element.innerHTML=D.highlightedCode,c.hooks.run("after-highlight",D),c.hooks.run("complete",D),M&&M.call(D.element)}if(c.hooks.run("before-sanity-check",D),O=D.element.parentElement,O&&O.nodeName.toLowerCase()==="pre"&&!O.hasAttribute("tabindex")&&O.setAttribute("tabindex","0"),!D.code){c.hooks.run("complete",D),M&&M.call(D.element);return}if(c.hooks.run("before-highlight",D),!D.grammar){U(c.util.encode(D.code));return}if(_&&r.Worker){var L=new Worker(c.filename);L.onmessage=function(j){U(j.data)},L.postMessage(JSON.stringify({language:D.language,code:D.code,immediateClose:!0}))}else U(c.highlight(D.code,D.grammar,D.language))},highlight:function(x,_,M){var T={code:x,grammar:_,language:M};if(c.hooks.run("before-tokenize",T),!T.grammar)throw new Error('The language "'+T.language+'" has no grammar.');return T.tokens=c.tokenize(T.code,T.grammar),c.hooks.run("after-tokenize",T),f.stringify(c.util.encode(T.tokens),T.language)},tokenize:function(x,_){var M=_.rest;if(M){for(var T in M)_[T]=M[T];delete _.rest}var A=new g;return m(A,A.head,x),p(x,A,_,A.head,0),b(A)},hooks:{all:{},add:function(x,_){var M=c.hooks.all;M[x]=M[x]||[],M[x].push(_)},run:function(x,_){var M=c.hooks.all[x];if(!(!M||!M.length))for(var T=0,A;A=M[T++];)A(_)}},Token:f};r.Prism=c;function f(x,_,M,T){this.type=x,this.content=_,this.alias=M,this.length=(T||"").length|0}f.stringify=function x(_,M){if(typeof _=="string")return _;if(Array.isArray(_)){var T="";return _.forEach(function(U){T+=x(U,M)}),T}var A={type:_.type,content:x(_.content,M),tag:"span",classes:["token",_.type],attributes:{},language:M},O=_.alias;O&&(Array.isArray(O)?Array.prototype.push.apply(A.classes,O):A.classes.push(O)),c.hooks.run("wrap",A);var k="";for(var D in A.attributes)k+=" "+D+'="'+(A.attributes[D]||"").replace(/"/g,"&quot;")+'"';return"<"+A.tag+' class="'+A.classes.join(" ")+'"'+k+">"+A.content+"</"+A.tag+">"};function d(x,_,M,T){x.lastIndex=_;var A=x.exec(M);if(A&&T&&A[1]){var O=A[1].length;A.index+=O,A[0]=A[0].slice(O)}return A}function p(x,_,M,T,A,O){for(var k in M)if(!(!M.hasOwnProperty(k)||!M[k])){var D=M[k];D=Array.isArray(D)?D:[D];for(var U=0;U<D.length;++U){if(O&&O.cause==k+","+U)return;var L=D[U],j=L.inside,B=!!L.lookbehind,Y=!!L.greedy,H=L.alias;if(Y&&!L.pattern.global){var F=L.pattern.toString().match(/[imsuy]*$/)[0];L.pattern=RegExp(L.pattern.source,F+"g")}for(var V=L.pattern||L,q=T.next,W=A;q!==_.tail&&!(O&&W>=O.reach);W+=q.value.length,q=q.next){var P=q.value;if(_.length>x.length)return;if(!(P instanceof f)){var Q=1,Z;if(Y){if(Z=d(V,W,x,B),!Z||Z.index>=x.length)break;var z=Z.index,G=Z.index+Z[0].length,ne=W;for(ne+=q.value.length;z>=ne;)q=q.next,ne+=q.value.length;if(ne-=q.value.length,W=ne,q.value instanceof f)continue;for(var re=q;re!==_.tail&&(ne<G||typeof re.value=="string");re=re.next)Q++,ne+=re.value.length;Q--,P=x.slice(W,ne),Z.index-=W}else if(Z=d(V,0,P,B),!Z)continue;var z=Z.index,le=Z[0],K=P.slice(0,z),se=P.slice(z+le.length),ie=W+P.length;O&&ie>O.reach&&(O.reach=ie);var ve=q.prev;K&&(ve=m(_,ve,K),W+=K.length),y(_,ve,Q);var pe=new f(k,j?c.tokenize(le,j):le,H,le);if(q=m(_,ve,pe),se&&m(_,q,se),Q>1){var Se={cause:k+","+U,reach:ie};p(x,_,M,q.prev,W,Se),O&&Se.reach>O.reach&&(O.reach=Se.reach)}}}}}}function g(){var x={value:null,prev:null,next:null},_={value:null,prev:x,next:null};x.next=_,this.head=x,this.tail=_,this.length=0}function m(x,_,M){var T=_.next,A={value:M,prev:_,next:T};return _.next=A,T.prev=A,x.length++,A}function y(x,_,M){for(var T=_.next,A=0;A<M&&T!==x.tail;A++)T=T.next;_.next=T,T.prev=_,x.length-=A}function b(x){for(var _=[],M=x.head.next;M!==x.tail;)_.push(M.value),M=M.next;return _}if(!r.document)return r.addEventListener&&(c.disableWorkerMessageHandler||r.addEventListener("message",function(x){var _=JSON.parse(x.data),M=_.language,T=_.code,A=_.immediateClose;r.postMessage(c.highlight(T,c.languages[M],M)),A&&r.close()},!1)),c;var S=c.util.currentScript();S&&(c.filename=S.src,S.hasAttribute("data-manual")&&(c.manual=!0));function R(){c.manual||c.highlightAll()}if(!c.manual){var C=document.readyState;C==="loading"||C==="interactive"&&S&&S.defer?document.addEventListener("DOMContentLoaded",R):window.requestAnimationFrame?window.requestAnimationFrame(R):window.setTimeout(R,16)}return c}(t);e.exports&&(e.exports=n),typeof P_<"u"&&(P_.Prism=n)}(D1)),D1.exports}var RZ=wZ();const fne=us(RZ);(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))})(Prism);export{$Z as $,UJ as A,KJ as B,AJ as C,qee as D,CJ as E,cs as F,Gee as G,GJ as H,kJ as I,eee as J,Dee as K,Uee as L,_J as M,Yee as N,Y4 as O,jZ as P,HZ as Q,ce as R,wL as S,OJ as T,GZ as U,WZ as V,KZ as W,dM as X,L1 as Y,CZ as Z,MZ as _,vJ as a,Mte as a$,YL as a0,AZ as a1,TZ as a2,UZ as a3,BZ as a4,OZ as a5,qZ as a6,_Z as a7,LJ as a8,Aee as a9,Wte as aA,lW as aB,jD as aC,Fte as aD,ine as aE,Fg as aF,ene as aG,one as aH,nne as aI,gee as aJ,QJ as aK,PJ as aL,une as aM,EJ as aN,lne as aO,ane as aP,sne as aQ,yte as aR,bte as aS,VJ as aT,Zte as aU,tne as aV,Qte as aW,Jte as aX,Ate as aY,Cte as aZ,Tte as a_,yee as aa,_te as ab,pee as ac,gte as ad,bJ as ae,wJ as af,pte as ag,Pee as ah,Fee as ai,Ote as aj,Lee as ak,Oee as al,uee as am,XJ as an,qJ as ao,WJ as ap,JJ as aq,NJ as ar,vee as as,YJ as at,nee as au,YZ as av,SJ as aw,Yte as ax,Gte as ay,Xte as az,rI as b,tte as b$,MJ as b0,cee as b1,jJ as b2,Hte as b3,Bte as b4,zte as b5,jte as b6,$te as b7,Ute as b8,Vte as b9,dte as bA,Ste as bB,Ete as bC,wte as bD,Rte as bE,xte as bF,mte as bG,vte as bH,oee as bI,hte as bJ,Cee as bK,Iee as bL,wee as bM,mee as bN,See as bO,Eee as bP,Ree as bQ,kee as bR,Hee as bS,ree as bT,tee as bU,Xee as bV,Qee as bW,Zee as bX,Jee as bY,zee as bZ,ete as b_,DJ as ba,Bee as bb,Kee as bc,Wee as bd,yJ as be,see as bf,Tee as bg,Kte as bh,rne as bi,qte as bj,xJ as bk,Nee as bl,dee as bm,hee as bn,IJ as bo,lee as bp,HJ as bq,BJ as br,Pte as bs,Nte as bt,kte as bu,Lte as bv,Dte as bw,cte as bx,Ite as by,fte as bz,pJ as c,ute as c0,nte as c1,ate as c2,rte as c3,ote as c4,ite as c5,ste as c6,lte as c7,DZ as c8,kZ as c9,LZ as ca,PZ as cb,NZ as cc,FZ as cd,cne as ce,fne as cf,zJ as cg,_ee as ch,xee as ci,iee as cj,bee as ck,aee as cl,h$ as d,Vn as e,gJ as f,DO as g,E as h,mJ as i,Ee as j,VZ as k,IZ as l,Mee as m,fee as n,ZJ as o,$ee as p,Vee as q,br as r,jee as s,$J as t,R$ as u,gS as v,rc as w,FJ as x,RJ as y,TJ as z};
75
+ //# sourceMappingURL=vendor-Cu5xgv5K.js.map