@camera.ui/server 0.0.96 → 0.0.97

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 (201) hide show
  1. package/dist/interface/assets/{404-Clo6qjGo.js → 404-4LnwoCjV.js} +1 -1
  2. package/dist/interface/assets/{About-Bfjj72u5.js → About-bvLBtUy2.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-B_SQSHyD.js → Adminpanel-CWb2ZPPG.js} +1 -1
  4. package/dist/interface/assets/{Automation-CQm0ZHfh.js → Automation-C25AZETJ.js} +2 -2
  5. package/dist/interface/assets/{Automations-Dbs6NMx-.js → Automations-BpLZVUAZ.js} +1 -1
  6. package/dist/interface/assets/Camera-1ii5b47V.js +2 -0
  7. package/dist/interface/assets/CameraConsole-ep5CUZNu.js +7 -0
  8. package/dist/interface/assets/Cameras-DTL-BCYT.css +1 -0
  9. package/dist/interface/assets/Cameras-vPU6uknc.js +656 -0
  10. package/dist/interface/assets/Camview-D2ON2UGk.js +1 -0
  11. package/dist/interface/assets/{Camview-C0yJPOLo.css → Camview-O0phps-e.css} +1 -1
  12. package/dist/interface/assets/{Config-Dc7jeUIy.js → Config-BQQkw0Ol.js} +1 -1
  13. package/dist/interface/assets/{ConfigActionCameraControl-aMa-699v.js → ConfigActionCameraControl-BIwMf0Pc.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionDelay-DGdVeQDT.js → ConfigActionDelay-B8IeqrQl.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionHttp-B3tZHdsR.js → ConfigActionHttp-ChmRoLGn.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionImageInput-BN7Iwsa-.js → ConfigActionImageInput-BXGvomRn.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionNotification-D_4Y919Q.js → ConfigActionNotification-IyTVckPy.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionOutput-Bd84SbZE.js → ConfigActionOutput-puWLDmCK.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionPlugin-DMAUig6Q.js → ConfigActionPlugin-CJcmszAL.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionSensor-DuHOX22J.js → ConfigActionSensor-TP-clDuT.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionSnapshot-Dtde_3hQ.js → ConfigActionSnapshot-D9qfVi25.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionVariable-D4fNkkoL.js → ConfigActionVariable-m9pSdZRi.js} +1 -1
  23. package/dist/interface/assets/{ConfigConditionIfElse-D5EjxXMg.js → ConfigConditionIfElse-qGQl3t_X.js} +1 -1
  24. package/dist/interface/assets/{ConfigConditionSensorState-CyPhwS7K.js → ConfigConditionSensorState-BbYFiyQO.js} +1 -1
  25. package/dist/interface/assets/{ConfigConditionSwitch-CIJ64bNh.js → ConfigConditionSwitch-Fmxop0ZO.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionTime-CBShDqBo.js → ConfigConditionTime-pVizMny5.js} +1 -1
  27. package/dist/interface/assets/{ConfigTriggerDetection-C7RtR75f.js → ConfigTriggerDetection-5qawJGDL.js} +1 -1
  28. package/dist/interface/assets/{ConfigTriggerGeofence-CDU2jx7z.js → ConfigTriggerGeofence-D7xWoEKp.js} +1 -1
  29. package/dist/interface/assets/{ConfigTriggerManual-CoImkqag.js → ConfigTriggerManual-Cdl-639w.js} +1 -1
  30. package/dist/interface/assets/{ConfigTriggerSchedule-BJSgt14u.js → ConfigTriggerSchedule-BeMgx20W.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerSensor-t0MTHl1T.js → ConfigTriggerSensor-CdMpLf9A.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerSystem-DXCusYWo.js → ConfigTriggerSystem-Df5J0gpZ.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerWebhook-4yHSEfMK.js → ConfigTriggerWebhook-Cbl7Xnqa.js} +1 -1
  34. package/dist/interface/assets/{Console-D32_FF2q.js → Console-C9gkw0lo.js} +1 -1
  35. package/dist/interface/assets/{CuiActionButton-BTl3-QUV.js → CuiActionButton-vWfTn9v6.js} +1 -1
  36. package/dist/interface/assets/{CuiAvatar-DQfgB_0j.js → CuiAvatar-CgMxEmy_.js} +1 -1
  37. package/dist/interface/assets/{CuiBBoxPlayground-BYZaz-7W.js → CuiBBoxPlayground-JxlxAwEH.js} +1 -1
  38. package/dist/interface/assets/CuiBottomSheet-Crtral92.js +1 -0
  39. package/dist/interface/assets/{CuiBottomSheet-Cgbt7aQP.js → CuiBottomSheet-DeatNfwe.js} +1 -1
  40. package/dist/interface/assets/CuiCameraCard-BQpPhbFu.js +1 -0
  41. package/dist/interface/assets/{CuiCameraPipCard-CLa09t5W.js → CuiCameraPipCard-mI-fq1HA.js} +1 -1
  42. package/dist/interface/assets/CuiCameraRecordings-DdHzzlQ0.js +1 -0
  43. package/dist/interface/assets/{CuiCameraShares-BCTN3Ie-.js → CuiCameraShares-Ccl_R18x.js} +1 -1
  44. package/dist/interface/assets/CuiCameraSnapshot-BSHFq9Wu.js +1 -0
  45. package/dist/interface/assets/{CuiCameraTable-DMKLoisE.js → CuiCameraTable-vtE18b9O.js} +1 -1
  46. package/dist/interface/assets/{CuiFloatingButton-C1-fhCxw.js → CuiFloatingButton-C4icz7qO.js} +1 -1
  47. package/dist/interface/assets/{CuiImage-Ab94PYIg.js → CuiImage-BW_rXmKP.js} +1 -1
  48. package/dist/interface/assets/{CuiMenu-CX2XxBmg.js → CuiMenu-BnlDnhe4.js} +1 -1
  49. package/dist/interface/assets/{CuiPluginCard-DQXny68Q.js → CuiPluginCard-BjIla0Lh.js} +2 -2
  50. package/dist/interface/assets/{CuiPluginOAuthButton-BvRVOPAt.js → CuiPluginOAuthButton-BjITZzrH.js} +2 -2
  51. package/dist/interface/assets/{CuiQRCode-DOVuTNfQ.js → CuiQRCode-CdXrr9fF.js} +1 -1
  52. package/dist/interface/assets/CuiRecordingsGrid-DEMp6jb1.js +1 -0
  53. package/dist/interface/assets/{CuiSchema-L35JTZ5Y.js → CuiSchema-B5BebPPL.js} +1 -1
  54. package/dist/interface/assets/{CuiTopNavbarItem-dBqQ0_Wd.js → CuiTopNavbarItem-C1Jf6-v6.js} +1 -1
  55. package/dist/interface/assets/{CuiTopbarSlot-Bf3keW8N.js → CuiTopbarSlot-DBQggZ_k.js} +1 -1
  56. package/dist/interface/assets/{Faces-DLdVxTYg.js → Faces-BuDpT1bS.js} +1 -1
  57. package/dist/interface/assets/{FirstSteps-c4m_l-s9.js → FirstSteps-BA2GcdeZ.js} +1 -1
  58. package/dist/interface/assets/{Instances-BE8EkRQ4.js → Instances-CRywvMB3.js} +1 -1
  59. package/dist/interface/assets/{Menu-BK9rk_sp.js → Menu-D7K5vheb.js} +1 -1
  60. package/dist/interface/assets/{OAuthDeviceFlow-DwoyMn6e.js → OAuthDeviceFlow-hX46XrKS.js} +1 -1
  61. package/dist/interface/assets/Plugin-LKueZ7Bz.css +1 -0
  62. package/dist/interface/assets/Plugin-fmS65xcP.js +1 -0
  63. package/dist/interface/assets/PluginConsole-BlNqePgI.js +7 -0
  64. package/dist/interface/assets/{PluginSchema-7qwKEn6c.js → PluginSchema-0aNy8YQq.js} +1 -1
  65. package/dist/interface/assets/{Plugins-CFXvg0P-.js → Plugins-DprSQtTi.js} +2 -2
  66. package/dist/interface/assets/Recordings-DX54fvB1.js +1 -0
  67. package/dist/interface/assets/{Settings-CnGCN9cC.js → Settings-CLAZVcfy.js} +1 -1
  68. package/dist/interface/assets/{SettingsAccount-lIy74Kjh.js → SettingsAccount-C1SbeJeY.js} +1 -1
  69. package/dist/interface/assets/SettingsAccount-CXmg2Mcz.js +1 -0
  70. package/dist/interface/assets/{SettingsAppearance-DLnlx8bM.js → SettingsAppearance-BNnf1b_H.js} +1 -1
  71. package/dist/interface/assets/SettingsAppearance-C8m7xHUu.js +1 -0
  72. package/dist/interface/assets/SettingsBackup-DPBoJMtH.js +1 -0
  73. package/dist/interface/assets/{SettingsNotifications-di325j-b.js → SettingsNotifications-CLJy9x9n.js} +1 -1
  74. package/dist/interface/assets/{SettingsRecordings-DvNlji2N.js → SettingsRecordings-N7Z5TfSc.js} +1 -1
  75. package/dist/interface/assets/{SettingsRemote-Kb-ichM0.js → SettingsRemote-COUnUIJS.js} +1 -1
  76. package/dist/interface/assets/{SettingsSystem-C0OHXycw.js → SettingsSystem-DQpLhvrZ.js} +2 -2
  77. package/dist/interface/assets/{SettingsUsers-Dx8Fm2QE.js → SettingsUsers-YTqxZlmG.js} +1 -1
  78. package/dist/interface/assets/{Terminal-BR9InMiL.js → Terminal-Bw7lYJBM.js} +1 -1
  79. package/dist/interface/assets/{VariableInput-B4E4nh-i.js → VariableInput-Djug7qo2.js} +1 -1
  80. package/dist/interface/assets/{VariableSuggestions-BvuF7Ezf.js → VariableSuggestions-BIqdHoyn.js} +1 -1
  81. package/dist/interface/assets/VersionsHandler-BxEnoZuK.js +7 -0
  82. package/dist/interface/assets/{Workers-BINNsLDU.js → Workers-eBjEKjQP.js} +1 -1
  83. package/dist/interface/assets/{api-D23Y8GEd.js → api-BRFaSK8y.js} +1 -1
  84. package/dist/interface/assets/api-CxmpI477.js +2 -0
  85. package/dist/interface/assets/{auth-CeN6oTgU.js → auth-BXBwiBIH.js} +1 -1
  86. package/dist/interface/assets/{automations-CBmYKozI.js → automations-Cg4kEME7.js} +1 -1
  87. package/dist/interface/assets/{automations-G3fWqK-C.js → automations-Z2hMedMg.js} +1 -1
  88. package/dist/interface/assets/{backup-KFYNv85J.js → backup-yOGR7lqI.js} +1 -1
  89. package/dist/interface/assets/bell-cSRUkOne.js +1 -0
  90. package/dist/interface/assets/{cameras-DeAGPYqb.js → cameras-DHOi-zot.js} +1 -1
  91. package/dist/interface/assets/{cameras.schema-BSB78_gg.js → cameras.schema-fPR1KOyp.js} +1 -1
  92. package/dist/interface/assets/cloudHandoff-BJ8olRtK.js +1 -0
  93. package/dist/interface/assets/{deviceId-CgRNCVsl.js → deviceId-Bn_6G8Gz.js} +1 -1
  94. package/dist/interface/assets/{hasPermission-nr9uI1sh.js → hasPermission-DjEBddex.js} +1 -1
  95. package/dist/interface/assets/{instances-Cz4DJwNc.js → instances-CGhiomVU.js} +1 -1
  96. package/dist/interface/assets/{locale-fNpCK2bH.js → locale-CKgqENB3.js} +1 -1
  97. package/dist/interface/assets/main-8r8D2YqX.js +3 -0
  98. package/dist/interface/assets/{notifications-euShmBTH.js → notifications-DDYgdk1C.js} +1 -1
  99. package/dist/interface/assets/plugins-DFu-PyaK.js +1 -0
  100. package/dist/interface/assets/{round-restart-alt-AXgxJgvx.js → round-restart-alt-X9I15hRL.js} +1 -1
  101. package/dist/interface/assets/router-DMYEhxdj.js +2 -0
  102. package/dist/interface/assets/{routerState-ByPqbiUl.js → routerState-B_z68YwD.js} +1 -1
  103. package/dist/interface/assets/{server-CfW4FWmD.js → server-BpIPZq5L.js} +1 -1
  104. package/dist/interface/assets/{shares-CifP6qUz.js → shares-TtxtbPZt.js} +1 -1
  105. package/dist/interface/assets/{theme-3K07RHLA.js → theme-MOk5mCsC.js} +1 -1
  106. package/dist/interface/assets/types-CRlXpmFA.js +1 -0
  107. package/dist/interface/assets/{ui-Cfq-tG-U.js → ui-CY2-_evw.js} +1 -1
  108. package/dist/interface/assets/{useBiometricCredentials-DS-lOPkp.js → useBiometricCredentials-Boyb2klA.js} +1 -1
  109. package/dist/interface/assets/{useCameraOptions-CO9VqYVT.js → useCameraOptions-BOSJBPuE.js} +1 -1
  110. package/dist/interface/assets/{useCuiCameraDrawer-Cmh9A6-k.js → useCuiCameraDrawer-BmdGPeEe.js} +1 -1
  111. package/dist/interface/assets/{useCuiDialog-BlhSS0jk.js → useCuiDialog-DOcwIZA3.js} +1 -1
  112. package/dist/interface/assets/{useFileDownload-DEM9UhjP.js → useFileDownload-CRB3k3lW.js} +1 -1
  113. package/dist/interface/assets/{useLogsSocket-CNAQ1g8I.js → useLogsSocket-B1L7x9fB.js} +1 -1
  114. package/dist/interface/assets/{useSharedComposables-Dyso8kmC.js → useSharedComposables-THEdrAoU.js} +1 -1
  115. package/dist/interface/assets/{useStreamStatus-Bn6gxutk.js → useStreamStatus-OmVyef54.js} +1 -1
  116. package/dist/interface/assets/{users.schema-D9OMoaax.js → users.schema-DXBgo_V0.js} +1 -1
  117. package/dist/interface/assets/{vendor-cameraui-CeENiq5U.js → vendor-cameraui-CUPAufpt.js} +21 -21
  118. package/dist/interface/assets/{vendor-core-D8xC2dee.js → vendor-core-Cmu2BAxm.js} +1 -1
  119. package/dist/interface/assets/{vendor-primevue-D-xm-xIu.js → vendor-primevue-Bs3kBqxF.js} +1 -1
  120. package/dist/interface/assets/view-grid-C9udm-L-.js +1 -0
  121. package/dist/interface/assets/view-grid-CdZOfBph.css +1 -0
  122. package/dist/interface/index.html +43 -42
  123. package/dist/interface/sw.js +1 -1
  124. package/dist/server/package.json +3 -3
  125. package/dist/server/requirements.txt +1 -1
  126. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +7 -0
  127. package/dist/server/src/api/controllers/cameras.controller.js +6 -6
  128. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  129. package/dist/server/src/api/controllers/plugins.controller.d.ts +2 -0
  130. package/dist/server/src/api/controllers/plugins.controller.js +48 -11
  131. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  132. package/dist/server/src/api/database/checks.d.ts +0 -8
  133. package/dist/server/src/api/database/checks.js +0 -49
  134. package/dist/server/src/api/database/checks.js.map +1 -1
  135. package/dist/server/src/api/database/selfcheck.d.ts +2 -38
  136. package/dist/server/src/api/database/selfcheck.js +79 -276
  137. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  138. package/dist/server/src/api/index.js +3 -1
  139. package/dist/server/src/api/index.js.map +1 -1
  140. package/dist/server/src/api/routes/plugins.routes.js +25 -1
  141. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  142. package/dist/server/src/api/schemas/backup.schema.js +2 -2
  143. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  144. package/dist/server/src/api/schemas/plugins.schema.d.ts +4 -0
  145. package/dist/server/src/api/schemas/plugins.schema.js +3 -0
  146. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  147. package/dist/server/src/api/services/backup.service.js +16 -8
  148. package/dist/server/src/api/services/backup.service.js.map +1 -1
  149. package/dist/server/src/api/types/index.d.ts +9 -0
  150. package/dist/server/src/api/websocket/nsp/cameras.d.ts +3 -0
  151. package/dist/server/src/api/websocket/nsp/cameras.js +30 -0
  152. package/dist/server/src/api/websocket/nsp/cameras.js.map +1 -1
  153. package/dist/server/src/api/websocket/nsp/server.d.ts +3 -0
  154. package/dist/server/src/api/websocket/nsp/server.js +14 -2
  155. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  156. package/dist/server/src/go2rtc/types.d.ts +3 -3
  157. package/dist/server/src/manager/discoveryManager.d.ts +5 -2
  158. package/dist/server/src/manager/discoveryManager.js +69 -61
  159. package/dist/server/src/manager/discoveryManager.js.map +1 -1
  160. package/dist/server/src/plugins/index.d.ts +1 -0
  161. package/dist/server/src/plugins/index.js +37 -4
  162. package/dist/server/src/plugins/index.js.map +1 -1
  163. package/dist/server/src/plugins/plugin.js +9 -14
  164. package/dist/server/src/plugins/plugin.js.map +1 -1
  165. package/dist/server/src/services/config/index.d.ts +4 -2
  166. package/dist/server/src/services/config/index.js +14 -4
  167. package/dist/server/src/services/config/index.js.map +1 -1
  168. package/dist/server/src/utils/engines.d.ts +2 -0
  169. package/dist/server/src/utils/engines.js +23 -0
  170. package/dist/server/src/utils/engines.js.map +1 -0
  171. package/dist/server/src/utils/interface-cache.d.ts +1 -0
  172. package/dist/server/src/utils/interface-cache.js +103 -0
  173. package/dist/server/src/utils/interface-cache.js.map +1 -0
  174. package/package.json +3 -3
  175. package/dist/interface/assets/Camera-CTIUE1PX.js +0 -2
  176. package/dist/interface/assets/CameraConsole-BQVlxqb1.js +0 -7
  177. package/dist/interface/assets/Cameras-BE9SEK9h.css +0 -1
  178. package/dist/interface/assets/Cameras-CyZMjvQu.js +0 -656
  179. package/dist/interface/assets/Camview-BnpJaGfI.js +0 -1
  180. package/dist/interface/assets/CuiBottomSheet-HO59nDTz.js +0 -1
  181. package/dist/interface/assets/CuiCameraCard-BJpi9GYb.js +0 -1
  182. package/dist/interface/assets/CuiCameraRecordings-DbPr4N27.js +0 -1
  183. package/dist/interface/assets/CuiCameraSnapshot-fX1tTzWs.js +0 -1
  184. package/dist/interface/assets/CuiRecordingsGrid-CS01gjpz.js +0 -1
  185. package/dist/interface/assets/Plugin-B4UvyHA4.js +0 -1
  186. package/dist/interface/assets/Plugin-DoxdkvWR.css +0 -1
  187. package/dist/interface/assets/PluginConsole-00dw-HUB.js +0 -7
  188. package/dist/interface/assets/Recordings-MSRod46b.js +0 -1
  189. package/dist/interface/assets/SettingsAccount-DoFSZhI5.js +0 -1
  190. package/dist/interface/assets/SettingsAppearance-DA8ON3Ts.js +0 -1
  191. package/dist/interface/assets/SettingsBackup-CpBqig7H.js +0 -1
  192. package/dist/interface/assets/VersionsHandler-J7N_cZBS.js +0 -7
  193. package/dist/interface/assets/api-DjhIYzsF.js +0 -2
  194. package/dist/interface/assets/cloudHandoff-Di9OHN7W.js +0 -1
  195. package/dist/interface/assets/main-sGc9j7q_.js +0 -3
  196. package/dist/interface/assets/plugins-DsiC2cVL.js +0 -1
  197. package/dist/interface/assets/router-BLvVFGz9.js +0 -2
  198. package/dist/interface/assets/types-C1BeYYUs.js +0 -1
  199. package/dist/interface/assets/view-grid-BUBP-PlR.css +0 -1
  200. package/dist/interface/assets/view-grid-Cg2Wk0qw.js +0 -1
  201. /package/dist/interface/assets/{error-256-DLKVOU2S.png → logo-512-DLKVOU2S.png} +0 -0
