modoboa 2.6.2__py3-none-any.whl → 2.6.4__py3-none-any.whl

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 (294) hide show
  1. modoboa/admin/api/v1/tests.py +5 -0
  2. modoboa/admin/api/v1/viewsets.py +19 -5
  3. modoboa/admin/api/v2/serializers.py +7 -2
  4. modoboa/admin/api/v2/tests.py +23 -1
  5. modoboa/admin/api/v2/viewsets.py +23 -4
  6. modoboa/admin/handlers.py +8 -13
  7. modoboa/admin/management/commands/subcommands/_import.py +1 -1
  8. modoboa/admin/management/commands/subcommands/_repair.py +1 -1
  9. modoboa/admin/models/alias.py +1 -1
  10. modoboa/admin/models/domain.py +1 -1
  11. modoboa/admin/tests/test_alias_targets.py +12 -0
  12. modoboa/admin/tests/test_data/import_accounts.csv +1 -0
  13. modoboa/admin/tests/test_import_.py +8 -0
  14. modoboa/admin/tests/test_repair.py +2 -2
  15. modoboa/calendars/backends/caldav_.py +3 -1
  16. modoboa/core/checks.py +5 -0
  17. modoboa/core/commands/templates/settings.py.tpl +4 -0
  18. modoboa/core/tests/test_checks.py +27 -0
  19. modoboa/frontend_dist/assets/AccountAliasForm-tLHotdIR.js +1 -0
  20. modoboa/frontend_dist/assets/AccountEditView-DnQIIg47.js +1 -0
  21. modoboa/frontend_dist/assets/AccountLayout-B2HptJzY.js +1 -0
  22. modoboa/frontend_dist/assets/{AccountPasswordSubForm-DtqTon2C.js → AccountPasswordSubForm-DpADntAL.js} +1 -1
  23. modoboa/frontend_dist/assets/AccountView-CJBGh9Oe.js +1 -0
  24. modoboa/frontend_dist/assets/AddressBook-CrFqzlzZ.js +1 -0
  25. modoboa/frontend_dist/assets/AdminLayout-BbCt7YxX.js +1 -0
  26. modoboa/frontend_dist/assets/AlarmsView-CIlt_IKQ.js +1 -0
  27. modoboa/frontend_dist/assets/AliasEditView-n75NEN_s.js +1 -0
  28. modoboa/frontend_dist/assets/AliasRecipientForm-jjj5yJJw.js +1 -0
  29. modoboa/frontend_dist/assets/{AliasView-nnu5M-6u.js → AliasView-DFIvPeIm.js} +1 -1
  30. modoboa/frontend_dist/assets/AuditTrailView-sWnED3E9.js +1 -0
  31. modoboa/frontend_dist/assets/CalendarView-DSCBIvef.js +1 -0
  32. modoboa/frontend_dist/assets/{ChoiceField-k5nIk4ck.js → ChoiceField-RDT6XcnX.js} +1 -1
  33. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +1 -0
  34. modoboa/frontend_dist/assets/ComposeEmailForm-G3sXQAwI.js +1 -0
  35. modoboa/frontend_dist/assets/ComposeEmailView-Ce1CtFjD.js +1 -0
  36. modoboa/frontend_dist/assets/{ConfirmDialog-B0TjtODh.js → ConfirmDialog-Du7aqKbR.js} +1 -1
  37. modoboa/frontend_dist/assets/ConnectedLayout-BHWaBAzH.js +1 -0
  38. modoboa/frontend_dist/assets/ConnectedLayout-C6HNXWkp.css +1 -0
  39. modoboa/frontend_dist/assets/CreationForm-CjtILq0_.js +1 -0
  40. modoboa/frontend_dist/assets/{CreationForm-HaiQhqwK.css → CreationForm-NOzzyspA.css} +1 -1
  41. modoboa/frontend_dist/assets/DashboardView-DFNwusDZ.js +1 -0
  42. modoboa/frontend_dist/assets/DomainAdminList-BjtfbhRj.js +1 -0
  43. modoboa/frontend_dist/assets/DomainEditView-Cq5Ea4RW.js +1 -0
  44. modoboa/frontend_dist/assets/{DomainTransportForm-DflFVeEo.js → DomainTransportForm-DAXJGNLA.js} +1 -1
  45. modoboa/frontend_dist/assets/DomainView-BfpK7U14.js +4 -0
  46. modoboa/frontend_dist/assets/DomainsView-CYxLy-3Y.js +1 -0
  47. modoboa/frontend_dist/assets/EmailField-DmPc4pyP.js +1 -0
  48. modoboa/frontend_dist/assets/EmailView-BE3vYZtJ.js +1 -0
  49. modoboa/frontend_dist/assets/EmptyLayout-DMwKNHfI.js +1 -0
  50. modoboa/frontend_dist/assets/FiltersView-Dps3_fAh.js +1 -0
  51. modoboa/frontend_dist/assets/ForwardEmailView-C0I00eXf.js +1 -0
  52. modoboa/frontend_dist/assets/HtmlEditor-D753fIAJ.js +140 -0
  53. modoboa/frontend_dist/assets/{IdentitiesView-Cl2lbfkM.css → IdentitiesView-C93He_db.css} +1 -1
  54. modoboa/frontend_dist/assets/IdentitiesView-CoGBVhZx.js +1 -0
  55. modoboa/frontend_dist/assets/InformationView-eB2ayeLD.js +1 -0
  56. modoboa/frontend_dist/assets/{LoadingData-1iXkFEpZ.js → LoadingData-Tm56XNwj.js} +1 -1
  57. modoboa/frontend_dist/assets/{LoginCallbackView-wq3vJcja.js → LoginCallbackView-DjCHUgz5.js} +1 -1
  58. modoboa/frontend_dist/assets/{LoginView-DZQijPLC.js → LoginView-D0r4XBEl.js} +1 -1
  59. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +1 -0
  60. modoboa/frontend_dist/assets/MailboxView-DNokO2WZ.js +5 -0
  61. modoboa/frontend_dist/assets/MenuItems-dl38msRA.js +1 -0
  62. modoboa/frontend_dist/assets/MessageView-BWh9BqzS.js +1 -0
  63. modoboa/frontend_dist/assets/MessagesView-BZ7NUOwo.js +1 -0
  64. modoboa/frontend_dist/assets/MigrationsView-DcOVgmcH.js +1 -0
  65. modoboa/frontend_dist/assets/{ParametersForm-CPrKRznO.js → ParametersForm-y02-GM0r.js} +1 -1
  66. modoboa/frontend_dist/assets/ParametersView-B6abt-LH.js +1 -0
  67. modoboa/frontend_dist/assets/ParametersView-v0YS6WU4.js +1 -0
  68. modoboa/frontend_dist/assets/ProviderEditView-BaL9mKxJ.js +1 -0
  69. modoboa/frontend_dist/assets/ProviderGeneralForm-eoHMDO5v.js +1 -0
  70. modoboa/frontend_dist/assets/ProvidersView-DE17nfOl.css +1 -0
  71. modoboa/frontend_dist/assets/ProvidersView-Zu-G35u7.js +1 -0
  72. modoboa/frontend_dist/assets/QuarantineLayout-BHiiksnP.js +1 -0
  73. modoboa/frontend_dist/assets/QuarantineView-BOXSobRz.js +1 -0
  74. modoboa/frontend_dist/assets/ReplyEmailView-JmSiNWPy.js +1 -0
  75. modoboa/frontend_dist/assets/{ResourcesForm-D5G8hixZ.js → ResourcesForm-D0YBapCG.js} +1 -1
  76. modoboa/frontend_dist/assets/SelfServiceLayout-DUmQzUDk.js +1 -0
  77. modoboa/frontend_dist/assets/SettingsView-DMuaKagM.js +6 -0
  78. modoboa/frontend_dist/assets/StatisticsView-CyY_CNcI.js +1 -0
  79. modoboa/frontend_dist/assets/TimeSerieChart-BTDBH33K.js +1 -0
  80. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +1 -0
  81. modoboa/frontend_dist/assets/UserLayout-DwxcQr4L.js +1 -0
  82. modoboa/frontend_dist/assets/{VAlert-iGJ3gOzk.css → VAlert-Bkuw9MFB.css} +1 -1
  83. modoboa/frontend_dist/assets/VAlert-CNys_LUS.js +1 -0
  84. modoboa/frontend_dist/assets/VApp-B0vRc3-6.js +1 -0
  85. modoboa/frontend_dist/assets/VApp-C9NK-Gu6.css +1 -0
  86. modoboa/frontend_dist/assets/VAutocomplete-Huaz_-hf.js +1 -0
  87. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +1 -0
  88. modoboa/frontend_dist/assets/VAvatar-BPhnln71.css +1 -0
  89. modoboa/frontend_dist/assets/VAvatar-JdJfoK0C.js +1 -0
  90. modoboa/frontend_dist/assets/{VBadge-BQrRJ9S0.css → VBadge-Bqx6XeRo.css} +1 -1
  91. modoboa/frontend_dist/assets/VBadge-Cg5iu5LG.js +1 -0
  92. modoboa/frontend_dist/assets/{VCard-BNvk7mV7.css → VCard-BdSLQNRY.css} +1 -1
  93. modoboa/frontend_dist/assets/VCard-BoH6kjPa.js +1 -0
  94. modoboa/frontend_dist/assets/VCheckbox-CCLOJFKF.js +1 -0
  95. modoboa/frontend_dist/assets/{VCheckboxBtn-B35nMyHy.js → VCheckboxBtn-Ccl786Rg.js} +1 -1
  96. modoboa/frontend_dist/assets/VColorPicker-452uc3tY.js +1 -0
  97. modoboa/frontend_dist/assets/VColorPicker-B_lVDaYR.css +1 -0
  98. modoboa/frontend_dist/assets/{VContainer-CTzYfsVd.js → VContainer-DKMcKasC.js} +1 -1
  99. modoboa/frontend_dist/assets/VDataTable-BkLLfcQK.js +1 -0
  100. modoboa/frontend_dist/assets/VDataTable-CLcLRj9B.css +1 -0
  101. modoboa/frontend_dist/assets/VDataTableServer-B_6fWBA3.js +1 -0
  102. modoboa/frontend_dist/assets/VDataTableVirtual-Ike7oqcC.js +1 -0
  103. modoboa/frontend_dist/assets/VDialog-DIUeAIpw.js +1 -0
  104. modoboa/frontend_dist/assets/VExpansionPanels-BeMgiS7A.js +1 -0
  105. modoboa/frontend_dist/assets/VExpansionPanels-Dyw0hWW-.css +1 -0
  106. modoboa/frontend_dist/assets/VFileInput-Dvj95FL5.js +1 -0
  107. modoboa/frontend_dist/assets/{VFileInput-VtUg4zpy.css → VFileInput-Dwzvf-gD.css} +1 -1
  108. modoboa/frontend_dist/assets/VForm-DkphQD3e.js +1 -0
  109. modoboa/frontend_dist/assets/VGrid-GYROgRMo.css +1 -0
  110. modoboa/frontend_dist/assets/VInput-CbqehdOu.js +1 -0
  111. modoboa/frontend_dist/assets/VMenu-B6SCtOwT.js +1 -0
  112. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +1 -0
  113. modoboa/frontend_dist/assets/VPicker-BUx70Wjg.js +1 -0
  114. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +1 -0
  115. modoboa/frontend_dist/assets/VProgressCircular-C6u34DRJ.css +1 -0
  116. modoboa/frontend_dist/assets/VProgressCircular-DTDGzl2O.js +1 -0
  117. modoboa/frontend_dist/assets/VRadioGroup-CS9ULZ1c.js +1 -0
  118. modoboa/frontend_dist/assets/{VRow-Dnsej546.js → VRow-CuVZGqBj.js} +1 -1
  119. modoboa/frontend_dist/assets/VSelect-D5IXDPEX.js +1 -0
  120. modoboa/frontend_dist/assets/VSelect-DQzySRN1.css +1 -0
  121. modoboa/frontend_dist/assets/VSelectionControl-uKY9Zull.js +1 -0
  122. modoboa/frontend_dist/assets/VSheet-HeHw6g5_.js +1 -0
  123. modoboa/frontend_dist/assets/VSpacer-BUxSSJbH.js +1 -0
  124. modoboa/frontend_dist/assets/{VSwitch-Mm7Rd7At.css → VSwitch-C6REVr_Y.css} +1 -1
  125. modoboa/frontend_dist/assets/VSwitch-Dh_dserW.js +1 -0
  126. modoboa/frontend_dist/assets/VTable-BsI6FsWH.css +1 -0
  127. modoboa/frontend_dist/assets/VTable-gDsAUSLX.js +1 -0
  128. modoboa/frontend_dist/assets/VTabs-5XSICLQP.js +1 -0
  129. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +1 -0
  130. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +1 -0
  131. modoboa/frontend_dist/assets/VTextField-QXQFhKxm.js +1 -0
  132. modoboa/frontend_dist/assets/VTextarea-Bdy4UKmV.js +1 -0
  133. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +1 -0
  134. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +1 -0
  135. modoboa/frontend_dist/assets/VToolbar-CyrYSqJZ.js +1 -0
  136. modoboa/frontend_dist/assets/VWindowItem-DqNaT6b1.css +1 -0
  137. modoboa/frontend_dist/assets/VWindowItem-kZpArwK1.js +1 -0
  138. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +1 -0
  139. modoboa/frontend_dist/assets/WebmailLayout-CNUHODnw.js +1 -0
  140. modoboa/frontend_dist/assets/{accounts-CxGXJgEh.js → accounts-DqbBlaLK.js} +1 -1
  141. modoboa/frontend_dist/assets/{admin-COcAacoq.js → admin-D36m_nXq.js} +1 -1
  142. modoboa/frontend_dist/assets/{aliases-DJbDT92U.js → aliases-BtyF8GC8.js} +1 -1
  143. modoboa/frontend_dist/assets/{amavis-CbsMYC6e.js → amavis-B4QhM5Fa.js} +1 -1
  144. modoboa/frontend_dist/assets/{amavis-BqfDWEXM.js → amavis-DySmsCJQ.js} +1 -1
  145. modoboa/frontend_dist/assets/{contacts-BqHRqWBy.js → contacts-Df8ptuMn.js} +1 -1
  146. modoboa/frontend_dist/assets/{domains-FSnyP8bd.js → domains-CSxtTvUh.js} +1 -1
  147. modoboa/frontend_dist/assets/{domains.store-GfcrCBY7.js → domains.store-D4ZqCQ-O.js} +1 -1
  148. modoboa/frontend_dist/assets/filter-DHKXX97M.js +1 -0
  149. modoboa/frontend_dist/assets/{global.store-DrPrIa_j.js → global.store-DYMmGKpn.js} +1 -1
  150. modoboa/frontend_dist/assets/{importExport-D12RGpG8.js → importExport-C-adpHJX.js} +1 -1
  151. modoboa/frontend_dist/assets/index-B1bntsLR.js +995 -0
  152. modoboa/frontend_dist/assets/{index-B1bJH8Ti.css → index-B9q1vO3K.css} +1 -1
  153. modoboa/frontend_dist/assets/index-Bp9Fb67E.js +1 -0
  154. modoboa/frontend_dist/assets/language.store-_-zrrEiS.js +1 -0
  155. modoboa/frontend_dist/assets/languages-CxjoT69j.js +1 -0
  156. modoboa/frontend_dist/assets/layout-CjSP_k58.js +1 -0
  157. modoboa/frontend_dist/assets/{layout.store-ZOCP2JtQ.js → layout.store-CF5WRevH.js} +1 -1
  158. modoboa/frontend_dist/assets/{logos-DY4N2P_F.js → logos-95XYS6uH.js} +1 -1
  159. modoboa/frontend_dist/assets/{logs-CgQS5lzy.js → logs-CyU_PIDh.js} +1 -1
  160. modoboa/frontend_dist/assets/{parameters-BOf7j4fc.js → parameters-BxAXBXU1.js} +1 -1
  161. modoboa/frontend_dist/assets/{parameters.store-6D12J_uw.js → parameters.store-CATOSoQZ.js} +1 -1
  162. modoboa/frontend_dist/assets/{permissions-DxMzIhgI.js → permissions-cSkGqV3M.js} +1 -1
  163. modoboa/frontend_dist/assets/{ssrBoot-BbpCPk1A.js → ssrBoot-05WtbG6H.js} +1 -1
  164. modoboa/frontend_dist/assets/{tag-D-_IsM8n.js → tag-BmV84V2s.js} +1 -1
  165. modoboa/frontend_dist/assets/{theme-B2lOH8MT.js → theme-myV4ekXo.js} +1 -1
  166. modoboa/frontend_dist/assets/transports-ChdHV5hX.js +1 -0
  167. modoboa/frontend_dist/assets/webmail-B7MNMkv_.js +1 -0
  168. modoboa/frontend_dist/assets/webmail.store-Cm-h6hhE.js +1 -0
  169. modoboa/frontend_dist/index.html +2 -2
  170. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  171. modoboa/locale/fr/LC_MESSAGES/django.po +131 -391
  172. modoboa/sievefilters/api/v2/tests.py +6 -0
  173. modoboa/sievefilters/api/v2/viewsets.py +10 -0
  174. modoboa/webmail/serializers.py +2 -1
  175. modoboa/webmail/tests/test_viewsets.py +16 -4
  176. modoboa/webmail/viewsets.py +17 -3
  177. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/METADATA +5 -5
  178. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/RECORD +183 -183
  179. modoboa/frontend_dist/assets/AccountAliasForm-BzwhK9cz.js +0 -1
  180. modoboa/frontend_dist/assets/AccountEditView-Dujx5Scp.js +0 -1
  181. modoboa/frontend_dist/assets/AccountLayout-BDiVTbNa.js +0 -1
  182. modoboa/frontend_dist/assets/AccountView-D8vnHee_.js +0 -1
  183. modoboa/frontend_dist/assets/AddressBook-DWGt9xIC.js +0 -1
  184. modoboa/frontend_dist/assets/AdminLayout-GPLTQAzV.js +0 -1
  185. modoboa/frontend_dist/assets/AlarmsView-DDN5FZ4i.js +0 -1
  186. modoboa/frontend_dist/assets/AliasEditView-BeXQf1Ja.js +0 -1
  187. modoboa/frontend_dist/assets/AliasRecipientForm-CGPKUJVF.js +0 -1
  188. modoboa/frontend_dist/assets/AuditTrailView-Bysr09YT.js +0 -1
  189. modoboa/frontend_dist/assets/CalendarView-CGdVWsxp.js +0 -1
  190. modoboa/frontend_dist/assets/ComposeEmailForm-DHFthaP6.css +0 -1
  191. modoboa/frontend_dist/assets/ComposeEmailForm-DUyJM2FF.js +0 -1
  192. modoboa/frontend_dist/assets/ComposeEmailView-Byvgy2YX.js +0 -1
  193. modoboa/frontend_dist/assets/ConnectedLayout-Bxh21hcH.css +0 -1
  194. modoboa/frontend_dist/assets/ConnectedLayout-C-YqPGtT.js +0 -1
  195. modoboa/frontend_dist/assets/CreationForm-oDKUwmFm.js +0 -1
  196. modoboa/frontend_dist/assets/DashboardView-D_WPdBgH.js +0 -1
  197. modoboa/frontend_dist/assets/DomainAdminList-Bv43h5YQ.js +0 -1
  198. modoboa/frontend_dist/assets/DomainEditView-wXBS3A63.js +0 -1
  199. modoboa/frontend_dist/assets/DomainView-DZn2Rzef.js +0 -5
  200. modoboa/frontend_dist/assets/DomainsView-BJIxWiDj.js +0 -1
  201. modoboa/frontend_dist/assets/EmailField-CFNREcuM.js +0 -1
  202. modoboa/frontend_dist/assets/EmailView-CAukleod.js +0 -1
  203. modoboa/frontend_dist/assets/EmptyLayout-CgltY47x.js +0 -1
  204. modoboa/frontend_dist/assets/FiltersView-COwmHjdx.js +0 -1
  205. modoboa/frontend_dist/assets/ForwardEmailView-DxNEqmlZ.js +0 -1
  206. modoboa/frontend_dist/assets/HtmlEditor-CSRAxVCo.js +0 -93
  207. modoboa/frontend_dist/assets/IdentitiesView-ChlrCGeN.js +0 -1
  208. modoboa/frontend_dist/assets/InformationView-Cq0mfs4D.js +0 -1
  209. modoboa/frontend_dist/assets/MailboxView-CfStlWhk.css +0 -1
  210. modoboa/frontend_dist/assets/MailboxView-Xo1djG8R.js +0 -1
  211. modoboa/frontend_dist/assets/MenuItems-Cm9c9dyI.js +0 -1
  212. modoboa/frontend_dist/assets/MessageView-D0810wvi.js +0 -1
  213. modoboa/frontend_dist/assets/MessagesView-D-BBhhOJ.js +0 -1
  214. modoboa/frontend_dist/assets/MigrationsView-B-OvKVxP.js +0 -1
  215. modoboa/frontend_dist/assets/ParametersView-CMunpHG1.js +0 -1
  216. modoboa/frontend_dist/assets/ParametersView-jdeMts_I.js +0 -1
  217. modoboa/frontend_dist/assets/ProviderEditView-CFm5-K3j.js +0 -1
  218. modoboa/frontend_dist/assets/ProviderGeneralForm-jpkQRqL5.js +0 -1
  219. modoboa/frontend_dist/assets/ProvidersView-D5UWPOH9.js +0 -1
  220. modoboa/frontend_dist/assets/ProvidersView-D_ER4F1h.css +0 -1
  221. modoboa/frontend_dist/assets/QuarantineLayout-DbM_Wx4I.js +0 -1
  222. modoboa/frontend_dist/assets/QuarantineView-B2tBwskg.js +0 -1
  223. modoboa/frontend_dist/assets/ReplyEmailView-Deogiaa7.js +0 -1
  224. modoboa/frontend_dist/assets/SelfServiceLayout-De0pXOuH.js +0 -1
  225. modoboa/frontend_dist/assets/SettingsView-BUd1HmFo.js +0 -6
  226. modoboa/frontend_dist/assets/StatisticsView-DYzFg6_F.js +0 -1
  227. modoboa/frontend_dist/assets/TimeSerieChart-DeItUg1R.js +0 -1
  228. modoboa/frontend_dist/assets/TimeSerieChart-Dn6Wznn8.css +0 -1
  229. modoboa/frontend_dist/assets/UserLayout-CzNQqfm5.js +0 -1
  230. modoboa/frontend_dist/assets/VAlert-mUmhR_lW.js +0 -1
  231. modoboa/frontend_dist/assets/VApp-D-widb3i.js +0 -1
  232. modoboa/frontend_dist/assets/VApp-DwhR0sAF.css +0 -1
  233. modoboa/frontend_dist/assets/VAutocomplete-6cfcsvjI.js +0 -1
  234. modoboa/frontend_dist/assets/VAutocomplete-CPd3yAvV.css +0 -1
  235. modoboa/frontend_dist/assets/VAvatar-BAW2MRci.js +0 -1
  236. modoboa/frontend_dist/assets/VAvatar-DXG1YGB5.css +0 -1
  237. modoboa/frontend_dist/assets/VBadge-D1u6z0HB.js +0 -1
  238. modoboa/frontend_dist/assets/VCard-DI9bqjLN.js +0 -1
  239. modoboa/frontend_dist/assets/VCheckbox-CFYky8Vk.js +0 -1
  240. modoboa/frontend_dist/assets/VChip-C2Lh9BaB.js +0 -1
  241. modoboa/frontend_dist/assets/VChip-D0iltsFo.css +0 -1
  242. modoboa/frontend_dist/assets/VColorPicker-C-5tY_au.js +0 -1
  243. modoboa/frontend_dist/assets/VColorPicker-C5_3l312.css +0 -1
  244. modoboa/frontend_dist/assets/VDataTable-CJyX7uj5.css +0 -1
  245. modoboa/frontend_dist/assets/VDataTable-ClNLUB1Q.js +0 -1
  246. modoboa/frontend_dist/assets/VDataTableServer-DnuQ8rkQ.js +0 -1
  247. modoboa/frontend_dist/assets/VDataTableVirtual-CbOL_PbK.js +0 -1
  248. modoboa/frontend_dist/assets/VDialog-CqMQCPwz.js +0 -1
  249. modoboa/frontend_dist/assets/VExpansionPanels-Cf4WPRqX.js +0 -1
  250. modoboa/frontend_dist/assets/VExpansionPanels-RsCANmDP.css +0 -1
  251. modoboa/frontend_dist/assets/VFileInput-CvKkPeTl.js +0 -1
  252. modoboa/frontend_dist/assets/VForm-DUC3-Taa.js +0 -1
  253. modoboa/frontend_dist/assets/VGrid-Cb7FdSrp.css +0 -1
  254. modoboa/frontend_dist/assets/VInput-B6b2s-5B.js +0 -1
  255. modoboa/frontend_dist/assets/VMenu-CxE66Rh1.css +0 -1
  256. modoboa/frontend_dist/assets/VMenu-sBFHa2zz.js +0 -1
  257. modoboa/frontend_dist/assets/VPicker-CfsXFhHv.css +0 -1
  258. modoboa/frontend_dist/assets/VPicker-DTZ3WsV_.js +0 -1
  259. modoboa/frontend_dist/assets/VProgressCircular-BOPNpUlJ.js +0 -1
  260. modoboa/frontend_dist/assets/VProgressCircular-BPJdTVu4.css +0 -1
  261. modoboa/frontend_dist/assets/VRadioGroup-G9uvkWom.js +0 -1
  262. modoboa/frontend_dist/assets/VSelect-BdxqTzW5.js +0 -1
  263. modoboa/frontend_dist/assets/VSelect-SEzwNEUK.css +0 -1
  264. modoboa/frontend_dist/assets/VSelectionControl-BHD9kDEZ.js +0 -1
  265. modoboa/frontend_dist/assets/VSheet-DRQqJmTV.js +0 -1
  266. modoboa/frontend_dist/assets/VSpacer-Cxcym55r.js +0 -1
  267. modoboa/frontend_dist/assets/VSwitch-bLRfr5zT.js +0 -1
  268. modoboa/frontend_dist/assets/VTable-CHRVGI94.css +0 -1
  269. modoboa/frontend_dist/assets/VTable-CLV2Uv-1.js +0 -1
  270. modoboa/frontend_dist/assets/VTabs-Bv8FUb0o.css +0 -1
  271. modoboa/frontend_dist/assets/VTabs-GZimpcz5.js +0 -1
  272. modoboa/frontend_dist/assets/VTextField-BzBVKKob.css +0 -1
  273. modoboa/frontend_dist/assets/VTextField-Dt3N956g.js +0 -1
  274. modoboa/frontend_dist/assets/VTextarea-BTR7f0gW.css +0 -1
  275. modoboa/frontend_dist/assets/VTextarea-PA2LHtN4.js +0 -1
  276. modoboa/frontend_dist/assets/VToolbar-BxjAEfSk.css +0 -1
  277. modoboa/frontend_dist/assets/VToolbar-Du_s_183.js +0 -1
  278. modoboa/frontend_dist/assets/VWindowItem-CBUkz4P7.js +0 -1
  279. modoboa/frontend_dist/assets/VWindowItem-CWBhiE_Y.css +0 -1
  280. modoboa/frontend_dist/assets/WebmailLayout-BnRwSunS.js +0 -1
  281. modoboa/frontend_dist/assets/WebmailLayout-UlftFiiT.css +0 -1
  282. modoboa/frontend_dist/assets/filter-fudwgMWN.js +0 -1
  283. modoboa/frontend_dist/assets/forwardRefs-DDY5bVRf.js +0 -1
  284. modoboa/frontend_dist/assets/forwardRefs-i-22bMcD.css +0 -1
  285. modoboa/frontend_dist/assets/index-Be6X7UaJ.js +0 -982
  286. modoboa/frontend_dist/assets/index-DuzUMVLM.js +0 -1
  287. modoboa/frontend_dist/assets/layout-DD534hN7.js +0 -1
  288. modoboa/frontend_dist/assets/transports-K6Dg3jL3.js +0 -1
  289. modoboa/frontend_dist/assets/webmail-Dtit1NLT.js +0 -1
  290. {modoboa-2.6.2.data → modoboa-2.6.4.data}/scripts/modoboa-admin.py +0 -0
  291. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/WHEEL +0 -0
  292. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/entry_points.txt +0 -0
  293. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/licenses/LICENSE +0 -0
  294. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
1
- import{C as W,h as I,c as ye,o as Z,w as D,a as S,e as V,t as H,p as Wt,l as Fe,F as Gt,s as kl,k as te,b as qt,n as Qt,d as Ri,i as jn,f as O,m as tt,z as _t,D as He,ae as _i,af as Et,ax as Ml}from"./index-Be6X7UaJ.js";import{c as st,V as lt,b as at,a as ot}from"./VCard-DI9bqjLN.js";import{V as Yt,r as Re}from"./VForm-DUC3-Taa.js";import{V as Cn}from"./VSelect-BdxqTzW5.js";import{V as Cr}from"./VCheckbox-CFYky8Vk.js";import{V as je}from"./VSpacer-Cxcym55r.js";import{V as ee,c as Xe}from"./VAvatar-BAW2MRci.js";import{V as Il}from"./VTable-CLV2Uv-1.js";import{V as Ti,a as Dn}from"./VRow-Dnsej546.js";import{V as St}from"./VTextField-Dt3N956g.js";import{V as Nl}from"./VColorPicker-C-5tY_au.js";import{V as wn}from"./VAlert-mUmhR_lW.js";import{_ as Ol}from"./ConfirmDialog-B0TjtODh.js";import{V as Pl}from"./VTextarea-PA2LHtN4.js";import{V as Hl}from"./VFileInput-CvKkPeTl.js";import{V as $e}from"./VDialog-CqMQCPwz.js";import{u as Bl}from"./layout.store-ZOCP2JtQ.js";import"./tag-D-_IsM8n.js";import"./VInput-B6b2s-5B.js";import"./VProgressCircular-BOPNpUlJ.js";import"./forwardRefs-DDY5bVRf.js";import"./ssrBoot-BbpCPk1A.js";import"./VMenu-sBFHa2zz.js";import"./VCheckboxBtn-B35nMyHy.js";import"./VSelectionControl-BHD9kDEZ.js";import"./VChip-C2Lh9BaB.js";/* empty css */import"./colors-DoZdCu1D.js";import"./VPicker-DTZ3WsV_.js";import"./VSheet-DRQqJmTV.js";import"./VToolbar-Du_s_183.js";const G={getUserCalendars(){return W.get("/user-calendars/")},getUserCalendar(t){return W.get(`/user-calendars/${t}/`)},createUserCalendar(t){return W.post("/user-calendars/",t)},updateUserCalendar(t,e){return W.put(`/user-calendars/${t}/`,e)},deleteUserCalendar(t){return W.delete(`/user-calendars/${t}/`)},getAccessRules(t){return W.get("/accessrules/")},createAccessRule(t){return W.post("/accessrules/",t)},updateAccessRule(t,e){return W.put(`/accessrules/${t}/`,e)},deleteAccessRule(t){return W.delete(`/accessrules/${t}/`)},getUserCalendarEvents(t,e){return W.get(`/user-calendars/${t}/events/`,{params:e})},getUserEvent(t,e){return W.get(`/user-calendars/${t}/events/${e}/`)},createUserEvent(t,e){return W.post(`/user-calendars/${t}/events/`,e)},patchUserEvent(t,e,n){return W.patch(`/user-calendars/${t}/events/${e}/`,n)},importUserEvents(t,e){return W.post(`/user-calendars/${t}/events/import_from_file/`,e)},deleteUserEvent(t,e){return W.delete(`/user-calendars/${t}/events/${e}/`)},getAttendees(){return W.get("/attendees/")}},Ul="mailboxes",Ll={getAll(){return W.get(`${Ul}/`)}},Vl={class:"headline"},Fl={class:"d-flex"},jl={__name:"CalendarAccessRulesForm",props:{calendarPk:{type:Number,default:0}},emits:["close"],setup(t,{emit:e}){const n=t,r=e,i=I([]),s=I([]),l=I({}),a=I({});G.getAccessRules(n.calendarPk).then(p=>{i.value=p.data,i.value.length||(i.value=[])}),Ll.getAll().then(p=>{s.value=p.data});async function o(){l.value.pk?G.updateAccessRule(l.value.pk,l.value).then(()=>{i.value.filter((p,m)=>{p.pk===l.value.pk&&(i.value[m]=l.value)}),d()},c):(l.value.calendar=n.calendarPk,G.createAccessRule(l.value).then(p=>{i.value.push(p.data),d()},c))}function d(){l.value={},a.value={}}function c(p){a.value=p.data}function f(p){l.value=JSON.parse(JSON.stringify(p))}function h(p){G.deleteAccessRule(p.pk).then(()=>{i.value=i.value.filter(m=>m.pk!==p.pk)})}function u(){a.value={},r("close")}return(p,m)=>(Z(),ye(ot,null,{default:D(()=>[S(st,null,{default:D(()=>[V("span",Vl,H(p.$gettext("Calendar sharing")),1)]),_:1}),S(lt,null,{default:D(()=>[S(Yt,{ref:"formRef",onSubmit:Wt(o,["prevent"])},{default:D(()=>[V("div",Fl,[S(Cn,{modelValue:l.value.mailbox,"onUpdate:modelValue":m[0]||(m[0]=v=>l.value.mailbox=v),label:p.$gettext("Full address"),"form-errors":a.value.mailbox,items:s.value,"item-title":"full_address","return-object":"",variant:"outlined",density:"compact"},null,8,["modelValue","label","form-errors","items"]),S(Cr,{modelValue:l.value.read,"onUpdate:modelValue":m[1]||(m[1]=v=>l.value.read=v),label:p.$gettext("Read"),class:"ml-4"},null,8,["modelValue","label"]),S(Cr,{modelValue:l.value.write,"onUpdate:modelValue":m[2]||(m[2]=v=>l.value.write=v),label:p.$gettext("Write"),class:"ml-4"},null,8,["modelValue","label"]),S(je),S(ee,{color:"primary",icon:"mdi-content-save-outline",type:"submit",size:"small"})])]),_:1},512),m[4]||(m[4]=V("br",null,null,-1)),S(Il,null,{default:D(()=>[V("thead",null,[V("tr",null,[V("th",null,H(p.$gettext("Account")),1),V("th",null,H(p.$gettext("Read")),1),V("th",null,H(p.$gettext("Write")),1),m[3]||(m[3]=V("th",null,null,-1))])]),V("tbody",null,[(Z(!0),Fe(Gt,null,kl(i.value,v=>(Z(),Fe("tr",{key:v.pk},[V("td",null,H(v.mailbox.full_address),1),V("td",null,[S(Xe,{icon:v.read?"mdi-check":"mdi-close"},null,8,["icon"])]),V("td",null,[S(Xe,{icon:v.write?"mdi-check":"mdi-close"},null,8,["icon"])]),V("td",null,[S(ee,{icon:"mdi-pencil",size:"x-small",variant:"flat",onClick:y=>f(v)},null,8,["onClick"]),S(ee,{icon:"mdi-trash-can",size:"x-small",variant:"flat",onClick:y=>h(v)},null,8,["onClick"])])]))),128))])]),_:1})]),_:1,__:[4]}),S(at,null,{default:D(()=>[S(je),S(ee,{onClick:u},{default:D(()=>[te(H(p.$gettext("Close")),1)]),_:1})]),_:1})]),_:1}))}},zl={key:0,class:"headline"},Wl={key:1,class:"modal-title"},Gl={__name:"CalendarForm",props:{initialCalendar:{type:Object,default:()=>({color:""})}},emits:["close","colorChanged"],setup(t,{emit:e}){const n=e,r=t,{$gettext:i}=qt(),s=Qt();Ri(()=>{r.initialCalendar&&(l.value={...r.initialCalendar},a.value=r.initialCalendar.domain!==void 0)});const l=I({}),a=I(!1),o=I({}),d=I(),c=I(!1),f=jn(()=>l.value.pk?i("Update"):i("Create"));function h(){l.value={},a.value=!1,o.value={},n("close")}async function u(){const{valid:p}=await d.value.validate();if(!p)return;let m;c.value=!0;try{l.value.pk?(await G.updateUserCalendar(l.value.pk,l.value),m=i("Calendar updated")):(await G.createUserCalendar(l.value),m=i("Calendar created")),r.initialCalendar&&r.initialCalendar.color!==l.value.color&&n("colorChanged",l.value.pk),h(),s.displayNotification({msg:m})}finally{c.value=!1}}return(p,m)=>(Z(),ye(ot,null,{default:D(()=>[S(Yt,{ref_key:"formRef",ref:d,onSubmit:Wt(u,["prevent"])},{default:D(()=>[S(st,null,{default:D(()=>[l.value.pk?(Z(),Fe("span",zl,H(O(i)("Edit calendar")),1)):(Z(),Fe("span",Wl,H(O(i)("New calendar")),1))]),_:1}),S(lt,{class:"py-4"},{default:D(()=>[S(Ti,{"no-gutters":""},{default:D(()=>[S(Dn,{cols:"12"},{default:D(()=>[S(St,{modelValue:l.value.name,"onUpdate:modelValue":m[0]||(m[0]=v=>l.value.name=v),label:O(i)("Name"),variant:"outlined",density:"compact",rules:[O(Re).required],"error-messages":o.value.name},null,8,["modelValue","label","rules","error-messages"])]),_:1}),S(Dn,{cols:"12"},{default:D(()=>[S(Nl,{modelValue:l.value.color,"onUpdate:modelValue":m[1]||(m[1]=v=>l.value.color=v),label:O(i)("Color"),class:"ma-2","swatches-max-height":"200px","show-swatches":"","hide-inputs":"",rules:[O(Re).required]},null,8,["modelValue","label","rules"])]),_:1})]),_:1})]),_:1}),S(at,null,{default:D(()=>[S(je),S(ee,{loading:c.value,onClick:h},{default:D(()=>[te(H(O(i)("Close")),1)]),_:1},8,["loading"]),S(ee,{color:"primary",type:"submit",loading:c.value},{default:D(()=>[te(H(f.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},ql={class:"headline"},Ql={__name:"CalendarDetail",props:{calendar:{type:Object,default:null}},emits:["close"],setup(t,{emit:e}){return(n,r)=>t.calendar?(Z(),ye(ot,{key:0},{default:D(()=>[S(st,null,{default:D(()=>[V("span",ql,H(n.$gettext("Calendar information")),1)]),_:1}),S(lt,null,{default:D(()=>[V("p",null,H(n.$gettext("To access this calendar from the outside (such as Mozilla Thunderbird or your smartphone), use the following URL:")),1),S(wn,{type:"info",class:"my-4",variant:"tonal"},{default:D(()=>[te(H(t.calendar.full_url),1)]),_:1}),V("p",null,H(n.$gettext("The credentials are the same than the ones you use to access Modoboa.")),1),V("p",null,H(n.$gettext("You can also share a read-only version of this calendar using the following URL: ")),1),S(wn,{type:"info",class:"my-4",variant:"tonal"},{default:D(()=>[te(H(t.calendar.share_url),1)]),_:1})]),_:1}),S(at,null,{default:D(()=>[S(je),S(ee,{onClick:r[0]||(r[0]=i=>n.$emit("close"))},{default:D(()=>[te(H(n.$gettext("Close")),1)]),_:1})]),_:1})]),_:1})):tt("",!0)}},Yl={class:"headline"},$l={class:"d-flex mb-3"},Zl={class:"d-flex mb-3"},Xl={class:"d-flex mb-3"},Jl={__name:"EventForm",props:{info:{type:Object,default:null},event:{type:Object,default:null}},emits:["close","refreshCalendar"],setup(t,{emit:e}){const n=t,r=e,{$gettext:i}=qt(),s=Qt(),l=I([]),a=I([]),o=I({}),d=I({}),c=I(),f=I(!1),h=jn(()=>n.event?i("Edit event"):i("New event"));_t(()=>n.info,v=>{v&&(o.value={start:He.fromISO(v.startStr).toFormat("yyyy-MM-dd HH:mm"),end:He.fromISO(v.endStr).toFormat("yyyy-MM-dd HH:mm"),allDay:v.allDay})},{immediate:!0}),_t(()=>n.event,v=>{v&&(o.value={...v},o.value.calendar=o.value.calendar.pk,o.value.start=He.fromISO(v.start).toFormat("yyyy-MM-dd HH:mm"),o.value.end=He.fromISO(v.end).toFormat("yyyy-MM-dd HH:mm"),G.getAttendees().then(y=>{l.value=y.data}))},{immediate:!0});function u(){d.value={},r("close")}async function p(){const{valid:v}=await c.value.validate();if(v){f.value=!0;try{var y=JSON.parse(JSON.stringify(o.value));n.event?(await G.patchUserEvent(o.value.calendar,n.event.id,y),s.displayNotification({msg:i("Event updated")})):(await G.createUserEvent(o.value.calendar,y),s.displayNotification({msg:i("Event added")})),r("refreshCalendar",y.calendar),u()}finally{f.value=!1}}}async function m(){f.value=!0;try{await G.deleteUserEvent(o.value.calendar,n.event.id),s.displayNotification({msg:i("Event deleted")}),r("refreshCalendar",o.value.calendar),u()}finally{f.value=!1}}return G.getUserCalendars().then(v=>{a.value=v.data}),(v,y)=>(Z(),ye(ot,null,{default:D(()=>[S(Yt,{ref_key:"formRef",ref:c,onSubmit:Wt(p,["prevent"])},{default:D(()=>[S(st,null,{default:D(()=>[V("span",Yl,H(h.value),1)]),_:1}),S(lt,{class:"py-4"},{default:D(()=>[S(Ti,{class:"mb-2"},{default:D(()=>[S(Dn,{cols:"12"},{default:D(()=>[S(St,{modelValue:o.value.title,"onUpdate:modelValue":y[0]||(y[0]=E=>o.value.title=E),label:O(i)("Title"),rules:[O(Re).required],"error-messages":d.value.title,density:"compact",variant:"outlined"},null,8,["modelValue","label","rules","error-messages"])]),_:1})]),_:1}),V("div",$l,[S(Xe,{icon:"mdi-clock-outline",class:"mr-4"}),S(St,{modelValue:o.value.start,"onUpdate:modelValue":y[1]||(y[1]=E=>o.value.start=E),label:O(i)("From"),rules:[O(Re).required],"error-messages":d.value.start,density:"compact",variant:"outlined",type:"datetime-local",class:"mr-4"},null,8,["modelValue","label","rules","error-messages"]),S(St,{modelValue:o.value.end,"onUpdate:modelValue":y[2]||(y[2]=E=>o.value.end=E),label:O(i)("To"),rules:[O(Re).required],"error-messages":d.value.end,density:"compact",variant:"outlined",type:"datetime-local"},null,8,["modelValue","label","rules","error-messages"])]),V("div",Zl,[S(Xe,{icon:"mdi-calendar",class:"mr-4"}),S(Cn,{modelValue:o.value.calendar,"onUpdate:modelValue":y[3]||(y[3]=E=>o.value.calendar=E),items:a.value,"item-title":"name","item-value":"pk",label:O(i)("Calendar"),rules:[O(Re).required],"error-messages":d.value.calendar,density:"compact",variant:"outlined"},null,8,["modelValue","items","label","rules","error-messages"])]),t.event?(Z(),Fe(Gt,{key:0},[V("div",Xl,[S(Xe,{icon:"mdi-account-multiple-outline",class:"mr-4"}),S(Cn,{modelValue:o.value.attendees,"onUpdate:modelValue":y[4]||(y[4]=E=>o.value.attendees=E),label:O(i)("Attendees"),items:l.value,"item-title":"display_name","item-value":"email","return-object":"",variant:"outlined",density:"compact",multiple:"",chips:""},null,8,["modelValue","label","items"])]),S(Pl,{modelValue:o.value.description,"onUpdate:modelValue":y[5]||(y[5]=E=>o.value.description=E),label:O(i)("Description"),"auto-grow":"",rows:"2",variant:"outlined",density:"compact",class:"mb-3"},null,8,["modelValue","label"])],64)):tt("",!0)]),_:1}),S(at,null,{default:D(()=>[n.event?(Z(),ye(ee,{key:0,loading:f.value,color:"error",onClick:m},{default:D(()=>[te(H(O(i)("Delete")),1)]),_:1},8,["loading"])):tt("",!0),S(je),S(ee,{loading:f.value,onClick:u},{default:D(()=>[te(H(O(i)("Close")),1)]),_:1},8,["loading"]),S(ee,{color:"primary",type:"submit",loading:f.value},{default:D(()=>[te(H(O(i)("Save")),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Kl={class:"headline"},ea={__name:"ImportEventsForm",props:{calendar:{type:Object,default:null}},emits:["close","eventsImported"],setup(t,{emit:e}){const n=t,r=e,{$ngettext:i}=qt(),s=Qt(),l=I(null),a=I({}),o=I(),d=I(!1);function c(){a.value={},r("close")}function f(u){a.value=u.data,d.value=!1}async function h(){const{valid:u}=await o.value.validate();if(!u)return;let p=new FormData;p.append("ics_file",l.value),d.value=!0;try{const v=await G.importUserEvents(n.calendar,p);c();var m=i("%{ n } event imported","%{ n } events imported",v.data.counter);s.displayNotification({msg:m}),r("eventsImported",n.calendar.pk)}catch(v){f(v.response)}finally{d.value=!1}}return(u,p)=>(Z(),ye(ot,null,{default:D(()=>[S(Yt,{ref_key:"formRef",ref:o,onSubmit:Wt(h,["prevent"])},{default:D(()=>[S(st,null,{default:D(()=>[V("span",Kl,H(u.$gettext("Import events")),1)]),_:1}),S(lt,null,{default:D(()=>[S(wn,{type:"info",variant:"tonal",class:"my-4"},{default:D(()=>[te(H(u.$gettext("Select an ICS file to import and click on the Send button")),1)]),_:1}),S(Hl,{modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=m=>l.value=m),label:u.$gettext("Select an ICS file"),variant:"outlined",density:"compact",rules:[O(Re).required],"error-messages":a.value.ics_file},null,8,["modelValue","label","rules","error-messages"])]),_:1}),S(at,null,{default:D(()=>[S(je),S(ee,{disabled:d.value,onClick:c},{default:D(()=>[te(H(u.$gettext("Close")),1)]),_:1},8,["disabled"]),S(ee,{type:"submit",color:"primary",disabled:d.value},{default:D(()=>[te(H(u.$gettext("Send")),1)]),_:1},8,["disabled"])]),_:1})]),_:1},512)]),_:1}))}};var $t,A,xi,ki,ze,we,Dr,Mi,Ii,Tt={},Ni=[],ta=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function pe(t,e){for(var n in e)t[n]=e[n];return t}function Oi(t){var e=t.parentNode;e&&e.removeChild(t)}function g(t,e,n){var r,i,s,l={};for(s in e)s=="key"?r=e[s]:s=="ref"?i=e[s]:l[s]=e[s];if(arguments.length>2&&(l.children=arguments.length>3?$t.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(s in t.defaultProps)l[s]===void 0&&(l[s]=t.defaultProps[s]);return At(t,l,r,i,null)}function At(t,e,n,r,i){var s={type:t,props:e,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++xi};return i==null&&A.vnode!=null&&A.vnode(s),s}function Y(){return{current:null}}function B(t){return t.children}function na(t,e,n,r,i){var s;for(s in n)s==="children"||s==="key"||s in e||xt(t,s,null,n[s],r);for(s in e)i&&typeof e[s]!="function"||s==="children"||s==="key"||s==="value"||s==="checked"||n[s]===e[s]||xt(t,s,e[s],n[s],r)}function wr(t,e,n){e[0]==="-"?t.setProperty(e,n??""):t[e]=n==null?"":typeof n!="number"||ta.test(e)?n:n+"px"}function xt(t,e,n,r,i){var s;e:if(e==="style")if(typeof n=="string")t.style.cssText=n;else{if(typeof r=="string"&&(t.style.cssText=r=""),r)for(e in r)n&&e in n||wr(t.style,e,"");if(n)for(e in n)r&&n[e]===r[e]||wr(t.style,e,n[e])}else if(e[0]==="o"&&e[1]==="n")s=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in t?e.toLowerCase().slice(2):e.slice(2),t.l||(t.l={}),t.l[e+s]=n,n?r||t.addEventListener(e,s?_r:Rr,s):t.removeEventListener(e,s?_r:Rr,s);else if(e!=="dangerouslySetInnerHTML"){if(i)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="width"&&e!=="height"&&e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e in t)try{t[e]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&e.indexOf("-")==-1?t.removeAttribute(e):t.setAttribute(e,n))}}function Rr(t){ze=!0;try{return this.l[t.type+!1](A.event?A.event(t):t)}finally{ze=!1}}function _r(t){ze=!0;try{return this.l[t.type+!0](A.event?A.event(t):t)}finally{ze=!1}}function X(t,e){this.props=t,this.context=e}function nt(t,e){if(e==null)return t.__?nt(t.__,t.__.__k.indexOf(t)+1):null;for(var n;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null)return n.__e;return typeof t.type=="function"?nt(t):null}function Pi(t){var e,n;if((t=t.__)!=null&&t.__c!=null){for(t.__e=t.__c.base=null,e=0;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null){t.__e=t.__c.base=n.__e;break}return Pi(t)}}function ra(t){ze?setTimeout(t):Mi(t)}function Rn(t){(!t.__d&&(t.__d=!0)&&we.push(t)&&!kt.__r++||Dr!==A.debounceRendering)&&((Dr=A.debounceRendering)||ra)(kt)}function kt(){var t,e,n,r,i,s,l,a;for(we.sort(function(o,d){return o.__v.__b-d.__v.__b});t=we.shift();)t.__d&&(e=we.length,r=void 0,i=void 0,l=(s=(n=t).__v).__e,(a=n.__P)&&(r=[],(i=pe({},s)).__v=s.__v+1,zn(a,s,i,n.__n,a.ownerSVGElement!==void 0,s.__h!=null?[l]:null,r,l??nt(s),s.__h),Vi(r,s),s.__e!=l&&Pi(s)),we.length>e&&we.sort(function(o,d){return o.__v.__b-d.__v.__b}));kt.__r=0}function Hi(t,e,n,r,i,s,l,a,o,d){var c,f,h,u,p,m,v,y=r&&r.__k||Ni,E=y.length;for(n.__k=[],c=0;c<e.length;c++)if((u=n.__k[c]=(u=e[c])==null||typeof u=="boolean"?null:typeof u=="string"||typeof u=="number"||typeof u=="bigint"?At(null,u,null,null,u):Array.isArray(u)?At(B,{children:u},null,null,null):u.__b>0?At(u.type,u.props,u.key,u.ref?u.ref:null,u.__v):u)!=null){if(u.__=n,u.__b=n.__b+1,(h=y[c])===null||h&&u.key==h.key&&u.type===h.type)y[c]=void 0;else for(f=0;f<E;f++){if((h=y[f])&&u.key==h.key&&u.type===h.type){y[f]=void 0;break}h=null}zn(t,u,h=h||Tt,i,s,l,a,o,d),p=u.__e,(f=u.ref)&&h.ref!=f&&(v||(v=[]),h.ref&&v.push(h.ref,null,u),v.push(f,u.__c||p,u)),p!=null?(m==null&&(m=p),typeof u.type=="function"&&u.__k===h.__k?u.__d=o=Bi(u,o,t):o=Ui(t,u,h,y,p,o),typeof n.type=="function"&&(n.__d=o)):o&&h.__e==o&&o.parentNode!=t&&(o=nt(h))}for(n.__e=m,c=E;c--;)y[c]!=null&&(typeof n.type=="function"&&y[c].__e!=null&&y[c].__e==n.__d&&(n.__d=Li(r).nextSibling),ji(y[c],y[c]));if(v)for(c=0;c<v.length;c++)Fi(v[c],v[++c],v[++c])}function Bi(t,e,n){for(var r,i=t.__k,s=0;i&&s<i.length;s++)(r=i[s])&&(r.__=t,e=typeof r.type=="function"?Bi(r,e,n):Ui(n,r,r,i,r.__e,e));return e}function Mt(t,e){return e=e||[],t==null||typeof t=="boolean"||(Array.isArray(t)?t.some(function(n){Mt(n,e)}):e.push(t)),e}function Ui(t,e,n,r,i,s){var l,a,o;if(e.__d!==void 0)l=e.__d,e.__d=void 0;else if(n==null||i!=s||i.parentNode==null)e:if(s==null||s.parentNode!==t)t.appendChild(i),l=null;else{for(a=s,o=0;(a=a.nextSibling)&&o<r.length;o+=1)if(a==i)break e;t.insertBefore(i,s),l=s}return l!==void 0?l:i.nextSibling}function Li(t){var e,n,r;if(t.type==null||typeof t.type=="string")return t.__e;if(t.__k){for(e=t.__k.length-1;e>=0;e--)if((n=t.__k[e])&&(r=Li(n)))return r}return null}function zn(t,e,n,r,i,s,l,a,o){var d,c,f,h,u,p,m,v,y,E,w,R,L,M,P,T=e.type;if(e.constructor!==void 0)return null;n.__h!=null&&(o=n.__h,a=e.__e=n.__e,e.__h=null,s=[a]),(d=A.__b)&&d(e);try{e:if(typeof T=="function"){if(v=e.props,y=(d=T.contextType)&&r[d.__c],E=d?y?y.props.value:d.__:r,n.__c?m=(c=e.__c=n.__c).__=c.__E:("prototype"in T&&T.prototype.render?e.__c=c=new T(v,E):(e.__c=c=new X(v,E),c.constructor=T,c.render=sa),y&&y.sub(c),c.props=v,c.state||(c.state={}),c.context=E,c.__n=r,f=c.__d=!0,c.__h=[],c._sb=[]),c.__s==null&&(c.__s=c.state),T.getDerivedStateFromProps!=null&&(c.__s==c.state&&(c.__s=pe({},c.__s)),pe(c.__s,T.getDerivedStateFromProps(v,c.__s))),h=c.props,u=c.state,c.__v=e,f)T.getDerivedStateFromProps==null&&c.componentWillMount!=null&&c.componentWillMount(),c.componentDidMount!=null&&c.__h.push(c.componentDidMount);else{if(T.getDerivedStateFromProps==null&&v!==h&&c.componentWillReceiveProps!=null&&c.componentWillReceiveProps(v,E),!c.__e&&c.shouldComponentUpdate!=null&&c.shouldComponentUpdate(v,c.__s,E)===!1||e.__v===n.__v){for(e.__v!==n.__v&&(c.props=v,c.state=c.__s,c.__d=!1),e.__e=n.__e,e.__k=n.__k,e.__k.forEach(function(re){re&&(re.__=e)}),w=0;w<c._sb.length;w++)c.__h.push(c._sb[w]);c._sb=[],c.__h.length&&l.push(c);break e}c.componentWillUpdate!=null&&c.componentWillUpdate(v,c.__s,E),c.componentDidUpdate!=null&&c.__h.push(function(){c.componentDidUpdate(h,u,p)})}if(c.context=E,c.props=v,c.__P=t,R=A.__r,L=0,"prototype"in T&&T.prototype.render){for(c.state=c.__s,c.__d=!1,R&&R(e),d=c.render(c.props,c.state,c.context),M=0;M<c._sb.length;M++)c.__h.push(c._sb[M]);c._sb=[]}else do c.__d=!1,R&&R(e),d=c.render(c.props,c.state,c.context),c.state=c.__s;while(c.__d&&++L<25);c.state=c.__s,c.getChildContext!=null&&(r=pe(pe({},r),c.getChildContext())),f||c.getSnapshotBeforeUpdate==null||(p=c.getSnapshotBeforeUpdate(h,u)),P=d!=null&&d.type===B&&d.key==null?d.props.children:d,Hi(t,Array.isArray(P)?P:[P],e,n,r,i,s,l,a,o),c.base=e.__e,e.__h=null,c.__h.length&&l.push(c),m&&(c.__E=c.__=null),c.__e=!1}else s==null&&e.__v===n.__v?(e.__k=n.__k,e.__e=n.__e):e.__e=ia(n.__e,e,n,r,i,s,l,o);(d=A.diffed)&&d(e)}catch(re){e.__v=null,(o||s!=null)&&(e.__e=a,e.__h=!!o,s[s.indexOf(a)]=null),A.__e(re,e,n)}}function Vi(t,e){A.__c&&A.__c(e,t),t.some(function(n){try{t=n.__h,n.__h=[],t.some(function(r){r.call(n)})}catch(r){A.__e(r,n.__v)}})}function ia(t,e,n,r,i,s,l,a){var o,d,c,f=n.props,h=e.props,u=e.type,p=0;if(u==="svg"&&(i=!0),s!=null){for(;p<s.length;p++)if((o=s[p])&&"setAttribute"in o==!!u&&(u?o.localName===u:o.nodeType===3)){t=o,s[p]=null;break}}if(t==null){if(u===null)return document.createTextNode(h);t=i?document.createElementNS("http://www.w3.org/2000/svg",u):document.createElement(u,h.is&&h),s=null,a=!1}if(u===null)f===h||a&&t.data===h||(t.data=h);else{if(s=s&&$t.call(t.childNodes),d=(f=n.props||Tt).dangerouslySetInnerHTML,c=h.dangerouslySetInnerHTML,!a){if(s!=null)for(f={},p=0;p<t.attributes.length;p++)f[t.attributes[p].name]=t.attributes[p].value;(c||d)&&(c&&(d&&c.__html==d.__html||c.__html===t.innerHTML)||(t.innerHTML=c&&c.__html||""))}if(na(t,h,f,i,a),c)e.__k=[];else if(p=e.props.children,Hi(t,Array.isArray(p)?p:[p],e,n,r,i&&u!=="foreignObject",s,l,s?s[0]:n.__k&&nt(n,0),a),s!=null)for(p=s.length;p--;)s[p]!=null&&Oi(s[p]);a||("value"in h&&(p=h.value)!==void 0&&(p!==t.value||u==="progress"&&!p||u==="option"&&p!==f.value)&&xt(t,"value",p,f.value,!1),"checked"in h&&(p=h.checked)!==void 0&&p!==t.checked&&xt(t,"checked",p,f.checked,!1))}return t}function Fi(t,e,n){try{typeof t=="function"?t(e):t.current=e}catch(r){A.__e(r,n)}}function ji(t,e,n){var r,i;if(A.unmount&&A.unmount(t),(r=t.ref)&&(r.current&&r.current!==t.__e||Fi(r,null,e)),(r=t.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(s){A.__e(s,e)}r.base=r.__P=null,t.__c=void 0}if(r=t.__k)for(i=0;i<r.length;i++)r[i]&&ji(r[i],e,n||typeof t.type!="function");n||t.__e==null||Oi(t.__e),t.__=t.__e=t.__d=void 0}function sa(t,e,n){return this.constructor(t,n)}function rt(t,e,n){var r,i,s;A.__&&A.__(t,e),i=(r=!1)?null:e.__k,s=[],zn(e,t=e.__k=g(B,null,[t]),i||Tt,Tt,e.ownerSVGElement!==void 0,i?null:e.firstChild?$t.call(e.childNodes):null,s,i?i.__e:e.firstChild,r),Vi(s,t)}function la(t,e){var n={__c:e="__cC"+Ii++,__:t,Consumer:function(r,i){return r.children(i)},Provider:function(r){var i,s;return this.getChildContext||(i=[],(s={})[e]=this,this.getChildContext=function(){return s},this.shouldComponentUpdate=function(l){this.props.value!==l.value&&i.some(function(a){a.__e=!0,Rn(a)})},this.sub=function(l){i.push(l);var a=l.componentWillUnmount;l.componentWillUnmount=function(){i.splice(i.indexOf(l),1),a&&a.call(l)}}),r.children}};return n.Provider.__=n.Consumer.contextType=n}$t=Ni.slice,A={__e:function(t,e,n,r){for(var i,s,l;e=e.__;)if((i=e.__c)&&!i.__)try{if((s=i.constructor)&&s.getDerivedStateFromError!=null&&(i.setState(s.getDerivedStateFromError(t)),l=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(t,r||{}),l=i.__d),l)return i.__E=i}catch(a){t=a}throw t}},xi=0,ki=function(t){return t!=null&&t.constructor===void 0},ze=!1,X.prototype.setState=function(t,e){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=pe({},this.state),typeof t=="function"&&(t=t(pe({},n),this.props)),t&&pe(n,t),t!=null&&this.__v&&(e&&this._sb.push(e),Rn(this))},X.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Rn(this))},X.prototype.render=B,we=[],Mi=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,kt.__r=0,Ii=0;var se,ln,Tr,zi=[],an=[],xr=A.__b,kr=A.__r,Mr=A.diffed,Ir=A.__c,Nr=A.unmount;function aa(){for(var t;t=zi.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(Ct),t.__H.__h.forEach(_n),t.__H.__h=[]}catch(e){t.__H.__h=[],A.__e(e,t.__v)}}A.__b=function(t){se=null,xr&&xr(t)},A.__r=function(t){kr&&kr(t);var e=(se=t.__c).__H;e&&(ln===se?(e.__h=[],se.__h=[],e.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=an,n.__N=n.i=void 0})):(e.__h.forEach(Ct),e.__h.forEach(_n),e.__h=[])),ln=se},A.diffed=function(t){Mr&&Mr(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(zi.push(e)!==1&&Tr===A.requestAnimationFrame||((Tr=A.requestAnimationFrame)||oa)(aa)),e.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==an&&(n.__=n.__V),n.i=void 0,n.__V=an})),ln=se=null},A.__c=function(t,e){e.some(function(n){try{n.__h.forEach(Ct),n.__h=n.__h.filter(function(r){return!r.__||_n(r)})}catch(r){e.some(function(i){i.__h&&(i.__h=[])}),e=[],A.__e(r,n.__v)}}),Ir&&Ir(t,e)},A.unmount=function(t){Nr&&Nr(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.forEach(function(r){try{Ct(r)}catch(i){e=i}}),n.__H=void 0,e&&A.__e(e,n.__v))};var Or=typeof requestAnimationFrame=="function";function oa(t){var e,n=function(){clearTimeout(r),Or&&cancelAnimationFrame(e),setTimeout(t)},r=setTimeout(n,100);Or&&(e=requestAnimationFrame(n))}function Ct(t){var e=se,n=t.__c;typeof n=="function"&&(t.__c=void 0,n()),se=e}function _n(t){var e=se;t.__c=t.__(),se=e}function ca(t,e){for(var n in e)t[n]=e[n];return t}function Pr(t,e){for(var n in t)if(n!=="__source"&&!(n in e))return!0;for(var r in e)if(r!=="__source"&&t[r]!==e[r])return!0;return!1}function Hr(t){this.props=t}(Hr.prototype=new X).isPureReactComponent=!0,Hr.prototype.shouldComponentUpdate=function(t,e){return Pr(this.props,t)||Pr(this.state,e)};var Br=A.__b;A.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),Br&&Br(t)};var da=A.__e;A.__e=function(t,e,n,r){if(t.then){for(var i,s=e;s=s.__;)if((i=s.__c)&&i.__c)return e.__e==null&&(e.__e=n.__e,e.__k=n.__k),i.__c(t,e)}da(t,e,n,r)};var Ur=A.unmount;function Wi(t,e,n){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(r){typeof r.__c=="function"&&r.__c()}),t.__c.__H=null),(t=ca({},t)).__c!=null&&(t.__c.__P===n&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(r){return Wi(r,e,n)})),t}function Gi(t,e,n){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(r){return Gi(r,e,n)}),t.__c&&t.__c.__P===e&&(t.__e&&n.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=n)),t}function on(){this.__u=0,this.t=null,this.__b=null}function qi(t){var e=t.__.__c;return e&&e.__a&&e.__a(t)}function ft(){this.u=null,this.o=null}A.unmount=function(t){var e=t.__c;e&&e.__R&&e.__R(),e&&t.__h===!0&&(t.type=null),Ur&&Ur(t)},(on.prototype=new X).__c=function(t,e){var n=e.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var i=qi(r.__v),s=!1,l=function(){s||(s=!0,n.__R=null,i?i(a):a())};n.__R=l;var a=function(){if(!--r.__u){if(r.state.__a){var d=r.state.__a;r.__v.__k[0]=Gi(d,d.__c.__P,d.__c.__O)}var c;for(r.setState({__a:r.__b=null});c=r.t.pop();)c.forceUpdate()}},o=e.__h===!0;r.__u++||o||r.setState({__a:r.__b=r.__v.__k[0]}),t.then(l,l)},on.prototype.componentWillUnmount=function(){this.t=[]},on.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Wi(this.__b,n,r.__O=r.__P)}this.__b=null}var i=e.__a&&g(B,null,t.fallback);return i&&(i.__h=null),[g(B,null,e.__a?null:t.children),i]};var Lr=function(t,e,n){if(++n[1]===n[0]&&t.o.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.o.size))for(n=t.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;t.u=n=n[2]}};function ua(t){return this.getChildContext=function(){return t.context},t.children}function fa(t){var e=this,n=t.i;e.componentWillUnmount=function(){rt(null,e.l),e.l=null,e.i=null},e.i&&e.i!==n&&e.componentWillUnmount(),t.__v?(e.l||(e.i=n,e.l={nodeType:1,parentNode:n,childNodes:[],appendChild:function(r){this.childNodes.push(r),e.i.appendChild(r)},insertBefore:function(r,i){this.childNodes.push(r),e.i.appendChild(r)},removeChild:function(r){this.childNodes.splice(this.childNodes.indexOf(r)>>>1,1),e.i.removeChild(r)}}),rt(g(ua,{context:e.context},t.__v),e.l)):e.l&&e.componentWillUnmount()}function ha(t,e){var n=g(fa,{__v:t,i:e});return n.containerInfo=e,n}(ft.prototype=new X).__a=function(t){var e=this,n=qi(e.__v),r=e.o.get(t);return r[0]++,function(i){var s=function(){e.props.revealOrder?(r.push(i),Lr(e,t,r)):i()};n?n(s):s()}},ft.prototype.render=function(t){this.u=null,this.o=new Map;var e=Mt(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var n=e.length;n--;)this.o.set(e[n],this.u=[1,0,this.u]);return t.children},ft.prototype.componentDidUpdate=ft.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,n){Lr(t,n,e)})};var ga=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,pa=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,ma=typeof document<"u",va=function(t){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(t)};X.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(X.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var Vr=A.event;function ba(){}function ya(){return this.cancelBubble}function Ea(){return this.defaultPrevented}A.event=function(t){return Vr&&(t=Vr(t)),t.persist=ba,t.isPropagationStopped=ya,t.isDefaultPrevented=Ea,t.nativeEvent=t};var Fr={configurable:!0,get:function(){return this.class}},jr=A.vnode;A.vnode=function(t){var e=t.type,n=t.props,r=n;if(typeof e=="string"){var i=e.indexOf("-")===-1;for(var s in r={},n){var l=n[s];ma&&s==="children"&&e==="noscript"||s==="value"&&"defaultValue"in n&&l==null||(s==="defaultValue"&&"value"in n&&n.value==null?s="value":s==="download"&&l===!0?l="":/ondoubleclick/i.test(s)?s="ondblclick":/^onchange(textarea|input)/i.test(s+e)&&!va(n.type)?s="oninput":/^onfocus$/i.test(s)?s="onfocusin":/^onblur$/i.test(s)?s="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(s)?s=s.toLowerCase():i&&pa.test(s)?s=s.replace(/[A-Z0-9]/g,"-$&").toLowerCase():l===null&&(l=void 0),/^oninput$/i.test(s)&&(s=s.toLowerCase(),r[s]&&(s="oninputCapture")),r[s]=l)}e=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=Mt(n.children).forEach(function(a){a.props.selected=r.value.indexOf(a.props.value)!=-1})),e=="select"&&r.defaultValue!=null&&(r.value=Mt(n.children).forEach(function(a){a.props.selected=r.multiple?r.defaultValue.indexOf(a.props.value)!=-1:r.defaultValue==a.props.value})),t.props=r,n.class!=n.className&&(Fr.enumerable="className"in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,"className",Fr))}t.$$typeof=ga,jr&&jr(t)};var zr=A.__r;A.__r=function(t){zr&&zr(t),t.__c};const Qi=[],Tn=new Map;function Wn(t){Qi.push(t),Tn.forEach(e=>{$i(e,t)})}function Sa(t){t.isConnected&&t.getRootNode&&Yi(t.getRootNode())}function Yi(t){let e=Tn.get(t);if(!e||!e.isConnected){if(e=t.querySelector("style[data-fullcalendar]"),!e){e=document.createElement("style"),e.setAttribute("data-fullcalendar","");const n=Ca();n&&(e.nonce=n);const r=t===document?document.head:t,i=t===document?r.querySelector("script,link[rel=stylesheet],link[as=style],style"):r.firstChild;r.insertBefore(e,i)}Tn.set(t,e),Aa(e)}}function Aa(t){for(const e of Qi)$i(t,e)}function $i(t,e){const{sheet:n}=t,r=n.cssRules.length;e.split("}").forEach((i,s)=>{i=i.trim(),i&&n.insertRule(i+"}",r+s)})}let cn;function Ca(){return cn===void 0&&(cn=Da()),cn}function Da(){const t=document.querySelector('meta[name="csp-nonce"]');if(t&&t.hasAttribute("content"))return t.getAttribute("content");const e=document.querySelector("script[nonce]");return e&&e.nonce||""}typeof document<"u"&&Yi(document);var wa=':root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:"\\e900"}.fc-icon-chevron-right:before{content:"\\e901"}.fc-icon-chevrons-left:before{content:"\\e902"}.fc-icon-chevrons-right:before{content:"\\e903"}.fc-icon-minus-square:before{content:"\\e904"}.fc-icon-plus-square:before{content:"\\e905"}.fc-icon-x:before{content:"\\e906"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:"";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}';Wn(wa);class Gn{constructor(e){this.drainedOption=e,this.isRunning=!1,this.isDirty=!1,this.pauseDepths={},this.timeoutId=0}request(e){this.isDirty=!0,this.isPaused()||(this.clearTimeout(),e==null?this.tryDrain():this.timeoutId=setTimeout(this.tryDrain.bind(this),e))}pause(e=""){let{pauseDepths:n}=this;n[e]=(n[e]||0)+1,this.clearTimeout()}resume(e="",n){let{pauseDepths:r}=this;e in r&&(n?delete r[e]:(r[e]-=1,r[e]<=0&&delete r[e]),this.tryDrain())}isPaused(){return Object.keys(this.pauseDepths).length}tryDrain(){if(!this.isRunning&&!this.isPaused()){for(this.isRunning=!0;this.isDirty;)this.isDirty=!1,this.drained();this.isRunning=!1}}clear(){this.clearTimeout(),this.isDirty=!1,this.pauseDepths={}}clearTimeout(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=0)}drained(){this.drainedOption&&this.drainedOption()}}function qn(t){t.parentNode&&t.parentNode.removeChild(t)}function q(t,e){if(t.closest)return t.closest(e);if(!document.documentElement.contains(t))return null;do{if(Ra(t,e))return t;t=t.parentElement||t.parentNode}while(t!==null&&t.nodeType===1);return null}function Ra(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector).call(t,e)}function _a(t,e){let n=t instanceof HTMLElement?[t]:t,r=[];for(let i=0;i<n.length;i+=1){let s=n[i].querySelectorAll(e);for(let l=0;l<s.length;l+=1)r.push(s[l])}return r}const Ta=/(top|left|right|bottom|width|height)$/i;function Je(t,e){for(let n in e)Zi(t,n,e[n])}function Zi(t,e,n){n==null?t.style[e]="":typeof n=="number"&&Ta.test(e)?t.style[e]=`${n}px`:t.style[e]=n}function Xi(t){var e,n;return(n=(e=t.composedPath)===null||e===void 0?void 0:e.call(t)[0])!==null&&n!==void 0?n:t.target}let Wr=0;function Zt(){return Wr+=1,"fc-dom-"+Wr}function Xt(t){t.preventDefault()}function xa(t,e){return n=>{let r=q(n.target,t);r&&e.call(r,n,r)}}function Ji(t,e,n,r){let i=xa(n,r);return t.addEventListener(e,i),()=>{t.removeEventListener(e,i)}}function ka(t,e,n,r){let i;return Ji(t,"mouseover",e,(s,l)=>{if(l!==i){i=l,n(s,l);let a=o=>{i=null,r(o,l),l.removeEventListener("mouseleave",a)};l.addEventListener("mouseleave",a)}})}const Gr=["webkitTransitionEnd","otransitionend","oTransitionEnd","msTransitionEnd","transitionend"];function Ma(t,e){let n=r=>{e(r),Gr.forEach(i=>{t.removeEventListener(i,n)})};Gr.forEach(r=>{t.addEventListener(r,n)})}function Ki(t){return Object.assign({onClick:t},es(t))}function es(t){return{tabIndex:0,onKeyDown(e){(e.key==="Enter"||e.key===" ")&&(t(e),e.preventDefault())}}}let qr=0;function Ie(){return qr+=1,String(qr)}function Qn(){document.body.classList.add("fc-not-allowed")}function Yn(){document.body.classList.remove("fc-not-allowed")}function Ia(t){t.style.userSelect="none",t.style.webkitUserSelect="none",t.addEventListener("selectstart",Xt)}function Na(t){t.style.userSelect="",t.style.webkitUserSelect="",t.removeEventListener("selectstart",Xt)}function Oa(t){t.addEventListener("contextmenu",Xt)}function Pa(t){t.removeEventListener("contextmenu",Xt)}function Ha(t){let e=[],n=[],r,i;for(typeof t=="string"?n=t.split(/\s*,\s*/):typeof t=="function"?n=[t]:Array.isArray(t)&&(n=t),r=0;r<n.length;r+=1)i=n[r],typeof i=="string"?e.push(i.charAt(0)==="-"?{field:i.substring(1),order:-1}:{field:i,order:1}):typeof i=="function"&&e.push({func:i});return e}function Ba(t,e,n){let r,i;for(r=0;r<n.length;r+=1)if(i=Ua(t,e,n[r]),i)return i;return 0}function Ua(t,e,n){return n.func?n.func(t,e):La(t[n.field],e[n.field])*(n.order||1)}function La(t,e){return!t&&!e?0:e==null?-1:t==null?1:typeof t=="string"||typeof e=="string"?String(t).localeCompare(String(e)):t-e}function Ue(t,e){let n=String(t);return"000".substr(0,e-n.length)+n}function Ke(t,e,n){return typeof t=="function"?t(...e):typeof t=="string"?e.reduce((r,i,s)=>r.replace("$"+s,i||""),t):n}function Va(t,e){return t-e}function Dt(t){return t%1===0}function Fa(t){let e=t.querySelector(".fc-scrollgrid-shrink-frame"),n=t.querySelector(".fc-scrollgrid-shrink-cushion");if(!e)throw new Error("needs fc-scrollgrid-shrink-frame className");if(!n)throw new Error("needs fc-scrollgrid-shrink-cushion className");return t.getBoundingClientRect().width-e.getBoundingClientRect().width+n.getBoundingClientRect().width}const Qr=["years","months","days","milliseconds"],ja=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;function k(t,e){return typeof t=="string"?za(t):typeof t=="object"&&t?Yr(t):typeof t=="number"?Yr({[e||"milliseconds"]:t}):null}function za(t){let e=ja.exec(t);if(e){let n=e[1]?-1:1;return{years:0,months:0,days:n*(e[2]?parseInt(e[2],10):0),milliseconds:n*((e[3]?parseInt(e[3],10):0)*60*60*1e3+(e[4]?parseInt(e[4],10):0)*60*1e3+(e[5]?parseInt(e[5],10):0)*1e3+(e[6]?parseInt(e[6],10):0))}}return null}function Yr(t){let e={years:t.years||t.year||0,months:t.months||t.month||0,days:t.days||t.day||0,milliseconds:(t.hours||t.hour||0)*60*60*1e3+(t.minutes||t.minute||0)*60*1e3+(t.seconds||t.second||0)*1e3+(t.milliseconds||t.millisecond||t.ms||0)},n=t.weeks||t.week;return n&&(e.days+=n*7,e.specifiedWeeks=!0),e}function Wa(t,e){return t.years===e.years&&t.months===e.months&&t.days===e.days&&t.milliseconds===e.milliseconds}function xn(t,e){return{years:t.years+e.years,months:t.months+e.months,days:t.days+e.days,milliseconds:t.milliseconds+e.milliseconds}}function Ga(t,e){return{years:t.years-e.years,months:t.months-e.months,days:t.days-e.days,milliseconds:t.milliseconds-e.milliseconds}}function qa(t,e){return{years:t.years*e,months:t.months*e,days:t.days*e,milliseconds:t.milliseconds*e}}function Qa(t){return Le(t)/365}function Ya(t){return Le(t)/30}function Le(t){return ne(t)/864e5}function ne(t){return t.years*(365*864e5)+t.months*(30*864e5)+t.days*864e5+t.milliseconds}function $n(t,e){let n=null;for(let r=0;r<Qr.length;r+=1){let i=Qr[r];if(e[i]){let s=t[i]/e[i];if(!Dt(s)||n!==null&&n!==s)return null;n=s}else if(t[i])return null}return n}function kn(t){let e=t.milliseconds;if(e){if(e%1e3!==0)return{unit:"millisecond",value:e};if(e%(1e3*60)!==0)return{unit:"second",value:e/1e3};if(e%(1e3*60*60)!==0)return{unit:"minute",value:e/(1e3*60)};if(e)return{unit:"hour",value:e/(1e3*60*60)}}return t.days?t.specifiedWeeks&&t.days%7===0?{unit:"week",value:t.days/7}:{unit:"day",value:t.days}:t.months?{unit:"month",value:t.months}:t.years?{unit:"year",value:t.years}:{unit:"millisecond",value:0}}function Ee(t,e,n){if(t===e)return!0;let r=t.length,i;if(r!==e.length)return!1;for(i=0;i<r;i+=1)if(!(n?n(t[i],e[i]):t[i]===e[i]))return!1;return!0}const $a=["sun","mon","tue","wed","thu","fri","sat"];function $r(t,e){let n=me(t);return n[2]+=e*7,$(n)}function Q(t,e){let n=me(t);return n[2]+=e,$(n)}function Se(t,e){let n=me(t);return n[6]+=e,$(n)}function Za(t,e){return Ne(t,e)/7}function Ne(t,e){return(e.valueOf()-t.valueOf())/(1e3*60*60*24)}function Xa(t,e){return(e.valueOf()-t.valueOf())/(1e3*60*60)}function Ja(t,e){return(e.valueOf()-t.valueOf())/(1e3*60)}function Ka(t,e){return(e.valueOf()-t.valueOf())/1e3}function eo(t,e){let n=U(t),r=U(e);return{years:0,months:0,days:Math.round(Ne(n,r)),milliseconds:e.valueOf()-r.valueOf()-(t.valueOf()-n.valueOf())}}function to(t,e){let n=It(t,e);return n!==null&&n%7===0?n/7:null}function It(t,e){return ve(t)===ve(e)?Math.round(Ne(t,e)):null}function U(t){return $([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()])}function no(t){return $([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours()])}function ro(t){return $([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes()])}function io(t){return $([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()])}function so(t,e,n){let r=t.getUTCFullYear(),i=dn(t,r,e,n);if(i<1)return dn(t,r-1,e,n);let s=dn(t,r+1,e,n);return s>=1?Math.min(i,s):i}function dn(t,e,n,r){let i=$([e,0,1+lo(e,n,r)]),s=U(t),l=Math.round(Ne(i,s));return Math.floor(l/7)+1}function lo(t,e,n){let r=7+e-n;return-((7+$([t,0,r]).getUTCDay()-e)%7)+r-1}function Zr(t){return[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()]}function Xr(t){return new Date(t[0],t[1]||0,t[2]==null?1:t[2],t[3]||0,t[4]||0,t[5]||0)}function me(t){return[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds()]}function $(t){return t.length===1&&(t=t.concat([0])),new Date(Date.UTC(...t))}function ts(t){return!isNaN(t.valueOf())}function ve(t){return t.getUTCHours()*1e3*60*60+t.getUTCMinutes()*1e3*60+t.getUTCSeconds()*1e3+t.getUTCMilliseconds()}function ns(t,e,n=!1){let r=t.toISOString();return r=r.replace(".000",""),n&&(r=r.replace("T00:00:00Z","")),r.length>10&&(e==null?r=r.replace("Z",""):e!==0&&(r=r.replace("Z",Xn(e,!0)))),r}function Zn(t){return t.toISOString().replace(/T.*$/,"")}function ao(t){return t.toISOString().match(/^\d{4}-\d{2}/)[0]}function oo(t){return Ue(t.getUTCHours(),2)+":"+Ue(t.getUTCMinutes(),2)+":"+Ue(t.getUTCSeconds(),2)}function Xn(t,e=!1){let n=t<0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),s=Math.round(r%60);return e?`${n+Ue(i,2)}:${Ue(s,2)}`:`GMT${n}${i}${s?`:${Ue(s,2)}`:""}`}function C(t,e,n){let r,i;return function(...s){if(!r)i=t.apply(this,s);else if(!Ee(r,s)){let l=t.apply(this,s);(!e||!e(l,i))&&(i=l)}return r=s,i}}function wt(t,e,n){let r,i;return s=>(r?le(r,s)||(i=t.call(this,s)):i=t.call(this,s),r=s,i)}const un={week:3,separator:9,omitZeroMinute:9,meridiem:9,omitCommas:9},Nt={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},ht=/\s*([ap])\.?m\.?/i,co=/,/g,uo=/\s+/g,fo=/\u200e/g,ho=/UTC|GMT/;class go{constructor(e){let n={},r={},i=9;for(let s in e)s in un?(r[s]=e[s],un[s]<9&&(i=Math.min(un[s],i))):(n[s]=e[s],s in Nt&&(i=Math.min(Nt[s],i)));this.standardDateProps=n,this.extendedSettings=r,this.smallestUnitNum=i,this.buildFormattingFunc=C(Jr)}format(e,n){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,n)(e)}formatRange(e,n,r,i){let{standardDateProps:s,extendedSettings:l}=this,a=Eo(e.marker,n.marker,r.calendarSystem);if(!a)return this.format(e,r);let o=a;o>1&&(s.year==="numeric"||s.year==="2-digit")&&(s.month==="numeric"||s.month==="2-digit")&&(s.day==="numeric"||s.day==="2-digit")&&(o=1);let d=this.format(e,r),c=this.format(n,r);if(d===c)return d;let f=So(s,o),h=Jr(f,l,r),u=h(e),p=h(n),m=Ao(d,u,c,p),v=l.separator||i||r.defaultSeparator||"";return m?m.before+u+v+p+m.after:d+v+c}getSmallestUnit(){switch(this.smallestUnitNum){case 7:case 6:case 5:return"year";case 4:return"month";case 3:return"week";case 2:return"day";default:return"time"}}}function Jr(t,e,n){let r=Object.keys(t).length;return r===1&&t.timeZoneName==="short"?i=>Xn(i.timeZoneOffset):r===0&&e.week?i=>yo(n.computeWeekNumber(i.marker),n.weekText,n.weekTextLong,n.locale,e.week):po(t,e,n)}function po(t,e,n){t=Object.assign({},t),e=Object.assign({},e),mo(t,e),t.timeZone="UTC";let r=new Intl.DateTimeFormat(n.locale.codes,t),i;if(e.omitZeroMinute){let s=Object.assign({},t);delete s.minute,i=new Intl.DateTimeFormat(n.locale.codes,s)}return s=>{let{marker:l}=s,a;i&&!l.getUTCMinutes()?a=i:a=r;let o=a.format(l);return vo(o,s,t,e,n)}}function mo(t,e){t.timeZoneName&&(t.hour||(t.hour="2-digit"),t.minute||(t.minute="2-digit")),t.timeZoneName==="long"&&(t.timeZoneName="short"),e.omitZeroMinute&&(t.second||t.millisecond)&&delete e.omitZeroMinute}function vo(t,e,n,r,i){return t=t.replace(fo,""),n.timeZoneName==="short"&&(t=bo(t,i.timeZone==="UTC"||e.timeZoneOffset==null?"UTC":Xn(e.timeZoneOffset))),r.omitCommas&&(t=t.replace(co,"").trim()),r.omitZeroMinute&&(t=t.replace(":00","")),r.meridiem===!1?t=t.replace(ht,"").trim():r.meridiem==="narrow"?t=t.replace(ht,(s,l)=>l.toLocaleLowerCase()):r.meridiem==="short"?t=t.replace(ht,(s,l)=>`${l.toLocaleLowerCase()}m`):r.meridiem==="lowercase"&&(t=t.replace(ht,s=>s.toLocaleLowerCase())),t=t.replace(uo," "),t=t.trim(),t}function bo(t,e){let n=!1;return t=t.replace(ho,()=>(n=!0,e)),n||(t+=` ${e}`),t}function yo(t,e,n,r,i){let s=[];return i==="long"?s.push(n):(i==="short"||i==="narrow")&&s.push(e),(i==="long"||i==="short")&&s.push(" "),s.push(r.simpleNumberFormat.format(t)),r.options.direction==="rtl"&&s.reverse(),s.join("")}function Eo(t,e,n){return n.getMarkerYear(t)!==n.getMarkerYear(e)?5:n.getMarkerMonth(t)!==n.getMarkerMonth(e)?4:n.getMarkerDay(t)!==n.getMarkerDay(e)?2:ve(t)!==ve(e)?1:0}function So(t,e){let n={};for(let r in t)(!(r in Nt)||Nt[r]<=e)&&(n[r]=t[r]);return n}function Ao(t,e,n,r){let i=0;for(;i<t.length;){let s=t.indexOf(e,i);if(s===-1)break;let l=t.substr(0,s);i=s+e.length;let a=t.substr(i),o=0;for(;o<n.length;){let d=n.indexOf(r,o);if(d===-1)break;let c=n.substr(0,d);o=d+r.length;let f=n.substr(o);if(l===c&&a===f)return{before:l,after:a}}}return null}function Kr(t,e){let n=e.markerToArray(t.marker);return{marker:t.marker,timeZoneOffset:t.timeZoneOffset,array:n,year:n[0],month:n[1],day:n[2],hour:n[3],minute:n[4],second:n[5],millisecond:n[6]}}function Ot(t,e,n,r){let i=Kr(t,n.calendarSystem),s=e?Kr(e,n.calendarSystem):null;return{date:i,start:i,end:s,timeZone:n.timeZone,localeCodes:n.locale.codes,defaultSeparator:r||n.defaultSeparator}}class Co{constructor(e){this.cmdStr=e}format(e,n,r){return n.cmdFormatter(this.cmdStr,Ot(e,null,n,r))}formatRange(e,n,r,i){return r.cmdFormatter(this.cmdStr,Ot(e,n,r,i))}}class Do{constructor(e){this.func=e}format(e,n,r){return this.func(Ot(e,null,n,r))}formatRange(e,n,r,i){return this.func(Ot(e,n,r,i))}}function j(t){return typeof t=="object"&&t?new go(t):typeof t=="string"?new Co(t):typeof t=="function"?new Do(t):null}const ei={navLinkDayClick:b,navLinkWeekClick:b,duration:k,bootstrapFontAwesome:b,buttonIcons:b,customButtons:b,defaultAllDayEventDuration:k,defaultTimedEventDuration:k,nextDayThreshold:k,scrollTime:k,scrollTimeReset:Boolean,slotMinTime:k,slotMaxTime:k,dayPopoverFormat:j,slotDuration:k,snapDuration:k,headerToolbar:b,footerToolbar:b,defaultRangeSeparator:String,titleRangeSeparator:String,forceEventDuration:Boolean,dayHeaders:Boolean,dayHeaderFormat:j,dayHeaderClassNames:b,dayHeaderContent:b,dayHeaderDidMount:b,dayHeaderWillUnmount:b,dayCellClassNames:b,dayCellContent:b,dayCellDidMount:b,dayCellWillUnmount:b,initialView:String,aspectRatio:Number,weekends:Boolean,weekNumberCalculation:b,weekNumbers:Boolean,weekNumberClassNames:b,weekNumberContent:b,weekNumberDidMount:b,weekNumberWillUnmount:b,editable:Boolean,viewClassNames:b,viewDidMount:b,viewWillUnmount:b,nowIndicator:Boolean,nowIndicatorClassNames:b,nowIndicatorContent:b,nowIndicatorDidMount:b,nowIndicatorWillUnmount:b,showNonCurrentDates:Boolean,lazyFetching:Boolean,startParam:String,endParam:String,timeZoneParam:String,timeZone:String,locales:b,locale:b,themeSystem:String,dragRevertDuration:Number,dragScroll:Boolean,allDayMaintainDuration:Boolean,unselectAuto:Boolean,dropAccept:b,eventOrder:Ha,eventOrderStrict:Boolean,handleWindowResize:Boolean,windowResizeDelay:Number,longPressDelay:Number,eventDragMinDistance:Number,expandRows:Boolean,height:b,contentHeight:b,direction:String,weekNumberFormat:j,eventResizableFromStart:Boolean,displayEventTime:Boolean,displayEventEnd:Boolean,weekText:String,weekTextLong:String,progressiveEventRendering:Boolean,businessHours:b,initialDate:b,now:b,eventDataTransform:b,stickyHeaderDates:b,stickyFooterScrollbar:b,viewHeight:b,defaultAllDay:Boolean,eventSourceFailure:b,eventSourceSuccess:b,eventDisplay:String,eventStartEditable:Boolean,eventDurationEditable:Boolean,eventOverlap:b,eventConstraint:b,eventAllow:b,eventBackgroundColor:String,eventBorderColor:String,eventTextColor:String,eventColor:String,eventClassNames:b,eventContent:b,eventDidMount:b,eventWillUnmount:b,selectConstraint:b,selectOverlap:b,selectAllow:b,droppable:Boolean,unselectCancel:String,slotLabelFormat:b,slotLaneClassNames:b,slotLaneContent:b,slotLaneDidMount:b,slotLaneWillUnmount:b,slotLabelClassNames:b,slotLabelContent:b,slotLabelDidMount:b,slotLabelWillUnmount:b,dayMaxEvents:b,dayMaxEventRows:b,dayMinWidth:Number,slotLabelInterval:k,allDayText:String,allDayClassNames:b,allDayContent:b,allDayDidMount:b,allDayWillUnmount:b,slotMinWidth:Number,navLinks:Boolean,eventTimeFormat:j,rerenderDelay:Number,moreLinkText:b,moreLinkHint:b,selectMinDistance:Number,selectable:Boolean,selectLongPressDelay:Number,eventLongPressDelay:Number,selectMirror:Boolean,eventMaxStack:Number,eventMinHeight:Number,eventMinWidth:Number,eventShortHeight:Number,slotEventOverlap:Boolean,plugins:b,firstDay:Number,dayCount:Number,dateAlignment:String,dateIncrement:k,hiddenDays:b,fixedWeekCount:Boolean,validRange:b,visibleRange:b,titleFormat:b,eventInteractive:Boolean,noEventsText:String,viewHint:b,navLinkHint:b,closeHint:String,timeHint:String,eventHint:String,moreLinkClick:b,moreLinkClassNames:b,moreLinkContent:b,moreLinkDidMount:b,moreLinkWillUnmount:b,monthStartFormat:j,handleCustomRendering:b,customRenderingMetaMap:b,customRenderingReplaces:Boolean},et={eventDisplay:"auto",defaultRangeSeparator:" - ",titleRangeSeparator:" – ",defaultTimedEventDuration:"01:00:00",defaultAllDayEventDuration:{day:1},forceEventDuration:!1,nextDayThreshold:"00:00:00",dayHeaders:!0,initialView:"",aspectRatio:1.35,headerToolbar:{start:"title",center:"",end:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberCalculation:"local",editable:!1,nowIndicator:!1,scrollTime:"06:00:00",scrollTimeReset:!0,slotMinTime:"00:00:00",slotMaxTime:"24:00:00",showNonCurrentDates:!0,lazyFetching:!0,startParam:"start",endParam:"end",timeZoneParam:"timeZone",timeZone:"local",locales:[],locale:"",themeSystem:"standard",dragRevertDuration:500,dragScroll:!0,allDayMaintainDuration:!1,unselectAuto:!0,dropAccept:"*",eventOrder:"start,-duration,allDay,title",dayPopoverFormat:{month:"long",day:"numeric",year:"numeric"},handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3,eventDragMinDistance:5,expandRows:!1,navLinks:!1,selectable:!1,eventMinHeight:15,eventMinWidth:30,eventShortHeight:30,monthStartFormat:{month:"long",day:"numeric"}},ti={datesSet:b,eventsSet:b,eventAdd:b,eventChange:b,eventRemove:b,windowResize:b,eventClick:b,eventMouseEnter:b,eventMouseLeave:b,select:b,unselect:b,loading:b,_unmount:b,_beforeprint:b,_afterprint:b,_noEventDrop:b,_noEventResize:b,_resize:b,_scrollRequest:b},ni={buttonText:b,buttonHints:b,views:b,plugins:b,initialEvents:b,events:b,eventSources:b},Ce={headerToolbar:De,footerToolbar:De,buttonText:De,buttonHints:De,buttonIcons:De,dateIncrement:De,plugins:gt,events:gt,eventSources:gt,resources:gt};function De(t,e){return typeof t=="object"&&typeof e=="object"&&t&&e?le(t,e):t===e}function gt(t,e){return Array.isArray(t)&&Array.isArray(e)?Ee(t,e):t===e}const wo={type:String,component:b,buttonText:String,buttonTextKey:String,dateProfileGeneratorClass:b,usesMinMaxTime:Boolean,classNames:b,content:b,didMount:b,willUnmount:b};function fn(t){return Kn(t,Ce)}function Jn(t,e){let n={},r={};for(let i in e)i in t&&(n[i]=e[i](t[i]));for(let i in t)i in e||(r[i]=t[i]);return{refined:n,extra:r}}function b(t){return t}const{hasOwnProperty:Pt}=Object.prototype;function Kn(t,e){let n={};if(e){for(let r in e)if(e[r]===De){let i=[];for(let s=t.length-1;s>=0;s-=1){let l=t[s][r];if(typeof l=="object"&&l)i.unshift(l);else if(l!==void 0){n[r]=l;break}}i.length&&(n[r]=Kn(i))}}for(let r=t.length-1;r>=0;r-=1){let i=t[r];for(let s in i)s in n||(n[s]=i[s])}return n}function xe(t,e){let n={};for(let r in t)e(t[r],r)&&(n[r]=t[r]);return n}function ue(t,e){let n={};for(let r in t)n[r]=e(t[r],r);return n}function rs(t){let e={};for(let n of t)e[n]=!0;return e}function er(t){let e=[];for(let n in t)e.push(t[n]);return e}function le(t,e){if(t===e)return!0;for(let n in t)if(Pt.call(t,n)&&!(n in e))return!1;for(let n in e)if(Pt.call(e,n)&&t[n]!==e[n])return!1;return!0}const Ro=/^on[A-Z]/;function _o(t,e){const n=Mn(t,e);for(let r of n)if(!Ro.test(r))return!1;return!0}function Mn(t,e){let n=[];for(let r in t)Pt.call(t,r)&&(r in e||n.push(r));for(let r in e)Pt.call(e,r)&&t[r]!==e[r]&&n.push(r);return n}function hn(t,e,n={}){if(t===e)return!0;for(let r in e)if(!(r in t&&To(t[r],e[r],n[r])))return!1;for(let r in t)if(!(r in e))return!1;return!0}function To(t,e,n){return t===e||n===!0?!0:n?n(t,e):!1}function xo(t,e=0,n,r=1){let i=[];n==null&&(n=Object.keys(t).length);for(let s=e;s<n;s+=r){let l=t[s];l!==void 0&&i.push(l)}return i}let is={};function ko(t,e){is[t]=e}function Mo(t){return new is[t]}class Io{getMarkerYear(e){return e.getUTCFullYear()}getMarkerMonth(e){return e.getUTCMonth()}getMarkerDay(e){return e.getUTCDate()}arrayToMarker(e){return $(e)}markerToArray(e){return me(e)}}ko("gregory",Io);const No=/^\s*(\d{4})(-?(\d{2})(-?(\d{2})([T ](\d{2}):?(\d{2})(:?(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;function Oo(t){let e=No.exec(t);if(e){let n=new Date(Date.UTC(Number(e[1]),e[3]?Number(e[3])-1:0,Number(e[5]||1),Number(e[7]||0),Number(e[8]||0),Number(e[10]||0),e[12]?+`0.${e[12]}`*1e3:0));if(ts(n)){let r=null;return e[13]&&(r=(e[15]==="-"?-1:1)*(Number(e[16]||0)*60+Number(e[18]||0))),{marker:n,isTimeUnspecified:!e[6],timeZoneOffset:r}}}return null}class Po{constructor(e){let n=this.timeZone=e.timeZone,r=n!=="local"&&n!=="UTC";e.namedTimeZoneImpl&&r&&(this.namedTimeZoneImpl=new e.namedTimeZoneImpl(n)),this.canComputeOffset=!!(!r||this.namedTimeZoneImpl),this.calendarSystem=Mo(e.calendarSystem),this.locale=e.locale,this.weekDow=e.locale.week.dow,this.weekDoy=e.locale.week.doy,e.weekNumberCalculation==="ISO"&&(this.weekDow=1,this.weekDoy=4),typeof e.firstDay=="number"&&(this.weekDow=e.firstDay),typeof e.weekNumberCalculation=="function"&&(this.weekNumberFunc=e.weekNumberCalculation),this.weekText=e.weekText!=null?e.weekText:e.locale.options.weekText,this.weekTextLong=(e.weekTextLong!=null?e.weekTextLong:e.locale.options.weekTextLong)||this.weekText,this.cmdFormatter=e.cmdFormatter,this.defaultSeparator=e.defaultSeparator}createMarker(e){let n=this.createMarkerMeta(e);return n===null?null:n.marker}createNowMarker(){return this.canComputeOffset?this.timestampToMarker(new Date().valueOf()):$(Zr(new Date))}createMarkerMeta(e){if(typeof e=="string")return this.parse(e);let n=null;return typeof e=="number"?n=this.timestampToMarker(e):e instanceof Date?(e=e.valueOf(),isNaN(e)||(n=this.timestampToMarker(e))):Array.isArray(e)&&(n=$(e)),n===null||!ts(n)?null:{marker:n,isTimeUnspecified:!1,forcedTzo:null}}parse(e){let n=Oo(e);if(n===null)return null;let{marker:r}=n,i=null;return n.timeZoneOffset!==null&&(this.canComputeOffset?r=this.timestampToMarker(r.valueOf()-n.timeZoneOffset*60*1e3):i=n.timeZoneOffset),{marker:r,isTimeUnspecified:n.isTimeUnspecified,forcedTzo:i}}getYear(e){return this.calendarSystem.getMarkerYear(e)}getMonth(e){return this.calendarSystem.getMarkerMonth(e)}getDay(e){return this.calendarSystem.getMarkerDay(e)}add(e,n){let r=this.calendarSystem.markerToArray(e);return r[0]+=n.years,r[1]+=n.months,r[2]+=n.days,r[6]+=n.milliseconds,this.calendarSystem.arrayToMarker(r)}subtract(e,n){let r=this.calendarSystem.markerToArray(e);return r[0]-=n.years,r[1]-=n.months,r[2]-=n.days,r[6]-=n.milliseconds,this.calendarSystem.arrayToMarker(r)}addYears(e,n){let r=this.calendarSystem.markerToArray(e);return r[0]+=n,this.calendarSystem.arrayToMarker(r)}addMonths(e,n){let r=this.calendarSystem.markerToArray(e);return r[1]+=n,this.calendarSystem.arrayToMarker(r)}diffWholeYears(e,n){let{calendarSystem:r}=this;return ve(e)===ve(n)&&r.getMarkerDay(e)===r.getMarkerDay(n)&&r.getMarkerMonth(e)===r.getMarkerMonth(n)?r.getMarkerYear(n)-r.getMarkerYear(e):null}diffWholeMonths(e,n){let{calendarSystem:r}=this;return ve(e)===ve(n)&&r.getMarkerDay(e)===r.getMarkerDay(n)?r.getMarkerMonth(n)-r.getMarkerMonth(e)+(r.getMarkerYear(n)-r.getMarkerYear(e))*12:null}greatestWholeUnit(e,n){let r=this.diffWholeYears(e,n);return r!==null?{unit:"year",value:r}:(r=this.diffWholeMonths(e,n),r!==null?{unit:"month",value:r}:(r=to(e,n),r!==null?{unit:"week",value:r}:(r=It(e,n),r!==null?{unit:"day",value:r}:(r=Xa(e,n),Dt(r)?{unit:"hour",value:r}:(r=Ja(e,n),Dt(r)?{unit:"minute",value:r}:(r=Ka(e,n),Dt(r)?{unit:"second",value:r}:{unit:"millisecond",value:n.valueOf()-e.valueOf()}))))))}countDurationsBetween(e,n,r){let i;return r.years&&(i=this.diffWholeYears(e,n),i!==null)?i/Qa(r):r.months&&(i=this.diffWholeMonths(e,n),i!==null)?i/Ya(r):r.days&&(i=It(e,n),i!==null)?i/Le(r):(n.valueOf()-e.valueOf())/ne(r)}startOf(e,n){return n==="year"?this.startOfYear(e):n==="month"?this.startOfMonth(e):n==="week"?this.startOfWeek(e):n==="day"?U(e):n==="hour"?no(e):n==="minute"?ro(e):n==="second"?io(e):null}startOfYear(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])}startOfMonth(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e)])}startOfWeek(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e),e.getUTCDate()-(e.getUTCDay()-this.weekDow+7)%7])}computeWeekNumber(e){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(e)):so(e,this.weekDow,this.weekDoy)}format(e,n,r={}){return n.format({marker:e,timeZoneOffset:r.forcedTzo!=null?r.forcedTzo:this.offsetForMarker(e)},this)}formatRange(e,n,r,i={}){return i.isEndExclusive&&(n=Se(n,-1)),r.formatRange({marker:e,timeZoneOffset:i.forcedStartTzo!=null?i.forcedStartTzo:this.offsetForMarker(e)},{marker:n,timeZoneOffset:i.forcedEndTzo!=null?i.forcedEndTzo:this.offsetForMarker(n)},this,i.defaultSeparator)}formatIso(e,n={}){let r=null;return n.omitTimeZoneOffset||(n.forcedTzo!=null?r=n.forcedTzo:r=this.offsetForMarker(e)),ns(e,r,n.omitTime)}timestampToMarker(e){return this.timeZone==="local"?$(Zr(new Date(e))):this.timeZone==="UTC"||!this.namedTimeZoneImpl?new Date(e):$(this.namedTimeZoneImpl.timestampToArray(e))}offsetForMarker(e){return this.timeZone==="local"?-Xr(me(e)).getTimezoneOffset():this.timeZone==="UTC"?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(me(e)):null}toDate(e,n){return this.timeZone==="local"?Xr(me(e)):this.timeZone==="UTC"?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-this.namedTimeZoneImpl.offsetForArray(me(e))*1e3*60):new Date(e.valueOf()-(n||0))}}class ct{constructor(e){this.iconOverrideOption&&this.setIconOverride(e[this.iconOverrideOption])}setIconOverride(e){let n,r;if(typeof e=="object"&&e){n=Object.assign({},this.iconClasses);for(r in e)n[r]=this.applyIconOverridePrefix(e[r]);this.iconClasses=n}else e===!1&&(this.iconClasses={})}applyIconOverridePrefix(e){let n=this.iconOverridePrefix;return n&&e.indexOf(n)!==0&&(e=n+e),e}getClass(e){return this.classes[e]||""}getIconClass(e,n){let r;return n&&this.rtlIconClasses?r=this.rtlIconClasses[e]||this.iconClasses[e]:r=this.iconClasses[e],r?`${this.baseIconClass} ${r}`:""}getCustomButtonIconClass(e){let n;return this.iconOverrideCustomButtonOption&&(n=e[this.iconOverrideCustomButtonOption],n)?`${this.baseIconClass} ${this.applyIconOverridePrefix(n)}`:""}}ct.prototype.classes={};ct.prototype.iconClasses={};ct.prototype.baseIconClass="";ct.prototype.iconOverridePrefix="";function Ht(t){t();let e=A.debounceRendering,n=[];function r(i){n.push(i)}for(A.debounceRendering=r,rt(g(Ho,{}),document.createElement("div"));n.length;)n.shift()();A.debounceRendering=e}class Ho extends X{render(){return g("div",{})}componentDidMount(){this.setState({})}}function ss(t){let e=la(t),n=e.Provider;return e.Provider=function(){let r=!this.getChildContext,i=n.apply(this,arguments);if(r){let s=[];this.shouldComponentUpdate=l=>{this.props.value!==l.value&&s.forEach(a=>{a.context=l.value,a.forceUpdate()})},this.sub=l=>{s.push(l);let a=l.componentWillUnmount;l.componentWillUnmount=()=>{s.splice(s.indexOf(l),1),a&&a.call(l)}}}return i},e}class Bo{constructor(e,n,r,i){this.execFunc=e,this.emitter=n,this.scrollTime=r,this.scrollTimeReset=i,this.handleScrollRequest=s=>{this.queuedRequest=Object.assign({},this.queuedRequest||{},s),this.drain()},n.on("_scrollRequest",this.handleScrollRequest),this.fireInitialScroll()}detach(){this.emitter.off("_scrollRequest",this.handleScrollRequest)}update(e){e&&this.scrollTimeReset?this.fireInitialScroll():this.drain()}fireInitialScroll(){this.handleScrollRequest({time:this.scrollTime})}drain(){this.queuedRequest&&this.execFunc(this.queuedRequest)&&(this.queuedRequest=null)}}const he=ss({});function Uo(t,e,n,r,i,s,l,a,o,d,c,f,h,u){return{dateEnv:i,nowManager:s,options:n,pluginHooks:a,emitter:c,dispatch:o,getCurrentData:d,calendarApi:f,viewSpec:t,viewApi:e,dateProfileGenerator:r,theme:l,isRtl:n.direction==="rtl",addResizeHandler(p){c.on("_resize",p)},removeResizeHandler(p){c.off("_resize",p)},createScrollResponder(p){return new Bo(p,c,k(n.scrollTime),n.scrollTimeReset)},registerInteractiveComponent:h,unregisterInteractiveComponent:u}}class Oe extends X{shouldComponentUpdate(e,n){return this.debug&&console.log(Mn(e,this.props),Mn(n,this.state)),!hn(this.props,e,this.propEquality)||!hn(this.state,n,this.stateEquality)}safeSetState(e){hn(this.state,Object.assign(Object.assign({},this.state),e),this.stateEquality)||this.setState(e)}}Oe.addPropsEquality=Lo;Oe.addStateEquality=Vo;Oe.contextType=he;Oe.prototype.propEquality={};Oe.prototype.stateEquality={};class N extends Oe{}N.contextType=he;function Lo(t){let e=Object.create(this.prototype.propEquality);Object.assign(e,t),this.prototype.propEquality=e}function Vo(t){let e=Object.create(this.prototype.stateEquality);Object.assign(e,t),this.prototype.stateEquality=e}function fe(t,e){typeof t=="function"?t(e):t&&(t.current=e)}class tr extends N{constructor(){super(...arguments),this.id=Ie(),this.queuedDomNodes=[],this.currentDomNodes=[],this.handleEl=e=>{const{options:n}=this.context,{generatorName:r}=this.props;(!n.customRenderingReplaces||!In(r,n))&&this.updateElRef(e)},this.updateElRef=e=>{this.props.elRef&&fe(this.props.elRef,e)}}render(){const{props:e,context:n}=this,{options:r}=n,{customGenerator:i,defaultGenerator:s,renderProps:l}=e,a=ls(e,[],this.handleEl);let o=!1,d,c=[],f;if(i!=null){const h=typeof i=="function"?i(l,g):i;if(h===!0)o=!0;else{const u=h&&typeof h=="object";u&&"html"in h?a.dangerouslySetInnerHTML={__html:h.html}:u&&"domNodes"in h?c=Array.prototype.slice.call(h.domNodes):(u?ki(h):typeof h!="function")?d=h:f=h}}else o=!In(e.generatorName,r);return o&&s&&(d=s(l)),this.queuedDomNodes=c,this.currentGeneratorMeta=f,g(e.elTag,a,d)}componentDidMount(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentDidUpdate(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentWillUnmount(){this.triggerCustomRendering(!1)}triggerCustomRendering(e){var n;const{props:r,context:i}=this,{handleCustomRendering:s,customRenderingMetaMap:l}=i.options;if(s){const a=(n=this.currentGeneratorMeta)!==null&&n!==void 0?n:l==null?void 0:l[r.generatorName];a&&s(Object.assign(Object.assign({id:this.id,isActive:e,containerEl:this.base,reportNewContainerEl:this.updateElRef,generatorMeta:a},r),{elClasses:(r.elClasses||[]).filter(Fo)}))}}applyQueueudDomNodes(){const{queuedDomNodes:e,currentDomNodes:n}=this,r=this.base;if(!Ee(e,n)){n.forEach(qn);for(let i of e)r.appendChild(i);this.currentDomNodes=e}}}tr.addPropsEquality({elClasses:Ee,elStyle:le,elAttrs:_o,renderProps:le});function In(t,e){var n;return!!(e.handleCustomRendering&&t&&(!((n=e.customRenderingMetaMap)===null||n===void 0)&&n[t]))}function ls(t,e,n){const r=Object.assign(Object.assign({},t.elAttrs),{ref:n});return(t.elClasses||e)&&(r.className=(t.elClasses||[]).concat(e||[]).concat(r.className||[]).filter(Boolean).join(" ")),t.elStyle&&(r.style=t.elStyle),r}function Fo(t){return!!t}const as=ss(0);class K extends X{constructor(){super(...arguments),this.InnerContent=jo.bind(void 0,this),this.handleEl=e=>{this.el=e,this.props.elRef&&(fe(this.props.elRef,e),e&&this.didMountMisfire&&this.componentDidMount())}}render(){const{props:e}=this,n=zo(e.classNameGenerator,e.renderProps);if(e.children){const r=ls(e,n,this.handleEl),i=e.children(this.InnerContent,e.renderProps,r);return e.elTag?g(e.elTag,r,i):i}else return g(tr,Object.assign(Object.assign({},e),{elRef:this.handleEl,elTag:e.elTag||"div",elClasses:(e.elClasses||[]).concat(n),renderId:this.context}))}componentDidMount(){var e,n;this.el?(n=(e=this.props).didMount)===null||n===void 0||n.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.el})):this.didMountMisfire=!0}componentWillUnmount(){var e,n;(n=(e=this.props).willUnmount)===null||n===void 0||n.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.el}))}}K.contextType=as;function jo(t,e){const n=t.props;return g(tr,Object.assign({renderProps:n.renderProps,generatorName:n.generatorName,customGenerator:n.customGenerator,defaultGenerator:n.defaultGenerator,renderId:t.context},e))}function zo(t,e){const n=typeof t=="function"?t(e):t||[];return typeof n=="string"?[n]:n}class Bt extends N{render(){let{props:e,context:n}=this,{options:r}=n,i={view:n.viewApi};return g(K,Object.assign({},e,{elTag:e.elTag||"div",elClasses:[...os(e.viewSpec),...e.elClasses||[]],renderProps:i,classNameGenerator:r.viewClassNames,generatorName:void 0,didMount:r.viewDidMount,willUnmount:r.viewWillUnmount}),()=>e.children)}}function os(t){return[`fc-${t.type}-view`,"fc-view"]}function Wo(t,e){let n=null,r=null;return t.start&&(n=e.createMarker(t.start)),t.end&&(r=e.createMarker(t.end)),!n&&!r||n&&r&&r<n?null:{start:n,end:r}}function ri(t,e){let n=[],{start:r}=e,i,s;for(t.sort(Go),i=0;i<t.length;i+=1)s=t[i],s.start>r&&n.push({start:r,end:s.start}),s.end>r&&(r=s.end);return r<e.end&&n.push({start:r,end:e.end}),n}function Go(t,e){return t.start.valueOf()-e.start.valueOf()}function ke(t,e){let{start:n,end:r}=t,i=null;return e.start!==null&&(n===null?n=e.start:n=new Date(Math.max(n.valueOf(),e.start.valueOf()))),e.end!=null&&(r===null?r=e.end:r=new Date(Math.min(r.valueOf(),e.end.valueOf()))),(n===null||r===null||n<r)&&(i={start:n,end:r}),i}function qo(t,e){return(t.start===null?null:t.start.valueOf())===(e.start===null?null:e.start.valueOf())&&(t.end===null?null:t.end.valueOf())===(e.end===null?null:e.end.valueOf())}function nr(t,e){return(t.end===null||e.start===null||t.end>e.start)&&(t.start===null||e.end===null||t.start<e.end)}function Jt(t,e){return(t.start===null||e.start!==null&&e.start>=t.start)&&(t.end===null||e.end!==null&&e.end<=t.end)}function de(t,e){return(t.start===null||e>=t.start)&&(t.end===null||e<t.end)}function Qo(t,e){return e.start!=null&&t<e.start?e.start:e.end!=null&&t>=e.end?new Date(e.end.valueOf()-1):t}function cs(t){let e=Math.floor(Ne(t.start,t.end))||1,n=U(t.start),r=Q(n,e);return{start:n,end:r}}function ds(t,e=k(0)){let n=null,r=null;if(t.end){r=U(t.end);let i=t.end.valueOf()-r.valueOf();i&&i>=ne(e)&&(r=Q(r,1))}return t.start&&(n=U(t.start),r&&r<=n&&(r=Q(n,1))),{start:n,end:r}}function Be(t,e,n,r){return r==="year"?k(n.diffWholeYears(t,e),"year"):r==="month"?k(n.diffWholeMonths(t,e),"month"):eo(t,e)}class us{constructor(e){this.props=e,this.initHiddenDays()}buildPrev(e,n,r){let{dateEnv:i}=this.props,s=i.subtract(i.startOf(n,e.currentRangeUnit),e.dateIncrement);return this.build(s,-1,r)}buildNext(e,n,r){let{dateEnv:i}=this.props,s=i.add(i.startOf(n,e.currentRangeUnit),e.dateIncrement);return this.build(s,1,r)}build(e,n,r=!0){let{props:i}=this,s,l,a,o,d,c;return s=this.buildValidRange(),s=this.trimHiddenDays(s),r&&(e=Qo(e,s)),l=this.buildCurrentRangeInfo(e,n),a=/^(year|month|week|day)$/.test(l.unit),o=this.buildRenderRange(this.trimHiddenDays(l.range),l.unit,a),o=this.trimHiddenDays(o),d=o,i.showNonCurrentDates||(d=ke(d,l.range)),d=this.adjustActiveRange(d),d=ke(d,s),c=nr(l.range,s),de(o,e)||(e=o.start),{currentDate:e,validRange:s,currentRange:l.range,currentRangeUnit:l.unit,isRangeAllDay:a,activeRange:d,renderRange:o,slotMinTime:i.slotMinTime,slotMaxTime:i.slotMaxTime,isValid:c,dateIncrement:this.buildDateIncrement(l.duration)}}buildValidRange(){let e=this.props.validRangeInput,n=typeof e=="function"?e.call(this.props.calendarApi,this.props.dateEnv.toDate(this.props.nowManager.getDateMarker())):e;return this.refineRange(n)||{start:null,end:null}}buildCurrentRangeInfo(e,n){let{props:r}=this,i=null,s=null,l=null,a;return r.duration?(i=r.duration,s=r.durationUnit,l=this.buildRangeFromDuration(e,n,i,s)):(a=this.props.dayCount)?(s="day",l=this.buildRangeFromDayCount(e,n,a)):(l=this.buildCustomVisibleRange(e))?s=r.dateEnv.greatestWholeUnit(l.start,l.end).unit:(i=this.getFallbackDuration(),s=kn(i).unit,l=this.buildRangeFromDuration(e,n,i,s)),{duration:i,unit:s,range:l}}getFallbackDuration(){return k({day:1})}adjustActiveRange(e){let{dateEnv:n,usesMinMaxTime:r,slotMinTime:i,slotMaxTime:s}=this.props,{start:l,end:a}=e;return r&&(Le(i)<0&&(l=U(l),l=n.add(l,i)),Le(s)>1&&(a=U(a),a=Q(a,-1),a=n.add(a,s))),{start:l,end:a}}buildRangeFromDuration(e,n,r,i){let{dateEnv:s,dateAlignment:l}=this.props,a,o,d;if(!l){let{dateIncrement:f}=this.props;f&&ne(f)<ne(r)?l=kn(f).unit:l=i}Le(r)<=1&&this.isHiddenDay(a)&&(a=this.skipHiddenDays(a,n),a=U(a));function c(){a=s.startOf(e,l),o=s.add(a,r),d={start:a,end:o}}return c(),this.trimHiddenDays(d)||(e=this.skipHiddenDays(e,n),c()),d}buildRangeFromDayCount(e,n,r){let{dateEnv:i,dateAlignment:s}=this.props,l=0,a=e,o;s&&(a=i.startOf(a,s)),a=U(a),a=this.skipHiddenDays(a,n),o=a;do o=Q(o,1),this.isHiddenDay(o)||(l+=1);while(l<r);return{start:a,end:o}}buildCustomVisibleRange(e){let{props:n}=this,r=n.visibleRangeInput,i=typeof r=="function"?r.call(n.calendarApi,n.dateEnv.toDate(e)):r,s=this.refineRange(i);return s&&(s.start==null||s.end==null)?null:s}buildRenderRange(e,n,r){return e}buildDateIncrement(e){let{dateIncrement:n}=this.props,r;return n||((r=this.props.dateAlignment)?k(1,r):e||k({days:1}))}refineRange(e){if(e){let n=Wo(e,this.props.dateEnv);return n&&(n=ds(n)),n}return null}initHiddenDays(){let e=this.props.hiddenDays||[],n=[],r=0,i;for(this.props.weekends===!1&&e.push(0,6),i=0;i<7;i+=1)(n[i]=e.indexOf(i)!==-1)||(r+=1);if(!r)throw new Error("invalid hiddenDays");this.isHiddenDayHash=n}trimHiddenDays(e){let{start:n,end:r}=e;return n&&(n=this.skipHiddenDays(n)),r&&(r=this.skipHiddenDays(r,-1,!0)),n==null||r==null||n<r?{start:n,end:r}:null}isHiddenDay(e){return e instanceof Date&&(e=e.getUTCDay()),this.isHiddenDayHash[e]}skipHiddenDays(e,n=1,r=!1){for(;this.isHiddenDayHash[(e.getUTCDay()+(r?n:0)+7)%7];)e=Q(e,n);return e}}function rr(t,e,n,r){return{instanceId:Ie(),defId:t,range:e,forcedStartTzo:n??null,forcedEndTzo:r??null}}function Yo(t,e,n,r){for(let i=0;i<r.length;i+=1){let s=r[i].parse(t,n);if(s){let{allDay:l}=t;return l==null&&(l=e,l==null&&(l=s.allDayGuess,l==null&&(l=!1))),{allDay:l,duration:s.duration,typeData:s.typeData,typeId:i}}}return null}function Me(t,e,n){let{dateEnv:r,pluginHooks:i,options:s}=n,{defs:l,instances:a}=t;a=xe(a,o=>!l[o.defId].recurringDef);for(let o in l){let d=l[o];if(d.recurringDef){let{duration:c}=d.recurringDef;c||(c=d.allDay?s.defaultAllDayEventDuration:s.defaultTimedEventDuration);let f=$o(d,c,e,r,i.recurringTypes);for(let h of f){let u=rr(o,{start:h,end:r.add(h,c)});a[u.instanceId]=u}}}return{defs:l,instances:a}}function $o(t,e,n,r,i){let l=i[t.recurringDef.typeId].expand(t.recurringDef.typeData,{start:r.subtract(n.start,e),end:n.end},r);return t.allDay&&(l=l.map(U)),l}const Rt={id:String,groupId:String,title:String,url:String,interactive:Boolean},fs={start:b,end:b,date:b,allDay:Boolean},Zo=Object.assign(Object.assign(Object.assign({},Rt),fs),{extendedProps:b});function hs(t,e,n,r,i=ir(n),s,l){let{refined:a,extra:o}=gs(t,n,i),d=Jo(e,n),c=Yo(a,d,n.dateEnv,n.pluginHooks.recurringTypes);if(c){let h=Nn(a,o,e?e.sourceId:"",c.allDay,!!c.duration,n,s);return h.recurringDef={typeId:c.typeId,typeData:c.typeData,duration:c.duration},{def:h,instance:null}}let f=Xo(a,d,n,r);if(f){let h=Nn(a,o,e?e.sourceId:"",f.allDay,f.hasEnd,n,s),u=rr(h.defId,f.range,f.forcedStartTzo,f.forcedEndTzo);return l&&h.publicId&&l[h.publicId]&&(u.instanceId=l[h.publicId]),{def:h,instance:u}}return null}function gs(t,e,n=ir(e)){return Jn(t,n)}function ir(t){return Object.assign(Object.assign(Object.assign({},Ut),Zo),t.pluginHooks.eventRefiners)}function Nn(t,e,n,r,i,s,l){let a={title:t.title||"",groupId:t.groupId||"",publicId:t.id||"",url:t.url||"",recurringDef:null,defId:(l&&t.id?l[t.id]:"")||Ie(),sourceId:n,allDay:r,hasEnd:i,interactive:t.interactive,ui:Lt(t,s),extendedProps:Object.assign(Object.assign({},t.extendedProps||{}),e)};for(let o of s.pluginHooks.eventDefMemberAdders)Object.assign(a,o(t));return Object.freeze(a.ui.classNames),Object.freeze(a.extendedProps),a}function Xo(t,e,n,r){let{allDay:i}=t,s,l=null,a=!1,o,d=null,c=t.start!=null?t.start:t.date;if(s=n.dateEnv.createMarkerMeta(c),s)l=s.marker;else if(!r)return null;return t.end!=null&&(o=n.dateEnv.createMarkerMeta(t.end)),i==null&&(e!=null?i=e:i=(!s||s.isTimeUnspecified)&&(!o||o.isTimeUnspecified)),i&&l&&(l=U(l)),o&&(d=o.marker,i&&(d=U(d)),l&&d<=l&&(d=null)),d?a=!0:r||(a=n.options.forceEventDuration||!1,d=n.dateEnv.add(l,i?n.options.defaultAllDayEventDuration:n.options.defaultTimedEventDuration)),{allDay:i,hasEnd:a,range:{start:l,end:d},forcedStartTzo:s?s.forcedTzo:null,forcedEndTzo:o?o.forcedTzo:null}}function Jo(t,e){let n=null;return t&&(n=t.defaultAllDay),n==null&&(n=e.options.defaultAllDay),n}function it(t,e,n,r,i,s){let l=J(),a=ir(n);for(let o of t){let d=hs(o,e,n,r,a,i,s);d&&On(d,l)}return l}function On(t,e=J()){return e.defs[t.def.defId]=t.def,t.instance&&(e.instances[t.instance.instanceId]=t.instance),e}function sr(t,e){let n=t.instances[e];if(n){let r=t.defs[n.defId],i=Kt(t,s=>Ko(r,s));return i.defs[r.defId]=r,i.instances[n.instanceId]=n,i}return J()}function Ko(t,e){return!!(t.groupId&&t.groupId===e.groupId)}function J(){return{defs:{},instances:{}}}function lr(t,e){return{defs:Object.assign(Object.assign({},t.defs),e.defs),instances:Object.assign(Object.assign({},t.instances),e.instances)}}function Kt(t,e){let n=xe(t.defs,e),r=xe(t.instances,i=>n[i.defId]);return{defs:n,instances:r}}function ec(t,e){let{defs:n,instances:r}=t,i={},s={};for(let l in n)e.defs[l]||(i[l]=n[l]);for(let l in r)!e.instances[l]&&i[r[l].defId]&&(s[l]=r[l]);return{defs:i,instances:s}}function tc(t,e){return Array.isArray(t)?it(t,null,e,!0):typeof t=="object"&&t?it([t],null,e,!0):t!=null?String(t):null}function ii(t){return Array.isArray(t)?t:typeof t=="string"?t.split(/\s+/):[]}const Ut={display:String,editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:b,overlap:b,allow:b,className:ii,classNames:ii,color:String,backgroundColor:String,borderColor:String,textColor:String},nc={display:null,startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]};function Lt(t,e){let n=tc(t.constraint,e);return{display:t.display||null,startEditable:t.startEditable!=null?t.startEditable:t.editable,durationEditable:t.durationEditable!=null?t.durationEditable:t.editable,constraints:n!=null?[n]:[],overlap:t.overlap!=null?t.overlap:null,allows:t.allow!=null?[t.allow]:[],backgroundColor:t.backgroundColor||t.color||"",borderColor:t.borderColor||t.color||"",textColor:t.textColor||"",classNames:(t.className||[]).concat(t.classNames||[])}}function ps(t){return t.reduce(rc,nc)}function rc(t,e){return{display:e.display!=null?e.display:t.display,startEditable:e.startEditable!=null?e.startEditable:t.startEditable,durationEditable:e.durationEditable!=null?e.durationEditable:t.durationEditable,constraints:t.constraints.concat(e.constraints),overlap:typeof e.overlap=="boolean"?e.overlap:t.overlap,allows:t.allows.concat(e.allows),backgroundColor:e.backgroundColor||t.backgroundColor,borderColor:e.borderColor||t.borderColor,textColor:e.textColor||t.textColor,classNames:t.classNames.concat(e.classNames)}}const ic={id:String,defaultAllDay:Boolean,url:String,format:String,events:b,eventDataTransform:b,success:b,failure:b};function ms(t,e,n=vs(e)){let r;if(typeof t=="string"?r={url:t}:typeof t=="function"||Array.isArray(t)?r={events:t}:typeof t=="object"&&t&&(r=t),r){let{refined:i,extra:s}=Jn(r,n),l=sc(i,e);if(l)return{_raw:t,isFetching:!1,latestFetchId:"",fetchRange:null,defaultAllDay:i.defaultAllDay,eventDataTransform:i.eventDataTransform,success:i.success,failure:i.failure,publicId:i.id||"",sourceId:Ie(),sourceDefId:l.sourceDefId,meta:l.meta,ui:Lt(i,e),extendedProps:s}}return null}function vs(t){return Object.assign(Object.assign(Object.assign({},Ut),ic),t.pluginHooks.eventSourceRefiners)}function sc(t,e){let n=e.pluginHooks.eventSourceDefs;for(let r=n.length-1;r>=0;r-=1){let s=n[r].parseMeta(t);if(s)return{sourceDefId:r,meta:s}}return null}function lc(t,e,n,r,i){switch(e.type){case"RECEIVE_EVENTS":return ac(t,n[e.sourceId],e.fetchId,e.fetchRange,e.rawEvents,i);case"RESET_RAW_EVENTS":return oc(t,n[e.sourceId],e.rawEvents,r.activeRange,i);case"ADD_EVENTS":return cc(t,e.eventStore,r?r.activeRange:null,i);case"RESET_EVENTS":return e.eventStore;case"MERGE_EVENTS":return lr(t,e.eventStore);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return r?Me(t,r.activeRange,i):t;case"REMOVE_EVENTS":return ec(t,e.eventStore);case"REMOVE_EVENT_SOURCE":return ys(t,e.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return Kt(t,s=>!s.sourceId);case"REMOVE_ALL_EVENTS":return J();default:return t}}function ac(t,e,n,r,i,s){if(e&&n===e.latestFetchId){let l=it(bs(i,e,s),e,s);return r&&(l=Me(l,r,s)),lr(ys(t,e.sourceId),l)}return t}function oc(t,e,n,r,i){const{defIdMap:s,instanceIdMap:l}=uc(t);let a=it(bs(n,e,i),e,i,!1,s,l);return Me(a,r,i)}function bs(t,e,n){let r=n.options.eventDataTransform,i=e?e.eventDataTransform:null;return i&&(t=si(t,i)),r&&(t=si(t,r)),t}function si(t,e){let n;if(!e)n=t;else{n=[];for(let r of t){let i=e(r);i?n.push(i):i==null&&n.push(r)}}return n}function cc(t,e,n,r){return n&&(e=Me(e,n,r)),lr(t,e)}function li(t,e,n){let{defs:r}=t,i=ue(t.instances,s=>r[s.defId].allDay?s:Object.assign(Object.assign({},s),{range:{start:n.createMarker(e.toDate(s.range.start,s.forcedStartTzo)),end:n.createMarker(e.toDate(s.range.end,s.forcedEndTzo))},forcedStartTzo:n.canComputeOffset?null:s.forcedStartTzo,forcedEndTzo:n.canComputeOffset?null:s.forcedEndTzo}));return{defs:r,instances:i}}function ys(t,e){return Kt(t,n=>n.sourceId!==e)}function dc(t,e){return{defs:t.defs,instances:xe(t.instances,n=>!e[n.instanceId])}}function uc(t){const{defs:e,instances:n}=t,r={},i={};for(let s in e){const l=e[s],{publicId:a}=l;a&&(r[a]=s)}for(let s in n){const l=n[s],a=e[l.defId],{publicId:o}=a;o&&(i[o]=s)}return{defIdMap:r,instanceIdMap:i}}class en{constructor(){this.handlers={},this.thisContext=null}setThisContext(e){this.thisContext=e}setOptions(e){this.options=e}on(e,n){fc(this.handlers,e,n)}off(e,n){hc(this.handlers,e,n)}trigger(e,...n){let r=this.handlers[e]||[],i=this.options&&this.options[e],s=[].concat(i||[],r);for(let l of s)l.apply(this.thisContext,n)}hasHandlers(e){return!!(this.handlers[e]&&this.handlers[e].length||this.options&&this.options[e])}}function fc(t,e,n){(t[e]||(t[e]=[])).push(n)}function hc(t,e,n){n?t[e]&&(t[e]=t[e].filter(r=>r!==n)):delete t[e]}const gc={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],display:"inverse-background",classNames:"fc-non-business",groupId:"_businessHours"};function pc(t,e){return it(mc(t),null,e)}function mc(t){let e;return t===!0?e=[{}]:Array.isArray(t)?e=t.filter(n=>n.daysOfWeek):typeof t=="object"&&t?e=[t]:e=[],e=e.map(n=>Object.assign(Object.assign({},gc),n)),e}function Es(t,e,n){n.emitter.trigger("select",Object.assign(Object.assign({},ar(t,n)),{jsEvent:e?e.origEvent:null,view:n.viewApi||n.calendarApi.view}))}function vc(t,e){e.emitter.trigger("unselect",{jsEvent:t?t.origEvent:null,view:e.viewApi||e.calendarApi.view})}function ar(t,e){let n={};for(let r of e.pluginHooks.dateSpanTransforms)Object.assign(n,r(t,e));return Object.assign(n,Mc(t,e.dateEnv)),n}function ai(t,e,n){let{dateEnv:r,options:i}=n,s=e;return t?(s=U(s),s=r.add(s,i.defaultAllDayEventDuration)):s=r.add(s,i.defaultTimedEventDuration),s}function or(t,e,n,r){let i=Vt(t.defs,e),s=J();for(let l in t.defs){let a=t.defs[l];s.defs[l]=bc(a,i[l],n,r)}for(let l in t.instances){let a=t.instances[l],o=s.defs[a.defId];s.instances[l]=yc(a,o,i[a.defId],n,r)}return s}function bc(t,e,n,r){let i=n.standardProps||{};i.hasEnd==null&&e.durationEditable&&(n.startDelta||n.endDelta)&&(i.hasEnd=!0);let s=Object.assign(Object.assign(Object.assign({},t),i),{ui:Object.assign(Object.assign({},t.ui),i.ui)});n.extendedProps&&(s.extendedProps=Object.assign(Object.assign({},s.extendedProps),n.extendedProps));for(let l of r.pluginHooks.eventDefMutationAppliers)l(s,n,r);return!s.hasEnd&&r.options.forceEventDuration&&(s.hasEnd=!0),s}function yc(t,e,n,r,i){let{dateEnv:s}=i,l=r.standardProps&&r.standardProps.allDay===!0,a=r.standardProps&&r.standardProps.hasEnd===!1,o=Object.assign({},t);return l&&(o.range=cs(o.range)),r.datesDelta&&n.startEditable&&(o.range={start:s.add(o.range.start,r.datesDelta),end:s.add(o.range.end,r.datesDelta)}),r.startDelta&&n.durationEditable&&(o.range={start:s.add(o.range.start,r.startDelta),end:o.range.end}),r.endDelta&&n.durationEditable&&(o.range={start:o.range.start,end:s.add(o.range.end,r.endDelta)}),a&&(o.range={start:o.range.start,end:ai(e.allDay,o.range.start,i)}),e.allDay&&(o.range={start:U(o.range.start),end:U(o.range.end)}),o.range.end<o.range.start&&(o.range.end=ai(e.allDay,o.range.start,i)),o}class Pe{constructor(e,n){this.context=e,this.internalEventSource=n}remove(){this.context.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:this.internalEventSource.sourceId})}refetch(){this.context.dispatch({type:"FETCH_EVENT_SOURCES",sourceIds:[this.internalEventSource.sourceId],isRefetch:!0})}get id(){return this.internalEventSource.publicId}get url(){return this.internalEventSource.meta.url}get format(){return this.internalEventSource.meta.format}}class F{constructor(e,n,r){this._context=e,this._def=n,this._instance=r||null}setProp(e,n){if(e in fs)console.warn("Could not set date-related prop 'name'. Use one of the date-related methods instead.");else if(e==="id")n=Rt[e](n),this.mutate({standardProps:{publicId:n}});else if(e in Rt)n=Rt[e](n),this.mutate({standardProps:{[e]:n}});else if(e in Ut){let r=Ut[e](n);e==="color"?r={backgroundColor:n,borderColor:n}:e==="editable"?r={startEditable:n,durationEditable:n}:r={[e]:n},this.mutate({standardProps:{ui:r}})}else console.warn(`Could not set prop '${e}'. Use setExtendedProp instead.`)}setExtendedProp(e,n){this.mutate({extendedProps:{[e]:n}})}setStart(e,n={}){let{dateEnv:r}=this._context,i=r.createMarker(e);if(i&&this._instance){let s=this._instance.range,l=Be(s.start,i,r,n.granularity);n.maintainDuration?this.mutate({datesDelta:l}):this.mutate({startDelta:l})}}setEnd(e,n={}){let{dateEnv:r}=this._context,i;if(!(e!=null&&(i=r.createMarker(e),!i))&&this._instance)if(i){let s=Be(this._instance.range.end,i,r,n.granularity);this.mutate({endDelta:s})}else this.mutate({standardProps:{hasEnd:!1}})}setDates(e,n,r={}){let{dateEnv:i}=this._context,s={allDay:r.allDay},l=i.createMarker(e),a;if(l&&!(n!=null&&(a=i.createMarker(n),!a))&&this._instance){let o=this._instance.range;r.allDay===!0&&(o=cs(o));let d=Be(o.start,l,i,r.granularity);if(a){let c=Be(o.end,a,i,r.granularity);Wa(d,c)?this.mutate({datesDelta:d,standardProps:s}):this.mutate({startDelta:d,endDelta:c,standardProps:s})}else s.hasEnd=!1,this.mutate({datesDelta:d,standardProps:s})}}moveStart(e){let n=k(e);n&&this.mutate({startDelta:n})}moveEnd(e){let n=k(e);n&&this.mutate({endDelta:n})}moveDates(e){let n=k(e);n&&this.mutate({datesDelta:n})}setAllDay(e,n={}){let r={allDay:e},{maintainDuration:i}=n;i==null&&(i=this._context.options.allDayMaintainDuration),this._def.allDay!==e&&(r.hasEnd=i),this.mutate({standardProps:r})}formatRange(e){let{dateEnv:n}=this._context,r=this._instance,i=j(e);return this._def.hasEnd?n.formatRange(r.range.start,r.range.end,i,{forcedStartTzo:r.forcedStartTzo,forcedEndTzo:r.forcedEndTzo}):n.format(r.range.start,i,{forcedTzo:r.forcedStartTzo})}mutate(e){let n=this._instance;if(n){let r=this._def,i=this._context,{eventStore:s}=i.getCurrentData(),l=sr(s,n.instanceId);l=or(l,{"":{display:"",startEditable:!0,durationEditable:!0,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]}},e,i);let o=new F(i,r,n);this._def=l.defs[r.defId],this._instance=l.instances[n.instanceId],i.dispatch({type:"MERGE_EVENTS",eventStore:l}),i.emitter.trigger("eventChange",{oldEvent:o,event:this,relatedEvents:_e(l,i,n),revert(){i.dispatch({type:"RESET_EVENTS",eventStore:s})}})}}remove(){let e=this._context,n=Ss(this);e.dispatch({type:"REMOVE_EVENTS",eventStore:n}),e.emitter.trigger("eventRemove",{event:this,relatedEvents:[],revert(){e.dispatch({type:"MERGE_EVENTS",eventStore:n})}})}get source(){let{sourceId:e}=this._def;return e?new Pe(this._context,this._context.getCurrentData().eventSources[e]):null}get start(){return this._instance?this._context.dateEnv.toDate(this._instance.range.start):null}get end(){return this._instance&&this._def.hasEnd?this._context.dateEnv.toDate(this._instance.range.end):null}get startStr(){let e=this._instance;return e?this._context.dateEnv.formatIso(e.range.start,{omitTime:this._def.allDay,forcedTzo:e.forcedStartTzo}):""}get endStr(){let e=this._instance;return e&&this._def.hasEnd?this._context.dateEnv.formatIso(e.range.end,{omitTime:this._def.allDay,forcedTzo:e.forcedEndTzo}):""}get id(){return this._def.publicId}get groupId(){return this._def.groupId}get allDay(){return this._def.allDay}get title(){return this._def.title}get url(){return this._def.url}get display(){return this._def.ui.display||"auto"}get startEditable(){return this._def.ui.startEditable}get durationEditable(){return this._def.ui.durationEditable}get constraint(){return this._def.ui.constraints[0]||null}get overlap(){return this._def.ui.overlap}get allow(){return this._def.ui.allows[0]||null}get backgroundColor(){return this._def.ui.backgroundColor}get borderColor(){return this._def.ui.borderColor}get textColor(){return this._def.ui.textColor}get classNames(){return this._def.ui.classNames}get extendedProps(){return this._def.extendedProps}toPlainObject(e={}){let n=this._def,{ui:r}=n,{startStr:i,endStr:s}=this,l={allDay:n.allDay};return n.title&&(l.title=n.title),i&&(l.start=i),s&&(l.end=s),n.publicId&&(l.id=n.publicId),n.groupId&&(l.groupId=n.groupId),n.url&&(l.url=n.url),r.display&&r.display!=="auto"&&(l.display=r.display),e.collapseColor&&r.backgroundColor&&r.backgroundColor===r.borderColor?l.color=r.backgroundColor:(r.backgroundColor&&(l.backgroundColor=r.backgroundColor),r.borderColor&&(l.borderColor=r.borderColor)),r.textColor&&(l.textColor=r.textColor),r.classNames.length&&(l.classNames=r.classNames),Object.keys(n.extendedProps).length&&(e.collapseExtendedProps?Object.assign(l,n.extendedProps):l.extendedProps=n.extendedProps),l}toJSON(){return this.toPlainObject()}}function Ss(t){let e=t._def,n=t._instance;return{defs:{[e.defId]:e},instances:n?{[n.instanceId]:n}:{}}}function _e(t,e,n){let{defs:r,instances:i}=t,s=[],l=n?n.instanceId:"";for(let a in i){let o=i[a],d=r[o.defId];o.instanceId!==l&&s.push(new F(e,d,o))}return s}function oi(t,e,n,r){let i={},s={},l={},a=[],o=[],d=Vt(t.defs,e);for(let c in t.defs){let f=t.defs[c];d[f.defId].display==="inverse-background"&&(f.groupId?(i[f.groupId]=[],l[f.groupId]||(l[f.groupId]=f)):s[c]=[])}for(let c in t.instances){let f=t.instances[c],h=t.defs[f.defId],u=d[h.defId],p=f.range,m=!h.allDay&&r?ds(p,r):p,v=ke(m,n);v&&(u.display==="inverse-background"?h.groupId?i[h.groupId].push(v):s[f.defId].push(v):u.display!=="none"&&(u.display==="background"?a:o).push({def:h,ui:u,instance:f,range:v,isStart:m.start&&m.start.valueOf()===v.start.valueOf(),isEnd:m.end&&m.end.valueOf()===v.end.valueOf()}))}for(let c in i){let f=i[c],h=ri(f,n);for(let u of h){let p=l[c],m=d[p.defId];a.push({def:p,ui:m,instance:null,range:u,isStart:!1,isEnd:!1})}}for(let c in s){let f=s[c],h=ri(f,n);for(let u of h)a.push({def:t.defs[c],ui:d[c],instance:null,range:u,isStart:!1,isEnd:!1})}return{bg:a,fg:o}}function Ec(t){return t.ui.display==="background"||t.ui.display==="inverse-background"}function ci(t,e){t.fcSeg=e}function We(t){return t.fcSeg||t.parentNode.fcSeg||null}function Vt(t,e){return ue(t,n=>As(n,e))}function As(t,e){let n=[];return e[""]&&n.push(e[""]),e[t.defId]&&n.push(e[t.defId]),n.push(t.ui),ps(n)}function Cs(t,e){let n=t.map(Sc);return n.sort((r,i)=>Ba(r,i,e)),n.map(r=>r._seg)}function Sc(t){let{eventRange:e}=t,n=e.def,r=e.instance?e.instance.range:e.range,i=r.start?r.start.valueOf():0,s=r.end?r.end.valueOf():0;return Object.assign(Object.assign(Object.assign({},n.extendedProps),n),{id:n.publicId,start:i,end:s,duration:s-i,allDay:Number(n.allDay),_seg:t})}function Ac(t,e){let{pluginHooks:n}=e,r=n.isDraggableTransformers,{def:i,ui:s}=t.eventRange,l=s.startEditable;for(let a of r)l=a(l,i,s,e);return l}function Cc(t,e){return t.isStart&&t.eventRange.ui.durationEditable&&e.options.eventResizableFromStart}function Dc(t,e){return t.isEnd&&t.eventRange.ui.durationEditable}function Ds(t,e,n,r,i,s,l){let{dateEnv:a,options:o}=n,{displayEventTime:d,displayEventEnd:c}=o,f=t.eventRange.def,h=t.eventRange.instance;d==null&&(d=r!==!1),c==null&&(c=i!==!1);let u=h.range.start,p=h.range.end,m=t.start||t.eventRange.range.start,v=t.end||t.eventRange.range.end,y=U(u).valueOf()===U(m).valueOf(),E=U(Se(p,-1)).valueOf()===U(Se(v,-1)).valueOf();return d&&!f.allDay&&(y||E)?(m=y?u:m,v=E?p:v,c&&f.hasEnd?a.formatRange(m,v,e,{forcedStartTzo:h.forcedStartTzo,forcedEndTzo:h.forcedEndTzo}):a.format(m,e,{forcedTzo:h.forcedStartTzo})):""}function be(t,e,n){let r=t.eventRange.range;return{isPast:r.end<=(n||e.start),isFuture:r.start>=(n||e.end),isToday:e&&de(e,r.start)}}function wc(t){let e=["fc-event"];return t.isMirror&&e.push("fc-event-mirror"),t.isDraggable&&e.push("fc-event-draggable"),(t.isStartResizable||t.isEndResizable)&&e.push("fc-event-resizable"),t.isDragging&&e.push("fc-event-dragging"),t.isResizing&&e.push("fc-event-resizing"),t.isSelected&&e.push("fc-event-selected"),t.isStart&&e.push("fc-event-start"),t.isEnd&&e.push("fc-event-end"),t.isPast&&e.push("fc-event-past"),t.isToday&&e.push("fc-event-today"),t.isFuture&&e.push("fc-event-future"),e}function ws(t){return t.instance?t.instance.instanceId:`${t.def.defId}:${t.range.start.toISOString()}`}function Rs(t,e){let{def:n,instance:r}=t.eventRange,{url:i}=n;if(i)return{href:i};let{emitter:s,options:l}=e,{eventInteractive:a}=l;return a==null&&(a=n.interactive,a==null&&(a=!!s.hasHandlers("eventClick"))),a?es(o=>{s.trigger("eventClick",{el:o.target,event:new F(e,n,r),jsEvent:o,view:e.viewApi})}):{}}const Rc={start:b,end:b,allDay:Boolean};function _c(t,e,n){let r=Tc(t,e),{range:i}=r;if(!i.start)return null;if(!i.end){if(n==null)return null;i.end=e.add(i.start,n)}return r}function Tc(t,e){let{refined:n,extra:r}=Jn(t,Rc),i=n.start?e.createMarkerMeta(n.start):null,s=n.end?e.createMarkerMeta(n.end):null,{allDay:l}=n;return l==null&&(l=i&&i.isTimeUnspecified&&(!s||s.isTimeUnspecified)),Object.assign({range:{start:i?i.marker:null,end:s?s.marker:null},allDay:l},r)}function xc(t,e){return qo(t.range,e.range)&&t.allDay===e.allDay&&kc(t,e)}function kc(t,e){for(let n in e)if(n!=="range"&&n!=="allDay"&&t[n]!==e[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}function Mc(t,e){return Object.assign(Object.assign({},Ts(t.range,e,t.allDay)),{allDay:t.allDay})}function _s(t,e,n){return Object.assign(Object.assign({},Ts(t,e,n)),{timeZone:e.timeZone})}function Ts(t,e,n){return{start:e.toDate(t.start),end:e.toDate(t.end),startStr:e.formatIso(t.start,{omitTime:n}),endStr:e.formatIso(t.end,{omitTime:n})}}function Ic(t,e,n){let r=gs({editable:!1},n),i=Nn(r.refined,r.extra,"",t.allDay,!0,n);return{def:i,ui:As(i,e),instance:rr(i.defId,t.range),range:t.range,isStart:!0,isEnd:!0}}function Nc(t,e,n){let r=!1,i=function(a){r||(r=!0,e(a))},s=function(a){r||(r=!0,n(a))},l=t(i,s);l&&typeof l.then=="function"&&l.then(i,s)}class di extends Error{constructor(e,n){super(e),this.response=n}}function Oc(t,e,n){t=t.toUpperCase();const r={method:t};return t==="GET"?e+=(e.indexOf("?")===-1?"?":"&")+new URLSearchParams(n):(r.body=new URLSearchParams(n),r.headers={"Content-Type":"application/x-www-form-urlencoded"}),fetch(e,r).then(i=>{if(i.ok)return i.json().then(s=>[s,i],()=>{throw new di("Failure parsing JSON",i)});throw new di("Request failed",i)})}let gn;function xs(){return gn==null&&(gn=Pc()),gn}function Pc(){if(typeof document>"u")return!0;let t=document.createElement("div");t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.innerHTML="<table><tr><td><div></div></td></tr></table>",t.querySelector("table").style.height="100px",t.querySelector("div").style.height="100%",document.body.appendChild(t);let n=t.querySelector("div").offsetHeight>0;return document.body.removeChild(t),n}class Hc extends N{constructor(){super(...arguments),this.state={forPrint:!1},this.handleBeforePrint=()=>{Ht(()=>{this.setState({forPrint:!0})})},this.handleAfterPrint=()=>{Ht(()=>{this.setState({forPrint:!1})})}}render(){let{props:e}=this,{options:n}=e,{forPrint:r}=this.state,i=r||n.height==="auto"||n.contentHeight==="auto",s=!i&&n.height!=null?n.height:"",l=["fc",r?"fc-media-print":"fc-media-screen",`fc-direction-${n.direction}`,e.theme.getClass("root")];return xs()||l.push("fc-liquid-hack"),e.children(l,s,i,r)}componentDidMount(){let{emitter:e}=this.props;e.on("_beforeprint",this.handleBeforePrint),e.on("_afterprint",this.handleAfterPrint)}componentWillUnmount(){let{emitter:e}=this.props;e.off("_beforeprint",this.handleBeforePrint),e.off("_afterprint",this.handleAfterPrint)}}class qe{constructor(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}destroy(){}}function Bc(t,e){return{component:t,el:e.el,useEventCenter:e.useEventCenter!=null?e.useEventCenter:!0,isHitComboAllowed:e.isHitComboAllowed||null}}function cr(t){return{[t.component.uid]:t}}const Pn={};class Qe extends X{constructor(e,n){super(e,n),this.handleRefresh=()=>{let r=this.computeTiming();r.state.nowDate.valueOf()!==this.state.nowDate.valueOf()&&this.setState(r.state),this.clearTimeout(),this.setTimeout(r.waitMs)},this.handleVisibilityChange=()=>{document.hidden||this.handleRefresh()},this.state=this.computeTiming().state}render(){let{props:e,state:n}=this;return e.children(n.nowDate,n.todayRange)}componentDidMount(){this.setTimeout(),this.context.nowManager.addResetListener(this.handleRefresh),document.addEventListener("visibilitychange",this.handleVisibilityChange)}componentDidUpdate(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())}componentWillUnmount(){this.clearTimeout(),this.context.nowManager.removeResetListener(this.handleRefresh),document.removeEventListener("visibilitychange",this.handleVisibilityChange)}computeTiming(){let{props:e,context:n}=this,r=n.nowManager.getDateMarker(),i=n.dateEnv.startOf(r,e.unit),l=n.dateEnv.add(i,k(1,e.unit)).valueOf()-r.valueOf();return l=Math.min(1e3*60*60*24,l),{state:{nowDate:i,todayRange:Uc(i)},waitMs:l}}setTimeout(e=this.computeTiming().waitMs){this.timeoutId=setTimeout(()=>{const n=this.computeTiming();this.setState(n.state,()=>{this.setTimeout(n.waitMs)})},e)}clearTimeout(){this.timeoutId&&clearTimeout(this.timeoutId)}}Qe.contextType=he;function Uc(t){let e=U(t),n=Q(e,1);return{start:e,end:n}}class Lc{getCurrentData(){return this.currentDataManager.getCurrentData()}dispatch(e){this.currentDataManager.dispatch(e)}get view(){return this.getCurrentData().viewApi}batchRendering(e){e()}updateSize(){this.trigger("_resize",!0)}setOption(e,n){this.dispatch({type:"SET_OPTION",optionName:e,rawOptionValue:n})}getOption(e){return this.currentDataManager.currentCalendarOptionsInput[e]}getAvailableLocaleCodes(){return Object.keys(this.getCurrentData().availableRawLocales)}on(e,n){let{currentDataManager:r}=this;r.currentCalendarOptionsRefiners[e]?r.emitter.on(e,n):console.warn(`Unknown listener name '${e}'`)}off(e,n){this.currentDataManager.emitter.off(e,n)}trigger(e,...n){this.currentDataManager.emitter.trigger(e,...n)}changeView(e,n){this.batchRendering(()=>{if(this.unselect(),n)if(n.start&&n.end)this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e}),this.dispatch({type:"SET_OPTION",optionName:"visibleRange",rawOptionValue:n});else{let{dateEnv:r}=this.getCurrentData();this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e,dateMarker:r.createMarker(n)})}else this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e})})}zoomTo(e,n){let r=this.getCurrentData(),i;n=n||"day",i=r.viewSpecs[n]||this.getUnitViewSpec(n),this.unselect(),i?this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:i.type,dateMarker:e}):this.dispatch({type:"CHANGE_DATE",dateMarker:e})}getUnitViewSpec(e){let{viewSpecs:n,toolbarConfig:r}=this.getCurrentData(),i=[].concat(r.header?r.header.viewsWithButtons:[],r.footer?r.footer.viewsWithButtons:[]),s,l;for(let a in n)i.push(a);for(s=0;s<i.length;s+=1)if(l=n[i[s]],l&&l.singleUnit===e)return l;return null}prev(){this.unselect(),this.dispatch({type:"PREV"})}next(){this.unselect(),this.dispatch({type:"NEXT"})}prevYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.dateEnv.addYears(e.currentDate,-1)})}nextYear(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.dateEnv.addYears(e.currentDate,1)})}today(){let e=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:e.nowManager.getDateMarker()})}gotoDate(e){let n=this.getCurrentData();this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:n.dateEnv.createMarker(e)})}incrementDate(e){let n=this.getCurrentData(),r=k(e);r&&(this.unselect(),this.dispatch({type:"CHANGE_DATE",dateMarker:n.dateEnv.add(n.currentDate,r)}))}getDate(){let e=this.getCurrentData();return e.dateEnv.toDate(e.currentDate)}formatDate(e,n){let{dateEnv:r}=this.getCurrentData();return r.format(r.createMarker(e),j(n))}formatRange(e,n,r){let{dateEnv:i}=this.getCurrentData();return i.formatRange(i.createMarker(e),i.createMarker(n),j(r),r)}formatIso(e,n){let{dateEnv:r}=this.getCurrentData();return r.formatIso(r.createMarker(e),{omitTime:n})}select(e,n){let r;n==null?e.start!=null?r=e:r={start:e,end:null}:r={start:e,end:n};let i=this.getCurrentData(),s=_c(r,i.dateEnv,k({days:1}));s&&(this.dispatch({type:"SELECT_DATES",selection:s}),Es(s,null,i))}unselect(e){let n=this.getCurrentData();n.dateSelection&&(this.dispatch({type:"UNSELECT_DATES"}),vc(e,n))}addEvent(e,n){if(e instanceof F){let l=e._def,a=e._instance;return this.getCurrentData().eventStore.defs[l.defId]||(this.dispatch({type:"ADD_EVENTS",eventStore:On({def:l,instance:a})}),this.triggerEventAdd(e)),e}let r=this.getCurrentData(),i;if(n instanceof Pe)i=n.internalEventSource;else if(typeof n=="boolean")n&&([i]=er(r.eventSources));else if(n!=null){let l=this.getEventSourceById(n);if(!l)return console.warn(`Could not find an event source with ID "${n}"`),null;i=l.internalEventSource}let s=hs(e,i,r,!1);if(s){let l=new F(r,s.def,s.def.recurringDef?null:s.instance);return this.dispatch({type:"ADD_EVENTS",eventStore:On(s)}),this.triggerEventAdd(l),l}return null}triggerEventAdd(e){let{emitter:n}=this.getCurrentData();n.trigger("eventAdd",{event:e,relatedEvents:[],revert:()=>{this.dispatch({type:"REMOVE_EVENTS",eventStore:Ss(e)})}})}getEventById(e){let n=this.getCurrentData(),{defs:r,instances:i}=n.eventStore;e=String(e);for(let s in r){let l=r[s];if(l.publicId===e){if(l.recurringDef)return new F(n,l,null);for(let a in i){let o=i[a];if(o.defId===l.defId)return new F(n,l,o)}}}return null}getEvents(){let e=this.getCurrentData();return _e(e.eventStore,e)}removeAllEvents(){this.dispatch({type:"REMOVE_ALL_EVENTS"})}getEventSources(){let e=this.getCurrentData(),n=e.eventSources,r=[];for(let i in n)r.push(new Pe(e,n[i]));return r}getEventSourceById(e){let n=this.getCurrentData(),r=n.eventSources;e=String(e);for(let i in r)if(r[i].publicId===e)return new Pe(n,r[i]);return null}addEventSource(e){let n=this.getCurrentData();if(e instanceof Pe)return n.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:"ADD_EVENT_SOURCES",sources:[e.internalEventSource]}),e;let r=ms(e,n);return r?(this.dispatch({type:"ADD_EVENT_SOURCES",sources:[r]}),new Pe(n,r)):null}removeAllEventSources(){this.dispatch({type:"REMOVE_ALL_EVENT_SOURCES"})}refetchEvents(){this.dispatch({type:"FETCH_EVENT_SOURCES",isRefetch:!0})}scrollToTime(e){let n=k(e);n&&this.trigger("_scrollRequest",{time:n})}}function Vc(t,e){return t.left>=e.left&&t.left<e.right&&t.top>=e.top&&t.top<e.bottom}function ks(t,e){let n={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)};return n.left<n.right&&n.top<n.bottom?n:!1}function Fc(t,e){return{left:Math.min(Math.max(t.left,e.left),e.right),top:Math.min(Math.max(t.top,e.top),e.bottom)}}function jc(t){return{left:(t.left+t.right)/2,top:(t.top+t.bottom)/2}}function zc(t,e){return{left:t.left-e.left,top:t.top-e.top}}const pn=J();class Wc{constructor(){this.getKeysForEventDefs=C(this._getKeysForEventDefs),this.splitDateSelection=C(this._splitDateSpan),this.splitEventStore=C(this._splitEventStore),this.splitIndividualUi=C(this._splitIndividualUi),this.splitEventDrag=C(this._splitInteraction),this.splitEventResize=C(this._splitInteraction),this.eventUiBuilders={}}splitProps(e){let n=this.getKeyInfo(e),r=this.getKeysForEventDefs(e.eventStore),i=this.splitDateSelection(e.dateSelection),s=this.splitIndividualUi(e.eventUiBases,r),l=this.splitEventStore(e.eventStore,r),a=this.splitEventDrag(e.eventDrag),o=this.splitEventResize(e.eventResize),d={};this.eventUiBuilders=ue(n,(c,f)=>this.eventUiBuilders[f]||C(Gc));for(let c in n){let f=n[c],h=l[c]||pn,u=this.eventUiBuilders[c];d[c]={businessHours:f.businessHours||e.businessHours,dateSelection:i[c]||null,eventStore:h,eventUiBases:u(e.eventUiBases[""],f.ui,s[c]),eventSelection:h.instances[e.eventSelection]?e.eventSelection:"",eventDrag:a[c]||null,eventResize:o[c]||null}}return d}_splitDateSpan(e){let n={};if(e){let r=this.getKeysForDateSpan(e);for(let i of r)n[i]=e}return n}_getKeysForEventDefs(e){return ue(e.defs,n=>this.getKeysForEventDef(n))}_splitEventStore(e,n){let{defs:r,instances:i}=e,s={};for(let l in r)for(let a of n[l])s[a]||(s[a]=J()),s[a].defs[l]=r[l];for(let l in i){let a=i[l];for(let o of n[a.defId])s[o]&&(s[o].instances[l]=a)}return s}_splitIndividualUi(e,n){let r={};for(let i in e)if(i)for(let s of n[i])r[s]||(r[s]={}),r[s][i]=e[i];return r}_splitInteraction(e){let n={};if(e){let r=this._splitEventStore(e.affectedEvents,this._getKeysForEventDefs(e.affectedEvents)),i=this._getKeysForEventDefs(e.mutatedEvents),s=this._splitEventStore(e.mutatedEvents,i),l=a=>{n[a]||(n[a]={affectedEvents:r[a]||pn,mutatedEvents:s[a]||pn,isEvent:e.isEvent})};for(let a in r)l(a);for(let a in s)l(a)}return n}}function Gc(t,e,n){let r=[];t&&r.push(t),e&&r.push(e);let i={"":ps(r)};return n&&Object.assign(i,n),i}function Ms(t,e,n,r){return{dow:t.getUTCDay(),isDisabled:!!(r&&(!r.activeRange||!de(r.activeRange,t))),isOther:!!(r&&!de(r.currentRange,t)),isToday:!!(e&&de(e,t)),isPast:!!(e&&t<e.start),isFuture:!!(e&&t>=e.end)}}function dr(t,e){let n=["fc-day",`fc-day-${$a[t.dow]}`];return t.isDisabled?n.push("fc-day-disabled"):(t.isToday&&(n.push("fc-day-today"),n.push(e.getClass("today"))),t.isPast&&n.push("fc-day-past"),t.isFuture&&n.push("fc-day-future"),t.isOther&&n.push("fc-day-other")),n}const qc=j({year:"numeric",month:"long",day:"numeric"}),Qc=j({week:"long"});function Ft(t,e,n="day",r=!0){const{dateEnv:i,options:s,calendarApi:l}=t;let a=i.format(e,n==="week"?Qc:qc);if(s.navLinks){let o=i.toDate(e);const d=c=>{let f=n==="day"?s.navLinkDayClick:n==="week"?s.navLinkWeekClick:null;typeof f=="function"?f.call(l,i.toDate(e),c):(typeof f=="string"&&(n=f),l.zoomTo(e,n))};return Object.assign({title:Ke(s.navLinkHint,[a,o],a),"data-navlink":""},r?Ki(d):{onClick:d})}return{"aria-label":a}}let mn=null;function Yc(){return mn===null&&(mn=$c()),mn}function $c(){let t=document.createElement("div");Je(t,{position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}),t.innerHTML="<div></div>",document.body.appendChild(t);let n=t.firstChild.getBoundingClientRect().left>t.getBoundingClientRect().left;return qn(t),n}let vn;function Zc(){return vn||(vn=Xc()),vn}function Xc(){let t=document.createElement("div");t.style.overflow="scroll",t.style.position="absolute",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t);let e=Is(t);return document.body.removeChild(t),e}function Is(t){return{x:t.offsetHeight-t.clientHeight,y:t.offsetWidth-t.clientWidth}}function Jc(t,e=!1){let n=window.getComputedStyle(t),r=parseInt(n.borderLeftWidth,10)||0,i=parseInt(n.borderRightWidth,10)||0,s=parseInt(n.borderTopWidth,10)||0,l=parseInt(n.borderBottomWidth,10)||0,a=Is(t),o=a.y-r-i,d=a.x-s-l,c={borderLeft:r,borderRight:i,borderTop:s,borderBottom:l,scrollbarBottom:d,scrollbarLeft:0,scrollbarRight:0};return Yc()&&n.direction==="rtl"?c.scrollbarLeft=o:c.scrollbarRight=o,e&&(c.paddingLeft=parseInt(n.paddingLeft,10)||0,c.paddingRight=parseInt(n.paddingRight,10)||0,c.paddingTop=parseInt(n.paddingTop,10)||0,c.paddingBottom=parseInt(n.paddingBottom,10)||0),c}function Kc(t,e=!1,n){let r=ur(t),i=Jc(t,e),s={left:r.left+i.borderLeft+i.scrollbarLeft,right:r.right-i.borderRight-i.scrollbarRight,top:r.top+i.borderTop,bottom:r.bottom-i.borderBottom-i.scrollbarBottom};return e&&(s.left+=i.paddingLeft,s.right-=i.paddingRight,s.top+=i.paddingTop,s.bottom-=i.paddingBottom),s}function ur(t){let e=t.getBoundingClientRect();return{left:e.left+window.scrollX,top:e.top+window.scrollY,right:e.right+window.scrollX,bottom:e.bottom+window.scrollY}}function ed(t){let e=Ns(t),n=t.getBoundingClientRect();for(let r of e){let i=ks(n,r.getBoundingClientRect());if(i)n=i;else return null}return n}function Ns(t){let e=[];for(;t instanceof HTMLElement;){let n=window.getComputedStyle(t);if(n.position==="fixed")break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&e.push(t),t=t.parentNode}return e}class Ge{constructor(e,n,r,i){this.els=n;let s=this.originClientRect=e.getBoundingClientRect();r&&this.buildElHorizontals(s.left),i&&this.buildElVerticals(s.top)}buildElHorizontals(e){let n=[],r=[];for(let i of this.els){let s=i.getBoundingClientRect();n.push(s.left-e),r.push(s.right-e)}this.lefts=n,this.rights=r}buildElVerticals(e){let n=[],r=[];for(let i of this.els){let s=i.getBoundingClientRect();n.push(s.top-e),r.push(s.bottom-e)}this.tops=n,this.bottoms=r}leftToIndex(e){let{lefts:n,rights:r}=this,i=n.length,s;for(s=0;s<i;s+=1)if(e>=n[s]&&e<r[s])return s}topToIndex(e){let{tops:n,bottoms:r}=this,i=n.length,s;for(s=0;s<i;s+=1)if(e>=n[s]&&e<r[s])return s}getWidth(e){return this.rights[e]-this.lefts[e]}getHeight(e){return this.bottoms[e]-this.tops[e]}similarTo(e){return pt(this.tops||[],e.tops||[])&&pt(this.bottoms||[],e.bottoms||[])&&pt(this.lefts||[],e.lefts||[])&&pt(this.rights||[],e.rights||[])}}function pt(t,e){const n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(Math.round(t[r])!==Math.round(e[r]))return!1;return!0}class fr{getMaxScrollTop(){return this.getScrollHeight()-this.getClientHeight()}getMaxScrollLeft(){return this.getScrollWidth()-this.getClientWidth()}canScrollVertically(){return this.getMaxScrollTop()>0}canScrollHorizontally(){return this.getMaxScrollLeft()>0}canScrollUp(){return this.getScrollTop()>0}canScrollDown(){return this.getScrollTop()<this.getMaxScrollTop()}canScrollLeft(){return this.getScrollLeft()>0}canScrollRight(){return this.getScrollLeft()<this.getMaxScrollLeft()}}class td extends fr{constructor(e){super(),this.el=e}getScrollTop(){return this.el.scrollTop}getScrollLeft(){return this.el.scrollLeft}setScrollTop(e){this.el.scrollTop=e}setScrollLeft(e){this.el.scrollLeft=e}getScrollWidth(){return this.el.scrollWidth}getScrollHeight(){return this.el.scrollHeight}getClientHeight(){return this.el.clientHeight}getClientWidth(){return this.el.clientWidth}}class nd extends fr{getScrollTop(){return window.scrollY}getScrollLeft(){return window.scrollX}setScrollTop(e){window.scroll(window.scrollX,e)}setScrollLeft(e){window.scroll(e,window.scrollY)}getScrollWidth(){return document.documentElement.scrollWidth}getScrollHeight(){return document.documentElement.scrollHeight}getClientHeight(){return document.documentElement.clientHeight}getClientWidth(){return document.documentElement.clientWidth}}class ae extends N{constructor(){super(...arguments),this.uid=Ie()}prepareHits(){}queryHit(e,n,r,i){return null}isValidSegDownEl(e){return!this.props.eventDrag&&!this.props.eventResize&&!q(e,".fc-event-mirror")}isValidDateDownEl(e){return!q(e,".fc-event:not(.fc-bg-event)")&&!q(e,".fc-more-link")&&!q(e,"a[data-navlink]")&&!q(e,".fc-popover")}}class Os{constructor(e=n=>n.thickness||1){this.getEntryThickness=e,this.strictOrder=!1,this.allowReslicing=!1,this.maxCoord=-1,this.maxStackCnt=-1,this.levelCoords=[],this.entriesByLevel=[],this.stackCnts={}}addSegs(e){let n=[];for(let r of e)this.insertEntry(r,n);return n}insertEntry(e,n){let r=this.findInsertion(e);this.isInsertionValid(r,e)?this.insertEntryAt(e,r):this.handleInvalidInsertion(r,e,n)}isInsertionValid(e,n){return(this.maxCoord===-1||e.levelCoord+this.getEntryThickness(n)<=this.maxCoord)&&(this.maxStackCnt===-1||e.stackCnt<this.maxStackCnt)}handleInvalidInsertion(e,n,r){if(this.allowReslicing&&e.touchingEntry){const i=Object.assign(Object.assign({},n),{span:hr(n.span,e.touchingEntry.span)});r.push(i),this.splitEntry(n,e.touchingEntry,r)}else r.push(n)}splitEntry(e,n,r){let i=e.span,s=n.span;i.start<s.start&&this.insertEntry({index:e.index,thickness:e.thickness,span:{start:i.start,end:s.start}},r),i.end>s.end&&this.insertEntry({index:e.index,thickness:e.thickness,span:{start:s.end,end:i.end}},r)}insertEntryAt(e,n){let{entriesByLevel:r,levelCoords:i}=this;n.lateral===-1?(bn(i,n.level,n.levelCoord),bn(r,n.level,[e])):bn(r[n.level],n.lateral,e),this.stackCnts[Te(e)]=n.stackCnt}findInsertion(e){let{levelCoords:n,entriesByLevel:r,strictOrder:i,stackCnts:s}=this,l=n.length,a=0,o=-1,d=-1,c=null,f=0;for(let p=0;p<l;p+=1){const m=n[p];if(!i&&m>=a+this.getEntryThickness(e))break;let v=r[p],y,E=Bn(v,e.span.start,Hn),w=E[0]+E[1];for(;(y=v[w])&&y.span.start<e.span.end;){let R=m+this.getEntryThickness(y);R>a&&(a=R,c=y,o=p,d=w),R===a&&(f=Math.max(f,s[Te(y)]+1)),w+=1}}let h=0;if(c)for(h=o+1;h<l&&n[h]<a;)h+=1;let u=-1;return h<l&&n[h]===a&&(u=Bn(r[h],e.span.end,Hn)[0]),{touchingLevel:o,touchingLateral:d,touchingEntry:c,stackCnt:f,levelCoord:a,level:h,lateral:u}}toRects(){let{entriesByLevel:e,levelCoords:n}=this,r=e.length,i=[];for(let s=0;s<r;s+=1){let l=e[s],a=n[s];for(let o of l)i.push(Object.assign(Object.assign({},o),{thickness:this.getEntryThickness(o),levelCoord:a}))}return i}}function Hn(t){return t.span.end}function Te(t){return t.index+":"+t.span.start}function rd(t){let e=[];for(let n of t){let r=[],i={span:n.span,entries:[n]};for(let s of e)hr(s.span,i.span)?i={entries:s.entries.concat(i.entries),span:id(s.span,i.span)}:r.push(s);r.push(i),e=r}return e}function id(t,e){return{start:Math.min(t.start,e.start),end:Math.max(t.end,e.end)}}function hr(t,e){let n=Math.max(t.start,e.start),r=Math.min(t.end,e.end);return n<r?{start:n,end:r}:null}function bn(t,e,n){t.splice(e,0,n)}function Bn(t,e,n){let r=0,i=t.length;if(!i||e<n(t[r]))return[0,0];if(e>n(t[i-1]))return[i,0];for(;r<i;){let s=Math.floor(r+(i-r)/2),l=n(t[s]);if(e<l)i=s;else if(e>l)r=s+1;else return[s,1]}return[r,0]}class sd{constructor(e,n){this.emitter=new en}destroy(){}setMirrorIsVisible(e){}setMirrorNeedsRevert(e){}setAutoScrollEnabled(e){}}const gr={};function ld(t,e){return!t||e>10?j({weekday:"short"}):e>1?j({weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}):j({weekday:"long"})}const Ps="fc-col-header-cell";function Hs(t){return t.text}class ad extends N{render(){let{dateEnv:e,options:n,theme:r,viewApi:i}=this.context,{props:s}=this,{date:l,dateProfile:a}=s,o=Ms(l,s.todayRange,null,a),d=[Ps].concat(dr(o,r)),c=e.format(l,s.dayHeaderFormat),f=!o.isDisabled&&s.colCnt>1?Ft(this.context,l):{},h=e.toDate(l);e.namedTimeZoneImpl&&(h=Se(h,36e5));let u=Object.assign(Object.assign(Object.assign({date:h,view:i},s.extraRenderProps),{text:c}),o);return g(K,{elTag:"th",elClasses:d,elAttrs:Object.assign({role:"columnheader",colSpan:s.colSpan,"data-date":o.isDisabled?void 0:Zn(l)},s.extraDataAttrs),renderProps:u,generatorName:"dayHeaderContent",customGenerator:n.dayHeaderContent,defaultGenerator:Hs,classNameGenerator:n.dayHeaderClassNames,didMount:n.dayHeaderDidMount,willUnmount:n.dayHeaderWillUnmount},p=>g("div",{className:"fc-scrollgrid-sync-inner"},!o.isDisabled&&g(p,{elTag:"a",elAttrs:f,elClasses:["fc-col-header-cell-cushion",s.isSticky&&"fc-sticky"]})))}}const od=j({weekday:"long"});class cd extends N{render(){let{props:e}=this,{dateEnv:n,theme:r,viewApi:i,options:s}=this.context,l=Q(new Date(2592e5),e.dow),a={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},o=n.format(l,e.dayHeaderFormat),d=Object.assign(Object.assign(Object.assign(Object.assign({date:l},a),{view:i}),e.extraRenderProps),{text:o});return g(K,{elTag:"th",elClasses:[Ps,...dr(a,r),...e.extraClassNames||[]],elAttrs:Object.assign({role:"columnheader",colSpan:e.colSpan},e.extraDataAttrs),renderProps:d,generatorName:"dayHeaderContent",customGenerator:s.dayHeaderContent,defaultGenerator:Hs,classNameGenerator:s.dayHeaderClassNames,didMount:s.dayHeaderDidMount,willUnmount:s.dayHeaderWillUnmount},c=>g("div",{className:"fc-scrollgrid-sync-inner"},g(c,{elTag:"a",elClasses:["fc-col-header-cell-cushion",e.isSticky&&"fc-sticky"],elAttrs:{"aria-label":n.format(l,od)}})))}}class Bs extends N{constructor(){super(...arguments),this.createDayHeaderFormatter=C(dd)}render(){let{context:e}=this,{dates:n,dateProfile:r,datesRepDistinctDays:i,renderIntro:s}=this.props,l=this.createDayHeaderFormatter(e.options.dayHeaderFormat,i,n.length);return g(Qe,{unit:"day"},(a,o)=>g("tr",{role:"row"},s&&s("day"),n.map(d=>i?g(ad,{key:d.toISOString(),date:d,dateProfile:r,todayRange:o,colCnt:n.length,dayHeaderFormat:l}):g(cd,{key:d.getUTCDay(),dow:d.getUTCDay(),dayHeaderFormat:l}))))}}function dd(t,e,n){return t||ld(e,n)}class Us{constructor(e,n){let r=e.start,{end:i}=e,s=[],l=[],a=-1;for(;r<i;)n.isHiddenDay(r)?s.push(a+.5):(a+=1,s.push(a),l.push(r)),r=Q(r,1);this.dates=l,this.indices=s,this.cnt=l.length}sliceRange(e){let n=this.getDateDayIndex(e.start),r=this.getDateDayIndex(Q(e.end,-1)),i=Math.max(0,n),s=Math.min(this.cnt-1,r);return i=Math.ceil(i),s=Math.floor(s),i<=s?{firstIndex:i,lastIndex:s,isStart:n===i,isEnd:r===s}:null}getDateDayIndex(e){let{indices:n}=this,r=Math.floor(Ne(this.dates[0],e));return r<0?n[0]-1:r>=n.length?n[n.length-1]+1:n[r]}}class Ls{constructor(e,n){let{dates:r}=e,i,s,l;if(n){for(s=r[0].getUTCDay(),i=1;i<r.length&&r[i].getUTCDay()!==s;i+=1);l=Math.ceil(r.length/i)}else l=1,i=r.length;this.rowCnt=l,this.colCnt=i,this.daySeries=e,this.cells=this.buildCells(),this.headerDates=this.buildHeaderDates()}buildCells(){let e=[];for(let n=0;n<this.rowCnt;n+=1){let r=[];for(let i=0;i<this.colCnt;i+=1)r.push(this.buildCell(n,i));e.push(r)}return e}buildCell(e,n){let r=this.daySeries.dates[e*this.colCnt+n];return{key:r.toISOString(),date:r}}buildHeaderDates(){let e=[];for(let n=0;n<this.colCnt;n+=1)e.push(this.cells[0][n].date);return e}sliceRange(e){let{colCnt:n}=this,r=this.daySeries.sliceRange(e),i=[];if(r){let{firstIndex:s,lastIndex:l}=r,a=s;for(;a<=l;){let o=Math.floor(a/n),d=Math.min((o+1)*n,l+1);i.push({row:o,firstCol:a%n,lastCol:(d-1)%n,isStart:r.isStart&&a===s,isEnd:r.isEnd&&d-1===l}),a=d}}return i}}class Vs{constructor(){this.sliceBusinessHours=C(this._sliceBusinessHours),this.sliceDateSelection=C(this._sliceDateSpan),this.sliceEventStore=C(this._sliceEventStore),this.sliceEventDrag=C(this._sliceInteraction),this.sliceEventResize=C(this._sliceInteraction),this.forceDayIfListItem=!1}sliceProps(e,n,r,i,...s){let{eventUiBases:l}=e,a=this.sliceEventStore(e.eventStore,l,n,r,...s);return{dateSelectionSegs:this.sliceDateSelection(e.dateSelection,n,r,l,i,...s),businessHourSegs:this.sliceBusinessHours(e.businessHours,n,r,i,...s),fgEventSegs:a.fg,bgEventSegs:a.bg,eventDrag:this.sliceEventDrag(e.eventDrag,l,n,r,...s),eventResize:this.sliceEventResize(e.eventResize,l,n,r,...s),eventSelection:e.eventSelection}}sliceNowDate(e,n,r,i,...s){return this._sliceDateSpan({range:{start:e,end:Se(e,1)},allDay:!1},n,r,{},i,...s)}_sliceBusinessHours(e,n,r,i,...s){return e?this._sliceEventStore(Me(e,mt(n,!!r),i),{},n,r,...s).bg:[]}_sliceEventStore(e,n,r,i,...s){if(e){let l=oi(e,n,mt(r,!!i),i);return{bg:this.sliceEventRanges(l.bg,s),fg:this.sliceEventRanges(l.fg,s)}}return{bg:[],fg:[]}}_sliceInteraction(e,n,r,i,...s){if(!e)return null;let l=oi(e.mutatedEvents,n,mt(r,!!i),i);return{segs:this.sliceEventRanges(l.fg,s),affectedInstances:e.affectedEvents.instances,isEvent:e.isEvent}}_sliceDateSpan(e,n,r,i,s,...l){if(!e)return[];let a=mt(n,!!r),o=ke(e.range,a);if(o){e=Object.assign(Object.assign({},e),{range:o});let d=Ic(e,i,s),c=this.sliceRange(e.range,...l);for(let f of c)f.eventRange=d;return c}return[]}sliceEventRanges(e,n){let r=[];for(let i of e)r.push(...this.sliceEventRange(i,n));return r}sliceEventRange(e,n){let r=e.range;this.forceDayIfListItem&&e.ui.display==="list-item"&&(r={start:r.start,end:Q(r.start,1)});let i=this.sliceRange(r,...n);for(let s of i)s.eventRange=e,s.isStart=e.isStart&&s.isStart,s.isEnd=e.isEnd&&s.isEnd;return i}}function mt(t,e){let n=t.activeRange;return e?n:{start:Se(n.start,t.slotMinTime.milliseconds),end:Se(n.end,t.slotMaxTime.milliseconds-864e5)}}function Fs(t,e,n){let{instances:r}=t.mutatedEvents;for(let i in r)if(!Jt(e.validRange,r[i].range))return!1;return js({eventDrag:t},n)}function ud(t,e,n){return Jt(e.validRange,t.range)?js({dateSelection:t},n):!1}function js(t,e){let n=e.getCurrentData(),r=Object.assign({businessHours:n.businessHours,dateSelection:"",eventStore:n.eventStore,eventUiBases:n.eventUiBases,eventSelection:"",eventDrag:null,eventResize:null},t);return(e.pluginHooks.isPropsValid||fd)(r,e)}function fd(t,e,n={},r){return!(t.eventDrag&&!hd(t,e,n,r)||t.dateSelection&&!gd(t,e,n,r))}function hd(t,e,n,r){let i=e.getCurrentData(),s=t.eventDrag,l=s.mutatedEvents,a=l.defs,o=l.instances,d=Vt(a,s.isEvent?t.eventUiBases:{"":i.selectionConfig});r&&(d=ue(d,r));let c=dc(t.eventStore,s.affectedEvents.instances),f=c.defs,h=c.instances,u=Vt(f,t.eventUiBases);for(let p in o){let m=o[p],v=m.range,y=d[m.defId],E=a[m.defId];if(!zs(y.constraints,v,c,t.businessHours,e))return!1;let{eventOverlap:w}=e.options,R=typeof w=="function"?w:null;for(let M in h){let P=h[M];if(nr(v,P.range)&&(u[P.defId].overlap===!1&&s.isEvent||y.overlap===!1||R&&!R(new F(e,f[P.defId],P),new F(e,E,m))))return!1}let L=i.eventStore;for(let M of y.allows){let P=Object.assign(Object.assign({},n),{range:m.range,allDay:E.allDay}),T=L.defs[E.defId],re=L.instances[p],oe;if(T?oe=new F(e,T,re):oe=new F(e,E),!M(ar(P,e),oe))return!1}}return!0}function gd(t,e,n,r){let i=t.eventStore,s=i.defs,l=i.instances,a=t.dateSelection,o=a.range,{selectionConfig:d}=e.getCurrentData();if(r&&(d=r(d)),!zs(d.constraints,o,i,t.businessHours,e))return!1;let{selectOverlap:c}=e.options,f=typeof c=="function"?c:null;for(let h in l){let u=l[h];if(nr(o,u.range)&&(d.overlap===!1||f&&!f(new F(e,s[u.defId],u),null)))return!1}for(let h of d.allows){let u=Object.assign(Object.assign({},n),a);if(!h(ar(u,e),null))return!1}return!0}function zs(t,e,n,r,i){for(let s of t)if(!md(pd(s,e,n,r,i),e))return!1;return!0}function pd(t,e,n,r,i){return t==="businessHours"?yn(Me(r,e,i)):typeof t=="string"?yn(Kt(n,s=>s.groupId===t)):typeof t=="object"&&t?yn(Me(t,e,i)):[]}function yn(t){let{instances:e}=t,n=[];for(let r in e)n.push(e[r].range);return n}function md(t,e){for(let n of t)if(Jt(n,e))return!0;return!1}const vt=/^(visible|hidden)$/;class vd extends N{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,fe(this.props.elRef,e)}}render(){let{props:e}=this,{liquid:n,liquidIsAbsolute:r}=e,i=n&&r,s=["fc-scroller"];return n&&(r?s.push("fc-scroller-liquid-absolute"):s.push("fc-scroller-liquid")),g("div",{ref:this.handleEl,className:s.join(" "),style:{overflowX:e.overflowX,overflowY:e.overflowY,left:i&&-(e.overcomeLeft||0)||"",right:i&&-(e.overcomeRight||0)||"",bottom:i&&-(e.overcomeBottom||0)||"",marginLeft:!i&&-(e.overcomeLeft||0)||"",marginRight:!i&&-(e.overcomeRight||0)||"",marginBottom:!i&&-(e.overcomeBottom||0)||"",maxHeight:e.maxHeight||""}},e.children)}needsXScrolling(){if(vt.test(this.props.overflowX))return!1;let{el:e}=this,n=this.el.getBoundingClientRect().width-this.getYScrollbarWidth(),{children:r}=e;for(let i=0;i<r.length;i+=1)if(r[i].getBoundingClientRect().width>n)return!0;return!1}needsYScrolling(){if(vt.test(this.props.overflowY))return!1;let{el:e}=this,n=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),{children:r}=e;for(let i=0;i<r.length;i+=1)if(r[i].getBoundingClientRect().height>n)return!0;return!1}getXScrollbarWidth(){return vt.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight}getYScrollbarWidth(){return vt.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth}}class ce{constructor(e){this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=(n,r)=>{let{depths:i,currentMap:s}=this,l=!1,a=!1;n!==null?(l=r in s,s[r]=n,i[r]=(i[r]||0)+1,a=!0):(i[r]-=1,i[r]||(delete s[r],delete this.callbackMap[r],l=!0)),this.masterCallback&&(l&&this.masterCallback(null,String(r)),a&&this.masterCallback(n,String(r)))}}createRef(e){let n=this.callbackMap[e];return n||(n=this.callbackMap[e]=r=>{this.handleValue(r,String(e))}),n}collect(e,n,r){return xo(this.currentMap,e,n,r)}getAll(){return er(this.currentMap)}}function bd(t){let e=_a(t,".fc-scrollgrid-shrink"),n=0;for(let r of e)n=Math.max(n,Fa(r));return Math.ceil(n)}function Ws(t,e){return t.liquid&&e.liquid}function yd(t,e){return e.maxHeight!=null||Ws(t,e)}function Ed(t,e,n,r){let{expandRows:i}=n;return typeof e.content=="function"?e.content(n):g("table",{role:"presentation",className:[e.tableClassName,t.syncRowHeights?"fc-scrollgrid-sync-table":""].join(" "),style:{minWidth:n.tableMinWidth,width:n.clientWidth,height:i?n.clientHeight:""}},n.tableColGroupNode,g(r?"thead":"tbody",{role:"presentation"},typeof e.rowContent=="function"?e.rowContent(n):e.rowContent))}function Sd(t,e){return Ee(t,e,le)}function Ad(t,e){let n=[];for(let r of t){let i=r.span||1;for(let s=0;s<i;s+=1)n.push(g("col",{style:{width:r.width==="shrink"?Cd(e):r.width||"",minWidth:r.minWidth||""}}))}return g("colgroup",{},...n)}function Cd(t){return t??4}function Dd(t){for(let e of t)if(e.width==="shrink")return!0;return!1}function wd(t,e){let n=["fc-scrollgrid",e.theme.getClass("table")];return t&&n.push("fc-scrollgrid-liquid"),n}function Rd(t,e){let n=["fc-scrollgrid-section",`fc-scrollgrid-section-${t.type}`,t.className];return e&&t.liquid&&t.maxHeight==null&&n.push("fc-scrollgrid-section-liquid"),t.isSticky&&n.push("fc-scrollgrid-section-sticky"),n}function Un(t){return g("div",{className:"fc-scrollgrid-sticky-shim",style:{width:t.clientWidth,minWidth:t.tableMinWidth}})}function jt(t){let{stickyHeaderDates:e}=t;return(e==null||e==="auto")&&(e=t.height==="auto"||t.viewHeight==="auto"),e}function Gs(t){let{stickyFooterScrollbar:e}=t;return(e==null||e==="auto")&&(e=t.height==="auto"||t.viewHeight==="auto"),e}class pr extends N{constructor(){super(...arguments),this.processCols=C(e=>e,Sd),this.renderMicroColGroup=C(Ad),this.scrollerRefs=new ce,this.scrollerElRefs=new ce(this._handleScrollerEl.bind(this)),this.state={shrinkWidth:null,forceYScrollbars:!1,scrollerClientWidths:{},scrollerClientHeights:{}},this.handleSizing=()=>{this.safeSetState(Object.assign({shrinkWidth:this.computeShrinkWidth()},this.computeScrollerDims()))}}render(){let{props:e,state:n,context:r}=this,i=e.sections||[],s=this.processCols(e.cols),l=this.renderMicroColGroup(s,n.shrinkWidth),a=wd(e.liquid,r);e.collapsibleWidth&&a.push("fc-scrollgrid-collapsible");let o=i.length,d=0,c,f=[],h=[],u=[];for(;d<o&&(c=i[d]).type==="header";)f.push(this.renderSection(c,l,!0)),d+=1;for(;d<o&&(c=i[d]).type==="body";)h.push(this.renderSection(c,l,!1)),d+=1;for(;d<o&&(c=i[d]).type==="footer";)u.push(this.renderSection(c,l,!0)),d+=1;let p=!xs();const m={role:"rowgroup"};return g("table",{role:"grid",className:a.join(" "),style:{height:e.height}},!!(!p&&f.length)&&g("thead",m,...f),!!(!p&&h.length)&&g("tbody",m,...h),!!(!p&&u.length)&&g("tfoot",m,...u),p&&g("tbody",m,...f,...h,...u))}renderSection(e,n,r){return"outerContent"in e?g(B,{key:e.key},e.outerContent):g("tr",{key:e.key,role:"presentation",className:Rd(e,this.props.liquid).join(" ")},this.renderChunkTd(e,n,e.chunk,r))}renderChunkTd(e,n,r,i){if("outerContent"in r)return r.outerContent;let{props:s}=this,{forceYScrollbars:l,scrollerClientWidths:a,scrollerClientHeights:o}=this.state,d=yd(s,e),c=Ws(s,e),f=s.liquid?l?"scroll":d?"auto":"hidden":"visible",h=e.key,u=Ed(e,r,{tableColGroupNode:n,tableMinWidth:"",clientWidth:!s.collapsibleWidth&&a[h]!==void 0?a[h]:null,clientHeight:o[h]!==void 0?o[h]:null,expandRows:e.expandRows,syncRowHeights:!1,rowSyncHeights:[],reportRowHeightChange:()=>{}},i);return g(i?"th":"td",{ref:r.elRef,role:"presentation"},g("div",{className:`fc-scroller-harness${c?" fc-scroller-harness-liquid":""}`},g(vd,{ref:this.scrollerRefs.createRef(h),elRef:this.scrollerElRefs.createRef(h),overflowY:f,overflowX:s.liquid?"hidden":"visible",maxHeight:e.maxHeight,liquid:c,liquidIsAbsolute:!0},u)))}_handleScrollerEl(e,n){let r=_d(this.props.sections,n);r&&fe(r.chunk.scrollerElRef,e)}componentDidMount(){this.handleSizing(),this.context.addResizeHandler(this.handleSizing)}componentDidUpdate(){this.handleSizing()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}computeShrinkWidth(){return Dd(this.props.cols)?bd(this.scrollerElRefs.getAll()):0}computeScrollerDims(){let e=Zc(),{scrollerRefs:n,scrollerElRefs:r}=this,i=!1,s={},l={};for(let a in n.currentMap){let o=n.currentMap[a];if(o&&o.needsYScrolling()){i=!0;break}}for(let a of this.props.sections){let o=a.key,d=r.currentMap[o];if(d){let c=d.parentNode;s[o]=Math.floor(c.getBoundingClientRect().width-(i?e.y:0)),l[o]=Math.floor(c.getBoundingClientRect().height)}}return{forceYScrollbars:i,scrollerClientWidths:s,scrollerClientHeights:l}}}pr.addStateEquality({scrollerClientWidths:le,scrollerClientHeights:le});function _d(t,e){for(let n of t)if(n.key===e)return n;return null}class mr extends N{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,e&&ci(e,this.props.seg)}}render(){const{props:e,context:n}=this,{options:r}=n,{seg:i}=e,{eventRange:s}=i,{ui:l}=s,a={event:new F(n,s.def,s.instance),view:n.viewApi,timeText:e.timeText,textColor:l.textColor,backgroundColor:l.backgroundColor,borderColor:l.borderColor,isDraggable:!e.disableDragging&&Ac(i,n),isStartResizable:!e.disableResizing&&Cc(i,n),isEndResizable:!e.disableResizing&&Dc(i),isMirror:!!(e.isDragging||e.isResizing||e.isDateSelecting),isStart:!!i.isStart,isEnd:!!i.isEnd,isPast:!!e.isPast,isFuture:!!e.isFuture,isToday:!!e.isToday,isSelected:!!e.isSelected,isDragging:!!e.isDragging,isResizing:!!e.isResizing};return g(K,Object.assign({},e,{elRef:this.handleEl,elClasses:[...wc(a),...i.eventRange.ui.classNames,...e.elClasses||[]],renderProps:a,generatorName:"eventContent",customGenerator:r.eventContent,defaultGenerator:e.defaultGenerator,classNameGenerator:r.eventClassNames,didMount:r.eventDidMount,willUnmount:r.eventWillUnmount}))}componentDidUpdate(e){this.el&&this.props.seg!==e.seg&&ci(this.el,this.props.seg)}}class qs extends N{render(){let{props:e,context:n}=this,{options:r}=n,{seg:i}=e,{ui:s}=i.eventRange,l=r.eventTimeFormat||e.defaultTimeFormat,a=Ds(i,l,n,e.defaultDisplayEventTime,e.defaultDisplayEventEnd);return g(mr,Object.assign({},e,{elTag:"a",elStyle:{borderColor:s.borderColor,backgroundColor:s.backgroundColor},elAttrs:Rs(i,n),defaultGenerator:Td,timeText:a}),(o,d)=>g(B,null,g(o,{elTag:"div",elClasses:["fc-event-main"],elStyle:{color:d.textColor}}),!!d.isStartResizable&&g("div",{className:"fc-event-resizer fc-event-resizer-start"}),!!d.isEndResizable&&g("div",{className:"fc-event-resizer fc-event-resizer-end"})))}}function Td(t){return g("div",{className:"fc-event-main-frame"},t.timeText&&g("div",{className:"fc-event-time"},t.timeText),g("div",{className:"fc-event-title-container"},g("div",{className:"fc-event-title fc-sticky"},t.event.title||g(B,null," "))))}const vr=t=>g(he.Consumer,null,e=>{let{options:n}=e,r={isAxis:t.isAxis,date:e.dateEnv.toDate(t.date),view:e.viewApi};return g(K,Object.assign({},t,{elTag:t.elTag||"div",renderProps:r,generatorName:"nowIndicatorContent",customGenerator:n.nowIndicatorContent,classNameGenerator:n.nowIndicatorClassNames,didMount:n.nowIndicatorDidMount,willUnmount:n.nowIndicatorWillUnmount}))}),xd=j({day:"numeric"});class br extends N{constructor(){super(...arguments),this.refineRenderProps=wt(kd)}render(){let{props:e,context:n}=this,{options:r}=n,i=this.refineRenderProps({date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,isMonthStart:e.isMonthStart||!1,showDayNumber:e.showDayNumber,extraRenderProps:e.extraRenderProps,viewApi:n.viewApi,dateEnv:n.dateEnv,monthStartFormat:r.monthStartFormat});return g(K,Object.assign({},e,{elClasses:[...dr(i,n.theme),...e.elClasses||[]],elAttrs:Object.assign(Object.assign({},e.elAttrs),i.isDisabled?{}:{"data-date":Zn(e.date)}),renderProps:i,generatorName:"dayCellContent",customGenerator:r.dayCellContent,defaultGenerator:e.defaultGenerator,classNameGenerator:i.isDisabled?void 0:r.dayCellClassNames,didMount:r.dayCellDidMount,willUnmount:r.dayCellWillUnmount}))}}function yr(t){return!!(t.dayCellContent||In("dayCellContent",t))}function kd(t){let{date:e,dateEnv:n,dateProfile:r,isMonthStart:i}=t,s=Ms(e,t.todayRange,null,r),l=t.showDayNumber?n.format(e,i?t.monthStartFormat:xd):"";return Object.assign(Object.assign(Object.assign({date:n.toDate(e),view:t.viewApi},s),{isMonthStart:i,dayNumberText:l}),t.extraRenderProps)}class Qs extends N{render(){let{props:e}=this,{seg:n}=e;return g(mr,{elTag:"div",elClasses:["fc-bg-event"],elStyle:{backgroundColor:n.eventRange.ui.backgroundColor},defaultGenerator:Md,seg:n,timeText:"",isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,disableDragging:!0,disableResizing:!0})}}function Md(t){let{title:e}=t.event;return e&&g("div",{className:"fc-event-title"},t.event.title)}function Ys(t){return g("div",{className:`fc-${t}`})}const $s=t=>g(he.Consumer,null,e=>{let{dateEnv:n,options:r}=e,{date:i}=t,s=r.weekNumberFormat||t.defaultFormat,l=n.computeWeekNumber(i),a=n.format(i,s);return g(K,Object.assign({},t,{renderProps:{num:l,text:a,date:i},generatorName:"weekNumberContent",customGenerator:r.weekNumberContent,defaultGenerator:Id,classNameGenerator:r.weekNumberClassNames,didMount:r.weekNumberDidMount,willUnmount:r.weekNumberWillUnmount}))});function Id(t){return t.text}const En=10;class Nd extends N{constructor(){super(...arguments),this.state={titleId:Zt()},this.handleRootEl=e=>{this.rootEl=e,this.props.elRef&&fe(this.props.elRef,e)},this.handleDocumentMouseDown=e=>{const n=Xi(e);this.rootEl.contains(n)||this.handleCloseClick()},this.handleDocumentKeyDown=e=>{e.key==="Escape"&&this.handleCloseClick()},this.handleCloseClick=()=>{let{onClose:e}=this.props;e&&e()}}render(){let{theme:e,options:n}=this.context,{props:r,state:i}=this,s=["fc-popover",e.getClass("popover")].concat(r.extraClassNames||[]);return ha(g("div",Object.assign({},r.extraAttrs,{id:r.id,className:s.join(" "),"aria-labelledby":i.titleId,ref:this.handleRootEl}),g("div",{className:"fc-popover-header "+e.getClass("popoverHeader")},g("span",{className:"fc-popover-title",id:i.titleId},r.title),g("span",{className:"fc-popover-close "+e.getIconClass("close"),title:n.closeHint,onClick:this.handleCloseClick})),g("div",{className:"fc-popover-body "+e.getClass("popoverContent")},r.children)),r.parentEl)}componentDidMount(){document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown),this.updateSize()}componentWillUnmount(){document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}updateSize(){let{isRtl:e}=this.context,{alignmentEl:n,alignGridTop:r}=this.props,{rootEl:i}=this,s=ed(n);if(s){let l=i.getBoundingClientRect(),a=r?q(n,".fc-scrollgrid").getBoundingClientRect().top:s.top,o=e?s.right-l.width:s.left;a=Math.max(a,En),o=Math.min(o,document.documentElement.clientWidth-En-l.width),o=Math.max(o,En);let d=i.offsetParent.getBoundingClientRect();Je(i,{top:a-d.top,left:o-d.left})}}}class Od extends ae{constructor(){super(...arguments),this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,useEventCenter:!1}):this.context.unregisterInteractiveComponent(this)}}render(){let{options:e,dateEnv:n}=this.context,{props:r}=this,{startDate:i,todayRange:s,dateProfile:l}=r,a=n.format(i,e.dayPopoverFormat);return g(br,{elRef:this.handleRootEl,date:i,dateProfile:l,todayRange:s},(o,d,c)=>g(Nd,{elRef:c.ref,id:r.id,title:a,extraClassNames:["fc-more-popover"].concat(c.className||[]),extraAttrs:c,parentEl:r.parentEl,alignmentEl:r.alignmentEl,alignGridTop:r.alignGridTop,onClose:r.onClose},yr(e)&&g(o,{elTag:"div",elClasses:["fc-more-popover-misc"]}),r.children))}queryHit(e,n,r,i){let{rootEl:s,props:l}=this;return e>=0&&e<r&&n>=0&&n<i?{dateProfile:l.dateProfile,dateSpan:Object.assign({allDay:!l.forceTimed,range:{start:l.startDate,end:l.endDate}},l.extraDateSpan),dayEl:s,rect:{left:0,top:0,right:r,bottom:i},layer:1}:null}}class Zs extends N{constructor(){super(...arguments),this.state={isPopoverOpen:!1,popoverId:Zt()},this.handleLinkEl=e=>{this.linkEl=e,this.props.elRef&&fe(this.props.elRef,e)},this.handleClick=e=>{let{props:n,context:r}=this,{moreLinkClick:i}=r.options,s=ui(n).start;function l(a){let{def:o,instance:d,range:c}=a.eventRange;return{event:new F(r,o,d),start:r.dateEnv.toDate(c.start),end:r.dateEnv.toDate(c.end),isStart:a.isStart,isEnd:a.isEnd}}typeof i=="function"&&(i=i({date:s,allDay:!!n.allDayDate,allSegs:n.allSegs.map(l),hiddenSegs:n.hiddenSegs.map(l),jsEvent:e,view:r.viewApi})),!i||i==="popover"?this.setState({isPopoverOpen:!0}):typeof i=="string"&&r.calendarApi.zoomTo(s,i)},this.handlePopoverClose=()=>{this.setState({isPopoverOpen:!1})}}render(){let{props:e,state:n}=this;return g(he.Consumer,null,r=>{let{viewApi:i,options:s,calendarApi:l}=r,{moreLinkText:a}=s,{moreCnt:o}=e,d=ui(e),c=typeof a=="function"?a.call(l,o):`+${o} ${a}`,f=Ke(s.moreLinkHint,[o],c),h={num:o,shortText:`+${o}`,text:c,view:i};return g(B,null,!!e.moreCnt&&g(K,{elTag:e.elTag||"a",elRef:this.handleLinkEl,elClasses:[...e.elClasses||[],"fc-more-link"],elStyle:e.elStyle,elAttrs:Object.assign(Object.assign(Object.assign({},e.elAttrs),Ki(this.handleClick)),{title:f,"aria-expanded":n.isPopoverOpen,"aria-controls":n.isPopoverOpen?n.popoverId:""}),renderProps:h,generatorName:"moreLinkContent",customGenerator:s.moreLinkContent,defaultGenerator:e.defaultGenerator||Pd,classNameGenerator:s.moreLinkClassNames,didMount:s.moreLinkDidMount,willUnmount:s.moreLinkWillUnmount},e.children),n.isPopoverOpen&&g(Od,{id:n.popoverId,startDate:d.start,endDate:d.end,dateProfile:e.dateProfile,todayRange:e.todayRange,extraDateSpan:e.extraDateSpan,parentEl:this.parentEl,alignmentEl:e.alignmentElRef?e.alignmentElRef.current:this.linkEl,alignGridTop:e.alignGridTop,forceTimed:e.forceTimed,onClose:this.handlePopoverClose},e.popoverContent()))})}componentDidMount(){this.updateParentEl()}componentDidUpdate(){this.updateParentEl()}updateParentEl(){this.linkEl&&(this.parentEl=q(this.linkEl,".fc-view-harness"))}}function Pd(t){return t.text}function ui(t){if(t.allDayDate)return{start:t.allDayDate,end:Q(t.allDayDate,1)};let{hiddenSegs:e}=t;return{start:Xs(e),end:Bd(e)}}function Xs(t){return t.reduce(Hd).eventRange.range.start}function Hd(t,e){return t.eventRange.range.start<e.eventRange.range.start?t:e}function Bd(t){return t.reduce(Ud).eventRange.range.end}function Ud(t,e){return t.eventRange.range.end>e.eventRange.range.end?t:e}class Ld{constructor(){this.handlers=[]}set(e){this.currentValue=e;for(let n of this.handlers)n(e)}subscribe(e){this.handlers.push(e),this.currentValue!==void 0&&e(this.currentValue)}}class Vd extends Ld{constructor(){super(...arguments),this.map=new Map}handle(e){const{map:n}=this;let r=!1;e.isActive?(n.set(e.id,e),r=!0):n.has(e.id)&&(n.delete(e.id),r=!0),r&&this.set(n)}}const Fd=[],Js={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",weekTextLong:"Week",closeHint:"Close",timeHint:"Time",eventHint:"Event",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"},Ks=Object.assign(Object.assign({},Js),{buttonHints:{prev:"Previous $0",next:"Next $0",today(t,e){return e==="day"?"Today":`This ${t}`}},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint(t){return`Show ${t} more event${t===1?"":"s"}`}});function jd(t){let e=t.length>0?t[0].code:"en",n=Fd.concat(t),r={en:Ks};for(let i of n)r[i.code]=i;return{map:r,defaultCode:e}}function el(t,e){return typeof t=="object"&&!Array.isArray(t)?tl(t.code,[t.code],t):zd(t,e)}function zd(t,e){let n=[].concat(t||[]),r=Wd(n,e)||Ks;return tl(t,n,r)}function Wd(t,e){for(let n=0;n<t.length;n+=1){let r=t[n].toLocaleLowerCase().split("-");for(let i=r.length;i>0;i-=1){let s=r.slice(0,i).join("-");if(e[s])return e[s]}}return null}function tl(t,e,n){let r=Kn([Js,n],["buttonText"]);delete r.code;let{week:i}=r;return delete r.week,{codeArg:t,codes:e,week:i,simpleNumberFormat:new Intl.NumberFormat(t),options:r}}function ge(t){return{id:Ie(),name:t.name,premiumReleaseDate:t.premiumReleaseDate?new Date(t.premiumReleaseDate):void 0,deps:t.deps||[],reducers:t.reducers||[],isLoadingFuncs:t.isLoadingFuncs||[],contextInit:[].concat(t.contextInit||[]),eventRefiners:t.eventRefiners||{},eventDefMemberAdders:t.eventDefMemberAdders||[],eventSourceRefiners:t.eventSourceRefiners||{},isDraggableTransformers:t.isDraggableTransformers||[],eventDragMutationMassagers:t.eventDragMutationMassagers||[],eventDefMutationAppliers:t.eventDefMutationAppliers||[],dateSelectionTransformers:t.dateSelectionTransformers||[],datePointTransforms:t.datePointTransforms||[],dateSpanTransforms:t.dateSpanTransforms||[],views:t.views||{},viewPropsTransformers:t.viewPropsTransformers||[],isPropsValid:t.isPropsValid||null,externalDefTransforms:t.externalDefTransforms||[],viewContainerAppends:t.viewContainerAppends||[],eventDropTransformers:t.eventDropTransformers||[],componentInteractions:t.componentInteractions||[],calendarInteractions:t.calendarInteractions||[],themeClasses:t.themeClasses||{},eventSourceDefs:t.eventSourceDefs||[],cmdFormatter:t.cmdFormatter,recurringTypes:t.recurringTypes||[],namedTimeZonedImpl:t.namedTimeZonedImpl,initialView:t.initialView||"",elementDraggingImpl:t.elementDraggingImpl,optionChangeHandlers:t.optionChangeHandlers||{},scrollGridImpl:t.scrollGridImpl||null,listenerRefiners:t.listenerRefiners||{},optionRefiners:t.optionRefiners||{},propSetHandlers:t.propSetHandlers||{}}}function Gd(t,e){let n={},r={premiumReleaseDate:void 0,reducers:[],isLoadingFuncs:[],contextInit:[],eventRefiners:{},eventDefMemberAdders:[],eventSourceRefiners:{},isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],viewContainerAppends:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,initialView:"",elementDraggingImpl:null,optionChangeHandlers:{},scrollGridImpl:null,listenerRefiners:{},optionRefiners:{},propSetHandlers:{}};function i(s){for(let l of s){const a=l.name,o=n[a];o===void 0?(n[a]=l.id,i(l.deps),r=Qd(r,l)):o!==l.id&&console.warn(`Duplicate plugin '${a}'`)}}return t&&i(t),i(e),r}function qd(){let t=[],e=[],n;return(r,i)=>((!n||!Ee(r,t)||!Ee(i,e))&&(n=Gd(r,i)),t=r,e=i,n)}function Qd(t,e){return{premiumReleaseDate:Yd(t.premiumReleaseDate,e.premiumReleaseDate),reducers:t.reducers.concat(e.reducers),isLoadingFuncs:t.isLoadingFuncs.concat(e.isLoadingFuncs),contextInit:t.contextInit.concat(e.contextInit),eventRefiners:Object.assign(Object.assign({},t.eventRefiners),e.eventRefiners),eventDefMemberAdders:t.eventDefMemberAdders.concat(e.eventDefMemberAdders),eventSourceRefiners:Object.assign(Object.assign({},t.eventSourceRefiners),e.eventSourceRefiners),isDraggableTransformers:t.isDraggableTransformers.concat(e.isDraggableTransformers),eventDragMutationMassagers:t.eventDragMutationMassagers.concat(e.eventDragMutationMassagers),eventDefMutationAppliers:t.eventDefMutationAppliers.concat(e.eventDefMutationAppliers),dateSelectionTransformers:t.dateSelectionTransformers.concat(e.dateSelectionTransformers),datePointTransforms:t.datePointTransforms.concat(e.datePointTransforms),dateSpanTransforms:t.dateSpanTransforms.concat(e.dateSpanTransforms),views:Object.assign(Object.assign({},t.views),e.views),viewPropsTransformers:t.viewPropsTransformers.concat(e.viewPropsTransformers),isPropsValid:e.isPropsValid||t.isPropsValid,externalDefTransforms:t.externalDefTransforms.concat(e.externalDefTransforms),viewContainerAppends:t.viewContainerAppends.concat(e.viewContainerAppends),eventDropTransformers:t.eventDropTransformers.concat(e.eventDropTransformers),calendarInteractions:t.calendarInteractions.concat(e.calendarInteractions),componentInteractions:t.componentInteractions.concat(e.componentInteractions),themeClasses:Object.assign(Object.assign({},t.themeClasses),e.themeClasses),eventSourceDefs:t.eventSourceDefs.concat(e.eventSourceDefs),cmdFormatter:e.cmdFormatter||t.cmdFormatter,recurringTypes:t.recurringTypes.concat(e.recurringTypes),namedTimeZonedImpl:e.namedTimeZonedImpl||t.namedTimeZonedImpl,initialView:t.initialView||e.initialView,elementDraggingImpl:t.elementDraggingImpl||e.elementDraggingImpl,optionChangeHandlers:Object.assign(Object.assign({},t.optionChangeHandlers),e.optionChangeHandlers),scrollGridImpl:e.scrollGridImpl||t.scrollGridImpl,listenerRefiners:Object.assign(Object.assign({},t.listenerRefiners),e.listenerRefiners),optionRefiners:Object.assign(Object.assign({},t.optionRefiners),e.optionRefiners),propSetHandlers:Object.assign(Object.assign({},t.propSetHandlers),e.propSetHandlers)}}function Yd(t,e){return t===void 0?e:e===void 0?t:new Date(Math.max(t.valueOf(),e.valueOf()))}class Ae extends ct{}Ae.prototype.classes={root:"fc-theme-standard",tableCellShaded:"fc-cell-shaded",buttonGroup:"fc-button-group",button:"fc-button fc-button-primary",buttonActive:"fc-button-active"};Ae.prototype.baseIconClass="fc-icon";Ae.prototype.iconClasses={close:"fc-icon-x",prev:"fc-icon-chevron-left",next:"fc-icon-chevron-right",prevYear:"fc-icon-chevrons-left",nextYear:"fc-icon-chevrons-right"};Ae.prototype.rtlIconClasses={prev:"fc-icon-chevron-right",next:"fc-icon-chevron-left",prevYear:"fc-icon-chevrons-right",nextYear:"fc-icon-chevrons-left"};Ae.prototype.iconOverrideOption="buttonIcons";Ae.prototype.iconOverrideCustomButtonOption="icon";Ae.prototype.iconOverridePrefix="fc-icon-";function $d(t,e){let n={},r;for(r in t)Ln(r,n,t,e);for(r in e)Ln(r,n,t,e);return n}function Ln(t,e,n,r){if(e[t])return e[t];let i=Zd(t,e,n,r);return i&&(e[t]=i),i}function Zd(t,e,n,r){let i=n[t],s=r[t],l=c=>i&&i[c]!==null?i[c]:s&&s[c]!==null?s[c]:null,a=l("component"),o=l("superType"),d=null;if(o){if(o===t)throw new Error("Can't have a custom view type that references itself");d=Ln(o,e,n,r)}return!a&&d&&(a=d.component),a?{type:t,component:a,defaults:Object.assign(Object.assign({},d?d.defaults:{}),i?i.rawOptions:{}),overrides:Object.assign(Object.assign({},d?d.overrides:{}),s?s.rawOptions:{})}:null}function fi(t){return ue(t,Xd)}function Xd(t){let e=typeof t=="function"?{component:t}:t,{component:n}=e;return e.content?n=hi(e):n&&!(n.prototype instanceof N)&&(n=hi(Object.assign(Object.assign({},e),{content:n}))),{superType:e.type,component:n,rawOptions:e}}function hi(t){return e=>g(he.Consumer,null,n=>g(K,{elTag:"div",elClasses:os(n.viewSpec),renderProps:Object.assign(Object.assign({},e),{nextDayThreshold:n.options.nextDayThreshold}),generatorName:void 0,customGenerator:t.content,classNameGenerator:t.classNames,didMount:t.didMount,willUnmount:t.willUnmount}))}function Jd(t,e,n,r){let i=fi(t),s=fi(e.views),l=$d(i,s);return ue(l,a=>Kd(a,s,e,n,r))}function Kd(t,e,n,r,i){let s=t.overrides.duration||t.defaults.duration||r.duration||n.duration,l=null,a="",o="",d={};if(s&&(l=eu(s),l)){let h=kn(l);a=h.unit,h.value===1&&(o=a,d=e[a]?e[a].rawOptions:{})}let c=h=>{let u=h.buttonText||{},p=t.defaults.buttonTextKey;return p!=null&&u[p]!=null?u[p]:u[t.type]!=null?u[t.type]:u[o]!=null?u[o]:null},f=h=>{let u=h.buttonHints||{},p=t.defaults.buttonTextKey;return p!=null&&u[p]!=null?u[p]:u[t.type]!=null?u[t.type]:u[o]!=null?u[o]:null};return{type:t.type,component:t.component,duration:l,durationUnit:a,singleUnit:o,optionDefaults:t.defaults,optionOverrides:Object.assign(Object.assign({},d),t.overrides),buttonTextOverride:c(r)||c(n)||t.overrides.buttonText,buttonTextDefault:c(i)||t.defaults.buttonText||c(et)||t.type,buttonTitleOverride:f(r)||f(n)||t.overrides.buttonHint,buttonTitleDefault:f(i)||t.defaults.buttonHint||f(et)}}let gi={};function eu(t){let e=JSON.stringify(t),n=gi[e];return n===void 0&&(n=k(t),gi[e]=n),n}function tu(t,e){switch(e.type){case"CHANGE_VIEW_TYPE":t=e.viewType}return t}function nu(t,e){switch(e.type){case"CHANGE_DATE":return e.dateMarker;default:return t}}function ru(t,e,n){let r=t.initialDate;return r!=null?e.createMarker(r):n.getDateMarker()}function iu(t,e){switch(e.type){case"SET_OPTION":return Object.assign(Object.assign({},t),{[e.optionName]:e.rawOptionValue});default:return t}}function su(t,e,n,r){let i;switch(e.type){case"CHANGE_VIEW_TYPE":return r.build(e.dateMarker||n);case"CHANGE_DATE":return r.build(e.dateMarker);case"PREV":if(i=r.buildPrev(t,n),i.isValid)return i;break;case"NEXT":if(i=r.buildNext(t,n),i.isValid)return i;break}return t}function lu(t,e,n){let r=e?e.activeRange:null;return rl({},hu(t,n),r,n)}function au(t,e,n,r){let i=n?n.activeRange:null;switch(e.type){case"ADD_EVENT_SOURCES":return rl(t,e.sources,i,r);case"REMOVE_EVENT_SOURCE":return cu(t,e.sourceId);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return n?il(t,i,r):t;case"FETCH_EVENT_SOURCES":return Er(t,e.sourceIds?rs(e.sourceIds):sl(t,r),i,e.isRefetch||!1,r);case"RECEIVE_EVENTS":case"RECEIVE_EVENT_ERROR":return fu(t,e.sourceId,e.fetchId,e.fetchRange);case"REMOVE_ALL_EVENT_SOURCES":return{};default:return t}}function ou(t,e,n){let r=e?e.activeRange:null;return Er(t,sl(t,n),r,!0,n)}function nl(t){for(let e in t)if(t[e].isFetching)return!0;return!1}function rl(t,e,n,r){let i={};for(let s of e)i[s.sourceId]=s;return n&&(i=il(i,n,r)),Object.assign(Object.assign({},t),i)}function cu(t,e){return xe(t,n=>n.sourceId!==e)}function il(t,e,n){return Er(t,xe(t,r=>du(r,e,n)),e,!1,n)}function du(t,e,n){return ll(t,n)?!n.options.lazyFetching||!t.fetchRange||t.isFetching||e.start<t.fetchRange.start||e.end>t.fetchRange.end:!t.latestFetchId}function Er(t,e,n,r,i){let s={};for(let l in t){let a=t[l];e[l]?s[l]=uu(a,n,r,i):s[l]=a}return s}function uu(t,e,n,r){let{options:i,calendarApi:s}=r,l=r.pluginHooks.eventSourceDefs[t.sourceDefId],a=Ie();return l.fetch({eventSource:t,range:e,isRefetch:n,context:r},o=>{let{rawEvents:d}=o;i.eventSourceSuccess&&(d=i.eventSourceSuccess.call(s,d,o.response)||d),t.success&&(d=t.success.call(s,d,o.response)||d),r.dispatch({type:"RECEIVE_EVENTS",sourceId:t.sourceId,fetchId:a,fetchRange:e,rawEvents:d})},o=>{let d=!1;i.eventSourceFailure&&(i.eventSourceFailure.call(s,o),d=!0),t.failure&&(t.failure(o),d=!0),d||console.warn(o.message,o),r.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:t.sourceId,fetchId:a,fetchRange:e,error:o})}),Object.assign(Object.assign({},t),{isFetching:!0,latestFetchId:a})}function fu(t,e,n,r){let i=t[e];return i&&n===i.latestFetchId?Object.assign(Object.assign({},t),{[e]:Object.assign(Object.assign({},i),{isFetching:!1,fetchRange:r})}):t}function sl(t,e){return xe(t,n=>ll(n,e))}function hu(t,e){let n=vs(e),r=[].concat(t.eventSources||[]),i=[];t.initialEvents&&r.unshift(t.initialEvents),t.events&&r.unshift(t.events);for(let s of r){let l=ms(s,e,n);l&&i.push(l)}return i}function ll(t,e){return!e.pluginHooks.eventSourceDefs[t.sourceDefId].ignoreRange}function gu(t,e){switch(e.type){case"UNSELECT_DATES":return null;case"SELECT_DATES":return e.selection;default:return t}}function pu(t,e){switch(e.type){case"UNSELECT_EVENT":return"";case"SELECT_EVENT":return e.eventInstanceId;default:return t}}function mu(t,e){let n;switch(e.type){case"UNSET_EVENT_DRAG":return null;case"SET_EVENT_DRAG":return n=e.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return t}}function vu(t,e){let n;switch(e.type){case"UNSET_EVENT_RESIZE":return null;case"SET_EVENT_RESIZE":return n=e.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return t}}function bu(t,e,n,r,i){let s=t.headerToolbar?pi(t.headerToolbar,t,e,n,r,i):null,l=t.footerToolbar?pi(t.footerToolbar,t,e,n,r,i):null;return{header:s,footer:l}}function pi(t,e,n,r,i,s){let l={},a=[],o=!1;for(let d in t){let c=t[d],f=yu(c,e,n,r,i,s);l[d]=f.widgets,a.push(...f.viewsWithButtons),o=o||f.hasTitle}return{sectionWidgets:l,viewsWithButtons:a,hasTitle:o}}function yu(t,e,n,r,i,s){let l=e.direction==="rtl",a=e.customButtons||{},o=n.buttonText||{},d=e.buttonText||{},c=n.buttonHints||{},f=e.buttonHints||{},h=t?t.split(" "):[],u=[],p=!1;return{widgets:h.map(v=>v.split(",").map(y=>{if(y==="title")return p=!0,{buttonName:y};let E,w,R,L,M,P;if(E=a[y])R=T=>{E.click&&E.click.call(T.target,T,T.target)},(L=r.getCustomButtonIconClass(E))||(L=r.getIconClass(y,l))||(M=E.text),P=E.hint||E.text;else if(w=i[y]){u.push(y),R=()=>{s.changeView(y)},(M=w.buttonTextOverride)||(L=r.getIconClass(y,l))||(M=w.buttonTextDefault);let T=w.buttonTextOverride||w.buttonTextDefault;P=Ke(w.buttonTitleOverride||w.buttonTitleDefault||e.viewHint,[T,y],T)}else if(s[y])if(R=()=>{s[y]()},(M=o[y])||(L=r.getIconClass(y,l))||(M=d[y]),y==="prevYear"||y==="nextYear"){let T=y==="prevYear"?"prev":"next";P=Ke(c[T]||f[T],[d.year||"year","year"],d[y])}else P=T=>Ke(c[y]||f[y],[d[T]||T,T],d[y]);return{buttonName:y,buttonClick:R,buttonIcon:L,buttonText:M,buttonHint:P}})),viewsWithButtons:u,hasTitle:p}}class Eu{constructor(e,n,r){this.type=e,this.getCurrentData=n,this.dateEnv=r}get calendar(){return this.getCurrentData().calendarApi}get title(){return this.getCurrentData().viewTitle}get activeStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)}get activeEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)}get currentStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)}get currentEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)}getOption(e){return this.getCurrentData().options[e]}}let Su={ignoreRange:!0,parseMeta(t){return Array.isArray(t.events)?t.events:null},fetch(t,e){e({rawEvents:t.eventSource.meta})}};const Au=ge({name:"array-event-source",eventSourceDefs:[Su]});let Cu={parseMeta(t){return typeof t.events=="function"?t.events:null},fetch(t,e,n){const{dateEnv:r}=t.context,i=t.eventSource.meta;Nc(i.bind(null,_s(t.range,r)),s=>e({rawEvents:s}),n)}};const Du=ge({name:"func-event-source",eventSourceDefs:[Cu]}),wu={method:String,extraParams:b,startParam:String,endParam:String,timeZoneParam:String};let Ru={parseMeta(t){return t.url&&(t.format==="json"||!t.format)?{url:t.url,format:"json",method:(t.method||"GET").toUpperCase(),extraParams:t.extraParams,startParam:t.startParam,endParam:t.endParam,timeZoneParam:t.timeZoneParam}:null},fetch(t,e,n){const{meta:r}=t.eventSource,i=Tu(r,t.range,t.context);Oc(r.method,r.url,i).then(([s,l])=>{e({rawEvents:s,response:l})},n)}};const _u=ge({name:"json-event-source",eventSourceRefiners:wu,eventSourceDefs:[Ru]});function Tu(t,e,n){let{dateEnv:r,options:i}=n,s,l,a,o,d={};return s=t.startParam,s==null&&(s=i.startParam),l=t.endParam,l==null&&(l=i.endParam),a=t.timeZoneParam,a==null&&(a=i.timeZoneParam),typeof t.extraParams=="function"?o=t.extraParams():o=t.extraParams||{},Object.assign(d,o),d[s]=r.formatIso(e.start),d[l]=r.formatIso(e.end),r.timeZone!=="local"&&(d[a]=r.timeZone),d}const xu={daysOfWeek:b,startTime:k,endTime:k,duration:k,startRecur:b,endRecur:b};let ku={parse(t,e){if(t.daysOfWeek||t.startTime||t.endTime||t.startRecur||t.endRecur){let n={daysOfWeek:t.daysOfWeek||null,startTime:t.startTime||null,endTime:t.endTime||null,startRecur:t.startRecur?e.createMarker(t.startRecur):null,endRecur:t.endRecur?e.createMarker(t.endRecur):null,dateEnv:e},r;return t.duration&&(r=t.duration),!r&&t.startTime&&t.endTime&&(r=Ga(t.endTime,t.startTime)),{allDayGuess:!t.startTime&&!t.endTime,duration:r,typeData:n}}return null},expand(t,e,n){let r=ke(e,{start:t.startRecur,end:t.endRecur});return r?Iu(t.daysOfWeek,t.startTime,t.dateEnv,n,r):[]}};const Mu=ge({name:"simple-recurring-event",recurringTypes:[ku],eventRefiners:xu});function Iu(t,e,n,r,i){let s=t?rs(t):null,l=U(i.start),a=i.end,o=[];for(;l<a;){let d;(!s||s[l.getUTCDay()])&&(e?d=r.add(l,e):d=l,o.push(r.createMarker(n.toDate(d)))),l=Q(l,1)}return o}const Nu=ge({name:"change-handler",optionChangeHandlers:{events(t,e){mi([t],e)},eventSources:mi}});function mi(t,e){let n=er(e.getCurrentData().eventSources);if(n.length===1&&t.length===1&&Array.isArray(n[0]._raw)&&Array.isArray(t[0])){e.dispatch({type:"RESET_RAW_EVENTS",sourceId:n[0].sourceId,rawEvents:t[0]});return}let r=[];for(let i of t){let s=!1;for(let l=0;l<n.length;l+=1)if(n[l]._raw===i){n.splice(l,1),s=!0;break}s||r.push(i)}for(let i of n)e.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:i.sourceId});for(let i of r)e.calendarApi.addEventSource(i)}function Ou(t,e){e.emitter.trigger("datesSet",Object.assign(Object.assign({},_s(t.activeRange,e.dateEnv)),{view:e.viewApi}))}function Pu(t,e){let{emitter:n}=e;n.hasHandlers("eventsSet")&&n.trigger("eventsSet",_e(t,e))}const Hu=[Au,Du,_u,Mu,Nu,ge({name:"misc",isLoadingFuncs:[t=>nl(t.eventSources)],propSetHandlers:{dateProfile:Ou,eventStore:Pu}})];class Bu{constructor(e,n){this.runTaskOption=e,this.drainedOption=n,this.queue=[],this.delayedRunner=new Gn(this.drain.bind(this))}request(e,n){this.queue.push(e),this.delayedRunner.request(n)}pause(e){this.delayedRunner.pause(e)}resume(e,n){this.delayedRunner.resume(e,n)}drain(){let{queue:e}=this;for(;e.length;){let n=[],r;for(;r=e.shift();)this.runTask(r),n.push(r);this.drained(n)}}runTask(e){this.runTaskOption&&this.runTaskOption(e)}drained(e){this.drainedOption&&this.drainedOption(e)}}function Uu(t,e,n){let r;return/^(year|month)$/.test(t.currentRangeUnit)?r=t.currentRange:r=t.activeRange,n.formatRange(r.start,r.end,j(e.titleFormat||Lu(t)),{isEndExclusive:t.isRangeAllDay,defaultSeparator:e.titleRangeSeparator})}function Lu(t){let{currentRangeUnit:e}=t;if(e==="year")return{year:"numeric"};if(e==="month")return{year:"numeric",month:"long"};let n=It(t.currentRange.start,t.currentRange.end);return n!==null&&n>1?{year:"numeric",month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"}}class vi{constructor(){this.resetListeners=new Set}handleInput(e,n){const r=this.dateEnv;if(e!==r&&(typeof n=="function"?this.nowFn=n:r||(this.nowAnchorDate=e.toDate(n?e.createMarker(n):e.createNowMarker()),this.nowAnchorQueried=Date.now()),this.dateEnv=e,r))for(const i of this.resetListeners.values())i()}getDateMarker(){return this.nowAnchorDate?this.dateEnv.timestampToMarker(this.nowAnchorDate.valueOf()+(Date.now()-this.nowAnchorQueried)):this.dateEnv.createMarker(this.nowFn())}addResetListener(e){this.resetListeners.add(e)}removeResetListener(e){this.resetListeners.delete(e)}}class Vu{constructor(e){this.computeCurrentViewData=C(this._computeCurrentViewData),this.organizeRawLocales=C(jd),this.buildLocale=C(el),this.buildPluginHooks=qd(),this.buildDateEnv=C(Fu),this.buildTheme=C(ju),this.parseToolbars=C(bu),this.buildViewSpecs=C(Jd),this.buildDateProfileGenerator=wt(zu),this.buildViewApi=C(Wu),this.buildViewUiProps=wt(Qu),this.buildEventUiBySource=C(Gu,le),this.buildEventUiBases=C(qu),this.parseContextBusinessHours=wt(Yu),this.buildTitle=C(Uu),this.nowManager=new vi,this.emitter=new en,this.actionRunner=new Bu(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.optionsForRefining=[],this.optionsForHandling=[],this.getCurrentData=()=>this.data,this.dispatch=h=>{this.actionRunner.request(h)},this.props=e,this.actionRunner.pause(),this.nowManager=new vi;let n={},r=this.computeOptionsData(e.optionOverrides,n,e.calendarApi),i=r.calendarOptions.initialView||r.pluginHooks.initialView,s=this.computeCurrentViewData(i,r,e.optionOverrides,n);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(s.options);let l={nowManager:this.nowManager,dateEnv:r.dateEnv,options:r.calendarOptions,pluginHooks:r.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},a=ru(r.calendarOptions,r.dateEnv,this.nowManager),o=s.dateProfileGenerator.build(a);de(o.activeRange,a)||(a=o.currentRange.start);for(let h of r.pluginHooks.contextInit)h(l);let d=lu(r.calendarOptions,o,l),c={dynamicOptionOverrides:n,currentViewType:i,currentDate:a,dateProfile:o,businessHours:this.parseContextBusinessHours(l),eventSources:d,eventUiBases:{},eventStore:J(),renderableEventStore:J(),dateSelection:null,eventSelection:"",eventDrag:null,eventResize:null,selectionConfig:this.buildViewUiProps(l).selectionConfig},f=Object.assign(Object.assign({},l),c);for(let h of r.pluginHooks.reducers)Object.assign(c,h(null,null,f));Sn(c,l)&&this.emitter.trigger("loading",!0),this.state=c,this.updateData(),this.actionRunner.resume()}resetOptions(e,n){let{props:r}=this;n===void 0?r.optionOverrides=e:(r.optionOverrides=Object.assign(Object.assign({},r.optionOverrides||{}),e),this.optionsForRefining.push(...n)),(n===void 0||n.length)&&this.actionRunner.request({type:"NOTHING"})}_handleAction(e){let{props:n,state:r,emitter:i}=this,s=iu(r.dynamicOptionOverrides,e),l=this.computeOptionsData(n.optionOverrides,s,n.calendarApi),a=tu(r.currentViewType,e),o=this.computeCurrentViewData(a,l,n.optionOverrides,s);n.calendarApi.currentDataManager=this,i.setThisContext(n.calendarApi),i.setOptions(o.options);let d={nowManager:this.nowManager,dateEnv:l.dateEnv,options:l.calendarOptions,pluginHooks:l.pluginHooks,calendarApi:n.calendarApi,dispatch:this.dispatch,emitter:i,getCurrentData:this.getCurrentData},{currentDate:c,dateProfile:f}=r;this.data&&this.data.dateProfileGenerator!==o.dateProfileGenerator&&(f=o.dateProfileGenerator.build(c)),c=nu(c,e),f=su(f,e,c,o.dateProfileGenerator),(e.type==="PREV"||e.type==="NEXT"||!de(f.currentRange,c))&&(c=f.currentRange.start);let h=au(r.eventSources,e,f,d),u=lc(r.eventStore,e,h,f,d),m=nl(h)&&!o.options.progressiveEventRendering&&r.renderableEventStore||u,{eventUiSingleBase:v,selectionConfig:y}=this.buildViewUiProps(d),E=this.buildEventUiBySource(h),w=this.buildEventUiBases(m.defs,v,E),R={dynamicOptionOverrides:s,currentViewType:a,currentDate:c,dateProfile:f,eventSources:h,eventStore:u,renderableEventStore:m,selectionConfig:y,eventUiBases:w,businessHours:this.parseContextBusinessHours(d),dateSelection:gu(r.dateSelection,e),eventSelection:pu(r.eventSelection,e),eventDrag:mu(r.eventDrag,e),eventResize:vu(r.eventResize,e)},L=Object.assign(Object.assign({},d),R);for(let T of l.pluginHooks.reducers)Object.assign(R,T(r,e,L));let M=Sn(r,d),P=Sn(R,d);!M&&P?i.trigger("loading",!0):M&&!P&&i.trigger("loading",!1),this.state=R,n.onAction&&n.onAction(e)}updateData(){let{props:e,state:n}=this,r=this.data,i=this.computeOptionsData(e.optionOverrides,n.dynamicOptionOverrides,e.calendarApi),s=this.computeCurrentViewData(n.currentViewType,i,e.optionOverrides,n.dynamicOptionOverrides),l=this.data=Object.assign(Object.assign(Object.assign({nowManager:this.nowManager,viewTitle:this.buildTitle(n.dateProfile,s.options,i.dateEnv),calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},i),s),n),a=i.pluginHooks.optionChangeHandlers,o=r&&r.calendarOptions,d=i.calendarOptions;if(o&&o!==d){o.timeZone!==d.timeZone&&(n.eventSources=l.eventSources=ou(l.eventSources,n.dateProfile,l),n.eventStore=l.eventStore=li(l.eventStore,r.dateEnv,l.dateEnv),n.renderableEventStore=l.renderableEventStore=li(l.renderableEventStore,r.dateEnv,l.dateEnv));for(let c in a)(this.optionsForHandling.indexOf(c)!==-1||o[c]!==d[c])&&a[c](d[c],l)}this.optionsForHandling=[],e.onData&&e.onData(l)}computeOptionsData(e,n,r){if(!this.optionsForRefining.length&&e===this.stableOptionOverrides&&n===this.stableDynamicOptionOverrides)return this.stableCalendarOptionsData;let{refinedOptions:i,pluginHooks:s,localeDefaults:l,availableLocaleData:a,extra:o}=this.processRawCalendarOptions(e,n);bi(o);let d=this.buildDateEnv(i.timeZone,i.locale,i.weekNumberCalculation,i.firstDay,i.weekText,s,a,i.defaultRangeSeparator),c=this.buildViewSpecs(s.views,this.stableOptionOverrides,this.stableDynamicOptionOverrides,l),f=this.buildTheme(i,s),h=this.parseToolbars(i,this.stableOptionOverrides,f,c,r);return this.stableCalendarOptionsData={calendarOptions:i,pluginHooks:s,dateEnv:d,viewSpecs:c,theme:f,toolbarConfig:h,localeDefaults:l,availableRawLocales:a.map}}processRawCalendarOptions(e,n){let{locales:r,locale:i}=fn([et,e,n]),s=this.organizeRawLocales(r),l=s.map,a=this.buildLocale(i||s.defaultCode,l).options,o=this.buildPluginHooks(e.plugins||[],Hu),d=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},ei),ti),ni),o.listenerRefiners),o.optionRefiners),c={},f=fn([et,a,e,n]),h={},u=this.currentCalendarOptionsInput,p=this.currentCalendarOptionsRefined,m=!1;for(let v in f)this.optionsForRefining.indexOf(v)===-1&&(f[v]===u[v]||Ce[v]&&v in u&&Ce[v](u[v],f[v]))?h[v]=p[v]:d[v]?(h[v]=d[v](f[v]),m=!0):c[v]=u[v];return m&&(this.currentCalendarOptionsInput=f,this.currentCalendarOptionsRefined=h,this.stableOptionOverrides=e,this.stableDynamicOptionOverrides=n),this.optionsForHandling.push(...this.optionsForRefining),this.optionsForRefining=[],{rawOptions:this.currentCalendarOptionsInput,refinedOptions:this.currentCalendarOptionsRefined,pluginHooks:o,availableLocaleData:s,localeDefaults:a,extra:c}}_computeCurrentViewData(e,n,r,i){let s=n.viewSpecs[e];if(!s)throw new Error(`viewType "${e}" is not available. Please make sure you've loaded all neccessary plugins`);let{refinedOptions:l,extra:a}=this.processRawViewOptions(s,n.pluginHooks,n.localeDefaults,r,i);bi(a),this.nowManager.handleInput(n.dateEnv,l.now);let o=this.buildDateProfileGenerator({dateProfileGeneratorClass:s.optionDefaults.dateProfileGeneratorClass,nowManager:this.nowManager,duration:s.duration,durationUnit:s.durationUnit,usesMinMaxTime:s.optionDefaults.usesMinMaxTime,dateEnv:n.dateEnv,calendarApi:this.props.calendarApi,slotMinTime:l.slotMinTime,slotMaxTime:l.slotMaxTime,showNonCurrentDates:l.showNonCurrentDates,dayCount:l.dayCount,dateAlignment:l.dateAlignment,dateIncrement:l.dateIncrement,hiddenDays:l.hiddenDays,weekends:l.weekends,validRangeInput:l.validRange,visibleRangeInput:l.visibleRange,fixedWeekCount:l.fixedWeekCount}),d=this.buildViewApi(e,this.getCurrentData,n.dateEnv);return{viewSpec:s,options:l,dateProfileGenerator:o,viewApi:d}}processRawViewOptions(e,n,r,i,s){let l=fn([et,e.optionDefaults,r,i,e.optionOverrides,s]),a=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},ei),ti),ni),wo),n.listenerRefiners),n.optionRefiners),o={},d=this.currentViewOptionsInput,c=this.currentViewOptionsRefined,f=!1,h={};for(let u in l)l[u]===d[u]||Ce[u]&&Ce[u](l[u],d[u])?o[u]=c[u]:(l[u]===this.currentCalendarOptionsInput[u]||Ce[u]&&Ce[u](l[u],this.currentCalendarOptionsInput[u])?u in this.currentCalendarOptionsRefined&&(o[u]=this.currentCalendarOptionsRefined[u]):a[u]?o[u]=a[u](l[u]):h[u]=l[u],f=!0);return f&&(this.currentViewOptionsInput=l,this.currentViewOptionsRefined=o),{rawOptions:this.currentViewOptionsInput,refinedOptions:this.currentViewOptionsRefined,extra:h}}}function Fu(t,e,n,r,i,s,l,a){let o=el(e||l.defaultCode,l.map);return new Po({calendarSystem:"gregory",timeZone:t,namedTimeZoneImpl:s.namedTimeZonedImpl,locale:o,weekNumberCalculation:n,firstDay:r,weekText:i,cmdFormatter:s.cmdFormatter,defaultSeparator:a})}function ju(t,e){let n=e.themeClasses[t.themeSystem]||Ae;return new n(t)}function zu(t){let e=t.dateProfileGeneratorClass||us;return new e(t)}function Wu(t,e,n){return new Eu(t,e,n)}function Gu(t){return ue(t,e=>e.ui)}function qu(t,e,n){let r={"":e};for(let i in t){let s=t[i];s.sourceId&&n[s.sourceId]&&(r[i]=n[s.sourceId])}return r}function Qu(t){let{options:e}=t;return{eventUiSingleBase:Lt({display:e.eventDisplay,editable:e.editable,startEditable:e.eventStartEditable,durationEditable:e.eventDurationEditable,constraint:e.eventConstraint,overlap:typeof e.eventOverlap=="boolean"?e.eventOverlap:void 0,allow:e.eventAllow,backgroundColor:e.eventBackgroundColor,borderColor:e.eventBorderColor,textColor:e.eventTextColor,color:e.eventColor},t),selectionConfig:Lt({constraint:e.selectConstraint,overlap:typeof e.selectOverlap=="boolean"?e.selectOverlap:void 0,allow:e.selectAllow},t)}}function Sn(t,e){for(let n of e.pluginHooks.isLoadingFuncs)if(n(t))return!0;return!1}function Yu(t){return pc(t.options.businessHours,t)}function bi(t,e){for(let n in t)console.warn(`Unknown option '${n}'`)}class $u extends N{render(){let e=this.props.widgetGroups.map(n=>this.renderWidgetGroup(n));return g("div",{className:"fc-toolbar-chunk"},...e)}renderWidgetGroup(e){let{props:n}=this,{theme:r}=this.context,i=[],s=!0;for(let l of e){let{buttonName:a,buttonClick:o,buttonText:d,buttonIcon:c,buttonHint:f}=l;if(a==="title")s=!1,i.push(g("h2",{className:"fc-toolbar-title",id:n.titleId},n.title));else{let h=a===n.activeButton,u=!n.isTodayEnabled&&a==="today"||!n.isPrevEnabled&&a==="prev"||!n.isNextEnabled&&a==="next",p=[`fc-${a}-button`,r.getClass("button")];h&&p.push(r.getClass("buttonActive")),i.push(g("button",{type:"button",title:typeof f=="function"?f(n.navUnit):f,disabled:u,"aria-pressed":h,className:p.join(" "),onClick:o},d||(c?g("span",{className:c,role:"img"}):"")))}}if(i.length>1){let l=s&&r.getClass("buttonGroup")||"";return g("div",{className:l},...i)}return i[0]}}class yi extends N{render(){let{model:e,extraClassName:n}=this.props,r=!1,i,s,l=e.sectionWidgets,a=l.center;return l.left?(r=!0,i=l.left):i=l.start,l.right?(r=!0,s=l.right):s=l.end,g("div",{className:[n||"","fc-toolbar",r?"fc-toolbar-ltr":""].join(" ")},this.renderSection("start",i||[]),this.renderSection("center",a||[]),this.renderSection("end",s||[]))}renderSection(e,n){let{props:r}=this;return g($u,{key:e,widgetGroups:n,title:r.title,navUnit:r.navUnit,activeButton:r.activeButton,isTodayEnabled:r.isTodayEnabled,isPrevEnabled:r.isPrevEnabled,isNextEnabled:r.isNextEnabled,titleId:r.titleId})}}class Zu extends N{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=e=>{this.el=e,fe(this.props.elRef,e),this.updateAvailableWidth()},this.handleResize=()=>{this.updateAvailableWidth()}}render(){let{props:e,state:n}=this,{aspectRatio:r}=e,i=["fc-view-harness",r||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],s="",l="";return r?n.availableWidth!==null?s=n.availableWidth/r:l=`${1/r*100}%`:s=e.height||"",g("div",{"aria-labelledby":e.labeledById,ref:this.handleEl,className:i.join(" "),style:{height:s,paddingBottom:l}},e.children)}componentDidMount(){this.context.addResizeHandler(this.handleResize)}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}updateAvailableWidth(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})}}class Xu extends qe{constructor(e){super(e),this.handleSegClick=(n,r)=>{let{component:i}=this,{context:s}=i,l=We(r);if(l&&i.isValidSegDownEl(n.target)){let a=q(n.target,".fc-event-forced-url"),o=a?a.querySelector("a[href]").href:"";s.emitter.trigger("eventClick",{el:r,event:new F(i.context,l.eventRange.def,l.eventRange.instance),jsEvent:n,view:s.viewApi}),o&&!n.defaultPrevented&&(window.location.href=o)}},this.destroy=Ji(e.el,"click",".fc-event",this.handleSegClick)}}class Ju extends qe{constructor(e){super(e),this.handleEventElRemove=n=>{n===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(n,r)=>{We(r)&&(this.currentSegEl=r,this.triggerEvent("eventMouseEnter",n,r))},this.handleSegLeave=(n,r)=>{this.currentSegEl&&(this.currentSegEl=null,this.triggerEvent("eventMouseLeave",n,r))},this.removeHoverListeners=ka(e.el,".fc-event",this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(e,n,r){let{component:i}=this,{context:s}=i,l=We(r);(!n||i.isValidSegDownEl(n.target))&&s.emitter.trigger(e,{el:r,event:new F(s,l.eventRange.def,l.eventRange.instance),jsEvent:n,view:s.viewApi})}}class Ku extends Oe{constructor(){super(...arguments),this.buildViewContext=C(Uo),this.buildViewPropTransformers=C(tf),this.buildToolbarProps=C(ef),this.headerRef=Y(),this.footerRef=Y(),this.interactionsStore={},this.state={viewLabelId:Zt()},this.registerInteractiveComponent=(e,n)=>{let r=Bc(e,n),l=[Xu,Ju].concat(this.props.pluginHooks.componentInteractions).map(a=>new a(r));this.interactionsStore[e.uid]=l,Pn[e.uid]=r},this.unregisterInteractiveComponent=e=>{let n=this.interactionsStore[e.uid];if(n){for(let r of n)r.destroy();delete this.interactionsStore[e.uid]}delete Pn[e.uid]},this.resizeRunner=new Gn(()=>{this.props.emitter.trigger("_resize",!0),this.props.emitter.trigger("windowResize",{view:this.props.viewApi})}),this.handleWindowResize=e=>{let{options:n}=this.props;n.handleWindowResize&&e.target===window&&this.resizeRunner.request(n.windowResizeDelay)}}render(){let{props:e}=this,{toolbarConfig:n,options:r}=e,i=!1,s="",l;e.isHeightAuto||e.forPrint?s="":r.height!=null?i=!0:r.contentHeight!=null?s=r.contentHeight:l=Math.max(r.aspectRatio,.5);let a=this.buildViewContext(e.viewSpec,e.viewApi,e.options,e.dateProfileGenerator,e.dateEnv,e.nowManager,e.theme,e.pluginHooks,e.dispatch,e.getCurrentData,e.emitter,e.calendarApi,this.registerInteractiveComponent,this.unregisterInteractiveComponent),o=n.header&&n.header.hasTitle?this.state.viewLabelId:void 0;return g(he.Provider,{value:a},g(Qe,{unit:"day"},d=>{let c=this.buildToolbarProps(e.viewSpec,e.dateProfile,e.dateProfileGenerator,e.currentDate,d,e.viewTitle);return g(B,null,n.header&&g(yi,Object.assign({ref:this.headerRef,extraClassName:"fc-header-toolbar",model:n.header,titleId:o},c)),g(Zu,{liquid:i,height:s,aspectRatio:l,labeledById:o},this.renderView(e),this.buildAppendContent()),n.footer&&g(yi,Object.assign({ref:this.footerRef,extraClassName:"fc-footer-toolbar",model:n.footer,titleId:""},c)))}))}componentDidMount(){let{props:e}=this;this.calendarInteractions=e.pluginHooks.calendarInteractions.map(r=>new r(e)),window.addEventListener("resize",this.handleWindowResize);let{propSetHandlers:n}=e.pluginHooks;for(let r in n)n[r](e[r],e)}componentDidUpdate(e){let{props:n}=this,{propSetHandlers:r}=n.pluginHooks;for(let i in r)n[i]!==e[i]&&r[i](n[i],n)}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.resizeRunner.clear();for(let e of this.calendarInteractions)e.destroy();this.props.emitter.trigger("_unmount")}buildAppendContent(){let{props:e}=this,n=e.pluginHooks.viewContainerAppends.map(r=>r(e));return g(B,{},...n)}renderView(e){let{pluginHooks:n}=e,{viewSpec:r}=e,i={dateProfile:e.dateProfile,businessHours:e.businessHours,eventStore:e.renderableEventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,isHeightAuto:e.isHeightAuto,forPrint:e.forPrint},s=this.buildViewPropTransformers(n.viewPropsTransformers);for(let a of s)Object.assign(i,a.transform(i,e));let l=r.component;return g(l,Object.assign({},i))}}function ef(t,e,n,r,i,s){let l=n.build(i,void 0,!1),a=n.buildPrev(e,r,!1),o=n.buildNext(e,r,!1);return{title:s,activeButton:t.type,navUnit:t.singleUnit,isTodayEnabled:l.isValid&&!de(e.currentRange,i),isPrevEnabled:a.isValid,isNextEnabled:o.isValid}}function tf(t){return t.map(e=>new e)}class nf extends Lc{constructor(e,n={}){super(),this.isRendering=!1,this.isRendered=!1,this.currentClassNames=[],this.customContentRenderId=0,this.handleAction=r=>{switch(r.type){case"SET_EVENT_DRAG":case"SET_EVENT_RESIZE":this.renderRunner.tryDrain()}},this.handleData=r=>{this.currentData=r,this.renderRunner.request(r.calendarOptions.rerenderDelay)},this.handleRenderRequest=()=>{if(this.isRendering){this.isRendered=!0;let{currentData:r}=this;Ht(()=>{rt(g(Hc,{options:r.calendarOptions,theme:r.theme,emitter:r.emitter},(i,s,l,a)=>(this.setClassNames(i),this.setHeight(s),g(as.Provider,{value:this.customContentRenderId},g(Ku,Object.assign({isHeightAuto:l,forPrint:a},r))))),this.el)})}else this.isRendered&&(this.isRendered=!1,rt(null,this.el),this.setClassNames([]),this.setHeight(""))},Sa(e),this.el=e,this.renderRunner=new Gn(this.handleRenderRequest),new Vu({optionOverrides:n,calendarApi:this,onAction:this.handleAction,onData:this.handleData})}render(){let e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()}destroy(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())}updateSize(){Ht(()=>{super.updateSize()})}batchRendering(e){this.renderRunner.pause("batchRendering"),e(),this.renderRunner.resume("batchRendering")}pauseRendering(){this.renderRunner.pause("pauseRendering")}resumeRendering(){this.renderRunner.resume("pauseRendering",!0)}resetOptions(e,n){this.currentDataManager.resetOptions(e,n)}setClassNames(e){if(!Ee(e,this.currentClassNames)){let{classList:n}=this.el;for(let r of this.currentClassNames)n.remove(r);for(let r of e)n.add(r);this.currentClassNames=e}}setHeight(e){Zi(this.el,"height",e)}}const rf={headerToolbar:!0,footerToolbar:!0,events:!0,eventSources:!0,resources:!0},sf=_i({props:{options:Object},data(){return{renderId:0,customRenderingMap:new Map}},methods:{getApi(){return this.calendar},buildOptions(t){return{...t,customRenderingMetaMap:of(this.$slots),handleCustomRendering:this.handleCustomRendering}}},render(){const t=[];for(const e of this.customRenderingMap.values())t.push(Et(lf,{key:e.id,customRendering:e}));return Et("div",{attrs:{"data-fc-render-id":this.renderId}},Et(Gt,t))},mounted(){const t=new Vd;this.handleCustomRendering=t.handle.bind(t);const e=this.buildOptions(this.options),n=new nf(this.$el,e);this.calendar=n,n.render(),t.subscribe(r=>{this.customRenderingMap=r,this.renderId++,this.needCustomRenderingResize=!0})},beforeUpdate(){this.getApi().resumeRendering()},updated(){this.needCustomRenderingResize&&(this.needCustomRenderingResize=!1,this.getApi().updateSize())},beforeUnmount(){this.getApi().destroy()},watch:af()}),lf=_i({props:{customRendering:Object},render(){const t=this.customRendering,e=typeof t.generatorMeta=="function"?t.generatorMeta(t.renderProps):t.generatorMeta;return Et(Ml,{to:t.containerEl},e)}});function af(){let t={options:{deep:!0,handler(e){let n=this.getApi();n.pauseRendering();let r=this.buildOptions(e);n.resetOptions(r),this.renderId++}}};for(let e in rf)t[`options.${e}`]={deep:!0,handler(n){if(n!==void 0){let r=this.getApi();r.pauseRendering(),r.resetOptions({[e]:n},[e]),this.renderId++}}};return t}function of(t){const e={};for(const n in t)e[cf(n)]=t[n];return e}function cf(t){return t.split("-").map((e,n)=>n?df(e):e).join("")}function df(t){return t.charAt(0).toUpperCase()+t.slice(1)}class uf extends ae{constructor(){super(...arguments),this.headerElRef=Y()}renderSimpleLayout(e,n){let{props:r,context:i}=this,s=[],l=jt(i.options);return e&&s.push({type:"header",key:"header",isSticky:l,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),s.push({type:"body",key:"body",liquid:!0,chunk:{content:n}}),g(Bt,{elClasses:["fc-daygrid"],viewSpec:i.viewSpec},g(pr,{liquid:!r.isHeightAuto&&!r.forPrint,collapsibleWidth:r.forPrint,cols:[],sections:s}))}renderHScrollLayout(e,n,r,i){let s=this.context.pluginHooks.scrollGridImpl;if(!s)throw new Error("No ScrollGrid implementation");let{props:l,context:a}=this,o=!l.forPrint&&jt(a.options),d=!l.forPrint&&Gs(a.options),c=[];return e&&c.push({type:"header",key:"header",isSticky:o,chunks:[{key:"main",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),c.push({type:"body",key:"body",liquid:!0,chunks:[{key:"main",content:n}]}),d&&c.push({type:"footer",key:"footer",isSticky:!0,chunks:[{key:"main",content:Un}]}),g(Bt,{elClasses:["fc-daygrid"],viewSpec:a.viewSpec},g(s,{liquid:!l.isHeightAuto&&!l.forPrint,forPrint:l.forPrint,collapsibleWidth:l.forPrint,colGroups:[{cols:[{span:r,minWidth:i}]}],sections:c}))}}function bt(t,e){let n=[];for(let r=0;r<e;r+=1)n[r]=[];for(let r of t)n[r.row].push(r);return n}function yt(t,e){let n=[];for(let r=0;r<e;r+=1)n[r]=[];for(let r of t)n[r.firstCol].push(r);return n}function Ei(t,e){let n=[];if(t){for(let r=0;r<e;r+=1)n[r]={affectedInstances:t.affectedInstances,isEvent:t.isEvent,segs:[]};for(let r of t.segs)n[r.row].segs.push(r)}else for(let r=0;r<e;r+=1)n[r]=null;return n}const al=j({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"narrow"});function ol(t){let{display:e}=t.eventRange.ui;return e==="list-item"||e==="auto"&&!t.eventRange.def.allDay&&t.firstCol===t.lastCol&&t.isStart&&t.isEnd}class cl extends N{render(){let{props:e}=this;return g(qs,Object.assign({},e,{elClasses:["fc-daygrid-event","fc-daygrid-block-event","fc-h-event"],defaultTimeFormat:al,defaultDisplayEventEnd:e.defaultDisplayEventEnd,disableResizing:!e.seg.eventRange.def.allDay}))}}class dl extends N{render(){let{props:e,context:n}=this,{options:r}=n,{seg:i}=e,s=r.eventTimeFormat||al,l=Ds(i,s,n,!0,e.defaultDisplayEventEnd);return g(mr,Object.assign({},e,{elTag:"a",elClasses:["fc-daygrid-event","fc-daygrid-dot-event"],elAttrs:Rs(e.seg,n),defaultGenerator:ff,timeText:l,isResizing:!1,isDateSelecting:!1}))}}function ff(t){return g(B,null,g("div",{className:"fc-daygrid-event-dot",style:{borderColor:t.borderColor||t.backgroundColor}}),t.timeText&&g("div",{className:"fc-event-time"},t.timeText),g("div",{className:"fc-event-title"},t.event.title||g(B,null," ")))}class hf extends N{constructor(){super(...arguments),this.compileSegs=C(gf)}render(){let{props:e}=this,{allSegs:n,invisibleSegs:r}=this.compileSegs(e.singlePlacements);return g(Zs,{elClasses:["fc-daygrid-more-link"],dateProfile:e.dateProfile,todayRange:e.todayRange,allDayDate:e.allDayDate,moreCnt:e.moreCnt,allSegs:n,hiddenSegs:r,alignmentElRef:e.alignmentElRef,alignGridTop:e.alignGridTop,extraDateSpan:e.extraDateSpan,popoverContent:()=>{let i=(e.eventDrag?e.eventDrag.affectedInstances:null)||(e.eventResize?e.eventResize.affectedInstances:null)||{};return g(B,null,n.map(s=>{let l=s.eventRange.instance.instanceId;return g("div",{className:"fc-daygrid-event-harness",key:l,style:{visibility:i[l]?"hidden":""}},ol(s)?g(dl,Object.assign({seg:s,isDragging:!1,isSelected:l===e.eventSelection,defaultDisplayEventEnd:!1},be(s,e.todayRange))):g(cl,Object.assign({seg:s,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:l===e.eventSelection,defaultDisplayEventEnd:!1},be(s,e.todayRange))))}))}})}}function gf(t){let e=[],n=[];for(let r of t)e.push(r.seg),r.isVisible||n.push(r.seg);return{allSegs:e,invisibleSegs:n}}const pf=j({week:"narrow"});class mf extends ae{constructor(){super(...arguments),this.rootElRef=Y(),this.state={dayNumberId:Zt()},this.handleRootEl=e=>{fe(this.rootElRef,e),fe(this.props.elRef,e)}}render(){let{context:e,props:n,state:r,rootElRef:i}=this,{options:s,dateEnv:l}=e,{date:a,dateProfile:o}=n;const d=n.showDayNumber&&bf(a,o.currentRange,l);return g(br,{elTag:"td",elRef:this.handleRootEl,elClasses:["fc-daygrid-day",...n.extraClassNames||[]],elAttrs:Object.assign(Object.assign(Object.assign({},n.extraDataAttrs),n.showDayNumber?{"aria-labelledby":r.dayNumberId}:{}),{role:"gridcell"}),defaultGenerator:vf,date:a,dateProfile:o,todayRange:n.todayRange,showDayNumber:n.showDayNumber,isMonthStart:d,extraRenderProps:n.extraRenderProps},(c,f)=>g("div",{ref:n.innerElRef,className:"fc-daygrid-day-frame fc-scrollgrid-sync-inner",style:{minHeight:n.minHeight}},n.showWeekNumber&&g($s,{elTag:"a",elClasses:["fc-daygrid-week-number"],elAttrs:Ft(e,a,"week"),date:a,defaultFormat:pf}),!f.isDisabled&&(n.showDayNumber||yr(s)||n.forceDayTop)?g("div",{className:"fc-daygrid-day-top"},g(c,{elTag:"a",elClasses:["fc-daygrid-day-number",d&&"fc-daygrid-month-start"],elAttrs:Object.assign(Object.assign({},Ft(e,a)),{id:r.dayNumberId})})):n.showDayNumber?g("div",{className:"fc-daygrid-day-top",style:{visibility:"hidden"}},g("a",{className:"fc-daygrid-day-number"}," ")):void 0,g("div",{className:"fc-daygrid-day-events",ref:n.fgContentElRef},n.fgContent,g("div",{className:"fc-daygrid-day-bottom",style:{marginTop:n.moreMarginTop}},g(hf,{allDayDate:a,singlePlacements:n.singlePlacements,moreCnt:n.moreCnt,alignmentElRef:i,alignGridTop:!n.showDayNumber,extraDateSpan:n.extraDateSpan,dateProfile:n.dateProfile,eventSelection:n.eventSelection,eventDrag:n.eventDrag,eventResize:n.eventResize,todayRange:n.todayRange}))),g("div",{className:"fc-daygrid-day-bg"},n.bgContent)))}}function vf(t){return t.dayNumberText||g(B,null," ")}function bf(t,e,n){const{start:r,end:i}=e,s=Se(i,-1),l=n.getYear(r),a=n.getMonth(r),o=n.getYear(s),d=n.getMonth(s);return!(l===o&&a===d)&&(t.valueOf()===r.valueOf()||n.getDay(t)===1&&t.valueOf()<i.valueOf())}function ul(t){return t.eventRange.instance.instanceId+":"+t.firstCol}function fl(t){return ul(t)+":"+t.lastCol}function yf(t,e,n,r,i,s,l){let a=new Af(y=>{let E=t[y.index].eventRange.instance.instanceId+":"+y.span.start+":"+(y.span.end-1);return i[E]||1});a.allowReslicing=!0,a.strictOrder=r,e===!0||n===!0?(a.maxCoord=s,a.hiddenConsumes=!0):typeof e=="number"?a.maxStackCnt=e:typeof n=="number"&&(a.maxStackCnt=n,a.hiddenConsumes=!0);let o=[],d=[];for(let y=0;y<t.length;y+=1){let E=t[y],w=fl(E);i[w]!=null?o.push({index:y,span:{start:E.firstCol,end:E.lastCol+1}}):d.push(E)}let c=a.addSegs(o),f=a.toRects(),{singleColPlacements:h,multiColPlacements:u,leftoverMargins:p}=Ef(f,t,l),m=[],v=[];for(let y of d){u[y.firstCol].push({seg:y,isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let E=y.firstCol;E<=y.lastCol;E+=1)h[E].push({seg:Ve(y,E,E+1,l),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let y=0;y<l.length;y+=1)m.push(0);for(let y of c){let E=t[y.index],w=y.span;u[w.start].push({seg:Ve(E,w.start,w.end,l),isVisible:!1,isAbsolute:!0,absoluteTop:0,marginTop:0});for(let R=w.start;R<w.end;R+=1)m[R]+=1,h[R].push({seg:Ve(E,R,R+1,l),isVisible:!1,isAbsolute:!1,absoluteTop:0,marginTop:0})}for(let y=0;y<l.length;y+=1)v.push(p[y]);return{singleColPlacements:h,multiColPlacements:u,moreCnts:m,moreMarginTops:v}}function Ef(t,e,n){let r=Sf(t,n.length),i=[],s=[],l=[];for(let a=0;a<n.length;a+=1){let o=r[a],d=[],c=0,f=0;for(let u of o){let p=e[u.index];d.push({seg:Ve(p,a,a+1,n),isVisible:!0,isAbsolute:!1,absoluteTop:u.levelCoord,marginTop:u.levelCoord-c}),c=u.levelCoord+u.thickness}let h=[];c=0,f=0;for(let u of o){let p=e[u.index],m=u.span.end-u.span.start>1,v=u.span.start===a;f+=u.levelCoord-c,c=u.levelCoord+u.thickness,m?(f+=u.thickness,v&&h.push({seg:Ve(p,u.span.start,u.span.end,n),isVisible:!0,isAbsolute:!0,absoluteTop:u.levelCoord,marginTop:0})):v&&(h.push({seg:Ve(p,u.span.start,u.span.end,n),isVisible:!0,isAbsolute:!1,absoluteTop:u.levelCoord,marginTop:f}),f=0)}i.push(d),s.push(h),l.push(f)}return{singleColPlacements:i,multiColPlacements:s,leftoverMargins:l}}function Sf(t,e){let n=[];for(let r=0;r<e;r+=1)n.push([]);for(let r of t)for(let i=r.span.start;i<r.span.end;i+=1)n[i].push(r);return n}function Ve(t,e,n,r){if(t.firstCol===e&&t.lastCol===n-1)return t;let i=t.eventRange,s=i.range,l=ke(s,{start:r[e].date,end:Q(r[n-1].date,1)});return Object.assign(Object.assign({},t),{firstCol:e,lastCol:n-1,eventRange:{def:i.def,ui:Object.assign(Object.assign({},i.ui),{durationEditable:!1}),instance:i.instance,range:l},isStart:t.isStart&&l.start.valueOf()===s.start.valueOf(),isEnd:t.isEnd&&l.end.valueOf()===s.end.valueOf()})}class Af extends Os{constructor(){super(...arguments),this.hiddenConsumes=!1,this.forceHidden={}}addSegs(e){const n=super.addSegs(e),{entriesByLevel:r}=this,i=s=>!this.forceHidden[Te(s)];for(let s=0;s<r.length;s+=1)r[s]=r[s].filter(i);return n}handleInvalidInsertion(e,n,r){const{entriesByLevel:i,forceHidden:s}=this,{touchingEntry:l,touchingLevel:a,touchingLateral:o}=e;if(this.hiddenConsumes&&l){const d=Te(l);if(!s[d])if(this.allowReslicing){const c=Object.assign(Object.assign({},l),{span:hr(l.span,n.span)}),f=Te(c);s[f]=!0,i[a][o]=c,r.push(c),this.splitEntry(l,n,r)}else s[d]=!0,r.push(l)}super.handleInvalidInsertion(e,n,r)}}class hl extends ae{constructor(){super(...arguments),this.cellElRefs=new ce,this.frameElRefs=new ce,this.fgElRefs=new ce,this.segHarnessRefs=new ce,this.rootElRef=Y(),this.state={framePositions:null,maxContentHeight:null,segHeights:{}},this.handleResize=e=>{e&&this.updateSizing(!0)}}render(){let{props:e,state:n,context:r}=this,{options:i}=r,s=e.cells.length,l=yt(e.businessHourSegs,s),a=yt(e.bgEventSegs,s),o=yt(this.getHighlightSegs(),s),d=yt(this.getMirrorSegs(),s),{singleColPlacements:c,multiColPlacements:f,moreCnts:h,moreMarginTops:u}=yf(Cs(e.fgEventSegs,i.eventOrder),e.dayMaxEvents,e.dayMaxEventRows,i.eventOrderStrict,n.segHeights,n.maxContentHeight,e.cells),p=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{};return g("tr",{ref:this.rootElRef,role:"row"},e.renderIntro&&e.renderIntro(),e.cells.map((m,v)=>{let y=this.renderFgSegs(v,e.forPrint?c[v]:f[v],e.todayRange,p),E=this.renderFgSegs(v,Cf(d[v],f),e.todayRange,{},!!e.eventDrag,!!e.eventResize,!1);return g(mf,{key:m.key,elRef:this.cellElRefs.createRef(m.key),innerElRef:this.frameElRefs.createRef(m.key),dateProfile:e.dateProfile,date:m.date,showDayNumber:e.showDayNumbers,showWeekNumber:e.showWeekNumbers&&v===0,forceDayTop:e.showWeekNumbers,todayRange:e.todayRange,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,extraRenderProps:m.extraRenderProps,extraDataAttrs:m.extraDataAttrs,extraClassNames:m.extraClassNames,extraDateSpan:m.extraDateSpan,moreCnt:h[v],moreMarginTop:u[v],singlePlacements:c[v],fgContentElRef:this.fgElRefs.createRef(m.key),fgContent:g(B,null,g(B,null,y),g(B,null,E)),bgContent:g(B,null,this.renderFillSegs(o[v],"highlight"),this.renderFillSegs(l[v],"non-business"),this.renderFillSegs(a[v],"bg-event")),minHeight:e.cellMinHeight})}))}componentDidMount(){this.updateSizing(!0),this.context.addResizeHandler(this.handleResize)}componentDidUpdate(e,n){let r=this.props;this.updateSizing(!le(e,r))}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}getHighlightSegs(){let{props:e}=this;return e.eventDrag&&e.eventDrag.segs.length?e.eventDrag.segs:e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:e.dateSelectionSegs}getMirrorSegs(){let{props:e}=this;return e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:[]}renderFgSegs(e,n,r,i,s,l,a){let{context:o}=this,{eventSelection:d}=this.props,{framePositions:c}=this.state,f=this.props.cells.length===1,h=s||l||a,u=[];if(c)for(let p of n){let{seg:m}=p,{instanceId:v}=m.eventRange.instance,y=p.isVisible&&!i[v],E=p.isAbsolute,w="",R="";E&&(o.isRtl?(R=0,w=c.lefts[m.lastCol]-c.lefts[m.firstCol]):(w=0,R=c.rights[m.firstCol]-c.rights[m.lastCol])),u.push(g("div",{className:"fc-daygrid-event-harness"+(E?" fc-daygrid-event-harness-abs":""),key:ul(m),ref:h?null:this.segHarnessRefs.createRef(fl(m)),style:{visibility:y?"":"hidden",marginTop:E?"":p.marginTop,top:E?p.absoluteTop:"",left:w,right:R}},ol(m)?g(dl,Object.assign({seg:m,isDragging:s,isSelected:v===d,defaultDisplayEventEnd:f},be(m,r))):g(cl,Object.assign({seg:m,isDragging:s,isResizing:l,isDateSelecting:a,isSelected:v===d,defaultDisplayEventEnd:f},be(m,r)))))}return u}renderFillSegs(e,n){let{isRtl:r}=this.context,{todayRange:i}=this.props,{framePositions:s}=this.state,l=[];if(s)for(let a of e){let o=r?{right:0,left:s.lefts[a.lastCol]-s.lefts[a.firstCol]}:{left:0,right:s.rights[a.firstCol]-s.rights[a.lastCol]};l.push(g("div",{key:ws(a.eventRange),className:"fc-daygrid-bg-harness",style:o},n==="bg-event"?g(Qs,Object.assign({seg:a},be(a,i))):Ys(n)))}return g(B,{},...l)}updateSizing(e){let{props:n,state:r,frameElRefs:i}=this;if(!n.forPrint&&n.clientWidth!==null){if(e){let o=n.cells.map(d=>i.currentMap[d.key]);if(o.length){let d=this.rootElRef.current,c=new Ge(d,o,!0,!1);(!r.framePositions||!r.framePositions.similarTo(c))&&this.setState({framePositions:new Ge(d,o,!0,!1)})}}const s=this.state.segHeights,l=this.querySegHeights(),a=n.dayMaxEvents===!0||n.dayMaxEventRows===!0;this.safeSetState({segHeights:Object.assign(Object.assign({},s),l),maxContentHeight:a?this.computeMaxContentHeight():null})}}querySegHeights(){let e=this.segHarnessRefs.currentMap,n={};for(let r in e){let i=Math.round(e[r].getBoundingClientRect().height);n[r]=Math.max(n[r]||0,i)}return n}computeMaxContentHeight(){let e=this.props.cells[0].key,n=this.cellElRefs.currentMap[e],r=this.fgElRefs.currentMap[e];return n.getBoundingClientRect().bottom-r.getBoundingClientRect().top}getCellEls(){let e=this.cellElRefs.currentMap;return this.props.cells.map(n=>e[n.key])}}hl.addStateEquality({segHeights:le});function Cf(t,e){if(!t.length)return[];let n=Df(e);return t.map(r=>({seg:r,isVisible:!0,isAbsolute:!0,absoluteTop:n[r.eventRange.instance.instanceId],marginTop:0}))}function Df(t){let e={};for(let n of t)for(let r of n)e[r.seg.eventRange.instance.instanceId]=r.absoluteTop;return e}class wf extends ae{constructor(){super(...arguments),this.splitBusinessHourSegs=C(bt),this.splitBgEventSegs=C(bt),this.splitFgEventSegs=C(bt),this.splitDateSelectionSegs=C(bt),this.splitEventDrag=C(Ei),this.splitEventResize=C(Ei),this.rowRefs=new ce}render(){let{props:e,context:n}=this,r=e.cells.length,i=this.splitBusinessHourSegs(e.businessHourSegs,r),s=this.splitBgEventSegs(e.bgEventSegs,r),l=this.splitFgEventSegs(e.fgEventSegs,r),a=this.splitDateSelectionSegs(e.dateSelectionSegs,r),o=this.splitEventDrag(e.eventDrag,r),d=this.splitEventResize(e.eventResize,r),c=r>=7&&e.clientWidth?e.clientWidth/n.options.aspectRatio/6:null;return g(Qe,{unit:"day"},(f,h)=>g(B,null,e.cells.map((u,p)=>g(hl,{ref:this.rowRefs.createRef(p),key:u.length?u[0].date.toISOString():p,showDayNumbers:r>1,showWeekNumbers:e.showWeekNumbers,todayRange:h,dateProfile:e.dateProfile,cells:u,renderIntro:e.renderRowIntro,businessHourSegs:i[p],eventSelection:e.eventSelection,bgEventSegs:s[p].filter(Rf),fgEventSegs:l[p],dateSelectionSegs:a[p],eventDrag:o[p],eventResize:d[p],dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,clientWidth:e.clientWidth,clientHeight:e.clientHeight,cellMinHeight:c,forPrint:e.forPrint}))))}componentDidMount(){this.registerInteractiveComponent()}componentDidUpdate(){this.registerInteractiveComponent()}registerInteractiveComponent(){if(!this.rootEl){const e=this.rowRefs.currentMap[0].getCellEls()[0],n=e?e.closest(".fc-daygrid-body"):null;n&&(this.rootEl=n,this.context.registerInteractiveComponent(this,{el:n,isHitComboAllowed:this.props.isHitComboAllowed}))}}componentWillUnmount(){this.rootEl&&(this.context.unregisterInteractiveComponent(this),this.rootEl=null)}prepareHits(){this.rowPositions=new Ge(this.rootEl,this.rowRefs.collect().map(e=>e.getCellEls()[0]),!1,!0),this.colPositions=new Ge(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)}queryHit(e,n){let{colPositions:r,rowPositions:i}=this,s=r.leftToIndex(e),l=i.topToIndex(n);if(l!=null&&s!=null){let a=this.props.cells[l][s];return{dateProfile:this.props.dateProfile,dateSpan:Object.assign({range:this.getCellRange(l,s),allDay:!0},a.extraDateSpan),dayEl:this.getCellEl(l,s),rect:{left:r.lefts[s],right:r.rights[s],top:i.tops[l],bottom:i.bottoms[l]},layer:0}}return null}getCellEl(e,n){return this.rowRefs.currentMap[e].getCellEls()[n]}getCellRange(e,n){let r=this.props.cells[e][n].date,i=Q(r,1);return{start:r,end:i}}}function Rf(t){return t.eventRange.def.allDay}class _f extends ae{constructor(){super(...arguments),this.elRef=Y(),this.needsScrollReset=!1}render(){let{props:e}=this,{dayMaxEventRows:n,dayMaxEvents:r,expandRows:i}=e,s=r===!0||n===!0;s&&!i&&(s=!1,n=null,r=null);let l=["fc-daygrid-body",s?"fc-daygrid-body-balanced":"fc-daygrid-body-unbalanced",i?"":"fc-daygrid-body-natural"];return g("div",{ref:this.elRef,className:l.join(" "),style:{width:e.clientWidth,minWidth:e.tableMinWidth}},g("table",{role:"presentation",className:"fc-scrollgrid-sync-table",style:{width:e.clientWidth,minWidth:e.tableMinWidth,height:i?e.clientHeight:""}},e.colGroupNode,g("tbody",{role:"presentation"},g(wf,{dateProfile:e.dateProfile,cells:e.cells,renderRowIntro:e.renderRowIntro,showWeekNumbers:e.showWeekNumbers,clientWidth:e.clientWidth,clientHeight:e.clientHeight,businessHourSegs:e.businessHourSegs,bgEventSegs:e.bgEventSegs,fgEventSegs:e.fgEventSegs,dateSelectionSegs:e.dateSelectionSegs,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,dayMaxEvents:r,dayMaxEventRows:n,forPrint:e.forPrint,isHitComboAllowed:e.isHitComboAllowed}))))}componentDidMount(){this.requestScrollReset()}componentDidUpdate(e){e.dateProfile!==this.props.dateProfile?this.requestScrollReset():this.flushScrollReset()}requestScrollReset(){this.needsScrollReset=!0,this.flushScrollReset()}flushScrollReset(){if(this.needsScrollReset&&this.props.clientWidth){const e=Tf(this.elRef.current,this.props.dateProfile);if(e){const n=e.closest(".fc-daygrid-body"),r=n.closest(".fc-scroller"),i=e.getBoundingClientRect().top-n.getBoundingClientRect().top;r.scrollTop=i?i+1:0}this.needsScrollReset=!1}}}function Tf(t,e){let n;return e.currentRangeUnit.match(/year|month/)&&(n=t.querySelector(`[data-date="${ao(e.currentDate)}-01"]`)),n||(n=t.querySelector(`[data-date="${Zn(e.currentDate)}"]`)),n}class xf extends Vs{constructor(){super(...arguments),this.forceDayIfListItem=!0}sliceRange(e,n){return n.sliceRange(e)}}class gl extends ae{constructor(){super(...arguments),this.slicer=new xf,this.tableRef=Y()}render(){let{props:e,context:n}=this;return g(_f,Object.assign({ref:this.tableRef},this.slicer.sliceProps(e,e.dateProfile,e.nextDayThreshold,n,e.dayTableModel),{dateProfile:e.dateProfile,cells:e.dayTableModel.cells,colGroupNode:e.colGroupNode,tableMinWidth:e.tableMinWidth,renderRowIntro:e.renderRowIntro,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.showWeekNumbers,expandRows:e.expandRows,headerAlignElRef:e.headerAlignElRef,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint}))}}class kf extends uf{constructor(){super(...arguments),this.buildDayTableModel=C(Mf),this.headerRef=Y(),this.tableRef=Y()}render(){let{options:e,dateProfileGenerator:n}=this.context,{props:r}=this,i=this.buildDayTableModel(r.dateProfile,n),s=e.dayHeaders&&g(Bs,{ref:this.headerRef,dateProfile:r.dateProfile,dates:i.headerDates,datesRepDistinctDays:i.rowCnt===1}),l=a=>g(gl,{ref:this.tableRef,dateProfile:r.dateProfile,dayTableModel:i,businessHours:r.businessHours,dateSelection:r.dateSelection,eventStore:r.eventStore,eventUiBases:r.eventUiBases,eventSelection:r.eventSelection,eventDrag:r.eventDrag,eventResize:r.eventResize,nextDayThreshold:e.nextDayThreshold,colGroupNode:a.tableColGroupNode,tableMinWidth:a.tableMinWidth,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.weekNumbers,expandRows:!r.isHeightAuto,headerAlignElRef:this.headerElRef,clientWidth:a.clientWidth,clientHeight:a.clientHeight,forPrint:r.forPrint});return e.dayMinWidth?this.renderHScrollLayout(s,l,i.colCnt,e.dayMinWidth):this.renderSimpleLayout(s,l)}}function Mf(t,e){let n=new Us(t.renderRange,e);return new Ls(n,/year|month|week/.test(t.currentRangeUnit))}class If extends us{buildRenderRange(e,n,r){let i=super.buildRenderRange(e,n,r),{props:s}=this;return Nf({currentRange:i,snapToWeek:/^(year|month)$/.test(n),fixedWeekCount:s.fixedWeekCount,dateEnv:s.dateEnv})}}function Nf(t){let{dateEnv:e,currentRange:n}=t,{start:r,end:i}=n,s;if(t.snapToWeek&&(r=e.startOfWeek(r),s=e.startOfWeek(i),s.valueOf()!==i.valueOf()&&(i=$r(s,1))),t.fixedWeekCount){let l=e.startOfWeek(e.startOfMonth(Q(n.end,-1))),a=Math.ceil(Za(l,i));i=$r(i,6-a)}return{start:r,end:i}}var Of=':root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:"";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:"";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}';Wn(Of);var Pf=ge({name:"@fullcalendar/daygrid",initialView:"dayGridMonth",views:{dayGrid:{component:kf,dateProfileGeneratorClass:If},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},fixedWeekCount:!0},dayGridYear:{type:"dayGrid",duration:{years:1}}}});gr.touchMouseIgnoreWait=500;let Vn=0,zt=0,Fn=!1;class pl{constructor(e){this.subjectEl=null,this.selector="",this.handleSelector="",this.shouldIgnoreMove=!1,this.shouldWatchScroll=!0,this.isDragging=!1,this.isTouchDragging=!1,this.wasTouchScroll=!1,this.handleMouseDown=n=>{if(!this.shouldIgnoreMouse()&&Hf(n)&&this.tryStart(n)){let r=this.createEventFromMouse(n,!0);this.emitter.trigger("pointerdown",r),this.initScrollWatch(r),this.shouldIgnoreMove||document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)}},this.handleMouseMove=n=>{let r=this.createEventFromMouse(n);this.recordCoords(r),this.emitter.trigger("pointermove",r)},this.handleMouseUp=n=>{document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),this.emitter.trigger("pointerup",this.createEventFromMouse(n)),this.cleanup()},this.handleTouchStart=n=>{if(this.tryStart(n)){this.isTouchDragging=!0;let r=this.createEventFromTouch(n,!0);this.emitter.trigger("pointerdown",r),this.initScrollWatch(r);let i=n.target;this.shouldIgnoreMove||i.addEventListener("touchmove",this.handleTouchMove),i.addEventListener("touchend",this.handleTouchEnd),i.addEventListener("touchcancel",this.handleTouchEnd),window.addEventListener("scroll",this.handleTouchScroll,!0)}},this.handleTouchMove=n=>{let r=this.createEventFromTouch(n);this.recordCoords(r),this.emitter.trigger("pointermove",r)},this.handleTouchEnd=n=>{if(this.isDragging){let r=n.target;r.removeEventListener("touchmove",this.handleTouchMove),r.removeEventListener("touchend",this.handleTouchEnd),r.removeEventListener("touchcancel",this.handleTouchEnd),window.removeEventListener("scroll",this.handleTouchScroll,!0),this.emitter.trigger("pointerup",this.createEventFromTouch(n)),this.cleanup(),this.isTouchDragging=!1,Bf()}},this.handleTouchScroll=()=>{this.wasTouchScroll=!0},this.handleScroll=n=>{if(!this.shouldIgnoreMove){let r=window.scrollX-this.prevScrollX+this.prevPageX,i=window.scrollY-this.prevScrollY+this.prevPageY;this.emitter.trigger("pointermove",{origEvent:n,isTouch:this.isTouchDragging,subjectEl:this.subjectEl,pageX:r,pageY:i,deltaX:r-this.origPageX,deltaY:i-this.origPageY})}},this.containerEl=e,this.emitter=new en,e.addEventListener("mousedown",this.handleMouseDown),e.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),Uf()}destroy(){this.containerEl.removeEventListener("mousedown",this.handleMouseDown),this.containerEl.removeEventListener("touchstart",this.handleTouchStart,{passive:!0}),Lf()}tryStart(e){let n=this.querySubjectEl(e),r=e.target;return n&&(!this.handleSelector||q(r,this.handleSelector))?(this.subjectEl=n,this.isDragging=!0,this.wasTouchScroll=!1,!0):!1}cleanup(){Fn=!1,this.isDragging=!1,this.subjectEl=null,this.destroyScrollWatch()}querySubjectEl(e){return this.selector?q(e.target,this.selector):this.containerEl}shouldIgnoreMouse(){return Vn||this.isTouchDragging}cancelTouchScroll(){this.isDragging&&(Fn=!0)}initScrollWatch(e){this.shouldWatchScroll&&(this.recordCoords(e),window.addEventListener("scroll",this.handleScroll,!0))}recordCoords(e){this.shouldWatchScroll&&(this.prevPageX=e.pageX,this.prevPageY=e.pageY,this.prevScrollX=window.scrollX,this.prevScrollY=window.scrollY)}destroyScrollWatch(){this.shouldWatchScroll&&window.removeEventListener("scroll",this.handleScroll,!0)}createEventFromMouse(e,n){let r=0,i=0;return n?(this.origPageX=e.pageX,this.origPageY=e.pageY):(r=e.pageX-this.origPageX,i=e.pageY-this.origPageY),{origEvent:e,isTouch:!1,subjectEl:this.subjectEl,pageX:e.pageX,pageY:e.pageY,deltaX:r,deltaY:i}}createEventFromTouch(e,n){let r=e.touches,i,s,l=0,a=0;return r&&r.length?(i=r[0].pageX,s=r[0].pageY):(i=e.pageX,s=e.pageY),n?(this.origPageX=i,this.origPageY=s):(l=i-this.origPageX,a=s-this.origPageY),{origEvent:e,isTouch:!0,subjectEl:this.subjectEl,pageX:i,pageY:s,deltaX:l,deltaY:a}}}function Hf(t){return t.button===0&&!t.ctrlKey}function Bf(){Vn+=1,setTimeout(()=>{Vn-=1},gr.touchMouseIgnoreWait)}function Uf(){zt+=1,zt===1&&window.addEventListener("touchmove",ml,{passive:!1})}function Lf(){zt-=1,zt||window.removeEventListener("touchmove",ml,{passive:!1})}function ml(t){Fn&&t.preventDefault()}class Vf{constructor(){this.isVisible=!1,this.sourceEl=null,this.mirrorEl=null,this.sourceElRect=null,this.parentNode=document.body,this.zIndex=9999,this.revertDuration=0}start(e,n,r){this.sourceEl=e,this.sourceElRect=this.sourceEl.getBoundingClientRect(),this.origScreenX=n-window.scrollX,this.origScreenY=r-window.scrollY,this.deltaX=0,this.deltaY=0,this.updateElPosition()}handleMove(e,n){this.deltaX=e-window.scrollX-this.origScreenX,this.deltaY=n-window.scrollY-this.origScreenY,this.updateElPosition()}setIsVisible(e){e?this.isVisible||(this.mirrorEl&&(this.mirrorEl.style.display=""),this.isVisible=e,this.updateElPosition()):this.isVisible&&(this.mirrorEl&&(this.mirrorEl.style.display="none"),this.isVisible=e)}stop(e,n){let r=()=>{this.cleanup(),n()};e&&this.mirrorEl&&this.isVisible&&this.revertDuration&&(this.deltaX||this.deltaY)?this.doRevertAnimation(r,this.revertDuration):setTimeout(r,0)}doRevertAnimation(e,n){let r=this.mirrorEl,i=this.sourceEl.getBoundingClientRect();r.style.transition="top "+n+"ms,left "+n+"ms",Je(r,{left:i.left,top:i.top}),Ma(r,()=>{r.style.transition="",e()})}cleanup(){this.mirrorEl&&(qn(this.mirrorEl),this.mirrorEl=null),this.sourceEl=null}updateElPosition(){this.sourceEl&&this.isVisible&&Je(this.getMirrorEl(),{left:this.sourceElRect.left+this.deltaX,top:this.sourceElRect.top+this.deltaY})}getMirrorEl(){let e=this.sourceElRect,n=this.mirrorEl;return n||(n=this.mirrorEl=this.sourceEl.cloneNode(!0),n.style.userSelect="none",n.style.webkitUserSelect="none",n.style.pointerEvents="none",n.classList.add("fc-event-dragging"),Je(n,{position:"fixed",zIndex:this.zIndex,visibility:"",boxSizing:"border-box",width:e.right-e.left,height:e.bottom-e.top,right:"auto",bottom:"auto",margin:0}),this.parentNode.appendChild(n)),n}}class vl extends fr{constructor(e,n){super(),this.handleScroll=()=>{this.scrollTop=this.scrollController.getScrollTop(),this.scrollLeft=this.scrollController.getScrollLeft(),this.handleScrollChange()},this.scrollController=e,this.doesListening=n,this.scrollTop=this.origScrollTop=e.getScrollTop(),this.scrollLeft=this.origScrollLeft=e.getScrollLeft(),this.scrollWidth=e.getScrollWidth(),this.scrollHeight=e.getScrollHeight(),this.clientWidth=e.getClientWidth(),this.clientHeight=e.getClientHeight(),this.clientRect=this.computeClientRect(),this.doesListening&&this.getEventTarget().addEventListener("scroll",this.handleScroll)}destroy(){this.doesListening&&this.getEventTarget().removeEventListener("scroll",this.handleScroll)}getScrollTop(){return this.scrollTop}getScrollLeft(){return this.scrollLeft}setScrollTop(e){this.scrollController.setScrollTop(e),this.doesListening||(this.scrollTop=Math.max(Math.min(e,this.getMaxScrollTop()),0),this.handleScrollChange())}setScrollLeft(e){this.scrollController.setScrollLeft(e),this.doesListening||(this.scrollLeft=Math.max(Math.min(e,this.getMaxScrollLeft()),0),this.handleScrollChange())}getClientWidth(){return this.clientWidth}getClientHeight(){return this.clientHeight}getScrollWidth(){return this.scrollWidth}getScrollHeight(){return this.scrollHeight}handleScrollChange(){}}class bl extends vl{constructor(e,n){super(new td(e),n)}getEventTarget(){return this.scrollController.el}computeClientRect(){return Kc(this.scrollController.el)}}class Ff extends vl{constructor(e){super(new nd,e)}getEventTarget(){return window}computeClientRect(){return{left:this.scrollLeft,right:this.scrollLeft+this.clientWidth,top:this.scrollTop,bottom:this.scrollTop+this.clientHeight}}handleScrollChange(){this.clientRect=this.computeClientRect()}}const Si=typeof performance=="function"?performance.now:Date.now;class jf{constructor(){this.isEnabled=!0,this.scrollQuery=[window,".fc-scroller"],this.edgeThreshold=50,this.maxVelocity=300,this.pointerScreenX=null,this.pointerScreenY=null,this.isAnimating=!1,this.scrollCaches=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.animate=()=>{if(this.isAnimating){let e=this.computeBestEdge(this.pointerScreenX+window.scrollX,this.pointerScreenY+window.scrollY);if(e){let n=Si();this.handleSide(e,(n-this.msSinceRequest)/1e3),this.requestAnimation(n)}else this.isAnimating=!1}}}start(e,n,r){this.isEnabled&&(this.scrollCaches=this.buildCaches(r),this.pointerScreenX=null,this.pointerScreenY=null,this.everMovedUp=!1,this.everMovedDown=!1,this.everMovedLeft=!1,this.everMovedRight=!1,this.handleMove(e,n))}handleMove(e,n){if(this.isEnabled){let r=e-window.scrollX,i=n-window.scrollY,s=this.pointerScreenY===null?0:i-this.pointerScreenY,l=this.pointerScreenX===null?0:r-this.pointerScreenX;s<0?this.everMovedUp=!0:s>0&&(this.everMovedDown=!0),l<0?this.everMovedLeft=!0:l>0&&(this.everMovedRight=!0),this.pointerScreenX=r,this.pointerScreenY=i,this.isAnimating||(this.isAnimating=!0,this.requestAnimation(Si()))}}stop(){if(this.isEnabled){this.isAnimating=!1;for(let e of this.scrollCaches)e.destroy();this.scrollCaches=null}}requestAnimation(e){this.msSinceRequest=e,requestAnimationFrame(this.animate)}handleSide(e,n){let{scrollCache:r}=e,{edgeThreshold:i}=this,s=i-e.distance,l=s*s/(i*i)*this.maxVelocity*n,a=1;switch(e.name){case"left":a=-1;case"right":r.setScrollLeft(r.getScrollLeft()+l*a);break;case"top":a=-1;case"bottom":r.setScrollTop(r.getScrollTop()+l*a);break}}computeBestEdge(e,n){let{edgeThreshold:r}=this,i=null,s=this.scrollCaches||[];for(let l of s){let a=l.clientRect,o=e-a.left,d=a.right-e,c=n-a.top,f=a.bottom-n;o>=0&&d>=0&&c>=0&&f>=0&&(c<=r&&this.everMovedUp&&l.canScrollUp()&&(!i||i.distance>c)&&(i={scrollCache:l,name:"top",distance:c}),f<=r&&this.everMovedDown&&l.canScrollDown()&&(!i||i.distance>f)&&(i={scrollCache:l,name:"bottom",distance:f}),o<=r&&this.everMovedLeft&&l.canScrollLeft()&&(!i||i.distance>o)&&(i={scrollCache:l,name:"left",distance:o}),d<=r&&this.everMovedRight&&l.canScrollRight()&&(!i||i.distance>d)&&(i={scrollCache:l,name:"right",distance:d}))}return i}buildCaches(e){return this.queryScrollEls(e).map(n=>n===window?new Ff(!1):new bl(n,!1))}queryScrollEls(e){let n=[];for(let r of this.scrollQuery)typeof r=="object"?n.push(r):n.push(...Array.prototype.slice.call(e.getRootNode().querySelectorAll(r)));return n}}class dt extends sd{constructor(e,n){super(e),this.containerEl=e,this.delay=null,this.minDistance=0,this.touchScrollAllowed=!0,this.mirrorNeedsRevert=!1,this.isInteracting=!1,this.isDragging=!1,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.delayTimeoutId=null,this.onPointerDown=i=>{this.isDragging||(this.isInteracting=!0,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,Ia(document.body),Oa(document.body),i.isTouch||i.origEvent.preventDefault(),this.emitter.trigger("pointerdown",i),this.isInteracting&&!this.pointer.shouldIgnoreMove&&(this.mirror.setIsVisible(!1),this.mirror.start(i.subjectEl,i.pageX,i.pageY),this.startDelay(i),this.minDistance||this.handleDistanceSurpassed(i)))},this.onPointerMove=i=>{if(this.isInteracting){if(this.emitter.trigger("pointermove",i),!this.isDistanceSurpassed){let s=this.minDistance,l,{deltaX:a,deltaY:o}=i;l=a*a+o*o,l>=s*s&&this.handleDistanceSurpassed(i)}this.isDragging&&(i.origEvent.type!=="scroll"&&(this.mirror.handleMove(i.pageX,i.pageY),this.autoScroller.handleMove(i.pageX,i.pageY)),this.emitter.trigger("dragmove",i))}},this.onPointerUp=i=>{this.isInteracting&&(this.isInteracting=!1,Na(document.body),Pa(document.body),this.emitter.trigger("pointerup",i),this.isDragging&&(this.autoScroller.stop(),this.tryStopDrag(i)),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null))};let r=this.pointer=new pl(e);r.emitter.on("pointerdown",this.onPointerDown),r.emitter.on("pointermove",this.onPointerMove),r.emitter.on("pointerup",this.onPointerUp),n&&(r.selector=n),this.mirror=new Vf,this.autoScroller=new jf}destroy(){this.pointer.destroy(),this.onPointerUp({})}startDelay(e){typeof this.delay=="number"?this.delayTimeoutId=setTimeout(()=>{this.delayTimeoutId=null,this.handleDelayEnd(e)},this.delay):this.handleDelayEnd(e)}handleDelayEnd(e){this.isDelayEnded=!0,this.tryStartDrag(e)}handleDistanceSurpassed(e){this.isDistanceSurpassed=!0,this.tryStartDrag(e)}tryStartDrag(e){this.isDelayEnded&&this.isDistanceSurpassed&&(!this.pointer.wasTouchScroll||this.touchScrollAllowed)&&(this.isDragging=!0,this.mirrorNeedsRevert=!1,this.autoScroller.start(e.pageX,e.pageY,this.containerEl),this.emitter.trigger("dragstart",e),this.touchScrollAllowed===!1&&this.pointer.cancelTouchScroll())}tryStopDrag(e){this.mirror.stop(this.mirrorNeedsRevert,this.stopDrag.bind(this,e))}stopDrag(e){this.isDragging=!1,this.emitter.trigger("dragend",e)}setIgnoreMove(e){this.pointer.shouldIgnoreMove=e}setMirrorIsVisible(e){this.mirror.setIsVisible(e)}setMirrorNeedsRevert(e){this.mirrorNeedsRevert=e}setAutoScrollEnabled(e){this.autoScroller.isEnabled=e}}class zf{constructor(e){this.el=e,this.origRect=ur(e),this.scrollCaches=Ns(e).map(n=>new bl(n,!0))}destroy(){for(let e of this.scrollCaches)e.destroy()}computeLeft(){let e=this.origRect.left;for(let n of this.scrollCaches)e+=n.origScrollLeft-n.getScrollLeft();return e}computeTop(){let e=this.origRect.top;for(let n of this.scrollCaches)e+=n.origScrollTop-n.getScrollTop();return e}isWithinClipping(e,n){let r={left:e,top:n};for(let i of this.scrollCaches)if(!Wf(i.getEventTarget())&&!Vc(r,i.clientRect))return!1;return!0}}function Wf(t){let e=t.tagName;return e==="HTML"||e==="BODY"}class tn{constructor(e,n){this.useSubjectCenter=!1,this.requireInitial=!0,this.disablePointCheck=!1,this.initialHit=null,this.movingHit=null,this.finalHit=null,this.handlePointerDown=r=>{let{dragging:i}=this;this.initialHit=null,this.movingHit=null,this.finalHit=null,this.prepareHits(),this.processFirstCoord(r),this.initialHit||!this.requireInitial?(i.setIgnoreMove(!1),this.emitter.trigger("pointerdown",r)):i.setIgnoreMove(!0)},this.handleDragStart=r=>{this.emitter.trigger("dragstart",r),this.handleMove(r,!0)},this.handleDragMove=r=>{this.emitter.trigger("dragmove",r),this.handleMove(r)},this.handlePointerUp=r=>{this.releaseHits(),this.emitter.trigger("pointerup",r)},this.handleDragEnd=r=>{this.movingHit&&this.emitter.trigger("hitupdate",null,!0,r),this.finalHit=this.movingHit,this.movingHit=null,this.emitter.trigger("dragend",r)},this.droppableStore=n,e.emitter.on("pointerdown",this.handlePointerDown),e.emitter.on("dragstart",this.handleDragStart),e.emitter.on("dragmove",this.handleDragMove),e.emitter.on("pointerup",this.handlePointerUp),e.emitter.on("dragend",this.handleDragEnd),this.dragging=e,this.emitter=new en}processFirstCoord(e){let n={left:e.pageX,top:e.pageY},r=n,i=e.subjectEl,s;i instanceof HTMLElement&&(s=ur(i),r=Fc(r,s));let l=this.initialHit=this.queryHitForOffset(r.left,r.top);if(l){if(this.useSubjectCenter&&s){let a=ks(s,l.rect);a&&(r=jc(a))}this.coordAdjust=zc(r,n)}else this.coordAdjust={left:0,top:0}}handleMove(e,n){let r=this.queryHitForOffset(e.pageX+this.coordAdjust.left,e.pageY+this.coordAdjust.top);(n||!nn(this.movingHit,r))&&(this.movingHit=r,this.emitter.trigger("hitupdate",r,!1,e))}prepareHits(){this.offsetTrackers=ue(this.droppableStore,e=>(e.component.prepareHits(),new zf(e.el)))}releaseHits(){let{offsetTrackers:e}=this;for(let n in e)e[n].destroy();this.offsetTrackers={}}queryHitForOffset(e,n){let{droppableStore:r,offsetTrackers:i}=this,s=null;for(let l in r){let a=r[l].component,o=i[l];if(o&&o.isWithinClipping(e,n)){let d=o.computeLeft(),c=o.computeTop(),f=e-d,h=n-c,{origRect:u}=o,p=u.right-u.left,m=u.bottom-u.top;if(f>=0&&f<p&&h>=0&&h<m){let v=a.queryHit(f,h,p,m);v&&Jt(v.dateProfile.activeRange,v.dateSpan.range)&&(this.disablePointCheck||o.el.contains(o.el.getRootNode().elementFromPoint(f+d-window.scrollX,h+c-window.scrollY)))&&(!s||v.layer>s.layer)&&(v.componentId=l,v.context=a.context,v.rect.left+=d,v.rect.right+=d,v.rect.top+=c,v.rect.bottom+=c,s=v)}}}return s}}function nn(t,e){return!t&&!e?!0:!!t!=!!e?!1:xc(t.dateSpan,e.dateSpan)}function yl(t,e){let n={};for(let r of e.pluginHooks.datePointTransforms)Object.assign(n,r(t,e));return Object.assign(n,Gf(t,e.dateEnv)),n}function Gf(t,e){return{date:e.toDate(t.range.start),dateStr:e.formatIso(t.range.start,{omitTime:t.allDay}),allDay:t.allDay}}class qf extends qe{constructor(e){super(e),this.handlePointerDown=r=>{let{dragging:i}=this,s=r.origEvent.target;i.setIgnoreMove(!this.component.isValidDateDownEl(s))},this.handleDragEnd=r=>{let{component:i}=this,{pointer:s}=this.dragging;if(!s.wasTouchScroll){let{initialHit:l,finalHit:a}=this.hitDragging;if(l&&a&&nn(l,a)){let{context:o}=i,d=Object.assign(Object.assign({},yl(l.dateSpan,o)),{dayEl:l.dayEl,jsEvent:r.origEvent,view:o.viewApi||o.calendarApi.view});o.emitter.trigger("dateClick",d)}}},this.dragging=new dt(e.el),this.dragging.autoScroller.isEnabled=!1;let n=this.hitDragging=new tn(this.dragging,cr(e));n.emitter.on("pointerdown",this.handlePointerDown),n.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}}class Qf extends qe{constructor(e){super(e),this.dragSelection=null,this.handlePointerDown=l=>{let{component:a,dragging:o}=this,{options:d}=a.context,c=d.selectable&&a.isValidDateDownEl(l.origEvent.target);o.setIgnoreMove(!c),o.delay=l.isTouch?Yf(a):null},this.handleDragStart=l=>{this.component.context.calendarApi.unselect(l)},this.handleHitUpdate=(l,a)=>{let{context:o}=this.component,d=null,c=!1;if(l){let f=this.hitDragging.initialHit;l.componentId===f.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(f,l)||(d=$f(f,l,o.pluginHooks.dateSelectionTransformers)),(!d||!ud(d,l.dateProfile,o))&&(c=!0,d=null)}d?o.dispatch({type:"SELECT_DATES",selection:d}):a||o.dispatch({type:"UNSELECT_DATES"}),c?Qn():Yn(),a||(this.dragSelection=d)},this.handlePointerUp=l=>{this.dragSelection&&(Es(this.dragSelection,l,this.component.context),this.dragSelection=null)};let{component:n}=e,{options:r}=n.context,i=this.dragging=new dt(e.el);i.touchScrollAllowed=!1,i.minDistance=r.selectMinDistance||0,i.autoScroller.isEnabled=r.dragScroll;let s=this.hitDragging=new tn(this.dragging,cr(e));s.emitter.on("pointerdown",this.handlePointerDown),s.emitter.on("dragstart",this.handleDragStart),s.emitter.on("hitupdate",this.handleHitUpdate),s.emitter.on("pointerup",this.handlePointerUp)}destroy(){this.dragging.destroy()}}function Yf(t){let{options:e}=t.context,n=e.selectLongPressDelay;return n==null&&(n=e.longPressDelay),n}function $f(t,e,n){let r=t.dateSpan,i=e.dateSpan,s=[r.range.start,r.range.end,i.range.start,i.range.end];s.sort(Va);let l={};for(let a of n){let o=a(t,e);if(o===!1)return null;o&&Object.assign(l,o)}return l.range={start:s[0],end:s[3]},l.allDay=r.allDay,l}class ut extends qe{constructor(e){super(e),this.subjectEl=null,this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=l=>{let a=l.origEvent.target,{component:o,dragging:d}=this,{mirror:c}=d,{options:f}=o.context,h=o.context;this.subjectEl=l.subjectEl;let u=this.subjectSeg=We(l.subjectEl),m=(this.eventRange=u.eventRange).instance.instanceId;this.relevantEvents=sr(h.getCurrentData().eventStore,m),d.minDistance=l.isTouch?0:f.eventDragMinDistance,d.delay=l.isTouch&&m!==o.props.eventSelection?Xf(o):null,f.fixedMirrorParent?c.parentNode=f.fixedMirrorParent:c.parentNode=q(a,".fc"),c.revertDuration=f.dragRevertDuration;let v=o.isValidSegDownEl(a)&&!q(a,".fc-event-resizer");d.setIgnoreMove(!v),this.isDragging=v&&l.subjectEl.classList.contains("fc-event-draggable")},this.handleDragStart=l=>{let a=this.component.context,o=this.eventRange,d=o.instance.instanceId;l.isTouch?d!==this.component.props.eventSelection&&a.dispatch({type:"SELECT_EVENT",eventInstanceId:d}):a.dispatch({type:"UNSELECT_EVENT"}),this.isDragging&&(a.calendarApi.unselect(l),a.emitter.trigger("eventDragStart",{el:this.subjectEl,event:new F(a,o.def,o.instance),jsEvent:l.origEvent,view:a.viewApi}))},this.handleHitUpdate=(l,a)=>{if(!this.isDragging)return;let o=this.relevantEvents,d=this.hitDragging.initialHit,c=this.component.context,f=null,h=null,u=null,p=!1,m={affectedEvents:o,mutatedEvents:J(),isEvent:!0};if(l){f=l.context;let v=f.options;c===f||v.editable&&v.droppable?(h=Zf(d,l,this.eventRange.instance.range.start,f.getCurrentData().pluginHooks.eventDragMutationMassagers),h&&(u=or(o,f.getCurrentData().eventUiBases,h,f),m.mutatedEvents=u,Fs(m,l.dateProfile,f)||(p=!0,h=null,u=null,m.mutatedEvents=J()))):f=null}this.displayDrag(f,m),p?Qn():Yn(),a||(c===f&&nn(d,l)&&(h=null),this.dragging.setMirrorNeedsRevert(!h),this.dragging.setMirrorIsVisible(!l||!this.subjectEl.getRootNode().querySelector(".fc-event-mirror")),this.receivingContext=f,this.validMutation=h,this.mutatedRelevantEvents=u)},this.handlePointerUp=()=>{this.isDragging||this.cleanup()},this.handleDragEnd=l=>{if(this.isDragging){let a=this.component.context,o=a.viewApi,{receivingContext:d,validMutation:c}=this,f=this.eventRange.def,h=this.eventRange.instance,u=new F(a,f,h),p=this.relevantEvents,m=this.mutatedRelevantEvents,{finalHit:v}=this.hitDragging;if(this.clearDrag(),a.emitter.trigger("eventDragStop",{el:this.subjectEl,event:u,jsEvent:l.origEvent,view:o}),c){if(d===a){let y=new F(a,m.defs[f.defId],h?m.instances[h.instanceId]:null);a.dispatch({type:"MERGE_EVENTS",eventStore:m});let E={oldEvent:u,event:y,relatedEvents:_e(m,a,h),revert(){a.dispatch({type:"MERGE_EVENTS",eventStore:p})}},w={};for(let R of a.getCurrentData().pluginHooks.eventDropTransformers)Object.assign(w,R(c,a));a.emitter.trigger("eventDrop",Object.assign(Object.assign(Object.assign({},E),w),{el:l.subjectEl,delta:c.datesDelta,jsEvent:l.origEvent,view:o})),a.emitter.trigger("eventChange",E)}else if(d){let y={event:u,relatedEvents:_e(p,a,h),revert(){a.dispatch({type:"MERGE_EVENTS",eventStore:p})}};a.emitter.trigger("eventLeave",Object.assign(Object.assign({},y),{draggedEl:l.subjectEl,view:o})),a.dispatch({type:"REMOVE_EVENTS",eventStore:p}),a.emitter.trigger("eventRemove",y);let E=m.defs[f.defId],w=m.instances[h.instanceId],R=new F(d,E,w);d.dispatch({type:"MERGE_EVENTS",eventStore:m});let L={event:R,relatedEvents:_e(m,d,w),revert(){d.dispatch({type:"REMOVE_EVENTS",eventStore:m})}};d.emitter.trigger("eventAdd",L),l.isTouch&&d.dispatch({type:"SELECT_EVENT",eventInstanceId:h.instanceId}),d.emitter.trigger("drop",Object.assign(Object.assign({},yl(v.dateSpan,d)),{draggedEl:l.subjectEl,jsEvent:l.origEvent,view:v.context.viewApi})),d.emitter.trigger("eventReceive",Object.assign(Object.assign({},L),{draggedEl:l.subjectEl,view:v.context.viewApi}))}}else a.emitter.trigger("_noEventDrop")}this.cleanup()};let{component:n}=this,{options:r}=n.context,i=this.dragging=new dt(e.el);i.pointer.selector=ut.SELECTOR,i.touchScrollAllowed=!1,i.autoScroller.isEnabled=r.dragScroll;let s=this.hitDragging=new tn(this.dragging,Pn);s.useSubjectCenter=e.useEventCenter,s.emitter.on("pointerdown",this.handlePointerDown),s.emitter.on("dragstart",this.handleDragStart),s.emitter.on("hitupdate",this.handleHitUpdate),s.emitter.on("pointerup",this.handlePointerUp),s.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}displayDrag(e,n){let r=this.component.context,i=this.receivingContext;i&&i!==e&&(i===r?i.dispatch({type:"SET_EVENT_DRAG",state:{affectedEvents:n.affectedEvents,mutatedEvents:J(),isEvent:!0}}):i.dispatch({type:"UNSET_EVENT_DRAG"})),e&&e.dispatch({type:"SET_EVENT_DRAG",state:n})}clearDrag(){let e=this.component.context,{receivingContext:n}=this;n&&n.dispatch({type:"UNSET_EVENT_DRAG"}),e!==n&&e.dispatch({type:"UNSET_EVENT_DRAG"})}cleanup(){this.subjectSeg=null,this.isDragging=!1,this.eventRange=null,this.relevantEvents=null,this.receivingContext=null,this.validMutation=null,this.mutatedRelevantEvents=null}}ut.SELECTOR=".fc-event-draggable, .fc-event-resizable";function Zf(t,e,n,r){let i=t.dateSpan,s=e.dateSpan,l=i.range.start,a=s.range.start,o={};i.allDay!==s.allDay&&(o.allDay=s.allDay,o.hasEnd=e.context.options.allDayMaintainDuration,s.allDay?l=U(n):l=n);let d=Be(l,a,t.context.dateEnv,t.componentId===e.componentId?t.largeUnit:null);d.milliseconds&&(o.allDay=!1);let c={datesDelta:d,standardProps:o};for(let f of r)f(c,t,e);return c}function Xf(t){let{options:e}=t.context,n=e.eventLongPressDelay;return n==null&&(n=e.longPressDelay),n}class Jf extends qe{constructor(e){super(e),this.draggingSegEl=null,this.draggingSeg=null,this.eventRange=null,this.relevantEvents=null,this.validMutation=null,this.mutatedRelevantEvents=null,this.handlePointerDown=s=>{let{component:l}=this,a=this.querySegEl(s),o=We(a),d=this.eventRange=o.eventRange;this.dragging.minDistance=l.context.options.eventDragMinDistance,this.dragging.setIgnoreMove(!this.component.isValidSegDownEl(s.origEvent.target)||s.isTouch&&this.component.props.eventSelection!==d.instance.instanceId)},this.handleDragStart=s=>{let{context:l}=this.component,a=this.eventRange;this.relevantEvents=sr(l.getCurrentData().eventStore,this.eventRange.instance.instanceId);let o=this.querySegEl(s);this.draggingSegEl=o,this.draggingSeg=We(o),l.calendarApi.unselect(),l.emitter.trigger("eventResizeStart",{el:o,event:new F(l,a.def,a.instance),jsEvent:s.origEvent,view:l.viewApi})},this.handleHitUpdate=(s,l,a)=>{let{context:o}=this.component,d=this.relevantEvents,c=this.hitDragging.initialHit,f=this.eventRange.instance,h=null,u=null,p=!1,m={affectedEvents:d,mutatedEvents:J(),isEvent:!0};s&&(s.componentId===c.componentId&&this.isHitComboAllowed&&!this.isHitComboAllowed(c,s)||(h=Kf(c,s,a.subjectEl.classList.contains("fc-event-resizer-start"),f.range))),h&&(u=or(d,o.getCurrentData().eventUiBases,h,o),m.mutatedEvents=u,Fs(m,s.dateProfile,o)||(p=!0,h=null,u=null,m.mutatedEvents=null)),u?o.dispatch({type:"SET_EVENT_RESIZE",state:m}):o.dispatch({type:"UNSET_EVENT_RESIZE"}),p?Qn():Yn(),l||(h&&nn(c,s)&&(h=null),this.validMutation=h,this.mutatedRelevantEvents=u)},this.handleDragEnd=s=>{let{context:l}=this.component,a=this.eventRange.def,o=this.eventRange.instance,d=new F(l,a,o),c=this.relevantEvents,f=this.mutatedRelevantEvents;if(l.emitter.trigger("eventResizeStop",{el:this.draggingSegEl,event:d,jsEvent:s.origEvent,view:l.viewApi}),this.validMutation){let h=new F(l,f.defs[a.defId],o?f.instances[o.instanceId]:null);l.dispatch({type:"MERGE_EVENTS",eventStore:f});let u={oldEvent:d,event:h,relatedEvents:_e(f,l,o),revert(){l.dispatch({type:"MERGE_EVENTS",eventStore:c})}};l.emitter.trigger("eventResize",Object.assign(Object.assign({},u),{el:this.draggingSegEl,startDelta:this.validMutation.startDelta||k(0),endDelta:this.validMutation.endDelta||k(0),jsEvent:s.origEvent,view:l.viewApi})),l.emitter.trigger("eventChange",u)}else l.emitter.trigger("_noEventResize");this.draggingSeg=null,this.relevantEvents=null,this.validMutation=null};let{component:n}=e,r=this.dragging=new dt(e.el);r.pointer.selector=".fc-event-resizer",r.touchScrollAllowed=!1,r.autoScroller.isEnabled=n.context.options.dragScroll;let i=this.hitDragging=new tn(this.dragging,cr(e));i.emitter.on("pointerdown",this.handlePointerDown),i.emitter.on("dragstart",this.handleDragStart),i.emitter.on("hitupdate",this.handleHitUpdate),i.emitter.on("dragend",this.handleDragEnd)}destroy(){this.dragging.destroy()}querySegEl(e){return q(e.subjectEl,".fc-event")}}function Kf(t,e,n,r){let i=t.context.dateEnv,s=t.dateSpan.range.start,l=e.dateSpan.range.start,a=Be(s,l,i,t.largeUnit);if(n){if(i.add(r.start,a)<r.end)return{startDelta:a}}else if(i.add(r.end,a)>r.start)return{endDelta:a};return null}class eh{constructor(e){this.context=e,this.isRecentPointerDateSelect=!1,this.matchesCancel=!1,this.matchesEvent=!1,this.onSelect=r=>{r.jsEvent&&(this.isRecentPointerDateSelect=!0)},this.onDocumentPointerDown=r=>{let i=this.context.options.unselectCancel,s=Xi(r.origEvent);this.matchesCancel=!!q(s,i),this.matchesEvent=!!q(s,ut.SELECTOR)},this.onDocumentPointerUp=r=>{let{context:i}=this,{documentPointer:s}=this,l=i.getCurrentData();if(!s.wasTouchScroll){if(l.dateSelection&&!this.isRecentPointerDateSelect){let a=i.options.unselectAuto;a&&(!a||!this.matchesCancel)&&i.calendarApi.unselect(r)}l.eventSelection&&!this.matchesEvent&&i.dispatch({type:"UNSELECT_EVENT"})}this.isRecentPointerDateSelect=!1};let n=this.documentPointer=new pl(document);n.shouldIgnoreMove=!0,n.shouldWatchScroll=!1,n.emitter.on("pointerdown",this.onDocumentPointerDown),n.emitter.on("pointerup",this.onDocumentPointerUp),e.emitter.on("select",this.onSelect)}destroy(){this.context.emitter.off("select",this.onSelect),this.documentPointer.destroy()}}const th={fixedMirrorParent:b},nh={dateClick:b,eventDragStart:b,eventDragStop:b,eventDrop:b,eventResizeStart:b,eventResizeStop:b,eventResize:b,drop:b,eventReceive:b,eventLeave:b};gr.dataAttrPrefix="";var rh=ge({name:"@fullcalendar/interaction",componentInteractions:[qf,Qf,ut,Jf],calendarInteractions:[eh],elementDraggingImpl:dt,optionRefiners:th,listenerRefiners:nh});class ih extends Wc{getKeyInfo(){return{allDay:{},timed:{}}}getKeysForDateSpan(e){return e.allDay?["allDay"]:["timed"]}getKeysForEventDef(e){return e.allDay?Ec(e)?["timed","allDay"]:["allDay"]:["timed"]}}const sh=j({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"short"});function El(t){let e=["fc-timegrid-slot","fc-timegrid-slot-label",t.isLabeled?"fc-scrollgrid-shrink":"fc-timegrid-slot-minor"];return g(he.Consumer,null,n=>{if(!t.isLabeled)return g("td",{className:e.join(" "),"data-time":t.isoTimeStr});let{dateEnv:r,options:i,viewApi:s}=n,l=i.slotLabelFormat==null?sh:Array.isArray(i.slotLabelFormat)?j(i.slotLabelFormat[0]):j(i.slotLabelFormat),a={level:0,time:t.time,date:r.toDate(t.date),view:s,text:r.format(t.date,l)};return g(K,{elTag:"td",elClasses:e,elAttrs:{"data-time":t.isoTimeStr},renderProps:a,generatorName:"slotLabelContent",customGenerator:i.slotLabelContent,defaultGenerator:lh,classNameGenerator:i.slotLabelClassNames,didMount:i.slotLabelDidMount,willUnmount:i.slotLabelWillUnmount},o=>g("div",{className:"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame"},g(o,{elTag:"div",elClasses:["fc-timegrid-slot-label-cushion","fc-scrollgrid-shrink-cushion"]})))})}function lh(t){return t.text}class ah extends N{render(){return this.props.slatMetas.map(e=>g("tr",{key:e.key},g(El,Object.assign({},e))))}}const oh=j({week:"short"}),ch=5;class dh extends ae{constructor(){super(...arguments),this.allDaySplitter=new ih,this.headerElRef=Y(),this.rootElRef=Y(),this.scrollerElRef=Y(),this.state={slatCoords:null},this.handleScrollTopRequest=e=>{let n=this.scrollerElRef.current;n&&(n.scrollTop=e)},this.renderHeadAxis=(e,n="")=>{let{options:r}=this.context,{dateProfile:i}=this.props,s=i.renderRange,a=Ne(s.start,s.end)===1?Ft(this.context,s.start,"week"):{};return r.weekNumbers&&e==="day"?g($s,{elTag:"th",elClasses:["fc-timegrid-axis","fc-scrollgrid-shrink"],elAttrs:{"aria-hidden":!0},date:s.start,defaultFormat:oh},o=>g("div",{className:["fc-timegrid-axis-frame","fc-scrollgrid-shrink-frame","fc-timegrid-axis-frame-liquid"].join(" "),style:{height:n}},g(o,{elTag:"a",elClasses:["fc-timegrid-axis-cushion","fc-scrollgrid-shrink-cushion","fc-scrollgrid-sync-inner"],elAttrs:a}))):g("th",{"aria-hidden":!0,className:"fc-timegrid-axis"},g("div",{className:"fc-timegrid-axis-frame",style:{height:n}}))},this.renderTableRowAxis=e=>{let{options:n,viewApi:r}=this.context,i={text:n.allDayText,view:r};return g(K,{elTag:"td",elClasses:["fc-timegrid-axis","fc-scrollgrid-shrink"],elAttrs:{"aria-hidden":!0},renderProps:i,generatorName:"allDayContent",customGenerator:n.allDayContent,defaultGenerator:uh,classNameGenerator:n.allDayClassNames,didMount:n.allDayDidMount,willUnmount:n.allDayWillUnmount},s=>g("div",{className:["fc-timegrid-axis-frame","fc-scrollgrid-shrink-frame",e==null?" fc-timegrid-axis-frame-liquid":""].join(" "),style:{height:e}},g(s,{elTag:"span",elClasses:["fc-timegrid-axis-cushion","fc-scrollgrid-shrink-cushion","fc-scrollgrid-sync-inner"]})))},this.handleSlatCoords=e=>{this.setState({slatCoords:e})}}renderSimpleLayout(e,n,r){let{context:i,props:s}=this,l=[],a=jt(i.options);return e&&l.push({type:"header",key:"header",isSticky:a,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),n&&(l.push({type:"body",key:"all-day",chunk:{content:n}}),l.push({type:"body",key:"all-day-divider",outerContent:g("tr",{role:"presentation",className:"fc-scrollgrid-section"},g("td",{className:"fc-timegrid-divider "+i.theme.getClass("tableCellShaded")}))})),l.push({type:"body",key:"body",liquid:!0,expandRows:!!i.options.expandRows,chunk:{scrollerElRef:this.scrollerElRef,content:r}}),g(Bt,{elRef:this.rootElRef,elClasses:["fc-timegrid"],viewSpec:i.viewSpec},g(pr,{liquid:!s.isHeightAuto&&!s.forPrint,collapsibleWidth:s.forPrint,cols:[{width:"shrink"}],sections:l}))}renderHScrollLayout(e,n,r,i,s,l,a){let o=this.context.pluginHooks.scrollGridImpl;if(!o)throw new Error("No ScrollGrid implementation");let{context:d,props:c}=this,f=!c.forPrint&&jt(d.options),h=!c.forPrint&&Gs(d.options),u=[];e&&u.push({type:"header",key:"header",isSticky:f,syncRowHeights:!0,chunks:[{key:"axis",rowContent:m=>g("tr",{role:"presentation"},this.renderHeadAxis("day",m.rowSyncHeights[0]))},{key:"cols",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),n&&(u.push({type:"body",key:"all-day",syncRowHeights:!0,chunks:[{key:"axis",rowContent:m=>g("tr",{role:"presentation"},this.renderTableRowAxis(m.rowSyncHeights[0]))},{key:"cols",content:n}]}),u.push({key:"all-day-divider",type:"body",outerContent:g("tr",{role:"presentation",className:"fc-scrollgrid-section"},g("td",{colSpan:2,className:"fc-timegrid-divider "+d.theme.getClass("tableCellShaded")}))}));let p=d.options.nowIndicator;return u.push({type:"body",key:"body",liquid:!0,expandRows:!!d.options.expandRows,chunks:[{key:"axis",content:m=>g("div",{className:"fc-timegrid-axis-chunk"},g("table",{"aria-hidden":!0,style:{height:m.expandRows?m.clientHeight:""}},m.tableColGroupNode,g("tbody",null,g(ah,{slatMetas:l}))),g("div",{className:"fc-timegrid-now-indicator-container"},g(Qe,{unit:p?"minute":"day"},v=>{let y=p&&a&&a.safeComputeTop(v);return typeof y=="number"?g(vr,{elClasses:["fc-timegrid-now-indicator-arrow"],elStyle:{top:y},isAxis:!0,date:v}):null})))},{key:"cols",scrollerElRef:this.scrollerElRef,content:r}]}),h&&u.push({key:"footer",type:"footer",isSticky:!0,chunks:[{key:"axis",content:Un},{key:"cols",content:Un}]}),g(Bt,{elRef:this.rootElRef,elClasses:["fc-timegrid"],viewSpec:d.viewSpec},g(o,{liquid:!c.isHeightAuto&&!c.forPrint,forPrint:c.forPrint,collapsibleWidth:!1,colGroups:[{width:"shrink",cols:[{width:"shrink"}]},{cols:[{span:i,minWidth:s}]}],sections:u}))}getAllDayMaxEventProps(){let{dayMaxEvents:e,dayMaxEventRows:n}=this.context.options;return(e===!0||n===!0)&&(e=void 0,n=ch),{dayMaxEvents:e,dayMaxEventRows:n}}}function uh(t){return t.text}class fh{constructor(e,n,r){this.positions=e,this.dateProfile=n,this.slotDuration=r}safeComputeTop(e){let{dateProfile:n}=this;if(de(n.currentRange,e)){let r=U(e),i=e.valueOf()-r.valueOf();if(i>=ne(n.slotMinTime)&&i<ne(n.slotMaxTime))return this.computeTimeTop(k(i))}return null}computeDateTop(e,n){return n||(n=U(e)),this.computeTimeTop(k(e.valueOf()-n.valueOf()))}computeTimeTop(e){let{positions:n,dateProfile:r}=this,i=n.els.length,s=(e.milliseconds-ne(r.slotMinTime))/ne(this.slotDuration),l,a;return s=Math.max(0,s),s=Math.min(i,s),l=Math.floor(s),l=Math.min(l,i-1),a=s-l,n.tops[l]+n.getHeight(l)*a}}class hh extends N{render(){let{props:e,context:n}=this,{options:r}=n,{slatElRefs:i}=e;return g("tbody",null,e.slatMetas.map((s,l)=>{let a={time:s.time,date:n.dateEnv.toDate(s.date),view:n.viewApi};return g("tr",{key:s.key,ref:i.createRef(s.key)},e.axis&&g(El,Object.assign({},s)),g(K,{elTag:"td",elClasses:["fc-timegrid-slot","fc-timegrid-slot-lane",!s.isLabeled&&"fc-timegrid-slot-minor"],elAttrs:{"data-time":s.isoTimeStr},renderProps:a,generatorName:"slotLaneContent",customGenerator:r.slotLaneContent,classNameGenerator:r.slotLaneClassNames,didMount:r.slotLaneDidMount,willUnmount:r.slotLaneWillUnmount}))}))}}class gh extends N{constructor(){super(...arguments),this.rootElRef=Y(),this.slatElRefs=new ce}render(){let{props:e,context:n}=this;return g("div",{ref:this.rootElRef,className:"fc-timegrid-slots"},g("table",{"aria-hidden":!0,className:n.theme.getClass("table"),style:{minWidth:e.tableMinWidth,width:e.clientWidth,height:e.minHeight}},e.tableColGroupNode,g(hh,{slatElRefs:this.slatElRefs,axis:e.axis,slatMetas:e.slatMetas})))}componentDidMount(){this.updateSizing()}componentDidUpdate(){this.updateSizing()}componentWillUnmount(){this.props.onCoords&&this.props.onCoords(null)}updateSizing(){let{context:e,props:n}=this;n.onCoords&&n.clientWidth!==null&&this.rootElRef.current.offsetHeight&&n.onCoords(new fh(new Ge(this.rootElRef.current,ph(this.slatElRefs.currentMap,n.slatMetas),!1,!0),this.props.dateProfile,e.options.slotDuration))}}function ph(t,e){return e.map(n=>t[n.key])}function Ze(t,e){let n=[],r;for(r=0;r<e;r+=1)n.push([]);if(t)for(r=0;r<t.length;r+=1)n[t[r].col].push(t[r]);return n}function Ai(t,e){let n=[];if(t){for(let r=0;r<e;r+=1)n[r]={affectedInstances:t.affectedInstances,isEvent:t.isEvent,segs:[]};for(let r of t.segs)n[r.col].segs.push(r)}else for(let r=0;r<e;r+=1)n[r]=null;return n}class mh extends N{render(){let{props:e}=this;return g(Zs,{elClasses:["fc-timegrid-more-link"],elStyle:{top:e.top,bottom:e.bottom},allDayDate:null,moreCnt:e.hiddenSegs.length,allSegs:e.hiddenSegs,hiddenSegs:e.hiddenSegs,extraDateSpan:e.extraDateSpan,dateProfile:e.dateProfile,todayRange:e.todayRange,popoverContent:()=>Al(e.hiddenSegs,e),defaultGenerator:vh,forceTimed:!0},n=>g(n,{elTag:"div",elClasses:["fc-timegrid-more-link-inner","fc-sticky"]}))}}function vh(t){return t.shortText}function bh(t,e,n){let r=new Os;e!=null&&(r.strictOrder=e),n!=null&&(r.maxStackCnt=n);let i=r.addSegs(t),s=rd(i),l=yh(r);return l=Ch(l,1),{segRects:Dh(l),hiddenGroups:s}}function yh(t){const{entriesByLevel:e}=t,n=Sr((r,i)=>r+":"+i,(r,i)=>{let s=Ah(t,r,i),l=Ci(s,n),a=e[r][i];return[Object.assign(Object.assign({},a),{nextLevelNodes:l[0]}),a.thickness+l[1]]});return Ci(e.length?{level:0,lateralStart:0,lateralEnd:e[0].length}:null,n)[0]}function Ci(t,e){if(!t)return[[],0];let{level:n,lateralStart:r,lateralEnd:i}=t,s=r,l=[];for(;s<i;)l.push(e(n,s)),s+=1;return l.sort(Eh),[l.map(Sh),l[0][1]]}function Eh(t,e){return e[1]-t[1]}function Sh(t){return t[0]}function Ah(t,e,n){let{levelCoords:r,entriesByLevel:i}=t,s=i[e][n],l=r[e]+s.thickness,a=r.length,o=e;for(;o<a&&r[o]<l;o+=1);for(;o<a;o+=1){let d=i[o],c,f=Bn(d,s.span.start,Hn),h=f[0]+f[1],u=h;for(;(c=d[u])&&c.span.start<s.span.end;)u+=1;if(h<u)return{level:o,lateralStart:h,lateralEnd:u}}return null}function Ch(t,e){const n=Sr((r,i,s)=>Te(r),(r,i,s)=>{let{nextLevelNodes:l,thickness:a}=r,o=a+s,d=a/o,c,f=[];if(!l.length)c=e;else for(let u of l)if(c===void 0){let p=n(u,i,o);c=p[0],f.push(p[1])}else{let p=n(u,c,0);f.push(p[1])}let h=(c-i)*d;return[c-h,Object.assign(Object.assign({},r),{thickness:h,nextLevelNodes:f})]});return t.map(r=>n(r,0,0)[1])}function Dh(t){let e=[];const n=Sr((i,s,l)=>Te(i),(i,s,l)=>{let a=Object.assign(Object.assign({},i),{levelCoord:s,stackDepth:l,stackForward:0});return e.push(a),a.stackForward=r(i.nextLevelNodes,s+i.thickness,l+1)+1});function r(i,s,l){let a=0;for(let o of i)a=Math.max(n(o,s,l),a);return a}return r(t,0,0),e}function Sr(t,e){const n={};return(...r)=>{let i=t(...r);return i in n?n[i]:n[i]=e(...r)}}function Di(t,e,n=null,r=0){let i=[];if(n)for(let s=0;s<t.length;s+=1){let l=t[s],a=n.computeDateTop(l.start,e),o=Math.max(a+(r||0),n.computeDateTop(l.end,e));i.push({start:Math.round(a),end:Math.round(o)})}return i}function wh(t,e,n,r){let i=[],s=[];for(let d=0;d<t.length;d+=1){let c=e[d];c?i.push({index:d,thickness:1,span:c}):s.push(t[d])}let{segRects:l,hiddenGroups:a}=bh(i,n,r),o=[];for(let d of l)o.push({seg:t[d.index],rect:d});for(let d of s)o.push({seg:d,rect:null});return{segPlacements:o,hiddenGroups:a}}const Rh=j({hour:"numeric",minute:"2-digit",meridiem:!1});class Sl extends N{render(){return g(qs,Object.assign({},this.props,{elClasses:["fc-timegrid-event","fc-v-event",this.props.isShort&&"fc-timegrid-event-short"],defaultTimeFormat:Rh}))}}class _h extends N{constructor(){super(...arguments),this.sortEventSegs=C(Cs)}render(){let{props:e,context:n}=this,{options:r}=n,i=r.selectMirror,s=e.eventDrag&&e.eventDrag.segs||e.eventResize&&e.eventResize.segs||i&&e.dateSelectionSegs||[],l=e.eventDrag&&e.eventDrag.affectedInstances||e.eventResize&&e.eventResize.affectedInstances||{},a=this.sortEventSegs(e.fgEventSegs,r.eventOrder);return g(br,{elTag:"td",elRef:e.elRef,elClasses:["fc-timegrid-col",...e.extraClassNames||[]],elAttrs:Object.assign({role:"gridcell"},e.extraDataAttrs),date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,extraRenderProps:e.extraRenderProps},o=>g("div",{className:"fc-timegrid-col-frame"},g("div",{className:"fc-timegrid-col-bg"},this.renderFillSegs(e.businessHourSegs,"non-business"),this.renderFillSegs(e.bgEventSegs,"bg-event"),this.renderFillSegs(e.dateSelectionSegs,"highlight")),g("div",{className:"fc-timegrid-col-events"},this.renderFgSegs(a,l,!1,!1,!1)),g("div",{className:"fc-timegrid-col-events"},this.renderFgSegs(s,{},!!e.eventDrag,!!e.eventResize,!!i,"mirror")),g("div",{className:"fc-timegrid-now-indicator-container"},this.renderNowIndicator(e.nowIndicatorSegs)),yr(r)&&g(o,{elTag:"div",elClasses:["fc-timegrid-col-misc"]})))}renderFgSegs(e,n,r,i,s,l){let{props:a}=this;return a.forPrint?Al(e,a):this.renderPositionedFgSegs(e,n,r,i,s,l)}renderPositionedFgSegs(e,n,r,i,s,l){let{eventMaxStack:a,eventShortHeight:o,eventOrderStrict:d,eventMinHeight:c}=this.context.options,{date:f,slatCoords:h,eventSelection:u,todayRange:p,nowDate:m}=this.props,v=r||i||s,y=Di(e,f,h,c),{segPlacements:E,hiddenGroups:w}=wh(e,y,d,a);return g(B,null,this.renderHiddenGroups(w,e),E.map(R=>{let{seg:L,rect:M}=R,P=L.eventRange.instance.instanceId,T=v||!!(!n[P]&&M),re=An(M&&M.span),oe=!v&&M?this.computeSegHStyle(M):{left:0,right:0},Ye=!!M&&M.stackForward>0,rn=!!M&&M.span.end-M.span.start<o;return g("div",{className:"fc-timegrid-event-harness"+(Ye?" fc-timegrid-event-harness-inset":""),key:l||P,style:Object.assign(Object.assign({visibility:T?"":"hidden"},re),oe)},g(Sl,Object.assign({seg:L,isDragging:r,isResizing:i,isDateSelecting:s,isSelected:P===u,isShort:rn},be(L,p,m))))}))}renderHiddenGroups(e,n){let{extraDateSpan:r,dateProfile:i,todayRange:s,nowDate:l,eventSelection:a,eventDrag:o,eventResize:d}=this.props;return g(B,null,e.map(c=>{let f=An(c.span),h=Th(c.entries,n);return g(mh,{key:ns(Xs(h)),hiddenSegs:h,top:f.top,bottom:f.bottom,extraDateSpan:r,dateProfile:i,todayRange:s,nowDate:l,eventSelection:a,eventDrag:o,eventResize:d})}))}renderFillSegs(e,n){let{props:r,context:i}=this,l=Di(e,r.date,r.slatCoords,i.options.eventMinHeight).map((a,o)=>{let d=e[o];return g("div",{key:ws(d.eventRange),className:"fc-timegrid-bg-harness",style:An(a)},n==="bg-event"?g(Qs,Object.assign({seg:d},be(d,r.todayRange,r.nowDate))):Ys(n))});return g(B,null,l)}renderNowIndicator(e){let{slatCoords:n,date:r}=this.props;return n?e.map((i,s)=>g(vr,{key:s,elClasses:["fc-timegrid-now-indicator-line"],elStyle:{top:n.computeDateTop(i.start,r)},isAxis:!1,date:r})):null}computeSegHStyle(e){let{isRtl:n,options:r}=this.context,i=r.slotEventOverlap,s=e.levelCoord,l=e.levelCoord+e.thickness,a,o;i&&(l=Math.min(1,s+(l-s)*2)),n?(a=1-l,o=s):(a=s,o=1-l);let d={zIndex:e.stackDepth+1,left:a*100+"%",right:o*100+"%"};return i&&!e.stackForward&&(d[n?"marginLeft":"marginRight"]=10*2),d}}function Al(t,{todayRange:e,nowDate:n,eventSelection:r,eventDrag:i,eventResize:s}){let l=(i?i.affectedInstances:null)||(s?s.affectedInstances:null)||{};return g(B,null,t.map(a=>{let o=a.eventRange.instance.instanceId;return g("div",{key:o,style:{visibility:l[o]?"hidden":""}},g(Sl,Object.assign({seg:a,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:o===r,isShort:!1},be(a,e,n))))}))}function An(t){return t?{top:t.start,bottom:-t.end}:{top:"",bottom:""}}function Th(t,e){return t.map(n=>e[n.index])}class xh extends N{constructor(){super(...arguments),this.splitFgEventSegs=C(Ze),this.splitBgEventSegs=C(Ze),this.splitBusinessHourSegs=C(Ze),this.splitNowIndicatorSegs=C(Ze),this.splitDateSelectionSegs=C(Ze),this.splitEventDrag=C(Ai),this.splitEventResize=C(Ai),this.rootElRef=Y(),this.cellElRefs=new ce}render(){let{props:e,context:n}=this,r=n.options.nowIndicator&&e.slatCoords&&e.slatCoords.safeComputeTop(e.nowDate),i=e.cells.length,s=this.splitFgEventSegs(e.fgEventSegs,i),l=this.splitBgEventSegs(e.bgEventSegs,i),a=this.splitBusinessHourSegs(e.businessHourSegs,i),o=this.splitNowIndicatorSegs(e.nowIndicatorSegs,i),d=this.splitDateSelectionSegs(e.dateSelectionSegs,i),c=this.splitEventDrag(e.eventDrag,i),f=this.splitEventResize(e.eventResize,i);return g("div",{className:"fc-timegrid-cols",ref:this.rootElRef},g("table",{role:"presentation",style:{minWidth:e.tableMinWidth,width:e.clientWidth}},e.tableColGroupNode,g("tbody",{role:"presentation"},g("tr",{role:"row"},e.axis&&g("td",{"aria-hidden":!0,className:"fc-timegrid-col fc-timegrid-axis"},g("div",{className:"fc-timegrid-col-frame"},g("div",{className:"fc-timegrid-now-indicator-container"},typeof r=="number"&&g(vr,{elClasses:["fc-timegrid-now-indicator-arrow"],elStyle:{top:r},isAxis:!0,date:e.nowDate})))),e.cells.map((h,u)=>g(_h,{key:h.key,elRef:this.cellElRefs.createRef(h.key),dateProfile:e.dateProfile,date:h.date,nowDate:e.nowDate,todayRange:e.todayRange,extraRenderProps:h.extraRenderProps,extraDataAttrs:h.extraDataAttrs,extraClassNames:h.extraClassNames,extraDateSpan:h.extraDateSpan,fgEventSegs:s[u],bgEventSegs:l[u],businessHourSegs:a[u],nowIndicatorSegs:o[u],dateSelectionSegs:d[u],eventDrag:c[u],eventResize:f[u],slatCoords:e.slatCoords,eventSelection:e.eventSelection,forPrint:e.forPrint}))))))}componentDidMount(){this.updateCoords()}componentDidUpdate(){this.updateCoords()}updateCoords(){let{props:e}=this;e.onColCoords&&e.clientWidth!==null&&e.onColCoords(new Ge(this.rootElRef.current,kh(this.cellElRefs.currentMap,e.cells),!0,!1))}}function kh(t,e){return e.map(n=>t[n.key])}class Mh extends ae{constructor(){super(...arguments),this.processSlotOptions=C(Ih),this.state={slatCoords:null},this.handleRootEl=e=>{e?this.context.registerInteractiveComponent(this,{el:e,isHitComboAllowed:this.props.isHitComboAllowed}):this.context.unregisterInteractiveComponent(this)},this.handleScrollRequest=e=>{let{onScrollTopRequest:n}=this.props,{slatCoords:r}=this.state;if(n&&r){if(e.time){let i=r.computeTimeTop(e.time);i=Math.ceil(i),i&&(i+=1),n(i)}return!0}return!1},this.handleColCoords=e=>{this.colCoords=e},this.handleSlatCoords=e=>{this.setState({slatCoords:e}),this.props.onSlatCoords&&this.props.onSlatCoords(e)}}render(){let{props:e,state:n}=this;return g("div",{className:"fc-timegrid-body",ref:this.handleRootEl,style:{width:e.clientWidth,minWidth:e.tableMinWidth}},g(gh,{axis:e.axis,dateProfile:e.dateProfile,slatMetas:e.slatMetas,clientWidth:e.clientWidth,minHeight:e.expandRows?e.clientHeight:"",tableMinWidth:e.tableMinWidth,tableColGroupNode:e.axis?e.tableColGroupNode:null,onCoords:this.handleSlatCoords}),g(xh,{cells:e.cells,axis:e.axis,dateProfile:e.dateProfile,businessHourSegs:e.businessHourSegs,bgEventSegs:e.bgEventSegs,fgEventSegs:e.fgEventSegs,dateSelectionSegs:e.dateSelectionSegs,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,todayRange:e.todayRange,nowDate:e.nowDate,nowIndicatorSegs:e.nowIndicatorSegs,clientWidth:e.clientWidth,tableMinWidth:e.tableMinWidth,tableColGroupNode:e.tableColGroupNode,slatCoords:n.slatCoords,onColCoords:this.handleColCoords,forPrint:e.forPrint}))}componentDidMount(){this.scrollResponder=this.context.createScrollResponder(this.handleScrollRequest)}componentDidUpdate(e){this.scrollResponder.update(e.dateProfile!==this.props.dateProfile)}componentWillUnmount(){this.scrollResponder.detach()}queryHit(e,n){let{dateEnv:r,options:i}=this.context,{colCoords:s}=this,{dateProfile:l}=this.props,{slatCoords:a}=this.state,{snapDuration:o,snapsPerSlot:d}=this.processSlotOptions(this.props.slotDuration,i.snapDuration),c=s.leftToIndex(e),f=a.positions.topToIndex(n);if(c!=null&&f!=null){let h=this.props.cells[c],u=a.positions.tops[f],p=a.positions.getHeight(f),m=(n-u)/p,v=Math.floor(m*d),y=f*d+v,E=this.props.cells[c].date,w=xn(l.slotMinTime,qa(o,y)),R=r.add(E,w),L=r.add(R,o);return{dateProfile:l,dateSpan:Object.assign({range:{start:R,end:L},allDay:!1},h.extraDateSpan),dayEl:s.els[c],rect:{left:s.lefts[c],right:s.rights[c],top:u,bottom:u+p},layer:0}}return null}}function Ih(t,e){let n=e||t,r=$n(t,n);return r===null&&(n=t,r=1),{snapDuration:n,snapsPerSlot:r}}class Nh extends Vs{sliceRange(e,n){let r=[];for(let i=0;i<n.length;i+=1){let s=ke(e,n[i]);s&&r.push({start:s.start,end:s.end,isStart:s.start.valueOf()===e.start.valueOf(),isEnd:s.end.valueOf()===e.end.valueOf(),col:i})}return r}}class Oh extends ae{constructor(){super(...arguments),this.buildDayRanges=C(Ph),this.slicer=new Nh,this.timeColsRef=Y()}render(){let{props:e,context:n}=this,{dateProfile:r,dayTableModel:i}=e,{nowIndicator:s,nextDayThreshold:l}=n.options,a=this.buildDayRanges(i,r,n.dateEnv);return g(Qe,{unit:s?"minute":"day"},(o,d)=>g(Mh,Object.assign({ref:this.timeColsRef},this.slicer.sliceProps(e,r,null,n,a),{forPrint:e.forPrint,axis:e.axis,dateProfile:r,slatMetas:e.slatMetas,slotDuration:e.slotDuration,cells:i.cells[0],tableColGroupNode:e.tableColGroupNode,tableMinWidth:e.tableMinWidth,clientWidth:e.clientWidth,clientHeight:e.clientHeight,expandRows:e.expandRows,nowDate:o,nowIndicatorSegs:s&&this.slicer.sliceNowDate(o,r,l,n,a),todayRange:d,onScrollTopRequest:e.onScrollTopRequest,onSlatCoords:e.onSlatCoords})))}}function Ph(t,e,n){let r=[];for(let i of t.headerDates)r.push({start:n.add(i,e.slotMinTime),end:n.add(i,e.slotMaxTime)});return r}const wi=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];function Hh(t,e,n,r,i){let s=new Date(0),l=t,a=k(0),o=n||Bh(r),d=[];for(;ne(l)<ne(e);){let c=i.add(s,l),f=$n(a,o)!==null;d.push({date:c,time:l,key:c.toISOString(),isoTimeStr:oo(c),isLabeled:f}),l=xn(l,r),a=xn(a,r)}return d}function Bh(t){let e,n,r;for(e=wi.length-1;e>=0;e-=1)if(n=k(wi[e]),r=$n(n,t),r!==null&&r>1)return n;return t}class Uh extends dh{constructor(){super(...arguments),this.buildTimeColsModel=C(Lh),this.buildSlatMetas=C(Hh)}render(){let{options:e,dateEnv:n,dateProfileGenerator:r}=this.context,{props:i}=this,{dateProfile:s}=i,l=this.buildTimeColsModel(s,r),a=this.allDaySplitter.splitProps(i),o=this.buildSlatMetas(s.slotMinTime,s.slotMaxTime,e.slotLabelInterval,e.slotDuration,n),{dayMinWidth:d}=e,c=!d,f=d,h=e.dayHeaders&&g(Bs,{dates:l.headerDates,dateProfile:s,datesRepDistinctDays:!0,renderIntro:c?this.renderHeadAxis:null}),u=e.allDaySlot!==!1&&(m=>g(gl,Object.assign({},a.allDay,{dateProfile:s,dayTableModel:l,nextDayThreshold:e.nextDayThreshold,tableMinWidth:m.tableMinWidth,colGroupNode:m.tableColGroupNode,renderRowIntro:c?this.renderTableRowAxis:null,showWeekNumbers:!1,expandRows:!1,headerAlignElRef:this.headerElRef,clientWidth:m.clientWidth,clientHeight:m.clientHeight,forPrint:i.forPrint},this.getAllDayMaxEventProps()))),p=m=>g(Oh,Object.assign({},a.timed,{dayTableModel:l,dateProfile:s,axis:c,slotDuration:e.slotDuration,slatMetas:o,forPrint:i.forPrint,tableColGroupNode:m.tableColGroupNode,tableMinWidth:m.tableMinWidth,clientWidth:m.clientWidth,clientHeight:m.clientHeight,onSlatCoords:this.handleSlatCoords,expandRows:m.expandRows,onScrollTopRequest:this.handleScrollTopRequest}));return f?this.renderHScrollLayout(h,u,p,l.colCnt,d,o,this.state.slatCoords):this.renderSimpleLayout(h,u,p)}}function Lh(t,e){let n=new Us(t.renderRange,e);return new Ls(n,!1)}var Vh='.fc-v-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-v-event .fc-event-main{color:var(--fc-event-text-color);height:100%}.fc-v-event .fc-event-main-frame{display:flex;flex-direction:column;height:100%}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{bottom:0;max-height:100%;overflow:hidden;top:0}.fc-v-event:not(.fc-event-start){border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.fc-v-event:not(.fc-event-end){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:var(--fc-event-resizer-thickness);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{min-height:100%;position:relative;z-index:1}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{border-bottom:0;height:1.5em}.fc .fc-timegrid-slot:empty:before{content:"\\00a0"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{align-items:center;display:flex;justify-content:flex-end;overflow:hidden}.fc .fc-timegrid-axis-cushion{flex-shrink:0;max-width:60px}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols{bottom:0;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{left:0;position:absolute;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{bottom:0;left:0;position:absolute;right:0;top:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px var(--fc-page-bg-color)}.fc-timegrid-event,.fc-timegrid-more-link{border-radius:3px;font-size:var(--fc-small-font-size)}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{font-size:var(--fc-small-font-size);margin-bottom:1px;white-space:nowrap}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:"\\00a0-\\00a0"}.fc-timegrid-event-short .fc-event-title{font-size:var(--fc-small-font-size)}.fc-timegrid-more-link{background:var(--fc-more-link-bg-color);color:var(--fc-more-link-text-color);cursor:pointer;margin-bottom:1px;position:absolute;z-index:9999}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-arrow,.fc .fc-timegrid-now-indicator-line{pointer-events:none}.fc .fc-timegrid-now-indicator-line{border-color:var(--fc-now-indicator-color);border-style:solid;border-width:1px 0 0;left:0;position:absolute;right:0;z-index:4}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--fc-now-indicator-color);border-style:solid;margin-top:-5px;position:absolute;z-index:4}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 0 5px 6px;left:0}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 6px 5px 0;right:0}';Wn(Vh);const Fh={allDaySlot:Boolean};var jh=ge({name:"@fullcalendar/timegrid",initialView:"timeGridWeek",optionRefiners:Fh,views:{timeGrid:{component:Uh,usesMinMaxTime:!0,allDaySlot:!0,slotDuration:"00:30:00",slotEventOverlap:!0},timeGridDay:{type:"timeGrid",duration:{days:1}},timeGridWeek:{type:"timeGrid",duration:{weeks:1}}}});const zh={class:"text-h5 ml-4 mb-6"},Sg={__name:"CalendarView",setup(t){const{$gettext:e,current:n}=qt(),r=Bl(),i=Qt(),s=I(),l=I(),a=I(),o=I(null),d=I(null),c=I([]),f=I(!1),h=I(!1),u=I(!1),p=I(!1),m=I(!1),v=jn(()=>{const _=[{icon:"mdi-plus",text:e("New calendar"),action:E},{text:e("My calendars"),subheader:!0}];for(const x of c.value)_.push({text:x.name,children:[{text:e("Information"),icon:"mdi-information-outline",action:()=>R(x)},{text:e("Edit"),icon:"mdi-pencil",action:()=>_l(x)},{text:e("Access rules"),icon:"mdi-filter-outline",action:()=>M(x)},{text:e("Delete"),icon:"mdi-trash-can-outline",action:()=>Tl(x.pk)},{text:e("Import"),icon:"mdi-calendar-import-outline",action:()=>T(x)}]});return _});async function y(_,x,z,ie){try{const sn=await G.getUserCalendarEvents(_,{start:x.startStr,end:x.endStr});z(sn.data)}catch(sn){ie(sn)}}function E(){h.value=!0}function w(){o.value=null,h.value=!1,oe()}function R(_){o.value=_,u.value=!0}function L(){o.value=null,u.value=!1}function M(_){o.value=_,f.value=!0}function P(){o.value=null,f.value=!1}function T(_){o.value=_,m.value=!0}function re(){o.value=null,m.value=!1}function oe(){G.getUserCalendars().then(_=>{c.value=_.data})}function Ye(_){s.value.getApi().getEventSourceById(`user-${_}`).refetch()}function rn(_){a.value=_,p.value=!0}async function Cl(_){const x=await G.getUserEvent(_.event.extendedProps.calendar.pk,_.event.id);d.value=x.data,p.value=!0}function Ar(_){var x={start:_.start,end:_.end};const z=_.extendedProps.calendar;if(_.allDay){const ie=He.fromJSDate(x.start);ie.plus({days:1}),x.start.setHours(0,0,0),x.end=ie,x.allDay=_.allDay}else if(!_.end){const ie=He.fromJSDate(x.start);ie.plus({hours:1}),x.end=ie}G.patchUserEvent(z.pk,_.id,x).then(ie=>{i.displayNotification({msg:e("Event updated")})})}function Dl(_){Ar(_.event)}function wl(_){Ar(_.event)}function Rl(){p.value=!1,d.value=null}function _l(_){o.value=_,h.value=!0}async function Tl(_){if(!await l.value.open(e("Warning"),e("Do you really want to delete this calendar?"),{color:"warning"}))return;await G.deleteUserCalendar(_),s.value.getApi().getEventSourceById(`user-${_}`).remove(),oe(),i.displayNotification({msg:e("Calendar deleted")})}const xl={plugins:[jh,Pf,rh],headerToolbar:{left:"prev,next today",center:"title",right:"dayGridMonth,timeGridWeek,timeGridDay"},scrollTime:"09:00:00",height:"100%",firstDay:1,initialView:"timeGridWeek",locale:n,selectable:!0,selectMirror:!0,editable:!0,dayMaxEventRows:!0,businessHours:{daysOfWeek:[1,2,3,4,5],startTime:"09:00",endTime:"18:00"},select:rn,eventClick:Cl,eventDrop:Dl,eventResize:wl};return _t(v,_=>{r.setLeftMenuItems(_)},{immediate:!0}),_t(c,_=>{const x=s.value.getApi();if(x)for(const z of _)x.getEventSourceById(`user-${z.pk}`)||x.addEventSource({id:`user-${z.pk}`,events:y.bind(this,z.pk)})}),Ri(()=>{oe()}),(_,x)=>(Z(),Fe(Gt,null,[V("div",zh,H(O(e)("Calendar")),1),S(O(sf),{ref_key:"calendarRef",ref:s,options:xl},null,512),S($e,{modelValue:u.value,"onUpdate:modelValue":x[0]||(x[0]=z=>u.value=z),persistent:"","max-width":"800px"},{default:D(()=>[S(O(Ql),{calendar:o.value,onClose:L},null,8,["calendar"])]),_:1},8,["modelValue"]),S($e,{modelValue:h.value,"onUpdate:modelValue":x[1]||(x[1]=z=>h.value=z),persistent:"","max-width":"800px"},{default:D(()=>[S(O(Gl),{"initial-calendar":o.value,onColorChanged:Ye,onClose:w},null,8,["initial-calendar"])]),_:1},8,["modelValue"]),S($e,{modelValue:p.value,"onUpdate:modelValue":x[2]||(x[2]=z=>p.value=z),persistent:"","max-width":"800px"},{default:D(()=>[S(O(Jl),{info:a.value,event:d.value,onRefreshCalendar:Ye,onClose:Rl},null,8,["info","event"])]),_:1},8,["modelValue"]),S($e,{modelValue:f.value,"onUpdate:modelValue":x[3]||(x[3]=z=>f.value=z),persistent:"","max-width":"800px"},{default:D(()=>[o.value?(Z(),ye(O(jl),{key:0,"calendar-pk":o.value.pk,onClose:P},null,8,["calendar-pk"])):tt("",!0)]),_:1},8,["modelValue"]),S($e,{modelValue:m.value,"onUpdate:modelValue":x[4]||(x[4]=z=>m.value=z),persistent:"","max-width":"800px"},{default:D(()=>[o.value?(Z(),ye(O(ea),{key:0,calendar:o.value,onEventsImported:Ye,onClose:re},null,8,["calendar"])):tt("",!0)]),_:1},8,["modelValue"]),S(O(Ol),{ref_key:"confirm",ref:l},null,512)],64))}};export{Sg as default};