@camera.ui/server 2.4.4 → 2.4.5

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 (1585) hide show
  1. package/dist/interface/assets/404-hVsGW6Lh.js +1 -0
  2. package/dist/interface/assets/404-hVsGW6Lh.js.br +0 -0
  3. package/dist/interface/assets/404-hVsGW6Lh.js.gz +0 -0
  4. package/dist/interface/assets/About-C_3sD7av.js +1 -0
  5. package/dist/interface/assets/About-C_3sD7av.js.br +0 -0
  6. package/dist/interface/assets/About-C_3sD7av.js.gz +0 -0
  7. package/dist/interface/assets/Assistant-DFhtJAU7.js +1 -0
  8. package/dist/interface/assets/Assistant-DFhtJAU7.js.br +0 -0
  9. package/dist/interface/assets/Assistant-DFhtJAU7.js.gz +0 -0
  10. package/dist/interface/assets/Automation-DO4W9nqb.js +3 -0
  11. package/dist/interface/assets/Automation-DO4W9nqb.js.br +0 -0
  12. package/dist/interface/assets/Automation-DO4W9nqb.js.gz +0 -0
  13. package/dist/interface/assets/AutomationImport-Dc0t9W-i.js +2 -0
  14. package/dist/interface/assets/AutomationImport-Dc0t9W-i.js.br +0 -0
  15. package/dist/interface/assets/AutomationImport-Dc0t9W-i.js.gz +0 -0
  16. package/dist/interface/assets/AutomationStore-iL1jYMQq.js +2 -0
  17. package/dist/interface/assets/AutomationStore-iL1jYMQq.js.br +0 -0
  18. package/dist/interface/assets/AutomationStore-iL1jYMQq.js.gz +0 -0
  19. package/dist/interface/assets/AutomationStoreDetail-D137BsSh.js +2 -0
  20. package/dist/interface/assets/AutomationStoreDetail-D137BsSh.js.br +0 -0
  21. package/dist/interface/assets/AutomationStoreDetail-D137BsSh.js.gz +0 -0
  22. package/dist/interface/assets/Automations-B_P59q9S.js +2 -0
  23. package/dist/interface/assets/Automations-B_P59q9S.js.br +0 -0
  24. package/dist/interface/assets/Automations-B_P59q9S.js.gz +0 -0
  25. package/dist/interface/assets/BackupRestore-L1zo9o8n.js +1 -0
  26. package/dist/interface/assets/BackupRestore-L1zo9o8n.js.br +0 -0
  27. package/dist/interface/assets/BackupRestore-L1zo9o8n.js.gz +0 -0
  28. package/dist/interface/assets/Camera-Db_9NkXs.js +2 -0
  29. package/dist/interface/assets/Camera-Db_9NkXs.js.br +0 -0
  30. package/dist/interface/assets/Camera-Db_9NkXs.js.gz +0 -0
  31. package/dist/interface/assets/CameraConsole-ChURz5tS.js +7 -0
  32. package/dist/interface/assets/CameraConsole-ChURz5tS.js.br +0 -0
  33. package/dist/interface/assets/CameraConsole-ChURz5tS.js.gz +0 -0
  34. package/dist/interface/assets/Cameras-B-_w3w8K.js +651 -0
  35. package/dist/interface/assets/Cameras-B-_w3w8K.js.br +0 -0
  36. package/dist/interface/assets/Cameras-B-_w3w8K.js.gz +0 -0
  37. package/dist/interface/assets/Camview-D8JvkaGn.js +1 -0
  38. package/dist/interface/assets/Camview-D8JvkaGn.js.br +0 -0
  39. package/dist/interface/assets/Camview-D8JvkaGn.js.gz +0 -0
  40. package/dist/interface/assets/Config-CD_jpqgr.js +2 -0
  41. package/dist/interface/assets/Config-CD_jpqgr.js.br +0 -0
  42. package/dist/interface/assets/Config-CD_jpqgr.js.gz +0 -0
  43. package/dist/interface/assets/ConfigActionAssistant-DYGjv20f.js +1 -0
  44. package/dist/interface/assets/ConfigActionAssistant-DYGjv20f.js.br +0 -0
  45. package/dist/interface/assets/ConfigActionAssistant-DYGjv20f.js.gz +0 -0
  46. package/dist/interface/assets/ConfigActionCameraControl-DSHZMfQ8.js +1 -0
  47. package/dist/interface/assets/ConfigActionCameraControl-DSHZMfQ8.js.br +0 -0
  48. package/dist/interface/assets/ConfigActionCameraControl-DSHZMfQ8.js.gz +0 -0
  49. package/dist/interface/assets/ConfigActionHttp-eN4g4aoL.js +1 -0
  50. package/dist/interface/assets/ConfigActionHttp-eN4g4aoL.js.br +0 -0
  51. package/dist/interface/assets/ConfigActionHttp-eN4g4aoL.js.gz +0 -0
  52. package/dist/interface/assets/ConfigActionImageInput-DUJM-a-i.js +1 -0
  53. package/dist/interface/assets/ConfigActionImageInput-DUJM-a-i.js.br +0 -0
  54. package/dist/interface/assets/ConfigActionImageInput-DUJM-a-i.js.gz +0 -0
  55. package/dist/interface/assets/ConfigActionMqtt-D6uzu_yV.js +1 -0
  56. package/dist/interface/assets/ConfigActionMqtt-D6uzu_yV.js.br +0 -0
  57. package/dist/interface/assets/ConfigActionMqtt-D6uzu_yV.js.gz +0 -0
  58. package/dist/interface/assets/ConfigActionNotification-CMj1M-ZL.js +1 -0
  59. package/dist/interface/assets/ConfigActionNotification-CMj1M-ZL.js.br +0 -0
  60. package/dist/interface/assets/ConfigActionNotification-CMj1M-ZL.js.gz +0 -0
  61. package/dist/interface/assets/ConfigActionNotificationControl-CKW_UyjT.js +1 -0
  62. package/dist/interface/assets/ConfigActionNotificationControl-CKW_UyjT.js.br +0 -0
  63. package/dist/interface/assets/ConfigActionNotificationControl-CKW_UyjT.js.gz +0 -0
  64. package/dist/interface/assets/ConfigActionOutput-ztdEAsSG.js +1 -0
  65. package/dist/interface/assets/ConfigActionOutput-ztdEAsSG.js.br +0 -0
  66. package/dist/interface/assets/ConfigActionOutput-ztdEAsSG.js.gz +0 -0
  67. package/dist/interface/assets/ConfigActionPlugin-79hUEglU.js +1 -0
  68. package/dist/interface/assets/ConfigActionPlugin-79hUEglU.js.br +0 -0
  69. package/dist/interface/assets/ConfigActionPlugin-79hUEglU.js.gz +0 -0
  70. package/dist/interface/assets/ConfigActionSensor-DsvM8vFa.js +1 -0
  71. package/dist/interface/assets/ConfigActionSensor-DsvM8vFa.js.br +0 -0
  72. package/dist/interface/assets/ConfigActionSensor-DsvM8vFa.js.gz +0 -0
  73. package/dist/interface/assets/ConfigActionSnapshot-Byb5iWpi.js +1 -0
  74. package/dist/interface/assets/ConfigActionSnapshot-Byb5iWpi.js.br +0 -0
  75. package/dist/interface/assets/ConfigActionSnapshot-Byb5iWpi.js.gz +0 -0
  76. package/dist/interface/assets/ConfigActionVariable-Dp26xHPT.js +1 -0
  77. package/dist/interface/assets/ConfigActionVariable-Dp26xHPT.js.br +0 -0
  78. package/dist/interface/assets/ConfigActionVariable-Dp26xHPT.js.gz +0 -0
  79. package/dist/interface/assets/ConfigConditionIfElse-Bht9ABgc.js +1 -0
  80. package/dist/interface/assets/ConfigConditionIfElse-Bht9ABgc.js.br +0 -0
  81. package/dist/interface/assets/ConfigConditionIfElse-Bht9ABgc.js.gz +0 -0
  82. package/dist/interface/assets/ConfigConditionSensorState-DgMZLtBd.js +1 -0
  83. package/dist/interface/assets/ConfigConditionSensorState-DgMZLtBd.js.br +0 -0
  84. package/dist/interface/assets/ConfigConditionSensorState-DgMZLtBd.js.gz +0 -0
  85. package/dist/interface/assets/ConfigConditionSwitch-DDmd4tCA.js +1 -0
  86. package/dist/interface/assets/ConfigConditionSwitch-DDmd4tCA.js.br +0 -0
  87. package/dist/interface/assets/ConfigConditionSwitch-DDmd4tCA.js.gz +0 -0
  88. package/dist/interface/assets/ConfigSensorValueInput-BHx-mm3F.js +1 -0
  89. package/dist/interface/assets/ConfigSensorValueInput-BHx-mm3F.js.br +0 -0
  90. package/dist/interface/assets/ConfigSensorValueInput-BHx-mm3F.js.gz +0 -0
  91. package/dist/interface/assets/ConfigTriggerDetection-BMnzsfaq.js +1 -0
  92. package/dist/interface/assets/ConfigTriggerDetection-BMnzsfaq.js.br +0 -0
  93. package/dist/interface/assets/ConfigTriggerDetection-BMnzsfaq.js.gz +0 -0
  94. package/dist/interface/assets/ConfigTriggerGeofence-uxQqhZJO.js +1 -0
  95. package/dist/interface/assets/ConfigTriggerGeofence-uxQqhZJO.js.br +0 -0
  96. package/dist/interface/assets/ConfigTriggerGeofence-uxQqhZJO.js.gz +0 -0
  97. package/dist/interface/assets/ConfigTriggerMqtt-CUnA7sv-.js +1 -0
  98. package/dist/interface/assets/ConfigTriggerMqtt-CUnA7sv-.js.br +0 -0
  99. package/dist/interface/assets/ConfigTriggerMqtt-CUnA7sv-.js.gz +0 -0
  100. package/dist/interface/assets/ConfigTriggerSensor-DwhIzctJ.js +1 -0
  101. package/dist/interface/assets/ConfigTriggerSensor-DwhIzctJ.js.br +0 -0
  102. package/dist/interface/assets/ConfigTriggerSensor-DwhIzctJ.js.gz +0 -0
  103. package/dist/interface/assets/ConfigTriggerSystem-yjhs1dCh.js +1 -0
  104. package/dist/interface/assets/ConfigTriggerSystem-yjhs1dCh.js.br +0 -0
  105. package/dist/interface/assets/ConfigTriggerSystem-yjhs1dCh.js.gz +0 -0
  106. package/dist/interface/assets/ConfigTriggerWebhook-zNRZUDWu.js +1 -0
  107. package/dist/interface/assets/ConfigTriggerWebhook-zNRZUDWu.js.br +0 -0
  108. package/dist/interface/assets/ConfigTriggerWebhook-zNRZUDWu.js.gz +0 -0
  109. package/dist/interface/assets/Console-C4OWOTj4.js +1 -0
  110. package/dist/interface/assets/Console-C4OWOTj4.js.br +0 -0
  111. package/dist/interface/assets/Console-C4OWOTj4.js.gz +0 -0
  112. package/dist/interface/assets/CuiAssistantConversation-t5cEuxve.js +5 -0
  113. package/dist/interface/assets/CuiAssistantConversation-t5cEuxve.js.br +0 -0
  114. package/dist/interface/assets/CuiAssistantConversation-t5cEuxve.js.gz +0 -0
  115. package/dist/interface/assets/CuiAutomationRunsDialog-CQr-PjFC.js +1 -0
  116. package/dist/interface/assets/CuiAutomationRunsDialog-CQr-PjFC.js.br +0 -0
  117. package/dist/interface/assets/CuiAutomationRunsDialog-CQr-PjFC.js.gz +0 -0
  118. package/dist/interface/assets/CuiBottomSheet-C8vcMM6c.js +1 -0
  119. package/dist/interface/assets/CuiBottomSheet-C8vcMM6c.js.br +1 -0
  120. package/dist/interface/assets/CuiBottomSheet-C8vcMM6c.js.gz +0 -0
  121. package/dist/interface/assets/CuiBottomSheet-CWnDfBWp.js +1 -0
  122. package/dist/interface/assets/CuiBottomSheet-CWnDfBWp.js.br +0 -0
  123. package/dist/interface/assets/CuiBottomSheet-CWnDfBWp.js.gz +0 -0
  124. package/dist/interface/assets/CuiCameraPipCard-C99qczuv.js +1 -0
  125. package/dist/interface/assets/CuiCameraPipCard-C99qczuv.js.br +0 -0
  126. package/dist/interface/assets/CuiCameraPipCard-C99qczuv.js.gz +0 -0
  127. package/dist/interface/assets/CuiCameraRecordings-BnAaQRj2.js +1 -0
  128. package/dist/interface/assets/CuiCameraRecordings-BnAaQRj2.js.br +0 -0
  129. package/dist/interface/assets/CuiCameraRecordings-BnAaQRj2.js.gz +0 -0
  130. package/dist/interface/assets/CuiCameraShares-CFUe9wwL.js +1 -0
  131. package/dist/interface/assets/CuiCameraShares-CFUe9wwL.js.br +0 -0
  132. package/dist/interface/assets/CuiCameraShares-CFUe9wwL.js.gz +0 -0
  133. package/dist/interface/assets/CuiCameraTable-BXOysxoN.js +2 -0
  134. package/dist/interface/assets/CuiCameraTable-BXOysxoN.js.br +0 -0
  135. package/dist/interface/assets/CuiCameraTable-BXOysxoN.js.gz +0 -0
  136. package/dist/interface/assets/CuiCameraTable-WAVYFa0u.js +1 -0
  137. package/dist/interface/assets/CuiCameraTable-WAVYFa0u.js.br +1 -0
  138. package/dist/interface/assets/CuiCameraTable-WAVYFa0u.js.gz +0 -0
  139. package/dist/interface/assets/CuiChartTable-CTjMLvzb.js +1 -0
  140. package/dist/interface/assets/CuiChartTable-CTjMLvzb.js.br +0 -0
  141. package/dist/interface/assets/CuiChartTable-CTjMLvzb.js.gz +0 -0
  142. package/dist/interface/assets/CuiConsole-BFvN8cPA.js +5 -0
  143. package/dist/interface/assets/CuiConsole-BFvN8cPA.js.br +0 -0
  144. package/dist/interface/assets/CuiConsole-BFvN8cPA.js.gz +0 -0
  145. package/dist/interface/assets/CuiDataTable-FnWi3O0x.js +1 -0
  146. package/dist/interface/assets/CuiDataTable-FnWi3O0x.js.br +0 -0
  147. package/dist/interface/assets/CuiDataTable-FnWi3O0x.js.gz +0 -0
  148. package/dist/interface/assets/CuiLightControl-Ctn0vEBF.js +1 -0
  149. package/dist/interface/assets/CuiLightControl-Ctn0vEBF.js.br +0 -0
  150. package/dist/interface/assets/CuiLightControl-Ctn0vEBF.js.gz +0 -0
  151. package/dist/interface/assets/CuiMoveCodeForm-BSBZORUq.js +1 -0
  152. package/dist/interface/assets/CuiMoveCodeForm-BSBZORUq.js.br +0 -0
  153. package/dist/interface/assets/CuiMoveCodeForm-BSBZORUq.js.gz +0 -0
  154. package/dist/interface/assets/CuiPluginCard-Dw8RwEPB.js +2 -0
  155. package/dist/interface/assets/CuiPluginCard-Dw8RwEPB.js.br +0 -0
  156. package/dist/interface/assets/CuiPluginCard-Dw8RwEPB.js.gz +0 -0
  157. package/dist/interface/assets/CuiPluginCategoryChip-BhAuIMfa.js +1 -0
  158. package/dist/interface/assets/CuiPluginCategoryChip-BhAuIMfa.js.br +0 -0
  159. package/dist/interface/assets/CuiPluginCategoryChip-BhAuIMfa.js.gz +0 -0
  160. package/dist/interface/assets/CuiPluginOAuthButton-B-XDXnDs.js +2 -0
  161. package/dist/interface/assets/CuiPluginOAuthButton-B-XDXnDs.js.br +0 -0
  162. package/dist/interface/assets/CuiPluginOAuthButton-B-XDXnDs.js.gz +0 -0
  163. package/dist/interface/assets/CuiPluginTrustBadge-D2j23jDW.js +1 -0
  164. package/dist/interface/assets/CuiPluginTrustBadge-D2j23jDW.js.br +0 -0
  165. package/dist/interface/assets/CuiPluginTrustBadge-D2j23jDW.js.gz +0 -0
  166. package/dist/interface/assets/CuiQRCode-BzfOr9Ps.js +1 -0
  167. package/dist/interface/assets/CuiQRCode-BzfOr9Ps.js.br +0 -0
  168. package/dist/interface/assets/CuiQRCode-BzfOr9Ps.js.gz +0 -0
  169. package/dist/interface/assets/CuiSchema-VkE3TzSp.js +1 -0
  170. package/dist/interface/assets/CuiSchema-VkE3TzSp.js.br +0 -0
  171. package/dist/interface/assets/CuiSchema-VkE3TzSp.js.gz +0 -0
  172. package/dist/interface/assets/CuiToggleRow-DbKJ6dqR.js +1 -0
  173. package/dist/interface/assets/CuiToggleRow-DbKJ6dqR.js.br +0 -0
  174. package/dist/interface/assets/CuiToggleRow-DbKJ6dqR.js.gz +0 -0
  175. package/dist/interface/assets/CuiTopNavbarItem-CaK1IU12.js +1 -0
  176. package/dist/interface/assets/CuiTopNavbarItem-CaK1IU12.js.br +0 -0
  177. package/dist/interface/assets/CuiTopNavbarItem-CaK1IU12.js.gz +0 -0
  178. package/dist/interface/assets/Faces-DnOU_Gw4.js +1 -0
  179. package/dist/interface/assets/Faces-DnOU_Gw4.js.br +0 -0
  180. package/dist/interface/assets/Faces-DnOU_Gw4.js.gz +0 -0
  181. package/dist/interface/assets/FirstSteps-BHPxaq7Z.js +1 -0
  182. package/dist/interface/assets/FirstSteps-BHPxaq7Z.js.br +0 -0
  183. package/dist/interface/assets/FirstSteps-BHPxaq7Z.js.gz +0 -0
  184. package/dist/interface/assets/Floorplan-Cq_o2wZ6.js +1 -0
  185. package/dist/interface/assets/Floorplan-Cq_o2wZ6.js.br +0 -0
  186. package/dist/interface/assets/Floorplan-Cq_o2wZ6.js.gz +0 -0
  187. package/dist/interface/assets/Instances-BBPkwHqD.js +1 -0
  188. package/dist/interface/assets/Instances-BBPkwHqD.js.br +0 -0
  189. package/dist/interface/assets/Instances-BBPkwHqD.js.gz +0 -0
  190. package/dist/interface/assets/Logs-CXU7VYrJ.js +6 -0
  191. package/dist/interface/assets/Logs-CXU7VYrJ.js.br +0 -0
  192. package/dist/interface/assets/Logs-CXU7VYrJ.js.gz +0 -0
  193. package/dist/interface/assets/Menu-D-e7o4iq.js +1 -0
  194. package/dist/interface/assets/Menu-D-e7o4iq.js.br +0 -0
  195. package/dist/interface/assets/Menu-D-e7o4iq.js.gz +0 -0
  196. package/dist/interface/assets/Metrics-B9nmqUKu.js +12 -0
  197. package/dist/interface/assets/Metrics-B9nmqUKu.js.br +0 -0
  198. package/dist/interface/assets/Metrics-B9nmqUKu.js.gz +0 -0
  199. package/dist/interface/assets/OAuthDeviceFlow-BuWBh0dz.js +1 -0
  200. package/dist/interface/assets/OAuthDeviceFlow-BuWBh0dz.js.br +0 -0
  201. package/dist/interface/assets/OAuthDeviceFlow-BuWBh0dz.js.gz +0 -0
  202. package/dist/interface/assets/Plugin-DJltzaJk.js +1 -0
  203. package/dist/interface/assets/Plugin-DJltzaJk.js.br +0 -0
  204. package/dist/interface/assets/Plugin-DJltzaJk.js.gz +0 -0
  205. package/dist/interface/assets/PluginConsole-BIJaCn41.js +7 -0
  206. package/dist/interface/assets/PluginConsole-BIJaCn41.js.br +0 -0
  207. package/dist/interface/assets/PluginConsole-BIJaCn41.js.gz +0 -0
  208. package/dist/interface/assets/PluginDetail-D4UmV_X5.js +2 -0
  209. package/dist/interface/assets/PluginDetail-D4UmV_X5.js.br +0 -0
  210. package/dist/interface/assets/PluginDetail-D4UmV_X5.js.gz +0 -0
  211. package/dist/interface/assets/PluginSchema-A9bEqpDs.js +1 -0
  212. package/dist/interface/assets/PluginSchema-A9bEqpDs.js.br +0 -0
  213. package/dist/interface/assets/PluginSchema-A9bEqpDs.js.gz +0 -0
  214. package/dist/interface/assets/PluginSearch-BL5oylnD.js +1 -0
  215. package/dist/interface/assets/PluginSearch-BL5oylnD.js.br +1 -0
  216. package/dist/interface/assets/PluginSearch-BL5oylnD.js.gz +0 -0
  217. package/dist/interface/assets/PluginSearch-DTj6q-Hs.js +2 -0
  218. package/dist/interface/assets/PluginSearch-DTj6q-Hs.js.br +0 -0
  219. package/dist/interface/assets/PluginSearch-DTj6q-Hs.js.gz +0 -0
  220. package/dist/interface/assets/PluginUpdateProgress-COeqfI5D.js +1 -0
  221. package/dist/interface/assets/PluginUpdateProgress-COeqfI5D.js.br +0 -0
  222. package/dist/interface/assets/PluginUpdateProgress-COeqfI5D.js.gz +0 -0
  223. package/dist/interface/assets/Plugins-Bvy4OxaA.js +1 -0
  224. package/dist/interface/assets/Plugins-Bvy4OxaA.js.br +0 -0
  225. package/dist/interface/assets/Plugins-Bvy4OxaA.js.gz +0 -0
  226. package/dist/interface/assets/RecentEventsFilter-Bw6R7xpB.js +1 -0
  227. package/dist/interface/assets/RecentEventsFilter-Bw6R7xpB.js.br +10 -0
  228. package/dist/interface/assets/RecentEventsFilter-Bw6R7xpB.js.gz +0 -0
  229. package/dist/interface/assets/Recordings-GB9f7U1J.js +1 -0
  230. package/dist/interface/assets/Recordings-GB9f7U1J.js.br +0 -0
  231. package/dist/interface/assets/Recordings-GB9f7U1J.js.gz +0 -0
  232. package/dist/interface/assets/SensorEdit-ZDlJ5Sx0.js +1 -0
  233. package/dist/interface/assets/SensorEdit-ZDlJ5Sx0.js.br +0 -0
  234. package/dist/interface/assets/SensorEdit-ZDlJ5Sx0.js.gz +0 -0
  235. package/dist/interface/assets/SensorHistory-BqWkg20z.js +1 -0
  236. package/dist/interface/assets/SensorHistory-BqWkg20z.js.br +0 -0
  237. package/dist/interface/assets/SensorHistory-BqWkg20z.js.gz +0 -0
  238. package/dist/interface/assets/Sensors-Bw8tAhCc.js +2 -0
  239. package/dist/interface/assets/Sensors-Bw8tAhCc.js.br +0 -0
  240. package/dist/interface/assets/Sensors-Bw8tAhCc.js.gz +0 -0
  241. package/dist/interface/assets/Settings-D55jap12.js +1 -0
  242. package/dist/interface/assets/Settings-D55jap12.js.br +0 -0
  243. package/dist/interface/assets/Settings-D55jap12.js.gz +0 -0
  244. package/dist/interface/assets/SettingsAccount-BnrL83GV.js +1 -0
  245. package/dist/interface/assets/SettingsAccount-BnrL83GV.js.br +0 -0
  246. package/dist/interface/assets/SettingsAccount-BnrL83GV.js.gz +0 -0
  247. package/dist/interface/assets/SettingsAccount-GCZLr6ud.js +1 -0
  248. package/dist/interface/assets/SettingsAccount-GCZLr6ud.js.br +0 -0
  249. package/dist/interface/assets/SettingsAccount-GCZLr6ud.js.gz +0 -0
  250. package/dist/interface/assets/SettingsAppearance-DXZRmhUw.js +1 -0
  251. package/dist/interface/assets/SettingsAppearance-DXZRmhUw.js.br +0 -0
  252. package/dist/interface/assets/SettingsAppearance-DXZRmhUw.js.gz +0 -0
  253. package/dist/interface/assets/SettingsAppearance-Dqzq7uK-.js +1 -0
  254. package/dist/interface/assets/SettingsAppearance-Dqzq7uK-.js.br +0 -0
  255. package/dist/interface/assets/SettingsAppearance-Dqzq7uK-.js.gz +0 -0
  256. package/dist/interface/assets/SettingsAssistant-xCGkjjkQ.js +1 -0
  257. package/dist/interface/assets/SettingsAssistant-xCGkjjkQ.js.br +0 -0
  258. package/dist/interface/assets/SettingsAssistant-xCGkjjkQ.js.gz +0 -0
  259. package/dist/interface/assets/SettingsBackup-C23tKEWy.js +1 -0
  260. package/dist/interface/assets/SettingsBackup-C23tKEWy.js.br +0 -0
  261. package/dist/interface/assets/SettingsBackup-C23tKEWy.js.gz +0 -0
  262. package/dist/interface/assets/SettingsList-CtTsdzCT.js +1 -0
  263. package/dist/interface/assets/SettingsList-CtTsdzCT.js.br +0 -0
  264. package/dist/interface/assets/SettingsList-CtTsdzCT.js.gz +0 -0
  265. package/dist/interface/assets/SettingsMqtt-DiqLclBV.js +1 -0
  266. package/dist/interface/assets/SettingsMqtt-DiqLclBV.js.br +0 -0
  267. package/dist/interface/assets/SettingsMqtt-DiqLclBV.js.gz +0 -0
  268. package/dist/interface/assets/SettingsNotifications-DwDs_hhT.js +1 -0
  269. package/dist/interface/assets/SettingsNotifications-DwDs_hhT.js.br +0 -0
  270. package/dist/interface/assets/SettingsNotifications-DwDs_hhT.js.gz +0 -0
  271. package/dist/interface/assets/SettingsPermissions-Bjv8c2nz.js +1 -0
  272. package/dist/interface/assets/SettingsPermissions-Bjv8c2nz.js.br +0 -0
  273. package/dist/interface/assets/SettingsPermissions-Bjv8c2nz.js.gz +0 -0
  274. package/dist/interface/assets/SettingsRecordings-BTJuUCbG.js +1 -0
  275. package/dist/interface/assets/SettingsRecordings-BTJuUCbG.js.br +0 -0
  276. package/dist/interface/assets/SettingsRecordings-BTJuUCbG.js.gz +0 -0
  277. package/dist/interface/assets/SettingsRemote-zsOfSt4O.js +2 -0
  278. package/dist/interface/assets/SettingsRemote-zsOfSt4O.js.br +0 -0
  279. package/dist/interface/assets/SettingsRemote-zsOfSt4O.js.gz +0 -0
  280. package/dist/interface/assets/SettingsSystem-B9xQBju5.js +2 -0
  281. package/dist/interface/assets/SettingsSystem-B9xQBju5.js.br +0 -0
  282. package/dist/interface/assets/SettingsSystem-B9xQBju5.js.gz +0 -0
  283. package/dist/interface/assets/SettingsUsers-3HlQ67tI.js +1 -0
  284. package/dist/interface/assets/SettingsUsers-3HlQ67tI.js.br +0 -0
  285. package/dist/interface/assets/SettingsUsers-3HlQ67tI.js.gz +0 -0
  286. package/dist/interface/assets/Terminal-DPM4a-oc.js +4 -0
  287. package/dist/interface/assets/Terminal-DPM4a-oc.js.br +0 -0
  288. package/dist/interface/assets/Terminal-DPM4a-oc.js.gz +0 -0
  289. package/dist/interface/assets/Training-wm807a7a.js +1 -0
  290. package/dist/interface/assets/Training-wm807a7a.js.br +0 -0
  291. package/dist/interface/assets/Training-wm807a7a.js.gz +0 -0
  292. package/dist/interface/assets/Updates-BIkGGPJT.js +2 -0
  293. package/dist/interface/assets/Updates-BIkGGPJT.js.br +0 -0
  294. package/dist/interface/assets/Updates-BIkGGPJT.js.gz +0 -0
  295. package/dist/interface/assets/VariableInput-Z67pYDR1.js +1 -0
  296. package/dist/interface/assets/VariableInput-Z67pYDR1.js.br +0 -0
  297. package/dist/interface/assets/VariableInput-Z67pYDR1.js.gz +0 -0
  298. package/dist/interface/assets/VersionsHandler-BjCUyme-.js +7 -0
  299. package/dist/interface/assets/VersionsHandler-BjCUyme-.js.br +0 -0
  300. package/dist/interface/assets/VersionsHandler-BjCUyme-.js.gz +0 -0
  301. package/dist/interface/assets/VirtualSensorCreate-DUNIyN-c.js +1 -0
  302. package/dist/interface/assets/VirtualSensorCreate-DUNIyN-c.js.br +0 -0
  303. package/dist/interface/assets/VirtualSensorCreate-DUNIyN-c.js.gz +0 -0
  304. package/dist/interface/assets/Workers-CRgAH7-V.js +2 -0
  305. package/dist/interface/assets/Workers-CRgAH7-V.js.br +0 -0
  306. package/dist/interface/assets/Workers-CRgAH7-V.js.gz +0 -0
  307. package/dist/interface/assets/api-BnIIywE5.css +2 -0
  308. package/dist/interface/assets/api-BnIIywE5.css.br +0 -0
  309. package/dist/interface/assets/api-BnIIywE5.css.gz +0 -0
  310. package/dist/interface/assets/api-DVb7R65T.js +4 -0
  311. package/dist/interface/assets/api-DVb7R65T.js.br +0 -0
  312. package/dist/interface/assets/api-DVb7R65T.js.gz +0 -0
  313. package/dist/interface/assets/api-DzWK-DMq.js +1 -0
  314. package/dist/interface/assets/api-DzWK-DMq.js.br +0 -0
  315. package/dist/interface/assets/api-DzWK-DMq.js.gz +0 -0
  316. package/dist/interface/assets/assistant-C0TVcor7.js +1 -0
  317. package/dist/interface/assets/assistant-C0TVcor7.js.br +0 -0
  318. package/dist/interface/assets/assistant-C0TVcor7.js.gz +0 -0
  319. package/dist/interface/assets/auth-BZ48SR0K.js +1 -0
  320. package/dist/interface/assets/auth-BZ48SR0K.js.br +0 -0
  321. package/dist/interface/assets/auth-BZ48SR0K.js.gz +0 -0
  322. package/dist/interface/assets/automations-BmraMBQB.js +1 -0
  323. package/dist/interface/assets/automations-BmraMBQB.js.br +0 -0
  324. package/dist/interface/assets/automations-BmraMBQB.js.gz +0 -0
  325. package/dist/interface/assets/cameraSources-TDTkQlub.js +1 -0
  326. package/dist/interface/assets/cameraSources-TDTkQlub.js.br +0 -0
  327. package/dist/interface/assets/cameraSources-TDTkQlub.js.gz +0 -0
  328. package/dist/interface/assets/cloudHandoff-0LO7nDva.js +1 -0
  329. package/dist/interface/assets/cloudHandoff-0LO7nDva.js.br +0 -0
  330. package/dist/interface/assets/cloudHandoff-0LO7nDva.js.gz +0 -0
  331. package/dist/interface/assets/config-DJpIt1Gx.js +1 -0
  332. package/dist/interface/assets/config-DJpIt1Gx.js.br +0 -0
  333. package/dist/interface/assets/config-DJpIt1Gx.js.gz +0 -0
  334. package/dist/interface/assets/eventLabels-y-22KqDs.js +1 -0
  335. package/dist/interface/assets/eventLabels-y-22KqDs.js.br +0 -0
  336. package/dist/interface/assets/eventLabels-y-22KqDs.js.gz +0 -0
  337. package/dist/interface/assets/flowSchema-Bn50K5C7.js +1 -0
  338. package/dist/interface/assets/flowSchema-Bn50K5C7.js.br +0 -0
  339. package/dist/interface/assets/flowSchema-Bn50K5C7.js.gz +0 -0
  340. package/dist/interface/assets/intercomService-D6JgogkU.js +1 -0
  341. package/dist/interface/assets/intercomService-D6JgogkU.js.br +0 -0
  342. package/dist/interface/assets/intercomService-D6JgogkU.js.gz +0 -0
  343. package/dist/interface/assets/main-BQIkchUF.js +3 -0
  344. package/dist/interface/assets/main-BQIkchUF.js.br +0 -0
  345. package/dist/interface/assets/main-BQIkchUF.js.gz +0 -0
  346. package/dist/interface/assets/mqtt-DkdtnwAt.js +1 -0
  347. package/dist/interface/assets/mqtt-DkdtnwAt.js.br +0 -0
  348. package/dist/interface/assets/mqtt-DkdtnwAt.js.gz +0 -0
  349. package/dist/interface/assets/notifications-Dc8NqtIz.js +1 -0
  350. package/dist/interface/assets/notifications-Dc8NqtIz.js.br +0 -0
  351. package/dist/interface/assets/notifications-Dc8NqtIz.js.gz +0 -0
  352. package/dist/interface/assets/plugins-CkmuaIUy.js +1 -0
  353. package/dist/interface/assets/plugins-CkmuaIUy.js.br +0 -0
  354. package/dist/interface/assets/plugins-CkmuaIUy.js.gz +0 -0
  355. package/dist/interface/assets/rooms-CpWO6Ict.js +1 -0
  356. package/dist/interface/assets/rooms-CpWO6Ict.js.br +0 -0
  357. package/dist/interface/assets/rooms-CpWO6Ict.js.gz +0 -0
  358. package/dist/interface/assets/sensorIcons-DpT4h5r1.js +1 -0
  359. package/dist/interface/assets/sensorIcons-DpT4h5r1.js.br +0 -0
  360. package/dist/interface/assets/sensorIcons-DpT4h5r1.js.gz +0 -0
  361. package/dist/interface/assets/sensorSlots-qvpLXS9H.js +1 -0
  362. package/dist/interface/assets/sensorSlots-qvpLXS9H.js.br +0 -0
  363. package/dist/interface/assets/sensorSlots-qvpLXS9H.js.gz +0 -0
  364. package/dist/interface/assets/sensors-r-ANZW5j.js +1 -0
  365. package/dist/interface/assets/sensors-r-ANZW5j.js.br +0 -0
  366. package/dist/interface/assets/sensors-r-ANZW5j.js.gz +0 -0
  367. package/dist/interface/assets/server-BfUdgGS3.js +1 -0
  368. package/dist/interface/assets/server-BfUdgGS3.js.br +0 -0
  369. package/dist/interface/assets/server-BfUdgGS3.js.gz +0 -0
  370. package/dist/interface/assets/theme-D1IGpz35.js +1 -0
  371. package/dist/interface/assets/theme-D1IGpz35.js.br +0 -0
  372. package/dist/interface/assets/theme-D1IGpz35.js.gz +0 -0
  373. package/dist/interface/assets/types-BoxSl5fn.js +1 -0
  374. package/dist/interface/assets/types-BoxSl5fn.js.br +0 -0
  375. package/dist/interface/assets/types-BoxSl5fn.js.gz +0 -0
  376. package/dist/interface/assets/types-C6KuTqIm.js +1 -0
  377. package/dist/interface/assets/types-C6KuTqIm.js.br +0 -0
  378. package/dist/interface/assets/types-C6KuTqIm.js.gz +0 -0
  379. package/dist/interface/assets/types-Sd9z3ATg.js +1 -0
  380. package/dist/interface/assets/types-Sd9z3ATg.js.br +0 -0
  381. package/dist/interface/assets/types-Sd9z3ATg.js.gz +0 -0
  382. package/dist/interface/assets/updates-DN7wooYd.js +2 -0
  383. package/dist/interface/assets/updates-DN7wooYd.js.br +0 -0
  384. package/dist/interface/assets/updates-DN7wooYd.js.gz +0 -0
  385. package/dist/interface/assets/useAppVersion-COYc4vVA.js +1 -0
  386. package/dist/interface/assets/useAppVersion-COYc4vVA.js.br +0 -0
  387. package/dist/interface/assets/useAppVersion-COYc4vVA.js.gz +0 -0
  388. package/dist/interface/assets/useCameraOptions-DChN1aZx.js +1 -0
  389. package/dist/interface/assets/useCameraOptions-DChN1aZx.js.br +0 -0
  390. package/dist/interface/assets/useCameraOptions-DChN1aZx.js.gz +0 -0
  391. package/dist/interface/assets/useKeyboardInset-CazTcT0H.js +1 -0
  392. package/dist/interface/assets/useKeyboardInset-CazTcT0H.js.br +0 -0
  393. package/dist/interface/assets/useKeyboardInset-CazTcT0H.js.gz +0 -0
  394. package/dist/interface/assets/useLogsSocket-pn8gqBxy.js +1 -0
  395. package/dist/interface/assets/useLogsSocket-pn8gqBxy.js.br +0 -0
  396. package/dist/interface/assets/useLogsSocket-pn8gqBxy.js.gz +0 -0
  397. package/dist/interface/assets/useNavLayout-YDZYAUD0.js +1 -0
  398. package/dist/interface/assets/useNavLayout-YDZYAUD0.js.br +0 -0
  399. package/dist/interface/assets/useNavLayout-YDZYAUD0.js.gz +0 -0
  400. package/dist/interface/assets/usePermissions-OTuSIVnY.js +1 -0
  401. package/dist/interface/assets/usePermissions-OTuSIVnY.js.br +0 -0
  402. package/dist/interface/assets/usePermissions-OTuSIVnY.js.gz +0 -0
  403. package/dist/interface/assets/usePlacementLabel-BRNwbYnr.js +1 -0
  404. package/dist/interface/assets/usePlacementLabel-BRNwbYnr.js.br +3 -0
  405. package/dist/interface/assets/usePlacementLabel-BRNwbYnr.js.gz +0 -0
  406. package/dist/interface/assets/usePlacementSocket-CX_F3gev.js +1 -0
  407. package/dist/interface/assets/usePlacementSocket-CX_F3gev.js.br +0 -0
  408. package/dist/interface/assets/usePlacementSocket-CX_F3gev.js.gz +0 -0
  409. package/dist/interface/assets/usePluginUpdates-C3H0Pwsm.js +1 -0
  410. package/dist/interface/assets/usePluginUpdates-C3H0Pwsm.js.br +0 -0
  411. package/dist/interface/assets/usePluginUpdates-C3H0Pwsm.js.gz +0 -0
  412. package/dist/interface/assets/usePluginsSocket-G6GOD7ky.js +1 -0
  413. package/dist/interface/assets/usePluginsSocket-G6GOD7ky.js.br +0 -0
  414. package/dist/interface/assets/usePluginsSocket-G6GOD7ky.js.gz +0 -0
  415. package/dist/interface/assets/usePushRegistration-CqKcHLxL.js +2 -0
  416. package/dist/interface/assets/usePushRegistration-CqKcHLxL.js.br +0 -0
  417. package/dist/interface/assets/usePushRegistration-CqKcHLxL.js.gz +0 -0
  418. package/dist/interface/assets/useServerRestart-DVGxXNc6.js +1 -0
  419. package/dist/interface/assets/useServerRestart-DVGxXNc6.js.br +0 -0
  420. package/dist/interface/assets/useServerRestart-DVGxXNc6.js.gz +0 -0
  421. package/dist/interface/assets/useTabSwipe-D1wVe5sL.js +1 -0
  422. package/dist/interface/assets/useTabSwipe-D1wVe5sL.js.br +0 -0
  423. package/dist/interface/assets/useTabSwipe-D1wVe5sL.js.gz +0 -0
  424. package/dist/interface/assets/useUpdateChannel-DTxCkESw.js +1 -0
  425. package/dist/interface/assets/useUpdateChannel-DTxCkESw.js.br +0 -0
  426. package/dist/interface/assets/useUpdateChannel-DTxCkESw.js.gz +0 -0
  427. package/dist/interface/assets/useUpdatesSocket-CtCSRido.js +1 -0
  428. package/dist/interface/assets/useUpdatesSocket-CtCSRido.js.br +0 -0
  429. package/dist/interface/assets/useUpdatesSocket-CtCSRido.js.gz +0 -0
  430. package/dist/interface/assets/useUserOptions-qg9mgM4C.js +1 -0
  431. package/dist/interface/assets/useUserOptions-qg9mgM4C.js.br +0 -0
  432. package/dist/interface/assets/useUserOptions-qg9mgM4C.js.gz +0 -0
  433. package/dist/interface/assets/vendor-C_fUQIxb.js +36 -0
  434. package/dist/interface/assets/vendor-C_fUQIxb.js.br +0 -0
  435. package/dist/interface/assets/vendor-C_fUQIxb.js.gz +0 -0
  436. package/dist/interface/assets/vendor-cameraui-DqG_tLqL.js +8 -0
  437. package/dist/interface/assets/vendor-cameraui-DqG_tLqL.js.br +0 -0
  438. package/dist/interface/assets/vendor-cameraui-DqG_tLqL.js.gz +0 -0
  439. package/dist/interface/assets/web-QYw6jOVh.js +1 -0
  440. package/dist/interface/assets/web-QYw6jOVh.js.br +1 -0
  441. package/dist/interface/assets/web-QYw6jOVh.js.gz +0 -0
  442. package/dist/interface/assets/workbox-window.prod.es5-0_Qr_2C0.js +1 -0
  443. package/dist/interface/assets/workbox-window.prod.es5-0_Qr_2C0.js.br +1 -0
  444. package/dist/interface/assets/workbox-window.prod.es5-0_Qr_2C0.js.gz +0 -0
  445. package/dist/interface/ha/404-CrJeQjXW.js +60 -0
  446. package/dist/interface/ha/404-CrJeQjXW.js.br +0 -0
  447. package/dist/interface/ha/404-CrJeQjXW.js.gz +0 -0
  448. package/dist/interface/ha/About-BkG2pA20.js +55 -0
  449. package/dist/interface/ha/About-BkG2pA20.js.br +0 -0
  450. package/dist/interface/ha/About-BkG2pA20.js.gz +0 -0
  451. package/dist/interface/ha/Assistant-wknBeWOA.js +11071 -0
  452. package/dist/interface/ha/Assistant-wknBeWOA.js.br +0 -0
  453. package/dist/interface/ha/Assistant-wknBeWOA.js.gz +0 -0
  454. package/dist/interface/ha/Automation-B3S2OFj2.js +2009 -0
  455. package/dist/interface/ha/Automation-B3S2OFj2.js.br +0 -0
  456. package/dist/interface/ha/Automation-B3S2OFj2.js.gz +0 -0
  457. package/dist/interface/ha/AutomationImport-BQwpGZSn.js +206 -0
  458. package/dist/interface/ha/AutomationImport-BQwpGZSn.js.br +0 -0
  459. package/dist/interface/ha/AutomationImport-BQwpGZSn.js.gz +0 -0
  460. package/dist/interface/ha/AutomationStore-BOep3XHz.js +336 -0
  461. package/dist/interface/ha/AutomationStore-BOep3XHz.js.br +0 -0
  462. package/dist/interface/ha/AutomationStore-BOep3XHz.js.gz +0 -0
  463. package/dist/interface/ha/AutomationStoreDetail-CnuUeNY4.js +121 -0
  464. package/dist/interface/ha/AutomationStoreDetail-CnuUeNY4.js.br +0 -0
  465. package/dist/interface/ha/AutomationStoreDetail-CnuUeNY4.js.gz +0 -0
  466. package/dist/interface/ha/Automations-Hy1mj5vQ.js +423 -0
  467. package/dist/interface/ha/Automations-Hy1mj5vQ.js.br +0 -0
  468. package/dist/interface/ha/Automations-Hy1mj5vQ.js.gz +0 -0
  469. package/dist/interface/ha/Camera-BHNFdN-S.js +740 -0
  470. package/dist/interface/ha/Camera-BHNFdN-S.js.br +0 -0
  471. package/dist/interface/ha/Camera-BHNFdN-S.js.gz +0 -0
  472. package/dist/interface/ha/CameraConsole-CkluV-M3.js +52 -0
  473. package/dist/interface/ha/CameraConsole-CkluV-M3.js.br +0 -0
  474. package/dist/interface/ha/CameraConsole-CkluV-M3.js.gz +0 -0
  475. package/dist/interface/ha/Cameras-CqdcLjFA.js +1934 -0
  476. package/dist/interface/ha/Cameras-CqdcLjFA.js.br +0 -0
  477. package/dist/interface/ha/Cameras-CqdcLjFA.js.gz +0 -0
  478. package/dist/interface/ha/Camview-BqrXoIq7.js +1368 -0
  479. package/dist/interface/ha/Camview-BqrXoIq7.js.br +0 -0
  480. package/dist/interface/ha/Camview-BqrXoIq7.js.gz +0 -0
  481. package/dist/interface/ha/Config-C24tEFBw.js +354 -0
  482. package/dist/interface/ha/Config-C24tEFBw.js.br +0 -0
  483. package/dist/interface/ha/Config-C24tEFBw.js.gz +0 -0
  484. package/dist/interface/ha/ConfigActionAssistant-CgwUQ6pE.js +182 -0
  485. package/dist/interface/ha/ConfigActionAssistant-CgwUQ6pE.js.br +0 -0
  486. package/dist/interface/ha/ConfigActionAssistant-CgwUQ6pE.js.gz +0 -0
  487. package/dist/interface/ha/ConfigActionCameraControl-DVeu8hYs.js +152 -0
  488. package/dist/interface/ha/ConfigActionCameraControl-DVeu8hYs.js.br +0 -0
  489. package/dist/interface/ha/ConfigActionCameraControl-DVeu8hYs.js.gz +0 -0
  490. package/dist/interface/ha/ConfigActionHttp-DUJ4vUiG.js +134 -0
  491. package/dist/interface/ha/ConfigActionHttp-DUJ4vUiG.js.br +0 -0
  492. package/dist/interface/ha/ConfigActionHttp-DUJ4vUiG.js.gz +0 -0
  493. package/dist/interface/ha/ConfigActionImageInput-gtiOZugu.js +170 -0
  494. package/dist/interface/ha/ConfigActionImageInput-gtiOZugu.js.br +0 -0
  495. package/dist/interface/ha/ConfigActionImageInput-gtiOZugu.js.gz +0 -0
  496. package/dist/interface/ha/ConfigActionMqtt-CtnP84gu.js +78 -0
  497. package/dist/interface/ha/ConfigActionMqtt-CtnP84gu.js.br +0 -0
  498. package/dist/interface/ha/ConfigActionMqtt-CtnP84gu.js.gz +0 -0
  499. package/dist/interface/ha/ConfigActionNotification-Bs4vf425.js +198 -0
  500. package/dist/interface/ha/ConfigActionNotification-Bs4vf425.js.br +0 -0
  501. package/dist/interface/ha/ConfigActionNotification-Bs4vf425.js.gz +0 -0
  502. package/dist/interface/ha/ConfigActionNotificationControl-BwM1KbW2.js +111 -0
  503. package/dist/interface/ha/ConfigActionNotificationControl-BwM1KbW2.js.br +0 -0
  504. package/dist/interface/ha/ConfigActionNotificationControl-BwM1KbW2.js.gz +0 -0
  505. package/dist/interface/ha/ConfigActionOutput-pW9Ks7Kr.js +98 -0
  506. package/dist/interface/ha/ConfigActionOutput-pW9Ks7Kr.js.br +0 -0
  507. package/dist/interface/ha/ConfigActionOutput-pW9Ks7Kr.js.gz +0 -0
  508. package/dist/interface/ha/ConfigActionPlugin-Cv_I-xy5.js +171 -0
  509. package/dist/interface/ha/ConfigActionPlugin-Cv_I-xy5.js.br +0 -0
  510. package/dist/interface/ha/ConfigActionPlugin-Cv_I-xy5.js.gz +0 -0
  511. package/dist/interface/ha/ConfigActionSensor-BiWnAEri.js +138 -0
  512. package/dist/interface/ha/ConfigActionSensor-BiWnAEri.js.br +0 -0
  513. package/dist/interface/ha/ConfigActionSensor-BiWnAEri.js.gz +0 -0
  514. package/dist/interface/ha/ConfigActionSnapshot-DvaZMXsi.js +45 -0
  515. package/dist/interface/ha/ConfigActionSnapshot-DvaZMXsi.js.br +0 -0
  516. package/dist/interface/ha/ConfigActionSnapshot-DvaZMXsi.js.gz +0 -0
  517. package/dist/interface/ha/ConfigActionVariable-B25MAYQ3.js +88 -0
  518. package/dist/interface/ha/ConfigActionVariable-B25MAYQ3.js.br +0 -0
  519. package/dist/interface/ha/ConfigActionVariable-B25MAYQ3.js.gz +0 -0
  520. package/dist/interface/ha/ConfigConditionIfElse-C-A5u7G5.js +124 -0
  521. package/dist/interface/ha/ConfigConditionIfElse-C-A5u7G5.js.br +0 -0
  522. package/dist/interface/ha/ConfigConditionIfElse-C-A5u7G5.js.gz +0 -0
  523. package/dist/interface/ha/ConfigConditionSensorState-fyasaHt9.js +190 -0
  524. package/dist/interface/ha/ConfigConditionSensorState-fyasaHt9.js.br +0 -0
  525. package/dist/interface/ha/ConfigConditionSensorState-fyasaHt9.js.gz +0 -0
  526. package/dist/interface/ha/ConfigConditionSwitch-cNMDKFcW.js +128 -0
  527. package/dist/interface/ha/ConfigConditionSwitch-cNMDKFcW.js.br +0 -0
  528. package/dist/interface/ha/ConfigConditionSwitch-cNMDKFcW.js.gz +0 -0
  529. package/dist/interface/ha/ConfigSensorValueInput-BwSQnyhm.js +173 -0
  530. package/dist/interface/ha/ConfigSensorValueInput-BwSQnyhm.js.br +0 -0
  531. package/dist/interface/ha/ConfigSensorValueInput-BwSQnyhm.js.gz +0 -0
  532. package/dist/interface/ha/ConfigTriggerDetection-CeTdxQrW.js +241 -0
  533. package/dist/interface/ha/ConfigTriggerDetection-CeTdxQrW.js.br +0 -0
  534. package/dist/interface/ha/ConfigTriggerDetection-CeTdxQrW.js.gz +0 -0
  535. package/dist/interface/ha/ConfigTriggerGeofence-JsAPb2tY.js +4836 -0
  536. package/dist/interface/ha/ConfigTriggerGeofence-JsAPb2tY.js.br +0 -0
  537. package/dist/interface/ha/ConfigTriggerGeofence-JsAPb2tY.js.gz +0 -0
  538. package/dist/interface/ha/ConfigTriggerMqtt-Dt8C4tKh.js +134 -0
  539. package/dist/interface/ha/ConfigTriggerMqtt-Dt8C4tKh.js.br +0 -0
  540. package/dist/interface/ha/ConfigTriggerMqtt-Dt8C4tKh.js.gz +0 -0
  541. package/dist/interface/ha/ConfigTriggerSensor-CaIzI1GD.js +73 -0
  542. package/dist/interface/ha/ConfigTriggerSensor-CaIzI1GD.js.br +0 -0
  543. package/dist/interface/ha/ConfigTriggerSensor-CaIzI1GD.js.gz +0 -0
  544. package/dist/interface/ha/ConfigTriggerSystem-CtII2jhp.js +192 -0
  545. package/dist/interface/ha/ConfigTriggerSystem-CtII2jhp.js.br +0 -0
  546. package/dist/interface/ha/ConfigTriggerSystem-CtII2jhp.js.gz +0 -0
  547. package/dist/interface/ha/ConfigTriggerWebhook-B0wkkutx.js +94 -0
  548. package/dist/interface/ha/ConfigTriggerWebhook-B0wkkutx.js.br +0 -0
  549. package/dist/interface/ha/ConfigTriggerWebhook-B0wkkutx.js.gz +0 -0
  550. package/dist/interface/ha/Console-C5Cvxsap.js +347 -0
  551. package/dist/interface/ha/Console-C5Cvxsap.js.br +0 -0
  552. package/dist/interface/ha/Console-C5Cvxsap.js.gz +0 -0
  553. package/dist/interface/ha/CuiAutomationRunsDialog-BmBHaYZf.js +129 -0
  554. package/dist/interface/ha/CuiAutomationRunsDialog-BmBHaYZf.js.br +0 -0
  555. package/dist/interface/ha/CuiAutomationRunsDialog-BmBHaYZf.js.gz +0 -0
  556. package/dist/interface/ha/CuiBottomSheet-CszaUNYk.js +270 -0
  557. package/dist/interface/ha/CuiBottomSheet-CszaUNYk.js.br +0 -0
  558. package/dist/interface/ha/CuiBottomSheet-CszaUNYk.js.gz +0 -0
  559. package/dist/interface/ha/CuiCameraRecordings-C_13hRkU.js +575 -0
  560. package/dist/interface/ha/CuiCameraRecordings-C_13hRkU.js.br +0 -0
  561. package/dist/interface/ha/CuiCameraRecordings-C_13hRkU.js.gz +0 -0
  562. package/dist/interface/ha/CuiCameraShares-ol2tvERa.js +120 -0
  563. package/dist/interface/ha/CuiCameraShares-ol2tvERa.js.br +0 -0
  564. package/dist/interface/ha/CuiCameraShares-ol2tvERa.js.gz +0 -0
  565. package/dist/interface/ha/CuiCameraTable-OU1X8Q5K.js +105 -0
  566. package/dist/interface/ha/CuiCameraTable-OU1X8Q5K.js.br +0 -0
  567. package/dist/interface/ha/CuiCameraTable-OU1X8Q5K.js.gz +0 -0
  568. package/dist/interface/ha/CuiChartTable-ET--AH4i.js +6797 -0
  569. package/dist/interface/ha/CuiChartTable-ET--AH4i.js.br +0 -0
  570. package/dist/interface/ha/CuiChartTable-ET--AH4i.js.gz +0 -0
  571. package/dist/interface/ha/CuiConsole-CJo8fDL5.js +234 -0
  572. package/dist/interface/ha/CuiConsole-CJo8fDL5.js.br +0 -0
  573. package/dist/interface/ha/CuiConsole-CJo8fDL5.js.gz +0 -0
  574. package/dist/interface/ha/CuiDataTable-D_IsEeqy.js +8860 -0
  575. package/dist/interface/ha/CuiDataTable-D_IsEeqy.js.br +0 -0
  576. package/dist/interface/ha/CuiDataTable-D_IsEeqy.js.gz +0 -0
  577. package/dist/interface/ha/CuiMoveCodeForm-C9rYHA3O.js +89 -0
  578. package/dist/interface/ha/CuiMoveCodeForm-C9rYHA3O.js.br +0 -0
  579. package/dist/interface/ha/CuiMoveCodeForm-C9rYHA3O.js.gz +0 -0
  580. package/dist/interface/ha/CuiPluginCard-_ryTpeR4.js +778 -0
  581. package/dist/interface/ha/CuiPluginCard-_ryTpeR4.js.br +0 -0
  582. package/dist/interface/ha/CuiPluginCard-_ryTpeR4.js.gz +0 -0
  583. package/dist/interface/ha/CuiPluginOAuthButton-VXBCGWYJ.js +74 -0
  584. package/dist/interface/ha/CuiPluginOAuthButton-VXBCGWYJ.js.br +0 -0
  585. package/dist/interface/ha/CuiPluginOAuthButton-VXBCGWYJ.js.gz +0 -0
  586. package/dist/interface/ha/CuiPluginTrustBadge-BSILygRI.js +122 -0
  587. package/dist/interface/ha/CuiPluginTrustBadge-BSILygRI.js.br +0 -0
  588. package/dist/interface/ha/CuiPluginTrustBadge-BSILygRI.js.gz +0 -0
  589. package/dist/interface/ha/CuiQRCode-D6ndZNl2.js +86 -0
  590. package/dist/interface/ha/CuiQRCode-D6ndZNl2.js.br +0 -0
  591. package/dist/interface/ha/CuiQRCode-D6ndZNl2.js.gz +0 -0
  592. package/dist/interface/ha/CuiSchema-Dshd_063.js +952 -0
  593. package/dist/interface/ha/CuiSchema-Dshd_063.js.br +0 -0
  594. package/dist/interface/ha/CuiSchema-Dshd_063.js.gz +0 -0
  595. package/dist/interface/ha/CuiTopNavbarItem-BO_G31I3.js +141 -0
  596. package/dist/interface/ha/CuiTopNavbarItem-BO_G31I3.js.br +0 -0
  597. package/dist/interface/ha/CuiTopNavbarItem-BO_G31I3.js.gz +0 -0
  598. package/dist/interface/ha/Faces-Bcpibrg4.js +1659 -0
  599. package/dist/interface/ha/Faces-Bcpibrg4.js.br +0 -0
  600. package/dist/interface/ha/Faces-Bcpibrg4.js.gz +0 -0
  601. package/dist/interface/ha/FirstSteps-Cys9z02E.js +254 -0
  602. package/dist/interface/ha/FirstSteps-Cys9z02E.js.br +0 -0
  603. package/dist/interface/ha/FirstSteps-Cys9z02E.js.gz +0 -0
  604. package/dist/interface/ha/Floorplan-B6xviJ-E.js +3707 -0
  605. package/dist/interface/ha/Floorplan-B6xviJ-E.js.br +0 -0
  606. package/dist/interface/ha/Floorplan-B6xviJ-E.js.gz +0 -0
  607. package/dist/interface/ha/Instances-TwpJ1VPd.js +670 -0
  608. package/dist/interface/ha/Instances-TwpJ1VPd.js.br +0 -0
  609. package/dist/interface/ha/Instances-TwpJ1VPd.js.gz +0 -0
  610. package/dist/interface/ha/Logs-D79bN7FQ.js +417 -0
  611. package/dist/interface/ha/Logs-D79bN7FQ.js.br +0 -0
  612. package/dist/interface/ha/Logs-D79bN7FQ.js.gz +0 -0
  613. package/dist/interface/ha/Menu-B7f28kpd.js +159 -0
  614. package/dist/interface/ha/Menu-B7f28kpd.js.br +0 -0
  615. package/dist/interface/ha/Menu-B7f28kpd.js.gz +0 -0
  616. package/dist/interface/ha/Metrics-BRUNpGGB.js +1497 -0
  617. package/dist/interface/ha/Metrics-BRUNpGGB.js.br +0 -0
  618. package/dist/interface/ha/Metrics-BRUNpGGB.js.gz +0 -0
  619. package/dist/interface/ha/OAuthDeviceFlow-CO_AH5TX.js +112 -0
  620. package/dist/interface/ha/OAuthDeviceFlow-CO_AH5TX.js.br +0 -0
  621. package/dist/interface/ha/OAuthDeviceFlow-CO_AH5TX.js.gz +0 -0
  622. package/dist/interface/ha/Plugin-CCWh5a5D.js +1756 -0
  623. package/dist/interface/ha/Plugin-CCWh5a5D.js.br +0 -0
  624. package/dist/interface/ha/Plugin-CCWh5a5D.js.gz +0 -0
  625. package/dist/interface/ha/PluginConsole-CahwQuiM.js +56 -0
  626. package/dist/interface/ha/PluginConsole-CahwQuiM.js.br +0 -0
  627. package/dist/interface/ha/PluginConsole-CahwQuiM.js.gz +0 -0
  628. package/dist/interface/ha/PluginDetail-BhK_7_Nm.js +804 -0
  629. package/dist/interface/ha/PluginDetail-BhK_7_Nm.js.br +0 -0
  630. package/dist/interface/ha/PluginDetail-BhK_7_Nm.js.gz +0 -0
  631. package/dist/interface/ha/PluginSearch-rHfT1g2Y.js +462 -0
  632. package/dist/interface/ha/PluginSearch-rHfT1g2Y.js.br +0 -0
  633. package/dist/interface/ha/PluginSearch-rHfT1g2Y.js.gz +0 -0
  634. package/dist/interface/ha/PluginUpdateProgress-BAkJbpxS.js +34 -0
  635. package/dist/interface/ha/PluginUpdateProgress-BAkJbpxS.js.br +0 -0
  636. package/dist/interface/ha/PluginUpdateProgress-BAkJbpxS.js.gz +0 -0
  637. package/dist/interface/ha/Plugins-CfRjUTdF.js +697 -0
  638. package/dist/interface/ha/Plugins-CfRjUTdF.js.br +0 -0
  639. package/dist/interface/ha/Plugins-CfRjUTdF.js.gz +0 -0
  640. package/dist/interface/ha/Recordings-Ba19Jn9Y.js +1928 -0
  641. package/dist/interface/ha/Recordings-Ba19Jn9Y.js.br +0 -0
  642. package/dist/interface/ha/Recordings-Ba19Jn9Y.js.gz +0 -0
  643. package/dist/interface/ha/SensorEdit-gLUs5yZy.js +1466 -0
  644. package/dist/interface/ha/SensorEdit-gLUs5yZy.js.br +0 -0
  645. package/dist/interface/ha/SensorEdit-gLUs5yZy.js.gz +0 -0
  646. package/dist/interface/ha/SensorHistory-7ST3XOpu.js +54 -0
  647. package/dist/interface/ha/SensorHistory-7ST3XOpu.js.br +0 -0
  648. package/dist/interface/ha/SensorHistory-7ST3XOpu.js.gz +0 -0
  649. package/dist/interface/ha/Sensors-CLcxpNmB.js +1544 -0
  650. package/dist/interface/ha/Sensors-CLcxpNmB.js.br +0 -0
  651. package/dist/interface/ha/Sensors-CLcxpNmB.js.gz +0 -0
  652. package/dist/interface/ha/Settings-DuSVhLrp.js +218 -0
  653. package/dist/interface/ha/Settings-DuSVhLrp.js.br +0 -0
  654. package/dist/interface/ha/Settings-DuSVhLrp.js.gz +0 -0
  655. package/dist/interface/ha/SettingsAccount-BJR1jT8m.js +968 -0
  656. package/dist/interface/ha/SettingsAccount-BJR1jT8m.js.br +0 -0
  657. package/dist/interface/ha/SettingsAccount-BJR1jT8m.js.gz +0 -0
  658. package/dist/interface/ha/SettingsAppearance-DChhbGdG.js +201 -0
  659. package/dist/interface/ha/SettingsAppearance-DChhbGdG.js.br +0 -0
  660. package/dist/interface/ha/SettingsAppearance-DChhbGdG.js.gz +0 -0
  661. package/dist/interface/ha/SettingsAssistant-D_n59VL8.js +2134 -0
  662. package/dist/interface/ha/SettingsAssistant-D_n59VL8.js.br +0 -0
  663. package/dist/interface/ha/SettingsAssistant-D_n59VL8.js.gz +0 -0
  664. package/dist/interface/ha/SettingsBackup-Cw6NraPq.js +1047 -0
  665. package/dist/interface/ha/SettingsBackup-Cw6NraPq.js.br +0 -0
  666. package/dist/interface/ha/SettingsBackup-Cw6NraPq.js.gz +0 -0
  667. package/dist/interface/ha/SettingsList-B3wPBiWX.js +40 -0
  668. package/dist/interface/ha/SettingsList-B3wPBiWX.js.br +0 -0
  669. package/dist/interface/ha/SettingsList-B3wPBiWX.js.gz +0 -0
  670. package/dist/interface/ha/SettingsMqtt-DWccZhfB.js +512 -0
  671. package/dist/interface/ha/SettingsMqtt-DWccZhfB.js.br +0 -0
  672. package/dist/interface/ha/SettingsMqtt-DWccZhfB.js.gz +0 -0
  673. package/dist/interface/ha/SettingsNotifications-Bj2hE0Tl.js +514 -0
  674. package/dist/interface/ha/SettingsNotifications-Bj2hE0Tl.js.br +0 -0
  675. package/dist/interface/ha/SettingsNotifications-Bj2hE0Tl.js.gz +0 -0
  676. package/dist/interface/ha/SettingsRecordings-DczCKZaw.js +152 -0
  677. package/dist/interface/ha/SettingsRecordings-DczCKZaw.js.br +0 -0
  678. package/dist/interface/ha/SettingsRecordings-DczCKZaw.js.gz +0 -0
  679. package/dist/interface/ha/SettingsRemote-8OgWQrdC.js +1523 -0
  680. package/dist/interface/ha/SettingsRemote-8OgWQrdC.js.br +0 -0
  681. package/dist/interface/ha/SettingsRemote-8OgWQrdC.js.gz +0 -0
  682. package/dist/interface/ha/SettingsSystem-C_1FKxqt.js +382 -0
  683. package/dist/interface/ha/SettingsSystem-C_1FKxqt.js.br +0 -0
  684. package/dist/interface/ha/SettingsSystem-C_1FKxqt.js.gz +0 -0
  685. package/dist/interface/ha/SettingsUsers-DuIer2O-.js +370 -0
  686. package/dist/interface/ha/SettingsUsers-DuIer2O-.js.br +0 -0
  687. package/dist/interface/ha/SettingsUsers-DuIer2O-.js.gz +0 -0
  688. package/dist/interface/ha/Terminal-D8uiO_xF.js +611 -0
  689. package/dist/interface/ha/Terminal-D8uiO_xF.js.br +0 -0
  690. package/dist/interface/ha/Terminal-D8uiO_xF.js.gz +0 -0
  691. package/dist/interface/ha/Training-CsOv6utw.js +1829 -0
  692. package/dist/interface/ha/Training-CsOv6utw.js.br +0 -0
  693. package/dist/interface/ha/Training-CsOv6utw.js.gz +0 -0
  694. package/dist/interface/ha/Updates-BHwhoaHk.js +357 -0
  695. package/dist/interface/ha/Updates-BHwhoaHk.js.br +0 -0
  696. package/dist/interface/ha/Updates-BHwhoaHk.js.gz +0 -0
  697. package/dist/interface/ha/VariableInput-JdY-2So3.js +52 -0
  698. package/dist/interface/ha/VariableInput-JdY-2So3.js.br +3 -0
  699. package/dist/interface/ha/VariableInput-JdY-2So3.js.gz +0 -0
  700. package/dist/interface/ha/VersionsHandler-YXUIJUnp.js +221 -0
  701. package/dist/interface/ha/VersionsHandler-YXUIJUnp.js.br +0 -0
  702. package/dist/interface/ha/VersionsHandler-YXUIJUnp.js.gz +0 -0
  703. package/dist/interface/ha/VirtualSensorCreate-Cg7plpgP.js +102 -0
  704. package/dist/interface/ha/VirtualSensorCreate-Cg7plpgP.js.br +0 -0
  705. package/dist/interface/ha/VirtualSensorCreate-Cg7plpgP.js.gz +0 -0
  706. package/dist/interface/ha/Workers-CNXmttds.js +1270 -0
  707. package/dist/interface/ha/Workers-CNXmttds.js.br +0 -0
  708. package/dist/interface/ha/Workers-CNXmttds.js.gz +0 -0
  709. package/dist/interface/ha/api-BMAjMZXW.js +69479 -0
  710. package/dist/interface/ha/api-BMAjMZXW.js.br +0 -0
  711. package/dist/interface/ha/api-BMAjMZXW.js.gz +0 -0
  712. package/dist/interface/ha/api-CTAjaUH8.js +29 -0
  713. package/dist/interface/ha/api-CTAjaUH8.js.br +0 -0
  714. package/dist/interface/ha/api-CTAjaUH8.js.gz +0 -0
  715. package/dist/interface/ha/assistant-Bu6j_nkk.js +349 -0
  716. package/dist/interface/ha/assistant-Bu6j_nkk.js.br +0 -0
  717. package/dist/interface/ha/assistant-Bu6j_nkk.js.gz +0 -0
  718. package/dist/interface/ha/auth-DepsB6hB.js +271 -0
  719. package/dist/interface/ha/auth-DepsB6hB.js.br +0 -0
  720. package/dist/interface/ha/auth-DepsB6hB.js.gz +0 -0
  721. package/dist/interface/ha/automationBlueprint-CoLS2qkT.js +250 -0
  722. package/dist/interface/ha/automationBlueprint-CoLS2qkT.js.br +0 -0
  723. package/dist/interface/ha/automationBlueprint-CoLS2qkT.js.gz +0 -0
  724. package/dist/interface/ha/cameraui-cards.js +2 -2
  725. package/dist/interface/ha/cards-C606ow8L.js +13318 -0
  726. package/dist/interface/ha/cards-C606ow8L.js.br +0 -0
  727. package/dist/interface/ha/cards-C606ow8L.js.gz +0 -0
  728. package/dist/interface/ha/config-K0yXIbP6.js +116 -0
  729. package/dist/interface/ha/config-K0yXIbP6.js.br +0 -0
  730. package/dist/interface/ha/config-K0yXIbP6.js.gz +0 -0
  731. package/dist/interface/ha/dist-BbF4wy7q.js +4477 -0
  732. package/dist/interface/ha/dist-BbF4wy7q.js.br +0 -0
  733. package/dist/interface/ha/dist-BbF4wy7q.js.gz +0 -0
  734. package/dist/interface/ha/mqtt-DPM-oNuD.js +56 -0
  735. package/dist/interface/ha/mqtt-DPM-oNuD.js.br +2 -0
  736. package/dist/interface/ha/mqtt-DPM-oNuD.js.gz +0 -0
  737. package/dist/interface/ha/notifications-CnQi5Ke_.js +159 -0
  738. package/dist/interface/ha/notifications-CnQi5Ke_.js.br +0 -0
  739. package/dist/interface/ha/notifications-CnQi5Ke_.js.gz +0 -0
  740. package/dist/interface/ha/plugins-BnbAa3my.js +592 -0
  741. package/dist/interface/ha/plugins-BnbAa3my.js.br +0 -0
  742. package/dist/interface/ha/plugins-BnbAa3my.js.gz +0 -0
  743. package/dist/interface/ha/rooms-D2_BpViG.js +45 -0
  744. package/dist/interface/ha/rooms-D2_BpViG.js.br +0 -0
  745. package/dist/interface/ha/rooms-D2_BpViG.js.gz +0 -0
  746. package/dist/interface/ha/server-BlJ93-Hs.js +244 -0
  747. package/dist/interface/ha/server-BlJ93-Hs.js.br +0 -0
  748. package/dist/interface/ha/server-BlJ93-Hs.js.gz +0 -0
  749. package/dist/interface/ha/speeddial-B6DjLoHz.js +941 -0
  750. package/dist/interface/ha/speeddial-B6DjLoHz.js.br +0 -0
  751. package/dist/interface/ha/speeddial-B6DjLoHz.js.gz +0 -0
  752. package/dist/interface/ha/types-CY6hImbV.js +1073 -0
  753. package/dist/interface/ha/types-CY6hImbV.js.br +0 -0
  754. package/dist/interface/ha/types-CY6hImbV.js.gz +0 -0
  755. package/dist/interface/ha/updates-CRKJ_Z3k.js +414 -0
  756. package/dist/interface/ha/updates-CRKJ_Z3k.js.br +0 -0
  757. package/dist/interface/ha/updates-CRKJ_Z3k.js.gz +0 -0
  758. package/dist/interface/ha/useAppVersion-CHWMNwX3.js +22 -0
  759. package/dist/interface/ha/useAppVersion-CHWMNwX3.js.br +3 -0
  760. package/dist/interface/ha/useAppVersion-CHWMNwX3.js.gz +0 -0
  761. package/dist/interface/ha/useKeyboardInset-CJgY-hAr.js +27 -0
  762. package/dist/interface/ha/useKeyboardInset-CJgY-hAr.js.br +0 -0
  763. package/dist/interface/ha/useKeyboardInset-CJgY-hAr.js.gz +0 -0
  764. package/dist/interface/ha/useLogsSocket-DsC5xvkg.js +74 -0
  765. package/dist/interface/ha/useLogsSocket-DsC5xvkg.js.br +0 -0
  766. package/dist/interface/ha/useLogsSocket-DsC5xvkg.js.gz +0 -0
  767. package/dist/interface/ha/useNavLayout-BV7zf4De.js +125 -0
  768. package/dist/interface/ha/useNavLayout-BV7zf4De.js.br +0 -0
  769. package/dist/interface/ha/useNavLayout-BV7zf4De.js.gz +0 -0
  770. package/dist/interface/ha/usePlacementLabel-9Tv16qVQ.js +49 -0
  771. package/dist/interface/ha/usePlacementLabel-9Tv16qVQ.js.br +0 -0
  772. package/dist/interface/ha/usePlacementLabel-9Tv16qVQ.js.gz +0 -0
  773. package/dist/interface/ha/useTabSwipe-C3fUfOg9.js +45 -0
  774. package/dist/interface/ha/useTabSwipe-C3fUfOg9.js.br +0 -0
  775. package/dist/interface/ha/useTabSwipe-C3fUfOg9.js.gz +0 -0
  776. package/dist/interface/ha/useUpdateChannel-986lvHbt.js +22 -0
  777. package/dist/interface/ha/useUpdateChannel-986lvHbt.js.br +0 -0
  778. package/dist/interface/ha/useUpdateChannel-986lvHbt.js.gz +0 -0
  779. package/dist/interface/ha/useUpdatesSocket-QeOub1hX.js +34 -0
  780. package/dist/interface/ha/useUpdatesSocket-QeOub1hX.js.br +0 -0
  781. package/dist/interface/ha/useUpdatesSocket-QeOub1hX.js.gz +0 -0
  782. package/dist/interface/ha/useUserOptions-DEPcjUqL.js +15 -0
  783. package/dist/interface/ha/useUserOptions-DEPcjUqL.js.br +0 -0
  784. package/dist/interface/ha/useUserOptions-DEPcjUqL.js.gz +0 -0
  785. package/dist/interface/index.html +31 -31
  786. package/dist/interface/sw.js +1 -1
  787. package/dist/server/assets/docs.json +1 -1
  788. package/dist/server/package.json +6 -5
  789. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  790. package/dist/server/src/camera/decoder/detection-coordinator.js +10 -2
  791. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  792. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +2 -1
  793. package/dist/server/src/camera/decoder/detection-pipeline.js +1 -0
  794. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  795. package/dist/server/src/camera/decoder/detection-window.d.ts +10 -3
  796. package/dist/server/src/camera/decoder/detection-window.js +38 -3
  797. package/dist/server/src/camera/decoder/detection-window.js.map +1 -1
  798. package/dist/server/src/camera/decoder/event-trace.d.ts +1 -1
  799. package/dist/server/src/camera/decoder/event-trace.js +9 -1
  800. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  801. package/npm-shrinkwrap.json +84 -155
  802. package/package.json +6 -5
  803. package/dist/interface/assets/404-D4Drh_xq.js +0 -1
  804. package/dist/interface/assets/404-D4Drh_xq.js.br +0 -0
  805. package/dist/interface/assets/404-D4Drh_xq.js.gz +0 -0
  806. package/dist/interface/assets/About-BAT_jCW3.js +0 -1
  807. package/dist/interface/assets/About-BAT_jCW3.js.br +0 -0
  808. package/dist/interface/assets/About-BAT_jCW3.js.gz +0 -0
  809. package/dist/interface/assets/Assistant-CFqX9Cfn.js +0 -1
  810. package/dist/interface/assets/Assistant-CFqX9Cfn.js.br +0 -0
  811. package/dist/interface/assets/Assistant-CFqX9Cfn.js.gz +0 -0
  812. package/dist/interface/assets/Automation-Ca_fzkxS.js +0 -3
  813. package/dist/interface/assets/Automation-Ca_fzkxS.js.br +0 -0
  814. package/dist/interface/assets/Automation-Ca_fzkxS.js.gz +0 -0
  815. package/dist/interface/assets/AutomationImport-CbpQbyf_.js +0 -2
  816. package/dist/interface/assets/AutomationImport-CbpQbyf_.js.br +0 -0
  817. package/dist/interface/assets/AutomationImport-CbpQbyf_.js.gz +0 -0
  818. package/dist/interface/assets/AutomationStore-DzdSpBDK.js +0 -2
  819. package/dist/interface/assets/AutomationStore-DzdSpBDK.js.br +0 -0
  820. package/dist/interface/assets/AutomationStore-DzdSpBDK.js.gz +0 -0
  821. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js +0 -2
  822. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js.br +0 -0
  823. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js.gz +0 -0
  824. package/dist/interface/assets/Automations-Cykrss_w.js +0 -2
  825. package/dist/interface/assets/Automations-Cykrss_w.js.br +0 -0
  826. package/dist/interface/assets/Automations-Cykrss_w.js.gz +0 -0
  827. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js +0 -1
  828. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js.br +0 -0
  829. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js.gz +0 -0
  830. package/dist/interface/assets/Camera-c1CBOkQs.js +0 -2
  831. package/dist/interface/assets/Camera-c1CBOkQs.js.br +0 -0
  832. package/dist/interface/assets/Camera-c1CBOkQs.js.gz +0 -0
  833. package/dist/interface/assets/CameraConsole-3CDWcq69.js +0 -7
  834. package/dist/interface/assets/CameraConsole-3CDWcq69.js.br +0 -0
  835. package/dist/interface/assets/CameraConsole-3CDWcq69.js.gz +0 -0
  836. package/dist/interface/assets/Cameras-B7uCydRy.js +0 -651
  837. package/dist/interface/assets/Cameras-B7uCydRy.js.br +0 -0
  838. package/dist/interface/assets/Cameras-B7uCydRy.js.gz +0 -0
  839. package/dist/interface/assets/Camview-DdTvWbzy.js +0 -1
  840. package/dist/interface/assets/Camview-DdTvWbzy.js.br +0 -0
  841. package/dist/interface/assets/Camview-DdTvWbzy.js.gz +0 -0
  842. package/dist/interface/assets/Config-BY9qOw6l.js +0 -2
  843. package/dist/interface/assets/Config-BY9qOw6l.js.br +0 -0
  844. package/dist/interface/assets/Config-BY9qOw6l.js.gz +0 -0
  845. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js +0 -1
  846. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js.br +0 -0
  847. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js.gz +0 -0
  848. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js +0 -1
  849. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js.br +0 -0
  850. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js.gz +0 -0
  851. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js +0 -1
  852. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js.br +0 -0
  853. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js.gz +0 -0
  854. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js +0 -1
  855. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js.br +0 -0
  856. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js.gz +0 -0
  857. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js +0 -1
  858. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js.br +0 -0
  859. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js.gz +0 -0
  860. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js +0 -1
  861. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js.br +0 -0
  862. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js.gz +0 -0
  863. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js +0 -1
  864. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js.br +0 -0
  865. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js.gz +0 -0
  866. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js +0 -1
  867. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js.br +0 -0
  868. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js.gz +0 -0
  869. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js +0 -1
  870. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js.br +0 -0
  871. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js.gz +0 -0
  872. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js +0 -1
  873. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js.br +0 -0
  874. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js.gz +0 -0
  875. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js +0 -1
  876. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js.br +0 -0
  877. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js.gz +0 -0
  878. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js +0 -1
  879. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js.br +0 -0
  880. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js.gz +0 -0
  881. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js +0 -1
  882. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js.br +0 -0
  883. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js.gz +0 -0
  884. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js +0 -1
  885. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js.br +0 -0
  886. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js.gz +0 -0
  887. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js +0 -1
  888. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js.br +0 -0
  889. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js.gz +0 -0
  890. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js +0 -1
  891. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js.br +0 -0
  892. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js.gz +0 -0
  893. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js +0 -1
  894. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js.br +0 -0
  895. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js.gz +0 -0
  896. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js +0 -1
  897. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js.br +0 -0
  898. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js.gz +0 -0
  899. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js +0 -1
  900. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js.br +0 -0
  901. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js.gz +0 -0
  902. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js +0 -1
  903. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js.br +0 -0
  904. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js.gz +0 -0
  905. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js +0 -1
  906. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js.br +0 -0
  907. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js.gz +0 -0
  908. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js +0 -1
  909. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js.br +0 -0
  910. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js.gz +0 -0
  911. package/dist/interface/assets/Console-Cgjv3RzI.js +0 -1
  912. package/dist/interface/assets/Console-Cgjv3RzI.js.br +0 -0
  913. package/dist/interface/assets/Console-Cgjv3RzI.js.gz +0 -0
  914. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js +0 -5
  915. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js.br +0 -0
  916. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js.gz +0 -0
  917. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js +0 -1
  918. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js.br +0 -0
  919. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js.gz +0 -0
  920. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js +0 -1
  921. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js.br +0 -0
  922. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js.gz +0 -0
  923. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js +0 -1
  924. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js.br +0 -1
  925. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js.gz +0 -0
  926. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js +0 -1
  927. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js.br +0 -0
  928. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js.gz +0 -0
  929. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js +0 -1
  930. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js.br +0 -0
  931. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js.gz +0 -0
  932. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js +0 -1
  933. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js.br +0 -0
  934. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js.gz +0 -0
  935. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js +0 -1
  936. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js.br +0 -1
  937. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js.gz +0 -0
  938. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js +0 -2
  939. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js.br +0 -0
  940. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js.gz +0 -0
  941. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js +0 -1
  942. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js.br +0 -0
  943. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js.gz +0 -0
  944. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js +0 -5
  945. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js.br +0 -0
  946. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js.gz +0 -0
  947. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js +0 -1
  948. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js.br +0 -0
  949. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js.gz +0 -0
  950. package/dist/interface/assets/CuiLightControl-zvzB79A4.js +0 -1
  951. package/dist/interface/assets/CuiLightControl-zvzB79A4.js.br +0 -0
  952. package/dist/interface/assets/CuiLightControl-zvzB79A4.js.gz +0 -0
  953. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js +0 -1
  954. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js.br +0 -0
  955. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js.gz +0 -0
  956. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js +0 -2
  957. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js.br +0 -0
  958. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js.gz +0 -0
  959. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js +0 -1
  960. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js.br +0 -0
  961. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js.gz +0 -0
  962. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js +0 -2
  963. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js.br +0 -0
  964. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js.gz +0 -0
  965. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js +0 -1
  966. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js.br +0 -0
  967. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js.gz +0 -0
  968. package/dist/interface/assets/CuiQRCode-B86lQi1G.js +0 -1
  969. package/dist/interface/assets/CuiQRCode-B86lQi1G.js.br +0 -0
  970. package/dist/interface/assets/CuiQRCode-B86lQi1G.js.gz +0 -0
  971. package/dist/interface/assets/CuiSchema-YiKccKyT.js +0 -1
  972. package/dist/interface/assets/CuiSchema-YiKccKyT.js.br +0 -0
  973. package/dist/interface/assets/CuiSchema-YiKccKyT.js.gz +0 -0
  974. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js +0 -1
  975. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js.br +0 -0
  976. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js.gz +0 -0
  977. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js +0 -1
  978. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js.br +0 -0
  979. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js.gz +0 -0
  980. package/dist/interface/assets/Faces-CHbVBveZ.js +0 -1
  981. package/dist/interface/assets/Faces-CHbVBveZ.js.br +0 -0
  982. package/dist/interface/assets/Faces-CHbVBveZ.js.gz +0 -0
  983. package/dist/interface/assets/FirstSteps-D9Pta8BL.js +0 -1
  984. package/dist/interface/assets/FirstSteps-D9Pta8BL.js.br +0 -0
  985. package/dist/interface/assets/FirstSteps-D9Pta8BL.js.gz +0 -0
  986. package/dist/interface/assets/Floorplan-DzZ8h3Js.js +0 -1
  987. package/dist/interface/assets/Floorplan-DzZ8h3Js.js.br +0 -0
  988. package/dist/interface/assets/Floorplan-DzZ8h3Js.js.gz +0 -0
  989. package/dist/interface/assets/Instances-Glv2Nq8L.js +0 -1
  990. package/dist/interface/assets/Instances-Glv2Nq8L.js.br +0 -0
  991. package/dist/interface/assets/Instances-Glv2Nq8L.js.gz +0 -0
  992. package/dist/interface/assets/Logs-BTjx1_ly.js +0 -6
  993. package/dist/interface/assets/Logs-BTjx1_ly.js.br +0 -0
  994. package/dist/interface/assets/Logs-BTjx1_ly.js.gz +0 -0
  995. package/dist/interface/assets/Menu-D0ZOCtdm.js +0 -1
  996. package/dist/interface/assets/Menu-D0ZOCtdm.js.br +0 -0
  997. package/dist/interface/assets/Menu-D0ZOCtdm.js.gz +0 -0
  998. package/dist/interface/assets/Metrics-BuMxT9v0.js +0 -12
  999. package/dist/interface/assets/Metrics-BuMxT9v0.js.br +0 -0
  1000. package/dist/interface/assets/Metrics-BuMxT9v0.js.gz +0 -0
  1001. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js +0 -1
  1002. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js.br +0 -0
  1003. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js.gz +0 -0
  1004. package/dist/interface/assets/Plugin-DcYBigka.js +0 -1
  1005. package/dist/interface/assets/Plugin-DcYBigka.js.br +0 -0
  1006. package/dist/interface/assets/Plugin-DcYBigka.js.gz +0 -0
  1007. package/dist/interface/assets/PluginConsole-D_mTFWkP.js +0 -7
  1008. package/dist/interface/assets/PluginConsole-D_mTFWkP.js.br +0 -0
  1009. package/dist/interface/assets/PluginConsole-D_mTFWkP.js.gz +0 -0
  1010. package/dist/interface/assets/PluginDetail-DS79Mckz.js +0 -2
  1011. package/dist/interface/assets/PluginDetail-DS79Mckz.js.br +0 -0
  1012. package/dist/interface/assets/PluginDetail-DS79Mckz.js.gz +0 -0
  1013. package/dist/interface/assets/PluginSchema-BOD_341s.js +0 -1
  1014. package/dist/interface/assets/PluginSchema-BOD_341s.js.br +0 -0
  1015. package/dist/interface/assets/PluginSchema-BOD_341s.js.gz +0 -0
  1016. package/dist/interface/assets/PluginSearch-BwbGR9L7.js +0 -1
  1017. package/dist/interface/assets/PluginSearch-BwbGR9L7.js.br +0 -1
  1018. package/dist/interface/assets/PluginSearch-BwbGR9L7.js.gz +0 -0
  1019. package/dist/interface/assets/PluginSearch-DX4aDZTB.js +0 -2
  1020. package/dist/interface/assets/PluginSearch-DX4aDZTB.js.br +0 -0
  1021. package/dist/interface/assets/PluginSearch-DX4aDZTB.js.gz +0 -0
  1022. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js +0 -1
  1023. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js.br +0 -0
  1024. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js.gz +0 -0
  1025. package/dist/interface/assets/Plugins-CWL8_uCY.js +0 -1
  1026. package/dist/interface/assets/Plugins-CWL8_uCY.js.br +0 -0
  1027. package/dist/interface/assets/Plugins-CWL8_uCY.js.gz +0 -0
  1028. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js +0 -1
  1029. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js.br +0 -0
  1030. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js.gz +0 -0
  1031. package/dist/interface/assets/Recordings-BtieFUuB.js +0 -1
  1032. package/dist/interface/assets/Recordings-BtieFUuB.js.br +0 -0
  1033. package/dist/interface/assets/Recordings-BtieFUuB.js.gz +0 -0
  1034. package/dist/interface/assets/SensorEdit-BPy_hvEl.js +0 -1
  1035. package/dist/interface/assets/SensorEdit-BPy_hvEl.js.br +0 -0
  1036. package/dist/interface/assets/SensorEdit-BPy_hvEl.js.gz +0 -0
  1037. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js +0 -1
  1038. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js.br +0 -5
  1039. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js.gz +0 -0
  1040. package/dist/interface/assets/Sensors-CJPwG91Q.js +0 -2
  1041. package/dist/interface/assets/Sensors-CJPwG91Q.js.br +0 -0
  1042. package/dist/interface/assets/Sensors-CJPwG91Q.js.gz +0 -0
  1043. package/dist/interface/assets/Settings-Bqyb1cyW.js +0 -1
  1044. package/dist/interface/assets/Settings-Bqyb1cyW.js.br +0 -0
  1045. package/dist/interface/assets/Settings-Bqyb1cyW.js.gz +0 -0
  1046. package/dist/interface/assets/SettingsAccount-B7B3fl82.js +0 -1
  1047. package/dist/interface/assets/SettingsAccount-B7B3fl82.js.br +0 -0
  1048. package/dist/interface/assets/SettingsAccount-B7B3fl82.js.gz +0 -0
  1049. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js +0 -1
  1050. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js.br +0 -0
  1051. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js.gz +0 -0
  1052. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js +0 -1
  1053. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js.br +0 -0
  1054. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js.gz +0 -0
  1055. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js +0 -1
  1056. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js.br +0 -0
  1057. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js.gz +0 -0
  1058. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js +0 -1
  1059. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js.br +0 -0
  1060. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js.gz +0 -0
  1061. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js +0 -1
  1062. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js.br +0 -0
  1063. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js.gz +0 -0
  1064. package/dist/interface/assets/SettingsList-C_x4jNb0.js +0 -1
  1065. package/dist/interface/assets/SettingsList-C_x4jNb0.js.br +0 -0
  1066. package/dist/interface/assets/SettingsList-C_x4jNb0.js.gz +0 -0
  1067. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js +0 -1
  1068. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js.br +0 -0
  1069. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js.gz +0 -0
  1070. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js +0 -1
  1071. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js.br +0 -0
  1072. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js.gz +0 -0
  1073. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js +0 -1
  1074. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js.br +0 -0
  1075. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js.gz +0 -0
  1076. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js +0 -1
  1077. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js.br +0 -0
  1078. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js.gz +0 -0
  1079. package/dist/interface/assets/SettingsRemote-C23nUwVs.js +0 -2
  1080. package/dist/interface/assets/SettingsRemote-C23nUwVs.js.br +0 -0
  1081. package/dist/interface/assets/SettingsRemote-C23nUwVs.js.gz +0 -0
  1082. package/dist/interface/assets/SettingsSystem-xgoGldXc.js +0 -2
  1083. package/dist/interface/assets/SettingsSystem-xgoGldXc.js.br +0 -0
  1084. package/dist/interface/assets/SettingsSystem-xgoGldXc.js.gz +0 -0
  1085. package/dist/interface/assets/SettingsUsers-D5-im8NP.js +0 -1
  1086. package/dist/interface/assets/SettingsUsers-D5-im8NP.js.br +0 -0
  1087. package/dist/interface/assets/SettingsUsers-D5-im8NP.js.gz +0 -0
  1088. package/dist/interface/assets/Terminal-D_qE01xX.js +0 -4
  1089. package/dist/interface/assets/Terminal-D_qE01xX.js.br +0 -0
  1090. package/dist/interface/assets/Terminal-D_qE01xX.js.gz +0 -0
  1091. package/dist/interface/assets/Training-C0nq1zIu.js +0 -1
  1092. package/dist/interface/assets/Training-C0nq1zIu.js.br +0 -0
  1093. package/dist/interface/assets/Training-C0nq1zIu.js.gz +0 -0
  1094. package/dist/interface/assets/Updates-DWj4xF-x.js +0 -2
  1095. package/dist/interface/assets/Updates-DWj4xF-x.js.br +0 -0
  1096. package/dist/interface/assets/Updates-DWj4xF-x.js.gz +0 -0
  1097. package/dist/interface/assets/VariableInput-CdgKYOaI.js +0 -1
  1098. package/dist/interface/assets/VariableInput-CdgKYOaI.js.br +0 -0
  1099. package/dist/interface/assets/VariableInput-CdgKYOaI.js.gz +0 -0
  1100. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js +0 -7
  1101. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js.br +0 -0
  1102. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js.gz +0 -0
  1103. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js +0 -1
  1104. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js.br +0 -0
  1105. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js.gz +0 -0
  1106. package/dist/interface/assets/Workers-nld2h48X.js +0 -2
  1107. package/dist/interface/assets/Workers-nld2h48X.js.br +0 -0
  1108. package/dist/interface/assets/Workers-nld2h48X.js.gz +0 -0
  1109. package/dist/interface/assets/api-BKoFIKyj.js +0 -1
  1110. package/dist/interface/assets/api-BKoFIKyj.js.br +0 -0
  1111. package/dist/interface/assets/api-BKoFIKyj.js.gz +0 -0
  1112. package/dist/interface/assets/api-ZBnM4bpc.css +0 -2
  1113. package/dist/interface/assets/api-ZBnM4bpc.css.br +0 -0
  1114. package/dist/interface/assets/api-ZBnM4bpc.css.gz +0 -0
  1115. package/dist/interface/assets/api-hcc2XHgV.js +0 -4
  1116. package/dist/interface/assets/api-hcc2XHgV.js.br +0 -0
  1117. package/dist/interface/assets/api-hcc2XHgV.js.gz +0 -0
  1118. package/dist/interface/assets/assistant-8W8hzkNw.js +0 -1
  1119. package/dist/interface/assets/assistant-8W8hzkNw.js.br +0 -0
  1120. package/dist/interface/assets/assistant-8W8hzkNw.js.gz +0 -0
  1121. package/dist/interface/assets/auth-DrJKzxGF.js +0 -1
  1122. package/dist/interface/assets/auth-DrJKzxGF.js.br +0 -0
  1123. package/dist/interface/assets/auth-DrJKzxGF.js.gz +0 -0
  1124. package/dist/interface/assets/automations-D2MlKIro.js +0 -1
  1125. package/dist/interface/assets/automations-D2MlKIro.js.br +0 -0
  1126. package/dist/interface/assets/automations-D2MlKIro.js.gz +0 -0
  1127. package/dist/interface/assets/cameraSources-B4z1-BVn.js +0 -1
  1128. package/dist/interface/assets/cameraSources-B4z1-BVn.js.br +0 -0
  1129. package/dist/interface/assets/cameraSources-B4z1-BVn.js.gz +0 -0
  1130. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js +0 -1
  1131. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js.br +0 -0
  1132. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js.gz +0 -0
  1133. package/dist/interface/assets/config-15Yr02jr.js +0 -1
  1134. package/dist/interface/assets/config-15Yr02jr.js.br +0 -0
  1135. package/dist/interface/assets/config-15Yr02jr.js.gz +0 -0
  1136. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js +0 -1
  1137. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js.br +0 -0
  1138. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js.gz +0 -0
  1139. package/dist/interface/assets/flowSchema-B17UlpVh.js +0 -1
  1140. package/dist/interface/assets/flowSchema-B17UlpVh.js.br +0 -0
  1141. package/dist/interface/assets/flowSchema-B17UlpVh.js.gz +0 -0
  1142. package/dist/interface/assets/intercomService-D_RmFMkg.js +0 -1
  1143. package/dist/interface/assets/intercomService-D_RmFMkg.js.br +0 -0
  1144. package/dist/interface/assets/intercomService-D_RmFMkg.js.gz +0 -0
  1145. package/dist/interface/assets/main-CgTfG0aV.js +0 -3
  1146. package/dist/interface/assets/main-CgTfG0aV.js.br +0 -0
  1147. package/dist/interface/assets/main-CgTfG0aV.js.gz +0 -0
  1148. package/dist/interface/assets/mqtt-DmtUJOKc.js +0 -1
  1149. package/dist/interface/assets/mqtt-DmtUJOKc.js.br +0 -0
  1150. package/dist/interface/assets/mqtt-DmtUJOKc.js.gz +0 -0
  1151. package/dist/interface/assets/notifications-cxtdh4Dq.js +0 -1
  1152. package/dist/interface/assets/notifications-cxtdh4Dq.js.br +0 -0
  1153. package/dist/interface/assets/notifications-cxtdh4Dq.js.gz +0 -0
  1154. package/dist/interface/assets/plugins-CmfmG_Ht.js +0 -1
  1155. package/dist/interface/assets/plugins-CmfmG_Ht.js.br +0 -0
  1156. package/dist/interface/assets/plugins-CmfmG_Ht.js.gz +0 -0
  1157. package/dist/interface/assets/rooms-DImYvmf0.js +0 -1
  1158. package/dist/interface/assets/rooms-DImYvmf0.js.br +0 -0
  1159. package/dist/interface/assets/rooms-DImYvmf0.js.gz +0 -0
  1160. package/dist/interface/assets/sensorIcons-CQ-hewie.js +0 -1
  1161. package/dist/interface/assets/sensorIcons-CQ-hewie.js.br +0 -0
  1162. package/dist/interface/assets/sensorIcons-CQ-hewie.js.gz +0 -0
  1163. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js +0 -1
  1164. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js.br +0 -2
  1165. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js.gz +0 -0
  1166. package/dist/interface/assets/sensors-2F1TqBp2.js +0 -1
  1167. package/dist/interface/assets/sensors-2F1TqBp2.js.br +0 -0
  1168. package/dist/interface/assets/sensors-2F1TqBp2.js.gz +0 -0
  1169. package/dist/interface/assets/server-DMmxsNKk.js +0 -1
  1170. package/dist/interface/assets/server-DMmxsNKk.js.br +0 -0
  1171. package/dist/interface/assets/server-DMmxsNKk.js.gz +0 -0
  1172. package/dist/interface/assets/theme-CRxTH59W.js +0 -1
  1173. package/dist/interface/assets/theme-CRxTH59W.js.br +0 -0
  1174. package/dist/interface/assets/theme-CRxTH59W.js.gz +0 -0
  1175. package/dist/interface/assets/types-B05Rkscm.js +0 -1
  1176. package/dist/interface/assets/types-B05Rkscm.js.br +0 -0
  1177. package/dist/interface/assets/types-B05Rkscm.js.gz +0 -0
  1178. package/dist/interface/assets/types-C7UHGfrg.js +0 -1
  1179. package/dist/interface/assets/types-C7UHGfrg.js.br +0 -0
  1180. package/dist/interface/assets/types-C7UHGfrg.js.gz +0 -0
  1181. package/dist/interface/assets/types-SA5Swpfv.js +0 -1
  1182. package/dist/interface/assets/types-SA5Swpfv.js.br +0 -0
  1183. package/dist/interface/assets/types-SA5Swpfv.js.gz +0 -0
  1184. package/dist/interface/assets/updates-DGCU8RPq.js +0 -2
  1185. package/dist/interface/assets/updates-DGCU8RPq.js.br +0 -0
  1186. package/dist/interface/assets/updates-DGCU8RPq.js.gz +0 -0
  1187. package/dist/interface/assets/useAppVersion-fLy827DF.js +0 -1
  1188. package/dist/interface/assets/useAppVersion-fLy827DF.js.br +0 -0
  1189. package/dist/interface/assets/useAppVersion-fLy827DF.js.gz +0 -0
  1190. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js +0 -1
  1191. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js.br +0 -0
  1192. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js.gz +0 -0
  1193. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js +0 -1
  1194. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js.br +0 -0
  1195. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js.gz +0 -0
  1196. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js +0 -1
  1197. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js.br +0 -0
  1198. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js.gz +0 -0
  1199. package/dist/interface/assets/useNavLayout-BHarUZRh.js +0 -1
  1200. package/dist/interface/assets/useNavLayout-BHarUZRh.js.br +0 -0
  1201. package/dist/interface/assets/useNavLayout-BHarUZRh.js.gz +0 -0
  1202. package/dist/interface/assets/usePermissions-BomHzN7x.js +0 -1
  1203. package/dist/interface/assets/usePermissions-BomHzN7x.js.br +0 -0
  1204. package/dist/interface/assets/usePermissions-BomHzN7x.js.gz +0 -0
  1205. package/dist/interface/assets/usePlacementLabel-BuvODQam.js +0 -1
  1206. package/dist/interface/assets/usePlacementLabel-BuvODQam.js.br +0 -0
  1207. package/dist/interface/assets/usePlacementLabel-BuvODQam.js.gz +0 -0
  1208. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js +0 -1
  1209. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js.br +0 -0
  1210. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js.gz +0 -0
  1211. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js +0 -1
  1212. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js.br +0 -0
  1213. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js.gz +0 -0
  1214. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js +0 -1
  1215. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js.br +0 -0
  1216. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js.gz +0 -0
  1217. package/dist/interface/assets/usePushRegistration-BuFequdt.js +0 -2
  1218. package/dist/interface/assets/usePushRegistration-BuFequdt.js.br +0 -0
  1219. package/dist/interface/assets/usePushRegistration-BuFequdt.js.gz +0 -0
  1220. package/dist/interface/assets/useServerRestart-CK_PyvWO.js +0 -1
  1221. package/dist/interface/assets/useServerRestart-CK_PyvWO.js.br +0 -0
  1222. package/dist/interface/assets/useServerRestart-CK_PyvWO.js.gz +0 -0
  1223. package/dist/interface/assets/useTabSwipe-BljLAKBs.js +0 -1
  1224. package/dist/interface/assets/useTabSwipe-BljLAKBs.js.br +0 -0
  1225. package/dist/interface/assets/useTabSwipe-BljLAKBs.js.gz +0 -0
  1226. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js +0 -1
  1227. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js.br +0 -0
  1228. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js.gz +0 -0
  1229. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js +0 -1
  1230. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js.br +0 -0
  1231. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js.gz +0 -0
  1232. package/dist/interface/assets/useUserOptions-CkUmLnOt.js +0 -1
  1233. package/dist/interface/assets/useUserOptions-CkUmLnOt.js.br +0 -0
  1234. package/dist/interface/assets/useUserOptions-CkUmLnOt.js.gz +0 -0
  1235. package/dist/interface/assets/vendor-BKqUV6ZG.js +0 -36
  1236. package/dist/interface/assets/vendor-BKqUV6ZG.js.br +0 -0
  1237. package/dist/interface/assets/vendor-BKqUV6ZG.js.gz +0 -0
  1238. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js +0 -8
  1239. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js.br +0 -0
  1240. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js.gz +0 -0
  1241. package/dist/interface/assets/web-B-lnq1tC.js +0 -1
  1242. package/dist/interface/assets/web-B-lnq1tC.js.br +0 -1
  1243. package/dist/interface/assets/web-B-lnq1tC.js.gz +0 -0
  1244. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js +0 -1
  1245. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js.br +0 -1
  1246. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js.gz +0 -0
  1247. package/dist/interface/ha/404-C0g6F1t3.js +0 -60
  1248. package/dist/interface/ha/404-C0g6F1t3.js.br +0 -0
  1249. package/dist/interface/ha/404-C0g6F1t3.js.gz +0 -0
  1250. package/dist/interface/ha/About-DUPTtjj7.js +0 -55
  1251. package/dist/interface/ha/About-DUPTtjj7.js.br +0 -0
  1252. package/dist/interface/ha/About-DUPTtjj7.js.gz +0 -0
  1253. package/dist/interface/ha/Assistant-B9FBauC7.js +0 -11071
  1254. package/dist/interface/ha/Assistant-B9FBauC7.js.br +0 -0
  1255. package/dist/interface/ha/Assistant-B9FBauC7.js.gz +0 -0
  1256. package/dist/interface/ha/Automation-rCnUzOe1.js +0 -2009
  1257. package/dist/interface/ha/Automation-rCnUzOe1.js.br +0 -0
  1258. package/dist/interface/ha/Automation-rCnUzOe1.js.gz +0 -0
  1259. package/dist/interface/ha/AutomationImport-CopBhZrI.js +0 -206
  1260. package/dist/interface/ha/AutomationImport-CopBhZrI.js.br +0 -0
  1261. package/dist/interface/ha/AutomationImport-CopBhZrI.js.gz +0 -0
  1262. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js +0 -336
  1263. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js.br +0 -0
  1264. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js.gz +0 -0
  1265. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js +0 -121
  1266. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js.br +0 -0
  1267. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js.gz +0 -0
  1268. package/dist/interface/ha/Automations-BUxONL8h.js +0 -423
  1269. package/dist/interface/ha/Automations-BUxONL8h.js.br +0 -0
  1270. package/dist/interface/ha/Automations-BUxONL8h.js.gz +0 -0
  1271. package/dist/interface/ha/Camera-B6R6Him8.js +0 -740
  1272. package/dist/interface/ha/Camera-B6R6Him8.js.br +0 -0
  1273. package/dist/interface/ha/Camera-B6R6Him8.js.gz +0 -0
  1274. package/dist/interface/ha/CameraConsole-DGPtx3Om.js +0 -52
  1275. package/dist/interface/ha/CameraConsole-DGPtx3Om.js.br +0 -0
  1276. package/dist/interface/ha/CameraConsole-DGPtx3Om.js.gz +0 -0
  1277. package/dist/interface/ha/Cameras-BLAswy-u.js +0 -1934
  1278. package/dist/interface/ha/Cameras-BLAswy-u.js.br +0 -0
  1279. package/dist/interface/ha/Cameras-BLAswy-u.js.gz +0 -0
  1280. package/dist/interface/ha/Camview-xcvTOcqF.js +0 -1368
  1281. package/dist/interface/ha/Camview-xcvTOcqF.js.br +0 -0
  1282. package/dist/interface/ha/Camview-xcvTOcqF.js.gz +0 -0
  1283. package/dist/interface/ha/Config-jF9wgGSw.js +0 -354
  1284. package/dist/interface/ha/Config-jF9wgGSw.js.br +0 -0
  1285. package/dist/interface/ha/Config-jF9wgGSw.js.gz +0 -0
  1286. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js +0 -182
  1287. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js.br +0 -0
  1288. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js.gz +0 -0
  1289. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js +0 -152
  1290. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js.br +0 -0
  1291. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js.gz +0 -0
  1292. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js +0 -134
  1293. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js.br +0 -0
  1294. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js.gz +0 -0
  1295. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js +0 -170
  1296. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js.br +0 -0
  1297. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js.gz +0 -0
  1298. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js +0 -78
  1299. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js.br +0 -0
  1300. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js.gz +0 -0
  1301. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js +0 -198
  1302. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js.br +0 -0
  1303. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js.gz +0 -0
  1304. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js +0 -111
  1305. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js.br +0 -0
  1306. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js.gz +0 -0
  1307. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js +0 -98
  1308. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js.br +0 -0
  1309. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js.gz +0 -0
  1310. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js +0 -171
  1311. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js.br +0 -0
  1312. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js.gz +0 -0
  1313. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js +0 -138
  1314. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js.br +0 -0
  1315. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js.gz +0 -0
  1316. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js +0 -45
  1317. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js.br +0 -0
  1318. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js.gz +0 -0
  1319. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js +0 -88
  1320. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js.br +0 -0
  1321. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js.gz +0 -0
  1322. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js +0 -124
  1323. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js.br +0 -0
  1324. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js.gz +0 -0
  1325. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js +0 -190
  1326. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js.br +0 -0
  1327. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js.gz +0 -0
  1328. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js +0 -128
  1329. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js.br +0 -0
  1330. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js.gz +0 -0
  1331. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js +0 -173
  1332. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js.br +0 -0
  1333. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js.gz +0 -0
  1334. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js +0 -241
  1335. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js.br +0 -0
  1336. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js.gz +0 -0
  1337. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js +0 -4836
  1338. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js.br +0 -0
  1339. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js.gz +0 -0
  1340. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js +0 -134
  1341. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js.br +0 -0
  1342. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js.gz +0 -0
  1343. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js +0 -73
  1344. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js.br +0 -0
  1345. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js.gz +0 -0
  1346. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js +0 -192
  1347. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js.br +0 -0
  1348. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js.gz +0 -0
  1349. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js +0 -94
  1350. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js.br +0 -0
  1351. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js.gz +0 -0
  1352. package/dist/interface/ha/Console-C6Ri8iD0.js +0 -347
  1353. package/dist/interface/ha/Console-C6Ri8iD0.js.br +0 -0
  1354. package/dist/interface/ha/Console-C6Ri8iD0.js.gz +0 -0
  1355. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js +0 -129
  1356. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js.br +0 -0
  1357. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js.gz +0 -0
  1358. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js +0 -270
  1359. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js.br +0 -0
  1360. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js.gz +0 -0
  1361. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js +0 -575
  1362. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js.br +0 -0
  1363. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js.gz +0 -0
  1364. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js +0 -120
  1365. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js.br +0 -0
  1366. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js.gz +0 -0
  1367. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js +0 -105
  1368. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js.br +0 -0
  1369. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js.gz +0 -0
  1370. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js +0 -6797
  1371. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js.br +0 -0
  1372. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js.gz +0 -0
  1373. package/dist/interface/ha/CuiConsole-ByfdStxK.js +0 -234
  1374. package/dist/interface/ha/CuiConsole-ByfdStxK.js.br +0 -0
  1375. package/dist/interface/ha/CuiConsole-ByfdStxK.js.gz +0 -0
  1376. package/dist/interface/ha/CuiDataTable-5jytjTVD.js +0 -8860
  1377. package/dist/interface/ha/CuiDataTable-5jytjTVD.js.br +0 -0
  1378. package/dist/interface/ha/CuiDataTable-5jytjTVD.js.gz +0 -0
  1379. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js +0 -89
  1380. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js.br +0 -0
  1381. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js.gz +0 -0
  1382. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js +0 -778
  1383. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js.br +0 -0
  1384. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js.gz +0 -0
  1385. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js +0 -74
  1386. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js.br +0 -0
  1387. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js.gz +0 -0
  1388. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js +0 -122
  1389. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js.br +0 -0
  1390. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js.gz +0 -0
  1391. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js +0 -86
  1392. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js.br +0 -0
  1393. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js.gz +0 -0
  1394. package/dist/interface/ha/CuiSchema-DSPhVzZi.js +0 -952
  1395. package/dist/interface/ha/CuiSchema-DSPhVzZi.js.br +0 -0
  1396. package/dist/interface/ha/CuiSchema-DSPhVzZi.js.gz +0 -0
  1397. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js +0 -141
  1398. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js.br +0 -0
  1399. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js.gz +0 -0
  1400. package/dist/interface/ha/Faces-BNCgRt68.js +0 -1659
  1401. package/dist/interface/ha/Faces-BNCgRt68.js.br +0 -0
  1402. package/dist/interface/ha/Faces-BNCgRt68.js.gz +0 -0
  1403. package/dist/interface/ha/FirstSteps-C2XCIyUP.js +0 -254
  1404. package/dist/interface/ha/FirstSteps-C2XCIyUP.js.br +0 -0
  1405. package/dist/interface/ha/FirstSteps-C2XCIyUP.js.gz +0 -0
  1406. package/dist/interface/ha/Floorplan-DH8-DWF3.js +0 -3707
  1407. package/dist/interface/ha/Floorplan-DH8-DWF3.js.br +0 -0
  1408. package/dist/interface/ha/Floorplan-DH8-DWF3.js.gz +0 -0
  1409. package/dist/interface/ha/Instances-B0Z8-Fol.js +0 -670
  1410. package/dist/interface/ha/Instances-B0Z8-Fol.js.br +0 -0
  1411. package/dist/interface/ha/Instances-B0Z8-Fol.js.gz +0 -0
  1412. package/dist/interface/ha/Logs-B_E04jv9.js +0 -417
  1413. package/dist/interface/ha/Logs-B_E04jv9.js.br +0 -0
  1414. package/dist/interface/ha/Logs-B_E04jv9.js.gz +0 -0
  1415. package/dist/interface/ha/Menu-DKKUWQ7V.js +0 -159
  1416. package/dist/interface/ha/Menu-DKKUWQ7V.js.br +0 -0
  1417. package/dist/interface/ha/Menu-DKKUWQ7V.js.gz +0 -0
  1418. package/dist/interface/ha/Metrics-BQ8WyVvm.js +0 -1497
  1419. package/dist/interface/ha/Metrics-BQ8WyVvm.js.br +0 -0
  1420. package/dist/interface/ha/Metrics-BQ8WyVvm.js.gz +0 -0
  1421. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js +0 -112
  1422. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js.br +0 -0
  1423. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js.gz +0 -0
  1424. package/dist/interface/ha/Plugin-COsjUMHj.js +0 -1756
  1425. package/dist/interface/ha/Plugin-COsjUMHj.js.br +0 -0
  1426. package/dist/interface/ha/Plugin-COsjUMHj.js.gz +0 -0
  1427. package/dist/interface/ha/PluginConsole-B6M3jW7r.js +0 -56
  1428. package/dist/interface/ha/PluginConsole-B6M3jW7r.js.br +0 -0
  1429. package/dist/interface/ha/PluginConsole-B6M3jW7r.js.gz +0 -0
  1430. package/dist/interface/ha/PluginDetail-De9PfWZC.js +0 -804
  1431. package/dist/interface/ha/PluginDetail-De9PfWZC.js.br +0 -0
  1432. package/dist/interface/ha/PluginDetail-De9PfWZC.js.gz +0 -0
  1433. package/dist/interface/ha/PluginSearch-CUF6uUYE.js +0 -462
  1434. package/dist/interface/ha/PluginSearch-CUF6uUYE.js.br +0 -0
  1435. package/dist/interface/ha/PluginSearch-CUF6uUYE.js.gz +0 -0
  1436. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js +0 -34
  1437. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js.br +0 -0
  1438. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js.gz +0 -0
  1439. package/dist/interface/ha/Plugins-DHQYHtEA.js +0 -697
  1440. package/dist/interface/ha/Plugins-DHQYHtEA.js.br +0 -0
  1441. package/dist/interface/ha/Plugins-DHQYHtEA.js.gz +0 -0
  1442. package/dist/interface/ha/Recordings-G328kjrH.js +0 -1928
  1443. package/dist/interface/ha/Recordings-G328kjrH.js.br +0 -0
  1444. package/dist/interface/ha/Recordings-G328kjrH.js.gz +0 -0
  1445. package/dist/interface/ha/SensorEdit-SDDkpHQA.js +0 -1466
  1446. package/dist/interface/ha/SensorEdit-SDDkpHQA.js.br +0 -0
  1447. package/dist/interface/ha/SensorEdit-SDDkpHQA.js.gz +0 -0
  1448. package/dist/interface/ha/SensorHistory-By03PPM6.js +0 -54
  1449. package/dist/interface/ha/SensorHistory-By03PPM6.js.br +0 -0
  1450. package/dist/interface/ha/SensorHistory-By03PPM6.js.gz +0 -0
  1451. package/dist/interface/ha/Sensors-DS0GAhPM.js +0 -1544
  1452. package/dist/interface/ha/Sensors-DS0GAhPM.js.br +0 -0
  1453. package/dist/interface/ha/Sensors-DS0GAhPM.js.gz +0 -0
  1454. package/dist/interface/ha/Settings-mg5tgsvw.js +0 -218
  1455. package/dist/interface/ha/Settings-mg5tgsvw.js.br +0 -0
  1456. package/dist/interface/ha/Settings-mg5tgsvw.js.gz +0 -0
  1457. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js +0 -968
  1458. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js.br +0 -0
  1459. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js.gz +0 -0
  1460. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js +0 -201
  1461. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js.br +0 -0
  1462. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js.gz +0 -0
  1463. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js +0 -2134
  1464. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js.br +0 -0
  1465. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js.gz +0 -0
  1466. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js +0 -1047
  1467. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js.br +0 -0
  1468. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js.gz +0 -0
  1469. package/dist/interface/ha/SettingsList-ChZGnuoZ.js +0 -40
  1470. package/dist/interface/ha/SettingsList-ChZGnuoZ.js.br +0 -0
  1471. package/dist/interface/ha/SettingsList-ChZGnuoZ.js.gz +0 -0
  1472. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js +0 -512
  1473. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js.br +0 -0
  1474. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js.gz +0 -0
  1475. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js +0 -514
  1476. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js.br +0 -0
  1477. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js.gz +0 -0
  1478. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js +0 -152
  1479. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js.br +0 -0
  1480. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js.gz +0 -0
  1481. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js +0 -1523
  1482. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js.br +0 -0
  1483. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js.gz +0 -0
  1484. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js +0 -382
  1485. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js.br +0 -0
  1486. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js.gz +0 -0
  1487. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js +0 -370
  1488. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js.br +0 -0
  1489. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js.gz +0 -0
  1490. package/dist/interface/ha/Terminal-C5vuvShu.js +0 -611
  1491. package/dist/interface/ha/Terminal-C5vuvShu.js.br +0 -0
  1492. package/dist/interface/ha/Terminal-C5vuvShu.js.gz +0 -0
  1493. package/dist/interface/ha/Training-B3_UGO_E.js +0 -1829
  1494. package/dist/interface/ha/Training-B3_UGO_E.js.br +0 -0
  1495. package/dist/interface/ha/Training-B3_UGO_E.js.gz +0 -0
  1496. package/dist/interface/ha/Updates-BoUrLXO0.js +0 -357
  1497. package/dist/interface/ha/Updates-BoUrLXO0.js.br +0 -0
  1498. package/dist/interface/ha/Updates-BoUrLXO0.js.gz +0 -0
  1499. package/dist/interface/ha/VariableInput-BDAGOmFx.js +0 -52
  1500. package/dist/interface/ha/VariableInput-BDAGOmFx.js.br +0 -0
  1501. package/dist/interface/ha/VariableInput-BDAGOmFx.js.gz +0 -0
  1502. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js +0 -221
  1503. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js.br +0 -0
  1504. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js.gz +0 -0
  1505. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js +0 -102
  1506. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js.br +0 -0
  1507. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js.gz +0 -0
  1508. package/dist/interface/ha/Workers-CgLLF5rS.js +0 -1270
  1509. package/dist/interface/ha/Workers-CgLLF5rS.js.br +0 -0
  1510. package/dist/interface/ha/Workers-CgLLF5rS.js.gz +0 -0
  1511. package/dist/interface/ha/api-CXtQYIt7.js +0 -69474
  1512. package/dist/interface/ha/api-CXtQYIt7.js.br +0 -0
  1513. package/dist/interface/ha/api-CXtQYIt7.js.gz +0 -0
  1514. package/dist/interface/ha/api-epUujIGc.js +0 -29
  1515. package/dist/interface/ha/api-epUujIGc.js.br +0 -0
  1516. package/dist/interface/ha/api-epUujIGc.js.gz +0 -0
  1517. package/dist/interface/ha/assistant-xIw8SyXK.js +0 -349
  1518. package/dist/interface/ha/assistant-xIw8SyXK.js.br +0 -0
  1519. package/dist/interface/ha/assistant-xIw8SyXK.js.gz +0 -0
  1520. package/dist/interface/ha/auth-B94BQdRh.js +0 -271
  1521. package/dist/interface/ha/auth-B94BQdRh.js.br +0 -0
  1522. package/dist/interface/ha/auth-B94BQdRh.js.gz +0 -0
  1523. package/dist/interface/ha/automationBlueprint-BL30KWhS.js +0 -250
  1524. package/dist/interface/ha/automationBlueprint-BL30KWhS.js.br +0 -0
  1525. package/dist/interface/ha/automationBlueprint-BL30KWhS.js.gz +0 -0
  1526. package/dist/interface/ha/cards-Bcz7ceYM.js +0 -13318
  1527. package/dist/interface/ha/cards-Bcz7ceYM.js.br +0 -0
  1528. package/dist/interface/ha/cards-Bcz7ceYM.js.gz +0 -0
  1529. package/dist/interface/ha/config-BMvXk551.js +0 -116
  1530. package/dist/interface/ha/config-BMvXk551.js.br +0 -0
  1531. package/dist/interface/ha/config-BMvXk551.js.gz +0 -0
  1532. package/dist/interface/ha/dist-DTq7_9I6.js +0 -4434
  1533. package/dist/interface/ha/dist-DTq7_9I6.js.br +0 -0
  1534. package/dist/interface/ha/dist-DTq7_9I6.js.gz +0 -0
  1535. package/dist/interface/ha/mqtt-C5x_sjJt.js +0 -56
  1536. package/dist/interface/ha/mqtt-C5x_sjJt.js.br +0 -0
  1537. package/dist/interface/ha/mqtt-C5x_sjJt.js.gz +0 -0
  1538. package/dist/interface/ha/notifications-DNM4HkuB.js +0 -159
  1539. package/dist/interface/ha/notifications-DNM4HkuB.js.br +0 -0
  1540. package/dist/interface/ha/notifications-DNM4HkuB.js.gz +0 -0
  1541. package/dist/interface/ha/plugins-DErZqBrd.js +0 -592
  1542. package/dist/interface/ha/plugins-DErZqBrd.js.br +0 -0
  1543. package/dist/interface/ha/plugins-DErZqBrd.js.gz +0 -0
  1544. package/dist/interface/ha/rooms-Dbs8Sxbv.js +0 -45
  1545. package/dist/interface/ha/rooms-Dbs8Sxbv.js.br +0 -0
  1546. package/dist/interface/ha/rooms-Dbs8Sxbv.js.gz +0 -0
  1547. package/dist/interface/ha/server-BZNvy7IL.js +0 -244
  1548. package/dist/interface/ha/server-BZNvy7IL.js.br +0 -0
  1549. package/dist/interface/ha/server-BZNvy7IL.js.gz +0 -0
  1550. package/dist/interface/ha/speeddial-CoFpZwx8.js +0 -941
  1551. package/dist/interface/ha/speeddial-CoFpZwx8.js.br +0 -0
  1552. package/dist/interface/ha/speeddial-CoFpZwx8.js.gz +0 -0
  1553. package/dist/interface/ha/types-NKw1LIVA.js +0 -1073
  1554. package/dist/interface/ha/types-NKw1LIVA.js.br +0 -0
  1555. package/dist/interface/ha/types-NKw1LIVA.js.gz +0 -0
  1556. package/dist/interface/ha/updates-GGAKhvzf.js +0 -414
  1557. package/dist/interface/ha/updates-GGAKhvzf.js.br +0 -0
  1558. package/dist/interface/ha/updates-GGAKhvzf.js.gz +0 -0
  1559. package/dist/interface/ha/useAppVersion-CXhHejw4.js +0 -22
  1560. package/dist/interface/ha/useAppVersion-CXhHejw4.js.br +0 -0
  1561. package/dist/interface/ha/useAppVersion-CXhHejw4.js.gz +0 -0
  1562. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js +0 -27
  1563. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js.br +0 -0
  1564. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js.gz +0 -0
  1565. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js +0 -74
  1566. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js.br +0 -0
  1567. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js.gz +0 -0
  1568. package/dist/interface/ha/useNavLayout-CJPY_t5I.js +0 -125
  1569. package/dist/interface/ha/useNavLayout-CJPY_t5I.js.br +0 -0
  1570. package/dist/interface/ha/useNavLayout-CJPY_t5I.js.gz +0 -0
  1571. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js +0 -49
  1572. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js.br +0 -0
  1573. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js.gz +0 -0
  1574. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js +0 -45
  1575. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js.br +0 -0
  1576. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js.gz +0 -0
  1577. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js +0 -22
  1578. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js.br +0 -0
  1579. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js.gz +0 -0
  1580. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js +0 -34
  1581. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js.br +0 -0
  1582. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js.gz +0 -0
  1583. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js +0 -15
  1584. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js.br +0 -0
  1585. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js.gz +0 -0
@@ -0,0 +1,4477 @@
1
+ import { Ct as e, D as t, I as n, St as r, Tt as i, bt as a, ft as o, kt as s, l as c, ot as l, vt as u, xt as d } from "./runtime-core.esm-bundler-CrWKbcD2.js";
2
+ import { B as f, K as p, N as m, t as h } from "./protocol-BB4jdtUC-CGK3LRf3.js";
3
+ import { D as g } from "./dist-euRmladF.js";
4
+ //#region node_modules/@camera.ui/transport/dist/closeCodes-CltSRjdJ.js
5
+ function _(e) {
6
+ if (e === "insufficient_role" || e === "user_not_found") return "forbidden";
7
+ if (e === "invalid_token" || e === "unauthenticated" || e.startsWith("credentials_")) return "auth-expired";
8
+ }
9
+ function v(e) {
10
+ let t = typeof e == "string" ? void 0 : e, n = t?.wsCloseCode ?? t?.code;
11
+ if (n === 4401) return "auth-expired";
12
+ if (n === 4403 || n === 4400) return "forbidden";
13
+ let r = typeof t?.data == "object" && t.data !== null ? t.data.code : void 0, i = typeof r == "string" ? _(r) : void 0;
14
+ if (i) return i;
15
+ let a = (typeof e == "string" ? e : t?.reason ?? t?.message ?? "").toLowerCase();
16
+ return a ? a.includes("forbidden") || a.includes("403") ? "forbidden" : a.includes("unauthorized") || a.includes("unauthenticated") || a.includes("401") ? "auth-expired" : "other" : "other";
17
+ }
18
+ function y(e) {
19
+ if (typeof e != "object" || !e) return !1;
20
+ let { wsCloseCode: t, code: n, data: r } = e;
21
+ return v({
22
+ wsCloseCode: t,
23
+ code: n,
24
+ data: r
25
+ }) === "forbidden";
26
+ }
27
+ //#endregion
28
+ //#region node_modules/@camera.ui/rpc/dist/errors.js
29
+ var b = Symbol("rpc.localNoResponders"), x = class e extends Error {
30
+ code;
31
+ data;
32
+ constructor(e, t, n) {
33
+ super(t), this.name = "RPCException", this.code = e, this.data = n;
34
+ }
35
+ static fromJSON(t) {
36
+ return new e(t.code, t.message, t.data);
37
+ }
38
+ toJSON() {
39
+ return {
40
+ code: this.code,
41
+ message: this.message,
42
+ data: this.data
43
+ };
44
+ }
45
+ };
46
+ function S(e, t, n) {
47
+ return new x(e, t, n);
48
+ }
49
+ function C(e, t) {
50
+ return Object.defineProperty(e, b, { value: t }), e;
51
+ }
52
+ function w(e) {
53
+ if (typeof e != "object" || !e) return;
54
+ let t = e[b];
55
+ return typeof t == "string" ? t : void 0;
56
+ }
57
+ function T(e) {
58
+ if (!e || typeof e != "object") return !1;
59
+ if (e.name === "NoRespondersError") return !0;
60
+ let t = e.message;
61
+ return typeof t == "string" && t.includes("no responders");
62
+ }
63
+ //#endregion
64
+ //#region node_modules/@camera.ui/browser/dist/index.js
65
+ function E(e = {}) {
66
+ let { releaseDelay: t = 1e3, onRelease: n } = e, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
67
+ function a(e) {
68
+ let t = i.get(e);
69
+ t && (clearTimeout(t), i.delete(e));
70
+ }
71
+ function o(e) {
72
+ let t = r.get(e);
73
+ if (t) {
74
+ try {
75
+ n?.(e, t.value);
76
+ } catch {}
77
+ r.delete(e);
78
+ }
79
+ i.delete(e);
80
+ }
81
+ function s(e, t) {
82
+ a(e);
83
+ let n = r.get(e);
84
+ if (n) return n.refCount++, n.value;
85
+ let i = t();
86
+ return r.set(e, {
87
+ value: i,
88
+ refCount: 1
89
+ }), i;
90
+ }
91
+ function c(e, n) {
92
+ let a = r.get(e);
93
+ if (!(!a || a.refCount <= 0) && (n === void 0 || a.value === n) && (a.refCount--, a.refCount === 0)) {
94
+ let n = setTimeout(() => {
95
+ let t = r.get(e);
96
+ t && t.refCount <= 0 ? o(e) : i.delete(e);
97
+ }, t);
98
+ i.set(e, n);
99
+ }
100
+ }
101
+ function l(e) {
102
+ return r.get(e)?.value;
103
+ }
104
+ function u(e) {
105
+ return r.has(e);
106
+ }
107
+ function d(e) {
108
+ a(e), o(e);
109
+ }
110
+ function f() {
111
+ for (let e of i.keys()) a(e);
112
+ for (let e of r.keys()) o(e);
113
+ }
114
+ function p(e) {
115
+ return r.get(e)?.refCount ?? 0;
116
+ }
117
+ function m(e) {
118
+ for (let [t, n] of r) e(n.value, t);
119
+ }
120
+ return {
121
+ acquire: s,
122
+ release: c,
123
+ get: l,
124
+ has: u,
125
+ forceRelease: d,
126
+ clear: f,
127
+ getRefCount: p,
128
+ forEachValue: m
129
+ };
130
+ }
131
+ var D = 1e3, O = 3e4;
132
+ function k() {
133
+ let e, t = D;
134
+ function n(n) {
135
+ e || (e = setTimeout(() => {
136
+ e = void 0, n();
137
+ }, t), t = Math.min(t * 2, O));
138
+ }
139
+ function r() {
140
+ clearTimeout(e), e = void 0;
141
+ }
142
+ function i() {
143
+ t = D;
144
+ }
145
+ return {
146
+ schedule: n,
147
+ cancel: r,
148
+ reset: i
149
+ };
150
+ }
151
+ function A() {
152
+ let e = t(Cr);
153
+ if (!e) throw Error("[camera.ui] useCameraUi() called without CameraUiPlugin installed. Make sure to call app.use(createCameraUiPlugin({ ... })) before using this composable.");
154
+ return e;
155
+ }
156
+ function j(e) {
157
+ return e.replace(/ /g, "_").toLowerCase();
158
+ }
159
+ function M(e, t) {
160
+ return `cui_${j(e)}_${j(t)}`;
161
+ }
162
+ var N = class {
163
+ static coreManagerNamespaces() {
164
+ return {
165
+ coreManagerSubject: "coreManager.subscriber",
166
+ coreManagerRpc: "coreManager.rpc"
167
+ };
168
+ }
169
+ static deviceManagerNamespaces() {
170
+ return {
171
+ deviceManagerSubject: "deviceManager.subscriber",
172
+ deviceManagerRpc: "deviceManager.rpc"
173
+ };
174
+ }
175
+ static sensorDiscoveryNamespaces() {
176
+ return { sensorDiscoverySubject: "sensorDiscovery.subscriber" };
177
+ }
178
+ static discoveryManagerNamespaces() {
179
+ return {
180
+ discoveryManagerSubject: "discoveryManager.subscriber",
181
+ discoveryManagerRpc: "discoveryManager.rpc"
182
+ };
183
+ }
184
+ static pluginNamespaces(e) {
185
+ return {
186
+ pluginDeviceManagerSubject: `plugin.${e}.deviceManager.subscriber`,
187
+ pluginChildRpc: `plugin.${e}.child.rpc`,
188
+ pluginChild: `plugin.${e}.child`,
189
+ pluginStorageRpc: `plugin.${e}.storage.rpc`,
190
+ pluginConfigStoreRpc: `plugin.${e}.configstore.rpc`
191
+ };
192
+ }
193
+ static pluginFileServeRpc(e) {
194
+ return `plugin.${e}.fileserve.rpc`;
195
+ }
196
+ static cameraNamespaces(e) {
197
+ return {
198
+ cameraSubject: `camera.${e}.subscriber`,
199
+ cameraStateSubject: `camera.${e}.state`,
200
+ cameraControllerRpc: `camera.${e}.controller.rpc`
201
+ };
202
+ }
203
+ static frameWorkerNamespaces(e) {
204
+ return {
205
+ frameWorkerChildRpc: `camera.${e}.frameWorker.child.rpc`,
206
+ frameWorkerChild: `camera.${e}.frameWorker.child`
207
+ };
208
+ }
209
+ static pluginCameraNamespaces(e, t) {
210
+ return {
211
+ cameraInterfacesRpc: `plugin.${e}.camera.${t}.cameraInterfaces.rpc`,
212
+ cameraStorageRpc: `plugin.${e}.camera.${t}.cameraStorage.rpc`,
213
+ cameraImplRpc: `plugin.${e}.camera.${t}.impl.rpc`
214
+ };
215
+ }
216
+ static pluginSensorNamespaces(e, t) {
217
+ return { sensorStorageRpc: `plugin.${e}.sensor.${t}.storage.rpc` };
218
+ }
219
+ static sensorRegistryNamespaces() {
220
+ return {
221
+ sensorsSubject: "sensors.subject",
222
+ sensorsRpc: "sensors.rpc"
223
+ };
224
+ }
225
+ static sensorCameraViewNamespaces(e) {
226
+ return { sensorWriteSubject: `camera.${e}.sensors.writes` };
227
+ }
228
+ static sensorEventNamespaces(e) {
229
+ return {
230
+ sensorSubject: `sensor.${e}.subject`,
231
+ sensorStateSubject: `sensor.${e}.state`
232
+ };
233
+ }
234
+ static sensorProviderNamespaces(e, t) {
235
+ return { sensorRpc: `plugin.${e}.sensor.${t}.rpc` };
236
+ }
237
+ static frameWorkerDetectionNamespaces(e) {
238
+ return { detectionRpc: `camera.${e}.frameWorker.detection.rpc` };
239
+ }
240
+ static detectionEventNamespaces(e) {
241
+ return { detectionEventSubject: `camera.${e}.events.subject` };
242
+ }
243
+ static terminalManagerNamespaces() {
244
+ return {
245
+ terminalManagerSubject: "terminalManager.subscriber",
246
+ terminalManagerRpc: "terminalManager.rpc"
247
+ };
248
+ }
249
+ static downloadManagerNamespaces() {
250
+ return { downloadManagerRpc: "downloadManager.rpc" };
251
+ }
252
+ static notificationManagerNamespaces() {
253
+ return { notificationsPublishSubject: "notifications.publish" };
254
+ }
255
+ static workerAgentRpc(e) {
256
+ return `worker.${e}.rpc`;
257
+ }
258
+ static workerManagerRpc(e) {
259
+ return `workers.${e}.manager.rpc`;
260
+ }
261
+ static sharedWorkerManagerRpc() {
262
+ return "workers.manager.rpc";
263
+ }
264
+ static workerSync(e) {
265
+ return `worker.${e}.sync`;
266
+ }
267
+ static workerLinkSubject(e) {
268
+ return `worker.${e}.link`;
269
+ }
270
+ static workerDisconnect(e) {
271
+ return `workers.${e}.disconnect`;
272
+ }
273
+ static sharedWorkerDisconnect() {
274
+ return "workers.disconnect";
275
+ }
276
+ static workerLogs(e) {
277
+ return `workers.${e}.logs`;
278
+ }
279
+ static sharedWorkerLogs() {
280
+ return "workers.logs";
281
+ }
282
+ }, ee = 3, P = 3e4, F = 3e4, I = /* @__PURE__ */ new Set(["Not connected", "rpc: not connected"]), te = /* @__PURE__ */ new WeakMap();
283
+ function L(e) {
284
+ te.set(e, Date.now());
285
+ }
286
+ function ne(e) {
287
+ return Date.now() - (te.get(e) ?? -Infinity) < F;
288
+ }
289
+ function re(e) {
290
+ return e instanceof Error && e.code === void 0 && e.name === "NoResponders";
291
+ }
292
+ async function R(e, t, n = {}) {
293
+ let r = n.maxRetries ?? ee, i = n.awaitConnect ?? !0, a = n.connectTimeoutMs ?? P, o = n.retryDelayMs ?? z, s = n.shouldRetry, c = n.retryOnTimeout ?? !1, l = n.signal, u = 0, d = B(e, () => u++, { flush: "sync" }), f;
294
+ try {
295
+ for (let n = 0; n <= r; n++) {
296
+ if (l?.aborted) throw H();
297
+ let d = e.value;
298
+ if (!d) {
299
+ if (!i) throw Error("rpc: not connected");
300
+ d = await ae(e, a, l);
301
+ }
302
+ let p = u;
303
+ try {
304
+ return await t(d);
305
+ } catch (t) {
306
+ if (f = t, n >= r || !(s ? s(t, n) : ie(t, d, e, u !== p, c))) throw t;
307
+ await V(o(n), l);
308
+ }
309
+ }
310
+ } finally {
311
+ d();
312
+ }
313
+ throw f ?? /* @__PURE__ */ Error("rpc: max retries exceeded");
314
+ }
315
+ function z(e) {
316
+ return Math.min(100 * 2 ** e, 1e3);
317
+ }
318
+ function ie(e, t, n, r, i) {
319
+ if (n.value !== t || t.isConnected === !1 && t.isClosed === !1) return !0;
320
+ if (!(e instanceof Error)) return !1;
321
+ let a = e.code;
322
+ return a === void 0 && I.has(e.message) || re(e) && ne(n) ? !0 : a === "TIMEOUT" && (i || r);
323
+ }
324
+ function B(e, t, n) {
325
+ let r = o(!0);
326
+ return r.run(() => l(e, t, n)), () => r.stop();
327
+ }
328
+ async function ae(e, t, n) {
329
+ return e.value ? e.value : new Promise((r, i) => {
330
+ let a = setTimeout(() => {
331
+ s(), n?.removeEventListener("abort", o), i(/* @__PURE__ */ Error("rpc: connect timeout"));
332
+ }, t), o = () => {
333
+ clearTimeout(a), s(), i(H());
334
+ };
335
+ n?.addEventListener("abort", o, { once: !0 });
336
+ let s = B(e, (e) => {
337
+ e && (clearTimeout(a), s(), n?.removeEventListener("abort", o), r(e));
338
+ });
339
+ });
340
+ }
341
+ async function V(e, t) {
342
+ return new Promise((n, r) => {
343
+ if (t?.aborted) {
344
+ r(H());
345
+ return;
346
+ }
347
+ let i = setTimeout(() => {
348
+ t?.removeEventListener("abort", a), n();
349
+ }, e), a = () => {
350
+ clearTimeout(i), r(H());
351
+ };
352
+ t?.addEventListener("abort", a, { once: !0 });
353
+ });
354
+ }
355
+ function H() {
356
+ if (typeof DOMException < "u") return new DOMException("Aborted", "AbortError");
357
+ let e = /* @__PURE__ */ Error("Aborted");
358
+ return e.name = "AbortError", e;
359
+ }
360
+ var oe = 2e3, se = 6e4, ce = /* @__PURE__ */ new WeakMap(), le = /* @__PURE__ */ new WeakMap();
361
+ function ue(e) {
362
+ let t = e?.value;
363
+ if (!e || !t) return;
364
+ let n = ce.get(e);
365
+ if (!n || n.client !== t) return t;
366
+ performance.now() - n.since >= se && !le.has(t) && he(e, n);
367
+ }
368
+ function de(e, t) {
369
+ if (e.value !== t || ce.has(e)) return;
370
+ let n = B(e, () => ge(e), { flush: "sync" });
371
+ ce.set(e, {
372
+ client: t,
373
+ since: performance.now(),
374
+ stop: n
375
+ });
376
+ }
377
+ function fe(e, t) {
378
+ e.value !== t || ce.has(e) || pe(t).then((n) => {
379
+ n || de(e, t);
380
+ });
381
+ }
382
+ function pe(e) {
383
+ let t = le.get(e);
384
+ return t || (t = me(e), le.set(e, t), t.then(() => le.delete(e))), t;
385
+ }
386
+ async function me(e) {
387
+ try {
388
+ return await e.flush(oe), !0;
389
+ } catch {
390
+ return !1;
391
+ }
392
+ }
393
+ function he(e, t) {
394
+ pe(t.client).then((n) => {
395
+ ce.get(e) === t && (n ? ge(e) : t.since = performance.now());
396
+ });
397
+ }
398
+ function ge(e) {
399
+ ce.get(e)?.stop(), ce.delete(e);
400
+ }
401
+ var _e = 3e4, U = new h("TabVisibility"), W = r(typeof document > "u" || document.visibilityState === "visible"), ve = null, ye = /* @__PURE__ */ new Set(), be = /* @__PURE__ */ new Set(), xe = /* @__PURE__ */ new Set(), G = !1;
402
+ function Se(e) {
403
+ U.debug(`paused listener fired (delay ${e.delayMs}ms reached)`);
404
+ try {
405
+ e.cb();
406
+ } catch (e) {
407
+ U.error("onTabPaused listener threw:", e);
408
+ }
409
+ }
410
+ function Ce(e) {
411
+ U.debug(`paused listener scheduled in ${e.delayMs}ms`), e.timer = setTimeout(() => {
412
+ e.timer = null, W.value ? U.debug("paused listener skipped — tab visible before delay") : Se(e);
413
+ }, e.delayMs);
414
+ }
415
+ function we() {
416
+ for (let e of be) e.timer !== null && (clearTimeout(e.timer), e.timer = null);
417
+ }
418
+ function K() {
419
+ G || typeof document > "u" || (G = !0, document.addEventListener("visibilitychange", () => {
420
+ let e = document.visibilityState === "visible";
421
+ if (!e && W.value) {
422
+ W.value = !1, ve = Date.now(), U.debug(`tab → hidden (hidden=${ye.size} paused=${be.size})`);
423
+ for (let e of ye) try {
424
+ e.cb();
425
+ } catch (e) {
426
+ U.error("onTabHidden listener threw:", e);
427
+ }
428
+ for (let e of be) e.delayMs <= 0 ? Se(e) : Ce(e);
429
+ } else if (e && !W.value) {
430
+ we();
431
+ let e = ve == null ? 0 : Date.now() - ve;
432
+ ve = null, W.value = !0, U.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${xe.size})`);
433
+ for (let { cb: t } of xe) try {
434
+ t({ hiddenMs: e });
435
+ } catch (e) {
436
+ U.error("onTabVisible listener threw:", e);
437
+ }
438
+ }
439
+ }), document.addEventListener("freeze", () => {
440
+ for (let e of be) e.timer !== null && (clearTimeout(e.timer), e.timer = null, Se(e));
441
+ }));
442
+ }
443
+ function Te() {
444
+ K();
445
+ let e = c(() => W.value);
446
+ function t(e) {
447
+ let t = { cb: e };
448
+ ye.add(t);
449
+ let n = () => {
450
+ ye.delete(t);
451
+ };
452
+ return m(n), n;
453
+ }
454
+ function n(e, t = {}) {
455
+ let n = {
456
+ cb: e,
457
+ delayMs: t.delayMs ?? 3e4,
458
+ timer: null
459
+ };
460
+ be.add(n);
461
+ let r = () => {
462
+ n.timer !== null && (clearTimeout(n.timer), n.timer = null), be.delete(n);
463
+ };
464
+ return m(r), r;
465
+ }
466
+ function r(e) {
467
+ let t = { cb: e };
468
+ xe.add(t);
469
+ let n = () => {
470
+ xe.delete(t);
471
+ };
472
+ return m(n), n;
473
+ }
474
+ return {
475
+ isVisible: e,
476
+ onTabHidden: t,
477
+ onTabPaused: n,
478
+ onTabVisible: r
479
+ };
480
+ }
481
+ var Ee = 5e3, De = 6e4, Oe = 500, q = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map(), Ae = /* @__PURE__ */ new Map(), je = /* @__PURE__ */ new Map(), Me = /* @__PURE__ */ new Map(), J = /* @__PURE__ */ new Map(), Ne = /* @__PURE__ */ new Map(), Pe = a(/* @__PURE__ */ new Set()), Fe = /* @__PURE__ */ new Map(), Ie = /* @__PURE__ */ new Map(), Le = 0;
482
+ function Re(e) {
483
+ J.get(e)?.forEach((e) => e());
484
+ }
485
+ function ze(e, t, n = !1) {
486
+ let r = Ne.get(t);
487
+ if (r) return r;
488
+ let i = (async () => {
489
+ let r = await yt(e, t);
490
+ try {
491
+ return r ? await r.fetchSnapshot(void 0, n ? !0 : void 0) ?? void 0 : void 0;
492
+ } finally {
493
+ r && xt(r);
494
+ }
495
+ })().finally(() => {
496
+ Ne.get(t) === i && Ne.delete(t);
497
+ });
498
+ return Ne.set(t, i), i;
499
+ }
500
+ var Be = /* @__PURE__ */ new WeakSet();
501
+ function Ve(e, t) {
502
+ Be.has(e) || (Be.add(e), e.on("reconnected", () => {
503
+ Ne.clear(), setTimeout(() => {
504
+ let e = 0;
505
+ for (let n of J.keys()) {
506
+ if ((J.get(n)?.size ?? 0) === 0) continue;
507
+ let r = n;
508
+ setTimeout(() => {
509
+ (J.get(r)?.size ?? 0) !== 0 && ze(t, r).catch(() => void 0);
510
+ }, e), e += 150;
511
+ }
512
+ }, 0);
513
+ }));
514
+ }
515
+ function He(e, t) {
516
+ if (!e || e.mode === "onDemand") return !1;
517
+ if (t === void 0) return !0;
518
+ let n = (e.mode === "interval" ? e.interval : e.maxAge) * 1e3;
519
+ return Date.now() - t > n;
520
+ }
521
+ function Ue(e) {
522
+ setTimeout(() => URL.revokeObjectURL(e), Ee);
523
+ }
524
+ function We(e, t = !1) {
525
+ clearTimeout(Fe.get(e)), Fe.delete(e), t && Ie.set(e, (Ie.get(e) ?? 0) + 1), Pe.add(e);
526
+ }
527
+ function Ge(e, t = !1) {
528
+ let n = (Ie.get(e) ?? 0) - +!!t;
529
+ if (n > 0) {
530
+ Ie.set(e, n);
531
+ return;
532
+ }
533
+ Ie.delete(e), clearTimeout(Fe.get(e));
534
+ let r = setTimeout(() => {
535
+ Fe.delete(e), Pe.delete(e);
536
+ }, Oe);
537
+ Fe.set(e, r);
538
+ }
539
+ function Ke(e, t) {
540
+ Le = e - t;
541
+ }
542
+ function qe(e) {
543
+ return e === void 0 ? void 0 : e + Le;
544
+ }
545
+ function Je(e, t, n) {
546
+ let r = je.get(e);
547
+ if (n && r) {
548
+ let e = r.fetchedAt - n.fetchedAt;
549
+ return e > 0 && e <= De;
550
+ }
551
+ return t !== void 0 && t < (Ae.get(e) ?? -Infinity);
552
+ }
553
+ function Ye(e, t, n, r, i) {
554
+ if (!Je(e, r, i)) {
555
+ if (Ae.set(e, r ?? Date.now()), i ? je.set(e, i) : je.delete(e), q.get(e) !== t) {
556
+ let n = Me.get(e);
557
+ n && (Ue(n), Me.delete(e)), q.set(e, t), We(e), Ge(e);
558
+ }
559
+ n !== void 0 && ke.set(e, n), Re(e);
560
+ }
561
+ }
562
+ function Xe(e) {
563
+ return q.get(e);
564
+ }
565
+ function Ze(e, t) {
566
+ let n = je.get(e);
567
+ return n?.sourceId === t ? n.fetchedAt : void 0;
568
+ }
569
+ function Qe(e, t) {
570
+ return J.has(e) || J.set(e, /* @__PURE__ */ new Set()), J.get(e).add(t), () => {
571
+ J.get(e)?.delete(t);
572
+ };
573
+ }
574
+ function $e(e) {
575
+ let t = q.get(e);
576
+ if (!t) return;
577
+ let n = Me.get(e);
578
+ return n || (n = URL.createObjectURL(new Blob([t], { type: "image/jpeg" })), Me.set(e, n)), n;
579
+ }
580
+ function et() {
581
+ for (let e of Me.values()) URL.revokeObjectURL(e);
582
+ for (let e of Fe.values()) clearTimeout(e);
583
+ Me.clear(), q.clear(), ke.clear(), Ae.clear(), je.clear(), Fe.clear(), Ie.clear(), Pe.clear(), Le = 0;
584
+ }
585
+ function tt(e) {
586
+ let t = A(), { isConnected: n } = t, a = ut(), { isVisible: o, onTabVisible: u } = Te(), d = i(), f = r(!1), p = r(!1);
587
+ Ve(t, a);
588
+ let h = c(() => {
589
+ if (!d.value) return;
590
+ let t = s(e);
591
+ return $e(typeof t == "string" ? t : t._id);
592
+ }), g = c(() => {
593
+ if (!d.value) return;
594
+ let t = s(e), n = typeof t == "string" ? t : t._id;
595
+ return ke.get(n);
596
+ });
597
+ function _(e) {
598
+ J.has(e) || J.set(e, /* @__PURE__ */ new Set());
599
+ let t = () => {
600
+ d.value = q.get(e), N(e);
601
+ };
602
+ return J.get(e).add(t), () => {
603
+ J.get(e)?.delete(t);
604
+ };
605
+ }
606
+ let v, y, b, x, S, C = k(), w = !1;
607
+ function T() {
608
+ let t = s(e);
609
+ return typeof t == "string" ? t : t._id;
610
+ }
611
+ async function E(e) {
612
+ if (y !== e && x !== e) {
613
+ x = e;
614
+ try {
615
+ let t = await yt(a, e);
616
+ if (!t) return;
617
+ if (w || T() !== e || y === e) {
618
+ xt(t);
619
+ return;
620
+ }
621
+ j(), y = e, b = t, O(), N(e);
622
+ } catch {
623
+ T() === e && D(e);
624
+ } finally {
625
+ x = void 0;
626
+ }
627
+ }
628
+ }
629
+ function D(t) {
630
+ w || C.schedule(() => {
631
+ n.value && T() === t && !I(s(e)) && E(t).then(() => {
632
+ if (y === t) return F(t);
633
+ });
634
+ });
635
+ }
636
+ function O() {
637
+ C.cancel(), C.reset();
638
+ }
639
+ function j() {
640
+ clearTimeout(S), y && (b && xt(b), y = void 0, b = void 0);
641
+ }
642
+ function M(e) {
643
+ n.value && b && y === e && He(b.camera.value.snapshotSettings, ke.get(e)) && ze(a, e).catch(() => void 0);
644
+ }
645
+ function N(e) {
646
+ clearTimeout(S);
647
+ let t = b?.camera.value.snapshotSettings;
648
+ if (y !== e || t?.mode !== "onView") return;
649
+ let n = t.maxAge * 1e3, r = (ke.get(e) ?? 0) + n - Date.now();
650
+ S = setTimeout(() => {
651
+ ee(e);
652
+ }, r > 0 ? r : n);
653
+ }
654
+ async function ee(e) {
655
+ o.value && n.value && await ze(a, e).catch(() => void 0), N(e);
656
+ }
657
+ function P(e) {
658
+ let t = q.get(e);
659
+ return t ? (d.value = t, p.value = !0, !0) : !1;
660
+ }
661
+ async function F(e, t = !1) {
662
+ if (n.value && e) {
663
+ if (!t && P(e)) M(e);
664
+ else {
665
+ f.value = !0;
666
+ try {
667
+ let t = await ze(a, e);
668
+ t && (d.value = q.get(e) ?? t);
669
+ } catch {} finally {
670
+ f.value = !1, p.value = !0;
671
+ }
672
+ }
673
+ }
674
+ }
675
+ function I(e) {
676
+ return typeof e == "object" && e?.disabled === !0;
677
+ }
678
+ async function te() {
679
+ let t = s(e), r = typeof t == "string" ? t : t._id;
680
+ if (r && n.value && !I(t)) {
681
+ f.value = !0;
682
+ try {
683
+ let e = await ze(a, r, !0);
684
+ e && (d.value = q.get(r) ?? e);
685
+ } catch {} finally {
686
+ f.value = !1, p.value = !0;
687
+ }
688
+ }
689
+ }
690
+ return l([
691
+ n,
692
+ () => s(e),
693
+ () => I(s(e))
694
+ ], async ([e, t, n]) => {
695
+ O(), v?.(), v = void 0;
696
+ let r = typeof t == "string" ? t : t._id;
697
+ e && r && !n ? (typeof t == "object" && ht(t.name, r), v = _(r), P(r), await E(r), await F(r)) : r ? (j(), d.value = q.get(r), p.value = !0) : (j(), d.value = void 0);
698
+ }, { immediate: !0 }), u(() => M(T())), m(() => {
699
+ w = !0, O(), v?.(), j();
700
+ }), {
701
+ snapshot: d,
702
+ snapshotSrc: h,
703
+ snapshotTimestamp: g,
704
+ isLoading: c(() => f.value || !p.value),
705
+ isRefreshing: c(() => Pe.has(T())),
706
+ refresh: te
707
+ };
708
+ }
709
+ var nt = "not-modified", rt = 5e3, it = /* @__PURE__ */ new WeakMap(), at = /* @__PURE__ */ new WeakMap();
710
+ function ot(e, t) {
711
+ return e.stamp === void 0 || e.fetchedAt === void 0 ? e.fetchedAt : Date.now() - t > rt ? qe(e.stamp) : (Ke(e.fetchedAt, e.stamp), e.fetchedAt);
712
+ }
713
+ async function st(e, t) {
714
+ let n = N.cameraNamespaces(t._id), a = "rpc" in e && "value" in e.rpc ? e : void 0, o = a ? a.rpc : i(e), s = a?.bulkRpc, l, u, d = !1, f, p = !1, m = k(), h = 0, _ = 0, v, y, b = !1, x = i(t), S = r(!1), C = r(!1), w = i(Xe(t._id)), T = r(!1), E = r({}), D = Qe(t._id, () => {
715
+ w.value = Xe(t._id);
716
+ }), O = c(() => x.value.name), A = c(() => x.value.room), j = c(() => x.value.nativeId), M = c(() => x.value.disabled), ee = c(() => x.value.detectionSettings?.snooze ?? !1), P = c(() => x.value.isCloud), F = c(() => JSON.parse(JSON.stringify(x.value.sources)).map((e) => ({
717
+ ...e,
718
+ snapshot: async (t) => he(e._id, t),
719
+ probeStream: async (t, n = !1) => ve(e._id, t, n)
720
+ }))), I = c(() => F.value.find((e) => e.role === "high-resolution")), te = c(() => F.value.find((e) => e.role === "mid-resolution")), L = c(() => F.value.find((e) => e.role === "low-resolution")), z = c(() => I.value ?? te.value ?? L.value), ie = c(() => F.value.find((e) => e.role === "snapshot") ?? F.value.find((e) => e.useForSnapshot)), B = c(() => {
721
+ let e = /* @__PURE__ */ new Set();
722
+ for (let t of Object.values(E.value)) e.add(t.type);
723
+ return e;
724
+ }), ae = c(() => Array.from(B.value)), V = c(() => B.value.has(g.Light)), H = c(() => B.value.has(g.Siren)), oe = c(() => B.value.has(g.Doorbell)), se = c(() => B.value.has(g.Battery)), ce = c(() => B.value.has(g.Audio)), le = c(() => B.value.has(g.Motion)), fe = c(() => B.value.has(g.Object)), me = c(() => B.value.has(g.PTZ));
725
+ async function he(e, n) {
726
+ T.value = !0, We(t._id, n);
727
+ let r = Date.now();
728
+ try {
729
+ let i = await ge(e, n);
730
+ if (i === nt) return Xe(t._id);
731
+ if (i && i.data.byteLength > 0) {
732
+ let n = i.stamp === void 0 ? void 0 : {
733
+ sourceId: e,
734
+ fetchedAt: i.stamp
735
+ }, a = ot(i, r);
736
+ return Ye(t._id, i.data, a, a ?? r, n), i.data;
737
+ }
738
+ return;
739
+ } finally {
740
+ T.value = !1, Ge(t._id, n);
741
+ }
742
+ }
743
+ async function ge(e, t) {
744
+ let n, r = !1;
745
+ try {
746
+ return await R(o, async (i) => {
747
+ n = _e(i, r);
748
+ try {
749
+ return await U(n, e, t);
750
+ } catch (a) {
751
+ if (!s || n === i || a.code !== "TIMEOUT" || await pe(n)) throw a;
752
+ return r = !0, de(s, n), n = i, U(i, e, t);
753
+ }
754
+ }, { retryOnTimeout: !t });
755
+ } catch (i) {
756
+ if (i.code !== "TIMEOUT" || !n || it.has(n)) throw i;
757
+ return R(o, (n) => W(_e(n, r), e, t));
758
+ }
759
+ }
760
+ function _e(e, t = !1) {
761
+ return t ? e : ue(s) ?? e;
762
+ }
763
+ async function U(e, r, i) {
764
+ let a = it.get(e);
765
+ if (a === !1) return W(e, r, i);
766
+ try {
767
+ let a = e.createProxy(n.cameraControllerRpc), o = i ? void 0 : Ze(t._id, r), s = o === void 0 ? await a.snapshotWithMeta(r, i) : await a.snapshotWithMeta(r, i, o);
768
+ return it.set(e, !0), s?.notModified ? nt : s?.data ? {
769
+ data: s.data,
770
+ fetchedAt: Date.now() - (s.ageMs ?? 0),
771
+ stamp: s.fetchedAt
772
+ } : void 0;
773
+ } catch (t) {
774
+ if (t.code === "METHOD_NOT_FOUND") return it.set(e, !1), W(e, r, i);
775
+ if (a || !re(t)) throw t;
776
+ }
777
+ let s = await W(e, r, i);
778
+ return ne(o) || it.set(e, !1), s;
779
+ }
780
+ async function W(e, t, r) {
781
+ let i = await e.createProxy(n.cameraControllerRpc).snapshot(t, r);
782
+ return i ? {
783
+ data: i,
784
+ fetchedAt: r ? Date.now() : void 0
785
+ } : void 0;
786
+ }
787
+ async function ve(e, t, r = !1) {
788
+ return R(o, (i) => i.createProxy(n.cameraControllerRpc).probeStream(e, t, r), { retryOnTimeout: !r });
789
+ }
790
+ async function ye(e) {
791
+ return R(o, (t) => t.createProxy(n.cameraControllerRpc).streamUrl(e));
792
+ }
793
+ function be() {
794
+ return y = void 0, G();
795
+ }
796
+ function xe() {
797
+ if (y) return y;
798
+ if (!v) return G();
799
+ let e = h;
800
+ return y = v.catch(() => {}).then(() => h === e ? (y = void 0, G()) : v), y;
801
+ }
802
+ function G() {
803
+ let e = Se(++h).finally(() => {
804
+ v === e && (v = void 0);
805
+ });
806
+ return v = e, e;
807
+ }
808
+ async function Se(e) {
809
+ let t = await R(o, (e) => e.createProxy(n.cameraControllerRpc).refreshStates());
810
+ e < _ || (_ = e, x.value = t.camera, S.value = t.cameraState, C.value = t.frameWorkerState, E.value = t.sensorStates);
811
+ }
812
+ function Ce() {
813
+ b || d || (b = !0, queueMicrotask(() => {
814
+ b = !1, d || xe().catch(() => {});
815
+ }));
816
+ }
817
+ function we(e) {
818
+ if (E.value[e] === void 0) return;
819
+ let t = { ...E.value };
820
+ delete t[e], E.value = t;
821
+ }
822
+ async function K(e) {
823
+ switch (e.type) {
824
+ case "removed":
825
+ await ke();
826
+ break;
827
+ case "updated":
828
+ x.value = e.data;
829
+ break;
830
+ case "cameraState":
831
+ S.value = e.data;
832
+ break;
833
+ case "frameWorkerState":
834
+ C.value = e.data;
835
+ break;
836
+ case "snapshot:updated": {
837
+ let { sourceId: n, snapshot: r, fetchedAt: i } = e.data;
838
+ Ye(t._id, r, qe(i), void 0, n && i !== void 0 ? {
839
+ sourceId: n,
840
+ fetchedAt: i
841
+ } : void 0);
842
+ break;
843
+ }
844
+ }
845
+ }
846
+ function Te(e) {
847
+ if (e.type === "sensor:added") {
848
+ let n = e.data;
849
+ if (!n.sensor.assignedCameraIds.includes(t._id) || !n.sensor.connected) return;
850
+ E.value = {
851
+ ...E.value,
852
+ [n.sensor.id]: n.state
853
+ };
854
+ } else if (e.type === "sensor:deleted") we(e.data.sensorId);
855
+ else if (e.type === "sensor:connected:changed") {
856
+ let n = e.data;
857
+ if (n.connected) {
858
+ if (n.assignedCameraIds && !n.assignedCameraIds.includes(t._id)) return;
859
+ Ce();
860
+ } else we(n.sensorId);
861
+ } else if (e.type === "sensor:assignment:changed") {
862
+ let n = e.data;
863
+ if (n.cameraId !== t._id) return;
864
+ n.assigned ? Ce() : we(n.sensorId);
865
+ }
866
+ }
867
+ async function Ee() {
868
+ l?.(), l = void 0, u?.(), u = void 0;
869
+ let e = await R(o, (e) => e.subscribe(n.cameraSubject, K));
870
+ if (d) {
871
+ e();
872
+ return;
873
+ }
874
+ l = e;
875
+ let t = await R(o, (e) => ct(e, Te));
876
+ d ? t() : (u = t, await be());
877
+ }
878
+ function De() {
879
+ return d ? Promise.resolve() : (m.cancel(), f ? (p = !0, f) : (f = Oe(), f));
880
+ }
881
+ async function Oe() {
882
+ try {
883
+ do
884
+ p = !1, await Ee();
885
+ while (p && !d);
886
+ m.reset();
887
+ } catch (e) {
888
+ throw q(), e;
889
+ } finally {
890
+ f = void 0;
891
+ }
892
+ }
893
+ function q() {
894
+ d || m.schedule(() => {
895
+ De().catch(() => {});
896
+ });
897
+ }
898
+ async function ke() {
899
+ d = !0, m.cancel(), l?.(), l = void 0, u?.(), u = void 0, D();
900
+ }
901
+ async function Ae(e, t) {
902
+ let n = F.value.find((e) => e.useForSnapshot), r = F.value.find((e) => e.role === "snapshot"), i = e ?? r?._id ?? n?._id ?? L.value?._id ?? te.value?._id ?? I.value?._id ?? z.value?._id;
903
+ return i ? he(i, t) : Promise.resolve(void 0);
904
+ }
905
+ async function je(e, t, n = !1) {
906
+ let r = e ?? z.value?._id;
907
+ return r ? ve(r, t, n) : Promise.resolve(void 0);
908
+ }
909
+ try {
910
+ await Ee();
911
+ } catch (e) {
912
+ throw await ke(), e;
913
+ }
914
+ return {
915
+ id: t._id,
916
+ name: O,
917
+ room: A,
918
+ nativeId: j,
919
+ disabled: M,
920
+ snooze: ee,
921
+ isCloud: P,
922
+ connected: S,
923
+ frameWorkerConnected: C,
924
+ sources: F,
925
+ streamSource: z,
926
+ snapshotSource: ie,
927
+ highResolutionSource: I,
928
+ midResolutionSource: te,
929
+ lowResolutionSource: L,
930
+ capabilities: ae,
931
+ hasLight: V,
932
+ hasSiren: H,
933
+ hasDoorbell: oe,
934
+ hasBattery: se,
935
+ hasAudioSensor: ce,
936
+ hasMotionSensor: le,
937
+ hasObjectSensor: fe,
938
+ hasPtz: me,
939
+ camera: x,
940
+ snapshot: w,
941
+ snapshotLoading: T,
942
+ fetchSnapshot: Ae,
943
+ probeStream: je,
944
+ streamUrl: ye,
945
+ refreshStates: be,
946
+ reconnect: De,
947
+ close: ke
948
+ };
949
+ }
950
+ async function ct(e, t) {
951
+ let n = at.get(e);
952
+ if (!n) {
953
+ let t = /* @__PURE__ */ new Set(), r = N.sensorRegistryNamespaces().sensorsSubject;
954
+ n = {
955
+ handlers: t,
956
+ subscribed: e.subscribe(r, (e) => {
957
+ for (let n of t) try {
958
+ n(e);
959
+ } catch {}
960
+ })
961
+ }, at.set(e, n);
962
+ }
963
+ let r = n;
964
+ r.handlers.add(t);
965
+ try {
966
+ await r.subscribed;
967
+ } catch (n) {
968
+ throw r.handlers.delete(t), at.get(e) === r && at.delete(e), n;
969
+ }
970
+ return () => lt(e, r, t);
971
+ }
972
+ function lt(e, t, n) {
973
+ !t.handlers.delete(n) || t.handlers.size > 0 || (at.get(e) === t && at.delete(e), t.subscribed.then((e) => e()).catch(() => {}));
974
+ }
975
+ function ut() {
976
+ let e = A(), t = N.deviceManagerNamespaces();
977
+ async function n(n) {
978
+ let r = await R(e.rpc, (e) => e.createProxy(t.deviceManagerRpc).getCamera(n, "@camera.ui/browser"));
979
+ if (r) return st(e, r);
980
+ }
981
+ return { getCamera: n };
982
+ }
983
+ var dt = E({
984
+ releaseDelay: 1e3,
985
+ onRelease: (e, t) => t.close()
986
+ }), ft = /* @__PURE__ */ new Map(), pt = /* @__PURE__ */ new Map();
987
+ function mt() {
988
+ dt.clear(), ft.clear(), pt.clear();
989
+ }
990
+ function ht(e, t) {
991
+ e && t && e !== t && pt.set(e, t);
992
+ }
993
+ function gt(e) {
994
+ if (dt.has(e)) return e;
995
+ let t;
996
+ return dt.forEachValue((n, r) => {
997
+ t === void 0 && n.name.value === e && (t = r);
998
+ }), t;
999
+ }
1000
+ function _t(e) {
1001
+ let t = ft.get(e);
1002
+ if (t) return t;
1003
+ for (let [t, n] of pt) {
1004
+ let r = n === e ? ft.get(t) : t === e ? ft.get(n) : void 0;
1005
+ if (r) return r;
1006
+ }
1007
+ }
1008
+ function vt(e) {
1009
+ let t = gt(e);
1010
+ if (t !== void 0) return dt.acquire(t, () => {
1011
+ throw Error("Should not create - already cached");
1012
+ });
1013
+ }
1014
+ async function yt(e, t) {
1015
+ let n = vt(t);
1016
+ if (n) return n;
1017
+ let r = _t(t);
1018
+ if (r) {
1019
+ let e = await r, n = vt(t);
1020
+ if (n || !e) return n;
1021
+ }
1022
+ let i = e.getCamera(t);
1023
+ ft.set(t, i);
1024
+ try {
1025
+ let e = await i;
1026
+ return e ? bt(e) : void 0;
1027
+ } finally {
1028
+ ft.get(t) === i && ft.delete(t);
1029
+ }
1030
+ }
1031
+ function bt(e) {
1032
+ let t = dt.acquire(e.id, () => e);
1033
+ return t !== e && e.close(), t;
1034
+ }
1035
+ function xt(e) {
1036
+ dt.release(e.id, e);
1037
+ }
1038
+ function St() {
1039
+ dt.forEachValue((e) => {
1040
+ e.reconnect().catch(() => {});
1041
+ });
1042
+ }
1043
+ function Ct() {
1044
+ dt.forEachValue((e) => {
1045
+ e.refreshStates().catch(() => e.reconnect().catch(() => {}));
1046
+ });
1047
+ }
1048
+ function wt(e) {
1049
+ let { isConnected: t } = A(), n = ut(), a = i(), o = r(!1), u = r(!1), d = r(), f, p = k(), h = !1;
1050
+ function g(e, t) {
1051
+ f = e, a.value = t, d.value = void 0, b();
1052
+ }
1053
+ function _() {
1054
+ a.value && xt(a.value), a.value = void 0, f = void 0;
1055
+ }
1056
+ function v(e, t) {
1057
+ d.value = t instanceof Error ? t : Error(String(t)), y(e);
1058
+ }
1059
+ function y(n) {
1060
+ h || p.schedule(() => {
1061
+ t.value && s(e) === n && f !== n && x(n, !0).catch(() => {});
1062
+ });
1063
+ }
1064
+ function b() {
1065
+ p.cancel(), p.reset();
1066
+ }
1067
+ async function x(r, i = !1) {
1068
+ if (h || !t.value || !r) return;
1069
+ if (f !== void 0 && f !== r) {
1070
+ if (a.value && (a.value.id === r || a.value.name.value === r)) {
1071
+ f = r;
1072
+ return;
1073
+ }
1074
+ _();
1075
+ }
1076
+ if (a.value) return;
1077
+ let c = vt(r);
1078
+ if (c) g(r, c), u.value = !0;
1079
+ else {
1080
+ i || (o.value = !0, d.value = void 0);
1081
+ try {
1082
+ let t = await yt(n, r);
1083
+ if (!t) return;
1084
+ if (h || s(e) !== r || a.value) {
1085
+ xt(t);
1086
+ return;
1087
+ }
1088
+ g(r, t);
1089
+ } catch (e) {
1090
+ v(r, e);
1091
+ } finally {
1092
+ o.value = !1, u.value = !0;
1093
+ }
1094
+ }
1095
+ }
1096
+ async function S() {
1097
+ let t = s(e);
1098
+ if (!t) return;
1099
+ let n = a.value;
1100
+ n && (dt.get(n.id) === n && dt.getRefCount(n.id) <= 1 ? dt.forceRelease(n.id) : xt(n), a.value = void 0, f = void 0), await x(t);
1101
+ }
1102
+ return l([t, () => s(e)], async ([e, t]) => {
1103
+ b(), e && t ? await x(t) : !e && f !== void 0 && _();
1104
+ }, { immediate: !0 }), m(() => {
1105
+ h = !0, b(), _();
1106
+ }), {
1107
+ camera: a,
1108
+ isLoading: c(() => o.value || !u.value),
1109
+ error: d,
1110
+ refresh: S
1111
+ };
1112
+ }
1113
+ var Tt = /* @__PURE__ */ new Map(), Et = /* @__PURE__ */ new Map(), Dt = /* @__PURE__ */ new Map();
1114
+ function Ot() {
1115
+ Tt.clear(), Et.clear();
1116
+ }
1117
+ function kt(e) {
1118
+ return Et.get(e);
1119
+ }
1120
+ function At(e) {
1121
+ Tt.delete(e);
1122
+ }
1123
+ async function jt(e, t) {
1124
+ let n = Tt.get(t);
1125
+ if (n) return n;
1126
+ let r = Dt.get(t);
1127
+ if (r) return r;
1128
+ let i = (async () => {
1129
+ let n = N.coreManagerNamespaces(), r = await R(e, (e) => e.createProxy(n.coreManagerRpc).getPlugin(t));
1130
+ if (r) return Tt.set(t, r.id), Et.set(r.id, t), r.id;
1131
+ })().finally(() => Dt.delete(t));
1132
+ return Dt.set(t, i), i;
1133
+ }
1134
+ var Mt = 1500, Nt = 3e4, Pt = /* @__PURE__ */ new Map();
1135
+ function Ft() {
1136
+ for (let e of Pt.values()) e.stop();
1137
+ Pt.clear();
1138
+ }
1139
+ function It(e) {
1140
+ let t = A(), n = r({ status: "disconnected" }), i = r(null), a, o = 0, s = 0, c = !1, l = 0, u = 0;
1141
+ function d(e, t) {
1142
+ return e.createProxy(N.pluginNamespaces(t).pluginChildRpc);
1143
+ }
1144
+ let f = (n) => R(t.rpc, async (r) => {
1145
+ let i = await jt(t.rpc, e);
1146
+ if (!i) throw Error(`Plugin "${e}" not found`);
1147
+ try {
1148
+ return await n(d(r, i));
1149
+ } catch (a) {
1150
+ if (!T(a)) throw a;
1151
+ At(e);
1152
+ let o = await jt(t.rpc, e);
1153
+ if (!o || o === i) throw a;
1154
+ return n(d(r, o));
1155
+ }
1156
+ });
1157
+ function p(e, t = ++l) {
1158
+ t < u || (u = t, n.value = e, g());
1159
+ }
1160
+ async function m() {
1161
+ let e = ++l;
1162
+ p(await f((e) => e.getOAuthState()), e), i.value ||= await f((e) => e.getOAuthMetadata());
1163
+ }
1164
+ function h() {
1165
+ c || (c = !0, m().catch(() => void 0).finally(() => {
1166
+ c = !1;
1167
+ }));
1168
+ }
1169
+ function g() {
1170
+ let { status: e } = n.value, t = s === 0 ? 0 : e === "awaiting_user" || e === "polling" ? Mt : Nt;
1171
+ t !== o && (clearInterval(a), a = t ? setInterval(h, t) : void 0, o = t);
1172
+ }
1173
+ function _() {
1174
+ s++ > 0 || (g(), h());
1175
+ }
1176
+ function v() {
1177
+ s !== 0 && (s--, g());
1178
+ }
1179
+ function y() {
1180
+ s = 0, g();
1181
+ }
1182
+ return {
1183
+ state: n,
1184
+ metadata: i,
1185
+ call: f,
1186
+ refresh: m,
1187
+ apply: p,
1188
+ retain: _,
1189
+ release: v,
1190
+ stop: y
1191
+ };
1192
+ }
1193
+ function Lt(e) {
1194
+ Pt.has(e) || Pt.set(e, It(e));
1195
+ let t = Pt.get(e), { state: n, metadata: r, call: i, refresh: a, apply: o } = t;
1196
+ t.retain(), m(t.release);
1197
+ async function s(e) {
1198
+ o(await i((t) => t.startDeviceFlow(e)));
1199
+ }
1200
+ async function c(e) {
1201
+ o(await i((t) => t.startAuthCodeFlow(e)));
1202
+ }
1203
+ async function l() {
1204
+ (n.value.status === "awaiting_user" || n.value.status === "polling") && await i((e) => e.cancelDeviceFlow?.() ?? e.cancelAuthCodeFlow?.() ?? Promise.resolve()), await a();
1205
+ }
1206
+ async function u() {
1207
+ await i((e) => e.disconnect()), await a();
1208
+ }
1209
+ return {
1210
+ state: n,
1211
+ metadata: r,
1212
+ startDeviceFlow: s,
1213
+ startAuthCodeFlow: c,
1214
+ cancel: l,
1215
+ disconnect: u,
1216
+ refresh: a
1217
+ };
1218
+ }
1219
+ var Rt = 2e3, zt = 3e4, Y = E({ releaseDelay: 1e3 }), Bt = /* @__PURE__ */ new Map(), Vt = /* @__PURE__ */ new Map(), Ht = /* @__PURE__ */ new Set(), Ut = /* @__PURE__ */ new Set(), Wt = /* @__PURE__ */ new Map(), Gt = /* @__PURE__ */ new Map(), Kt = /* @__PURE__ */ new Map(), qt = /* @__PURE__ */ new Map(), Jt, Yt;
1220
+ function Xt() {
1221
+ Y.clear(), Bt.clear(), Vt.clear(), nn();
1222
+ for (let e of Ht) try {
1223
+ e();
1224
+ } catch {}
1225
+ }
1226
+ function Zt(e) {
1227
+ for (let t of [...Gt.get(e) ?? []]) t();
1228
+ }
1229
+ function Qt(e) {
1230
+ let t = Kt.get(e);
1231
+ t && clearTimeout(t), Kt.delete(e), qt.delete(e);
1232
+ }
1233
+ function $t(e) {
1234
+ if (Kt.has(e)) return;
1235
+ let t = qt.get(e) ?? 0;
1236
+ qt.set(e, t + 1);
1237
+ let n = setTimeout(() => {
1238
+ Kt.delete(e), Zt(e);
1239
+ }, Math.min(Rt * 2 ** t, zt));
1240
+ Kt.set(e, n);
1241
+ }
1242
+ function en(e) {
1243
+ return Ut.add(e), () => {
1244
+ Ut.delete(e);
1245
+ };
1246
+ }
1247
+ function tn(e) {
1248
+ return Wt.get(e) === !1;
1249
+ }
1250
+ function nn() {
1251
+ Wt.clear();
1252
+ }
1253
+ function rn(e, t, n = !t) {
1254
+ Wt.set(e, t), n && (Y.forceRelease(e), At(e)), Qt(e), Zt(e);
1255
+ for (let n of [...Ut]) try {
1256
+ n(e, t);
1257
+ } catch {}
1258
+ }
1259
+ function an(e) {
1260
+ e?.type === "pluginStatusChanged" && rn(e.data.pluginName, e.data.running);
1261
+ }
1262
+ function on(e, t) {
1263
+ let n = Y.get(e);
1264
+ if (!n || Vt.has(e)) return;
1265
+ let r = R(t, (t) => t.createProxy(N.coreManagerNamespaces().coreManagerRpc).getPlugin(e)).then((t) => {
1266
+ let r = t;
1267
+ if (Y.get(e) !== n) return;
1268
+ let i = !!r && r.running !== !1, a = i && N.pluginNamespaces(r.id).pluginChildRpc !== n.namespace;
1269
+ (!i || a) && rn(e, i, !0);
1270
+ }).catch(() => {}).finally(() => {
1271
+ Vt.get(e) === r && Vt.delete(e);
1272
+ });
1273
+ Vt.set(e, r);
1274
+ }
1275
+ function sn(e, t, n) {
1276
+ let r = /* @__PURE__ */ new WeakMap();
1277
+ return new Proxy(t, { get(i, a) {
1278
+ let o = ue(n);
1279
+ if (!o) return Reflect.get(t, a);
1280
+ let s = r.get(o);
1281
+ s || (s = o.createProxy(e), r.set(o, s));
1282
+ let c = Reflect.get(s, a);
1283
+ return typeof c == "function" ? cn(c, n, o) : c;
1284
+ } });
1285
+ }
1286
+ function cn(e, t, n) {
1287
+ return new Proxy(e, { apply(e, r, i) {
1288
+ let a = Reflect.apply(e, r, i);
1289
+ return a instanceof Promise ? a.catch((e) => {
1290
+ throw e?.code === "TIMEOUT" && fe(t, n), e;
1291
+ }) : a;
1292
+ } });
1293
+ }
1294
+ async function ln(e) {
1295
+ let t = e.value;
1296
+ if (t && t !== Jt) {
1297
+ Yt?.(), Yt = void 0, Jt = t;
1298
+ try {
1299
+ Yt = await t.subscribe(N.coreManagerNamespaces().coreManagerSubject, an);
1300
+ } catch {
1301
+ Jt = void 0;
1302
+ }
1303
+ }
1304
+ }
1305
+ function un(e, t = {}) {
1306
+ let n = A(), { rpc: a, bulkRpc: o, isConnected: u } = n, d = t.lane === "bulk" ? o : void 0, f = i(), p = r(), h = r(!1), g = r(!1), _ = r(), v, y, b;
1307
+ function x(e) {
1308
+ if (Y.has(e)) return Y.acquire(e, () => {
1309
+ throw Error("Should not create - already cached");
1310
+ });
1311
+ }
1312
+ function S(e) {
1313
+ Y.release(e, y), y = void 0;
1314
+ }
1315
+ function C(e) {
1316
+ if (b === e) return;
1317
+ b && w(b);
1318
+ let t = Gt.get(e) ?? /* @__PURE__ */ new Set();
1319
+ t.add(T), Gt.set(e, t), b = e;
1320
+ }
1321
+ function w(e) {
1322
+ let t = Gt.get(e);
1323
+ t && (t.delete(T), t.size === 0 && (Gt.delete(e), Qt(e))), b === e && (b = void 0);
1324
+ }
1325
+ function T() {
1326
+ let t = s(e);
1327
+ t && O(t, !0);
1328
+ }
1329
+ function E(e) {
1330
+ v &&= (S(v), void 0), f.value = void 0, p.value = void 0, $t(e);
1331
+ }
1332
+ function D(e, t) {
1333
+ v = e, y = t, d && (t.bulkProxy ??= sn(t.namespace, t.proxy, d)), f.value = d ? t.bulkProxy : t.proxy, p.value = t.contract, _.value = void 0, Qt(e);
1334
+ }
1335
+ async function O(t, n = !1) {
1336
+ if (!u.value || !t) return;
1337
+ if (v && v !== t && (w(v), S(v), f.value = void 0, p.value = void 0, v = void 0), C(t), ln(a), v === t && Y.get(t) !== y) v = void 0, y = void 0, f.value = void 0, p.value = void 0;
1338
+ else if (v === t && f.value) return;
1339
+ let r = x(t);
1340
+ if (r) {
1341
+ D(t, r), g.value = !0;
1342
+ return;
1343
+ }
1344
+ let i = Bt.get(t);
1345
+ if (i) {
1346
+ n || (h.value = !0);
1347
+ try {
1348
+ let n = await i;
1349
+ if (s(e) !== t) return;
1350
+ if (n) {
1351
+ let e = x(t);
1352
+ e && D(t, e);
1353
+ } else E(t);
1354
+ } catch (e) {
1355
+ n || (_.value = e instanceof Error ? e : Error(String(e))), E(t);
1356
+ } finally {
1357
+ n || (h.value = !1), g.value = !0;
1358
+ }
1359
+ return;
1360
+ }
1361
+ n || (h.value = !0, _.value = void 0);
1362
+ let o = R(a, async (e) => {
1363
+ let n = N.coreManagerNamespaces(), r = await e.createProxy(n.coreManagerRpc).getPlugin(t);
1364
+ if (!r) throw Error(`Plugin "${t}" not found`);
1365
+ if (r.running === !1) return;
1366
+ let i = N.pluginNamespaces(r.id).pluginChildRpc;
1367
+ return {
1368
+ proxy: e.createProxy(i),
1369
+ contract: r.contract,
1370
+ namespace: i,
1371
+ client: e
1372
+ };
1373
+ });
1374
+ Bt.set(t, o);
1375
+ try {
1376
+ let n = await o;
1377
+ if (Wt.set(t, !!n), n) {
1378
+ let r = Y.acquire(t, () => n);
1379
+ if (s(e) !== t) {
1380
+ Y.release(t, r);
1381
+ return;
1382
+ }
1383
+ D(t, r);
1384
+ } else s(e) === t && E(t);
1385
+ } catch (e) {
1386
+ n || (_.value = e instanceof Error ? e : Error(String(e))), E(t);
1387
+ } finally {
1388
+ Bt.delete(t), n || (h.value = !1), g.value = !0;
1389
+ }
1390
+ }
1391
+ async function k() {
1392
+ let t = s(e);
1393
+ t && (v &&= (Y.get(v) === y && Y.getRefCount(v) <= 1 ? (Y.forceRelease(v), y = void 0) : S(v), f.value = void 0, p.value = void 0, void 0), await O(t));
1394
+ }
1395
+ let j = () => {
1396
+ v && (f.value = void 0, p.value = void 0, v = void 0, y = void 0);
1397
+ };
1398
+ Ht.add(j);
1399
+ function M() {
1400
+ v && on(v, a);
1401
+ }
1402
+ return n.on("reconnected", M), l([
1403
+ u,
1404
+ () => s(e),
1405
+ a
1406
+ ], async ([e, t, n]) => {
1407
+ let r = !!v && t !== v;
1408
+ v && (r || n && y && y.client !== n) && (r && w(v), S(v), f.value = void 0, p.value = void 0, v = void 0), e && t && n ? await O(t) : !e && v && (w(v), S(v), f.value = void 0, p.value = void 0, v = void 0);
1409
+ }, { immediate: !0 }), m(() => {
1410
+ Ht.delete(j), n.off("reconnected", M), w(s(e)), v &&= (w(v), S(v), f.value = void 0, p.value = void 0, void 0);
1411
+ }), {
1412
+ plugin: f,
1413
+ contract: p,
1414
+ isLoading: c(() => h.value || !g.value),
1415
+ error: _,
1416
+ refresh: k
1417
+ };
1418
+ }
1419
+ function dn(e) {
1420
+ if (e) return typeof e == "string" ? e : e.id;
1421
+ }
1422
+ function X(e) {
1423
+ return (t) => t.type === e;
1424
+ }
1425
+ var fn = X(g.Light), pn = X(g.Siren), mn = X(g.Battery), hn = X(g.Doorbell), gn = X(g.Contact);
1426
+ g.Motion, g.Object, g.Audio, g.Face, g.LicensePlate, g.Classifier, g.PTZ;
1427
+ var _n = X(g.Switch), vn = X(g.Lock), yn = X(g.SecuritySystem), bn = X(g.Temperature), xn = X(g.Humidity), Sn = X(g.Occupancy), Cn = X(g.Smoke), wn = X(g.Leak);
1428
+ g.Gas, g.CarbonMonoxide, g.Heat, g.Cold, g.Vibration, g.Tamper, g.Problem, g.Power, g.Illuminance, g.CarbonDioxide;
1429
+ var Tn = X(g.Garage);
1430
+ function En(e, t) {
1431
+ return e.length === t.length && e.every((e, n) => e === t[n]);
1432
+ }
1433
+ function Dn(e, t) {
1434
+ return e.type === t.type && e.name === t.name && e.pluginId === t.pluginId && e.nativeId === t.nativeId && e.boundCameraId === t.boundCameraId;
1435
+ }
1436
+ function On(t, n, i) {
1437
+ let a = r(n.displayName ?? t.displayName ?? t.name), o = r(n.capabilities ?? t.capabilities ?? []), s = r([...t.assignedCameraIds]), c = r(t.exposed), l = r(t.connected), u = e({ ...n.properties }), d = [];
1438
+ function f() {
1439
+ for (let e of d) e(o.value);
1440
+ }
1441
+ return {
1442
+ id: t.id,
1443
+ type: t.type,
1444
+ name: t.name,
1445
+ displayName: a,
1446
+ nativeId: t.nativeId,
1447
+ pluginId: t.pluginId,
1448
+ boundCameraId: t.boundCameraId,
1449
+ assignedCameraIds: s,
1450
+ exposed: c,
1451
+ connected: l,
1452
+ capabilities: o,
1453
+ properties: u,
1454
+ getProperty(e) {
1455
+ return u[e];
1456
+ },
1457
+ async setProperty(e, n) {
1458
+ let r = `plugin.${t.pluginId}.sensor.${t.id}.rpc`;
1459
+ await R(i, (t) => t.createProxy(r).updateValue(e, n));
1460
+ },
1461
+ async setDisplayName(e) {
1462
+ let n = N.sensorRegistryNamespaces();
1463
+ await R(i, (r) => r.createProxy(n.sensorsRpc).setDisplayName(t.id, e));
1464
+ },
1465
+ hasCapability(e) {
1466
+ return o.value.includes(e);
1467
+ },
1468
+ onCapabilitiesChanged(e) {
1469
+ return d.push(e), () => {
1470
+ let t = d.indexOf(e);
1471
+ t !== -1 && d.splice(t, 1);
1472
+ };
1473
+ },
1474
+ _notifyCapabilitiesChanged: f,
1475
+ _update(e, t) {
1476
+ a.value = t.displayName ?? e.displayName ?? e.name, En(s.value, e.assignedCameraIds) || (s.value = [...e.assignedCameraIds]), c.value = e.exposed, l.value = e.connected;
1477
+ let n = t.properties ?? {};
1478
+ for (let e of Object.keys(u)) e in n || delete u[e];
1479
+ Object.assign(u, n);
1480
+ let r = t.capabilities ?? e.capabilities ?? [];
1481
+ En(o.value, r) || (o.value = r, f());
1482
+ }
1483
+ };
1484
+ }
1485
+ var kn = 1e3, An = "all";
1486
+ function jn(e) {
1487
+ return `camera:${e}`;
1488
+ }
1489
+ function Mn(e) {
1490
+ return `sensor:${e}`;
1491
+ }
1492
+ function Nn(e) {
1493
+ let { sensorsSubject: t, sensorsRpc: n } = N.sensorRegistryNamespaces(), a = "rpc" in e && "value" in e.rpc ? e : void 0, o = a ? a.rpc : i(e), s = i(/* @__PURE__ */ new Map()), l, u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Set(), m, h = /* @__PURE__ */ new Set(), g = k(), _ = /* @__PURE__ */ new Set(), v = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map(), b = 0, x = r(!1), S, C = 0, w = k();
1494
+ function T(e, t) {
1495
+ let n = s.value.get(e);
1496
+ if (n) {
1497
+ if (f.get(e)?.add(t.type === "property:changed" ? t.data.property : t.type), t.type === "property:changed") {
1498
+ let e = t.data;
1499
+ n.properties[e.property] = e.value;
1500
+ } else if (t.type === "sensor:displayName:changed") {
1501
+ let e = t.data;
1502
+ n.displayName.value = e.displayName;
1503
+ } else if (t.type === "sensor:capabilities:changed") {
1504
+ let e = t.data;
1505
+ n.capabilities.value = e.capabilities, n._notifyCapabilitiesChanged();
1506
+ }
1507
+ }
1508
+ }
1509
+ function E(e) {
1510
+ if (v.has(An) || v.has(Mn(e.id))) return !0;
1511
+ let t = e.assignedCameraIds.value;
1512
+ return t.length === 0 || t.some((e) => v.has(jn(e)));
1513
+ }
1514
+ function D(e, t) {
1515
+ if (!(u.has(e.id) || d.has(e.id))) {
1516
+ if (t) for (let t of Object.keys(e.properties)) delete e.properties[t];
1517
+ O(e.id, F(e.id).catch(() => void 0));
1518
+ }
1519
+ }
1520
+ function O(e, t) {
1521
+ let n = /* @__PURE__ */ new Set();
1522
+ if (f.set(e, n), !m) {
1523
+ let e = [];
1524
+ m = e;
1525
+ let t = Promise.resolve().then(() => (m = void 0, A(e))).catch(() => {}).finally(() => p.delete(t));
1526
+ p.add(t);
1527
+ }
1528
+ m.push({
1529
+ sensorId: e,
1530
+ changed: n,
1531
+ subscribed: t
1532
+ });
1533
+ }
1534
+ async function A(e) {
1535
+ let t = await Promise.all(e.map((e) => e.subscribed)), r = e.flatMap((e, n) => {
1536
+ let r = t[n];
1537
+ return r && u.get(e.sensorId) === r ? [{
1538
+ ...e,
1539
+ unsubscribe: r
1540
+ }] : [];
1541
+ }), i;
1542
+ if (r.length > 0) try {
1543
+ i = await R(o, (e) => e.createProxy(n).getSensorStates()), g.reset();
1544
+ } catch {
1545
+ i = void 0;
1546
+ }
1547
+ for (let { sensorId: e, unsubscribe: t, changed: n } of r) j(e, t, n, i);
1548
+ for (let { sensorId: t, changed: n } of e) f.get(t) === n && f.delete(t);
1549
+ }
1550
+ function j(e, t, n, r) {
1551
+ let i = s.value.get(e);
1552
+ if (!i || u.get(e) !== t) return;
1553
+ let a = r?.[e];
1554
+ if (!a) {
1555
+ r && !i.connected.value ? _.add(e) : M(e);
1556
+ return;
1557
+ }
1558
+ for (let [e, t] of Object.entries(a.properties ?? {})) n.has(e) || (i.properties[e] = t);
1559
+ a.displayName !== void 0 && !n.has("sensor:displayName:changed") && (i.displayName.value = a.displayName);
1560
+ let o = i.capabilities.value, c = a.capabilities ?? o;
1561
+ !n.has("sensor:capabilities:changed") && !En(c, o) && (i.capabilities.value = c, i._notifyCapabilitiesChanged());
1562
+ }
1563
+ function M(e) {
1564
+ h.add(e), g.schedule(() => {
1565
+ let e = [...h];
1566
+ h.clear();
1567
+ for (let t of e) ee(t);
1568
+ });
1569
+ }
1570
+ function ee(e) {
1571
+ let t = u.get(e);
1572
+ t && O(e, Promise.resolve(t));
1573
+ }
1574
+ function P() {
1575
+ return Promise.all(p).then(() => {});
1576
+ }
1577
+ async function F(e) {
1578
+ let t = b, n = N.sensorEventNamespaces(e);
1579
+ d.add(e);
1580
+ let r;
1581
+ try {
1582
+ r = await R(o, (t) => t.subscribe(n.sensorSubject, (t) => T(e, t)));
1583
+ } finally {
1584
+ t === b && d.delete(e);
1585
+ }
1586
+ let i = s.value.get(e);
1587
+ if (t !== b || !i || !E(i)) r();
1588
+ else return u.set(e, r), r;
1589
+ }
1590
+ function I(e, t) {
1591
+ x.value && (E(e) ? D(e, t) : re(e.id));
1592
+ }
1593
+ function te() {
1594
+ for (let e of s.value.values()) I(e, !0);
1595
+ }
1596
+ function L(e) {
1597
+ clearTimeout(y.get(e)), y.delete(e);
1598
+ let t = v.has(e);
1599
+ v.set(e, (v.get(e) ?? 0) + 1), t || te();
1600
+ }
1601
+ function ne(e) {
1602
+ let t = v.get(e);
1603
+ t && (v.set(e, t - 1), !(t > 1) && y.set(e, setTimeout(() => {
1604
+ y.delete(e), v.delete(e), te();
1605
+ }, kn)));
1606
+ }
1607
+ function re(e) {
1608
+ let t = u.get(e);
1609
+ t && (t(), u.delete(e)), h.delete(e), _.delete(e);
1610
+ }
1611
+ function z(e) {
1612
+ if (e.type === "sensor:added") {
1613
+ let t = e.data;
1614
+ if (s.value.has(t.sensor.id)) return;
1615
+ let n = On(t.sensor, t.state, o), r = new Map(s.value);
1616
+ r.set(t.sensor.id, n), s.value = r, I(n, !1);
1617
+ } else if (e.type === "sensor:deleted") {
1618
+ let t = e.data;
1619
+ re(t.sensorId);
1620
+ let n = new Map(s.value);
1621
+ n.delete(t.sensorId), s.value = n;
1622
+ } else if (e.type === "sensor:connected:changed") {
1623
+ let t = e.data, n = s.value.get(t.sensorId);
1624
+ if (!n) return;
1625
+ n.connected.value = t.connected, t.connected && _.delete(n.id) && ee(n.id);
1626
+ } else if (e.type === "sensor:assignment:changed") {
1627
+ let t = e.data, n = s.value.get(t.sensorId);
1628
+ if (!n) return;
1629
+ let r = new Set(n.assignedCameraIds.value);
1630
+ t.assigned ? r.add(t.cameraId) : r.delete(t.cameraId), n.assignedCameraIds.value = [...r], I(n, !0);
1631
+ } else if (e.type === "sensor:exposed:changed") {
1632
+ let t = e.data, n = s.value.get(t.sensorId);
1633
+ n && (n.exposed.value = t.exposed);
1634
+ }
1635
+ }
1636
+ function ie() {
1637
+ l?.(), l = void 0;
1638
+ for (let e of u.values()) e();
1639
+ u.clear(), b++, d.clear(), f.clear(), h.clear(), _.clear(), g.cancel(), g.reset();
1640
+ }
1641
+ function B(e) {
1642
+ if (e !== C) throw Error("sensor manager closed");
1643
+ }
1644
+ function ae() {
1645
+ w.schedule(() => {
1646
+ !x.value && !S && H().catch(() => {});
1647
+ });
1648
+ }
1649
+ async function V(e) {
1650
+ B(e), ie();
1651
+ let r = s.value, i = [];
1652
+ try {
1653
+ l = await R(o, (e) => e.subscribe(t, (e) => {
1654
+ i ? i.push(e) : z(e);
1655
+ })), B(e);
1656
+ let [a, c] = await R(o, async (e) => {
1657
+ let t = e.createProxy(n);
1658
+ return Promise.all([t.getSensors(), t.getSensorStates()]);
1659
+ });
1660
+ B(e);
1661
+ let u = /* @__PURE__ */ new Map();
1662
+ for (let e of a) {
1663
+ let t = c[e.id] ?? {
1664
+ properties: {},
1665
+ capabilities: [],
1666
+ type: e.type
1667
+ }, n = r.get(e.id);
1668
+ n && Dn(n, e) ? (n._update(e, t), u.set(e.id, n)) : u.set(e.id, On(e, t, o));
1669
+ }
1670
+ s.value = u;
1671
+ for (let t of u.values()) E(t) && (await F(t.id), B(e));
1672
+ } catch (t) {
1673
+ throw ie(), e === C && (s.value = r, ae()), t;
1674
+ }
1675
+ let a = i;
1676
+ i = void 0;
1677
+ for (let e of a) z(e);
1678
+ w.reset(), x.value = !0, te();
1679
+ }
1680
+ function H() {
1681
+ let e = V(C).finally(() => {
1682
+ S === e && (S = void 0);
1683
+ });
1684
+ return S = e, e;
1685
+ }
1686
+ async function oe() {
1687
+ if (!x.value) return S || H(), S;
1688
+ }
1689
+ async function se() {
1690
+ if (x.value = !1, S) {
1691
+ let e = S, t = C, n = e.catch(() => {}).then(() => V(t)).finally(() => {
1692
+ S === n && (S = void 0);
1693
+ });
1694
+ return S = n, n;
1695
+ }
1696
+ return H();
1697
+ }
1698
+ function ce() {
1699
+ C++, w.cancel(), ie(), s.value = /* @__PURE__ */ new Map(), x.value = !1, S = void 0;
1700
+ }
1701
+ let le = c(() => Array.from(s.value.values()));
1702
+ return {
1703
+ sensors: le,
1704
+ isInitialized: c(() => x.value),
1705
+ getSensor(e) {
1706
+ return s.value.get(e);
1707
+ },
1708
+ getSensorsByType(e) {
1709
+ return le.value.filter((t) => t.type === e);
1710
+ },
1711
+ hasSensorType(e) {
1712
+ return le.value.some((t) => t.type === e);
1713
+ },
1714
+ async setDisplayName(e, t) {
1715
+ await R(o, (r) => r.createProxy(n).setDisplayName(e, t));
1716
+ },
1717
+ ensureInitialized: oe,
1718
+ reconnect: se,
1719
+ close: ce,
1720
+ retainLive: L,
1721
+ releaseLive: ne,
1722
+ whenRefreshed: P
1723
+ };
1724
+ }
1725
+ var Pn = E({
1726
+ releaseDelay: 1e3,
1727
+ onRelease: (e, t) => t.manager.close()
1728
+ });
1729
+ function Fn() {
1730
+ Pn.clear();
1731
+ }
1732
+ function In() {
1733
+ Pn.forEachValue((e) => {
1734
+ e.manager.reconnect().catch(() => {});
1735
+ });
1736
+ }
1737
+ var Ln = "sensors";
1738
+ function Rn(e) {
1739
+ return Pn.acquire(Ln, () => ({ manager: Nn(e) }));
1740
+ }
1741
+ function zn(e) {
1742
+ let t = Pn.get(Ln);
1743
+ !t || e && t.manager !== e || Pn.release(Ln, t);
1744
+ }
1745
+ function Bn() {
1746
+ return {
1747
+ acquired: !1,
1748
+ cachedManager: void 0,
1749
+ liveScope: void 0
1750
+ };
1751
+ }
1752
+ function Vn(e, t) {
1753
+ return e.sensors.value.filter((e) => e.assignedCameraIds.value.includes(t));
1754
+ }
1755
+ async function Hn(e, t, n, r, i, a) {
1756
+ if (n) {
1757
+ r.value = !0, i.value = void 0;
1758
+ try {
1759
+ Wn(e) || (e.cachedManager = Rn(t).manager, e.acquired = !0, e.liveScope = void 0), Gn(e, a), await e.cachedManager?.ensureInitialized(), await e.cachedManager?.whenRefreshed();
1760
+ } catch (e) {
1761
+ i.value = e instanceof Error ? e : Error(String(e));
1762
+ } finally {
1763
+ r.value = !1;
1764
+ }
1765
+ return e.cachedManager;
1766
+ }
1767
+ }
1768
+ function Un(e, t) {
1769
+ l(() => e.value?.isInitialized.value, (e) => {
1770
+ e && (t.value = void 0);
1771
+ });
1772
+ }
1773
+ function Wn(e) {
1774
+ return e.acquired && Pn.get(Ln)?.manager === e.cachedManager;
1775
+ }
1776
+ function Gn(e, t) {
1777
+ e.liveScope !== t && (e.cachedManager?.retainLive(t), e.liveScope && e.cachedManager?.releaseLive(e.liveScope), e.liveScope = t);
1778
+ }
1779
+ function Kn(e) {
1780
+ Wn(e) && (e.liveScope && e.cachedManager?.releaseLive(e.liveScope), zn(e.cachedManager)), e.acquired = !1, e.cachedManager = void 0, e.liveScope = void 0;
1781
+ }
1782
+ function qn(e) {
1783
+ let t = A(), { isConnected: n } = t, a = i([]), o = i(), u = r(!1), d = r(!1), f = r(), p = Bn();
1784
+ l([n, () => dn(s(e))], async ([e, n]) => {
1785
+ if (e && n) {
1786
+ let r = await Hn(p, t, e, u, f, jn(n));
1787
+ o.value = r, a.value = r ? Vn(r, n) : [], d.value = !0;
1788
+ } else Kn(p), a.value = [], o.value = void 0;
1789
+ }, { immediate: !0 });
1790
+ let h = c(() => {
1791
+ if (!o.value) return [];
1792
+ let t = dn(s(e));
1793
+ return t ? Vn(o.value, t) : [];
1794
+ });
1795
+ return Un(o, f), m(() => {
1796
+ Kn(p), a.value = [];
1797
+ }), {
1798
+ sensors: h,
1799
+ isLoading: c(() => u.value || !d.value),
1800
+ error: f
1801
+ };
1802
+ }
1803
+ function Jn() {
1804
+ let e = A(), { isConnected: t } = e, n = i(), a = r(!1), o = r(!1), s = r(), u = Bn();
1805
+ l([t], async ([t]) => {
1806
+ t ? (n.value = await Hn(u, e, t, a, s, An), o.value = !0) : (Kn(u), n.value = void 0);
1807
+ }, { immediate: !0 });
1808
+ let d = c(() => n.value?.sensors.value ?? []);
1809
+ return Un(n, s), m(() => {
1810
+ Kn(u);
1811
+ }), {
1812
+ sensors: d,
1813
+ isLoading: c(() => a.value || !o.value),
1814
+ error: s
1815
+ };
1816
+ }
1817
+ function Yn(e, t, n) {
1818
+ let r = e.filter((e) => e.type === t);
1819
+ if (n) {
1820
+ let e = r.find((e) => e.pluginId === n);
1821
+ if (e) return e;
1822
+ }
1823
+ return r[0];
1824
+ }
1825
+ function Xn(e, t, n) {
1826
+ let a = A(), { isConnected: o } = a, u = i(), d = i(), f = r(!1), p = r(!1), h = r(), g = Bn();
1827
+ function _() {
1828
+ let r = dn(s(e));
1829
+ if (d.value && r) return Yn(Vn(d.value, r), t, s(n));
1830
+ }
1831
+ return l([
1832
+ o,
1833
+ () => dn(s(e)),
1834
+ () => s(n)
1835
+ ], async ([e, t]) => {
1836
+ e && t ? (d.value = await Hn(g, a, e, f, h, jn(t)), u.value = _(), p.value = !0) : (Kn(g), d.value = void 0, u.value = void 0);
1837
+ }, { immediate: !0 }), l(_, (e) => {
1838
+ u.value = e;
1839
+ }), Un(d, h), m(() => {
1840
+ Kn(g), u.value = void 0;
1841
+ }), {
1842
+ sensor: u,
1843
+ isLoading: c(() => f.value || !p.value),
1844
+ error: h
1845
+ };
1846
+ }
1847
+ function Zn(e, t) {
1848
+ return Xn(e, g.Motion, t);
1849
+ }
1850
+ function Qn(e, t) {
1851
+ return Xn(e, g.Object, t);
1852
+ }
1853
+ function $n(e, t) {
1854
+ return Xn(e, g.Face, t);
1855
+ }
1856
+ function er(e, t) {
1857
+ return Xn(e, g.LicensePlate, t);
1858
+ }
1859
+ function tr(e) {
1860
+ return Xn(e, g.PTZ);
1861
+ }
1862
+ function nr(e) {
1863
+ let t = A(), { isConnected: n } = t, a = i([]), o = i(), u = r(!1), d = r(!1), f = r(), p = Bn();
1864
+ l([n, () => dn(s(e))], async ([e, n]) => {
1865
+ if (e && n) {
1866
+ let r = await Hn(p, t, e, u, f, jn(n));
1867
+ o.value = r, a.value = r ? Vn(r, n).filter((e) => e.type === g.Classifier) : [], d.value = !0;
1868
+ } else Kn(p), a.value = [], o.value = void 0;
1869
+ }, { immediate: !0 });
1870
+ let h = c(() => {
1871
+ if (!o.value) return [];
1872
+ let t = dn(s(e));
1873
+ return t ? Vn(o.value, t).filter((e) => e.type === g.Classifier) : [];
1874
+ });
1875
+ return Un(o, f), m(() => {
1876
+ Kn(p), a.value = [];
1877
+ }), {
1878
+ sensors: h,
1879
+ isLoading: c(() => u.value || !d.value),
1880
+ error: f
1881
+ };
1882
+ }
1883
+ function rr(e, t) {
1884
+ let n = i(), a = r(!1), o = r(), s = null;
1885
+ async function c() {
1886
+ if (s) return s;
1887
+ a.value = !0, o.value = void 0;
1888
+ try {
1889
+ return s = e.getConfig().finally(() => {
1890
+ s = null;
1891
+ }), n.value = await s, n.value;
1892
+ } catch (e) {
1893
+ o.value = e instanceof Error ? e : Error(String(e));
1894
+ return;
1895
+ } finally {
1896
+ a.value = !1;
1897
+ }
1898
+ }
1899
+ async function l(t, n) {
1900
+ a.value = !0, o.value = void 0;
1901
+ try {
1902
+ await e.setValue(t, n), await c();
1903
+ } catch (e) {
1904
+ throw o.value = e instanceof Error ? e : Error(String(e)), e;
1905
+ } finally {
1906
+ a.value = !1;
1907
+ }
1908
+ }
1909
+ async function u(t) {
1910
+ a.value = !0, o.value = void 0;
1911
+ try {
1912
+ await e.setConfig(t), await c();
1913
+ } catch (e) {
1914
+ throw o.value = e instanceof Error ? e : Error(String(e)), e;
1915
+ } finally {
1916
+ a.value = !1;
1917
+ }
1918
+ }
1919
+ async function d(t, n) {
1920
+ a.value = !0, o.value = void 0;
1921
+ try {
1922
+ let r = await e.submitValue(t, n);
1923
+ return (!r?.toast || r.toast.type !== "error") && await c(), r;
1924
+ } catch (e) {
1925
+ throw o.value = e instanceof Error ? e : Error(String(e)), e;
1926
+ } finally {
1927
+ a.value = !1;
1928
+ }
1929
+ }
1930
+ return {
1931
+ proxy: e,
1932
+ client: t,
1933
+ config: n,
1934
+ isLoading: a,
1935
+ error: o,
1936
+ getConfig: c,
1937
+ setValue: l,
1938
+ setConfig: u,
1939
+ submitValue: d
1940
+ };
1941
+ }
1942
+ var ir = E({ releaseDelay: 1e3 });
1943
+ function ar(e) {
1944
+ return `plugin:${e}`;
1945
+ }
1946
+ function or(e, t) {
1947
+ return `plugin:${e}:camera:${t}`;
1948
+ }
1949
+ function sr(e, t) {
1950
+ return `plugin:${e}:sensor:${t}`;
1951
+ }
1952
+ function cr(e, t, n) {
1953
+ let r = ir.get(e);
1954
+ return r && r.client !== t && ir.forceRelease(e), ir.acquire(e, () => rr(n(), t));
1955
+ }
1956
+ function lr(e, t) {
1957
+ ir.release(e, t);
1958
+ }
1959
+ function ur() {
1960
+ ir.clear(), Ot();
1961
+ }
1962
+ function dr() {
1963
+ return {
1964
+ currentStorageKey: void 0,
1965
+ cachedStorage: void 0,
1966
+ load: void 0,
1967
+ disposed: !1
1968
+ };
1969
+ }
1970
+ function fr(e, t) {
1971
+ let n = e.load;
1972
+ n && (clearTimeout(n.timer), e.load = void 0, n.settle(t));
1973
+ }
1974
+ function pr(e, t, n) {
1975
+ fr(e, void 0), e.currentStorageKey &&= (lr(e.currentStorageKey, e.cachedStorage), void 0), t.value = !1, e.cachedStorage = void 0, n.value = void 0;
1976
+ }
1977
+ function mr(e, t, n, r, i) {
1978
+ (e.currentStorageKey !== t || e.cachedStorage?.client !== n) && (e.currentStorageKey && e.currentStorageKey !== t && (lr(e.currentStorageKey, e.cachedStorage), r.value = void 0), e.currentStorageKey = t, e.cachedStorage = cr(t, n, i));
1979
+ }
1980
+ var hr = [
1981
+ 2e3,
1982
+ 5e3,
1983
+ 1e4,
1984
+ 15e3,
1985
+ 15e3,
1986
+ 15e3,
1987
+ 15e3,
1988
+ 15e3
1989
+ ];
1990
+ function gr(e, t, n, r, i, a) {
1991
+ let o = 0;
1992
+ a && m(en(s));
1993
+ function s(t, n) {
1994
+ t === a?.pluginName() && (n ? (e.load || r.value) && c() : e.load?.timer && fr(e, void 0));
1995
+ }
1996
+ function c() {
1997
+ if (!e.cachedStorage) return Promise.resolve(void 0);
1998
+ a && ln(a.rpc), e.load && e.load.key !== e.currentStorageKey && fr(e, void 0);
1999
+ let t = e.load ?? l();
2000
+ return t.retries = 0, t.rebound = !1, t.storage !== e.cachedStorage && (clearTimeout(t.timer), t.timer = void 0, u(t, !0)), t.result;
2001
+ }
2002
+ function l() {
2003
+ let t, n = new Promise((e) => t = e), r = {
2004
+ key: e.currentStorageKey,
2005
+ result: n,
2006
+ settle: t,
2007
+ storage: void 0,
2008
+ retries: 0,
2009
+ rebound: !1,
2010
+ timer: void 0
2011
+ };
2012
+ return e.load = r, r;
2013
+ }
2014
+ async function u(a, s) {
2015
+ let c = e.cachedStorage;
2016
+ if (!c) fr(e, void 0);
2017
+ else {
2018
+ a.storage = c, s && (o++, n.value = !0);
2019
+ try {
2020
+ let n = await c.getConfig();
2021
+ if (e.load !== a || e.cachedStorage !== c) return;
2022
+ if (i && !a.rebound && T(c.error.value)) {
2023
+ if (a.rebound = !0, await i()) {
2024
+ if (e.load !== a) return;
2025
+ a.key = e.currentStorageKey, await u(a, s);
2026
+ return;
2027
+ }
2028
+ if (e.load !== a || e.cachedStorage !== c) return;
2029
+ }
2030
+ t.value = c.config.value, r.value = c.error.value, c.error.value ? d(a) : fr(e, n);
2031
+ } finally {
2032
+ a.storage === c && (a.storage = void 0), s && --o === 0 && (n.value = !1);
2033
+ }
2034
+ }
2035
+ }
2036
+ function d(t) {
2037
+ let n = a?.pluginName(), r = n && tn(n) ? void 0 : hr[t.retries++];
2038
+ r === void 0 ? fr(e, void 0) : t.timer = setTimeout(() => {
2039
+ t.timer = void 0, t.key === e.currentStorageKey ? u(t, !1) : fr(e, void 0);
2040
+ }, r);
2041
+ }
2042
+ async function f(i, a) {
2043
+ let o = e.cachedStorage;
2044
+ if (!o) throw Error("Storage not connected");
2045
+ n.value = !0, r.value = void 0;
2046
+ try {
2047
+ await o.setValue(i, a), e.cachedStorage === o && (t.value = o.config.value);
2048
+ } catch (e) {
2049
+ throw r.value = e instanceof Error ? e : Error(String(e)), e;
2050
+ } finally {
2051
+ n.value = !1;
2052
+ }
2053
+ }
2054
+ async function p(i) {
2055
+ let a = e.cachedStorage;
2056
+ if (!a) throw Error("Storage not connected");
2057
+ n.value = !0, r.value = void 0;
2058
+ try {
2059
+ await a.setConfig(i), e.cachedStorage === a && (t.value = a.config.value);
2060
+ } catch (e) {
2061
+ throw r.value = e instanceof Error ? e : Error(String(e)), e;
2062
+ } finally {
2063
+ n.value = !1;
2064
+ }
2065
+ }
2066
+ async function h(i, a) {
2067
+ let o = e.cachedStorage;
2068
+ if (!o) throw Error("Storage not connected");
2069
+ n.value = !0, r.value = void 0;
2070
+ try {
2071
+ let n = await o.submitValue(i, a);
2072
+ return e.cachedStorage === o && (t.value = o.config.value), n;
2073
+ } catch (e) {
2074
+ throw r.value = e instanceof Error ? e : Error(String(e)), e;
2075
+ } finally {
2076
+ n.value = !1;
2077
+ }
2078
+ }
2079
+ return {
2080
+ getConfig: c,
2081
+ setValue: f,
2082
+ setConfig: p,
2083
+ submitValue: h
2084
+ };
2085
+ }
2086
+ function _r(e) {
2087
+ let t = A(), { rpc: n, isConnected: a } = t, o = i(), u = r(!1), d = r(!1), f = r(), p = r(!1), h = dr(), g = gr(h, o, u, f, y, {
2088
+ rpc: n,
2089
+ pluginName: () => s(e)
2090
+ });
2091
+ function _(e, t) {
2092
+ mr(h, ar(e), t, o, () => {
2093
+ let n = N.pluginNamespaces(e);
2094
+ return t.createProxy(n.pluginStorageRpc);
2095
+ });
2096
+ }
2097
+ async function v(e) {
2098
+ let t = n.value;
2099
+ if (!t || !a.value) return !1;
2100
+ try {
2101
+ let r = await jt(n, e);
2102
+ if (h.disposed) return !1;
2103
+ if (!r) throw Error(`Plugin "${e}" not found`);
2104
+ return _(r, t), p.value = !0, !0;
2105
+ } catch (e) {
2106
+ return f.value = e instanceof Error ? e : Error(String(e)), p.value = !1, !1;
2107
+ }
2108
+ }
2109
+ async function y() {
2110
+ let t = s(e), r = h.cachedStorage;
2111
+ if (!t || !r) return !1;
2112
+ At(t);
2113
+ let i = await jt(n, t).catch(() => void 0);
2114
+ if (!i || h.disposed || h.cachedStorage !== r) return !1;
2115
+ let a = h.currentStorageKey;
2116
+ return _(i, r.client), h.currentStorageKey !== a;
2117
+ }
2118
+ async function b() {
2119
+ let t = s(e);
2120
+ if (t && await v(t)) return g.getConfig();
2121
+ }
2122
+ async function x() {
2123
+ let t = s(e);
2124
+ a.value && t ? (await v(t), g.getConfig()) : pr(h, p, o), d.value = !0;
2125
+ }
2126
+ return l([a, () => s(e)], x, { immediate: !0 }), t.on("reconnected", x), m(() => {
2127
+ h.disposed = !0, t.off("reconnected", x), pr(h, p, o);
2128
+ }), {
2129
+ config: o,
2130
+ isLoading: c(() => u.value || !d.value),
2131
+ error: f,
2132
+ isConnected: p,
2133
+ getConfig: b,
2134
+ setValue: g.setValue,
2135
+ setConfig: g.setConfig,
2136
+ submitValue: g.submitValue
2137
+ };
2138
+ }
2139
+ function vr(e, t) {
2140
+ let n = A(), { rpc: a, isConnected: o } = n, u = i(), d = r(!1), f = r(!1), p = r(), h = r(!1), g = dr(), _ = gr(g, u, d, p, b, {
2141
+ rpc: a,
2142
+ pluginName: () => s(t)
2143
+ });
2144
+ function v(e, t, n) {
2145
+ mr(g, or(e, t), n, u, () => {
2146
+ let r = N.pluginCameraNamespaces(e, t);
2147
+ return n.createProxy(r.cameraStorageRpc);
2148
+ });
2149
+ }
2150
+ async function y(e, t) {
2151
+ let n = a.value;
2152
+ if (!n || !o.value) return !1;
2153
+ try {
2154
+ let r = await jt(a, t);
2155
+ if (g.disposed) return !1;
2156
+ if (!r) throw Error(`Plugin "${t}" not found`);
2157
+ return v(r, e, n), h.value = !0, !0;
2158
+ } catch (e) {
2159
+ return p.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
2160
+ }
2161
+ }
2162
+ async function b() {
2163
+ let n = dn(s(e)), r = s(t), i = g.cachedStorage;
2164
+ if (!n || !r || !i) return !1;
2165
+ At(r);
2166
+ let o = await jt(a, r).catch(() => void 0);
2167
+ if (!o || g.disposed || g.cachedStorage !== i) return !1;
2168
+ let c = g.currentStorageKey;
2169
+ return v(o, n, i.client), g.currentStorageKey !== c;
2170
+ }
2171
+ async function x() {
2172
+ let n = dn(s(e)), r = s(t);
2173
+ if (n && r && await y(n, r)) return _.getConfig();
2174
+ }
2175
+ async function S() {
2176
+ let n = dn(s(e)), r = s(t);
2177
+ o.value && n && r ? (await y(n, r), _.getConfig()) : pr(g, h, u), f.value = !0;
2178
+ }
2179
+ return l([
2180
+ o,
2181
+ () => dn(s(e)),
2182
+ () => s(t)
2183
+ ], S, { immediate: !0 }), n.on("reconnected", S), m(() => {
2184
+ g.disposed = !0, n.off("reconnected", S), pr(g, h, u);
2185
+ }), {
2186
+ config: u,
2187
+ isLoading: c(() => d.value || !f.value),
2188
+ error: p,
2189
+ isConnected: h,
2190
+ getConfig: x,
2191
+ setValue: _.setValue,
2192
+ setConfig: _.setConfig,
2193
+ submitValue: _.submitValue
2194
+ };
2195
+ }
2196
+ function yr(e, t) {
2197
+ let n = A(), { rpc: a, isConnected: o } = n, u = i(), d = r(!1), f = r(!1), p = r(), h = r(!1), g = dr(), _ = gr(g, u, d, p, void 0, {
2198
+ rpc: a,
2199
+ pluginName: () => {
2200
+ let e = s(t);
2201
+ return e ? kt(e) : void 0;
2202
+ }
2203
+ });
2204
+ function v(e, t) {
2205
+ let n = a.value;
2206
+ if (!n || !o.value) return !1;
2207
+ try {
2208
+ return mr(g, sr(t, e), n, u, () => {
2209
+ let r = N.pluginSensorNamespaces(t, e);
2210
+ return n.createProxy(r.sensorStorageRpc);
2211
+ }), h.value = !0, !0;
2212
+ } catch (e) {
2213
+ return p.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
2214
+ }
2215
+ }
2216
+ async function y() {
2217
+ let n = s(e), r = s(t);
2218
+ if (n && r && v(n, r)) return _.getConfig();
2219
+ }
2220
+ function b() {
2221
+ let n = s(e), r = s(t);
2222
+ o.value && n && r ? (v(n, r), _.getConfig()) : pr(g, h, u), f.value = !0;
2223
+ }
2224
+ return l([
2225
+ o,
2226
+ () => s(e),
2227
+ () => s(t)
2228
+ ], b, { immediate: !0 }), n.on("reconnected", b), m(() => {
2229
+ g.disposed = !0, n.off("reconnected", b), pr(g, h, u);
2230
+ }), {
2231
+ config: u,
2232
+ isLoading: c(() => d.value || !f.value),
2233
+ error: p,
2234
+ isConnected: h,
2235
+ getConfig: y,
2236
+ setValue: _.setValue,
2237
+ setConfig: _.setConfig,
2238
+ submitValue: _.submitValue
2239
+ };
2240
+ }
2241
+ function br() {
2242
+ Xt(), mt(), ur(), Fn(), et(), Ft();
2243
+ }
2244
+ function xr() {
2245
+ Xt(), St(), In();
2246
+ }
2247
+ function Sr() {
2248
+ nn(), Ct();
2249
+ }
2250
+ var Cr = Symbol("camera-ui"), wr = new h("plugin");
2251
+ function Tr(e) {
2252
+ return "rpc" in e && "isConnected" in e;
2253
+ }
2254
+ var Er = 4e3;
2255
+ function Dr(e) {
2256
+ let { natsTransport: t, bulkTransport: n, target: a, wsTransport: o } = e, s = t.getClient() !== null, l = t.getClient(), f = null, p = !1, m = i(t.getClient() ?? void 0), h = r(t.getClient()?.isConnected ?? !1), g = r(void 0), _ = c(() => a.value?.endpoint.url), v = c(() => a.value?.tokens.access), y = c(() => void 0), b = /* @__PURE__ */ new Map();
2257
+ function x(e, t) {
2258
+ let n = b.get(e);
2259
+ n || (n = /* @__PURE__ */ new Set(), b.set(e, n)), n.add(t);
2260
+ }
2261
+ function S(e, t) {
2262
+ b.get(e)?.delete(t);
2263
+ }
2264
+ function C(e) {
2265
+ let t = b.get(e);
2266
+ if (t) for (let e of t) try {
2267
+ e();
2268
+ } catch (e) {
2269
+ wr.warn("context listener threw:", e);
2270
+ }
2271
+ }
2272
+ t.subscribeClient((e) => {
2273
+ if (e) {
2274
+ f !== null && (clearTimeout(f), f = null);
2275
+ let t = h.value, n = e !== l;
2276
+ l = e, m.value = e, h.value = !0, g.value = void 0, s && (!t || n || p) && L(m), !t || n ? (xr(), s && C("reconnected"), s = !0) : p && s && (Sr(), C("reconnected")), p = !1;
2277
+ } else {
2278
+ if (p = !0, m.value = void 0, f !== null || !h.value) return;
2279
+ f = setTimeout(() => {
2280
+ f = null, h.value = !1, C("disconnected");
2281
+ }, Er);
2282
+ }
2283
+ }), t.on("auth-error", (e) => {
2284
+ g.value = Error(e.message ?? "auth-error");
2285
+ }), t.on("down", (e) => {
2286
+ g.value ||= Error(e.reason);
2287
+ }), t.on("up", () => {
2288
+ g.value = void 0;
2289
+ });
2290
+ let w;
2291
+ if (n) {
2292
+ let e = i();
2293
+ n.subscribeClient((t) => {
2294
+ e.value = t ?? void 0;
2295
+ }), w = e;
2296
+ }
2297
+ return u({
2298
+ rpc: m,
2299
+ bulkRpc: w,
2300
+ target: d(a),
2301
+ isConnected: d(h),
2302
+ endpoint: _,
2303
+ token: v,
2304
+ extraProxyQuery: y,
2305
+ error: d(g),
2306
+ wsTransport: o,
2307
+ on: x,
2308
+ off: S
2309
+ });
2310
+ }
2311
+ function Or(e) {
2312
+ return { install(t) {
2313
+ let n = Tr(e) ? e : Dr(e);
2314
+ t.provide(Cr, n);
2315
+ } };
2316
+ }
2317
+ var kr = {
2318
+ standbyTimeout: 5e3,
2319
+ activityTimeout: 5e3,
2320
+ wakeTimeout: 3e4
2321
+ };
2322
+ function Ar(e) {
2323
+ let { initialMode: t = "always-on", config: n = {}, onStreamStart: i, onStreamStop: a, isStreamPlaying: o } = e, s = {
2324
+ ...kr,
2325
+ ...n
2326
+ }, c = r(t), l = r(!1), u = r(!1), d, f, p = !1, m = !1;
2327
+ function h() {
2328
+ d &&= (clearTimeout(d), void 0);
2329
+ }
2330
+ function g() {
2331
+ f &&= (clearTimeout(f), void 0);
2332
+ }
2333
+ function _() {
2334
+ h(), g();
2335
+ }
2336
+ function v() {
2337
+ l.value || (l.value = !0, a());
2338
+ }
2339
+ function y() {
2340
+ l.value && (l.value = !1, i());
2341
+ }
2342
+ function b() {
2343
+ switch (_(), c.value) {
2344
+ case "always-on":
2345
+ l.value = !1, o() || i();
2346
+ break;
2347
+ case "standby":
2348
+ l.value || (o() || i(), x());
2349
+ break;
2350
+ case "activity": u.value ? (l.value = !1, o() || i()) : d = setTimeout(() => {
2351
+ c.value === "activity" && !u.value && v();
2352
+ }, s.activityTimeout);
2353
+ }
2354
+ }
2355
+ function x() {
2356
+ if (g(), p) return;
2357
+ let e = o() ? s.standbyTimeout : s.wakeTimeout;
2358
+ f = setTimeout(() => {
2359
+ c.value === "standby" && v();
2360
+ }, e);
2361
+ }
2362
+ function S(e) {
2363
+ c.value !== e && (c.value = e, m && b());
2364
+ }
2365
+ function C() {
2366
+ m = !0, (c.value === "standby" || c.value === "activity" && !u.value) && !o() ? (_(), v()) : b();
2367
+ }
2368
+ function w(e) {
2369
+ c.value === "activity" && (e ? (u.value = !0, h(), l.value ? y() : o() || i()) : (u.value = !1, h(), d = setTimeout(() => {
2370
+ u.value || v();
2371
+ }, s.activityTimeout)));
2372
+ }
2373
+ function T() {
2374
+ if (l.value) switch (y(), c.value) {
2375
+ case "standby":
2376
+ x();
2377
+ break;
2378
+ case "activity": h(), u.value || (d = setTimeout(() => {
2379
+ v();
2380
+ }, s.activityTimeout));
2381
+ }
2382
+ }
2383
+ function E() {
2384
+ m && c.value === "standby" && !l.value && x();
2385
+ }
2386
+ function D(e) {
2387
+ p !== e && (p = e, e ? g() : E());
2388
+ }
2389
+ function O() {
2390
+ _();
2391
+ }
2392
+ return {
2393
+ mode: c,
2394
+ inStandby: l,
2395
+ hasActivity: u,
2396
+ setMode: S,
2397
+ engage: C,
2398
+ reportActivity: w,
2399
+ resumeFromStandby: T,
2400
+ resetIdleTimer: E,
2401
+ setKeepAwake: D,
2402
+ dispose: O
2403
+ };
2404
+ }
2405
+ var Z = {
2406
+ WEBRTC: {
2407
+ RECONNECT_DELAY: 1e3,
2408
+ CONNECT_TIMEOUT: 1e4,
2409
+ WS_CONNECT_TIMEOUT: 5e3,
2410
+ ICE_SERVERS: [{ urls: "stun:stun.l.google.com:19302" }]
2411
+ },
2412
+ MSE: {
2413
+ BUFFER_SIZE: 2097152,
2414
+ BUFFER_WINDOW: 5,
2415
+ MAX_BUFFER_WINDOW: 60
2416
+ },
2417
+ CODECS: {
2418
+ DEFAULT: [
2419
+ "avc1.640029",
2420
+ "avc1.64002A",
2421
+ "avc1.640033",
2422
+ "hvc1.1.6.L153.B0",
2423
+ "mp4a.40.2",
2424
+ "mp4a.40.5",
2425
+ "flac",
2426
+ "opus"
2427
+ ],
2428
+ WEBRTC_VIDEO: [
2429
+ "H264",
2430
+ "VP8",
2431
+ "VP9"
2432
+ ],
2433
+ WEBRTC_AUDIO: [
2434
+ "opus",
2435
+ "G722",
2436
+ "PCMU",
2437
+ "PCMA"
2438
+ ]
2439
+ }
2440
+ };
2441
+ function jr(e) {
2442
+ if (e.byteLength < 2) return !1;
2443
+ let t = new Uint8Array(e, 0, 2);
2444
+ return t[0] === 255 && t[1] === 216;
2445
+ }
2446
+ function Mr(e) {
2447
+ let { signal: t } = e, n = document.createElement("canvas"), r = n.getContext("2d", { alpha: !1 }), i = n.captureStream(), a = 0, o = !1, s, c = !1;
2448
+ function l(e) {
2449
+ c || t.aborted || (o ? s = e : u(e));
2450
+ }
2451
+ async function u(e) {
2452
+ o = !0;
2453
+ try {
2454
+ let t = await createImageBitmap(new Blob([e], { type: "image/jpeg" }));
2455
+ c || d(t), t.close();
2456
+ } catch {}
2457
+ o = !1;
2458
+ let t = s;
2459
+ s = void 0, t && !c && u(t);
2460
+ }
2461
+ function d(e) {
2462
+ r && ((n.width !== e.width || n.height !== e.height) && (n.width = e.width, n.height = e.height), r.drawImage(e, 0, 0), a++);
2463
+ }
2464
+ function f() {
2465
+ c = !0, s = void 0;
2466
+ for (let e of i.getTracks()) e.stop();
2467
+ }
2468
+ return t.addEventListener("abort", f, { once: !0 }), {
2469
+ stream: i,
2470
+ get frames() {
2471
+ return a;
2472
+ },
2473
+ appendFrame: l,
2474
+ close: f
2475
+ };
2476
+ }
2477
+ var Nr = 1836019574, Pr = 1953653099, Fr = 1953196132, Ir = 1835297121, Lr = 1835296868, Rr = 1751411826, zr = 1836475768, Br = 1953654136, Vr = 1836019558, Hr = 1953653094, Ur = 1952868452, Wr = 1952867444, Gr = 1953658222, Kr = 1986618469, qr = 65536, Jr = 4096;
2478
+ function Yr() {
2479
+ let e = /* @__PURE__ */ new Map(), t;
2480
+ function n(n, r, i) {
2481
+ let a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
2482
+ Xr(n, r, i, (e, t, r) => {
2483
+ if (e === Pr) {
2484
+ let e = {
2485
+ id: -1,
2486
+ timescale: 0,
2487
+ video: !1
2488
+ };
2489
+ Xr(n, t, r, (t, r, i) => {
2490
+ t === Fr && r + 24 <= i ? e.id = n.getUint32(r + (n.getUint8(r) === 1 ? 20 : 12)) : t === Ir && Xr(n, r, i, (t, r, i) => {
2491
+ t === Lr && r + 24 <= i ? e.timescale = n.getUint32(r + (n.getUint8(r) === 1 ? 20 : 12)) : t === Rr && r + 12 <= i && (e.video = n.getUint32(r + 8) === Kr);
2492
+ });
2493
+ }), e.id >= 0 && e.timescale > 0 && a.set(e.id, e);
2494
+ } else e === zr && Xr(n, t, r, (e, t, r) => {
2495
+ e === Br && t + 24 <= r && o.set(n.getUint32(t + 4), {
2496
+ duration: n.getUint32(t + 12),
2497
+ flags: n.getUint32(t + 20)
2498
+ });
2499
+ });
2500
+ }), e.clear();
2501
+ for (let [t, { timescale: n, video: r }] of a) {
2502
+ let i = o.get(t);
2503
+ e.set(t, {
2504
+ timescale: n,
2505
+ video: r,
2506
+ defaultDuration: i?.duration ?? 0,
2507
+ defaultFlags: i?.flags ?? 0
2508
+ });
2509
+ }
2510
+ t = [...e.values()].some((e) => e.video);
2511
+ }
2512
+ function r(t, n, r, i) {
2513
+ let a = {
2514
+ duration: 0,
2515
+ flags: 0
2516
+ };
2517
+ Xr(t, n, r, (n, r, o) => {
2518
+ if (n === Ur && r + 8 <= o) {
2519
+ let n = e.get(t.getUint32(r + 4)), i = t.getUint32(r) & 16777215, s = 8 + (i & 1 ? 8 : 0) + (i & 2 ? 4 : 0) + (i & 8 ? 4 : 0) + (i & 16 ? 4 : 0) + (i & 32 ? 4 : 0);
2520
+ if (!n?.video || r + s > o) return;
2521
+ let c = r + 8 + (i & 1 ? 8 : 0) + (i & 2 ? 4 : 0);
2522
+ a.duration = n.defaultDuration, a.flags = n.defaultFlags, i & 8 && (a.duration = t.getUint32(c), c += 4), i & 16 && (c += 4), i & 32 && (a.flags = t.getUint32(c)), a.track = n;
2523
+ } else n === Wr && r + 8 <= o ? t.getUint8(r) === 0 ? a.baseTime = t.getUint32(r + 4) : r + 12 <= o && (a.baseTime = t.getUint32(r + 4) * 2 ** 32 + t.getUint32(r + 8)) : n === Gr && Zr(a) && (a.baseTime = Qr(t, r, o, a, i));
2524
+ });
2525
+ }
2526
+ function i(e, i) {
2527
+ let a = new DataView(e);
2528
+ Xr(a, 0, a.byteLength, (e, o, s) => {
2529
+ e === Nr ? n(a, o, s) : e === Vr && t && Xr(a, o, s, (e, t, n) => {
2530
+ e === Hr && r(a, t, n, i);
2531
+ });
2532
+ });
2533
+ }
2534
+ return {
2535
+ get hasVideo() {
2536
+ return t;
2537
+ },
2538
+ scan: i
2539
+ };
2540
+ }
2541
+ function Xr(e, t, n, r) {
2542
+ let i = t;
2543
+ for (; i + 8 <= n;) {
2544
+ let t = e.getUint32(i), a = 8;
2545
+ if (t === 1) {
2546
+ if (i + 16 > n) return;
2547
+ t = e.getUint32(i + 8) * 2 ** 32 + e.getUint32(i + 12), a = 16;
2548
+ } else t === 0 && (t = n - i);
2549
+ if (t < a || i + t > n) return;
2550
+ r(e.getUint32(i + 4), i + a, i + t), i += t;
2551
+ }
2552
+ }
2553
+ function Zr(e) {
2554
+ return e.track !== void 0 && e.baseTime !== void 0;
2555
+ }
2556
+ function Qr(e, t, n, r, i) {
2557
+ if (t + 8 > n) return r.baseTime;
2558
+ let a = e.getUint8(t), o = e.getUint32(t) & 16777215, s = e.getUint32(t + 4), c = t + 8;
2559
+ o & 1 && (c += 4);
2560
+ let l;
2561
+ if (o & 4) {
2562
+ if (c + 4 > n) return r.baseTime;
2563
+ l = e.getUint32(c), c += 4;
2564
+ }
2565
+ let u = (o & 256 ? 4 : 0) + (o & 512 ? 4 : 0) + (o & 1024 ? 4 : 0) + (o & 2048 ? 4 : 0);
2566
+ if (s > Jr || c + s * u > n) return r.baseTime;
2567
+ let d = r.baseTime;
2568
+ for (let t = 0; t < s; t++) {
2569
+ let n = r.duration, s = t === 0 && l !== void 0 ? l : r.flags, u = 0;
2570
+ o & 256 && (n = e.getUint32(c), c += 4), o & 512 && (c += 4), o & 1024 && (s = e.getUint32(c), c += 4), o & 2048 && (u = a === 0 ? e.getUint32(c) : e.getInt32(c), c += 4), s & qr || i((d + u) / r.track.timescale), d += n;
2571
+ }
2572
+ return d;
2573
+ }
2574
+ var $r = "hvc1.1.6.L153.B0";
2575
+ function ei() {
2576
+ return navigator.userAgent.match(/version\/(\d+)/i);
2577
+ }
2578
+ function ti() {
2579
+ return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
2580
+ }
2581
+ function ni() {
2582
+ return globalThis.Capacitor?.isNativePlatform?.() ? !0 : typeof navigator > "u" ? !1 : ti() || /Macintosh/i.test(navigator.userAgent) && navigator.maxTouchPoints > 1;
2583
+ }
2584
+ function ri() {
2585
+ let e = [...Z.CODECS.DEFAULT], t = ei();
2586
+ if (t?.[1]) {
2587
+ let n = parseInt(t[1], 10);
2588
+ if (n < 13) {
2589
+ let t = e.indexOf("mp4a.40.2");
2590
+ t > -1 && e.splice(t);
2591
+ } else if (n < 14) {
2592
+ let t = e.indexOf("flac");
2593
+ t > -1 && e.splice(t);
2594
+ } else {
2595
+ let t = e.indexOf("opus");
2596
+ t > -1 && e.splice(t);
2597
+ }
2598
+ }
2599
+ return e;
2600
+ }
2601
+ function ii(e, t) {
2602
+ return e.filter((e) => t(`video/mp4; codecs="${e}"`)).join(",");
2603
+ }
2604
+ function ai(e) {
2605
+ return Z.CODECS.WEBRTC_AUDIO.includes(e);
2606
+ }
2607
+ function oi(e) {
2608
+ return Z.CODECS.WEBRTC_VIDEO.includes(e) ? !0 : e === "H265" && fi();
2609
+ }
2610
+ var si, ci;
2611
+ function li(e) {
2612
+ if (e === "auto") return li("webrtc") || li("mse");
2613
+ if (e === "mse") return si === void 0 && (si = !!hi()?.isTypeSupported(`video/mp4; codecs="${$r}"`)), si;
2614
+ if (ci === void 0) try {
2615
+ ci = !!(RTCRtpReceiver?.getCapabilities("video")?.codecs)?.some((e) => e.mimeType.toLowerCase().includes("h265") || e.mimeType.toLowerCase().includes("hevc"));
2616
+ } catch {
2617
+ ci = !1;
2618
+ }
2619
+ return ci;
2620
+ }
2621
+ function ui() {
2622
+ return typeof createImageBitmap == "function" && typeof HTMLCanvasElement == "function" && typeof HTMLCanvasElement.prototype.captureStream == "function";
2623
+ }
2624
+ function di(e) {
2625
+ e === "mse" ? si = !1 : ci = !1;
2626
+ }
2627
+ function fi() {
2628
+ return li("webrtc");
2629
+ }
2630
+ function pi(e) {
2631
+ let t = e.audio.filter((e) => e.direction === "sendonly"), n = e.video.filter((e) => e.direction === "sendonly"), r = t.length === 0 || t.some((e) => ai(e.codec)), i = n.length === 0 || n.some((e) => oi(e.codec)), a = [];
2632
+ return r || a.push(...t.map((e) => e.codec)), i || a.push(...n.map((e) => e.codec)), {
2633
+ compatible: r && i,
2634
+ audioCompatible: r,
2635
+ videoCompatible: i,
2636
+ incompatibleCodecs: a
2637
+ };
2638
+ }
2639
+ function mi() {
2640
+ return "ManagedMediaSource" in window;
2641
+ }
2642
+ function hi() {
2643
+ if (mi()) return window.ManagedMediaSource;
2644
+ if ("MediaSource" in window) return window.MediaSource;
2645
+ }
2646
+ function gi(e) {
2647
+ return e ? typeof document < "u" && "pictureInPictureElement" in document && document.pictureInPictureElement === e || e.webkitPresentationMode === "picture-in-picture" : !1;
2648
+ }
2649
+ function _i(e, t) {
2650
+ return new Promise((n, r) => {
2651
+ if (t.aborted) {
2652
+ r(new DOMException("Aborted", "AbortError"));
2653
+ return;
2654
+ }
2655
+ let i = setTimeout(n, e);
2656
+ t.addEventListener("abort", () => {
2657
+ clearTimeout(i), r(new DOMException("Aborted", "AbortError"));
2658
+ }, { once: !0 });
2659
+ });
2660
+ }
2661
+ var vi = .001, yi = 256, bi = .3, xi = 262144;
2662
+ function Si(e) {
2663
+ let { videoElement: t, onReady: n, onFirstData: r, onError: i, signal: a } = e, o = null, s = null, c = null, l = !1, u = !1, d = !1, f = /* @__PURE__ */ new Uint8Array(), p = 0, m = [], h = ri(), g = Yr(), _ = [];
2664
+ function v() {
2665
+ if (a.aborted) return;
2666
+ let e = hi();
2667
+ if (!e) {
2668
+ A(/* @__PURE__ */ Error("MediaSource not supported"), "setup");
2669
+ return;
2670
+ }
2671
+ o = new e();
2672
+ let n = mi(), r = t.src;
2673
+ return o.addEventListener("sourceopen", () => {
2674
+ a.aborted || !n && r && r.startsWith("blob:") && r !== t.src && URL.revokeObjectURL(r);
2675
+ }, { once: !0 }), n ? (t.disableRemotePlayback = !0, t.srcObject = o) : (c = URL.createObjectURL(o), t.src = c, t.srcObject = null), t.addEventListener("error", k), ii(h, e.isTypeSupported.bind(e));
2676
+ }
2677
+ function y(e) {
2678
+ if (a.aborted || !o) return;
2679
+ if (o.readyState !== "open") {
2680
+ o.addEventListener("sourceopen", () => {
2681
+ a.aborted || y(e);
2682
+ }, { once: !0 });
2683
+ return;
2684
+ }
2685
+ p = 0, _.length = 0;
2686
+ let t = hi();
2687
+ if (t && !t.isTypeSupported(e)) A(/* @__PURE__ */ Error(`MIME type not supported: ${e}`), "setup");
2688
+ else try {
2689
+ if (s = o.addSourceBuffer(e), s.mode = "segments", s.addEventListener("updateend", b), s.addEventListener("error", O), l = !0, m.length > 0) {
2690
+ for (let e of m) x(e);
2691
+ m.length = 0;
2692
+ }
2693
+ if (d || a.aborted) return;
2694
+ n();
2695
+ } catch (e) {
2696
+ A(e, l ? "runtime" : "setup");
2697
+ }
2698
+ }
2699
+ function b() {
2700
+ if (!a.aborted && !d && s && o) {
2701
+ if (!s.updating && p > 0) try {
2702
+ s.appendBuffer(f.subarray(0, p)), p = 0;
2703
+ } catch (e) {
2704
+ if (!C(e)) {
2705
+ A(e, "runtime");
2706
+ return;
2707
+ }
2708
+ }
2709
+ if (!s.updating && s.buffered?.length) {
2710
+ let e = s.buffered.end(s.buffered.length - 1), n = s.buffered.start(0), i = Z.MSE.BUFFER_WINDOW;
2711
+ u || (u = !0, r());
2712
+ let a = E(Math.min(t.currentTime, e) - i);
2713
+ if (e - n > Z.MSE.MAX_BUFFER_WINDOW) {
2714
+ let t = E(e - i);
2715
+ a = t !== void 0 && t > n + vi ? t : e - i;
2716
+ }
2717
+ if (a !== void 0 && a > n + vi) {
2718
+ try {
2719
+ s.remove(n, a - vi), o.setLiveSeekableRange(a, e);
2720
+ } catch {}
2721
+ T(a);
2722
+ }
2723
+ if (t.currentTime < e - i) {
2724
+ let n = D(e - i, e);
2725
+ n > t.currentTime && (t.currentTime = n);
2726
+ }
2727
+ let c = e - t.currentTime;
2728
+ c > 1 ? t.playbackRate = 1.1 : c < .1 ? t.playbackRate = .9 : t.playbackRate = 1;
2729
+ }
2730
+ }
2731
+ }
2732
+ function x(e) {
2733
+ if (!(a.aborted || d)) {
2734
+ if (!s) m.push(e);
2735
+ else if (o?.readyState === "closed" || o?.readyState === "ended") A(/* @__PURE__ */ Error(`MediaSource ${o.readyState}`), "runtime");
2736
+ else if (g.scan(e, w), s.updating || p > 0) {
2737
+ if (!S(new Uint8Array(e))) {
2738
+ p = 0, A(/* @__PURE__ */ Error("MSE pending buffer overflow"), "runtime");
2739
+ return;
2740
+ }
2741
+ } else try {
2742
+ s.appendBuffer(e);
2743
+ } catch (t) {
2744
+ C(t) ? S(new Uint8Array(e)) : A(t, "runtime");
2745
+ }
2746
+ }
2747
+ }
2748
+ function S(e) {
2749
+ let t = p + e.byteLength;
2750
+ if (t > Z.MSE.BUFFER_SIZE) return !1;
2751
+ if (t > f.byteLength) {
2752
+ let e = Math.max(f.byteLength, xi);
2753
+ for (; e < t;) e *= 2;
2754
+ let n = new Uint8Array(Math.min(e, Z.MSE.BUFFER_SIZE));
2755
+ n.set(f.subarray(0, p)), f = n;
2756
+ }
2757
+ return f.set(e, p), p = t, !0;
2758
+ }
2759
+ function C(e) {
2760
+ if (e?.name !== "QuotaExceededError" || !s || s.updating || !s.buffered?.length) return !1;
2761
+ try {
2762
+ let e = s.buffered.start(0), n = s.buffered.end(s.buffered.length - 1), r = E(Math.min(t.currentTime, n)) ?? Math.max(e + 1, n - Z.MSE.BUFFER_WINDOW);
2763
+ return r <= e + vi ? !1 : (s.remove(e, r - vi), T(r), !0);
2764
+ } catch {
2765
+ return !1;
2766
+ }
2767
+ }
2768
+ function w(e) {
2769
+ for (; _.length && _[_.length - 1] >= e;) _.pop();
2770
+ _.push(e), _.length > yi && _.shift();
2771
+ }
2772
+ function T(e) {
2773
+ for (; _.length && _[0] < e;) _.shift();
2774
+ }
2775
+ function E(e) {
2776
+ if (g.hasVideo === !1) return e;
2777
+ for (let t = _.length - 1; t >= 0; t--) if (_[t] <= e) return _[t];
2778
+ }
2779
+ function D(e, t) {
2780
+ if (!g.hasVideo) return e;
2781
+ let n = e;
2782
+ for (let r of _) if (r > t || (n = r, r >= e)) break;
2783
+ return n;
2784
+ }
2785
+ function O() {
2786
+ A(/* @__PURE__ */ Error("SourceBuffer error"), "runtime");
2787
+ }
2788
+ function k() {
2789
+ let e = t.error;
2790
+ A(Error(e?.message || `Video element error ${e?.code ?? "unknown"}`), "runtime");
2791
+ }
2792
+ function A(e, t) {
2793
+ d || a.aborted || (d = !0, i(e instanceof Error ? e : Error(String(e)), t));
2794
+ }
2795
+ function j() {
2796
+ if (t.removeEventListener("error", k), s) {
2797
+ if (s.removeEventListener("updateend", b), s.removeEventListener("error", O), o?.readyState === "open") try {
2798
+ o.removeSourceBuffer(s);
2799
+ } catch {}
2800
+ s = null;
2801
+ }
2802
+ if (o?.readyState === "open") try {
2803
+ o.endOfStream();
2804
+ } catch {}
2805
+ o = null, c &&= (URL.revokeObjectURL(c), null), l = !1, u = !1, p = 0, m.length = 0, _.length = 0;
2806
+ }
2807
+ return a.addEventListener("abort", j, { once: !0 }), {
2808
+ get mediaSource() {
2809
+ return o;
2810
+ },
2811
+ get sourceBuffer() {
2812
+ return s;
2813
+ },
2814
+ get isReady() {
2815
+ return l;
2816
+ },
2817
+ setup: v,
2818
+ initializeBuffer: y,
2819
+ appendBuffer: x,
2820
+ close: j
2821
+ };
2822
+ }
2823
+ function Ci(e) {
2824
+ if (e.buffered.length > 0) {
2825
+ let t = e.buffered.end(e.buffered.length - 1);
2826
+ t - e.currentTime > 1 && (e.currentTime = t - bi);
2827
+ }
2828
+ }
2829
+ async function wi(e) {
2830
+ try {
2831
+ await e.play();
2832
+ } catch {
2833
+ e.muted || (e.muted = !0, await wi(e));
2834
+ }
2835
+ }
2836
+ function Ti(e, t, n) {
2837
+ let r = new RTCPeerConnection({
2838
+ bundlePolicy: "max-bundle",
2839
+ iceServers: [...Z.WEBRTC.ICE_SERVERS]
2840
+ });
2841
+ return r.onicecandidate = (r) => {
2842
+ if (e.aborted || n && r.candidate?.protocol === "udp") return;
2843
+ let i = r.candidate?.toJSON().candidate ?? "";
2844
+ i && t(i);
2845
+ }, r;
2846
+ }
2847
+ async function Ei(e, t, n) {
2848
+ !t.aborted && e && await e.setRemoteDescription({
2849
+ type: "answer",
2850
+ sdp: n
2851
+ });
2852
+ }
2853
+ async function Di(e, t, n, r) {
2854
+ !t.aborted && e && (r && n.includes(" udp ") || await e.addIceCandidate({
2855
+ candidate: n,
2856
+ sdpMid: "0"
2857
+ }));
2858
+ }
2859
+ async function Oi(e, t, n) {
2860
+ if (!t.aborted && e) try {
2861
+ await e.sender.replaceTrack(n);
2862
+ } catch {}
2863
+ }
2864
+ function ki(e) {
2865
+ e.micTransceiver &&= (e.micTransceiver.sender.replaceTrack(null).catch(() => {}), null), e.pc &&= (e.pc.getTransceivers().forEach((e) => e.sender?.track?.stop()), e.pc.close(), null), e.isConnected = !1;
2866
+ }
2867
+ function Ai(e) {
2868
+ let { mode: t, onConnected: n, onDisconnected: r, onFailed: i, onCandidate: a, signal: o } = e, s = {
2869
+ pc: null,
2870
+ micTransceiver: null,
2871
+ isConnected: !1
2872
+ }, c = t === "webrtc/tcp";
2873
+ function l() {
2874
+ let e = Ti(o, a, c);
2875
+ return e.onconnectionstatechange = () => {
2876
+ if (o.aborted) return;
2877
+ let t = e.connectionState;
2878
+ if (t === "connected") {
2879
+ s.isConnected = !0;
2880
+ let t = new MediaStream(e.getTransceivers().filter((e) => e.currentDirection === "recvonly").map((e) => e.receiver.track));
2881
+ n(t);
2882
+ } else t === "failed" ? (s.isConnected = !1, i()) : t === "disconnected" && (s.isConnected = !1, r());
2883
+ }, e.addTransceiver("video", { direction: "recvonly" }), e.addTransceiver("audio", { direction: "recvonly" }), e;
2884
+ }
2885
+ async function u() {
2886
+ if (o.aborted) return;
2887
+ s.pc = l();
2888
+ let e = await s.pc.createOffer();
2889
+ return await s.pc.setLocalDescription(e), e.sdp;
2890
+ }
2891
+ function d() {
2892
+ ki(s);
2893
+ }
2894
+ return o.addEventListener("abort", d, { once: !0 }), {
2895
+ get pc() {
2896
+ return s.pc;
2897
+ },
2898
+ get isConnected() {
2899
+ return s.isConnected;
2900
+ },
2901
+ createOffer: u,
2902
+ handleAnswer: (e) => Ei(s.pc, o, e),
2903
+ handleCandidate: (e) => Di(s.pc, o, e, c),
2904
+ close: d
2905
+ };
2906
+ }
2907
+ function ji(e) {
2908
+ let { filterUdp: t, onConnected: n, onFailed: r, onCandidate: i, signal: a } = e, o = {
2909
+ pc: null,
2910
+ micTransceiver: null,
2911
+ isConnected: !1
2912
+ }, s = !1, c = [];
2913
+ function l(e) {
2914
+ s ? i(e) : c.push(e);
2915
+ }
2916
+ async function u(e) {
2917
+ if (!a.aborted && o.pc) {
2918
+ s = !0;
2919
+ for (let e of c.splice(0)) i(e);
2920
+ await o.pc.setRemoteDescription({
2921
+ type: "answer",
2922
+ sdp: e
2923
+ });
2924
+ }
2925
+ }
2926
+ function d() {
2927
+ let e = Ti(a, l, t);
2928
+ return e.onconnectionstatechange = () => {
2929
+ if (a.aborted) return;
2930
+ let t = e.connectionState;
2931
+ t === "connected" ? (o.isConnected = !0, n()) : t === "disconnected" ? o.isConnected = !1 : t === "failed" && (o.isConnected = !1, r());
2932
+ }, o.micTransceiver = e.addTransceiver("audio", { direction: "sendonly" }), e;
2933
+ }
2934
+ async function f() {
2935
+ if (a.aborted) return;
2936
+ o.pc = d();
2937
+ let e = await o.pc.createOffer();
2938
+ return await o.pc.setLocalDescription(e), e.sdp;
2939
+ }
2940
+ function p() {
2941
+ ki(o);
2942
+ }
2943
+ return a.addEventListener("abort", p, { once: !0 }), {
2944
+ get isConnected() {
2945
+ return o.isConnected;
2946
+ },
2947
+ createOffer: f,
2948
+ handleAnswer: u,
2949
+ handleCandidate: (e) => Di(o.pc, a, e, t),
2950
+ setMicrophoneTrack: (e) => Oi(o.micTransceiver, a, e),
2951
+ close: p
2952
+ };
2953
+ }
2954
+ async function Mi(e, t) {
2955
+ switch (t.type) {
2956
+ case "webrtc/answer":
2957
+ await e.handleAnswer(t.value);
2958
+ break;
2959
+ case "webrtc/candidate": t.value && await e.handleCandidate(t.value);
2960
+ }
2961
+ }
2962
+ var Q = new h("StreamConnection"), Ni = /mp4a|opus|flac|mp3/i, Pi = 1e3, Fi = 3e4, Ii = 3e4, Li = 15e3, Ri = 1e3, zi = 3e3, Bi = 15e3, Vi = 2, Hi = 2e3;
2963
+ function Ui() {
2964
+ return typeof document < "u" && document.visibilityState === "hidden";
2965
+ }
2966
+ function Wi(e) {
2967
+ return typeof e.getVideoPlaybackQuality == "function" ? e.getVideoPlaybackQuality().totalVideoFrames : void 0;
2968
+ }
2969
+ function Gi(e) {
2970
+ return e * (1 - Math.random() / 2);
2971
+ }
2972
+ var Ki = class {
2973
+ status;
2974
+ activeMode;
2975
+ requestedMode;
2976
+ activeResolution;
2977
+ requestedResolution;
2978
+ degradedFrom;
2979
+ degradeReason;
2980
+ source;
2981
+ hasVideo;
2982
+ hasAudio;
2983
+ hasBackchannel;
2984
+ isPlaying;
2985
+ stalled;
2986
+ error;
2987
+ probeInfo;
2988
+ muted;
2989
+ paused;
2990
+ nativeWidth;
2991
+ nativeHeight;
2992
+ camera;
2993
+ videoElement;
2994
+ containerElement;
2995
+ target;
2996
+ isReady;
2997
+ triedSourceIds = /* @__PURE__ */ new Set();
2998
+ options;
2999
+ wsTransport;
3000
+ scope = o(!0);
3001
+ stopsWhenHidden = ni();
3002
+ connectionGeneration = 0;
3003
+ abortController = new AbortController();
3004
+ probedSourceId;
3005
+ probeInFlight;
3006
+ probing;
3007
+ wasPausedByVisibility = !1;
3008
+ hiddenPauseRan = !1;
3009
+ disarmPipWatch = null;
3010
+ wsHandle;
3011
+ wsOpenedAt = 0;
3012
+ webrtcHandler;
3013
+ mseHandler;
3014
+ mjpegHandler;
3015
+ audioHandler;
3016
+ audioElement;
3017
+ cancelFirstFrameWatch;
3018
+ awaitingWebRTCFrame = !1;
3019
+ backchannelHandler;
3020
+ pendingMicTrack = null;
3021
+ offerPeer;
3022
+ answeredPeer;
3023
+ lastMediaStream = null;
3024
+ stopWatchers = [];
3025
+ failures = 0;
3026
+ playingSince;
3027
+ connectToken;
3028
+ rejectedToken;
3029
+ lastError;
3030
+ mseRejected = !1;
3031
+ mseAnswerPending = !1;
3032
+ mseStopPending = !1;
3033
+ healthInterval;
3034
+ lastProgressAt = 0;
3035
+ lastMediaTime = 0;
3036
+ lastFrameCount;
3037
+ frameCounterLive = !1;
3038
+ offTabVisible;
3039
+ offTabPaused;
3040
+ onVideoPauseBound;
3041
+ onVideoPlayBound;
3042
+ onVideoResizeBound;
3043
+ startWsConnectTimeout;
3044
+ stopWsConnectTimeout;
3045
+ startConnectTimeout;
3046
+ stopConnectTimeout;
3047
+ startMseConnectTimeout;
3048
+ stopMseConnectTimeout;
3049
+ constructor(e) {
3050
+ this.options = e;
3051
+ let t = A();
3052
+ if (!t.wsTransport) throw Error("[camera.ui] StreamConnection requires a wsTransport on CameraUiContext — pass `wsTransport` to createCameraUiPlugin.");
3053
+ this.target = t.target, this.wsTransport = t.wsTransport;
3054
+ let { autoStart: n = !0 } = e;
3055
+ this.status = r("idle"), this.activeMode = r("webrtc"), this.activeResolution = r("low-resolution"), this.degradedFrom = r(null), this.degradeReason = r(null), this.source = i(), this.hasVideo = r(!1), this.hasAudio = r(!1), this.hasBackchannel = r(!1), this.isPlaying = r(!1), this.stalled = r(!1), this.error = r(), this.probeInfo = i(), this.muted = r(!0), this.paused = r(!1), this.nativeWidth = r(0), this.nativeHeight = r(0), this.requestedMode = r(s(e.mode) ?? "auto"), this.requestedResolution = r(s(e.resolution) ?? "high-resolution"), this.camera = c(() => s(e.camera)), this.videoElement = c(() => s(e.videoElement)), this.containerElement = c(() => s(e.containerElement)), this.isReady = c(() => !!this.camera.value && !!this.videoElement.value && !!this.target.value), this.scope.run(() => {
3056
+ let { onTabPaused: e, onTabVisible: t } = Te(), r = this.stopsWhenHidden ? 0 : _e, i = f(() => {
3057
+ let e = this.wsHandle;
3058
+ e && e.readyState !== WebSocket.OPEN && (e.readyState === WebSocket.CLOSED && performance.now() - this.wsOpenedAt < Li ? this.startWsConnectTimeout() : (this.disconnectWebSocket(), !this.abortController.signal.aborted && this.status.value !== "closed" && this.retryLater()));
3059
+ }, Z.WEBRTC.WS_CONNECT_TIMEOUT, { immediate: !1 }), a = f(() => {
3060
+ if (!this.abortController.signal.aborted) {
3061
+ if (this.webrtcHandler && !this.webrtcHandler.isConnected) this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryAfterNoMedia();
3062
+ else if (this.webrtcHandler && this.awaitingWebRTCFrame || this.mjpegHandler && !this.isPlaying.value || this.status.value === "connected" && !this.isPlaying.value) {
3063
+ if (Ui()) {
3064
+ this.startConnectTimeout();
3065
+ return;
3066
+ }
3067
+ this.handleNoFramesWhileConnected();
3068
+ }
3069
+ }
3070
+ }, () => this.webrtcTookOver() ? Bi : Z.WEBRTC.CONNECT_TIMEOUT, { immediate: !1 }), o = f(() => {
3071
+ this.abortController.signal.aborted || this.status.value === "connected" || this.status.value === "closed" || this.mseHandler && !this.mseHandler.isReady && this.retryAfterNoMedia();
3072
+ }, Z.WEBRTC.CONNECT_TIMEOUT, { immediate: !1 });
3073
+ this.startWsConnectTimeout = i.start, this.stopWsConnectTimeout = i.stop, this.startConnectTimeout = a.start, this.stopConnectTimeout = a.stop, this.startMseConnectTimeout = o.start, this.stopMseConnectTimeout = o.stop, this.setupWatchers(), this.offTabPaused = e(() => {
3074
+ Q.debug(`onTabPaused fired — status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`), this.hiddenPauseRan = !0, this.status.value === "idle" || this.status.value === "closed" ? Q.debug(`onTabPaused — already in ${this.status.value}, skipping stop()`) : gi(this.videoElement.value) ? (Q.debug("onTabPaused — video is in picture-in-picture, keeping the stream"), this.watchPipLeave()) : (this.wasPausedByVisibility = !0, this.stop(), Q.debug("onTabPaused — stop() done, wasPausedByVisibility=true"));
3075
+ }, { delayMs: r }), this.offTabVisible = t(({ hiddenMs: e }) => {
3076
+ Q.debug(`onTabVisible fired — wasPausedByVisibility=${this.wasPausedByVisibility}, status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`), this.disarmPipWatch?.();
3077
+ let t = this.hiddenPauseRan;
3078
+ this.hiddenPauseRan = !1, this.wasPausedByVisibility ? (this.wasPausedByVisibility = !1, this.startWhenReady()) : !t && e >= r && this.status.value === "connected" ? (Q.debug(`onTabVisible: hidden for ${e}ms without a stop, reconnecting`), this.restart()) : Q.debug("onTabVisible — not paused by visibility, no-op");
3079
+ }), n && p(this.isReady, () => {
3080
+ (this.status.value === "idle" || this.status.value === "closed") && this.start();
3081
+ }, { immediate: !0 });
3082
+ });
3083
+ }
3084
+ watchPipLeave() {
3085
+ if (this.disarmPipWatch) return;
3086
+ let e = this.videoElement.value;
3087
+ if (!e) return;
3088
+ let t = () => {
3089
+ gi(e) || (this.disarmPipWatch?.(), (typeof document > "u" || document.visibilityState !== "visible") && this.status.value !== "idle" && this.status.value !== "closed" && (Q.debug("picture-in-picture closed while tab hidden — stopping the stream"), this.wasPausedByVisibility = !0, this.stop()));
3090
+ };
3091
+ e.addEventListener("leavepictureinpicture", t), e.addEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = () => {
3092
+ e.removeEventListener("leavepictureinpicture", t), e.removeEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = null;
3093
+ };
3094
+ }
3095
+ async start() {
3096
+ if (Q.debug(`start() called — status=${this.status.value}, isReady=${this.isReady.value}`), this.status.value !== "idle" && this.status.value !== "closed") {
3097
+ Q.debug(`start() — skipped, status is ${this.status.value}`);
3098
+ return;
3099
+ }
3100
+ if (!this.isReady.value) {
3101
+ Q.debug("start() — skipped, isReady=false");
3102
+ return;
3103
+ }
3104
+ if (this.stopsWhenHidden && Ui()) {
3105
+ Q.debug("start() — page hidden, starting once it is visible"), this.wasPausedByVisibility = !0;
3106
+ return;
3107
+ }
3108
+ this.cleanup(), this.abortController = new AbortController();
3109
+ let e = ++this.connectionGeneration;
3110
+ this.triedSourceIds.clear(), this.failures = 0, this.playingSince = void 0, this.status.value = "connecting", this.error.value = void 0, this.isPlaying.value = !1;
3111
+ try {
3112
+ let t = this.initializeSource();
3113
+ if (t === "unsupported") {
3114
+ Q.debug("start() — no source with a playable codec"), this.setUnsupported();
3115
+ return;
3116
+ }
3117
+ if (!t) {
3118
+ Q.debug("start() — no streaming source available"), this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3119
+ return;
3120
+ }
3121
+ let n;
3122
+ for (let t = 0; t < 3; t++) {
3123
+ let t = this.source.value?._id;
3124
+ n = t, Q.debug("start(): connecting WebSocket");
3125
+ let r = await this.dialWithProbe();
3126
+ if (e !== this.connectionGeneration) {
3127
+ Q.debug("start() — generation stale after probe, aborting");
3128
+ return;
3129
+ }
3130
+ r && t && this.probeSaysUnplayable(r) && this.triedSourceIds.add(t);
3131
+ let i = this.initializeSource();
3132
+ if (i === "unsupported") {
3133
+ this.disconnectWebSocket(), this.setUnsupported();
3134
+ return;
3135
+ }
3136
+ if (!i) {
3137
+ this.disconnectWebSocket(), this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3138
+ return;
3139
+ }
3140
+ if (!r || this.source.value?._id === t) break;
3141
+ }
3142
+ this.source.value?._id !== n && this.dialWithProbe();
3143
+ } catch (t) {
3144
+ if (e !== this.connectionGeneration) return;
3145
+ Q.debug("start() — error:", t), this.error.value = t instanceof Error ? t : Error(String(t)), this.status.value = "error";
3146
+ }
3147
+ }
3148
+ stop() {
3149
+ this.status.value === "closed" ? Q.debug("stop() — already closed, no-op") : (Q.debug(`stop() — was ${this.status.value}, transitioning to closed`), ++this.connectionGeneration, this.status.value = "closed", this.isPlaying.value = !1, this.cleanup());
3150
+ }
3151
+ async setMode(e) {
3152
+ this.requestedMode.value !== e && (this.requestedMode.value = e, this.activeMode.value = e === "auto" ? "webrtc" : e, this.status.value === "unsupported" ? (this.stop(), await this.start()) : this.status.value === "connected" && await this.restart());
3153
+ }
3154
+ async setResolution(e) {
3155
+ if (this.requestedResolution.value === e) return;
3156
+ if (this.requestedResolution.value = e, this.status.value === "unsupported") {
3157
+ this.stop(), await this.start();
3158
+ return;
3159
+ }
3160
+ let t = this.getSourceForResolution(e);
3161
+ t && t !== "unsupported" && t.source._id !== this.source.value?._id && (this.source.value = t.source, this.activeResolution.value = t.effectiveResolution, this.degradedFrom.value = t.degradedFrom, this.degradeReason.value = t.degradedFrom ? "codec" : null, this.status.value === "connected" && await this.restart());
3162
+ }
3163
+ async setMicrophone(e) {
3164
+ e ? this.hasBackchannel.value && (this.pendingMicTrack = e, this.backchannelHandler ? this.backchannelHandler.isConnected && await this.backchannelHandler.setMicrophoneTrack(e) : await this.startBackchannel()) : this.closeBackchannel();
3165
+ }
3166
+ setMuted(e) {
3167
+ this.muted.value = e;
3168
+ let t = this.videoElement.value;
3169
+ t && (t.muted = e), this.audioElement && (this.audioElement.muted = e);
3170
+ }
3171
+ async play() {
3172
+ this.paused.value = !1;
3173
+ let e = this.videoElement.value;
3174
+ if (!e) return;
3175
+ try {
3176
+ await e.play();
3177
+ } catch {
3178
+ if (!e.muted) {
3179
+ e.muted = !0, this.muted.value = !0;
3180
+ try {
3181
+ await e.play();
3182
+ } catch {}
3183
+ }
3184
+ }
3185
+ let t = this.audioElement;
3186
+ t && (t.muted = this.muted.value, t.play().catch(() => {}));
3187
+ }
3188
+ pause() {
3189
+ this.paused.value = !0;
3190
+ let e = this.videoElement.value;
3191
+ e && e.pause(), this.audioElement?.pause();
3192
+ }
3193
+ destroy() {
3194
+ for (let e of this.stopWatchers) e();
3195
+ this.stopWatchers = [], this.offTabVisible?.(), this.offTabVisible = void 0, this.offTabPaused?.(), this.offTabPaused = void 0, this.disarmPipWatch?.();
3196
+ let e = this.videoElement.value;
3197
+ e && (this.onVideoPauseBound && e.removeEventListener("pause", this.onVideoPauseBound), this.onVideoPlayBound && e.removeEventListener("play", this.onVideoPlayBound), this.onVideoResizeBound && e.removeEventListener("resize", this.onVideoResizeBound)), this.stop(), this.scope.stop();
3198
+ }
3199
+ restart() {
3200
+ return this.reconnect(1e3);
3201
+ }
3202
+ invalidateProbe() {
3203
+ this.probeInfo.value = void 0, this.probeInFlight = void 0;
3204
+ }
3205
+ async reconnect(e, t = "reconnecting") {
3206
+ this.status.value = t, this.isPlaying.value = !1, this.cleanup(), this.abortController = new AbortController();
3207
+ let n = ++this.connectionGeneration;
3208
+ try {
3209
+ await _i(e, this.abortController.signal);
3210
+ } catch {
3211
+ return;
3212
+ }
3213
+ if (n === this.connectionGeneration) {
3214
+ if (!this.isReady.value) this.status.value = "idle";
3215
+ else {
3216
+ this.status.value = "reconnecting";
3217
+ try {
3218
+ let e = this.initializeSource();
3219
+ if (e === "unsupported") {
3220
+ this.setUnsupported();
3221
+ return;
3222
+ }
3223
+ if (!e) {
3224
+ this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3225
+ return;
3226
+ }
3227
+ this.dialWithProbe();
3228
+ } catch (e) {
3229
+ if (n !== this.connectionGeneration) return;
3230
+ this.error.value = e instanceof Error ? e : Error(String(e)), this.status.value = "error";
3231
+ }
3232
+ }
3233
+ }
3234
+ }
3235
+ retryLater(e) {
3236
+ let t = this.nextRetryDelay();
3237
+ e && (this.error.value = e), this.reconnect(t, e ? "error" : "reconnecting");
3238
+ }
3239
+ nextRetryDelay() {
3240
+ this.playingSince !== void 0 && performance.now() - this.playingSince >= Ii && (this.failures = 0), this.playingSince = void 0;
3241
+ let e = Math.min(Pi * 2 ** this.failures, Fi);
3242
+ return this.failures++, Gi(e);
3243
+ }
3244
+ retryAfterNoMedia() {
3245
+ this.markSourceUndecodable() ? this.restart() : this.retryLater(this.lastError);
3246
+ }
3247
+ startWhenReady() {
3248
+ if (this.isReady.value) {
3249
+ Q.debug("startWhenReady — already ready, calling start() now"), this.start();
3250
+ return;
3251
+ }
3252
+ Q.debug(`startWhenReady — not ready (camera=${!!this.camera.value}, video=${!!this.videoElement.value}, target=${!!this.target.value}), watching isReady`);
3253
+ let e = l(this.isReady, (t) => {
3254
+ t && (Q.debug("startWhenReady — isReady → true, calling start()"), e(), this.start());
3255
+ });
3256
+ this.stopWatchers.push(e);
3257
+ }
3258
+ setupWatchers() {
3259
+ let e = l(() => this.target.value?.endpoint.url ?? null, (e, t) => {
3260
+ e && t && e !== t && this.status.value !== "idle" && this.status.value !== "closed" && this.restart();
3261
+ });
3262
+ this.stopWatchers.push(e);
3263
+ let t = l(() => this.target.value?.tokens.access, (e) => {
3264
+ this.rejectedToken !== void 0 && e && e !== this.rejectedToken && (this.rejectedToken = void 0, this.status.value !== "idle" && this.status.value !== "closed" && this.reconnect(0));
3265
+ });
3266
+ this.stopWatchers.push(t);
3267
+ let n = l(() => this.camera.value?.sources.value, () => {
3268
+ this.status.value === "unsupported" && (this.stop(), this.start());
3269
+ });
3270
+ this.stopWatchers.push(n);
3271
+ let r = l(() => s(this.options.mode), (e) => {
3272
+ e !== void 0 && e !== this.requestedMode.value && this.setMode(e);
3273
+ });
3274
+ this.stopWatchers.push(r);
3275
+ let i = l(() => s(this.options.resolution), (e) => {
3276
+ e !== void 0 && e !== this.requestedResolution.value && this.setResolution(e);
3277
+ });
3278
+ this.stopWatchers.push(i);
3279
+ let a = l(this.videoElement, (e, t) => {
3280
+ t && (this.onVideoPauseBound && t.removeEventListener("pause", this.onVideoPauseBound), this.onVideoPlayBound && t.removeEventListener("play", this.onVideoPlayBound), this.onVideoResizeBound && t.removeEventListener("resize", this.onVideoResizeBound)), e && (this.onVideoPauseBound = () => {
3281
+ this.paused.value || e.play().catch(() => {});
3282
+ }, this.onVideoPlayBound = () => {
3283
+ this.paused.value = !1;
3284
+ }, this.onVideoResizeBound = () => {
3285
+ e.videoWidth > 0 && e.videoHeight > 0 && (this.nativeWidth.value = e.videoWidth, this.nativeHeight.value = e.videoHeight);
3286
+ }, e.addEventListener("pause", this.onVideoPauseBound), e.addEventListener("play", this.onVideoPlayBound), e.addEventListener("resize", this.onVideoResizeBound), e.videoWidth > 0 && e.videoHeight > 0 && (this.nativeWidth.value = e.videoWidth, this.nativeHeight.value = e.videoHeight));
3287
+ }, { immediate: !0 });
3288
+ this.stopWatchers.push(a);
3289
+ let o = l(() => this.status.value === "connected" && this.isPlaying.value, (e) => {
3290
+ this.stopHealthCheck(), e && this.startHealthCheck();
3291
+ }, { immediate: !0 });
3292
+ this.stopWatchers.push(o);
3293
+ let c = l([
3294
+ this.camera,
3295
+ this.videoElement,
3296
+ () => this.target.value
3297
+ ], ([e, t, n], [r, i]) => {
3298
+ if (e !== r) this.status.value === "connected" ? e && t && n && this.restart() : this.status.value === "unsupported" && e && t && n && (this.stop(), this.start());
3299
+ else if (t !== i && t) {
3300
+ if (t.srcObject instanceof MediaStream) {
3301
+ let e = t.srcObject;
3302
+ if (e.active && e.getTracks().some((e) => e.readyState === "live")) {
3303
+ wi(t), this.lastMediaStream = e;
3304
+ return;
3305
+ }
3306
+ }
3307
+ if (this.status.value === "connected" && this.activeMode.value !== "mse") {
3308
+ let e = this.lastMediaStream;
3309
+ e?.active && e.getTracks().some((e) => e.readyState === "live") ? (t.srcObject = e, wi(t)) : this.restart();
3310
+ } else if (this.status.value === "connected" && this.activeMode.value === "mse") this.restart();
3311
+ else if (this.status.value === "connecting" || this.status.value === "reconnecting") {
3312
+ let e = l(() => this.isPlaying.value, (t) => {
3313
+ let n = this.videoElement.value;
3314
+ t && n?.srcObject instanceof MediaStream ? (wi(n), e()) : t && n && !n.srcObject && this.lastMediaStream?.active && (n.srcObject = this.lastMediaStream, wi(n), e());
3315
+ }, { immediate: !0 });
3316
+ this.stopWatchers.push(e);
3317
+ }
3318
+ }
3319
+ });
3320
+ this.stopWatchers.push(c);
3321
+ }
3322
+ isSourcePlayable(e) {
3323
+ if (this.triedSourceIds.has(e._id)) return !1;
3324
+ if (e.videoCodec === "JPEG") return ui();
3325
+ if (e.videoCodec !== "H265") return !0;
3326
+ let t = this.requestedMode.value;
3327
+ return li(t === "auto" ? "auto" : t === "mse" ? "mse" : "webrtc");
3328
+ }
3329
+ getSourceForResolution(e) {
3330
+ let t = this.camera.value;
3331
+ if (!t) return;
3332
+ let n = [
3333
+ "high-resolution",
3334
+ "mid-resolution",
3335
+ "low-resolution"
3336
+ ], r = Math.max(0, n.indexOf(e)), i = !1;
3337
+ for (let a = r; a < n.length; a++) {
3338
+ let r = t.sources.value.find((e) => e.role === n[a]);
3339
+ if (r) {
3340
+ if (!this.isSourcePlayable(r)) i = !0;
3341
+ else return {
3342
+ source: r,
3343
+ effectiveResolution: n[a],
3344
+ degradedFrom: i ? e : null
3345
+ };
3346
+ }
3347
+ }
3348
+ let a = t.streamSource.value;
3349
+ if (a && this.isSourcePlayable(a)) return {
3350
+ source: a,
3351
+ effectiveResolution: a.role ?? "low-resolution",
3352
+ degradedFrom: i ? e : null
3353
+ };
3354
+ if (i || a) return "unsupported";
3355
+ }
3356
+ initializeSource() {
3357
+ let e = this.getSourceForResolution(this.requestedResolution.value);
3358
+ return e ? e === "unsupported" ? "unsupported" : (this.source.value = e.source, this.activeResolution.value = e.effectiveResolution, this.degradedFrom.value = e.degradedFrom, this.degradeReason.value = e.degradedFrom ? "codec" : null, this.probedSourceId && this.probedSourceId !== e.source._id && (this.probeInfo.value = void 0, this.probedSourceId = void 0, this.hasVideo.value = !1, this.hasAudio.value = !1, this.hasBackchannel.value = !1), !0) : !1;
3359
+ }
3360
+ setUnsupported() {
3361
+ let e = this.camera.value?.sources.value.find((e) => e.videoCodec)?.videoCodec ?? "H265";
3362
+ this.error.value = /* @__PURE__ */ Error(`${e} cannot be played on this device`), this.status.value = "unsupported";
3363
+ }
3364
+ probeSaysUnplayable(e) {
3365
+ let t = e.video.filter((e) => e.direction === "sendonly");
3366
+ if (!t.length) return !1;
3367
+ if (t.every((e) => e.codec === "JPEG")) return !ui();
3368
+ if (!t.every((e) => e.codec === "H265")) return !1;
3369
+ let n = this.requestedMode.value;
3370
+ return !li(n === "auto" ? "auto" : n === "mse" ? "mse" : "webrtc");
3371
+ }
3372
+ sourceLikelyH265() {
3373
+ let e = this.source.value;
3374
+ if (!e) return !1;
3375
+ if (e.videoCodec === "H265") return !0;
3376
+ if (e.videoCodec !== void 0) return !1;
3377
+ let t = this.probeInfo.value?.video.filter((e) => e.direction === "sendonly") ?? [];
3378
+ return t.length > 0 && t.every((e) => e.codec === "H265");
3379
+ }
3380
+ markSourceUndecodable() {
3381
+ let e = this.source.value;
3382
+ return !e || !this.sourceLikelyH265() ? !1 : (this.triedSourceIds.add(e._id), this.invalidateProbe(), !0);
3383
+ }
3384
+ handleNoFramesWhileConnected() {
3385
+ this.sourceLikelyH265() && !this.webrtcTookOver() && di(this.activeMode.value === "mse" ? "mse" : "webrtc"), this.requestedMode.value === "auto" && this.activeMode.value !== "mse" && !this.mjpegHandler && !this.mseRejected ? (this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.awaitingWebRTCFrame = !1, this.activeMode.value = "mse", this.isPlaying.value = !1, this.status.value = "reconnecting", this.startMSE(), this.resumeBackchannel()) : this.retryAfterNoMedia();
3386
+ }
3387
+ webrtcTookOver() {
3388
+ return this.awaitingWebRTCFrame && this.isPlaying.value;
3389
+ }
3390
+ noteDeliveredAudio(e) {
3391
+ e && !this.hasAudio.value && (this.hasAudio.value = !0);
3392
+ }
3393
+ probeStream() {
3394
+ let e = this.camera.value, t = this.source.value;
3395
+ if (!e || !t || this.abortController.signal.aborted) return Promise.resolve(void 0);
3396
+ if (this.probeInFlight?.sourceId === t._id) return this.probeInFlight.result;
3397
+ let n = {
3398
+ sourceId: t._id,
3399
+ result: Promise.resolve(void 0)
3400
+ };
3401
+ return this.probeInFlight = n, n.result = this.askProbe(e, n), n.result;
3402
+ }
3403
+ async askProbe(e, t) {
3404
+ try {
3405
+ let n = await e.probeStream(t.sourceId, {
3406
+ video: !0,
3407
+ audio: ["pcma", "opus"],
3408
+ microphone: !0
3409
+ });
3410
+ return n && this.probeInFlight === t && !this.abortController.signal.aborted && (this.probeInfo.value = n, this.probedSourceId = t.sourceId, this.hasBackchannel.value = n.audio.some((e) => e.direction === "recvonly"), this.hasAudio.value = n.audio.filter((e) => e.direction === "sendonly").length > 0, this.hasVideo.value = n.video.filter((e) => e.direction === "sendonly").length > 0), n;
3411
+ } catch {
3412
+ return;
3413
+ } finally {
3414
+ this.probeInFlight === t && (this.probeInFlight = void 0);
3415
+ }
3416
+ }
3417
+ dialWithProbe() {
3418
+ let e = this.settledProbe(this.probeForSource());
3419
+ return this.probing = e, this.connectWebSocket(), e;
3420
+ }
3421
+ probeForSource() {
3422
+ let e = this.source.value, t = this.probeInfo.value;
3423
+ return t && e && this.probedSourceId === e._id ? Promise.resolve(t) : this.probeStream();
3424
+ }
3425
+ settledProbe(e) {
3426
+ return new Promise((t) => {
3427
+ let n = setTimeout(() => t(void 0), Hi), r = (e) => {
3428
+ clearTimeout(n), t(e);
3429
+ };
3430
+ e.then(r, () => r(void 0));
3431
+ });
3432
+ }
3433
+ connectWebSocket() {
3434
+ this.disconnectWebSocket();
3435
+ let e = this.camera.value;
3436
+ if (this.abortController.signal.aborted || !e || !this.source.value || !this.target.value) return;
3437
+ let t = this.source.value.name ?? this.source.value.role ?? this.source.value._id, n = M(e.name.value, t);
3438
+ this.connectToken = this.target.value.tokens.access, this.rejectedToken = void 0, this.lastError = void 0, this.mseRejected = !1, this.mseAnswerPending = !1, this.mseStopPending = !1, this.offerPeer = void 0, this.answeredPeer = void 0, this.wsOpenedAt = performance.now(), this.startWsConnectTimeout(), this.wsHandle = this.wsTransport.open({
3439
+ path: "/api/go2rtc",
3440
+ query: { src: n },
3441
+ binaryType: "arraybuffer"
3442
+ }), this.wsHandle.on("open", () => this.handleWsOpen()), this.wsHandle.on("close", (e) => this.handleWsClose(e)), this.wsHandle.on("message", (e) => this.handleWsMessage(e)), this.wsHandle.on("error", () => {});
3443
+ }
3444
+ disconnectWebSocket() {
3445
+ this.stopWsConnectTimeout(), this.wsHandle &&= (this.wsHandle.dispose(), void 0);
3446
+ }
3447
+ sendWsMessage(e) {
3448
+ this.wsHandle?.readyState === WebSocket.OPEN && this.wsHandle.send(JSON.stringify(e));
3449
+ }
3450
+ handleWsOpen() {
3451
+ if (this.abortController.signal.aborted) return;
3452
+ this.stopWsConnectTimeout(), this.status.value = "connecting";
3453
+ let e = this.wsHandle;
3454
+ (this.probing ?? Promise.resolve(void 0)).then(() => {
3455
+ this.abortController.signal.aborted || this.wsHandle !== e || this.requestStream();
3456
+ });
3457
+ }
3458
+ requestStream() {
3459
+ if (this.sourceIsMjpeg()) {
3460
+ this.startMjpeg();
3461
+ return;
3462
+ }
3463
+ let e = this.requestedMode.value;
3464
+ e === "auto" ? this.startAutoMode() : e === "webrtc" || e === "webrtc/tcp" ? this.startWebRTC(e) : e === "mse" && this.startMSE();
3465
+ }
3466
+ handleWsClose(e) {
3467
+ if (this.status.value === "closed" || this.abortController.signal.aborted) return;
3468
+ let t = e ? v(e) : "other";
3469
+ if (t === "other") {
3470
+ this.retryLater();
3471
+ return;
3472
+ }
3473
+ let n = this.connectToken;
3474
+ Q.debug(`go2rtc socket closed (${e?.code}): ${e?.reason}`), t === "forbidden" ? (this.error.value = Error(e?.reason || `Stream refused (${e?.code})`), this.status.value = "error", this.isPlaying.value = !1, this.cleanup(), this.rejectedToken = n) : this.target.value?.tokens.access === n ? (this.reconnect(Gi(Fi)), this.rejectedToken = n) : this.reconnect(0);
3475
+ }
3476
+ handleWsMessage(e) {
3477
+ if (!this.abortController.signal.aborted) {
3478
+ if (typeof e.data == "string") {
3479
+ let t;
3480
+ try {
3481
+ t = JSON.parse(e.data);
3482
+ } catch {
3483
+ return;
3484
+ }
3485
+ this.handleMessage(t);
3486
+ } else this.mjpegHandler && jr(e.data) ? this.mjpegHandler.appendFrame(e.data) : (this.mseHandler ?? this.audioHandler)?.appendBuffer(e.data);
3487
+ }
3488
+ }
3489
+ handleMessage(e) {
3490
+ switch (e.type) {
3491
+ case "webrtc/answer":
3492
+ this.answeredPeer = this.takeOfferReply(), this.answeredPeer && Mi(this.answeredPeer, e), this.resumeBackchannel();
3493
+ break;
3494
+ case "webrtc/candidate":
3495
+ this.answeredPeer && this.isCurrentPeer(this.answeredPeer) && Mi(this.answeredPeer, e);
3496
+ break;
3497
+ case "mse":
3498
+ if (this.mseAnswerPending = !1, this.mseStopPending && (this.mseStopPending = !1, this.sendWsMessage({ type: "mse/stop" })), typeof e.value == "string") {
3499
+ let t = this.mseHandler ?? this.audioHandler;
3500
+ if (!t) break;
3501
+ this.noteDeliveredAudio(Ni.test(e.value)), t.initializeBuffer(e.value);
3502
+ }
3503
+ break;
3504
+ case "mjpeg":
3505
+ this.mjpegHandler && (this.status.value = "connected");
3506
+ break;
3507
+ case "error": this.handleGo2rtcError(String(e.value));
3508
+ }
3509
+ }
3510
+ handleGo2rtcError(e) {
3511
+ let t = e.slice(0, Math.max(0, e.indexOf(":"))), n = Error(e);
3512
+ if (Q.debug(`go2rtc error: ${e}`), t === "webrtc/offer") {
3513
+ let e = this.takeOfferReply();
3514
+ if (e && e === this.webrtcHandler && !e.isConnected) {
3515
+ this.lastError = n, this.stopConnectTimeout(), this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryLater(n);
3516
+ return;
3517
+ }
3518
+ e && e === this.backchannelHandler && this.closeBackchannel(), this.resumeBackchannel();
3519
+ } else if (t === "mjpeg") this.mjpegHandler && this.retryLater(n);
3520
+ else if (t === "mse") {
3521
+ if (this.mseAnswerPending = !1, this.mseStopPending = !1, this.audioHandler) {
3522
+ this.closeAudio();
3523
+ return;
3524
+ }
3525
+ if (!this.mseHandler) return;
3526
+ if (this.lastError = n, this.mseRejected = !0, this.requestedMode.value === "auto" && this.webrtcHandler) {
3527
+ this.dropMSE();
3528
+ return;
3529
+ }
3530
+ this.retryLater(n);
3531
+ } else t.startsWith("webrtc") || (this.lastError = n);
3532
+ }
3533
+ async startWebRTC(e) {
3534
+ if (this.abortController.signal.aborted) return;
3535
+ this.startConnectTimeout();
3536
+ let t = Ai({
3537
+ mode: e,
3538
+ signal: this.abortController.signal,
3539
+ onConnected: (e) => this.handleWebRTCConnected(e),
3540
+ onDisconnected: () => this.handleWebRTCDisconnected(),
3541
+ onFailed: () => this.handleWebRTCFailed(),
3542
+ onCandidate: (e) => this.sendWsMessage({
3543
+ type: "webrtc/candidate",
3544
+ value: e
3545
+ })
3546
+ });
3547
+ this.webrtcHandler = t;
3548
+ let n = await t.createOffer();
3549
+ n && !this.abortController.signal.aborted && this.webrtcHandler === t && this.sendOffer(t, n);
3550
+ }
3551
+ handleWebRTCConnected(e) {
3552
+ if (this.abortController.signal.aborted) return;
3553
+ let t = this.videoElement.value;
3554
+ t && (this.hasVideo.value && e.getVideoTracks().length === 0 ? this.handleWebRTCFailed() : (this.noteDeliveredAudio(e.getAudioTracks().length > 0), this.activeMode.value = this.requestedMode.value === "auto" ? "webrtc" : this.requestedMode.value, this.lastMediaStream = e, t.srcObject = e, t.muted = this.muted.value, wi(t), this.status.value = "connected", e.getVideoTracks().length > 0 ? (this.awaitingWebRTCFrame = !0, this.webrtcTookOver() && this.startConnectTimeout(), this.resetHealthBaseline(t), this.watchFirstFrame(t)) : this.handleFirstFrame(), this.requestedMode.value === "auto" && this.mseHandler && this.dropMSE()));
3555
+ }
3556
+ handleWebRTCDisconnected() {
3557
+ this.status.value !== "closed" && !this.abortController.signal.aborted && (this.status.value = "reconnecting", this.requestedMode.value === "auto" && this.mseHandler?.isReady ? (this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.activeMode.value = "mse", this.status.value = "connected", this.resumeBackchannel()) : this.retryLater());
3558
+ }
3559
+ handleWebRTCFailed() {
3560
+ this.abortController.signal.aborted || (this.stopConnectTimeout(), this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryLater(this.lastError ?? /* @__PURE__ */ Error("WebRTC connection failed")));
3561
+ }
3562
+ fallBackToMSE() {
3563
+ this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.awaitingWebRTCFrame = !1, this.mseRejected ? this.retryLater(this.lastError) : (this.activeMode.value = "mse", this.mseHandler?.isReady ? this.handleMSEReady() : this.startMSE(), this.resumeBackchannel());
3564
+ }
3565
+ startMSE() {
3566
+ if (this.mseHandler) return;
3567
+ let e = this.videoElement.value;
3568
+ if (this.abortController.signal.aborted || !e) return;
3569
+ this.mseHandler = Si({
3570
+ videoElement: e,
3571
+ signal: this.abortController.signal,
3572
+ onReady: () => this.handleMSEReady(),
3573
+ onFirstData: () => this.handleMSEFirstData(),
3574
+ onError: (e, t) => this.handleMSEError(e, t)
3575
+ });
3576
+ let t = this.mseHandler.setup();
3577
+ t && (this.mseStopPending && (this.mseStopPending = !1, this.sendWsMessage({ type: "mse/stop" })), this.sendWsMessage({
3578
+ type: "mse",
3579
+ value: t
3580
+ }), this.mseAnswerPending = !0, this.startMseConnectTimeout());
3581
+ }
3582
+ handleMSEReady() {
3583
+ this.abortController.signal.aborted || (this.stopMseConnectTimeout(), this.requestedMode.value === "auto" && this.webrtcHandler?.isConnected || (this.activeMode.value = "mse", this.status.value = "connected"), !this.webrtcHandler && !this.isPlaying.value && this.startConnectTimeout());
3584
+ }
3585
+ handleMSEFirstData() {
3586
+ if (this.abortController.signal.aborted) return;
3587
+ let e = this.videoElement.value;
3588
+ e && (this.watchFirstFrame(e), wi(e));
3589
+ }
3590
+ handleMSEError(e, t) {
3591
+ if (this.abortController.signal.aborted) return;
3592
+ if (Q.debug(`MSE ${t} error:`, e), this.requestedMode.value === "auto" && this.webrtcHandler) {
3593
+ let e = this.isPlaying.value || this.status.value === "connected";
3594
+ this.dropMSE(), e && (this.isPlaying.value = !1, this.status.value = "reconnecting");
3595
+ return;
3596
+ }
3597
+ let n = this.videoElement.value, r = !n || n.readyState < Vi;
3598
+ (t === "setup" || r) && this.sourceLikelyH265() ? (di("mse"), this.markSourceUndecodable(), this.restart()) : t === "setup" ? (this.error.value = e, this.status.value = "error", this.cleanup()) : this.retryLater();
3599
+ }
3600
+ dropMSE() {
3601
+ this.mseHandler?.close(), this.mseHandler = void 0, this.stopMseConnectTimeout(), this.mseAnswerPending ? this.mseStopPending = !0 : this.sendWsMessage({ type: "mse/stop" });
3602
+ }
3603
+ startAutoMode() {
3604
+ if (this.abortController.signal.aborted) return;
3605
+ let e = this.probeInfo.value;
3606
+ e && !pi(e).compatible ? (this.activeMode.value = "mse", this.startMSE()) : (this.startWebRTC("webrtc"), this.startMSE());
3607
+ }
3608
+ sourceIsMjpeg() {
3609
+ let e = this.probeInfo.value?.video.filter((e) => e.direction === "sendonly") ?? [];
3610
+ return e.length ? e.every((e) => e.codec === "JPEG") : this.source.value?.videoCodec === "JPEG";
3611
+ }
3612
+ startMjpeg() {
3613
+ let e = this.videoElement.value;
3614
+ if (this.abortController.signal.aborted || !e) return;
3615
+ let t = Mr({ signal: this.abortController.signal });
3616
+ this.mjpegHandler = t, this.activeMode.value = "mjpeg", this.lastMediaStream = t.stream, e.srcObject = t.stream, wi(e), this.sendWsMessage({ type: "mjpeg" }), this.startConnectTimeout(), this.watchFirstFrame(e), this.hasAudio.value && this.startAudio();
3617
+ }
3618
+ startAudio() {
3619
+ if (this.audioHandler || this.abortController.signal.aborted) return;
3620
+ let e = document.createElement("audio");
3621
+ e.muted = this.muted.value;
3622
+ let t = Si({
3623
+ videoElement: e,
3624
+ signal: this.abortController.signal,
3625
+ onReady: () => {},
3626
+ onFirstData: () => wi(e),
3627
+ onError: (e) => {
3628
+ Q.debug("MJPEG audio error:", e), this.dropAudio();
3629
+ }
3630
+ }), n = t.setup()?.split(",").filter((e) => Ni.test(e)).join(",");
3631
+ n ? (this.audioElement = e, this.audioHandler = t, this.sendWsMessage({
3632
+ type: "mse",
3633
+ value: n
3634
+ }), this.mseAnswerPending = !0) : t.close();
3635
+ }
3636
+ dropAudio() {
3637
+ this.audioHandler && (this.closeAudio(), this.mseAnswerPending ? this.mseStopPending = !0 : this.sendWsMessage({ type: "mse/stop" }));
3638
+ }
3639
+ closeAudio() {
3640
+ this.audioHandler?.close(), this.audioHandler = void 0;
3641
+ let e = this.audioElement;
3642
+ e && (this.audioElement = void 0, e.pause(), e.removeAttribute("src"), e.load());
3643
+ }
3644
+ handleFirstFrame() {
3645
+ this.abortController.signal.aborted || ((!this.webrtcHandler || this.webrtcHandler.isConnected) && (this.stopConnectTimeout(), this.awaitingWebRTCFrame = !1, this.resumeBackchannel()), this.error.value = void 0, this.isPlaying.value || (this.isPlaying.value = !0, this.playingSince = performance.now()));
3646
+ }
3647
+ watchFirstFrame(e) {
3648
+ if (this.cancelFirstFrameWatch?.(), e.readyState >= Vi) {
3649
+ this.handleFirstFrame();
3650
+ return;
3651
+ }
3652
+ let t = e, n = () => {
3653
+ this.cancelFirstFrameWatch?.(), this.handleFirstFrame();
3654
+ }, r = t.requestVideoFrameCallback?.(n);
3655
+ e.addEventListener("loadeddata", n), this.cancelFirstFrameWatch = () => {
3656
+ this.cancelFirstFrameWatch = void 0, e.removeEventListener("loadeddata", n), r !== void 0 && t.cancelVideoFrameCallback?.(r);
3657
+ };
3658
+ }
3659
+ startHealthCheck() {
3660
+ let e = this.videoElement.value;
3661
+ e && this.resetHealthBaseline(e), this.healthInterval = setInterval(() => this.checkHealth(), Ri);
3662
+ }
3663
+ stopHealthCheck() {
3664
+ this.healthInterval !== void 0 && (clearInterval(this.healthInterval), this.healthInterval = void 0), this.stalled.value = !1;
3665
+ }
3666
+ resetHealthBaseline(e) {
3667
+ this.lastProgressAt = performance.now(), this.lastMediaTime = e.currentTime, this.lastFrameCount = this.frameCount(e), this.frameCounterLive = !1, this.stalled.value = !1;
3668
+ }
3669
+ checkHealth() {
3670
+ let e = this.videoElement.value;
3671
+ if (!e) return;
3672
+ let t = this.activeMode.value === "mse", n = this.frameCount(e);
3673
+ n !== void 0 && n > 0 && (this.frameCounterLive = !0);
3674
+ let r = n !== this.lastFrameCount || t && e.currentTime !== this.lastMediaTime;
3675
+ t && Ci(e), this.audioElement && Ci(this.audioElement), this.lastMediaTime = e.currentTime, this.lastFrameCount = n;
3676
+ let i = performance.now();
3677
+ if (r || !this.expectsFrames(e)) {
3678
+ this.lastProgressAt = i, this.stalled.value = !1;
3679
+ return;
3680
+ }
3681
+ let a = i - this.lastProgressAt;
3682
+ a >= Bi ? (Q.debug(`no frame for ${Math.round(a)}ms, reconnecting`), this.retryLater()) : a >= zi && (this.stalled.value = !0);
3683
+ }
3684
+ frameCount(e) {
3685
+ return this.mjpegHandler ? this.mjpegHandler.frames : Wi(e);
3686
+ }
3687
+ expectsFrames(e) {
3688
+ return this.paused.value || e.paused || gi(e) || Ui() ? !1 : this.activeMode.value === "mse" || this.frameCounterLive;
3689
+ }
3690
+ cleanup() {
3691
+ this.abortController.abort(), this.stopConnectTimeout(), this.stopWsConnectTimeout(), this.stopMseConnectTimeout(), this.stopHealthCheck(), this.cancelFirstFrameWatch?.(), this.awaitingWebRTCFrame = !1, this.lastMediaStream = null, this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.mseHandler?.close(), this.mseHandler = void 0, this.mjpegHandler?.close(), this.mjpegHandler = void 0, this.closeAudio(), this.closeBackchannel(), this.disconnectWebSocket();
3692
+ let e = this.videoElement.value;
3693
+ e && (e.style.display = "", e.pause(), e.srcObject = null, e.removeAttribute("src"), e.load());
3694
+ }
3695
+ async startBackchannel() {
3696
+ if (this.abortController.signal.aborted || !this.wsHandle || this.wsHandle.readyState !== WebSocket.OPEN || this.offerPeer || this.webrtcHandler && (!this.webrtcHandler.isConnected || this.awaitingWebRTCFrame)) return;
3697
+ let e = ji({
3698
+ filterUdp: this.requestedMode.value === "webrtc/tcp",
3699
+ signal: this.abortController.signal,
3700
+ onCandidate: (e) => this.sendWsMessage({
3701
+ type: "webrtc/candidate",
3702
+ value: e
3703
+ }),
3704
+ onConnected: async () => {
3705
+ this.pendingMicTrack && this.backchannelHandler === e && await e.setMicrophoneTrack(this.pendingMicTrack);
3706
+ },
3707
+ onFailed: () => this.closeBackchannel(e)
3708
+ });
3709
+ this.backchannelHandler = e;
3710
+ let t;
3711
+ try {
3712
+ t = await e.createOffer();
3713
+ } catch {
3714
+ this.closeBackchannel(e);
3715
+ return;
3716
+ }
3717
+ t && !this.abortController.signal.aborted && this.backchannelHandler === e && this.sendOffer(e, t);
3718
+ }
3719
+ resumeBackchannel() {
3720
+ this.pendingMicTrack && !this.backchannelHandler && this.startBackchannel();
3721
+ }
3722
+ sendOffer(e, t) {
3723
+ this.wsHandle?.readyState === WebSocket.OPEN && (this.offerPeer = e, this.wsHandle.send(JSON.stringify({
3724
+ type: "webrtc/offer",
3725
+ value: t
3726
+ })));
3727
+ }
3728
+ takeOfferReply() {
3729
+ let e = this.offerPeer;
3730
+ return this.offerPeer = void 0, e && this.isCurrentPeer(e) ? e : void 0;
3731
+ }
3732
+ isCurrentPeer(e) {
3733
+ return e === this.webrtcHandler || e === this.backchannelHandler;
3734
+ }
3735
+ closeBackchannel(e = this.backchannelHandler) {
3736
+ e?.close(), e === this.backchannelHandler && (this.backchannelHandler = void 0, this.pendingMicTrack = null);
3737
+ }
3738
+ };
3739
+ function qi(e) {
3740
+ return new Ki(e);
3741
+ }
3742
+ var Ji = class {
3743
+ streams = /* @__PURE__ */ new Map();
3744
+ standalone = /* @__PURE__ */ new Set();
3745
+ releaseTimers = /* @__PURE__ */ new Map();
3746
+ releaseDelay;
3747
+ DEFAULT_RELEASE_DELAY = 2e3;
3748
+ constructor(e = {}) {
3749
+ this.releaseDelay = e.releaseDelay ?? this.DEFAULT_RELEASE_DELAY;
3750
+ }
3751
+ has(e) {
3752
+ return this.streams.has(e);
3753
+ }
3754
+ getRefCount(e) {
3755
+ return this.streams.get(e)?.refCount ?? 0;
3756
+ }
3757
+ get(e) {
3758
+ return this.streams.get(e);
3759
+ }
3760
+ acquire(e, t) {
3761
+ this.cancelRelease(e);
3762
+ let n = this.streams.get(e);
3763
+ if (n) return n.refCount++, t && n.consumerContainerRefs.add(t), n;
3764
+ }
3765
+ register(e, t, n, r, i, a) {
3766
+ this.cancelRelease(e);
3767
+ let o = {
3768
+ stream: t,
3769
+ videoElementRef: n,
3770
+ cameraDeviceRef: r,
3771
+ containerElementRef: i,
3772
+ consumerContainerRefs: /* @__PURE__ */ new Set([i]),
3773
+ sharedVideoElement: a,
3774
+ mediaStream: null,
3775
+ refCount: 1
3776
+ };
3777
+ return this.streams.set(e, o), o;
3778
+ }
3779
+ updateContainerElement(e, t) {
3780
+ let n = this.streams.get(e);
3781
+ n && (n.containerElementRef.value = t);
3782
+ }
3783
+ updateSharedVideoElement(e, t) {
3784
+ let n = this.streams.get(e);
3785
+ n && (n.sharedVideoElement = t);
3786
+ }
3787
+ updateMediaStream(e, t) {
3788
+ let n = this.streams.get(e);
3789
+ n && (n.mediaStream = t);
3790
+ }
3791
+ release(e, t, n) {
3792
+ let r = this.streams.get(e);
3793
+ if (r) {
3794
+ if (r.refCount--, n) {
3795
+ r.consumerContainerRefs.delete(n);
3796
+ let e = r.sharedVideoElement, t = n.value, i = e?.parentElement ?? null;
3797
+ if (r.refCount > 0 && e && (i === t || i === null || !i.isConnected)) {
3798
+ let n = this.pickVisibleConsumer(r, t);
3799
+ n && (r.containerElementRef = n.ref, e.parentElement !== n.el && (n.el.appendChild(e), e.play().catch(() => {})));
3800
+ }
3801
+ }
3802
+ if (r.refCount <= 0) {
3803
+ let t = setTimeout(() => {
3804
+ this.doRelease(e);
3805
+ }, this.releaseDelay);
3806
+ this.releaseTimers.set(e, t);
3807
+ }
3808
+ }
3809
+ }
3810
+ track(e) {
3811
+ return this.standalone.add(e), () => {
3812
+ this.standalone.delete(e);
3813
+ };
3814
+ }
3815
+ restartConnected() {
3816
+ let e = new Set(this.standalone);
3817
+ for (let t of this.streams.values()) e.add(t.stream);
3818
+ let t = 0;
3819
+ for (let n of e) n.status.value !== "connected" || n.paused.value || (n.restart().catch(() => {}), t++);
3820
+ return t;
3821
+ }
3822
+ forceRelease(e) {
3823
+ this.cancelRelease(e), this.doRelease(e);
3824
+ }
3825
+ clear() {
3826
+ for (let e of this.releaseTimers.values()) clearTimeout(e);
3827
+ this.releaseTimers.clear();
3828
+ for (let [e, t] of this.streams) Yi(t.stream), this.streams.delete(e);
3829
+ }
3830
+ getDebugInfo() {
3831
+ return Array.from(this.streams.entries()).map(([e, t]) => ({
3832
+ cameraName: e,
3833
+ refCount: t.refCount,
3834
+ mode: t.stream.activeMode.value,
3835
+ resolution: t.stream.activeResolution.value
3836
+ }));
3837
+ }
3838
+ pickVisibleConsumer(e, t) {
3839
+ let n;
3840
+ for (let r of e.consumerContainerRefs) {
3841
+ let e = r.value;
3842
+ if (e && e !== t && e.isConnected) {
3843
+ if (e.checkVisibility?.() ?? e.offsetParent !== null) return {
3844
+ ref: r,
3845
+ el: e
3846
+ };
3847
+ n ??= {
3848
+ ref: r,
3849
+ el: e
3850
+ };
3851
+ }
3852
+ }
3853
+ return n;
3854
+ }
3855
+ cancelRelease(e) {
3856
+ let t = this.releaseTimers.get(e);
3857
+ t && (clearTimeout(t), this.releaseTimers.delete(e));
3858
+ }
3859
+ doRelease(e) {
3860
+ let t = this.streams.get(e);
3861
+ t && (t.refCount <= 0 && (Yi(t.stream), this.streams.delete(e)), this.releaseTimers.delete(e));
3862
+ }
3863
+ };
3864
+ function Yi(e) {
3865
+ let t = e;
3866
+ typeof t.destroy == "function" ? t.destroy() : t.stop();
3867
+ }
3868
+ var $ = new Ji();
3869
+ function Xi() {
3870
+ return $.restartConnected();
3871
+ }
3872
+ var Zi = /* @__PURE__ */ new WeakMap(), Qi = null;
3873
+ function $i(e) {
3874
+ Qi = e;
3875
+ }
3876
+ var ea = [], ta = i(null);
3877
+ function na() {
3878
+ ta.value = ea[ea.length - 1] ?? null;
3879
+ }
3880
+ function ra() {
3881
+ return c(() => ta.value);
3882
+ }
3883
+ function ia(e, t = {}) {
3884
+ let n = t.mode ?? "fit", a = r(!1), o = i(null);
3885
+ l(() => s(e), (e) => {
3886
+ o.value = e ?? null;
3887
+ }, { immediate: !0 });
3888
+ function u(e) {
3889
+ e.key === "Escape" && a.value && f();
3890
+ }
3891
+ async function d() {
3892
+ let e = o.value;
3893
+ if (!e || a.value) return;
3894
+ let t = document.createElement("div");
3895
+ t.className = `cui-fullscreen cui-fullscreen-${n}`, aa(t, n);
3896
+ let r = document.createComment("cui-fullscreen");
3897
+ e.before(r);
3898
+ let i = {
3899
+ wrapper: t,
3900
+ parent: e.parentElement,
3901
+ placeholder: r,
3902
+ bodyOverflow: document.body.style.overflow,
3903
+ htmlOverflow: document.documentElement.style.overflow,
3904
+ scrollY: window.scrollY
3905
+ };
3906
+ Zi.set(e, i), e.setAttribute("data-cui-fullscreen", n), (Qi ?? document.body).appendChild(t), t.appendChild(e), document.body.style.overflow = "hidden", document.documentElement.style.overflow = "hidden", window.scrollTo({
3907
+ top: 0,
3908
+ behavior: "instant"
3909
+ }), document.addEventListener("keydown", u), ea.push(t), na(), a.value = !0;
3910
+ }
3911
+ async function f() {
3912
+ let e = o.value;
3913
+ if (!e || !a.value) return;
3914
+ let t = Zi.get(e);
3915
+ if (!t) return;
3916
+ Zi.delete(e), e.removeAttribute("data-cui-fullscreen"), t.placeholder.parentNode ? t.placeholder.replaceWith(e) : t.parent?.appendChild(e), t.wrapper.remove(), document.body.style.overflow = t.bodyOverflow, document.documentElement.style.overflow = t.htmlOverflow, window.scrollTo({
3917
+ top: t.scrollY,
3918
+ behavior: "instant"
3919
+ }), document.removeEventListener("keydown", u);
3920
+ let n = ea.indexOf(t.wrapper);
3921
+ n !== -1 && ea.splice(n, 1), na(), a.value = !1;
3922
+ }
3923
+ async function p() {
3924
+ a.value ? await f() : await d();
3925
+ }
3926
+ return m(() => {
3927
+ a.value && o.value && f(), document.removeEventListener("keydown", u);
3928
+ }), {
3929
+ isFullscreen: c(() => a.value),
3930
+ isSupported: c(() => !0),
3931
+ enter: d,
3932
+ exit: f,
3933
+ toggle: p
3934
+ };
3935
+ }
3936
+ function aa(e, t) {
3937
+ let n = {
3938
+ position: "fixed",
3939
+ top: "0",
3940
+ right: "0",
3941
+ bottom: "0",
3942
+ left: "0",
3943
+ zIndex: "2147483647",
3944
+ margin: "0",
3945
+ background: "black",
3946
+ paddingTop: "env(safe-area-inset-top)",
3947
+ paddingRight: "env(safe-area-inset-right)",
3948
+ paddingBottom: "env(safe-area-inset-bottom)",
3949
+ paddingLeft: "env(safe-area-inset-left)",
3950
+ boxSizing: "border-box"
3951
+ };
3952
+ t === "fit" ? Object.assign(e.style, n, {
3953
+ display: "flex",
3954
+ alignItems: "center",
3955
+ justifyContent: "center",
3956
+ overflow: "hidden"
3957
+ }) : Object.assign(e.style, n, {
3958
+ display: "block",
3959
+ overflowY: "auto",
3960
+ overflowX: "hidden",
3961
+ WebkitOverflowScrolling: "touch",
3962
+ overscrollBehavior: "contain"
3963
+ });
3964
+ }
3965
+ var oa = 75, sa = 500, ca = 1e4, la = 2, ua = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=", da = 0, fa = 0;
3966
+ function pa() {
3967
+ let e = performance.now();
3968
+ e - fa > sa && (da = 0);
3969
+ let t = da * oa;
3970
+ return da++, fa = e, t;
3971
+ }
3972
+ function ma(e) {
3973
+ return !e || !e.isConnected ? !1 : e.checkVisibility?.() ?? e.offsetParent !== null;
3974
+ }
3975
+ function ha(e) {
3976
+ let { activityConfig: t, autoStart: a = !0, isolated: o = !1 } = e, u = o, d, f = () => s(a), p = e.startDelay ?? pa(), h = [], { isConnected: g } = A(), _ = c(() => s(e.camera)), v = c(() => typeof _.value == "string"), y = c(() => {
3977
+ let e = _.value;
3978
+ return typeof e == "string" ? e : e.name.value;
3979
+ }), { camera: b, isLoading: x } = wt(c(() => v.value ? y.value : "")), S = c(() => v.value && x.value), C = c(() => v.value ? b.value : _.value), w, T, E, D = i(), O = i(), k = i(), j = i(), M = i(), N = i(), ee = r(!1), P = r(!1), F = r(!1), I = r(0), te = r(0), L = r(!1), ne = r(!1), re = r(!1), R = r(p <= 0), z, ie, B = !1, ae = !1;
3980
+ p > 0 && (w = setTimeout(() => {
3981
+ R.value = !0;
3982
+ }, p)), l(C, (e) => {
3983
+ N.value = e;
3984
+ }, { immediate: !0 });
3985
+ let V = c(() => N.value?.disabled.value === !0), H = c(() => M.value?.status.value ?? "idle"), oe = c(() => M.value?.isPlaying.value ?? !1), se = c(() => M.value?.stalled?.value ?? !1), ce = c(() => M.value?.activeMode.value ?? "webrtc"), le = c(() => M.value?.activeResolution.value ?? "low-resolution"), ue = c(() => M.value?.degradedFrom.value ?? null), de = c(() => H.value === "unsupported"), fe = c(() => M.value?.hasAudio.value ?? !1), pe = c(() => M.value?.hasBackchannel.value ?? !1), me = c(() => M.value?.error.value), he = c(() => H.value === "reconnecting"), ge = c(() => S.value || !oe.value && H.value !== "error" && H.value !== "unsupported"), _e = c(() => fe.value && H.value === "connected"), U = c(() => !!(typeof navigator < "u" && navigator.mediaDevices) && pe.value), W = c(() => M.value?.muted.value ?? !0), ve = c(() => M.value?.paused.value ?? !1), ye = c(() => typeof document < "u" && document.pictureInPictureEnabled && !!k.value), be = c(() => k.value), xe = c(() => O.value ?? D.value), G = Ar({
3986
+ initialMode: s(e.activityMode) ?? "always-on",
3987
+ config: t,
3988
+ onStreamStart: () => {
3989
+ !V.value && !Pe() && M.value?.start();
3990
+ },
3991
+ onStreamStop: () => {
3992
+ if (ee.value) {
3993
+ let e = E ?? y.value;
3994
+ if (e && $.getRefCount(e) > 1) return;
3995
+ }
3996
+ M.value?.stop();
3997
+ },
3998
+ isStreamPlaying: () => oe.value
3999
+ }), { isFullscreen: Se, toggle: Ce } = ia(xe);
4000
+ function we() {
4001
+ return T = qi({
4002
+ camera: N,
4003
+ videoElement: j,
4004
+ containerElement: D,
4005
+ mode: c(() => s(e.mode) ?? "auto"),
4006
+ resolution: c(() => s(e.resolution) ?? "high-resolution"),
4007
+ autoStart: !1
4008
+ }), T;
4009
+ }
4010
+ let K = we();
4011
+ function Te() {
4012
+ let e = document.createElement("video");
4013
+ return e.autoplay = !0, e.playsInline = !0, e.muted = !0, e.disablePictureInPicture = !1, e.preload = "auto", e.poster = ua, e.style.position = "absolute", e.style.width = "100%", e.style.height = "100%", e.style.inset = "0", e.style.objectFit = "fill", e;
4014
+ }
4015
+ function Ee(e, t) {
4016
+ e.parentElement && e.parentElement !== t && e.parentElement.removeChild(e), e.parentElement !== t && t.appendChild(e);
4017
+ }
4018
+ function De() {
4019
+ if (u) return;
4020
+ let e = D.value, t = k.value;
4021
+ if (!e || !t || t.parentElement === e || !ma(e) || ma(t.parentElement)) return;
4022
+ Ee(t, e), t.play().catch(() => {});
4023
+ let n = y.value, r = n ? $.get(n) : void 0;
4024
+ r && (r.containerElementRef = D);
4025
+ }
4026
+ function Oe() {
4027
+ L.value = !0;
4028
+ }
4029
+ function q() {
4030
+ L.value = !1;
4031
+ }
4032
+ function ke() {
4033
+ L.value = gi(k.value);
4034
+ }
4035
+ function Ae() {
4036
+ return H.value !== "idle" && H.value !== "closed" && H.value !== "unsupported";
4037
+ }
4038
+ function je() {
4039
+ let e = k.value;
4040
+ if (!e || e.readyState < la || !e.videoWidth || !e.videoHeight) return;
4041
+ let t = Math.round((D.value?.clientWidth || e.videoWidth) * (globalThis.devicePixelRatio || 1)), n = document.createElement("canvas");
4042
+ n.width = Math.min(e.videoWidth, t), n.height = Math.round(e.videoHeight * n.width / e.videoWidth);
4043
+ try {
4044
+ n.getContext("2d")?.drawImage(e, 0, 0, n.width, n.height), e.poster = n.toDataURL("image/jpeg", .8);
4045
+ } catch {}
4046
+ }
4047
+ function Me() {
4048
+ clearTimeout(z), z = void 0;
4049
+ }
4050
+ function J() {
4051
+ clearTimeout(ie), ie = void 0;
4052
+ }
4053
+ function Ne() {
4054
+ re.value ? (J(), L.value || ne.value || ve.value || !Ae() ? Me() : z ??= setTimeout(Fe, ae ? ca : 0)) : (Me(), B && Ie());
4055
+ }
4056
+ function Pe() {
4057
+ return !re.value || ae ? !1 : (B = !0, !0);
4058
+ }
4059
+ function Fe() {
4060
+ z = void 0, !(!re.value || L.value || ne.value || ve.value || G.inStandby.value || !Ae()) && (gi(k.value) ? L.value = !0 : E && $.getRefCount(E) > 1 ? z = setTimeout(Fe, ca) : (je(), M.value?.stop(), B = !0));
4061
+ }
4062
+ function Ie() {
4063
+ ie ??= setTimeout(() => {
4064
+ ie = void 0, !re.value && B && (B = !1, !(V.value || !f() || G.inStandby.value) && (H.value === "idle" || H.value === "closed") && M.value?.start());
4065
+ }, pa());
4066
+ }
4067
+ function Le() {
4068
+ if (P.value) return;
4069
+ let e = D.value, t = C.value;
4070
+ if (!e || !t || !g.value) return;
4071
+ P.value = !0, ee.value = !1, M.value = K, h.push($.track(K));
4072
+ let n = Te();
4073
+ k.value = n, j.value = n, f() && R.value && G.mode.value === "always-on" && !V.value && !Pe() && K.start();
4074
+ }
4075
+ function Re() {
4076
+ if (P.value) return;
4077
+ if (u) {
4078
+ Le();
4079
+ return;
4080
+ }
4081
+ let e = D.value, t = y.value, n = C.value;
4082
+ if (!e || !t || !g.value) return;
4083
+ let r = $.get(t);
4084
+ if (r && r.refCount > 0) {
4085
+ let n = r.containerElementRef.value;
4086
+ if (n && n !== e && ma(n)) {
4087
+ d || (d = setTimeout(() => {
4088
+ if (d = void 0, F.value || P.value) return;
4089
+ let e = $.get(t), n = e?.containerElementRef.value;
4090
+ e && e.refCount > 0 && n && n !== D.value && ma(n) && (u = !0), Re();
4091
+ }, 200), h.push(() => {
4092
+ d && clearTimeout(d), d = void 0;
4093
+ }));
4094
+ return;
4095
+ }
4096
+ }
4097
+ let i = $.acquire(t, D);
4098
+ if (i) {
4099
+ P.value = !0, E = t, ee.value = !0, M.value = i.stream, n && i.cameraDeviceRef && (i.cameraDeviceRef.value = n);
4100
+ let r = i.sharedVideoElement;
4101
+ r || (r = Te(), i.sharedVideoElement = r, $.updateSharedVideoElement(t, r)), i.mediaStream?.active && (r.srcObject = i.mediaStream), e && (i.containerElementRef = D), k.value = r, i.videoElementRef.value = r, Ve(i.stream, r, t), f() && R.value && G.mode.value === "always-on" && !V.value && !Pe() && (i.stream.activeMode.value === "mse" ? r.play().catch(() => {}) : ze(i, r, t));
4102
+ } else if (n) {
4103
+ P.value = !0, E = t, ee.value = !1, M.value = K;
4104
+ let e = Te();
4105
+ k.value = e, j.value = e, $.register(t, K, j, N, D, e), f() && R.value && G.mode.value === "always-on" && !V.value && !Pe() && K.start();
4106
+ let n = l(() => K.isPlaying.value, (n) => {
4107
+ n && e.srcObject instanceof MediaStream && $.updateMediaStream(t, e.srcObject);
4108
+ }, { immediate: !0 });
4109
+ h.push(n);
4110
+ let r = l(() => K.status.value, (n) => {
4111
+ n === "connected" && e.srcObject instanceof MediaStream && $.updateMediaStream(t, e.srcObject);
4112
+ });
4113
+ h.push(r);
4114
+ }
4115
+ }
4116
+ function ze(e, t, n) {
4117
+ if (!e) return;
4118
+ let r = e.stream, i = r.activeMode.value, a = r.status.value, o = e.mediaStream?.active && e.mediaStream.getTracks().some((e) => e.readyState === "live");
4119
+ i === "mse" ? ($.updateMediaStream(n, null), r.restart()) : o && e.mediaStream ? (t.srcObject = e.mediaStream, t.play().catch(() => {})) : a === "idle" || a === "closed" ? (r.start(), Be(r, t, n)) : (a === "connected" && r.restart(), Be(r, t, n));
4120
+ }
4121
+ function Be(e, t, n) {
4122
+ let r = l([() => e.isPlaying.value, () => e.status.value], ([e, i]) => {
4123
+ if (i === "connected" || e) {
4124
+ let e = $.get(n)?.mediaStream;
4125
+ e?.active && e.getTracks().some((e) => e.readyState === "live") ? (t.srcObject = e, t.play().catch(() => {}), r()) : t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}), r());
4126
+ }
4127
+ }, { immediate: !0 });
4128
+ h.push(r);
4129
+ }
4130
+ function Ve(e, t, n) {
4131
+ let r = e.status.value !== "connected", i = l(() => e.status.value, (e) => {
4132
+ e === "reconnecting" || e === "connecting" ? r = !0 : e === "connected" && r && (r = !1, setTimeout(() => {
4133
+ t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}));
4134
+ }, 100));
4135
+ }, { immediate: !0 });
4136
+ h.push(i);
4137
+ let a = l(() => e.isPlaying.value, (r) => {
4138
+ r && e.activeMode.value !== "mse" && t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}));
4139
+ }, { immediate: !0 });
4140
+ h.push(a);
4141
+ }
4142
+ async function He() {
4143
+ V.value || (G.inStandby.value ? G.resumeFromStandby() : await M.value?.start());
4144
+ }
4145
+ function Ue() {
4146
+ M.value?.stop();
4147
+ }
4148
+ async function We() {
4149
+ await M.value?.restart();
4150
+ }
4151
+ function Ge() {
4152
+ V.value || G.resumeFromStandby();
4153
+ }
4154
+ async function Ke(e) {
4155
+ let t = y.value;
4156
+ t && $.updateMediaStream(t, null), await M.value?.setMode(e);
4157
+ }
4158
+ async function qe(e) {
4159
+ await M.value?.setResolution(e);
4160
+ }
4161
+ async function Je(e) {
4162
+ await M.value?.setMicrophone(e);
4163
+ }
4164
+ function Ye(e) {
4165
+ G.setMode(e);
4166
+ }
4167
+ function Xe() {
4168
+ let t = s(e.activityMode);
4169
+ t && t !== G.mode.value && G.setMode(t);
4170
+ }
4171
+ function Ze(e) {
4172
+ G.reportActivity(e);
4173
+ }
4174
+ function Qe() {
4175
+ G.resetIdleTimer();
4176
+ }
4177
+ function $e(e) {
4178
+ ne.value = e, G.setKeepAwake(e);
4179
+ }
4180
+ function et(e) {
4181
+ M.value?.setMuted(e);
4182
+ let t = k.value;
4183
+ t && (t.muted = e);
4184
+ }
4185
+ async function tt() {
4186
+ await M.value?.play();
4187
+ }
4188
+ function nt() {
4189
+ M.value?.pause();
4190
+ }
4191
+ function rt() {
4192
+ document.pictureInPictureElement ? document.exitPictureInPicture() : document.pictureInPictureEnabled && k.value && k.value.requestPictureInPicture();
4193
+ }
4194
+ function it() {
4195
+ let e = k.value;
4196
+ if (!e || e.videoWidth === 0) return null;
4197
+ let t = document.createElement("canvas");
4198
+ return t.width = e.videoWidth, t.height = e.videoHeight, t.getContext("2d")?.drawImage(e, 0, 0), t.toDataURL("image/png");
4199
+ }
4200
+ function at() {
4201
+ if (F.value) return;
4202
+ F.value = !0, w &&= (clearTimeout(w), void 0), Me(), J(), M.value?.setMuted(!0);
4203
+ let e = k.value;
4204
+ e && (e.muted = !0);
4205
+ for (let e of h) e();
4206
+ if (h.length = 0, u) T?.destroy();
4207
+ else {
4208
+ let e = E, t = k.value;
4209
+ e && P.value && $.release(e, t, D), (!P.value || M.value !== K) && T?.destroy();
4210
+ }
4211
+ G.dispose();
4212
+ }
4213
+ function ot(t) {
4214
+ let n = s(e.canvasStyle), r = s(e.canvasClass);
4215
+ if (n) {
4216
+ if (typeof n == "string") t.style.cssText += ";" + n;
4217
+ else if (Array.isArray(n)) for (let e of n) typeof e == "string" ? t.style.cssText += ";" + e : e && Object.assign(t.style, e);
4218
+ else Object.assign(t.style, n);
4219
+ }
4220
+ if (r) {
4221
+ if (typeof r == "string") t.className = r;
4222
+ else if (Array.isArray(r)) t.className = r.filter(Boolean).join(" ");
4223
+ else for (let [e, n] of Object.entries(r)) t.classList.toggle(e, !!n);
4224
+ }
4225
+ }
4226
+ if (typeof IntersectionObserver < "u") {
4227
+ let e, t = l(D, (t) => {
4228
+ if (e?.disconnect(), e = void 0, !t) return;
4229
+ let n = Math.round(t.getBoundingClientRect().height), r = n > 0 ? `${n}px 0px` : "25% 0px";
4230
+ e = new IntersectionObserver((e) => {
4231
+ let t = e[e.length - 1];
4232
+ t && (re.value = !t.isIntersecting, t.isIntersecting && (ae = !0, De()));
4233
+ }, {
4234
+ rootMargin: r,
4235
+ scrollMargin: r
4236
+ }), e.observe(t);
4237
+ }, { immediate: !0 }), n = l([
4238
+ re,
4239
+ H,
4240
+ L,
4241
+ ne,
4242
+ ve
4243
+ ], Ne);
4244
+ h.push(() => {
4245
+ t(), n(), e?.disconnect();
4246
+ });
4247
+ }
4248
+ if (e.canvasStyle !== void 0 || e.canvasClass !== void 0) {
4249
+ let e, t = l(D, (t) => {
4250
+ if (e?.(), e = void 0, !t) return;
4251
+ Array.from(t.querySelectorAll("canvas")).forEach((e) => {
4252
+ ot(e);
4253
+ });
4254
+ let n = new MutationObserver((e) => {
4255
+ for (let t of e) Array.from(t.addedNodes).forEach((e) => {
4256
+ e instanceof HTMLCanvasElement ? ot(e) : e instanceof HTMLElement && Array.from(e.querySelectorAll("canvas")).forEach((e) => ot(e));
4257
+ });
4258
+ });
4259
+ n.observe(t, {
4260
+ childList: !0,
4261
+ subtree: !0
4262
+ }), e = () => n.disconnect();
4263
+ }, { immediate: !0 });
4264
+ h.push(() => {
4265
+ t(), e?.();
4266
+ });
4267
+ }
4268
+ if (e.videoStyle !== void 0 || e.videoClass !== void 0) {
4269
+ let t = l([
4270
+ k,
4271
+ () => s(e.videoStyle),
4272
+ () => s(e.videoClass)
4273
+ ], ([e, t, n]) => {
4274
+ if (e) {
4275
+ if (t) {
4276
+ if (typeof t == "string") e.style.cssText += ";" + t;
4277
+ else if (Array.isArray(t)) for (let n of t) typeof n == "string" ? e.style.cssText += ";" + n : n && Object.assign(e.style, n);
4278
+ else Object.assign(e.style, t);
4279
+ }
4280
+ if (n) {
4281
+ if (typeof n == "string") e.className = n;
4282
+ else if (Array.isArray(n)) e.className = n.filter(Boolean).join(" ");
4283
+ else for (let [t, r] of Object.entries(n)) e.classList.toggle(t, r);
4284
+ }
4285
+ }
4286
+ }, { immediate: !0 });
4287
+ h.push(t);
4288
+ }
4289
+ let st = l([() => M.value?.nativeWidth.value, () => M.value?.nativeHeight.value], ([e, t]) => {
4290
+ e && e > 0 && (I.value = e), t && t > 0 && (te.value = t);
4291
+ });
4292
+ h.push(st);
4293
+ let ct = l(k, (e, t) => {
4294
+ t && (t.removeEventListener("enterpictureinpicture", Oe), t.removeEventListener("leavepictureinpicture", q), t.removeEventListener("webkitpresentationmodechanged", ke)), e && (e.addEventListener("enterpictureinpicture", Oe), e.addEventListener("leavepictureinpicture", q), e.addEventListener("webkitpresentationmodechanged", ke));
4295
+ }, { immediate: !0 });
4296
+ h.push(ct), l([D, k], ([e, t]) => {
4297
+ e && t && Ee(t, e);
4298
+ }, { immediate: !0 }), l(() => s(e.activityMode), Xe), l([
4299
+ D,
4300
+ C,
4301
+ g,
4302
+ R
4303
+ ], () => {
4304
+ P.value ? R.value && f() && G.mode.value === "always-on" && !oe.value && H.value === "idle" && !V.value && !Pe() && M.value?.start() : Re();
4305
+ }, { immediate: !0 });
4306
+ let lt = !1;
4307
+ return l(() => P.value && R.value && f() && !V.value, (e) => {
4308
+ e && !lt && (lt = !0, Xe(), G.engage());
4309
+ }, { immediate: !0 }), l(oe, (e) => {
4310
+ if (!e) return;
4311
+ G.resetIdleTimer();
4312
+ let t = k.value;
4313
+ t && t.poster !== ua && (t.poster = ua);
4314
+ }), l(V, (e, t) => {
4315
+ P.value && (!t && e ? M.value?.stop() : t && !e && f() && !G.inStandby.value && M.value?.restart());
4316
+ }), n(at), m(at), {
4317
+ status: H,
4318
+ isPlaying: oe,
4319
+ stalled: se,
4320
+ activeMode: ce,
4321
+ activeResolution: le,
4322
+ degradedFrom: ue,
4323
+ unsupported: de,
4324
+ hasAudio: fe,
4325
+ hasBackchannel: pe,
4326
+ error: me,
4327
+ isReconnecting: he,
4328
+ activityMode: G.mode,
4329
+ inStandby: G.inStandby,
4330
+ hasActivity: G.hasActivity,
4331
+ isBusy: ge,
4332
+ hasSound: _e,
4333
+ hasIntercom: U,
4334
+ videoElement: k,
4335
+ containerElement: D,
4336
+ fullscreenElement: O,
4337
+ renderElement: be,
4338
+ stream: M,
4339
+ muted: W,
4340
+ paused: ve,
4341
+ nativeWidth: I,
4342
+ nativeHeight: te,
4343
+ isPip: L,
4344
+ supportsPip: ye,
4345
+ isFullscreen: Se,
4346
+ start: He,
4347
+ stop: Ue,
4348
+ restart: We,
4349
+ resumeFromStandby: Ge,
4350
+ setMode: Ke,
4351
+ setResolution: qe,
4352
+ setMicrophone: Je,
4353
+ setActivityMode: Ye,
4354
+ reportActivity: Ze,
4355
+ resetIdleTimer: Qe,
4356
+ setKeepAwake: $e,
4357
+ setMuted: et,
4358
+ play: tt,
4359
+ pause: nt,
4360
+ togglePip: rt,
4361
+ isCameraDisabled: V,
4362
+ toggleFullscreen: Ce,
4363
+ captureScreenshot: it
4364
+ };
4365
+ }
4366
+ function ga() {
4367
+ let e = A(), t = N.coreManagerNamespaces(), n = (e) => e.createProxy(t.coreManagerRpc);
4368
+ return {
4369
+ getFFmpegPath: () => R(e.rpc, (e) => n(e).getFFmpegPath()),
4370
+ getServerAddresses: () => R(e.rpc, (e) => n(e).getServerAddresses()),
4371
+ getPluginsByInterface: (t) => R(e.rpc, (e) => n(e).getPluginsByInterface(t)),
4372
+ getCloudServerId: () => R(e.rpc, (e) => n(e).getCloudServerId()),
4373
+ getRestoreGeneration: () => R(e.rpc, (e) => n(e).getRestoreGeneration()),
4374
+ getInstanceId: () => R(e.rpc, (e) => n(e).getInstanceId())
4375
+ };
4376
+ }
4377
+ function _a() {
4378
+ let e = A(), { rpc: t, isConnected: n } = e, a = N.terminalManagerNamespaces(), o = i(), s = r(!1), c = r(!1), l = r(), u = r({
4379
+ cols: 80,
4380
+ rows: 24
4381
+ }), f, p, h = 0, g, _, v = !1, y = !1, b = (e) => e.createProxy(a.terminalManagerRpc);
4382
+ async function x(e) {
4383
+ if (!(c.value || s.value)) {
4384
+ c.value = !0, l.value = void 0, p = e;
4385
+ try {
4386
+ let n = await R(t, (t) => b(t).createSession({
4387
+ cols: e?.cols ?? 80,
4388
+ rows: e?.rows ?? 24,
4389
+ cwd: e?.cwd,
4390
+ shell: e?.shell,
4391
+ env: e?.env
4392
+ }), { maxRetries: 0 });
4393
+ o.value = n.sessionId, u.value = n.dimensions, s.value = !0, f = new AbortController(), v = !1, y = !1;
4394
+ let r = ++h;
4395
+ S(n.sessionId, e, r);
4396
+ } catch (t) {
4397
+ l.value = t instanceof Error ? t : Error(String(t)), e?.onError?.(l.value);
4398
+ } finally {
4399
+ c.value = !1;
4400
+ }
4401
+ }
4402
+ }
4403
+ async function S(e, n, r) {
4404
+ try {
4405
+ let i = t.value;
4406
+ if (!i) return;
4407
+ let a = b(i).generateOutput(e);
4408
+ g = a, _ = i;
4409
+ for await (let e of a) {
4410
+ if (r !== h || f?.signal.aborted) break;
4411
+ n?.onData?.(e);
4412
+ }
4413
+ } catch (e) {
4414
+ if (r === h && !f?.signal.aborted) {
4415
+ if (y) {
4416
+ O();
4417
+ return;
4418
+ }
4419
+ l.value = e instanceof Error ? e : Error(String(e)), n?.onError?.(l.value);
4420
+ }
4421
+ } finally {
4422
+ r === h && !f?.signal.aborted && (s.value = !1, D(e), n?.onClose?.());
4423
+ }
4424
+ }
4425
+ async function C(e) {
4426
+ if (o.value && s.value) try {
4427
+ await R(t, (t) => b(t).writeInput(o.value, e));
4428
+ } catch (e) {
4429
+ l.value = e instanceof Error ? e : Error(String(e)), p?.onError?.(l.value);
4430
+ }
4431
+ }
4432
+ async function w(e) {
4433
+ if (o.value && s.value) try {
4434
+ await R(t, (t) => b(t).resize(o.value, e)), u.value = e;
4435
+ } catch (e) {
4436
+ l.value = e instanceof Error ? e : Error(String(e)), p?.onError?.(l.value);
4437
+ }
4438
+ }
4439
+ async function T() {
4440
+ E(), o.value && await D(o.value), o.value = void 0, s.value = !1, p = void 0;
4441
+ }
4442
+ function E() {
4443
+ f?.abort(), h++, g?.return(void 0).catch(() => void 0), g = void 0, _ = void 0, y = !1;
4444
+ }
4445
+ function D(e) {
4446
+ return R(t, (t) => b(t).closeSession(e), {
4447
+ awaitConnect: !1,
4448
+ maxRetries: 0
4449
+ }).catch(() => void 0);
4450
+ }
4451
+ function O() {
4452
+ let e = p, t = o.value;
4453
+ E(), t && D(t), o.value = void 0, s.value = !1, p = void 0, e?.onClose?.(), e && x(e);
4454
+ }
4455
+ function k() {
4456
+ (o.value || s.value) && (s.value && !v && t.value === _ ? y = !0 : O());
4457
+ }
4458
+ function j() {
4459
+ v = !0;
4460
+ }
4461
+ return e.on("reconnected", k), e.on("disconnected", j), m(() => {
4462
+ e.off("reconnected", k), e.off("disconnected", j), T();
4463
+ }), {
4464
+ sessionId: d(o),
4465
+ isConnected: d(s),
4466
+ isConnecting: d(c),
4467
+ isClientConnected: d(n),
4468
+ error: d(l),
4469
+ dimensions: d(u),
4470
+ connect: x,
4471
+ write: C,
4472
+ resize: w,
4473
+ close: T
4474
+ };
4475
+ }
4476
+ //#endregion
4477
+ export { Lt as A, ra as B, A as C, $n as D, ia as E, yr as F, v as G, S as H, qn as I, y as K, tt as L, tr as M, un as N, er as O, _r as P, Te as R, ha as S, ga as T, w as U, x as V, C as W, Xi as _, Tn as a, wt as b, fn as c, yn as d, pn as f, br as g, bn as h, hn as i, Qn as j, Zn as k, vn as l, _n as m, mn as n, xn as o, Cn as p, gn as r, wn as s, Or as t, Sn as u, $i as v, nr as w, vr as x, Jn as y, _a as z };