@@ -1 +1 @@
1
- import{$n as e,Cn as t,Gn as n,Jn as r,Rn as i,Tn as a,Wn as o,Xn as s,Yn as c,Yt as l,Zn as u,_n as d,ar as f,dn as p,er as m,gn as ee,ir as h,ln as g,nr as _,on as v,qn as y,rr as b,sr as x,un as S,xn as C}from"./vendor-TwHhULaP.js";import{Ai as te,Ei as w,Fi as T,Ii as E,Ni as D,Si as O,Ti as ne,Ui as re,Vi as k,bi as ie,gi as A,hi as ae,xi as j,yi as M}from"./vendor-cameraui-CeENiq5U.js";var oe=typeof window<`u`,N,P=e=>N=e,F=Symbol();function I(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var L;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(L||={});var R=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function z(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function se(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){ue(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function ce(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function B(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var V=typeof navigator==`object`?navigator:{userAgent:``},le=/Macintosh/.test(V.userAgent)&&/AppleWebKit/.test(V.userAgent)&&!/Safari/.test(V.userAgent),ue=oe?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!le?de:`msSaveOrOpenBlob`in V?fe:pe:()=>{};function de(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?B(r):ce(r.href)?se(e,t,n):(r.target=`_blank`,B(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){B(r)},0))}function fe(e,t=`download`,n){if(typeof e==`string`)if(ce(e))se(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){B(t)})}else navigator.msSaveOrOpenBlob(z(e,n),t)}function pe(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return se(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(R.HTMLElement))||`safari`in R,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||le)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:me}=Object;function he(){let t=o(!0),n=t.run(()=>e({})),r=[],i=[],a=c({install(e){P(a),a._a=e,e.provide(F,a),e.config.globalProperties.$pinia=a,i.forEach(e=>r.push(e)),i=[]},use(e){return this._a?r.push(e):i.push(e),this},_p:r,_a:null,_e:t,_s:new Map,state:n});return a}var ge=()=>{};function _e(e,t,r,i=ge){e.add(t);let a=()=>{e.delete(t)&&i()};return!r&&n()&&s(a),a}function H(e,...t){e.forEach(e=>{e(...t)})}var ve=e=>e(),ye=Symbol(),be=Symbol();function xe(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let i=t[n],a=e[n];I(a)&&I(i)&&e.hasOwnProperty(n)&&!r(i)&&!y(i)?e[n]=xe(a,i):e[n]=i}return e}var Se=Symbol();function Ce(e){return!I(e)||!Object.prototype.hasOwnProperty.call(e,Se)}var{assign:U}=Object;function we(e){return!!(r(e)&&e.effect)}function Te(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],u;function d(){return s||(n.state.value[e]=i?i():{}),U(f(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=c(l(()=>{P(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return u=Ee(e,d,t,n,r,!0),u}function Ee(t,n,a={},s,c,l){let d,f=U({actions:{}},a),p={deep:!0},m,h,g=new Set,_=new Set,v=s.state.value[t];!l&&!v&&(s.state.value[t]={}),e({});let x;function S(e){let n;m=h=!1,typeof e==`function`?(e(s.state.value[t]),n={type:L.patchFunction,storeId:t,events:void 0}):(xe(s.state.value[t],e),n={type:L.patchObject,payload:e,storeId:t,events:void 0});let r=x=Symbol();ee().then(()=>{x===r&&(m=!0)}),h=!0,H(g,n,s.state.value[t])}let C=l?function(){let{state:e}=a,t=e?e():{};this.$patch(e=>{U(e,t)})}:ge;function te(){d.stop(),g.clear(),_.clear(),s._s.delete(t)}let w=(e,n=``)=>{if(ye in e)return e[be]=n,e;let r=function(){P(s);let n=Array.from(arguments),i=new Set,a=new Set;function o(e){i.add(e)}function c(e){a.add(e)}H(_,{args:n,name:r[be],store:T,after:o,onError:c});let l;try{l=e.apply(this&&this.$id===t?this:T,n)}catch(e){throw H(a,e),e}return l instanceof Promise?l.then(e=>(H(i,e),e)).catch(e=>(H(a,e),Promise.reject(e))):(H(i,l),l)};return r[ye]=!0,r[be]=n,r},T=u({_p:s,$id:t,$onAction:_e.bind(null,_),$patch:S,$reset:C,$subscribe(e,n={}){let r=_e(g,e,n.detached,()=>a()),a=d.run(()=>i(()=>s.state.value[t],r=>{(n.flush===`sync`?h:m)&&e({storeId:t,type:L.direct,events:void 0},r)},U({},p,n)));return r},$dispose:te});s._s.set(t,T);let E=(s._a&&s._a.runWithContext||ve)(()=>s._e.run(()=>(d=o()).run(()=>n({action:w}))));for(let e in E){let n=E[e];r(n)&&!we(n)||y(n)?l||(v&&Ce(n)&&(r(n)?n.value=v[e]:xe(n,v[e])),s.state.value[t][e]=n):typeof n==`function`&&(E[e]=w(n,e),f.actions[e]=n)}return U(T,E),U(b(T),E),Object.defineProperty(T,"$state",{get:()=>s.state.value[t],set:e=>{S(t=>{U(t,e)})}}),s._p.forEach(e=>{U(T,d.run(()=>e({store:T,app:s._a,pinia:s,options:f})))}),v&&l&&a.hydrate&&a.hydrate(T.$state,v),m=!0,h=!0,T}function De(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=S();return n||=o?p(F,null):null,n&&P(n),n=N,n._s.has(e)||(i?Ee(e,t,r,n):Te(e,r,n)),n._s.get(e)}return a.$id=e,a}function Oe(e){let t=b(e),n={};for(let i in t){let a=t[i];a.effect?n[i]=l({get:()=>e[i],set(t){e[i]=t}}):(r(a)||y(a))&&(n[i]=h(e,i))}return n}var W=typeof document<`u`;function ke(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Ae(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&ke(e.default)}var G=Object.assign;function je(e,t){let n={};for(let r in t){let i=t[r];n[r]=q(i)?i.map(e):e(i)}return n}var K=()=>{},q=Array.isArray;function Me(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Ne=Symbol(``);function J(e,t){return G(Error(),{type:e,[Ne]:!0},t)}function Y(e,t){return e instanceof Error&&Ne in e&&(t==null||!!(e.type&t))}var Pe=Symbol(``),Fe=Symbol(``),Ie=Symbol(``),Le=Symbol(``),Re=Symbol(``);function ze(){return p(Ie)}function Be(e){return p(Le)}var Ve=/#/g,He=/&/g,Ue=/\//g,We=/=/g,Ge=/\?/g,Ke=/\+/g,qe=/%5B/g,Je=/%5D/g,Ye=/%5E/g,Xe=/%60/g,Ze=/%7B/g,Qe=/%7C/g,$e=/%7D/g,et=/%20/g;function tt(e){return e==null?``:encodeURI(``+e).replace(Qe,`|`).replace(qe,`[`).replace(Je,`]`)}function nt(e){return tt(e).replace(Ze,`{`).replace($e,`}`).replace(Ye,`^`)}function rt(e){return tt(e).replace(Ke,`%2B`).replace(et,`+`).replace(Ve,`%23`).replace(He,`%26`).replace(Xe,"`").replace(Ze,`{`).replace($e,`}`).replace(Ye,`^`)}function it(e){return rt(e).replace(We,`%3D`)}function at(e){return tt(e).replace(Ve,`%23`).replace(Ge,`%3F`)}function ot(e){return at(e).replace(Ue,`%2F`)}function st(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var ct=/\/$/,lt=e=>e.replace(ct,``);function ut(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=_t(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:st(o)}}function dt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function ft(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function pt(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&X(t.matched[r],n.matched[i])&&mt(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function X(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function mt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ht(e[n],t[n]))return!1;return!0}function ht(e,t){return q(e)?gt(e,t):q(t)?gt(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function gt(e,t){return q(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function _t(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Z={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function vt(e){if(!e)if(W){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),lt(e)}var yt=/^[^#]+#/;function bt(e,t){return e.replace(yt,`#`)+t}function xt(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var St=()=>({left:window.scrollX,top:window.scrollY});function Ct(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=xt(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function wt(e,t){return(history.state?history.state.position-t:-1)+e}var Tt=new Map;function Et(e,t){Tt.set(e,t)}function Dt(e){let t=Tt.get(e);return Tt.delete(e),t}function Ot(e){return typeof e==`string`||e&&typeof e==`object`}function kt(e){return typeof e==`string`||typeof e==`symbol`}function At(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(Ke,` `),i=r.indexOf(`=`),a=st(i<0?r:r.slice(0,i)),o=i<0?null:st(r.slice(i+1));if(a in t){let e=t[a];q(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function jt(e){let t=``;for(let n in e){let r=e[n];if(n=it(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(q(r)?r.map(e=>e&&rt(e)):[r&&rt(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Mt(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=q(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Nt(e,n,r){let i=e.value;if(!i)return;let a=i,o=()=>{a[n].delete(r)};t(o),C(o),d(()=>{let t=e.value;t&&(a=t),a[n].add(r)}),a[n].add(r)}function Pt(e){Nt(p(Pe,{}),`updateGuards`,e)}function $(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(J(4,{from:n,to:t})):e instanceof Error?c(e):Ot(e)?c(J(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ft(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(ke(s)){let c=(s.__vccOpts||s)[t];c&&a.push($(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Ae(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&$(c,n,r,o,e,i)()}))}}return a}function It(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>X(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>X(e,s))||i.push(s))}return[n,r,i]}var Lt=()=>location.protocol+`//`+location.host;function Rt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),ft(n,``)}return ft(n,e)+r+i}function zt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Rt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(G({},e.state,{scroll:St()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Bt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?St():null}}function Vt(e){let{history:t,location:n}=window,r={value:Rt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Lt()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,G({},t.state,Bt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=G({},i.value,t.state,{forward:e,scroll:St()});a(o.current,o,!0),a(e,G({},Bt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ht(e){e=vt(e);let t=Vt(e),n=zt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=G({location:``,base:e,go:r,createHref:bt.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Ut(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Ht(e)}var Wt={type:0,value:``},Gt=/[a-zA-Z0-9_]/;function Kt(e){if(!e)return[[]];if(e===`/`)return[[Wt]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:Gt.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var qt=`[^/]+?`,Jt={sensitive:!1,strict:!1,start:!0,end:!0},Yt=/[.+*?^${}()[\]/\\]/g;function Xt(e,t){let n=G({},Jt,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(Yt,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||qt;if(u!==qt){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(q(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=q(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Zt(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function Qt(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Zt(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if($t(r))return 1;if($t(i))return-1}return i.length-r.length}function $t(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var en={strict:!1,end:!0,sensitive:!1};function tn(e,t,n){let r=G(Xt(Kt(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function nn(e,t){let n=[],r=new Map;t=Me(en,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=an(e);s.aliasOf=r&&r.record;let l=Me(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(an(G({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=tn(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!sn(d)&&o(e.name)),dn(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:K}function o(e){if(kt(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=ln(e,n);n.splice(t,0,e),e.record.name&&!sn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw J(1,{location:e});s=i.record.name,a=G(rn(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&rn(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw J(1,{location:e,currentLocation:t});s=i.record.name,a=G({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:cn(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function rn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function an(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:on(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function on(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function sn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function cn(e){return e.reduce((e,t)=>G(e,t.meta),{})}function ln(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Qt(e,t[i])<0?r=i:n=i+1}let i=un(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function un(e){let t=e;for(;t=t.parent;)if(dn(t)&&Qt(e,t)===0)return t}function dn({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fn(e){let t=p(Ie),n=p(Le),r=l(()=>{let n=x(e.to);return t.resolve(n)}),i=l(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(X.bind(null,i));if(o>-1)return o;let s=_n(e[t-2]);return t>1&&_n(i)===s&&a[a.length-1].path!==s?a.findIndex(X.bind(null,e[t-2])):o}),a=l(()=>i.value>-1&&gn(n.params,r.value.params)),o=l(()=>i.value>-1&&i.value===n.matched.length-1&&mt(n.params,r.value.params));function s(n={}){if(hn(n)){let n=t[x(e.replace)?`replace`:`push`](x(e.to)).catch(K);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:l(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function pn(e){return e.length===1?e[0]:e}var mn=v({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:fn,setup(e,{slots:t}){let n=u(fn(e)),{options:r}=p(Ie),i=l(()=>({[vn(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[vn(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&pn(t.default(n));return e.custom?r:g(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function hn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function gn(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!q(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function _n(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var vn=(e,t,n)=>e??t??n,yn=v({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(t,{attrs:n,slots:r}){let o=p(Re),s=l(()=>t.route||o.value),c=p(Fe,0),u=l(()=>{let e=x(c),{matched:t}=s.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),d=l(()=>s.value.matched[u.value]);a(Fe,l(()=>u.value+1)),a(Pe,d),a(Re,s);let f=e();return i(()=>[f.value,d.value,t.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!X(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=s.value,i=t.name,a=d.value,o=a&&a.components[i];if(!o)return bn(r.default,{Component:o,route:e});let c=a.props[i],l=g(o,G({},c?c===!0?e.params:typeof c==`function`?c(e):c:null,n,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(a.instances[i]=null)},ref:f}));return bn(r.default,{Component:l,route:e})||l}}});function bn(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var xn=yn;function Sn(e){let t=nn(e.routes,e),n=e.parseQuery||At,r=e.stringifyQuery||jt,i=e.history,a=Q(),o=Q(),s=Q(),c=_(Z),l=Z;W&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=je.bind(null,e=>``+e),d=je.bind(null,ot),f=je.bind(null,st);function p(e,n){let r,i;return kt(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function h(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function g(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,a){if(a=G({},a||c.value),typeof e==`string`){let r=ut(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return G(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=G({},e,{path:ut(n,e.path,a.path).path});else{let t=G({},e.params);for(let e in t)t[e]??delete t[e];o=G({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=dt(r,G({},e,{hash:nt(l),path:s.path})),m=i.createHref(p);return G({fullPath:p,hash:l,query:r===jt?Mt(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function b(e){return typeof e==`string`?ut(n,e,c.value.path):G({},e)}function S(e,t){if(l!==e)return J(8,{from:t,to:e})}function C(e){return T(e)}function te(e){return C(G(b(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),G({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=l=y(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=w(n,i);if(u)return T(G(b(u),{state:typeof u==`object`?G({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&pt(r,i,n)&&(f=J(16,{to:d,from:i}),P(i,i,!0,!1)),(f?Promise.resolve(f):O(d,i)).catch(e=>Y(e)?Y(e,2)?e:N(e):M(e,d,i)).then(e=>{if(e){if(Y(e,2))return T(G({replace:s},b(e.to),{state:typeof e.to==`object`?G({},a,e.to.state):a,force:o}),t||d)}else e=re(d,i,!0,s,a);return ne(d,i,e),e})}function E(e,t){let n=S(e,t);return n?Promise.reject(n):Promise.resolve()}function D(e){let t=L.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function O(e,t){let n,[r,i,s]=It(e,t);n=Ft(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push($(r,e,t))});let c=E.bind(null,e,t);return n.push(c),z(n).then(()=>{n=[];for(let r of a.list())n.push($(r,e,t));return n.push(c),z(n)}).then(()=>{n=Ft(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push($(r,e,t))});return n.push(c),z(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(q(r.beforeEnter))for(let i of r.beforeEnter)n.push($(i,e,t));else n.push($(r.beforeEnter,e,t));return n.push(c),z(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ft(s,`beforeRouteEnter`,e,t,D),n.push(c),z(n))).then(()=>{n=[];for(let r of o.list())n.push($(r,e,t));return n.push(c),z(n)}).catch(e=>Y(e,8)?e:Promise.reject(e))}function ne(e,t,n){s.list().forEach(r=>D(()=>r(e,t,n)))}function re(e,t,n,r,a){let o=S(e,t);if(o)return o;let s=t===Z,l=W?history.state:{};n&&(r||s?i.replace(e.fullPath,G({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,P(e,t,n,s),N()}let k;function ie(){k||=i.listen((e,t,n)=>{if(!R.listening)return;let r=y(e),a=w(r,R.currentRoute.value);if(a){T(G(a,{replace:!0,force:!0}),r).catch(K);return}l=r;let o=c.value;W&&Et(wt(o.fullPath,n.delta),St()),O(r,o).catch(e=>Y(e,12)?e:Y(e,2)?(T(G(b(e.to),{force:!0}),r).then(e=>{Y(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(K),Promise.reject()):(n.delta&&i.go(-n.delta,!1),M(e,r,o))).then(e=>{e||=re(r,o,!1),e&&(n.delta&&!Y(e,8)?i.go(-n.delta,!1):n.type===`pop`&&Y(e,20)&&i.go(-1,!1)),ne(r,o,e)}).catch(K)})}let A=Q(),ae=Q(),j;function M(e,t,n){N(e);let r=ae.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function oe(){return j&&c.value!==Z?Promise.resolve():new Promise((e,t)=>{A.add([e,t])})}function N(e){return j||(j=!e,ie(),A.list().forEach(([t,n])=>e?n(e):t()),A.reset()),e}function P(t,n,r,i){let{scrollBehavior:a}=e;if(!W||!a)return Promise.resolve();let o=!r&&Dt(wt(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ee().then(()=>a(t,n,o)).then(e=>e&&Ct(e)).catch(e=>M(e,t,n))}let F=e=>i.go(e),I,L=new Set,R={currentRoute:c,listening:!0,addRoute:p,removeRoute:h,clearRoutes:t.clearRoutes,hasRoute:v,getRoutes:g,resolve:y,options:e,push:C,replace:te,go:F,back:()=>F(-1),forward:()=>F(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ae.add,isReady:oe,install(e){e.component(`RouterLink`,mn),e.component(`RouterView`,xn),e.config.globalProperties.$router=R,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>x(c)}),W&&!I&&c.value===Z&&(I=!0,C(i.location).catch(e=>{}));let t={};for(let e in Z)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Ie,R),e.provide(Le,m(t)),e.provide(Re,c);let n=e.unmount;L.add(e),e.unmount=function(){L.delete(e),L.size<1&&(l=Z,k&&k(),k=null,c.value=Z,I=!1,j=!1),n()}}};function z(e){return e.reduce((e,t)=>e.then(()=>D(t)),Promise.resolve())}return R}k({mounted(e,t){let n=t.arg?.split(`,`)??!0;if(typeof t.value==`function`)ae(n,t.value,{target:e});else{let[r,i]=t.value;ae(n,r,{target:e,...i})}}});var Cn=k({mounted(e,t){typeof t.value==`function`?A(e,t.value,{modifiers:t.modifiers}):A(e,...t.value)}});k({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value,{}]:t.value,{height:a,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}=M(e,r);i([a,o,s,c,l,u,d,f],()=>n({height:a,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}))}});var wn=k({mounted(e,t){let n=t.value;if(typeof n==`function`)i(ie(e),e=>n(e));else{let[t,r]=n;i(ie(e,r),e=>t(e))}}});k({mounted(e,t){let n=typeof t.value==`function`?t.value:t.value?.[0],{width:r,height:a}=j(e,...typeof t.value==`function`?[]:t.value.slice(1));i([r,a],([e,t])=>n({width:e,height:t}))}}),k({mounted(e,t){if(typeof t.value==`function`){let n=t.value;i(O(e),e=>n(e),{immediate:!0})}else{let[n,r]=t.value;if(r?.controls){let t=O(e,r);i(t.isVisible,()=>n(t),{immediate:!0})}else i(O(e,r),e=>n(e),{immediate:!0})}}}),k({mounted(e,t){typeof t.value==`function`?ne(e,t.value):ne(e,...t.value)}});var Tn=k({mounted(e,t){typeof t.value==`function`?w(e,t.value):w(e,...t.value)}});k({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value,{}]:t.value;i(re(u(te(e,r)),`stop`),e=>n(e))}}),k({mounted(e,t){typeof t.value==`function`?D(e,t.value):D(e,...t.value)}}),k({mounted(e,t){if(typeof t.value==`function`){let n=t.value,r=T(e,{onScroll(){n(r)},onStop(){n(r)}})}else{let[n,r]=t.value,i=T(e,{...r,onScroll(e){var t;(t=r.onScroll)==null||t.call(r,e),n(i)},onStop(e){var t;(t=r.onStop)==null||t.call(r,e),n(i)}})}}});function En(){let e=!1,t=_(!1);return k((n,r)=>{if(t.value=r.value,e)return;e=!0;let a=E(n,r.value);i(t,e=>a.value=e)})}En();export{Ut as a,Be as c,De as d,Oe as f,Sn as i,ze as l,Tn as n,Ht as o,Cn as r,Pt as s,wn as t,he as u};
1
+ import{$n as e,Cn as t,Gn as n,Jn as r,Rn as i,Tn as a,Wn as o,Xn as s,Yn as c,Yt as l,Zn as u,_n as d,ar as f,dn as p,er as m,gn as ee,ir as h,ln as g,nr as _,on as v,qn as y,rr as b,sr as x,un as S,xn as C}from"./vendor-TwHhULaP.js";import{Ai as te,Ei as w,Fi as T,Ii as E,Ni as D,Si as O,Ti as ne,Ui as re,Vi as k,bi as ie,gi as A,hi as ae,xi as j,yi as M}from"./vendor-cameraui-CUPAufpt.js";var oe=typeof window<`u`,N,P=e=>N=e,F=Symbol();function I(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var L;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(L||={});var R=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function z(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function se(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){ue(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function ce(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function B(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var V=typeof navigator==`object`?navigator:{userAgent:``},le=/Macintosh/.test(V.userAgent)&&/AppleWebKit/.test(V.userAgent)&&!/Safari/.test(V.userAgent),ue=oe?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!le?de:`msSaveOrOpenBlob`in V?fe:pe:()=>{};function de(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?B(r):ce(r.href)?se(e,t,n):(r.target=`_blank`,B(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){B(r)},0))}function fe(e,t=`download`,n){if(typeof e==`string`)if(ce(e))se(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){B(t)})}else navigator.msSaveOrOpenBlob(z(e,n),t)}function pe(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return se(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(R.HTMLElement))||`safari`in R,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||le)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:me}=Object;function he(){let t=o(!0),n=t.run(()=>e({})),r=[],i=[],a=c({install(e){P(a),a._a=e,e.provide(F,a),e.config.globalProperties.$pinia=a,i.forEach(e=>r.push(e)),i=[]},use(e){return this._a?r.push(e):i.push(e),this},_p:r,_a:null,_e:t,_s:new Map,state:n});return a}var ge=()=>{};function _e(e,t,r,i=ge){e.add(t);let a=()=>{e.delete(t)&&i()};return!r&&n()&&s(a),a}function H(e,...t){e.forEach(e=>{e(...t)})}var ve=e=>e(),ye=Symbol(),be=Symbol();function xe(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let i=t[n],a=e[n];I(a)&&I(i)&&e.hasOwnProperty(n)&&!r(i)&&!y(i)?e[n]=xe(a,i):e[n]=i}return e}var Se=Symbol();function Ce(e){return!I(e)||!Object.prototype.hasOwnProperty.call(e,Se)}var{assign:U}=Object;function we(e){return!!(r(e)&&e.effect)}function Te(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],u;function d(){return s||(n.state.value[e]=i?i():{}),U(f(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=c(l(()=>{P(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return u=Ee(e,d,t,n,r,!0),u}function Ee(t,n,a={},s,c,l){let d,f=U({actions:{}},a),p={deep:!0},m,h,g=new Set,_=new Set,v=s.state.value[t];!l&&!v&&(s.state.value[t]={}),e({});let x;function S(e){let n;m=h=!1,typeof e==`function`?(e(s.state.value[t]),n={type:L.patchFunction,storeId:t,events:void 0}):(xe(s.state.value[t],e),n={type:L.patchObject,payload:e,storeId:t,events:void 0});let r=x=Symbol();ee().then(()=>{x===r&&(m=!0)}),h=!0,H(g,n,s.state.value[t])}let C=l?function(){let{state:e}=a,t=e?e():{};this.$patch(e=>{U(e,t)})}:ge;function te(){d.stop(),g.clear(),_.clear(),s._s.delete(t)}let w=(e,n=``)=>{if(ye in e)return e[be]=n,e;let r=function(){P(s);let n=Array.from(arguments),i=new Set,a=new Set;function o(e){i.add(e)}function c(e){a.add(e)}H(_,{args:n,name:r[be],store:T,after:o,onError:c});let l;try{l=e.apply(this&&this.$id===t?this:T,n)}catch(e){throw H(a,e),e}return l instanceof Promise?l.then(e=>(H(i,e),e)).catch(e=>(H(a,e),Promise.reject(e))):(H(i,l),l)};return r[ye]=!0,r[be]=n,r},T=u({_p:s,$id:t,$onAction:_e.bind(null,_),$patch:S,$reset:C,$subscribe(e,n={}){let r=_e(g,e,n.detached,()=>a()),a=d.run(()=>i(()=>s.state.value[t],r=>{(n.flush===`sync`?h:m)&&e({storeId:t,type:L.direct,events:void 0},r)},U({},p,n)));return r},$dispose:te});s._s.set(t,T);let E=(s._a&&s._a.runWithContext||ve)(()=>s._e.run(()=>(d=o()).run(()=>n({action:w}))));for(let e in E){let n=E[e];r(n)&&!we(n)||y(n)?l||(v&&Ce(n)&&(r(n)?n.value=v[e]:xe(n,v[e])),s.state.value[t][e]=n):typeof n==`function`&&(E[e]=w(n,e),f.actions[e]=n)}return U(T,E),U(b(T),E),Object.defineProperty(T,"$state",{get:()=>s.state.value[t],set:e=>{S(t=>{U(t,e)})}}),s._p.forEach(e=>{U(T,d.run(()=>e({store:T,app:s._a,pinia:s,options:f})))}),v&&l&&a.hydrate&&a.hydrate(T.$state,v),m=!0,h=!0,T}function De(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=S();return n||=o?p(F,null):null,n&&P(n),n=N,n._s.has(e)||(i?Ee(e,t,r,n):Te(e,r,n)),n._s.get(e)}return a.$id=e,a}function Oe(e){let t=b(e),n={};for(let i in t){let a=t[i];a.effect?n[i]=l({get:()=>e[i],set(t){e[i]=t}}):(r(a)||y(a))&&(n[i]=h(e,i))}return n}var W=typeof document<`u`;function ke(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Ae(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&ke(e.default)}var G=Object.assign;function je(e,t){let n={};for(let r in t){let i=t[r];n[r]=q(i)?i.map(e):e(i)}return n}var K=()=>{},q=Array.isArray;function Me(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Ne=Symbol(``);function J(e,t){return G(Error(),{type:e,[Ne]:!0},t)}function Y(e,t){return e instanceof Error&&Ne in e&&(t==null||!!(e.type&t))}var Pe=Symbol(``),Fe=Symbol(``),Ie=Symbol(``),Le=Symbol(``),Re=Symbol(``);function ze(){return p(Ie)}function Be(e){return p(Le)}var Ve=/#/g,He=/&/g,Ue=/\//g,We=/=/g,Ge=/\?/g,Ke=/\+/g,qe=/%5B/g,Je=/%5D/g,Ye=/%5E/g,Xe=/%60/g,Ze=/%7B/g,Qe=/%7C/g,$e=/%7D/g,et=/%20/g;function tt(e){return e==null?``:encodeURI(``+e).replace(Qe,`|`).replace(qe,`[`).replace(Je,`]`)}function nt(e){return tt(e).replace(Ze,`{`).replace($e,`}`).replace(Ye,`^`)}function rt(e){return tt(e).replace(Ke,`%2B`).replace(et,`+`).replace(Ve,`%23`).replace(He,`%26`).replace(Xe,"`").replace(Ze,`{`).replace($e,`}`).replace(Ye,`^`)}function it(e){return rt(e).replace(We,`%3D`)}function at(e){return tt(e).replace(Ve,`%23`).replace(Ge,`%3F`)}function ot(e){return at(e).replace(Ue,`%2F`)}function st(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var ct=/\/$/,lt=e=>e.replace(ct,``);function ut(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=_t(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:st(o)}}function dt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function ft(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function pt(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&X(t.matched[r],n.matched[i])&&mt(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function X(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function mt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ht(e[n],t[n]))return!1;return!0}function ht(e,t){return q(e)?gt(e,t):q(t)?gt(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function gt(e,t){return q(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function _t(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Z={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function vt(e){if(!e)if(W){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),lt(e)}var yt=/^[^#]+#/;function bt(e,t){return e.replace(yt,`#`)+t}function xt(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var St=()=>({left:window.scrollX,top:window.scrollY});function Ct(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=xt(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function wt(e,t){return(history.state?history.state.position-t:-1)+e}var Tt=new Map;function Et(e,t){Tt.set(e,t)}function Dt(e){let t=Tt.get(e);return Tt.delete(e),t}function Ot(e){return typeof e==`string`||e&&typeof e==`object`}function kt(e){return typeof e==`string`||typeof e==`symbol`}function At(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(Ke,` `),i=r.indexOf(`=`),a=st(i<0?r:r.slice(0,i)),o=i<0?null:st(r.slice(i+1));if(a in t){let e=t[a];q(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function jt(e){let t=``;for(let n in e){let r=e[n];if(n=it(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(q(r)?r.map(e=>e&&rt(e)):[r&&rt(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Mt(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=q(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Nt(e,n,r){let i=e.value;if(!i)return;let a=i,o=()=>{a[n].delete(r)};t(o),C(o),d(()=>{let t=e.value;t&&(a=t),a[n].add(r)}),a[n].add(r)}function Pt(e){Nt(p(Pe,{}),`updateGuards`,e)}function $(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(J(4,{from:n,to:t})):e instanceof Error?c(e):Ot(e)?c(J(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ft(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(ke(s)){let c=(s.__vccOpts||s)[t];c&&a.push($(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Ae(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&$(c,n,r,o,e,i)()}))}}return a}function It(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>X(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>X(e,s))||i.push(s))}return[n,r,i]}var Lt=()=>location.protocol+`//`+location.host;function Rt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),ft(n,``)}return ft(n,e)+r+i}function zt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Rt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(G({},e.state,{scroll:St()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Bt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?St():null}}function Vt(e){let{history:t,location:n}=window,r={value:Rt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Lt()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,G({},t.state,Bt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=G({},i.value,t.state,{forward:e,scroll:St()});a(o.current,o,!0),a(e,G({},Bt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ht(e){e=vt(e);let t=Vt(e),n=zt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=G({location:``,base:e,go:r,createHref:bt.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Ut(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Ht(e)}var Wt={type:0,value:``},Gt=/[a-zA-Z0-9_]/;function Kt(e){if(!e)return[[]];if(e===`/`)return[[Wt]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:Gt.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var qt=`[^/]+?`,Jt={sensitive:!1,strict:!1,start:!0,end:!0},Yt=/[.+*?^${}()[\]/\\]/g;function Xt(e,t){let n=G({},Jt,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(Yt,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||qt;if(u!==qt){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(q(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=q(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Zt(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function Qt(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Zt(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if($t(r))return 1;if($t(i))return-1}return i.length-r.length}function $t(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var en={strict:!1,end:!0,sensitive:!1};function tn(e,t,n){let r=G(Xt(Kt(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function nn(e,t){let n=[],r=new Map;t=Me(en,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=an(e);s.aliasOf=r&&r.record;let l=Me(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(an(G({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=tn(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!sn(d)&&o(e.name)),dn(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:K}function o(e){if(kt(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=ln(e,n);n.splice(t,0,e),e.record.name&&!sn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw J(1,{location:e});s=i.record.name,a=G(rn(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&rn(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw J(1,{location:e,currentLocation:t});s=i.record.name,a=G({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:cn(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function rn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function an(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:on(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function on(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function sn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function cn(e){return e.reduce((e,t)=>G(e,t.meta),{})}function ln(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Qt(e,t[i])<0?r=i:n=i+1}let i=un(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function un(e){let t=e;for(;t=t.parent;)if(dn(t)&&Qt(e,t)===0)return t}function dn({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fn(e){let t=p(Ie),n=p(Le),r=l(()=>{let n=x(e.to);return t.resolve(n)}),i=l(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(X.bind(null,i));if(o>-1)return o;let s=_n(e[t-2]);return t>1&&_n(i)===s&&a[a.length-1].path!==s?a.findIndex(X.bind(null,e[t-2])):o}),a=l(()=>i.value>-1&&gn(n.params,r.value.params)),o=l(()=>i.value>-1&&i.value===n.matched.length-1&&mt(n.params,r.value.params));function s(n={}){if(hn(n)){let n=t[x(e.replace)?`replace`:`push`](x(e.to)).catch(K);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:l(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function pn(e){return e.length===1?e[0]:e}var mn=v({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:fn,setup(e,{slots:t}){let n=u(fn(e)),{options:r}=p(Ie),i=l(()=>({[vn(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[vn(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&pn(t.default(n));return e.custom?r:g(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function hn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function gn(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!q(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function _n(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var vn=(e,t,n)=>e??t??n,yn=v({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(t,{attrs:n,slots:r}){let o=p(Re),s=l(()=>t.route||o.value),c=p(Fe,0),u=l(()=>{let e=x(c),{matched:t}=s.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),d=l(()=>s.value.matched[u.value]);a(Fe,l(()=>u.value+1)),a(Pe,d),a(Re,s);let f=e();return i(()=>[f.value,d.value,t.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!X(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=s.value,i=t.name,a=d.value,o=a&&a.components[i];if(!o)return bn(r.default,{Component:o,route:e});let c=a.props[i],l=g(o,G({},c?c===!0?e.params:typeof c==`function`?c(e):c:null,n,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(a.instances[i]=null)},ref:f}));return bn(r.default,{Component:l,route:e})||l}}});function bn(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var xn=yn;function Sn(e){let t=nn(e.routes,e),n=e.parseQuery||At,r=e.stringifyQuery||jt,i=e.history,a=Q(),o=Q(),s=Q(),c=_(Z),l=Z;W&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=je.bind(null,e=>``+e),d=je.bind(null,ot),f=je.bind(null,st);function p(e,n){let r,i;return kt(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function h(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function g(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,a){if(a=G({},a||c.value),typeof e==`string`){let r=ut(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return G(r,o,{params:f(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=G({},e,{path:ut(n,e.path,a.path).path});else{let t=G({},e.params);for(let e in t)t[e]??delete t[e];o=G({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=dt(r,G({},e,{hash:nt(l),path:s.path})),m=i.createHref(p);return G({fullPath:p,hash:l,query:r===jt?Mt(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function b(e){return typeof e==`string`?ut(n,e,c.value.path):G({},e)}function S(e,t){if(l!==e)return J(8,{from:t,to:e})}function C(e){return T(e)}function te(e){return C(G(b(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),G({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=l=y(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=w(n,i);if(u)return T(G(b(u),{state:typeof u==`object`?G({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&pt(r,i,n)&&(f=J(16,{to:d,from:i}),P(i,i,!0,!1)),(f?Promise.resolve(f):O(d,i)).catch(e=>Y(e)?Y(e,2)?e:N(e):M(e,d,i)).then(e=>{if(e){if(Y(e,2))return T(G({replace:s},b(e.to),{state:typeof e.to==`object`?G({},a,e.to.state):a,force:o}),t||d)}else e=re(d,i,!0,s,a);return ne(d,i,e),e})}function E(e,t){let n=S(e,t);return n?Promise.reject(n):Promise.resolve()}function D(e){let t=L.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function O(e,t){let n,[r,i,s]=It(e,t);n=Ft(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push($(r,e,t))});let c=E.bind(null,e,t);return n.push(c),z(n).then(()=>{n=[];for(let r of a.list())n.push($(r,e,t));return n.push(c),z(n)}).then(()=>{n=Ft(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push($(r,e,t))});return n.push(c),z(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(q(r.beforeEnter))for(let i of r.beforeEnter)n.push($(i,e,t));else n.push($(r.beforeEnter,e,t));return n.push(c),z(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ft(s,`beforeRouteEnter`,e,t,D),n.push(c),z(n))).then(()=>{n=[];for(let r of o.list())n.push($(r,e,t));return n.push(c),z(n)}).catch(e=>Y(e,8)?e:Promise.reject(e))}function ne(e,t,n){s.list().forEach(r=>D(()=>r(e,t,n)))}function re(e,t,n,r,a){let o=S(e,t);if(o)return o;let s=t===Z,l=W?history.state:{};n&&(r||s?i.replace(e.fullPath,G({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,P(e,t,n,s),N()}let k;function ie(){k||=i.listen((e,t,n)=>{if(!R.listening)return;let r=y(e),a=w(r,R.currentRoute.value);if(a){T(G(a,{replace:!0,force:!0}),r).catch(K);return}l=r;let o=c.value;W&&Et(wt(o.fullPath,n.delta),St()),O(r,o).catch(e=>Y(e,12)?e:Y(e,2)?(T(G(b(e.to),{force:!0}),r).then(e=>{Y(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(K),Promise.reject()):(n.delta&&i.go(-n.delta,!1),M(e,r,o))).then(e=>{e||=re(r,o,!1),e&&(n.delta&&!Y(e,8)?i.go(-n.delta,!1):n.type===`pop`&&Y(e,20)&&i.go(-1,!1)),ne(r,o,e)}).catch(K)})}let A=Q(),ae=Q(),j;function M(e,t,n){N(e);let r=ae.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function oe(){return j&&c.value!==Z?Promise.resolve():new Promise((e,t)=>{A.add([e,t])})}function N(e){return j||(j=!e,ie(),A.list().forEach(([t,n])=>e?n(e):t()),A.reset()),e}function P(t,n,r,i){let{scrollBehavior:a}=e;if(!W||!a)return Promise.resolve();let o=!r&&Dt(wt(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ee().then(()=>a(t,n,o)).then(e=>e&&Ct(e)).catch(e=>M(e,t,n))}let F=e=>i.go(e),I,L=new Set,R={currentRoute:c,listening:!0,addRoute:p,removeRoute:h,clearRoutes:t.clearRoutes,hasRoute:v,getRoutes:g,resolve:y,options:e,push:C,replace:te,go:F,back:()=>F(-1),forward:()=>F(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ae.add,isReady:oe,install(e){e.component(`RouterLink`,mn),e.component(`RouterView`,xn),e.config.globalProperties.$router=R,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>x(c)}),W&&!I&&c.value===Z&&(I=!0,C(i.location).catch(e=>{}));let t={};for(let e in Z)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Ie,R),e.provide(Le,m(t)),e.provide(Re,c);let n=e.unmount;L.add(e),e.unmount=function(){L.delete(e),L.size<1&&(l=Z,k&&k(),k=null,c.value=Z,I=!1,j=!1),n()}}};function z(e){return e.reduce((e,t)=>e.then(()=>D(t)),Promise.resolve())}return R}k({mounted(e,t){let n=t.arg?.split(`,`)??!0;if(typeof t.value==`function`)ae(n,t.value,{target:e});else{let[r,i]=t.value;ae(n,r,{target:e,...i})}}});var Cn=k({mounted(e,t){typeof t.value==`function`?A(e,t.value,{modifiers:t.modifiers}):A(e,...t.value)}});k({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value,{}]:t.value,{height:a,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}=M(e,r);i([a,o,s,c,l,u,d,f],()=>n({height:a,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}))}});var wn=k({mounted(e,t){let n=t.value;if(typeof n==`function`)i(ie(e),e=>n(e));else{let[t,r]=n;i(ie(e,r),e=>t(e))}}});k({mounted(e,t){let n=typeof t.value==`function`?t.value:t.value?.[0],{width:r,height:a}=j(e,...typeof t.value==`function`?[]:t.value.slice(1));i([r,a],([e,t])=>n({width:e,height:t}))}}),k({mounted(e,t){if(typeof t.value==`function`){let n=t.value;i(O(e),e=>n(e),{immediate:!0})}else{let[n,r]=t.value;if(r?.controls){let t=O(e,r);i(t.isVisible,()=>n(t),{immediate:!0})}else i(O(e,r),e=>n(e),{immediate:!0})}}}),k({mounted(e,t){typeof t.value==`function`?ne(e,t.value):ne(e,...t.value)}});var Tn=k({mounted(e,t){typeof t.value==`function`?w(e,t.value):w(e,...t.value)}});k({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value,{}]:t.value;i(re(u(te(e,r)),`stop`),e=>n(e))}}),k({mounted(e,t){typeof t.value==`function`?D(e,t.value):D(e,...t.value)}}),k({mounted(e,t){if(typeof t.value==`function`){let n=t.value,r=T(e,{onScroll(){n(r)},onStop(){n(r)}})}else{let[n,r]=t.value,i=T(e,{...r,onScroll(e){var t;(t=r.onScroll)==null||t.call(r,e),n(i)},onStop(e){var t;(t=r.onStop)==null||t.call(r,e),n(i)}})}}});function En(){let e=!1,t=_(!1);return k((n,r)=>{if(t.value=r.value,e)return;e=!0;let a=E(n,r.value);i(t,e=>a.value=e)})}En();export{Ut as a,Be as c,De as d,Oe as f,Sn as i,ze as l,Tn as n,Ht as o,Cn as r,Pt as s,wn as t,he as u};
@@ -1,4 +1,4 @@
1
- import{$n as e,$t as t,An as n,Dn as r,En as i,Gt as a,Hn as o,Ht as s,On as c,Qt as l,Rn as u,Rt as d,Ut as f,Vn as p,Wt as m,Xt as h,Yn as g,Yt as _,Zn as v,Zt as y,cn as b,cr as x,dn as S,dr as C,hn as w,in as T,jn as ee,kn as E,lr as D,rn as O,tn as k,ur as te,wn as A}from"./vendor-TwHhULaP.js";import{$ as j,$n as ne,$r as re,Ar as M,Br as ie,Cr as N,Dr as ae,Er as oe,Fn as se,Fr as P,Gn as ce,Gr as le,Hn as F,Hr as ue,In as de,Ir as fe,Jn as I,Jr as pe,Kn as me,Kr as he,Ln as ge,Lr as _e,Mr as ve,Nr as ye,Or as be,Pn as xe,Pr as Se,Qr as Ce,Rn as we,Rr as Te,Sr as Ee,Tr as De,Un as Oe,Ur as L,Vn as ke,Vr as Ae,Wn as je,Wr as Me,Xr as Ne,Yn as R,Yr as Pe,Zr as z,_r as B,ai as Fe,ar as V,at as Ie,br as Le,ci as H,cr as Re,dr as ze,ei as Be,er as Ve,et as He,fr as U,gr as Ue,hr as W,ii as We,ir as G,it as Ge,jr as Ke,kr as qe,li as K,lr as Je,mr as Ye,ni as Xe,nt as Ze,oi as q,or as Qe,ot as $e,pr as et,qn as J,qr as tt,ri as nt,rr as rt,rt as it,si as at,sr as ot,ti as st,tt as ct,ur as lt,vr as ut,wr as dt,xr as ft,yr as Y,zn as pt,zr as mt}from"./vendor-cameraui-CeENiq5U.js";var ht=R.extend({name:`tooltip-directive`,style:`
1
+ import{$n as e,$t as t,An as n,Dn as r,En as i,Gt as a,Hn as o,Ht as s,On as c,Qt as l,Rn as u,Rt as d,Ut as f,Vn as p,Wt as m,Xt as h,Yn as g,Yt as _,Zn as v,Zt as y,cn as b,cr as x,dn as S,dr as C,hn as w,in as T,jn as ee,kn as E,lr as D,rn as O,tn as k,ur as te,wn as A}from"./vendor-TwHhULaP.js";import{$ as j,$n as ne,$r as re,Ar as M,Br as ie,Cr as N,Dr as ae,Er as oe,Fn as se,Fr as P,Gn as ce,Gr as le,Hn as F,Hr as ue,In as de,Ir as fe,Jn as I,Jr as pe,Kn as me,Kr as he,Ln as ge,Lr as _e,Mr as ve,Nr as ye,Or as be,Pn as xe,Pr as Se,Qr as Ce,Rn as we,Rr as Te,Sr as Ee,Tr as De,Un as Oe,Ur as L,Vn as ke,Vr as Ae,Wn as je,Wr as Me,Xr as Ne,Yn as R,Yr as Pe,Zr as z,_r as B,ai as Fe,ar as V,at as Ie,br as Le,ci as H,cr as Re,dr as ze,ei as Be,er as Ve,et as He,fr as U,gr as Ue,hr as W,ii as We,ir as G,it as Ge,jr as Ke,kr as qe,li as K,lr as Je,mr as Ye,ni as Xe,nt as Ze,oi as q,or as Qe,ot as $e,pr as et,qn as J,qr as tt,ri as nt,rr as rt,rt as it,si as at,sr as ot,ti as st,tt as ct,ur as lt,vr as ut,wr as dt,xr as ft,yr as Y,zn as pt,zr as mt}from"./vendor-cameraui-CUPAufpt.js";var ht=R.extend({name:`tooltip-directive`,style:`
2
2
  .p-tooltip {
3
3
  position: absolute;
4
4
  display: none;
@@ -0,0 +1 @@
1
+ import{$n as e,$t as t,In as n,Jn as r,Qt as i,Rn as a,Rt as o,Sn as s,Vn as c,Xt as l,Yn as u,Yt as d,Zt as f,ar as p,cr as m,dn as h,dr as g,gn as _,in as v,on as y,sr as b,wn as x}from"./vendor-TwHhULaP.js";import{Ht as S,di as ee,k as C,z as w}from"./vendor-cameraui-CUPAufpt.js";import{t as T}from"./CuiCameraCard-BQpPhbFu.js";import{t as E}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as D}from"./useSharedComposables-THEdrAoU.js";import{b as O}from"./vendor-primevue-Bs3kBqxF.js";import{t as k}from"./useFileDownload-CRB3k3lW.js";import{n as A}from"./types-CEoAgYqA.js";import{t as j}from"./download-C5mF7t_D.js";var M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,n){return x(),t(`svg`,M,[...n[0]||=[l(`g`,{fill:`none`,"fill-rule":`evenodd`},[l(`path`,{d:`m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z`}),l(`path`,{fill:`currentColor`,d:`M5 3a3 3 0 0 0-3 3v10a2 2 0 0 0 2 2V6a1 1 0 0 1 1-1h14a2 2 0 0 0-2-2zm0 5a2 2 0 0 1 2-2h13a2 2 0 0 1 2 2v11.333a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2zm15 0H7v7.848L10.848 12a1.25 1.25 0 0 1 1.768 0l3.241 3.24l.884-.883a1.25 1.25 0 0 1 1.768 0L20 15.848zm-2 3a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0`})],-1)]])}var P=u({name:`mingcute-photo-album-fill`,render:N}),F={class:`camera-stream-event-container`},I={class:`stream-wrapper`},L={key:0,class:`ai-description-overlay`},R={class:`min-w-0`},z={class:`text-sm font-semibold text-white`},B={class:`text-xs text-white/85 mt-1`},V=E(y({__name:`CameraStreamEvent`,props:{camera:{},eventTimestamp:{}},setup(u,{expose:y}){let E=u,M=ee(),{t:N}=M,P=O(),{mdBreakpoint:V}=D(),H=h(`dialogRefProps`),U=h(`dialogHeaderToggles`,{}),{plugin:W}=S(`@camera.ui/camera-ui-nvr`),{camera:G,eventTimestamp:K}=p(E),q=n(`cameraCardRef`),J=n(`cuiTimelineRef`),Y=e(!1),X=e(),Z=e(!1),Q=w(d(()=>G.value._id),{sourceRole:X}),te=d(()=>!!H.loading?.value),ne=d(()=>U[0]??!1),$=d(()=>J.value?.currentEventDescription),re=d(()=>!!J.value?.currentEvent),ie=d(()=>J.value?.isLive??!0),ae=d(()=>({locale:M.locale.value,dayNames:P.config.locale?.dayNames,dayNamesShort:P.config.locale?.dayNamesShort,monthNames:P.config.locale?.monthNames,monthNamesShort:P.config.locale?.monthNamesShort}));async function oe(){if(Z.value)return;let e=J.value?.currentEvent;if(!e)return;let t=W.value;if(t?.nvrExport){Z.value=!0;try{let n=await t.nvrExport(e.cameraId,e.startMs*1e3,e.endMs*1e3);await k({url:n.url,filename:n.filename})}catch(e){console.error(`Download failed:`,e)}finally{Z.value=!1}}}function se(e){q.value?.timelineScroll(e)}a([re,ie,Z],([e,t])=>{if(!H.headerActions)return;let n=[];n.push({icon:A,tooltip:N(`components.player.ai_descriptions`),toggle:!0,onClick:()=>{}}),!t&&e&&W.value&&n.push({icon:j,tooltip:N(`views.recordings.download`),onClick:oe,loading:Z.value}),H.headerActions.value=n},{immediate:!0}),K.value&&(Q.mode.value=`play`,Q.loading.value=!0),s(()=>{setTimeout(()=>{Y.value=!0},300);let e=K.value;e&&_(()=>{Q.play(e*1e3)})});function ce(){let e=Q.currentTimestamp.value>0?Math.floor(Q.currentTimestamp.value/1e3):K.value;return e?`/cameras/${G.value.name}?startTs=${e}`:`/cameras/${G.value.name}`}return y({isLoading:te,resolveGoTo:ce}),(e,n)=>{let a=T,s=A;return x(),t(`div`,F,[l(`div`,I,[(x(),f(a,{ref_key:`cameraCardRef`,ref:q,key:b(G).name,"source-role":b(X),"onUpdate:sourceRole":n[0]||=e=>r(X)?X.value=e:null,"streaming-mode":`webrtc`,"camera-info":b(G).name,"flat-card":``,"card-props":{pt:{root:{class:{"!rounded-md":!0}}}},"camera-name-overlay":!1,toolbar:!1,subcontrol:!0,"subcontrol-quality-button":!0,"subcontrol-activity-mode-button":!1,"subcontrol-ptz-button":!1,"subcontrol-streaming-mode-button":!1,"control-pip-button":!1,"control-microphone-button":!1},null,8,[`source-role`,`camera-info`])),v(o,{"enter-active-class":`transition-all duration-300 ease-out`,"enter-from-class":`opacity-0 -translate-y-2`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition-all duration-200 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0 -translate-y-2`},{default:c(()=>[b($)&&b(ne)?(x(),t(`div`,L,[v(s,{class:`w-4 h-4 text-white/90 shrink-0 mt-0.5`}),l(`div`,R,[l(`p`,z,g(b($).title),1),l(`p`,B,g(b($).description),1)])])):i(``,!0)]),_:1})]),(x(),f(b(C),{ref_key:`cuiTimelineRef`,ref:J,key:b(G).name,"camera-ids":[b(G)._id],"initial-timestamp":b(K),loading:!b(Y),type:b(V)?`vertical`:`horizontal`,"ignore-bottom-safe-area":b(V),"show-segments":!1,"show-zoom":!1,"show-date":!1,"md-breakpoint":b(V),class:m([`flex w-full border-t-[1px] border-color shrink-0`,b(V)?`h-full`:`h-[200px]`]),"card-class":{"mt-auto":!b(V)},"flat-card":``,"locale-settings":b(ae),onScrolling:se},null,8,[`camera-ids`,`initial-timestamp`,`loading`,`type`,`ignore-bottom-safe-area`,`md-breakpoint`,`class`,`card-class`,`locale-settings`]))])}}}),[[`__scopeId`,`data-v-6f843e58`]]),H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,n){return x(),t(`svg`,H,[...n[0]||=[l(`path`,{fill:`currentColor`,d:`M3 11h8V3H3m0 18h8v-8H3m10 8h8v-8h-8m0-10v8h8V3`},null,-1)]])}var W=u({name:`mdi-view-grid`,render:U});export{V as n,P as r,W as t};
@@ -0,0 +1 @@
1
+ .camera-stream-event-container[data-v-6f843e58]{contain:inline-size;flex-direction:column;width:100%;max-width:100%;display:flex;overflow:hidden}.stream-wrapper[data-v-6f843e58]{flex:auto;min-width:0;display:flex;position:relative}.stream-wrapper[data-v-6f843e58]>:first-child{flex:auto;min-width:0;min-height:0}.ai-description-overlay[data-v-6f843e58]{pointer-events:none;z-index:5;border-top-left-radius:inherit;border-top-right-radius:inherit;background:linear-gradient(#000000d9 0%,#000000a6 55%,#0000 100%);align-items:flex-start;gap:.5rem;padding:.75rem 1rem 1.25rem;display:flex;position:absolute;top:0;left:0;right:0}
@@ -347,86 +347,87 @@
347
347
  media="screen and (prefers-color-scheme: dark) and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
348
348
  href="/pwa/apple-splash-portrait-dark-640x1136.png"
349
349
  />
350
- <script type="module" crossorigin src="/assets/main-sGc9j7q_.js"></script>
350
+ <script type="module" crossorigin src="/assets/main-8r8D2YqX.js"></script>
351
351
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-DAXXjFlN.js">
352
352
  <link rel="modulepreload" crossorigin href="/assets/vendor-TwHhULaP.js">
353
- <link rel="modulepreload" crossorigin href="/assets/vendor-cameraui-CeENiq5U.js">
354
- <link rel="modulepreload" crossorigin href="/assets/vendor-core-D8xC2dee.js">
355
- <link rel="modulepreload" crossorigin href="/assets/api-DjhIYzsF.js">
353
+ <link rel="modulepreload" crossorigin href="/assets/vendor-cameraui-CUPAufpt.js">
354
+ <link rel="modulepreload" crossorigin href="/assets/vendor-core-Cmu2BAxm.js">
355
+ <link rel="modulepreload" crossorigin href="/assets/api-CxmpI477.js">
356
356
  <link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-BDNMzG2s.js">
357
- <link rel="modulepreload" crossorigin href="/assets/ui-Cfq-tG-U.js">
358
- <link rel="modulepreload" crossorigin href="/assets/useSharedComposables-Dyso8kmC.js">
357
+ <link rel="modulepreload" crossorigin href="/assets/ui-CY2-_evw.js">
358
+ <link rel="modulepreload" crossorigin href="/assets/useSharedComposables-THEdrAoU.js">
359
359
  <link rel="modulepreload" crossorigin href="/assets/close-DJVAaOAW.js">
360
- <link rel="modulepreload" crossorigin href="/assets/vendor-primevue-D-xm-xIu.js">
360
+ <link rel="modulepreload" crossorigin href="/assets/vendor-primevue-Bs3kBqxF.js">
361
361
  <link rel="modulepreload" crossorigin href="/assets/cog-DHFhi3a9.js">
362
362
  <link rel="modulepreload" crossorigin href="/assets/lightbulb-outline-i8uQu45Q.js">
363
- <link rel="modulepreload" crossorigin href="/assets/CuiImage-Ab94PYIg.js">
364
- <link rel="modulepreload" crossorigin href="/assets/CuiCameraSnapshot-fX1tTzWs.js">
365
- <link rel="modulepreload" crossorigin href="/assets/hasPermission-nr9uI1sh.js">
363
+ <link rel="modulepreload" crossorigin href="/assets/useFileDownload-CRB3k3lW.js">
364
+ <link rel="modulepreload" crossorigin href="/assets/CuiImage-BW_rXmKP.js">
365
+ <link rel="modulepreload" crossorigin href="/assets/CuiCameraSnapshot-BSHFq9Wu.js">
366
+ <link rel="modulepreload" crossorigin href="/assets/hasPermission-DjEBddex.js">
366
367
  <link rel="modulepreload" crossorigin href="/assets/types-CEoAgYqA.js">
367
- <link rel="modulepreload" crossorigin href="/assets/CuiAvatar-DQfgB_0j.js">
368
- <link rel="modulepreload" crossorigin href="/assets/CuiMenu-CX2XxBmg.js">
368
+ <link rel="modulepreload" crossorigin href="/assets/CuiAvatar-CgMxEmy_.js">
369
+ <link rel="modulepreload" crossorigin href="/assets/CuiMenu-BnlDnhe4.js">
369
370
  <link rel="modulepreload" crossorigin href="/assets/play-solid-BOftFWpE.js">
370
371
  <link rel="modulepreload" crossorigin href="/assets/face-recognition-D-XTJQ2P.js">
371
- <link rel="modulepreload" crossorigin href="/assets/CuiBBoxPlayground-BYZaz-7W.js">
372
+ <link rel="modulepreload" crossorigin href="/assets/CuiBBoxPlayground-JxlxAwEH.js">
372
373
  <link rel="modulepreload" crossorigin href="/assets/shield-check-YUrXqEP1.js">
373
374
  <link rel="modulepreload" crossorigin href="/assets/vendor-draggabilly-BCvaxoth.js">
374
- <link rel="modulepreload" crossorigin href="/assets/cameras-DeAGPYqb.js">
375
- <link rel="modulepreload" crossorigin href="/assets/CuiActionButton-BTl3-QUV.js">
375
+ <link rel="modulepreload" crossorigin href="/assets/cameras-DHOi-zot.js">
376
+ <link rel="modulepreload" crossorigin href="/assets/CuiActionButton-vWfTn9v6.js">
376
377
  <link rel="modulepreload" crossorigin href="/assets/copy-16-filled-DUaht4LK.js">
377
- <link rel="modulepreload" crossorigin href="/assets/shares-CifP6qUz.js">
378
- <link rel="modulepreload" crossorigin href="/assets/useCuiCameraDrawer-Cmh9A6-k.js">
378
+ <link rel="modulepreload" crossorigin href="/assets/shares-TtxtbPZt.js">
379
+ <link rel="modulepreload" crossorigin href="/assets/useCuiCameraDrawer-BmdGPeEe.js">
379
380
  <link rel="modulepreload" crossorigin href="/assets/useElectron-mh8HQUAI.js">
380
- <link rel="modulepreload" crossorigin href="/assets/useCuiDialog-BlhSS0jk.js">
381
- <link rel="modulepreload" crossorigin href="/assets/useFileDownload-DEM9UhjP.js">
382
- <link rel="modulepreload" crossorigin href="/assets/CuiCameraCard-BJpi9GYb.js">
381
+ <link rel="modulepreload" crossorigin href="/assets/useCuiDialog-DOcwIZA3.js">
382
+ <link rel="modulepreload" crossorigin href="/assets/CuiCameraCard-BQpPhbFu.js">
383
383
  <link rel="modulepreload" crossorigin href="/assets/cloud-outline-CurAxyG1.js">
384
- <link rel="modulepreload" crossorigin href="/assets/chevron-down-wfeQeGYa.js">
385
- <link rel="modulepreload" crossorigin href="/assets/power-DtI_-6-S.js">
386
- <link rel="modulepreload" crossorigin href="/assets/api-D23Y8GEd.js">
387
- <link rel="modulepreload" crossorigin href="/assets/instances-Cz4DJwNc.js">
384
+ <link rel="modulepreload" crossorigin href="/assets/instances-CGhiomVU.js">
388
385
  <link rel="modulepreload" crossorigin href="/assets/cctv-B8ZbbjL9.js">
389
386
  <link rel="modulepreload" crossorigin href="/assets/terminal-BQ3LCQoM.js">
390
387
  <link rel="modulepreload" crossorigin href="/assets/circular-connection-DYJHyPCa.js">
391
388
  <link rel="modulepreload" crossorigin href="/assets/automation-fzlf5-6c.js">
392
389
  <link rel="modulepreload" crossorigin href="/assets/cloud-outline-BeAnYJfH.js">
390
+ <link rel="modulepreload" crossorigin href="/assets/bell-cSRUkOne.js">
393
391
  <link rel="modulepreload" crossorigin href="/assets/bell-outline-o6630v-a.js">
394
392
  <link rel="modulepreload" crossorigin href="/assets/grid-fill-DB5dDV_p.js">
395
393
  <link rel="modulepreload" crossorigin href="/assets/download-C5mF7t_D.js">
396
- <link rel="modulepreload" crossorigin href="/assets/view-grid-Cg2Wk0qw.js">
394
+ <link rel="modulepreload" crossorigin href="/assets/view-grid-C9udm-L-.js">
397
395
  <link rel="modulepreload" crossorigin href="/assets/eventIcons-DkjNd8He.js">
398
396
  <link rel="modulepreload" crossorigin href="/assets/github-C-mTKrjQ.js">
399
- <link rel="modulepreload" crossorigin href="/assets/CuiFloatingButton-C1-fhCxw.js">
397
+ <link rel="modulepreload" crossorigin href="/assets/CuiFloatingButton-C4icz7qO.js">
400
398
  <link rel="modulepreload" crossorigin href="/assets/vendor-dnd-xonm_1Rf.js">
401
- <link rel="modulepreload" crossorigin href="/assets/CuiTopbarSlot-Bf3keW8N.js">
402
- <link rel="modulepreload" crossorigin href="/assets/useBiometricCredentials-DS-lOPkp.js">
403
- <link rel="modulepreload" crossorigin href="/assets/deviceId-CgRNCVsl.js">
399
+ <link rel="modulepreload" crossorigin href="/assets/CuiTopbarSlot-DBQggZ_k.js">
400
+ <link rel="modulepreload" crossorigin href="/assets/useBiometricCredentials-Boyb2klA.js">
401
+ <link rel="modulepreload" crossorigin href="/assets/deviceId-Bn_6G8Gz.js">
404
402
  <link rel="modulepreload" crossorigin href="/assets/vendor-zod-V2qTUMVc.js">
405
- <link rel="modulepreload" crossorigin href="/assets/types-C1BeYYUs.js">
406
- <link rel="modulepreload" crossorigin href="/assets/users.schema-D9OMoaax.js">
407
- <link rel="modulepreload" crossorigin href="/assets/routerState-ByPqbiUl.js">
408
- <link rel="modulepreload" crossorigin href="/assets/router-BLvVFGz9.js">
409
- <link rel="modulepreload" crossorigin href="/assets/theme-3K07RHLA.js">
410
- <link rel="modulepreload" crossorigin href="/assets/notifications-euShmBTH.js">
403
+ <link rel="modulepreload" crossorigin href="/assets/types-CRlXpmFA.js">
404
+ <link rel="modulepreload" crossorigin href="/assets/users.schema-DXBgo_V0.js">
405
+ <link rel="modulepreload" crossorigin href="/assets/routerState-B_z68YwD.js">
406
+ <link rel="modulepreload" crossorigin href="/assets/router-DMYEhxdj.js">
407
+ <link rel="modulepreload" crossorigin href="/assets/chevron-down-wfeQeGYa.js">
408
+ <link rel="modulepreload" crossorigin href="/assets/power-DtI_-6-S.js">
409
+ <link rel="modulepreload" crossorigin href="/assets/api-BRFaSK8y.js">
410
+ <link rel="modulepreload" crossorigin href="/assets/theme-MOk5mCsC.js">
411
+ <link rel="modulepreload" crossorigin href="/assets/notifications-DDYgdk1C.js">
411
412
  <link rel="modulepreload" crossorigin href="/assets/microphone-D82UAyKX.js">
412
413
  <link rel="modulepreload" crossorigin href="/assets/check-CTsqABwX.js">
413
- <link rel="modulepreload" crossorigin href="/assets/CuiSchema-L35JTZ5Y.js">
414
- <link rel="modulepreload" crossorigin href="/assets/plugins-DsiC2cVL.js">
415
- <link rel="modulepreload" crossorigin href="/assets/PluginSchema-7qwKEn6c.js">
414
+ <link rel="modulepreload" crossorigin href="/assets/CuiSchema-B5BebPPL.js">
415
+ <link rel="modulepreload" crossorigin href="/assets/plugins-DFu-PyaK.js">
416
+ <link rel="modulepreload" crossorigin href="/assets/PluginSchema-0aNy8YQq.js">
416
417
  <link rel="modulepreload" crossorigin href="/assets/information-outline-DUmAI1pZ.js">
417
418
  <link rel="modulepreload" crossorigin href="/assets/plus-f_BxgZ2Q.js">
418
- <link rel="modulepreload" crossorigin href="/assets/cameras.schema-BSB78_gg.js">
419
+ <link rel="modulepreload" crossorigin href="/assets/cameras.schema-fPR1KOyp.js">
419
420
  <link rel="modulepreload" crossorigin href="/assets/delete-Ulf8FkG7.js">
420
- <link rel="modulepreload" crossorigin href="/assets/useStreamStatus-Bn6gxutk.js">
421
+ <link rel="modulepreload" crossorigin href="/assets/useStreamStatus-OmVyef54.js">
421
422
  <link rel="modulepreload" crossorigin href="/assets/home-BWOVJDIG.js">
422
- <link rel="modulepreload" crossorigin href="/assets/locale-fNpCK2bH.js">
423
+ <link rel="modulepreload" crossorigin href="/assets/locale-CKgqENB3.js">
423
424
  <link rel="stylesheet" crossorigin href="/assets/api-Dx-gynar.css">
424
425
  <link rel="stylesheet" crossorigin href="/assets/CuiImage-Bxf7z2N4.css">
425
426
  <link rel="stylesheet" crossorigin href="/assets/CuiAvatar-BtMXnhxd.css">
426
427
  <link rel="stylesheet" crossorigin href="/assets/CuiMenu-BWUfWLQP.css">
427
428
  <link rel="stylesheet" crossorigin href="/assets/CuiBBoxPlayground-EFkdOBvq.css">
428
429
  <link rel="stylesheet" crossorigin href="/assets/CuiCameraCard-VcBtQNrg.css">
429
- <link rel="stylesheet" crossorigin href="/assets/view-grid-BUBP-PlR.css">
430
+ <link rel="stylesheet" crossorigin href="/assets/view-grid-CdZOfBph.css">
430
431
  <link rel="stylesheet" crossorigin href="/assets/eventIcons-2hVCNchU.css">
431
432
  <link rel="stylesheet" crossorigin href="/assets/router-CUsPNy4_.css">
432
433
  <link rel="stylesheet" crossorigin href="/assets/CuiSchema--yMBD996.css">
@@ -1 +1 @@
1
- if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()}).then(()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s}));self.define=(i,a)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let n={};const u=s=>l(s,r),o={module:{uri:r},exports:n,require:u};e[r]=Promise.all(i.map(s=>o[s]||u(s))).then(s=>(a(...s),n))}}define(["./workbox-5f44db27"],function(s){"use strict";s.setCacheNameDetails({prefix:"camera-ui"}),self.addEventListener("message",s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()}),s.precacheAndRoute([{url:"robots.txt",revision:"f77c87f977e0fcce05a6df46c885a129"},{url:"og-share.png",revision:"0ca1dd15e2498de1d1423fe6134db452"},{url:"index.html",revision:"487010f399eb503e993c8e8305120887"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/logo.svg",revision:"1aa262f4a37293a91083eea10794d2ca"},{url:"pwa/favicon-64.ico",revision:"6a697d7662ab5ee246918cdc7c412343"},{url:"pwa/favicon-48.ico",revision:"d0a27003af457cb85651c84c60c87ef0"},{url:"pwa/favicon-32.ico",revision:"6e711cbf0b53afe4a7d0057780fa42b9"},{url:"pwa/favicon-16.ico",revision:"163ae861c5ab9f68ed21324c19dfe35d"},{url:"pwa/apple-touch-icon-180x180.png",revision:"91aec7b3a553812fbd3cd72adb17fcc4"},{url:"pwa/apple-splash-portrait-light-828x1792.png",revision:"8deb1063185df6a2d3089a9fa33f6ad1"},{url:"pwa/apple-splash-portrait-light-750x1334.png",revision:"191c785b1e7b47ac1b1d6bc2a84bde85"},{url:"pwa/apple-splash-portrait-light-640x1136.png",revision:"588e312fd0851d5767972a1efc33e6a3"},{url:"pwa/apple-splash-portrait-light-2048x2732.png",revision:"cf9c75c2e56f8d3af7d914a00ce30286"},{url:"pwa/apple-splash-portrait-light-1668x2388.png",revision:"5db134deca3d2e8a1ae2d8e67c77c420"},{url:"pwa/apple-splash-portrait-light-1668x2224.png",revision:"a1b5adab2a71d0fa646e7b0e9a4fcb71"},{url:"pwa/apple-splash-portrait-light-1620x2160.png",revision:"41bdc2c492d374bf8c6b6875e2beb9f1"},{url:"pwa/apple-splash-portrait-light-1536x2048.png",revision:"42716fc23cfa58d3f154fea1875eb3f5"},{url:"pwa/apple-splash-portrait-light-1290x2796.png",revision:"d57711837cf7e3801a9e8126b1695aaa"},{url:"pwa/apple-splash-portrait-light-1284x2778.png",revision:"461b13cf0d9c293ca220700bb4148afa"},{url:"pwa/apple-splash-portrait-light-1242x2688.png",revision:"2b320f74bc7da7bf0d1be699183416c3"},{url:"pwa/apple-splash-portrait-light-1242x2208.png",revision:"8fd1367cac03e5798973cfa4e0dec5b0"},{url:"pwa/apple-splash-portrait-light-1179x2556.png",revision:"8d1fc622bdb48dda2461e4f47a49249a"},{url:"pwa/apple-splash-portrait-light-1170x2532.png",revision:"58d656b4de9b32a09fc2ea1028116dfb"},{url:"pwa/apple-splash-portrait-light-1125x2436.png",revision:"1a02e33add13bccc9f407efcfd2cf890"},{url:"pwa/apple-splash-portrait-dark-828x1792.png",revision:"543d10f74f6f098e49ba989899182dee"},{url:"pwa/apple-splash-portrait-dark-750x1334.png",revision:"54f99ba556f7cc149eb03fe6207d411d"},{url:"pwa/apple-splash-portrait-dark-640x1136.png",revision:"b901a6f04ef976aa81573ec0f3c8f32b"},{url:"pwa/apple-splash-portrait-dark-2048x2732.png",revision:"60acb5fbde5bb76a368238c5e079c717"},{url:"pwa/apple-splash-portrait-dark-1668x2388.png",revision:"fb7fb372580598abf8a1d8eb7305462a"},{url:"pwa/apple-splash-portrait-dark-1668x2224.png",revision:"1e7b39c9f5fdca7ddf23c1248f7628bf"},{url:"pwa/apple-splash-portrait-dark-1620x2160.png",revision:"1a9f84fba88d4cd5924cf5a39d541b46"},{url:"pwa/apple-splash-portrait-dark-1536x2048.png",revision:"0b26c0a578f6b13b3df06abecc81fb82"},{url:"pwa/apple-splash-portrait-dark-1290x2796.png",revision:"e7f2a468891736413b1e0622a510fd5a"},{url:"pwa/apple-splash-portrait-dark-1284x2778.png",revision:"d7230994de3c4c6016ac252431031ea7"},{url:"pwa/apple-splash-portrait-dark-1242x2688.png",revision:"c56eb0a4a8b4c7bb850cbfc35dd62bba"},{url:"pwa/apple-splash-portrait-dark-1242x2208.png",revision:"1b7f03eaab3cf8af8aa6057fd97278d8"},{url:"pwa/apple-splash-portrait-dark-1179x2556.png",revision:"8eac224083023d0d21374d9f9087bab5"},{url:"pwa/apple-splash-portrait-dark-1170x2532.png",revision:"476ac5131289040d8d88803c18dc20bb"},{url:"pwa/apple-splash-portrait-dark-1125x2436.png",revision:"53ddd8644a89bfc79c8d1bfbaa51527b"},{url:"pwa/apple-splash-landscape-light-2796x1290.png",revision:"a46e458259177e134ad383d133b29774"},{url:"pwa/apple-splash-landscape-light-2778x1284.png",revision:"95d2479cf715c2ea0104fd5f55fa62b3"},{url:"pwa/apple-splash-landscape-light-2732x2048.png",revision:"0e5ec355113efe5ce253583209a64bb8"},{url:"pwa/apple-splash-landscape-light-2688x1242.png",revision:"3757f5338eb50c9f6fb8ad0d72597465"},{url:"pwa/apple-splash-landscape-light-2556x1179.png",revision:"3f0efc9e8de850ae5d3a72a158d39055"},{url:"pwa/apple-splash-landscape-light-2532x1170.png",revision:"b9e11e5a3435cf159f240b5f6da5dc76"},{url:"pwa/apple-splash-landscape-light-2436x1125.png",revision:"459b9c158b3a52222787d00a276baa21"},{url:"pwa/apple-splash-landscape-light-2388x1668.png",revision:"3733608412963cb747e32b2790013523"},{url:"pwa/apple-splash-landscape-light-2224x1668.png",revision:"ecf0efece27d70815f7401f7f3e40a24"},{url:"pwa/apple-splash-landscape-light-2208x1242.png",revision:"653857094b0c183908571fea1aed7b2f"},{url:"pwa/apple-splash-landscape-light-2160x1620.png",revision:"31ac689a78386cf844e33f10fd5d2029"},{url:"pwa/apple-splash-landscape-light-2048x1536.png",revision:"1b27b72b070b260eceeaab092a82663d"},{url:"pwa/apple-splash-landscape-light-1792x828.png",revision:"c6e29d789061fc48eb9f3a54cb1950be"},{url:"pwa/apple-splash-landscape-light-1334x750.png",revision:"f513cdc13ffaf0c2a82bb207e2a9a397"},{url:"pwa/apple-splash-landscape-light-1136x640.png",revision:"c9b4c38f0a267051c0c83cc92c0f5767"},{url:"pwa/apple-splash-landscape-dark-2796x1290.png",revision:"22b9597a28c081730e3430e467b4e36d"},{url:"pwa/apple-splash-landscape-dark-2778x1284.png",revision:"19d1e7a02d9edd3354c61b7c54ea9c1e"},{url:"pwa/apple-splash-landscape-dark-2732x2048.png",revision:"dc9fbb966dfc3350466279749c2946d7"},{url:"pwa/apple-splash-landscape-dark-2688x1242.png",revision:"dcd13ed9567fa4d98867f5c97cc89695"},{url:"pwa/apple-splash-landscape-dark-2556x1179.png",revision:"02e2914d36b2aaf6da02799414a23738"},{url:"pwa/apple-splash-landscape-dark-2532x1170.png",revision:"b89d280148f1bcb816c6364c37daefb6"},{url:"pwa/apple-splash-landscape-dark-2436x1125.png",revision:"85613cc4f5040791ef13e4b2a1ecc840"},{url:"pwa/apple-splash-landscape-dark-2388x1668.png",revision:"e17cbe3b198574eb6fc822c17e22d935"},{url:"pwa/apple-splash-landscape-dark-2224x1668.png",revision:"1144751415d9c1f3d1bc34407b9a9539"},{url:"pwa/apple-splash-landscape-dark-2208x1242.png",revision:"2989b9f038112f8eed3694fa53b86e6a"},{url:"pwa/apple-splash-landscape-dark-2160x1620.png",revision:"ee54046f738fe4346d7febbfaa711244"},{url:"pwa/apple-splash-landscape-dark-2048x1536.png",revision:"70f0181b7e075e3b64e261c4d4e3eada"},{url:"pwa/apple-splash-landscape-dark-1792x828.png",revision:"281d292ea4448638bb250a3fca5f5f44"},{url:"pwa/apple-splash-landscape-dark-1334x750.png",revision:"d82dd37eb2bdf815c1e2ab367134cbbf"},{url:"pwa/apple-splash-landscape-dark-1136x640.png",revision:"c6b193de9bd234c81fdea1d28fe7b88c"},{url:"fonts/InterVariable.woff2",revision:"2bf3d951bf9d6109437ea0874bbf12fb"},{url:"assets/zoom-in-BYdnjCqc.js",revision:null},{url:"assets/worker-yaml-crtWQpDN.js",revision:null},{url:"assets/worker-base-ybazWkNy.js",revision:null},{url:"assets/workbox-window.prod.es5-CwrVCKLg.js",revision:null},{url:"assets/web-v13DBU6x.js",revision:null},{url:"assets/web-pdQgZcLK.js",revision:null},{url:"assets/web-i_qRdwoQ.js",revision:null},{url:"assets/web-SCPXi69_.js",revision:null},{url:"assets/web-Kt0qGdTw.js",revision:null},{url:"assets/web-DsgmjvN1.js",revision:null},{url:"assets/web-DhTSyxi0.js",revision:null},{url:"assets/web-DdMJUopg.js",revision:null},{url:"assets/web-Cd0iVWkF.js",revision:null},{url:"assets/web-CKI9eDZH.js",revision:null},{url:"assets/web-Brr3SoC6.js",revision:null},{url:"assets/web-BjKL51lK-C3ANTgvs.js",revision:null},{url:"assets/view-grid-Cg2Wk0qw.js",revision:null},{url:"assets/view-grid-BUBP-PlR.css",revision:null},{url:"assets/vendor-zod-V2qTUMVc.js",revision:null},{url:"assets/vendor-xterm-BrP-ENHg.css",revision:null},{url:"assets/vendor-xterm-BRN-hOYD.js",revision:null},{url:"assets/vendor-vueflow-DbNvHhY5.js",revision:null},{url:"assets/vendor-primevue-D-xm-xIu.js",revision:null},{url:"assets/vendor-markdown-DtOhvyRx.css",revision:null},{url:"assets/vendor-markdown-Cuk4GbAg.js",revision:null},{url:"assets/vendor-leaflet-vh-t_kPv.css",revision:null},{url:"assets/vendor-leaflet-7XZntJjG.js",revision:null},{url:"assets/vendor-gridstack-Rg2RhwAc.css",revision:null},{url:"assets/vendor-gridstack-DD5uGA3X.js",revision:null},{url:"assets/vendor-draggabilly-BCvaxoth.js",revision:null},{url:"assets/vendor-dnd-xonm_1Rf.js",revision:null},{url:"assets/vendor-core-D8xC2dee.js",revision:null},{url:"assets/vendor-chart-icUQdrg0.js",revision:null},{url:"assets/vendor-capacitor-C9kMjk9v.js",revision:null},{url:"assets/vendor-cameraui-CeENiq5U.js",revision:null},{url:"assets/vendor-ace-DdrK3_G3.js",revision:null},{url:"assets/vendor-TwHhULaP.js",revision:null},{url:"assets/users.schema-D9OMoaax.js",revision:null},{url:"assets/useStreamStatus-Bn6gxutk.js",revision:null},{url:"assets/useSharedComposables-Dyso8kmC.js",revision:null},{url:"assets/useLogsSocket-DZ93-C8L.css",revision:null},{url:"assets/useLogsSocket-CNAQ1g8I.js",revision:null},{url:"assets/useFileDownload-DEM9UhjP.js",revision:null},{url:"assets/useElectron-mh8HQUAI.js",revision:null},{url:"assets/useCuiDialog-BlhSS0jk.js",revision:null},{url:"assets/useCuiCameraDrawer-Cmh9A6-k.js",revision:null},{url:"assets/useCameraOptions-CO9VqYVT.js",revision:null},{url:"assets/useBiometricCredentials-DS-lOPkp.js",revision:null},{url:"assets/upload-DWuSkVN2.js",revision:null},{url:"assets/ui-Cfq-tG-U.js",revision:null},{url:"assets/types-CEoAgYqA.js",revision:null},{url:"assets/types-C1BeYYUs.js",revision:null},{url:"assets/types-BxFyoO54.js",revision:null},{url:"assets/trash-fill-BAE29e0z.js",revision:null},{url:"assets/trash-2-BD8rq7CQ.js",revision:null},{url:"assets/theme-3K07RHLA.js",revision:null},{url:"assets/terminal-BQ3LCQoM.js",revision:null},{url:"assets/shield-check-YUrXqEP1.js",revision:null},{url:"assets/shares-CifP6qUz.js",revision:null},{url:"assets/settings-m51Cb6S4.js",revision:null},{url:"assets/server-CfW4FWmD.js",revision:null},{url:"assets/search-CEV9pN4f.js",revision:null},{url:"assets/routerState-ByPqbiUl.js",revision:null},{url:"assets/router-CUsPNy4_.css",revision:null},{url:"assets/router-BLvVFGz9.js",revision:null},{url:"assets/round-restart-alt-fCNtJi_k.css",revision:null},{url:"assets/round-restart-alt-AXgxJgvx.js",revision:null},{url:"assets/round-alt-arrow-left-bold-hyS2UsXA.js",revision:null},{url:"assets/rolldown-runtime-DAXXjFlN.js",revision:null},{url:"assets/ring-resize-pZQKpkuo.js",revision:null},{url:"assets/power-DtI_-6-S.js",revision:null},{url:"assets/plus-f_BxgZ2Q.js",revision:null},{url:"assets/plus-CKTy7wM2.js",revision:null},{url:"assets/plugins-DsiC2cVL.js",revision:null},{url:"assets/plugin-o1C4PMkO.js",revision:null},{url:"assets/play-solid-BOftFWpE.js",revision:null},{url:"assets/notifications-euShmBTH.js",revision:null},{url:"assets/nodeDefinitions-D8xjmiRu.js",revision:null},{url:"assets/native-hR6M9yJQ.js",revision:null},{url:"assets/native-CecenbN0.js",revision:null},{url:"assets/mode-yaml-CIYL8U3d.js",revision:null},{url:"assets/microphone-D82UAyKX.js",revision:null},{url:"assets/main-sGc9j7q_.js",revision:null},{url:"assets/main-D5ZtdcGl.css",revision:null},{url:"assets/logo-DmEiRk0z.png",revision:null},{url:"assets/logo-256-BCQk9H1-.png",revision:null},{url:"assets/locale-fNpCK2bH.js",revision:null},{url:"assets/lightbulb-outline-i8uQu45Q.js",revision:null},{url:"assets/instances-Cz4DJwNc.js",revision:null},{url:"assets/information-outline-DUmAI1pZ.js",revision:null},{url:"assets/home-BWOVJDIG.js",revision:null},{url:"assets/hasPermission-nr9uI1sh.js",revision:null},{url:"assets/grid-fill-DB5dDV_p.js",revision:null},{url:"assets/github-C-mTKrjQ.js",revision:null},{url:"assets/face-recognition-D-XTJQ2P.js",revision:null},{url:"assets/eventIcons-DkjNd8He.js",revision:null},{url:"assets/eventIcons-2hVCNchU.css",revision:null},{url:"assets/esm-FcbrX9WH.js",revision:null},{url:"assets/esm-FUkSzpJn.js",revision:null},{url:"assets/esm-DQXyLGDU.js",revision:null},{url:"assets/esm-DDqPm7uI.js",revision:null},{url:"assets/esm-CL1WUVFb2.js",revision:null},{url:"assets/esm-CEajN4GM.js",revision:null},{url:"assets/esm-C3-Rxcb-.js",revision:null},{url:"assets/esm-BssYw4zi.js",revision:null},{url:"assets/esm-Bixvpfqx.js",revision:null},{url:"assets/esm-BinAgk-7.js",revision:null},{url:"assets/esm-BTRs6u27.js",revision:null},{url:"assets/esm-BR6x4IxK.js",revision:null},{url:"assets/esm-4ZT5ulB9.js",revision:null},{url:"assets/error-256-DLKVOU2S.png",revision:null},{url:"assets/download-C5mF7t_D.js",revision:null},{url:"assets/dist-Bgv9Czf9.js",revision:null},{url:"assets/deviceId-CgRNCVsl.js",revision:null},{url:"assets/delete-Ulf8FkG7.js",revision:null},{url:"assets/copy-C0lC2d6M.js",revision:null},{url:"assets/copy-16-filled-DUaht4LK.js",revision:null},{url:"assets/cog-DHFhi3a9.js",revision:null},{url:"assets/cloudHandoff-Di9OHN7W.js",revision:null},{url:"assets/cloud-outline-CurAxyG1.js",revision:null},{url:"assets/cloud-outline-BeAnYJfH.js",revision:null},{url:"assets/cloud-check-qQSPwdrj.js",revision:null},{url:"assets/close-circle-C7JuUqWI.js",revision:null},{url:"assets/close-DJVAaOAW.js",revision:null},{url:"assets/circular-connection-DYJHyPCa.js",revision:null},{url:"assets/chevron-right-CFEnKehN.js",revision:null},{url:"assets/chevron-down-wfeQeGYa.js",revision:null},{url:"assets/check-CTsqABwX.js",revision:null},{url:"assets/cctv-B8ZbbjL9.js",revision:null},{url:"assets/cameras.schema-BSB78_gg.js",revision:null},{url:"assets/cameras-DeAGPYqb.js",revision:null},{url:"assets/camera-preview-C7GT5VHo.png",revision:null},{url:"assets/bell-outline-o6630v-a.js",revision:null},{url:"assets/backup-KFYNv85J.js",revision:null},{url:"assets/back-filled-DlLybzyd.js",revision:null},{url:"assets/automations-G3fWqK-C.js",revision:null},{url:"assets/automations-CBmYKozI.js",revision:null},{url:"assets/automation-fzlf5-6c.js",revision:null},{url:"assets/auth-CeN6oTgU.js",revision:null},{url:"assets/api-Dx-gynar.css",revision:null},{url:"assets/api-DjhIYzsF.js",revision:null},{url:"assets/api-D23Y8GEd.js",revision:null},{url:"assets/alert-outline-CLAweJoD.js",revision:null},{url:"assets/ace.config-D884GuRj.js",revision:null},{url:"assets/ace-DQ1lNH50.js",revision:null},{url:"assets/_plugin-vue_export-helper-BDNMzG2s.js",revision:null},{url:"assets/Workers-BINNsLDU.js",revision:null},{url:"assets/VersionsHandler-J7N_cZBS.js",revision:null},{url:"assets/VariableSuggestions-BvuF7Ezf.js",revision:null},{url:"assets/VariableInput-B4E4nh-i.js",revision:null},{url:"assets/Terminal-CrOfQJ-O.css",revision:null},{url:"assets/Terminal-BR9InMiL.js",revision:null},{url:"assets/SettingsUsers-Dx8Fm2QE.js",revision:null},{url:"assets/SettingsSystem-C0OHXycw.js",revision:null},{url:"assets/SettingsRemote-uybnhgZ-.css",revision:null},{url:"assets/SettingsRemote-Kb-ichM0.js",revision:null},{url:"assets/SettingsRecordings-DvNlji2N.js",revision:null},{url:"assets/SettingsNotifications-di325j-b.js",revision:null},{url:"assets/SettingsBackup-CpBqig7H.js",revision:null},{url:"assets/SettingsBackup-CX0rT0QJ.css",revision:null},{url:"assets/SettingsAppearance-DLnlx8bM.js",revision:null},{url:"assets/SettingsAppearance-DA8ON3Ts.js",revision:null},{url:"assets/SettingsAccount-lIy74Kjh.js",revision:null},{url:"assets/SettingsAccount-DoFSZhI5.js",revision:null},{url:"assets/SettingsAccount-D1ljtv1H.css",revision:null},{url:"assets/Settings-bwLTNAxX.css",revision:null},{url:"assets/Settings-CnGCN9cC.js",revision:null},{url:"assets/Recordings-MSRod46b.js",revision:null},{url:"assets/Recordings-Bt_GlPOK.css",revision:null},{url:"assets/Plugins-s1k811lf.css",revision:null},{url:"assets/Plugins-CFXvg0P-.js",revision:null},{url:"assets/PluginSchema-7qwKEn6c.js",revision:null},{url:"assets/PluginConsole-00dw-HUB.js",revision:null},{url:"assets/Plugin-DoxdkvWR.css",revision:null},{url:"assets/Plugin-B4UvyHA4.js",revision:null},{url:"assets/OAuthDeviceFlow-DwoyMn6e.js",revision:null},{url:"assets/Menu-BK9rk_sp.js",revision:null},{url:"assets/Instances-BE8EkRQ4.js",revision:null},{url:"assets/FirstSteps-c4m_l-s9.js",revision:null},{url:"assets/Faces-DLdVxTYg.js",revision:null},{url:"assets/CuiTopbarSlot-Bf3keW8N.js",revision:null},{url:"assets/CuiTopNavbarItem-dBqQ0_Wd.js",revision:null},{url:"assets/CuiTopNavbarItem-CJqOqVMt.css",revision:null},{url:"assets/CuiSchema-L35JTZ5Y.js",revision:null},{url:"assets/CuiSchema--yMBD996.css",revision:null},{url:"assets/CuiRecordingsGrid-CZIZiEuT.css",revision:null},{url:"assets/CuiRecordingsGrid-CS01gjpz.js",revision:null},{url:"assets/CuiQRCode-DOVuTNfQ.js",revision:null},{url:"assets/CuiQRCode-C3l07Uwh.css",revision:null},{url:"assets/CuiPluginOAuthButton-BvRVOPAt.js",revision:null},{url:"assets/CuiPluginCard-DQXny68Q.js",revision:null},{url:"assets/CuiPluginCard-D28KSZ-D.css",revision:null},{url:"assets/CuiMenu-CX2XxBmg.js",revision:null},{url:"assets/CuiMenu-BWUfWLQP.css",revision:null},{url:"assets/CuiMarkdownContent-BYS4QtBh.js",revision:null},{url:"assets/CuiImage-Bxf7z2N4.css",revision:null},{url:"assets/CuiImage-Ab94PYIg.js",revision:null},{url:"assets/CuiFloatingButton-C1-fhCxw.js",revision:null},{url:"assets/CuiCameraTable-DMKLoisE.js",revision:null},{url:"assets/CuiCameraSnapshot-fX1tTzWs.js",revision:null},{url:"assets/CuiCameraShares-BCTN3Ie-.js",revision:null},{url:"assets/CuiCameraRecordings-DbPr4N27.js",revision:null},{url:"assets/CuiCameraRecordings-BHj7CUE7.css",revision:null},{url:"assets/CuiCameraPipCard-D3o29_wc.css",revision:null},{url:"assets/CuiCameraPipCard-CLa09t5W.js",revision:null},{url:"assets/CuiCameraCard-VcBtQNrg.css",revision:null},{url:"assets/CuiCameraCard-BJpi9GYb.js",revision:null},{url:"assets/CuiBottomSheet-HO59nDTz.js",revision:null},{url:"assets/CuiBottomSheet-DsjZEdig.css",revision:null},{url:"assets/CuiBottomSheet-Cgbt7aQP.js",revision:null},{url:"assets/CuiBBoxPlayground-EFkdOBvq.css",revision:null},{url:"assets/CuiBBoxPlayground-BYZaz-7W.js",revision:null},{url:"assets/CuiAvatar-DQfgB_0j.js",revision:null},{url:"assets/CuiAvatar-BtMXnhxd.css",revision:null},{url:"assets/CuiActionButton-BTl3-QUV.js",revision:null},{url:"assets/Console-D32_FF2q.js",revision:null},{url:"assets/ConfigTriggerWebhook-4yHSEfMK.js",revision:null},{url:"assets/ConfigTriggerSystem-DXCusYWo.js",revision:null},{url:"assets/ConfigTriggerSensor-t0MTHl1T.js",revision:null},{url:"assets/ConfigTriggerSchedule-BJSgt14u.js",revision:null},{url:"assets/ConfigTriggerManual-CoImkqag.js",revision:null},{url:"assets/ConfigTriggerGeofence-CDU2jx7z.js",revision:null},{url:"assets/ConfigTriggerDetection-C7RtR75f.js",revision:null},{url:"assets/ConfigConditionTime-CBShDqBo.js",revision:null},{url:"assets/ConfigConditionSwitch-CIJ64bNh.js",revision:null},{url:"assets/ConfigConditionSensorState-CyPhwS7K.js",revision:null},{url:"assets/ConfigConditionIfElse-D5EjxXMg.js",revision:null},{url:"assets/ConfigActionVariable-D4fNkkoL.js",revision:null},{url:"assets/ConfigActionSnapshot-Dtde_3hQ.js",revision:null},{url:"assets/ConfigActionSensor-DuHOX22J.js",revision:null},{url:"assets/ConfigActionPlugin-DMAUig6Q.js",revision:null},{url:"assets/ConfigActionOutput-Bd84SbZE.js",revision:null},{url:"assets/ConfigActionNotification-D_4Y919Q.js",revision:null},{url:"assets/ConfigActionImageInput-BN7Iwsa-.js",revision:null},{url:"assets/ConfigActionHttp-B3tZHdsR.js",revision:null},{url:"assets/ConfigActionDelay-DGdVeQDT.js",revision:null},{url:"assets/ConfigActionCameraControl-aMa-699v.js",revision:null},{url:"assets/Config-JgftUZFe.css",revision:null},{url:"assets/Config-Dc7jeUIy.js",revision:null},{url:"assets/Camview-C0yJPOLo.css",revision:null},{url:"assets/Camview-BnpJaGfI.js",revision:null},{url:"assets/Cameras-CyZMjvQu.js",revision:null},{url:"assets/Cameras-BE9SEK9h.css",revision:null},{url:"assets/CameraConsole-BQVlxqb1.js",revision:null},{url:"assets/Camera-CTIUE1PX.js",revision:null},{url:"assets/Camera-7MHb-HMp.css",revision:null},{url:"assets/Automations-Dbs6NMx-.js",revision:null},{url:"assets/Automation-Csu8t0D7.css",revision:null},{url:"assets/Automation-CQm0ZHfh.js",revision:null},{url:"assets/Adminpanel-B_SQSHyD.js",revision:null},{url:"assets/About-Bfjj72u5.js",revision:null},{url:"assets/404-Clo6qjGo.js",revision:null},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"manifest.webmanifest",revision:"ed2b67044c80f7c0362cd73cde2f96c5"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{allowlist:[/^(?!\/api)/],denylist:[/[?&]session=/]}))});
1
+ if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()}).then(()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s}));self.define=(i,a)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let n={};const u=s=>l(s,r),o={module:{uri:r},exports:n,require:u};e[r]=Promise.all(i.map(s=>o[s]||u(s))).then(s=>(a(...s),n))}}define(["./workbox-5f44db27"],function(s){"use strict";s.setCacheNameDetails({prefix:"camera-ui"}),self.addEventListener("message",s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()}),s.precacheAndRoute([{url:"robots.txt",revision:"f77c87f977e0fcce05a6df46c885a129"},{url:"og-share.png",revision:"0ca1dd15e2498de1d1423fe6134db452"},{url:"index.html",revision:"857812bfaf927cb4e3b18b91b6867bbe"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/logo.svg",revision:"1aa262f4a37293a91083eea10794d2ca"},{url:"pwa/favicon-64.ico",revision:"6a697d7662ab5ee246918cdc7c412343"},{url:"pwa/favicon-48.ico",revision:"d0a27003af457cb85651c84c60c87ef0"},{url:"pwa/favicon-32.ico",revision:"6e711cbf0b53afe4a7d0057780fa42b9"},{url:"pwa/favicon-16.ico",revision:"163ae861c5ab9f68ed21324c19dfe35d"},{url:"pwa/apple-touch-icon-180x180.png",revision:"91aec7b3a553812fbd3cd72adb17fcc4"},{url:"pwa/apple-splash-portrait-light-828x1792.png",revision:"8deb1063185df6a2d3089a9fa33f6ad1"},{url:"pwa/apple-splash-portrait-light-750x1334.png",revision:"191c785b1e7b47ac1b1d6bc2a84bde85"},{url:"pwa/apple-splash-portrait-light-640x1136.png",revision:"588e312fd0851d5767972a1efc33e6a3"},{url:"pwa/apple-splash-portrait-light-2048x2732.png",revision:"cf9c75c2e56f8d3af7d914a00ce30286"},{url:"pwa/apple-splash-portrait-light-1668x2388.png",revision:"5db134deca3d2e8a1ae2d8e67c77c420"},{url:"pwa/apple-splash-portrait-light-1668x2224.png",revision:"a1b5adab2a71d0fa646e7b0e9a4fcb71"},{url:"pwa/apple-splash-portrait-light-1620x2160.png",revision:"41bdc2c492d374bf8c6b6875e2beb9f1"},{url:"pwa/apple-splash-portrait-light-1536x2048.png",revision:"42716fc23cfa58d3f154fea1875eb3f5"},{url:"pwa/apple-splash-portrait-light-1290x2796.png",revision:"d57711837cf7e3801a9e8126b1695aaa"},{url:"pwa/apple-splash-portrait-light-1284x2778.png",revision:"461b13cf0d9c293ca220700bb4148afa"},{url:"pwa/apple-splash-portrait-light-1242x2688.png",revision:"2b320f74bc7da7bf0d1be699183416c3"},{url:"pwa/apple-splash-portrait-light-1242x2208.png",revision:"8fd1367cac03e5798973cfa4e0dec5b0"},{url:"pwa/apple-splash-portrait-light-1179x2556.png",revision:"8d1fc622bdb48dda2461e4f47a49249a"},{url:"pwa/apple-splash-portrait-light-1170x2532.png",revision:"58d656b4de9b32a09fc2ea1028116dfb"},{url:"pwa/apple-splash-portrait-light-1125x2436.png",revision:"1a02e33add13bccc9f407efcfd2cf890"},{url:"pwa/apple-splash-portrait-dark-828x1792.png",revision:"543d10f74f6f098e49ba989899182dee"},{url:"pwa/apple-splash-portrait-dark-750x1334.png",revision:"54f99ba556f7cc149eb03fe6207d411d"},{url:"pwa/apple-splash-portrait-dark-640x1136.png",revision:"b901a6f04ef976aa81573ec0f3c8f32b"},{url:"pwa/apple-splash-portrait-dark-2048x2732.png",revision:"60acb5fbde5bb76a368238c5e079c717"},{url:"pwa/apple-splash-portrait-dark-1668x2388.png",revision:"fb7fb372580598abf8a1d8eb7305462a"},{url:"pwa/apple-splash-portrait-dark-1668x2224.png",revision:"1e7b39c9f5fdca7ddf23c1248f7628bf"},{url:"pwa/apple-splash-portrait-dark-1620x2160.png",revision:"1a9f84fba88d4cd5924cf5a39d541b46"},{url:"pwa/apple-splash-portrait-dark-1536x2048.png",revision:"0b26c0a578f6b13b3df06abecc81fb82"},{url:"pwa/apple-splash-portrait-dark-1290x2796.png",revision:"e7f2a468891736413b1e0622a510fd5a"},{url:"pwa/apple-splash-portrait-dark-1284x2778.png",revision:"d7230994de3c4c6016ac252431031ea7"},{url:"pwa/apple-splash-portrait-dark-1242x2688.png",revision:"c56eb0a4a8b4c7bb850cbfc35dd62bba"},{url:"pwa/apple-splash-portrait-dark-1242x2208.png",revision:"1b7f03eaab3cf8af8aa6057fd97278d8"},{url:"pwa/apple-splash-portrait-dark-1179x2556.png",revision:"8eac224083023d0d21374d9f9087bab5"},{url:"pwa/apple-splash-portrait-dark-1170x2532.png",revision:"476ac5131289040d8d88803c18dc20bb"},{url:"pwa/apple-splash-portrait-dark-1125x2436.png",revision:"53ddd8644a89bfc79c8d1bfbaa51527b"},{url:"pwa/apple-splash-landscape-light-2796x1290.png",revision:"a46e458259177e134ad383d133b29774"},{url:"pwa/apple-splash-landscape-light-2778x1284.png",revision:"95d2479cf715c2ea0104fd5f55fa62b3"},{url:"pwa/apple-splash-landscape-light-2732x2048.png",revision:"0e5ec355113efe5ce253583209a64bb8"},{url:"pwa/apple-splash-landscape-light-2688x1242.png",revision:"3757f5338eb50c9f6fb8ad0d72597465"},{url:"pwa/apple-splash-landscape-light-2556x1179.png",revision:"3f0efc9e8de850ae5d3a72a158d39055"},{url:"pwa/apple-splash-landscape-light-2532x1170.png",revision:"b9e11e5a3435cf159f240b5f6da5dc76"},{url:"pwa/apple-splash-landscape-light-2436x1125.png",revision:"459b9c158b3a52222787d00a276baa21"},{url:"pwa/apple-splash-landscape-light-2388x1668.png",revision:"3733608412963cb747e32b2790013523"},{url:"pwa/apple-splash-landscape-light-2224x1668.png",revision:"ecf0efece27d70815f7401f7f3e40a24"},{url:"pwa/apple-splash-landscape-light-2208x1242.png",revision:"653857094b0c183908571fea1aed7b2f"},{url:"pwa/apple-splash-landscape-light-2160x1620.png",revision:"31ac689a78386cf844e33f10fd5d2029"},{url:"pwa/apple-splash-landscape-light-2048x1536.png",revision:"1b27b72b070b260eceeaab092a82663d"},{url:"pwa/apple-splash-landscape-light-1792x828.png",revision:"c6e29d789061fc48eb9f3a54cb1950be"},{url:"pwa/apple-splash-landscape-light-1334x750.png",revision:"f513cdc13ffaf0c2a82bb207e2a9a397"},{url:"pwa/apple-splash-landscape-light-1136x640.png",revision:"c9b4c38f0a267051c0c83cc92c0f5767"},{url:"pwa/apple-splash-landscape-dark-2796x1290.png",revision:"22b9597a28c081730e3430e467b4e36d"},{url:"pwa/apple-splash-landscape-dark-2778x1284.png",revision:"19d1e7a02d9edd3354c61b7c54ea9c1e"},{url:"pwa/apple-splash-landscape-dark-2732x2048.png",revision:"dc9fbb966dfc3350466279749c2946d7"},{url:"pwa/apple-splash-landscape-dark-2688x1242.png",revision:"dcd13ed9567fa4d98867f5c97cc89695"},{url:"pwa/apple-splash-landscape-dark-2556x1179.png",revision:"02e2914d36b2aaf6da02799414a23738"},{url:"pwa/apple-splash-landscape-dark-2532x1170.png",revision:"b89d280148f1bcb816c6364c37daefb6"},{url:"pwa/apple-splash-landscape-dark-2436x1125.png",revision:"85613cc4f5040791ef13e4b2a1ecc840"},{url:"pwa/apple-splash-landscape-dark-2388x1668.png",revision:"e17cbe3b198574eb6fc822c17e22d935"},{url:"pwa/apple-splash-landscape-dark-2224x1668.png",revision:"1144751415d9c1f3d1bc34407b9a9539"},{url:"pwa/apple-splash-landscape-dark-2208x1242.png",revision:"2989b9f038112f8eed3694fa53b86e6a"},{url:"pwa/apple-splash-landscape-dark-2160x1620.png",revision:"ee54046f738fe4346d7febbfaa711244"},{url:"pwa/apple-splash-landscape-dark-2048x1536.png",revision:"70f0181b7e075e3b64e261c4d4e3eada"},{url:"pwa/apple-splash-landscape-dark-1792x828.png",revision:"281d292ea4448638bb250a3fca5f5f44"},{url:"pwa/apple-splash-landscape-dark-1334x750.png",revision:"d82dd37eb2bdf815c1e2ab367134cbbf"},{url:"pwa/apple-splash-landscape-dark-1136x640.png",revision:"c6b193de9bd234c81fdea1d28fe7b88c"},{url:"fonts/InterVariable.woff2",revision:"2bf3d951bf9d6109437ea0874bbf12fb"},{url:"assets/zoom-in-BYdnjCqc.js",revision:null},{url:"assets/worker-yaml-crtWQpDN.js",revision:null},{url:"assets/worker-base-ybazWkNy.js",revision:null},{url:"assets/workbox-window.prod.es5-CwrVCKLg.js",revision:null},{url:"assets/web-v13DBU6x.js",revision:null},{url:"assets/web-pdQgZcLK.js",revision:null},{url:"assets/web-i_qRdwoQ.js",revision:null},{url:"assets/web-SCPXi69_.js",revision:null},{url:"assets/web-Kt0qGdTw.js",revision:null},{url:"assets/web-DsgmjvN1.js",revision:null},{url:"assets/web-DhTSyxi0.js",revision:null},{url:"assets/web-DdMJUopg.js",revision:null},{url:"assets/web-Cd0iVWkF.js",revision:null},{url:"assets/web-CKI9eDZH.js",revision:null},{url:"assets/web-Brr3SoC6.js",revision:null},{url:"assets/web-BjKL51lK-C3ANTgvs.js",revision:null},{url:"assets/view-grid-CdZOfBph.css",revision:null},{url:"assets/view-grid-C9udm-L-.js",revision:null},{url:"assets/vendor-zod-V2qTUMVc.js",revision:null},{url:"assets/vendor-xterm-BrP-ENHg.css",revision:null},{url:"assets/vendor-xterm-BRN-hOYD.js",revision:null},{url:"assets/vendor-vueflow-DbNvHhY5.js",revision:null},{url:"assets/vendor-primevue-Bs3kBqxF.js",revision:null},{url:"assets/vendor-markdown-DtOhvyRx.css",revision:null},{url:"assets/vendor-markdown-Cuk4GbAg.js",revision:null},{url:"assets/vendor-leaflet-vh-t_kPv.css",revision:null},{url:"assets/vendor-leaflet-7XZntJjG.js",revision:null},{url:"assets/vendor-gridstack-Rg2RhwAc.css",revision:null},{url:"assets/vendor-gridstack-DD5uGA3X.js",revision:null},{url:"assets/vendor-draggabilly-BCvaxoth.js",revision:null},{url:"assets/vendor-dnd-xonm_1Rf.js",revision:null},{url:"assets/vendor-core-Cmu2BAxm.js",revision:null},{url:"assets/vendor-chart-icUQdrg0.js",revision:null},{url:"assets/vendor-capacitor-C9kMjk9v.js",revision:null},{url:"assets/vendor-cameraui-CUPAufpt.js",revision:null},{url:"assets/vendor-ace-DdrK3_G3.js",revision:null},{url:"assets/vendor-TwHhULaP.js",revision:null},{url:"assets/users.schema-DXBgo_V0.js",revision:null},{url:"assets/useStreamStatus-OmVyef54.js",revision:null},{url:"assets/useSharedComposables-THEdrAoU.js",revision:null},{url:"assets/useLogsSocket-DZ93-C8L.css",revision:null},{url:"assets/useLogsSocket-B1L7x9fB.js",revision:null},{url:"assets/useFileDownload-CRB3k3lW.js",revision:null},{url:"assets/useElectron-mh8HQUAI.js",revision:null},{url:"assets/useCuiDialog-DOcwIZA3.js",revision:null},{url:"assets/useCuiCameraDrawer-BmdGPeEe.js",revision:null},{url:"assets/useCameraOptions-BOSJBPuE.js",revision:null},{url:"assets/useBiometricCredentials-Boyb2klA.js",revision:null},{url:"assets/upload-DWuSkVN2.js",revision:null},{url:"assets/ui-CY2-_evw.js",revision:null},{url:"assets/types-CRlXpmFA.js",revision:null},{url:"assets/types-CEoAgYqA.js",revision:null},{url:"assets/types-BxFyoO54.js",revision:null},{url:"assets/trash-fill-BAE29e0z.js",revision:null},{url:"assets/trash-2-BD8rq7CQ.js",revision:null},{url:"assets/theme-MOk5mCsC.js",revision:null},{url:"assets/terminal-BQ3LCQoM.js",revision:null},{url:"assets/shield-check-YUrXqEP1.js",revision:null},{url:"assets/shares-TtxtbPZt.js",revision:null},{url:"assets/settings-m51Cb6S4.js",revision:null},{url:"assets/server-BpIPZq5L.js",revision:null},{url:"assets/search-CEV9pN4f.js",revision:null},{url:"assets/routerState-B_z68YwD.js",revision:null},{url:"assets/router-DMYEhxdj.js",revision:null},{url:"assets/router-CUsPNy4_.css",revision:null},{url:"assets/round-restart-alt-fCNtJi_k.css",revision:null},{url:"assets/round-restart-alt-X9I15hRL.js",revision:null},{url:"assets/round-alt-arrow-left-bold-hyS2UsXA.js",revision:null},{url:"assets/rolldown-runtime-DAXXjFlN.js",revision:null},{url:"assets/ring-resize-pZQKpkuo.js",revision:null},{url:"assets/power-DtI_-6-S.js",revision:null},{url:"assets/plus-f_BxgZ2Q.js",revision:null},{url:"assets/plus-CKTy7wM2.js",revision:null},{url:"assets/plugins-DFu-PyaK.js",revision:null},{url:"assets/plugin-o1C4PMkO.js",revision:null},{url:"assets/play-solid-BOftFWpE.js",revision:null},{url:"assets/notifications-DDYgdk1C.js",revision:null},{url:"assets/nodeDefinitions-D8xjmiRu.js",revision:null},{url:"assets/native-hR6M9yJQ.js",revision:null},{url:"assets/native-CecenbN0.js",revision:null},{url:"assets/mode-yaml-CIYL8U3d.js",revision:null},{url:"assets/microphone-D82UAyKX.js",revision:null},{url:"assets/main-D5ZtdcGl.css",revision:null},{url:"assets/main-8r8D2YqX.js",revision:null},{url:"assets/logo-DmEiRk0z.png",revision:null},{url:"assets/logo-512-DLKVOU2S.png",revision:null},{url:"assets/logo-256-BCQk9H1-.png",revision:null},{url:"assets/locale-CKgqENB3.js",revision:null},{url:"assets/lightbulb-outline-i8uQu45Q.js",revision:null},{url:"assets/instances-CGhiomVU.js",revision:null},{url:"assets/information-outline-DUmAI1pZ.js",revision:null},{url:"assets/home-BWOVJDIG.js",revision:null},{url:"assets/hasPermission-DjEBddex.js",revision:null},{url:"assets/grid-fill-DB5dDV_p.js",revision:null},{url:"assets/github-C-mTKrjQ.js",revision:null},{url:"assets/face-recognition-D-XTJQ2P.js",revision:null},{url:"assets/eventIcons-DkjNd8He.js",revision:null},{url:"assets/eventIcons-2hVCNchU.css",revision:null},{url:"assets/esm-FcbrX9WH.js",revision:null},{url:"assets/esm-FUkSzpJn.js",revision:null},{url:"assets/esm-DQXyLGDU.js",revision:null},{url:"assets/esm-DDqPm7uI.js",revision:null},{url:"assets/esm-CL1WUVFb2.js",revision:null},{url:"assets/esm-CEajN4GM.js",revision:null},{url:"assets/esm-C3-Rxcb-.js",revision:null},{url:"assets/esm-BssYw4zi.js",revision:null},{url:"assets/esm-Bixvpfqx.js",revision:null},{url:"assets/esm-BinAgk-7.js",revision:null},{url:"assets/esm-BTRs6u27.js",revision:null},{url:"assets/esm-BR6x4IxK.js",revision:null},{url:"assets/esm-4ZT5ulB9.js",revision:null},{url:"assets/download-C5mF7t_D.js",revision:null},{url:"assets/dist-Bgv9Czf9.js",revision:null},{url:"assets/deviceId-Bn_6G8Gz.js",revision:null},{url:"assets/delete-Ulf8FkG7.js",revision:null},{url:"assets/copy-C0lC2d6M.js",revision:null},{url:"assets/copy-16-filled-DUaht4LK.js",revision:null},{url:"assets/cog-DHFhi3a9.js",revision:null},{url:"assets/cloudHandoff-BJ8olRtK.js",revision:null},{url:"assets/cloud-outline-CurAxyG1.js",revision:null},{url:"assets/cloud-outline-BeAnYJfH.js",revision:null},{url:"assets/cloud-check-qQSPwdrj.js",revision:null},{url:"assets/close-circle-C7JuUqWI.js",revision:null},{url:"assets/close-DJVAaOAW.js",revision:null},{url:"assets/circular-connection-DYJHyPCa.js",revision:null},{url:"assets/chevron-right-CFEnKehN.js",revision:null},{url:"assets/chevron-down-wfeQeGYa.js",revision:null},{url:"assets/check-CTsqABwX.js",revision:null},{url:"assets/cctv-B8ZbbjL9.js",revision:null},{url:"assets/cameras.schema-fPR1KOyp.js",revision:null},{url:"assets/cameras-DHOi-zot.js",revision:null},{url:"assets/camera-preview-C7GT5VHo.png",revision:null},{url:"assets/bell-outline-o6630v-a.js",revision:null},{url:"assets/bell-cSRUkOne.js",revision:null},{url:"assets/backup-yOGR7lqI.js",revision:null},{url:"assets/back-filled-DlLybzyd.js",revision:null},{url:"assets/automations-Z2hMedMg.js",revision:null},{url:"assets/automations-Cg4kEME7.js",revision:null},{url:"assets/automation-fzlf5-6c.js",revision:null},{url:"assets/auth-BXBwiBIH.js",revision:null},{url:"assets/api-Dx-gynar.css",revision:null},{url:"assets/api-CxmpI477.js",revision:null},{url:"assets/api-BRFaSK8y.js",revision:null},{url:"assets/alert-outline-CLAweJoD.js",revision:null},{url:"assets/ace.config-D884GuRj.js",revision:null},{url:"assets/ace-DQ1lNH50.js",revision:null},{url:"assets/_plugin-vue_export-helper-BDNMzG2s.js",revision:null},{url:"assets/Workers-eBjEKjQP.js",revision:null},{url:"assets/VersionsHandler-BxEnoZuK.js",revision:null},{url:"assets/VariableSuggestions-BIqdHoyn.js",revision:null},{url:"assets/VariableInput-Djug7qo2.js",revision:null},{url:"assets/Terminal-CrOfQJ-O.css",revision:null},{url:"assets/Terminal-Bw7lYJBM.js",revision:null},{url:"assets/SettingsUsers-YTqxZlmG.js",revision:null},{url:"assets/SettingsSystem-DQpLhvrZ.js",revision:null},{url:"assets/SettingsRemote-uybnhgZ-.css",revision:null},{url:"assets/SettingsRemote-COUnUIJS.js",revision:null},{url:"assets/SettingsRecordings-N7Z5TfSc.js",revision:null},{url:"assets/SettingsNotifications-CLJy9x9n.js",revision:null},{url:"assets/SettingsBackup-DPBoJMtH.js",revision:null},{url:"assets/SettingsBackup-CX0rT0QJ.css",revision:null},{url:"assets/SettingsAppearance-C8m7xHUu.js",revision:null},{url:"assets/SettingsAppearance-BNnf1b_H.js",revision:null},{url:"assets/SettingsAccount-D1ljtv1H.css",revision:null},{url:"assets/SettingsAccount-CXmg2Mcz.js",revision:null},{url:"assets/SettingsAccount-C1SbeJeY.js",revision:null},{url:"assets/Settings-bwLTNAxX.css",revision:null},{url:"assets/Settings-CLAZVcfy.js",revision:null},{url:"assets/Recordings-DX54fvB1.js",revision:null},{url:"assets/Recordings-Bt_GlPOK.css",revision:null},{url:"assets/Plugins-s1k811lf.css",revision:null},{url:"assets/Plugins-DprSQtTi.js",revision:null},{url:"assets/PluginSchema-0aNy8YQq.js",revision:null},{url:"assets/PluginConsole-BlNqePgI.js",revision:null},{url:"assets/Plugin-fmS65xcP.js",revision:null},{url:"assets/Plugin-LKueZ7Bz.css",revision:null},{url:"assets/OAuthDeviceFlow-hX46XrKS.js",revision:null},{url:"assets/Menu-D7K5vheb.js",revision:null},{url:"assets/Instances-CRywvMB3.js",revision:null},{url:"assets/FirstSteps-BA2GcdeZ.js",revision:null},{url:"assets/Faces-BuDpT1bS.js",revision:null},{url:"assets/CuiTopbarSlot-DBQggZ_k.js",revision:null},{url:"assets/CuiTopNavbarItem-CJqOqVMt.css",revision:null},{url:"assets/CuiTopNavbarItem-C1Jf6-v6.js",revision:null},{url:"assets/CuiSchema-B5BebPPL.js",revision:null},{url:"assets/CuiSchema--yMBD996.css",revision:null},{url:"assets/CuiRecordingsGrid-DEMp6jb1.js",revision:null},{url:"assets/CuiRecordingsGrid-CZIZiEuT.css",revision:null},{url:"assets/CuiQRCode-CdXrr9fF.js",revision:null},{url:"assets/CuiQRCode-C3l07Uwh.css",revision:null},{url:"assets/CuiPluginOAuthButton-BjITZzrH.js",revision:null},{url:"assets/CuiPluginCard-D28KSZ-D.css",revision:null},{url:"assets/CuiPluginCard-BjIla0Lh.js",revision:null},{url:"assets/CuiMenu-BnlDnhe4.js",revision:null},{url:"assets/CuiMenu-BWUfWLQP.css",revision:null},{url:"assets/CuiMarkdownContent-BYS4QtBh.js",revision:null},{url:"assets/CuiImage-Bxf7z2N4.css",revision:null},{url:"assets/CuiImage-BW_rXmKP.js",revision:null},{url:"assets/CuiFloatingButton-C4icz7qO.js",revision:null},{url:"assets/CuiCameraTable-vtE18b9O.js",revision:null},{url:"assets/CuiCameraSnapshot-BSHFq9Wu.js",revision:null},{url:"assets/CuiCameraShares-Ccl_R18x.js",revision:null},{url:"assets/CuiCameraRecordings-DdHzzlQ0.js",revision:null},{url:"assets/CuiCameraRecordings-BHj7CUE7.css",revision:null},{url:"assets/CuiCameraPipCard-mI-fq1HA.js",revision:null},{url:"assets/CuiCameraPipCard-D3o29_wc.css",revision:null},{url:"assets/CuiCameraCard-VcBtQNrg.css",revision:null},{url:"assets/CuiCameraCard-BQpPhbFu.js",revision:null},{url:"assets/CuiBottomSheet-DsjZEdig.css",revision:null},{url:"assets/CuiBottomSheet-DeatNfwe.js",revision:null},{url:"assets/CuiBottomSheet-Crtral92.js",revision:null},{url:"assets/CuiBBoxPlayground-JxlxAwEH.js",revision:null},{url:"assets/CuiBBoxPlayground-EFkdOBvq.css",revision:null},{url:"assets/CuiAvatar-CgMxEmy_.js",revision:null},{url:"assets/CuiAvatar-BtMXnhxd.css",revision:null},{url:"assets/CuiActionButton-vWfTn9v6.js",revision:null},{url:"assets/Console-C9gkw0lo.js",revision:null},{url:"assets/ConfigTriggerWebhook-Cbl7Xnqa.js",revision:null},{url:"assets/ConfigTriggerSystem-Df5J0gpZ.js",revision:null},{url:"assets/ConfigTriggerSensor-CdMpLf9A.js",revision:null},{url:"assets/ConfigTriggerSchedule-BeMgx20W.js",revision:null},{url:"assets/ConfigTriggerManual-Cdl-639w.js",revision:null},{url:"assets/ConfigTriggerGeofence-D7xWoEKp.js",revision:null},{url:"assets/ConfigTriggerDetection-5qawJGDL.js",revision:null},{url:"assets/ConfigConditionTime-pVizMny5.js",revision:null},{url:"assets/ConfigConditionSwitch-Fmxop0ZO.js",revision:null},{url:"assets/ConfigConditionSensorState-BbYFiyQO.js",revision:null},{url:"assets/ConfigConditionIfElse-qGQl3t_X.js",revision:null},{url:"assets/ConfigActionVariable-m9pSdZRi.js",revision:null},{url:"assets/ConfigActionSnapshot-D9qfVi25.js",revision:null},{url:"assets/ConfigActionSensor-TP-clDuT.js",revision:null},{url:"assets/ConfigActionPlugin-CJcmszAL.js",revision:null},{url:"assets/ConfigActionOutput-puWLDmCK.js",revision:null},{url:"assets/ConfigActionNotification-IyTVckPy.js",revision:null},{url:"assets/ConfigActionImageInput-BXGvomRn.js",revision:null},{url:"assets/ConfigActionHttp-ChmRoLGn.js",revision:null},{url:"assets/ConfigActionDelay-B8IeqrQl.js",revision:null},{url:"assets/ConfigActionCameraControl-BIwMf0Pc.js",revision:null},{url:"assets/Config-JgftUZFe.css",revision:null},{url:"assets/Config-BQQkw0Ol.js",revision:null},{url:"assets/Camview-O0phps-e.css",revision:null},{url:"assets/Camview-D2ON2UGk.js",revision:null},{url:"assets/Cameras-vPU6uknc.js",revision:null},{url:"assets/Cameras-DTL-BCYT.css",revision:null},{url:"assets/CameraConsole-ep5CUZNu.js",revision:null},{url:"assets/Camera-7MHb-HMp.css",revision:null},{url:"assets/Camera-1ii5b47V.js",revision:null},{url:"assets/Automations-BpLZVUAZ.js",revision:null},{url:"assets/Automation-Csu8t0D7.css",revision:null},{url:"assets/Automation-C25AZETJ.js",revision:null},{url:"assets/Adminpanel-CWb2ZPPG.js",revision:null},{url:"assets/About-bvLBtUy2.js",revision:null},{url:"assets/404-4LnwoCjV.js",revision:null},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"manifest.webmanifest",revision:"ed2b67044c80f7c0362cd73cde2f96c5"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{allowlist:[/^(?!\/api)/],denylist:[/[?&]session=/]}))});
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/server",
3
- "version": "0.0.96",
3
+ "version": "0.0.97",
4
4
  "description": "camera.ui server",
5
5
  "author": "seydx (https://github.com/cameraui/camera.ui)",
6
6
  "type": "module",
@@ -21,7 +21,7 @@
21
21
  "lint": "eslint .",
22
22
  "lint:fix": "eslint --fix .",
23
23
  "update": "updates --update ./ && cupdate",
24
- "prepublishOnly": "npm i --package-lock-only && npm run lint:fix && npm run format && npm run build && npm --prefix ../ui run build",
24
+ "prepublishOnly": "npm i --package-lock-only && npm run lint:fix && npm run format && npm run build && npm --prefix ../ui run lint:fix && npm --prefix ../ui run format && npm --prefix ../ui run build",
25
25
  "publish:dev": "npm publish --tag dev"
26
26
  },
27
27
  "dependencies": {
@@ -31,7 +31,7 @@
31
31
  "@camera.ui/nats": "^2.14.2",
32
32
  "@camera.ui/rpc": "^1.0.4",
33
33
  "@camera.ui/rust-postprocessor": "~0.0.4",
34
- "@camera.ui/sdk": "~0.0.8",
34
+ "@camera.ui/sdk": "~0.0.9",
35
35
  "@camera.ui/tunnel": "^1.0.3",
36
36
  "@eneris/push-receiver": "^4.3.1",
37
37
  "@fastify/cors": "^11.2.0",
@@ -1,4 +1,4 @@
1
- camera-ui-sdk==1.0.96
1
+ camera-ui-sdk==1.0.97
2
2
  camera-ui-common==1.0.17
3
3
  camera-ui-rpc==1.0.3
4
4
  deepdiff==9.1.0
@@ -9,6 +9,8 @@ from __future__ import annotations
9
9
  from enum import Enum
10
10
  from typing import Any, NotRequired, Protocol, TypedDict, runtime_checkable
11
11
 
12
+ from ..storage import JsonSchema
13
+
12
14
 
13
15
  class Severity(str, Enum):
14
16
  """Classifies how urgent a Notification is.
@@ -140,3 +142,8 @@ class NotifierInterface(Protocol):
140
142
  Returns the updated device, or None if the id isn't ours so the
141
143
  manager can probe the next plugin."""
142
144
  ...
145
+
146
+ async def notificationSettings(self) -> list[JsonSchema] | None:
147
+ """Return the JSON schema used to render the notifier's settings form
148
+ in the UI. Return None for no schema."""
149
+ ...
@@ -512,8 +512,8 @@ export class CamerasController {
512
512
  role: 'snapshot',
513
513
  });
514
514
  }
515
- for (const { source } of sourceAssignments) {
516
- const sourceName = createSourceName(req.body.name, source.id);
515
+ for (const { source, role } of sourceAssignments) {
516
+ const sourceName = createSourceName(req.body.name, source.id ?? role);
517
517
  const sourceExistsError = checkSourceExists(sourceName);
518
518
  if (sourceExistsError) {
519
519
  return sourceExistsError;
@@ -531,7 +531,7 @@ export class CamerasController {
531
531
  const snapshotRole = determineSnapshotSource();
532
532
  for (const { source, role } of sourceAssignments) {
533
533
  cameraSources.push({
534
- name: source.id,
534
+ name: source.id ?? role,
535
535
  role: role,
536
536
  urls: [source.url],
537
537
  useForSnapshot: role === 'snapshot' ? false : snapshotRole === role,
@@ -794,8 +794,8 @@ export class CamerasController {
794
794
  role: 'snapshot',
795
795
  });
796
796
  }
797
- for (const { source } of sourceAssignments) {
798
- const sourceName = createSourceName(name, source.id);
797
+ for (const { source, role } of sourceAssignments) {
798
+ const sourceName = createSourceName(name, source.id ?? role);
799
799
  const sourceExistsError = checkSourceExists(sourceName);
800
800
  if (sourceExistsError) {
801
801
  return sourceExistsError;
@@ -813,7 +813,7 @@ export class CamerasController {
813
813
  const snapshotRole = determineSnapshotSource();
814
814
  for (const { source, role } of sourceAssignments) {
815
815
  cameraSources.push({
816
- name: source.id,
816
+ name: source.id ?? role,
817
817
  role: role,
818
818
  urls: [source.url],
819
819
  useForSnapshot: role === 'snapshot' ? false : snapshotRole === role,