@camera.ui/server 2.4.2 → 2.4.4

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 (1774) hide show
  1. package/dist/interface/assets/404-D4Drh_xq.js +1 -0
  2. package/dist/interface/assets/404-D4Drh_xq.js.br +0 -0
  3. package/dist/interface/assets/404-D4Drh_xq.js.gz +0 -0
  4. package/dist/interface/assets/About-BAT_jCW3.js +1 -0
  5. package/dist/interface/assets/About-BAT_jCW3.js.br +0 -0
  6. package/dist/interface/assets/About-BAT_jCW3.js.gz +0 -0
  7. package/dist/interface/assets/Assistant-CFqX9Cfn.js +1 -0
  8. package/dist/interface/assets/Assistant-CFqX9Cfn.js.br +0 -0
  9. package/dist/interface/assets/Assistant-CFqX9Cfn.js.gz +0 -0
  10. package/dist/interface/assets/Automation-Ca_fzkxS.js +3 -0
  11. package/dist/interface/assets/Automation-Ca_fzkxS.js.br +0 -0
  12. package/dist/interface/assets/Automation-Ca_fzkxS.js.gz +0 -0
  13. package/dist/interface/assets/AutomationImport-CbpQbyf_.js +2 -0
  14. package/dist/interface/assets/AutomationImport-CbpQbyf_.js.br +0 -0
  15. package/dist/interface/assets/AutomationImport-CbpQbyf_.js.gz +0 -0
  16. package/dist/interface/assets/AutomationStore-DzdSpBDK.js +2 -0
  17. package/dist/interface/assets/AutomationStore-DzdSpBDK.js.br +0 -0
  18. package/dist/interface/assets/AutomationStore-DzdSpBDK.js.gz +0 -0
  19. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js +2 -0
  20. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js.br +0 -0
  21. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js.gz +0 -0
  22. package/dist/interface/assets/Automations-Cykrss_w.js +2 -0
  23. package/dist/interface/assets/Automations-Cykrss_w.js.br +0 -0
  24. package/dist/interface/assets/Automations-Cykrss_w.js.gz +0 -0
  25. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js +1 -0
  26. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js.br +0 -0
  27. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js.gz +0 -0
  28. package/dist/interface/assets/Camera-c1CBOkQs.js +2 -0
  29. package/dist/interface/assets/Camera-c1CBOkQs.js.br +0 -0
  30. package/dist/interface/assets/Camera-c1CBOkQs.js.gz +0 -0
  31. package/dist/interface/assets/CameraConsole-3CDWcq69.js +7 -0
  32. package/dist/interface/assets/CameraConsole-3CDWcq69.js.br +0 -0
  33. package/dist/interface/assets/CameraConsole-3CDWcq69.js.gz +0 -0
  34. package/dist/interface/assets/Cameras-B7uCydRy.js +651 -0
  35. package/dist/interface/assets/Cameras-B7uCydRy.js.br +0 -0
  36. package/dist/interface/assets/Cameras-B7uCydRy.js.gz +0 -0
  37. package/dist/interface/assets/Camview-DdTvWbzy.js +1 -0
  38. package/dist/interface/assets/Camview-DdTvWbzy.js.br +0 -0
  39. package/dist/interface/assets/Camview-DdTvWbzy.js.gz +0 -0
  40. package/dist/interface/assets/CertificateUpload-DujvhJVs.js +1 -0
  41. package/dist/interface/assets/CertificateUpload-DujvhJVs.js.br +0 -0
  42. package/dist/interface/assets/CertificateUpload-DujvhJVs.js.gz +0 -0
  43. package/dist/interface/assets/Config-BY9qOw6l.js +2 -0
  44. package/dist/interface/assets/Config-BY9qOw6l.js.br +0 -0
  45. package/dist/interface/assets/Config-BY9qOw6l.js.gz +0 -0
  46. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js +1 -0
  47. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js.br +0 -0
  48. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js.gz +0 -0
  49. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js +1 -0
  50. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js.br +0 -0
  51. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js.gz +0 -0
  52. package/dist/interface/assets/ConfigActionDelay-CV5f0qjW.js +1 -0
  53. package/dist/interface/assets/ConfigActionDelay-CV5f0qjW.js.br +0 -0
  54. package/dist/interface/assets/ConfigActionDelay-CV5f0qjW.js.gz +0 -0
  55. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js +1 -0
  56. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js.br +0 -0
  57. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js.gz +0 -0
  58. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js +1 -0
  59. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js.br +0 -0
  60. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js.gz +0 -0
  61. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js +1 -0
  62. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js.br +0 -0
  63. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js.gz +0 -0
  64. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js +1 -0
  65. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js.br +0 -0
  66. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js.gz +0 -0
  67. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js +1 -0
  68. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js.br +0 -0
  69. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js.gz +0 -0
  70. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js +1 -0
  71. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js.br +0 -0
  72. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js.gz +0 -0
  73. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js +1 -0
  74. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js.br +0 -0
  75. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js.gz +0 -0
  76. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js +1 -0
  77. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js.br +0 -0
  78. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js.gz +0 -0
  79. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js +1 -0
  80. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js.br +0 -0
  81. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js.gz +0 -0
  82. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js +1 -0
  83. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js.br +0 -0
  84. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js.gz +0 -0
  85. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js +1 -0
  86. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js.br +0 -0
  87. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js.gz +0 -0
  88. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js +1 -0
  89. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js.br +0 -0
  90. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js.gz +0 -0
  91. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js +1 -0
  92. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js.br +0 -0
  93. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js.gz +0 -0
  94. package/dist/interface/assets/ConfigConditionTime-BxAy-8AG.js +1 -0
  95. package/dist/interface/assets/ConfigConditionTime-BxAy-8AG.js.br +0 -0
  96. package/dist/interface/assets/ConfigConditionTime-BxAy-8AG.js.gz +0 -0
  97. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js +1 -0
  98. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js.br +0 -0
  99. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js.gz +0 -0
  100. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js +1 -0
  101. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js.br +0 -0
  102. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js.gz +0 -0
  103. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js +1 -0
  104. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js.br +0 -0
  105. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js.gz +0 -0
  106. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js +1 -0
  107. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js.br +0 -0
  108. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js.gz +0 -0
  109. package/dist/interface/assets/ConfigTriggerSchedule-B_YCAxAQ.js +1 -0
  110. package/dist/interface/assets/ConfigTriggerSchedule-B_YCAxAQ.js.br +0 -0
  111. package/dist/interface/assets/ConfigTriggerSchedule-B_YCAxAQ.js.gz +0 -0
  112. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js +1 -0
  113. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js.br +0 -0
  114. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js.gz +0 -0
  115. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js +1 -0
  116. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js.br +0 -0
  117. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js.gz +0 -0
  118. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js +1 -0
  119. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js.br +0 -0
  120. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js.gz +0 -0
  121. package/dist/interface/assets/Console-Cgjv3RzI.js +1 -0
  122. package/dist/interface/assets/Console-Cgjv3RzI.js.br +0 -0
  123. package/dist/interface/assets/Console-Cgjv3RzI.js.gz +0 -0
  124. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js +5 -0
  125. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js.br +0 -0
  126. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js.gz +0 -0
  127. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js +1 -0
  128. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js.br +0 -0
  129. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js.gz +0 -0
  130. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js +1 -0
  131. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js.br +0 -0
  132. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js.gz +0 -0
  133. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js +1 -0
  134. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js.br +1 -0
  135. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js.gz +0 -0
  136. package/dist/interface/assets/CuiButton-DZxo0TJ4.js +1 -0
  137. package/dist/interface/assets/CuiButton-DZxo0TJ4.js.br +0 -0
  138. package/dist/interface/assets/CuiButton-DZxo0TJ4.js.gz +0 -0
  139. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js +1 -0
  140. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js.br +0 -0
  141. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js.gz +0 -0
  142. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js +1 -0
  143. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js.br +0 -0
  144. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js.gz +0 -0
  145. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js +1 -0
  146. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js.br +0 -0
  147. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js.gz +0 -0
  148. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js +1 -0
  149. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js.br +1 -0
  150. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js.gz +0 -0
  151. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js +2 -0
  152. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js.br +0 -0
  153. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js.gz +0 -0
  154. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js +1 -0
  155. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js.br +0 -0
  156. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js.gz +0 -0
  157. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js +5 -0
  158. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js.br +0 -0
  159. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js.gz +0 -0
  160. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js +1 -0
  161. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js.br +0 -0
  162. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js.gz +0 -0
  163. package/dist/interface/assets/CuiLightControl-zvzB79A4.js +1 -0
  164. package/dist/interface/assets/CuiLightControl-zvzB79A4.js.br +0 -0
  165. package/dist/interface/assets/CuiLightControl-zvzB79A4.js.gz +0 -0
  166. package/dist/interface/assets/CuiList-DxjMimZr.js +1 -0
  167. package/dist/interface/assets/CuiList-DxjMimZr.js.br +0 -0
  168. package/dist/interface/assets/CuiList-DxjMimZr.js.gz +0 -0
  169. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js +1 -0
  170. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js.br +0 -0
  171. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js.gz +0 -0
  172. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js +2 -0
  173. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js.br +0 -0
  174. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js.gz +0 -0
  175. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js +1 -0
  176. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js.br +0 -0
  177. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js.gz +0 -0
  178. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js +2 -0
  179. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js.br +0 -0
  180. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js.gz +0 -0
  181. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js +1 -0
  182. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js.br +0 -0
  183. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js.gz +0 -0
  184. package/dist/interface/assets/CuiQRCode-B86lQi1G.js +1 -0
  185. package/dist/interface/assets/CuiQRCode-B86lQi1G.js.br +0 -0
  186. package/dist/interface/assets/CuiQRCode-B86lQi1G.js.gz +0 -0
  187. package/dist/interface/assets/CuiSchema-YiKccKyT.js +1 -0
  188. package/dist/interface/assets/CuiSchema-YiKccKyT.js.br +0 -0
  189. package/dist/interface/assets/CuiSchema-YiKccKyT.js.gz +0 -0
  190. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js +1 -0
  191. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js.br +0 -0
  192. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js.gz +0 -0
  193. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js +1 -0
  194. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js.br +0 -0
  195. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js.gz +0 -0
  196. package/dist/interface/assets/Faces-CHbVBveZ.js +1 -0
  197. package/dist/interface/assets/Faces-CHbVBveZ.js.br +0 -0
  198. package/dist/interface/assets/Faces-CHbVBveZ.js.gz +0 -0
  199. package/dist/interface/assets/FirstSteps-D9Pta8BL.js +1 -0
  200. package/dist/interface/assets/FirstSteps-D9Pta8BL.js.br +0 -0
  201. package/dist/interface/assets/FirstSteps-D9Pta8BL.js.gz +0 -0
  202. package/dist/interface/assets/Floorplan-DzZ8h3Js.js +1 -0
  203. package/dist/interface/assets/Floorplan-DzZ8h3Js.js.br +0 -0
  204. package/dist/interface/assets/Floorplan-DzZ8h3Js.js.gz +0 -0
  205. package/dist/interface/assets/Instances-Glv2Nq8L.js +1 -0
  206. package/dist/interface/assets/Instances-Glv2Nq8L.js.br +0 -0
  207. package/dist/interface/assets/Instances-Glv2Nq8L.js.gz +0 -0
  208. package/dist/interface/assets/Logs-BTjx1_ly.js +6 -0
  209. package/dist/interface/assets/Logs-BTjx1_ly.js.br +0 -0
  210. package/dist/interface/assets/Logs-BTjx1_ly.js.gz +0 -0
  211. package/dist/interface/assets/Menu-D0ZOCtdm.js +1 -0
  212. package/dist/interface/assets/Menu-D0ZOCtdm.js.br +0 -0
  213. package/dist/interface/assets/Menu-D0ZOCtdm.js.gz +0 -0
  214. package/dist/interface/assets/Metrics-BuMxT9v0.js +12 -0
  215. package/dist/interface/assets/Metrics-BuMxT9v0.js.br +0 -0
  216. package/dist/interface/assets/Metrics-BuMxT9v0.js.gz +0 -0
  217. package/dist/interface/assets/Metrics-CbovfOHd.css +1 -0
  218. package/dist/interface/assets/Metrics-CbovfOHd.css.br +2 -0
  219. package/dist/interface/assets/Metrics-CbovfOHd.css.gz +0 -0
  220. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js +1 -0
  221. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js.br +0 -0
  222. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js.gz +0 -0
  223. package/dist/interface/assets/Plugin-CYg8HDoz.css +1 -0
  224. package/dist/interface/assets/Plugin-CYg8HDoz.css.br +0 -0
  225. package/dist/interface/assets/Plugin-CYg8HDoz.css.gz +0 -0
  226. package/dist/interface/assets/Plugin-DcYBigka.js +1 -0
  227. package/dist/interface/assets/Plugin-DcYBigka.js.br +0 -0
  228. package/dist/interface/assets/Plugin-DcYBigka.js.gz +0 -0
  229. package/dist/interface/assets/PluginConsole-D_mTFWkP.js +7 -0
  230. package/dist/interface/assets/PluginConsole-D_mTFWkP.js.br +0 -0
  231. package/dist/interface/assets/PluginConsole-D_mTFWkP.js.gz +0 -0
  232. package/dist/interface/assets/PluginDetail-DS79Mckz.js +2 -0
  233. package/dist/interface/assets/PluginDetail-DS79Mckz.js.br +0 -0
  234. package/dist/interface/assets/PluginDetail-DS79Mckz.js.gz +0 -0
  235. package/dist/interface/assets/PluginSchema-BOD_341s.js +1 -0
  236. package/dist/interface/assets/PluginSchema-BOD_341s.js.br +0 -0
  237. package/dist/interface/assets/PluginSchema-BOD_341s.js.gz +0 -0
  238. package/dist/interface/assets/PluginSearch-BwbGR9L7.js +1 -0
  239. package/dist/interface/assets/PluginSearch-BwbGR9L7.js.br +1 -0
  240. package/dist/interface/assets/PluginSearch-BwbGR9L7.js.gz +0 -0
  241. package/dist/interface/assets/PluginSearch-DX4aDZTB.js +2 -0
  242. package/dist/interface/assets/PluginSearch-DX4aDZTB.js.br +0 -0
  243. package/dist/interface/assets/PluginSearch-DX4aDZTB.js.gz +0 -0
  244. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js +1 -0
  245. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js.br +0 -0
  246. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js.gz +0 -0
  247. package/dist/interface/assets/Plugins-CWL8_uCY.js +1 -0
  248. package/dist/interface/assets/Plugins-CWL8_uCY.js.br +0 -0
  249. package/dist/interface/assets/Plugins-CWL8_uCY.js.gz +0 -0
  250. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js +1 -0
  251. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js.br +0 -0
  252. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js.gz +0 -0
  253. package/dist/interface/assets/Recordings-BLq90M9u.css +1 -0
  254. package/dist/interface/assets/Recordings-BLq90M9u.css.br +0 -0
  255. package/dist/interface/assets/Recordings-BLq90M9u.css.gz +0 -0
  256. package/dist/interface/assets/Recordings-BtieFUuB.js +1 -0
  257. package/dist/interface/assets/Recordings-BtieFUuB.js.br +0 -0
  258. package/dist/interface/assets/Recordings-BtieFUuB.js.gz +0 -0
  259. package/dist/interface/assets/SensorEdit-BPy_hvEl.js +1 -0
  260. package/dist/interface/assets/SensorEdit-BPy_hvEl.js.br +0 -0
  261. package/dist/interface/assets/SensorEdit-BPy_hvEl.js.gz +0 -0
  262. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js +1 -0
  263. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js.br +5 -0
  264. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js.gz +0 -0
  265. package/dist/interface/assets/Sensors-CJPwG91Q.js +2 -0
  266. package/dist/interface/assets/Sensors-CJPwG91Q.js.br +0 -0
  267. package/dist/interface/assets/Sensors-CJPwG91Q.js.gz +0 -0
  268. package/dist/interface/assets/Sensors-DOXy5dPB.css +1 -0
  269. package/dist/interface/assets/Sensors-DOXy5dPB.css.br +0 -0
  270. package/dist/interface/assets/Sensors-DOXy5dPB.css.gz +0 -0
  271. package/dist/interface/assets/Settings-Bqyb1cyW.js +1 -0
  272. package/dist/interface/assets/Settings-Bqyb1cyW.js.br +0 -0
  273. package/dist/interface/assets/Settings-Bqyb1cyW.js.gz +0 -0
  274. package/dist/interface/assets/SettingsAccount-B7B3fl82.js +1 -0
  275. package/dist/interface/assets/SettingsAccount-B7B3fl82.js.br +0 -0
  276. package/dist/interface/assets/SettingsAccount-B7B3fl82.js.gz +0 -0
  277. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js +1 -0
  278. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js.br +0 -0
  279. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js.gz +0 -0
  280. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js +1 -0
  281. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js.br +0 -0
  282. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js.gz +0 -0
  283. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js +1 -0
  284. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js.br +0 -0
  285. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js.gz +0 -0
  286. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js +1 -0
  287. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js.br +0 -0
  288. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js.gz +0 -0
  289. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js +1 -0
  290. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js.br +0 -0
  291. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js.gz +0 -0
  292. package/dist/interface/assets/SettingsList-C_x4jNb0.js +1 -0
  293. package/dist/interface/assets/SettingsList-C_x4jNb0.js.br +0 -0
  294. package/dist/interface/assets/SettingsList-C_x4jNb0.js.gz +0 -0
  295. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js +1 -0
  296. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js.br +0 -0
  297. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js.gz +0 -0
  298. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js +1 -0
  299. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js.br +0 -0
  300. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js.gz +0 -0
  301. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js +1 -0
  302. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js.br +0 -0
  303. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js.gz +0 -0
  304. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js +1 -0
  305. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js.br +0 -0
  306. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js.gz +0 -0
  307. package/dist/interface/assets/SettingsRemote-C23nUwVs.js +2 -0
  308. package/dist/interface/assets/SettingsRemote-C23nUwVs.js.br +0 -0
  309. package/dist/interface/assets/SettingsRemote-C23nUwVs.js.gz +0 -0
  310. package/dist/interface/assets/SettingsSystem-xgoGldXc.js +2 -0
  311. package/dist/interface/assets/SettingsSystem-xgoGldXc.js.br +0 -0
  312. package/dist/interface/assets/SettingsSystem-xgoGldXc.js.gz +0 -0
  313. package/dist/interface/assets/SettingsUsers-D5-im8NP.js +1 -0
  314. package/dist/interface/assets/SettingsUsers-D5-im8NP.js.br +0 -0
  315. package/dist/interface/assets/SettingsUsers-D5-im8NP.js.gz +0 -0
  316. package/dist/interface/assets/Terminal-D_qE01xX.js +4 -0
  317. package/dist/interface/assets/Terminal-D_qE01xX.js.br +0 -0
  318. package/dist/interface/assets/Terminal-D_qE01xX.js.gz +0 -0
  319. package/dist/interface/assets/Training-C0nq1zIu.js +1 -0
  320. package/dist/interface/assets/Training-C0nq1zIu.js.br +0 -0
  321. package/dist/interface/assets/Training-C0nq1zIu.js.gz +0 -0
  322. package/dist/interface/assets/Updates-DWj4xF-x.js +2 -0
  323. package/dist/interface/assets/Updates-DWj4xF-x.js.br +0 -0
  324. package/dist/interface/assets/Updates-DWj4xF-x.js.gz +0 -0
  325. package/dist/interface/assets/VariableInput-CdgKYOaI.js +1 -0
  326. package/dist/interface/assets/VariableInput-CdgKYOaI.js.br +0 -0
  327. package/dist/interface/assets/VariableInput-CdgKYOaI.js.gz +0 -0
  328. package/dist/interface/assets/VariableSuggestions-CfnIacOf.js +1 -0
  329. package/dist/interface/assets/VariableSuggestions-CfnIacOf.js.br +0 -0
  330. package/dist/interface/assets/VariableSuggestions-CfnIacOf.js.gz +0 -0
  331. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js +7 -0
  332. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js.br +0 -0
  333. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js.gz +0 -0
  334. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js +1 -0
  335. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js.br +0 -0
  336. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js.gz +0 -0
  337. package/dist/interface/assets/Workers-nld2h48X.js +2 -0
  338. package/dist/interface/assets/Workers-nld2h48X.js.br +0 -0
  339. package/dist/interface/assets/Workers-nld2h48X.js.gz +0 -0
  340. package/dist/interface/assets/api-BKoFIKyj.js +1 -0
  341. package/dist/interface/assets/api-BKoFIKyj.js.br +0 -0
  342. package/dist/interface/assets/api-BKoFIKyj.js.gz +0 -0
  343. package/dist/interface/assets/api-ZBnM4bpc.css +2 -0
  344. package/dist/interface/assets/api-ZBnM4bpc.css.br +0 -0
  345. package/dist/interface/assets/api-ZBnM4bpc.css.gz +0 -0
  346. package/dist/interface/assets/api-hcc2XHgV.js +4 -0
  347. package/dist/interface/assets/api-hcc2XHgV.js.br +0 -0
  348. package/dist/interface/assets/api-hcc2XHgV.js.gz +0 -0
  349. package/dist/interface/assets/assistant-8W8hzkNw.js +1 -0
  350. package/dist/interface/assets/assistant-8W8hzkNw.js.br +0 -0
  351. package/dist/interface/assets/assistant-8W8hzkNw.js.gz +0 -0
  352. package/dist/interface/assets/auth-DrJKzxGF.js +1 -0
  353. package/dist/interface/assets/auth-DrJKzxGF.js.br +0 -0
  354. package/dist/interface/assets/auth-DrJKzxGF.js.gz +0 -0
  355. package/dist/interface/assets/automations-D2MlKIro.js +1 -0
  356. package/dist/interface/assets/automations-D2MlKIro.js.br +0 -0
  357. package/dist/interface/assets/automations-D2MlKIro.js.gz +0 -0
  358. package/dist/interface/assets/cameraSources-B4z1-BVn.js +1 -0
  359. package/dist/interface/assets/cameraSources-B4z1-BVn.js.br +0 -0
  360. package/dist/interface/assets/cameraSources-B4z1-BVn.js.gz +0 -0
  361. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js +1 -0
  362. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js.br +0 -0
  363. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js.gz +0 -0
  364. package/dist/interface/assets/config-15Yr02jr.js +1 -0
  365. package/dist/interface/assets/config-15Yr02jr.js.br +0 -0
  366. package/dist/interface/assets/config-15Yr02jr.js.gz +0 -0
  367. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js +1 -0
  368. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js.br +0 -0
  369. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js.gz +0 -0
  370. package/dist/interface/assets/flowSchema-B17UlpVh.js +1 -0
  371. package/dist/interface/assets/flowSchema-B17UlpVh.js.br +0 -0
  372. package/dist/interface/assets/flowSchema-B17UlpVh.js.gz +0 -0
  373. package/dist/interface/assets/intercomService-D_RmFMkg.js +1 -0
  374. package/dist/interface/assets/intercomService-D_RmFMkg.js.br +0 -0
  375. package/dist/interface/assets/intercomService-D_RmFMkg.js.gz +0 -0
  376. package/dist/interface/assets/main-CgTfG0aV.js +3 -0
  377. package/dist/interface/assets/main-CgTfG0aV.js.br +0 -0
  378. package/dist/interface/assets/main-CgTfG0aV.js.gz +0 -0
  379. package/dist/interface/assets/main-DAAZuU5D.css +1 -0
  380. package/dist/interface/assets/main-DAAZuU5D.css.br +0 -0
  381. package/dist/interface/assets/main-DAAZuU5D.css.gz +0 -0
  382. package/dist/interface/assets/mqtt-DmtUJOKc.js +1 -0
  383. package/dist/interface/assets/mqtt-DmtUJOKc.js.br +0 -0
  384. package/dist/interface/assets/mqtt-DmtUJOKc.js.gz +0 -0
  385. package/dist/interface/assets/notifications-cxtdh4Dq.js +1 -0
  386. package/dist/interface/assets/notifications-cxtdh4Dq.js.br +0 -0
  387. package/dist/interface/assets/notifications-cxtdh4Dq.js.gz +0 -0
  388. package/dist/interface/assets/plugins-CmfmG_Ht.js +1 -0
  389. package/dist/interface/assets/plugins-CmfmG_Ht.js.br +0 -0
  390. package/dist/interface/assets/plugins-CmfmG_Ht.js.gz +0 -0
  391. package/dist/interface/assets/rooms-DImYvmf0.js +1 -0
  392. package/dist/interface/assets/rooms-DImYvmf0.js.br +0 -0
  393. package/dist/interface/assets/rooms-DImYvmf0.js.gz +0 -0
  394. package/dist/interface/assets/sensorIcons-CQ-hewie.js +1 -0
  395. package/dist/interface/assets/sensorIcons-CQ-hewie.js.br +0 -0
  396. package/dist/interface/assets/sensorIcons-CQ-hewie.js.gz +0 -0
  397. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js +1 -0
  398. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js.br +2 -0
  399. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js.gz +0 -0
  400. package/dist/interface/assets/sensors-2F1TqBp2.js +1 -0
  401. package/dist/interface/assets/sensors-2F1TqBp2.js.br +0 -0
  402. package/dist/interface/assets/sensors-2F1TqBp2.js.gz +0 -0
  403. package/dist/interface/assets/server-DMmxsNKk.js +1 -0
  404. package/dist/interface/assets/server-DMmxsNKk.js.br +0 -0
  405. package/dist/interface/assets/server-DMmxsNKk.js.gz +0 -0
  406. package/dist/interface/assets/theme-CRxTH59W.js +1 -0
  407. package/dist/interface/assets/theme-CRxTH59W.js.br +0 -0
  408. package/dist/interface/assets/theme-CRxTH59W.js.gz +0 -0
  409. package/dist/interface/assets/types-B05Rkscm.js +1 -0
  410. package/dist/interface/assets/types-B05Rkscm.js.br +0 -0
  411. package/dist/interface/assets/types-B05Rkscm.js.gz +0 -0
  412. package/dist/interface/assets/types-C7UHGfrg.js +1 -0
  413. package/dist/interface/assets/types-C7UHGfrg.js.br +0 -0
  414. package/dist/interface/assets/types-C7UHGfrg.js.gz +0 -0
  415. package/dist/interface/assets/types-SA5Swpfv.js +1 -0
  416. package/dist/interface/assets/types-SA5Swpfv.js.br +0 -0
  417. package/dist/interface/assets/types-SA5Swpfv.js.gz +0 -0
  418. package/dist/interface/assets/updates-DGCU8RPq.js +2 -0
  419. package/dist/interface/assets/updates-DGCU8RPq.js.br +0 -0
  420. package/dist/interface/assets/updates-DGCU8RPq.js.gz +0 -0
  421. package/dist/interface/assets/useAppVersion-fLy827DF.js +1 -0
  422. package/dist/interface/assets/useAppVersion-fLy827DF.js.br +0 -0
  423. package/dist/interface/assets/useAppVersion-fLy827DF.js.gz +0 -0
  424. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js +1 -0
  425. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js.br +0 -0
  426. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js.gz +0 -0
  427. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js +1 -0
  428. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js.br +0 -0
  429. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js.gz +0 -0
  430. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js +1 -0
  431. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js.br +0 -0
  432. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js.gz +0 -0
  433. package/dist/interface/assets/useNavLayout-BHarUZRh.js +1 -0
  434. package/dist/interface/assets/useNavLayout-BHarUZRh.js.br +0 -0
  435. package/dist/interface/assets/useNavLayout-BHarUZRh.js.gz +0 -0
  436. package/dist/interface/assets/usePermissions-BomHzN7x.js +1 -0
  437. package/dist/interface/assets/usePermissions-BomHzN7x.js.br +0 -0
  438. package/dist/interface/assets/usePermissions-BomHzN7x.js.gz +0 -0
  439. package/dist/interface/assets/usePlacementLabel-BuvODQam.js +1 -0
  440. package/dist/interface/assets/usePlacementLabel-BuvODQam.js.br +0 -0
  441. package/dist/interface/assets/usePlacementLabel-BuvODQam.js.gz +0 -0
  442. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js +1 -0
  443. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js.br +0 -0
  444. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js.gz +0 -0
  445. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js +1 -0
  446. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js.br +0 -0
  447. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js.gz +0 -0
  448. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js +1 -0
  449. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js.br +0 -0
  450. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js.gz +0 -0
  451. package/dist/interface/assets/usePushRegistration-BuFequdt.js +2 -0
  452. package/dist/interface/assets/usePushRegistration-BuFequdt.js.br +0 -0
  453. package/dist/interface/assets/usePushRegistration-BuFequdt.js.gz +0 -0
  454. package/dist/interface/assets/useServerRestart-CK_PyvWO.js +1 -0
  455. package/dist/interface/assets/useServerRestart-CK_PyvWO.js.br +0 -0
  456. package/dist/interface/assets/useServerRestart-CK_PyvWO.js.gz +0 -0
  457. package/dist/interface/assets/useTabSwipe-BljLAKBs.js +1 -0
  458. package/dist/interface/assets/useTabSwipe-BljLAKBs.js.br +0 -0
  459. package/dist/interface/assets/useTabSwipe-BljLAKBs.js.gz +0 -0
  460. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js +1 -0
  461. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js.br +0 -0
  462. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js.gz +0 -0
  463. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js +1 -0
  464. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js.br +0 -0
  465. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js.gz +0 -0
  466. package/dist/interface/assets/useUserOptions-CkUmLnOt.js +1 -0
  467. package/dist/interface/assets/useUserOptions-CkUmLnOt.js.br +0 -0
  468. package/dist/interface/assets/useUserOptions-CkUmLnOt.js.gz +0 -0
  469. package/dist/interface/assets/vendor-BKqUV6ZG.js +36 -0
  470. package/dist/interface/assets/vendor-BKqUV6ZG.js.br +0 -0
  471. package/dist/interface/assets/vendor-BKqUV6ZG.js.gz +0 -0
  472. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js +8 -0
  473. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js.br +0 -0
  474. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js.gz +0 -0
  475. package/dist/interface/assets/vendor-cameraui-DKMYNduq.css +1 -0
  476. package/dist/interface/assets/vendor-cameraui-DKMYNduq.css.br +0 -0
  477. package/dist/interface/assets/vendor-cameraui-DKMYNduq.css.gz +0 -0
  478. package/dist/interface/assets/vendor-openvue-YQYlLAAa.js +6160 -0
  479. package/dist/interface/assets/vendor-openvue-YQYlLAAa.js.br +0 -0
  480. package/dist/interface/assets/vendor-openvue-YQYlLAAa.js.gz +0 -0
  481. package/dist/interface/assets/web-B-lnq1tC.js +1 -0
  482. package/dist/interface/assets/web-B-lnq1tC.js.br +1 -0
  483. package/dist/interface/assets/web-B-lnq1tC.js.gz +0 -0
  484. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js +1 -0
  485. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js.br +1 -0
  486. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js.gz +0 -0
  487. package/dist/interface/ha/404-C0g6F1t3.js +60 -0
  488. package/dist/interface/ha/404-C0g6F1t3.js.br +0 -0
  489. package/dist/interface/ha/404-C0g6F1t3.js.gz +0 -0
  490. package/dist/interface/ha/About-DUPTtjj7.js +55 -0
  491. package/dist/interface/ha/About-DUPTtjj7.js.br +0 -0
  492. package/dist/interface/ha/About-DUPTtjj7.js.gz +0 -0
  493. package/dist/interface/ha/Assistant-B9FBauC7.js +11071 -0
  494. package/dist/interface/ha/Assistant-B9FBauC7.js.br +0 -0
  495. package/dist/interface/ha/Assistant-B9FBauC7.js.gz +0 -0
  496. package/dist/interface/ha/Automation-rCnUzOe1.js +2009 -0
  497. package/dist/interface/ha/Automation-rCnUzOe1.js.br +0 -0
  498. package/dist/interface/ha/Automation-rCnUzOe1.js.gz +0 -0
  499. package/dist/interface/ha/AutomationImport-CopBhZrI.js +206 -0
  500. package/dist/interface/ha/AutomationImport-CopBhZrI.js.br +0 -0
  501. package/dist/interface/ha/AutomationImport-CopBhZrI.js.gz +0 -0
  502. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js +336 -0
  503. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js.br +0 -0
  504. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js.gz +0 -0
  505. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js +121 -0
  506. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js.br +0 -0
  507. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js.gz +0 -0
  508. package/dist/interface/ha/Automations-BUxONL8h.js +423 -0
  509. package/dist/interface/ha/Automations-BUxONL8h.js.br +0 -0
  510. package/dist/interface/ha/Automations-BUxONL8h.js.gz +0 -0
  511. package/dist/interface/ha/Camera-B6R6Him8.js +740 -0
  512. package/dist/interface/ha/Camera-B6R6Him8.js.br +0 -0
  513. package/dist/interface/ha/Camera-B6R6Him8.js.gz +0 -0
  514. package/dist/interface/ha/CameraConsole-DGPtx3Om.js +52 -0
  515. package/dist/interface/ha/CameraConsole-DGPtx3Om.js.br +0 -0
  516. package/dist/interface/ha/CameraConsole-DGPtx3Om.js.gz +0 -0
  517. package/dist/interface/ha/Cameras-BLAswy-u.js +1934 -0
  518. package/dist/interface/ha/Cameras-BLAswy-u.js.br +0 -0
  519. package/dist/interface/ha/Cameras-BLAswy-u.js.gz +0 -0
  520. package/dist/interface/ha/Camview-xcvTOcqF.js +1368 -0
  521. package/dist/interface/ha/Camview-xcvTOcqF.js.br +0 -0
  522. package/dist/interface/ha/Camview-xcvTOcqF.js.gz +0 -0
  523. package/dist/interface/ha/Config-jF9wgGSw.js +354 -0
  524. package/dist/interface/ha/Config-jF9wgGSw.js.br +0 -0
  525. package/dist/interface/ha/Config-jF9wgGSw.js.gz +0 -0
  526. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js +182 -0
  527. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js.br +0 -0
  528. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js.gz +0 -0
  529. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js +152 -0
  530. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js.br +0 -0
  531. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js.gz +0 -0
  532. package/dist/interface/ha/ConfigActionDelay-CUZvh0ou.js +61 -0
  533. package/dist/interface/ha/ConfigActionDelay-CUZvh0ou.js.br +0 -0
  534. package/dist/interface/ha/ConfigActionDelay-CUZvh0ou.js.gz +0 -0
  535. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js +134 -0
  536. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js.br +0 -0
  537. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js.gz +0 -0
  538. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js +170 -0
  539. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js.br +0 -0
  540. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js.gz +0 -0
  541. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js +78 -0
  542. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js.br +0 -0
  543. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js.gz +0 -0
  544. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js +198 -0
  545. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js.br +0 -0
  546. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js.gz +0 -0
  547. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js +111 -0
  548. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js.br +0 -0
  549. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js.gz +0 -0
  550. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js +98 -0
  551. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js.br +0 -0
  552. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js.gz +0 -0
  553. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js +171 -0
  554. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js.br +0 -0
  555. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js.gz +0 -0
  556. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js +138 -0
  557. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js.br +0 -0
  558. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js.gz +0 -0
  559. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js +45 -0
  560. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js.br +0 -0
  561. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js.gz +0 -0
  562. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js +88 -0
  563. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js.br +0 -0
  564. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js.gz +0 -0
  565. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js +124 -0
  566. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js.br +0 -0
  567. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js.gz +0 -0
  568. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js +190 -0
  569. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js.br +0 -0
  570. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js.gz +0 -0
  571. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js +128 -0
  572. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js.br +0 -0
  573. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js.gz +0 -0
  574. package/dist/interface/ha/ConfigConditionTime-BqLBpdrK.js +95 -0
  575. package/dist/interface/ha/ConfigConditionTime-BqLBpdrK.js.br +0 -0
  576. package/dist/interface/ha/ConfigConditionTime-BqLBpdrK.js.gz +0 -0
  577. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js +173 -0
  578. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js.br +0 -0
  579. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js.gz +0 -0
  580. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js +241 -0
  581. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js.br +0 -0
  582. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js.gz +0 -0
  583. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js +4836 -0
  584. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js.br +0 -0
  585. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js.gz +0 -0
  586. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js +134 -0
  587. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js.br +0 -0
  588. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js.gz +0 -0
  589. package/dist/interface/ha/ConfigTriggerSchedule-w9BbeFvc.js +72 -0
  590. package/dist/interface/ha/ConfigTriggerSchedule-w9BbeFvc.js.br +0 -0
  591. package/dist/interface/ha/ConfigTriggerSchedule-w9BbeFvc.js.gz +0 -0
  592. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js +73 -0
  593. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js.br +0 -0
  594. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js.gz +0 -0
  595. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js +192 -0
  596. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js.br +0 -0
  597. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js.gz +0 -0
  598. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js +94 -0
  599. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js.br +0 -0
  600. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js.gz +0 -0
  601. package/dist/interface/ha/Console-C6Ri8iD0.js +347 -0
  602. package/dist/interface/ha/Console-C6Ri8iD0.js.br +0 -0
  603. package/dist/interface/ha/Console-C6Ri8iD0.js.gz +0 -0
  604. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js +129 -0
  605. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js.br +0 -0
  606. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js.gz +0 -0
  607. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js +270 -0
  608. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js.br +0 -0
  609. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js.gz +0 -0
  610. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js +575 -0
  611. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js.br +0 -0
  612. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js.gz +0 -0
  613. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js +120 -0
  614. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js.br +0 -0
  615. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js.gz +0 -0
  616. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js +105 -0
  617. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js.br +0 -0
  618. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js.gz +0 -0
  619. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js +6797 -0
  620. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js.br +0 -0
  621. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js.gz +0 -0
  622. package/dist/interface/ha/CuiConsole-ByfdStxK.js +234 -0
  623. package/dist/interface/ha/CuiConsole-ByfdStxK.js.br +0 -0
  624. package/dist/interface/ha/CuiConsole-ByfdStxK.js.gz +0 -0
  625. package/dist/interface/ha/CuiDataTable-5jytjTVD.js +8860 -0
  626. package/dist/interface/ha/CuiDataTable-5jytjTVD.js.br +0 -0
  627. package/dist/interface/ha/CuiDataTable-5jytjTVD.js.gz +0 -0
  628. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js +89 -0
  629. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js.br +0 -0
  630. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js.gz +0 -0
  631. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js +778 -0
  632. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js.br +0 -0
  633. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js.gz +0 -0
  634. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js +74 -0
  635. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js.br +0 -0
  636. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js.gz +0 -0
  637. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js +122 -0
  638. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js.br +0 -0
  639. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js.gz +0 -0
  640. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js +86 -0
  641. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js.br +0 -0
  642. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js.gz +0 -0
  643. package/dist/interface/ha/CuiSchema-DSPhVzZi.js +952 -0
  644. package/dist/interface/ha/CuiSchema-DSPhVzZi.js.br +0 -0
  645. package/dist/interface/ha/CuiSchema-DSPhVzZi.js.gz +0 -0
  646. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js +141 -0
  647. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js.br +0 -0
  648. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js.gz +0 -0
  649. package/dist/interface/ha/Faces-BNCgRt68.js +1659 -0
  650. package/dist/interface/ha/Faces-BNCgRt68.js.br +0 -0
  651. package/dist/interface/ha/Faces-BNCgRt68.js.gz +0 -0
  652. package/dist/interface/ha/FirstSteps-C2XCIyUP.js +254 -0
  653. package/dist/interface/ha/FirstSteps-C2XCIyUP.js.br +0 -0
  654. package/dist/interface/ha/FirstSteps-C2XCIyUP.js.gz +0 -0
  655. package/dist/interface/ha/Floorplan-DH8-DWF3.js +3707 -0
  656. package/dist/interface/ha/Floorplan-DH8-DWF3.js.br +0 -0
  657. package/dist/interface/ha/Floorplan-DH8-DWF3.js.gz +0 -0
  658. package/dist/interface/ha/Instances-B0Z8-Fol.js +670 -0
  659. package/dist/interface/ha/Instances-B0Z8-Fol.js.br +0 -0
  660. package/dist/interface/ha/Instances-B0Z8-Fol.js.gz +0 -0
  661. package/dist/interface/ha/Logs-B_E04jv9.js +417 -0
  662. package/dist/interface/ha/Logs-B_E04jv9.js.br +0 -0
  663. package/dist/interface/ha/Logs-B_E04jv9.js.gz +0 -0
  664. package/dist/interface/ha/Menu-DKKUWQ7V.js +159 -0
  665. package/dist/interface/ha/Menu-DKKUWQ7V.js.br +0 -0
  666. package/dist/interface/ha/Menu-DKKUWQ7V.js.gz +0 -0
  667. package/dist/interface/ha/Metrics-BQ8WyVvm.js +1497 -0
  668. package/dist/interface/ha/Metrics-BQ8WyVvm.js.br +0 -0
  669. package/dist/interface/ha/Metrics-BQ8WyVvm.js.gz +0 -0
  670. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js +112 -0
  671. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js.br +0 -0
  672. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js.gz +0 -0
  673. package/dist/interface/ha/Plugin-COsjUMHj.js +1756 -0
  674. package/dist/interface/ha/Plugin-COsjUMHj.js.br +0 -0
  675. package/dist/interface/ha/Plugin-COsjUMHj.js.gz +0 -0
  676. package/dist/interface/ha/PluginConsole-B6M3jW7r.js +56 -0
  677. package/dist/interface/ha/PluginConsole-B6M3jW7r.js.br +0 -0
  678. package/dist/interface/ha/PluginConsole-B6M3jW7r.js.gz +0 -0
  679. package/dist/interface/ha/PluginDetail-De9PfWZC.js +804 -0
  680. package/dist/interface/ha/PluginDetail-De9PfWZC.js.br +0 -0
  681. package/dist/interface/ha/PluginDetail-De9PfWZC.js.gz +0 -0
  682. package/dist/interface/ha/PluginSearch-CUF6uUYE.js +462 -0
  683. package/dist/interface/ha/PluginSearch-CUF6uUYE.js.br +0 -0
  684. package/dist/interface/ha/PluginSearch-CUF6uUYE.js.gz +0 -0
  685. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js +34 -0
  686. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js.br +0 -0
  687. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js.gz +0 -0
  688. package/dist/interface/ha/Plugins-DHQYHtEA.js +697 -0
  689. package/dist/interface/ha/Plugins-DHQYHtEA.js.br +0 -0
  690. package/dist/interface/ha/Plugins-DHQYHtEA.js.gz +0 -0
  691. package/dist/interface/ha/RecentEventsFilter-CfaGShfH.js +91 -0
  692. package/dist/interface/ha/RecentEventsFilter-CfaGShfH.js.br +0 -0
  693. package/dist/interface/ha/RecentEventsFilter-CfaGShfH.js.gz +0 -0
  694. package/dist/interface/ha/Recordings-G328kjrH.js +1928 -0
  695. package/dist/interface/ha/Recordings-G328kjrH.js.br +0 -0
  696. package/dist/interface/ha/Recordings-G328kjrH.js.gz +0 -0
  697. package/dist/interface/ha/SensorEdit-SDDkpHQA.js +1466 -0
  698. package/dist/interface/ha/SensorEdit-SDDkpHQA.js.br +0 -0
  699. package/dist/interface/ha/SensorEdit-SDDkpHQA.js.gz +0 -0
  700. package/dist/interface/ha/SensorHistory-By03PPM6.js +54 -0
  701. package/dist/interface/ha/SensorHistory-By03PPM6.js.br +0 -0
  702. package/dist/interface/ha/SensorHistory-By03PPM6.js.gz +0 -0
  703. package/dist/interface/ha/Sensors-DS0GAhPM.js +1544 -0
  704. package/dist/interface/ha/Sensors-DS0GAhPM.js.br +0 -0
  705. package/dist/interface/ha/Sensors-DS0GAhPM.js.gz +0 -0
  706. package/dist/interface/ha/Settings-mg5tgsvw.js +218 -0
  707. package/dist/interface/ha/Settings-mg5tgsvw.js.br +0 -0
  708. package/dist/interface/ha/Settings-mg5tgsvw.js.gz +0 -0
  709. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js +968 -0
  710. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js.br +0 -0
  711. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js.gz +0 -0
  712. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js +201 -0
  713. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js.br +0 -0
  714. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js.gz +0 -0
  715. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js +2134 -0
  716. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js.br +0 -0
  717. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js.gz +0 -0
  718. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js +1047 -0
  719. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js.br +0 -0
  720. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js.gz +0 -0
  721. package/dist/interface/ha/SettingsList-ChZGnuoZ.js +40 -0
  722. package/dist/interface/ha/SettingsList-ChZGnuoZ.js.br +0 -0
  723. package/dist/interface/ha/SettingsList-ChZGnuoZ.js.gz +0 -0
  724. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js +512 -0
  725. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js.br +0 -0
  726. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js.gz +0 -0
  727. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js +514 -0
  728. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js.br +0 -0
  729. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js.gz +0 -0
  730. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js +152 -0
  731. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js.br +0 -0
  732. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js.gz +0 -0
  733. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js +1523 -0
  734. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js.br +0 -0
  735. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js.gz +0 -0
  736. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js +382 -0
  737. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js.br +0 -0
  738. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js.gz +0 -0
  739. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js +370 -0
  740. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js.br +0 -0
  741. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js.gz +0 -0
  742. package/dist/interface/ha/Terminal-C5vuvShu.js +611 -0
  743. package/dist/interface/ha/Terminal-C5vuvShu.js.br +0 -0
  744. package/dist/interface/ha/Terminal-C5vuvShu.js.gz +0 -0
  745. package/dist/interface/ha/Training-B3_UGO_E.js +1829 -0
  746. package/dist/interface/ha/Training-B3_UGO_E.js.br +0 -0
  747. package/dist/interface/ha/Training-B3_UGO_E.js.gz +0 -0
  748. package/dist/interface/ha/Updates-BoUrLXO0.js +357 -0
  749. package/dist/interface/ha/Updates-BoUrLXO0.js.br +0 -0
  750. package/dist/interface/ha/Updates-BoUrLXO0.js.gz +0 -0
  751. package/dist/interface/ha/VariableInput-BDAGOmFx.js +52 -0
  752. package/dist/interface/ha/VariableInput-BDAGOmFx.js.br +0 -0
  753. package/dist/interface/ha/VariableInput-BDAGOmFx.js.gz +0 -0
  754. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js +221 -0
  755. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js.br +0 -0
  756. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js.gz +0 -0
  757. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js +102 -0
  758. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js.br +0 -0
  759. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js.gz +0 -0
  760. package/dist/interface/ha/Workers-CgLLF5rS.js +1270 -0
  761. package/dist/interface/ha/Workers-CgLLF5rS.js.br +0 -0
  762. package/dist/interface/ha/Workers-CgLLF5rS.js.gz +0 -0
  763. package/dist/interface/ha/accordion-hfR-HxkK.js +574 -0
  764. package/dist/interface/ha/accordion-hfR-HxkK.js.br +0 -0
  765. package/dist/interface/ha/accordion-hfR-HxkK.js.gz +0 -0
  766. package/dist/interface/ha/api-CXtQYIt7.js +69474 -0
  767. package/dist/interface/ha/api-CXtQYIt7.js.br +0 -0
  768. package/dist/interface/ha/api-CXtQYIt7.js.gz +0 -0
  769. package/dist/interface/ha/api-epUujIGc.js +29 -0
  770. package/dist/interface/ha/api-epUujIGc.js.br +0 -0
  771. package/dist/interface/ha/api-epUujIGc.js.gz +0 -0
  772. package/dist/interface/ha/assistant-xIw8SyXK.js +349 -0
  773. package/dist/interface/ha/assistant-xIw8SyXK.js.br +0 -0
  774. package/dist/interface/ha/assistant-xIw8SyXK.js.gz +0 -0
  775. package/dist/interface/ha/auth-B94BQdRh.js +271 -0
  776. package/dist/interface/ha/auth-B94BQdRh.js.br +0 -0
  777. package/dist/interface/ha/auth-B94BQdRh.js.gz +0 -0
  778. package/dist/interface/ha/autocomplete-DKmA4ccm.js +1365 -0
  779. package/dist/interface/ha/autocomplete-DKmA4ccm.js.br +0 -0
  780. package/dist/interface/ha/autocomplete-DKmA4ccm.js.gz +0 -0
  781. package/dist/interface/ha/automationBlueprint-BL30KWhS.js +250 -0
  782. package/dist/interface/ha/automationBlueprint-BL30KWhS.js.br +0 -0
  783. package/dist/interface/ha/automationBlueprint-BL30KWhS.js.gz +0 -0
  784. package/dist/interface/ha/cameraui-cards.js +2 -2
  785. package/dist/interface/ha/cards-Bcz7ceYM.js +13318 -0
  786. package/dist/interface/ha/cards-Bcz7ceYM.js.br +0 -0
  787. package/dist/interface/ha/cards-Bcz7ceYM.js.gz +0 -0
  788. package/dist/interface/ha/checkbox-M3nGssxa.js +279 -0
  789. package/dist/interface/ha/checkbox-M3nGssxa.js.br +0 -0
  790. package/dist/interface/ha/checkbox-M3nGssxa.js.gz +0 -0
  791. package/dist/interface/ha/config-BMvXk551.js +116 -0
  792. package/dist/interface/ha/config-BMvXk551.js.br +0 -0
  793. package/dist/interface/ha/config-BMvXk551.js.gz +0 -0
  794. package/dist/interface/ha/datepicker-lueaRsV3.js +2987 -0
  795. package/dist/interface/ha/datepicker-lueaRsV3.js.br +0 -0
  796. package/dist/interface/ha/datepicker-lueaRsV3.js.gz +0 -0
  797. package/dist/interface/ha/eventLabels-BtMQrzXf.js +796 -0
  798. package/dist/interface/ha/eventLabels-BtMQrzXf.js.br +0 -0
  799. package/dist/interface/ha/eventLabels-BtMQrzXf.js.gz +0 -0
  800. package/dist/interface/ha/inputnumber-D-JlCBqj.js +1035 -0
  801. package/dist/interface/ha/inputnumber-D-JlCBqj.js.br +0 -0
  802. package/dist/interface/ha/inputnumber-D-JlCBqj.js.gz +0 -0
  803. package/dist/interface/ha/inputtext-CMGQjYbf.js +257 -0
  804. package/dist/interface/ha/inputtext-CMGQjYbf.js.br +0 -0
  805. package/dist/interface/ha/inputtext-CMGQjYbf.js.gz +0 -0
  806. package/dist/interface/ha/mqtt-C5x_sjJt.js +56 -0
  807. package/dist/interface/ha/mqtt-C5x_sjJt.js.br +0 -0
  808. package/dist/interface/ha/mqtt-C5x_sjJt.js.gz +0 -0
  809. package/dist/interface/ha/multiselect-DBmOmJqR.js +1484 -0
  810. package/dist/interface/ha/multiselect-DBmOmJqR.js.br +0 -0
  811. package/dist/interface/ha/multiselect-DBmOmJqR.js.gz +0 -0
  812. package/dist/interface/ha/notifications-DNM4HkuB.js +159 -0
  813. package/dist/interface/ha/notifications-DNM4HkuB.js.br +0 -0
  814. package/dist/interface/ha/notifications-DNM4HkuB.js.gz +0 -0
  815. package/dist/interface/ha/pinia-DIpX3XWh.js +7753 -0
  816. package/dist/interface/ha/pinia-DIpX3XWh.js.br +0 -0
  817. package/dist/interface/ha/pinia-DIpX3XWh.js.gz +0 -0
  818. package/dist/interface/ha/plugins-DErZqBrd.js +592 -0
  819. package/dist/interface/ha/plugins-DErZqBrd.js.br +0 -0
  820. package/dist/interface/ha/plugins-DErZqBrd.js.gz +0 -0
  821. package/dist/interface/ha/rooms-Dbs8Sxbv.js +45 -0
  822. package/dist/interface/ha/rooms-Dbs8Sxbv.js.br +0 -0
  823. package/dist/interface/ha/rooms-Dbs8Sxbv.js.gz +0 -0
  824. package/dist/interface/ha/select-Dx9X_nNU.js +1380 -0
  825. package/dist/interface/ha/select-Dx9X_nNU.js.br +0 -0
  826. package/dist/interface/ha/select-Dx9X_nNU.js.gz +0 -0
  827. package/dist/interface/ha/server-BZNvy7IL.js +244 -0
  828. package/dist/interface/ha/server-BZNvy7IL.js.br +0 -0
  829. package/dist/interface/ha/server-BZNvy7IL.js.gz +0 -0
  830. package/dist/interface/ha/speeddial-CoFpZwx8.js +941 -0
  831. package/dist/interface/ha/speeddial-CoFpZwx8.js.br +0 -0
  832. package/dist/interface/ha/speeddial-CoFpZwx8.js.gz +0 -0
  833. package/dist/interface/ha/textarea-BlM9J3yZ.js +130 -0
  834. package/dist/interface/ha/textarea-BlM9J3yZ.js.br +0 -0
  835. package/dist/interface/ha/textarea-BlM9J3yZ.js.gz +0 -0
  836. package/dist/interface/ha/types-NKw1LIVA.js +1073 -0
  837. package/dist/interface/ha/types-NKw1LIVA.js.br +0 -0
  838. package/dist/interface/ha/types-NKw1LIVA.js.gz +0 -0
  839. package/dist/interface/ha/updates-GGAKhvzf.js +414 -0
  840. package/dist/interface/ha/updates-GGAKhvzf.js.br +0 -0
  841. package/dist/interface/ha/updates-GGAKhvzf.js.gz +0 -0
  842. package/dist/interface/ha/useAppVersion-CXhHejw4.js +22 -0
  843. package/dist/interface/ha/useAppVersion-CXhHejw4.js.br +0 -0
  844. package/dist/interface/ha/useAppVersion-CXhHejw4.js.gz +0 -0
  845. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js +27 -0
  846. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js.br +0 -0
  847. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js.gz +0 -0
  848. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js +74 -0
  849. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js.br +0 -0
  850. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js.gz +0 -0
  851. package/dist/interface/ha/useNavLayout-CJPY_t5I.js +125 -0
  852. package/dist/interface/ha/useNavLayout-CJPY_t5I.js.br +0 -0
  853. package/dist/interface/ha/useNavLayout-CJPY_t5I.js.gz +0 -0
  854. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js +49 -0
  855. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js.br +0 -0
  856. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js.gz +0 -0
  857. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js +45 -0
  858. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js.br +0 -0
  859. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js.gz +0 -0
  860. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js +22 -0
  861. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js.br +0 -0
  862. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js.gz +0 -0
  863. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js +34 -0
  864. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js.br +0 -0
  865. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js.gz +0 -0
  866. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js +15 -0
  867. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js.br +0 -0
  868. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js.gz +0 -0
  869. package/dist/interface/index.html +35 -35
  870. package/dist/interface/sw.js +1 -1
  871. package/dist/server/assets/docs.json +1 -1
  872. package/dist/server/package.json +28 -28
  873. package/dist/server/requirements.txt +3 -3
  874. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +6 -0
  875. package/dist/server/src/api/controllers/users.controller.d.ts +6 -2
  876. package/dist/server/src/api/controllers/users.controller.js +46 -34
  877. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  878. package/dist/server/src/api/database/record-schemas.d.ts +49 -3
  879. package/dist/server/src/api/database/record-schemas.js +11 -3
  880. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  881. package/dist/server/src/api/database/types.d.ts +39 -2
  882. package/dist/server/src/api/routes/users.routes.js +27 -4
  883. package/dist/server/src/api/routes/users.routes.js.map +1 -1
  884. package/dist/server/src/api/schemas/cameras.schema.js +17 -1
  885. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  886. package/dist/server/src/api/schemas/users.schema.d.ts +221 -20
  887. package/dist/server/src/api/schemas/users.schema.js +34 -2
  888. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  889. package/dist/server/src/api/services/cameras.service.js +8 -1
  890. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  891. package/dist/server/src/api/services/users.service.d.ts +7 -3
  892. package/dist/server/src/api/services/users.service.js +40 -14
  893. package/dist/server/src/api/services/users.service.js.map +1 -1
  894. package/dist/server/src/api/types/index.d.ts +3 -3
  895. package/dist/server/src/api/websocket/nsp/sensors.d.ts +1 -0
  896. package/dist/server/src/api/websocket/nsp/sensors.js +30 -1
  897. package/dist/server/src/api/websocket/nsp/sensors.js.map +1 -1
  898. package/dist/server/src/assistant/search.d.ts +2 -2
  899. package/dist/server/src/camera/index.d.ts +2 -1
  900. package/dist/server/src/camera/index.js +3 -0
  901. package/dist/server/src/camera/index.js.map +1 -1
  902. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +5 -0
  903. package/dist/server/src/sensors/registry.d.ts +1 -0
  904. package/dist/server/src/sensors/registry.js +19 -5
  905. package/dist/server/src/sensors/registry.js.map +1 -1
  906. package/npm-shrinkwrap.json +676 -240
  907. package/package.json +28 -28
  908. package/dist/interface/assets/404-DjAi7TGJ.js +0 -1
  909. package/dist/interface/assets/404-DjAi7TGJ.js.br +0 -0
  910. package/dist/interface/assets/404-DjAi7TGJ.js.gz +0 -0
  911. package/dist/interface/assets/About-DgFgNzrr.js +0 -1
  912. package/dist/interface/assets/About-DgFgNzrr.js.br +0 -0
  913. package/dist/interface/assets/About-DgFgNzrr.js.gz +0 -0
  914. package/dist/interface/assets/Assistant-DFyCH8rW.js +0 -1
  915. package/dist/interface/assets/Assistant-DFyCH8rW.js.br +0 -0
  916. package/dist/interface/assets/Assistant-DFyCH8rW.js.gz +0 -0
  917. package/dist/interface/assets/Automation-Y7gnBVsz.js +0 -3
  918. package/dist/interface/assets/Automation-Y7gnBVsz.js.br +0 -0
  919. package/dist/interface/assets/Automation-Y7gnBVsz.js.gz +0 -0
  920. package/dist/interface/assets/AutomationImport-BAWCUNSF.js +0 -2
  921. package/dist/interface/assets/AutomationImport-BAWCUNSF.js.br +0 -0
  922. package/dist/interface/assets/AutomationImport-BAWCUNSF.js.gz +0 -0
  923. package/dist/interface/assets/AutomationStore-CLFRjxqB.js +0 -2
  924. package/dist/interface/assets/AutomationStore-CLFRjxqB.js.br +0 -0
  925. package/dist/interface/assets/AutomationStore-CLFRjxqB.js.gz +0 -0
  926. package/dist/interface/assets/AutomationStoreDetail-Da_OF8Zw.js +0 -2
  927. package/dist/interface/assets/AutomationStoreDetail-Da_OF8Zw.js.br +0 -0
  928. package/dist/interface/assets/AutomationStoreDetail-Da_OF8Zw.js.gz +0 -0
  929. package/dist/interface/assets/Automations-Dj4vxoes.js +0 -2
  930. package/dist/interface/assets/Automations-Dj4vxoes.js.br +0 -0
  931. package/dist/interface/assets/Automations-Dj4vxoes.js.gz +0 -0
  932. package/dist/interface/assets/BackupRestore-DbHPYoLQ.js +0 -1
  933. package/dist/interface/assets/BackupRestore-DbHPYoLQ.js.br +0 -0
  934. package/dist/interface/assets/BackupRestore-DbHPYoLQ.js.gz +0 -0
  935. package/dist/interface/assets/Camera-DD42OSkZ.js +0 -2
  936. package/dist/interface/assets/Camera-DD42OSkZ.js.br +0 -0
  937. package/dist/interface/assets/Camera-DD42OSkZ.js.gz +0 -0
  938. package/dist/interface/assets/CameraConsole-Cn8I2sC6.js +0 -7
  939. package/dist/interface/assets/CameraConsole-Cn8I2sC6.js.br +0 -0
  940. package/dist/interface/assets/CameraConsole-Cn8I2sC6.js.gz +0 -0
  941. package/dist/interface/assets/Cameras-BA4ZtLCN.js +0 -651
  942. package/dist/interface/assets/Cameras-BA4ZtLCN.js.br +0 -0
  943. package/dist/interface/assets/Cameras-BA4ZtLCN.js.gz +0 -0
  944. package/dist/interface/assets/Camview-CEEyXExJ.js +0 -1
  945. package/dist/interface/assets/Camview-CEEyXExJ.js.br +0 -0
  946. package/dist/interface/assets/Camview-CEEyXExJ.js.gz +0 -0
  947. package/dist/interface/assets/CertificateUpload-Dl2UalAy.js +0 -1
  948. package/dist/interface/assets/CertificateUpload-Dl2UalAy.js.br +0 -0
  949. package/dist/interface/assets/CertificateUpload-Dl2UalAy.js.gz +0 -0
  950. package/dist/interface/assets/Config-7VDhtZly.js +0 -2
  951. package/dist/interface/assets/Config-7VDhtZly.js.br +0 -0
  952. package/dist/interface/assets/Config-7VDhtZly.js.gz +0 -0
  953. package/dist/interface/assets/ConfigActionAssistant-B_v8QtHd.js +0 -1
  954. package/dist/interface/assets/ConfigActionAssistant-B_v8QtHd.js.br +0 -0
  955. package/dist/interface/assets/ConfigActionAssistant-B_v8QtHd.js.gz +0 -0
  956. package/dist/interface/assets/ConfigActionCameraControl-Cp9htIfC.js +0 -1
  957. package/dist/interface/assets/ConfigActionCameraControl-Cp9htIfC.js.br +0 -0
  958. package/dist/interface/assets/ConfigActionCameraControl-Cp9htIfC.js.gz +0 -0
  959. package/dist/interface/assets/ConfigActionDelay-CZe8yW-L.js +0 -1
  960. package/dist/interface/assets/ConfigActionDelay-CZe8yW-L.js.br +0 -0
  961. package/dist/interface/assets/ConfigActionDelay-CZe8yW-L.js.gz +0 -0
  962. package/dist/interface/assets/ConfigActionHttp-BrzVENpN.js +0 -1
  963. package/dist/interface/assets/ConfigActionHttp-BrzVENpN.js.br +0 -0
  964. package/dist/interface/assets/ConfigActionHttp-BrzVENpN.js.gz +0 -0
  965. package/dist/interface/assets/ConfigActionImageInput-CH0TW4SM.js +0 -1
  966. package/dist/interface/assets/ConfigActionImageInput-CH0TW4SM.js.br +0 -0
  967. package/dist/interface/assets/ConfigActionImageInput-CH0TW4SM.js.gz +0 -0
  968. package/dist/interface/assets/ConfigActionMqtt-CCMPJXSw.js +0 -1
  969. package/dist/interface/assets/ConfigActionMqtt-CCMPJXSw.js.br +0 -0
  970. package/dist/interface/assets/ConfigActionMqtt-CCMPJXSw.js.gz +0 -0
  971. package/dist/interface/assets/ConfigActionNotification-C2Tu80Lc.js +0 -1
  972. package/dist/interface/assets/ConfigActionNotification-C2Tu80Lc.js.br +0 -0
  973. package/dist/interface/assets/ConfigActionNotification-C2Tu80Lc.js.gz +0 -0
  974. package/dist/interface/assets/ConfigActionNotificationControl-CgED5yJ1.js +0 -1
  975. package/dist/interface/assets/ConfigActionNotificationControl-CgED5yJ1.js.br +0 -0
  976. package/dist/interface/assets/ConfigActionNotificationControl-CgED5yJ1.js.gz +0 -0
  977. package/dist/interface/assets/ConfigActionOutput-CCl-Kmbr.js +0 -1
  978. package/dist/interface/assets/ConfigActionOutput-CCl-Kmbr.js.br +0 -0
  979. package/dist/interface/assets/ConfigActionOutput-CCl-Kmbr.js.gz +0 -0
  980. package/dist/interface/assets/ConfigActionPlugin-D0mqVxPX.js +0 -1
  981. package/dist/interface/assets/ConfigActionPlugin-D0mqVxPX.js.br +0 -0
  982. package/dist/interface/assets/ConfigActionPlugin-D0mqVxPX.js.gz +0 -0
  983. package/dist/interface/assets/ConfigActionSensor-e7FD2s99.js +0 -1
  984. package/dist/interface/assets/ConfigActionSensor-e7FD2s99.js.br +0 -0
  985. package/dist/interface/assets/ConfigActionSensor-e7FD2s99.js.gz +0 -0
  986. package/dist/interface/assets/ConfigActionSnapshot-i5bUsx36.js +0 -1
  987. package/dist/interface/assets/ConfigActionSnapshot-i5bUsx36.js.br +0 -0
  988. package/dist/interface/assets/ConfigActionSnapshot-i5bUsx36.js.gz +0 -0
  989. package/dist/interface/assets/ConfigActionVariable-CVLSQ7C-.js +0 -1
  990. package/dist/interface/assets/ConfigActionVariable-CVLSQ7C-.js.br +0 -0
  991. package/dist/interface/assets/ConfigActionVariable-CVLSQ7C-.js.gz +0 -0
  992. package/dist/interface/assets/ConfigConditionIfElse-CiBQjdcM.js +0 -1
  993. package/dist/interface/assets/ConfigConditionIfElse-CiBQjdcM.js.br +0 -0
  994. package/dist/interface/assets/ConfigConditionIfElse-CiBQjdcM.js.gz +0 -0
  995. package/dist/interface/assets/ConfigConditionSensorState-BsoyEGCq.js +0 -1
  996. package/dist/interface/assets/ConfigConditionSensorState-BsoyEGCq.js.br +0 -0
  997. package/dist/interface/assets/ConfigConditionSensorState-BsoyEGCq.js.gz +0 -0
  998. package/dist/interface/assets/ConfigConditionSwitch-B_nuglnE.js +0 -1
  999. package/dist/interface/assets/ConfigConditionSwitch-B_nuglnE.js.br +0 -0
  1000. package/dist/interface/assets/ConfigConditionSwitch-B_nuglnE.js.gz +0 -0
  1001. package/dist/interface/assets/ConfigConditionTime-B5ZJJg_b.js +0 -1
  1002. package/dist/interface/assets/ConfigConditionTime-B5ZJJg_b.js.br +0 -0
  1003. package/dist/interface/assets/ConfigConditionTime-B5ZJJg_b.js.gz +0 -0
  1004. package/dist/interface/assets/ConfigSensorValueInput-CUbuCYJc.js +0 -1
  1005. package/dist/interface/assets/ConfigSensorValueInput-CUbuCYJc.js.br +0 -0
  1006. package/dist/interface/assets/ConfigSensorValueInput-CUbuCYJc.js.gz +0 -0
  1007. package/dist/interface/assets/ConfigTriggerDetection-Bl8KDz38.js +0 -1
  1008. package/dist/interface/assets/ConfigTriggerDetection-Bl8KDz38.js.br +0 -0
  1009. package/dist/interface/assets/ConfigTriggerDetection-Bl8KDz38.js.gz +0 -0
  1010. package/dist/interface/assets/ConfigTriggerGeofence-Cq2fqDc1.js +0 -1
  1011. package/dist/interface/assets/ConfigTriggerGeofence-Cq2fqDc1.js.br +0 -0
  1012. package/dist/interface/assets/ConfigTriggerGeofence-Cq2fqDc1.js.gz +0 -0
  1013. package/dist/interface/assets/ConfigTriggerMqtt-CxJ2kuT0.js +0 -1
  1014. package/dist/interface/assets/ConfigTriggerMqtt-CxJ2kuT0.js.br +0 -0
  1015. package/dist/interface/assets/ConfigTriggerMqtt-CxJ2kuT0.js.gz +0 -0
  1016. package/dist/interface/assets/ConfigTriggerSchedule-tu-bPu8v.js +0 -1
  1017. package/dist/interface/assets/ConfigTriggerSchedule-tu-bPu8v.js.br +0 -0
  1018. package/dist/interface/assets/ConfigTriggerSchedule-tu-bPu8v.js.gz +0 -0
  1019. package/dist/interface/assets/ConfigTriggerSensor-rxkiy0es.js +0 -1
  1020. package/dist/interface/assets/ConfigTriggerSensor-rxkiy0es.js.br +0 -0
  1021. package/dist/interface/assets/ConfigTriggerSensor-rxkiy0es.js.gz +0 -0
  1022. package/dist/interface/assets/ConfigTriggerSystem-ZqkR-n7U.js +0 -1
  1023. package/dist/interface/assets/ConfigTriggerSystem-ZqkR-n7U.js.br +0 -0
  1024. package/dist/interface/assets/ConfigTriggerSystem-ZqkR-n7U.js.gz +0 -0
  1025. package/dist/interface/assets/ConfigTriggerWebhook-Bwk3dOMV.js +0 -1
  1026. package/dist/interface/assets/ConfigTriggerWebhook-Bwk3dOMV.js.br +0 -0
  1027. package/dist/interface/assets/ConfigTriggerWebhook-Bwk3dOMV.js.gz +0 -0
  1028. package/dist/interface/assets/Console-B1IGz3XF.js +0 -1
  1029. package/dist/interface/assets/Console-B1IGz3XF.js.br +0 -0
  1030. package/dist/interface/assets/Console-B1IGz3XF.js.gz +0 -0
  1031. package/dist/interface/assets/CuiAssistantConversation-COHgYzWP.js +0 -5
  1032. package/dist/interface/assets/CuiAssistantConversation-COHgYzWP.js.br +0 -0
  1033. package/dist/interface/assets/CuiAssistantConversation-COHgYzWP.js.gz +0 -0
  1034. package/dist/interface/assets/CuiAutomationRunsDialog-DHCxr6ag.js +0 -1
  1035. package/dist/interface/assets/CuiAutomationRunsDialog-DHCxr6ag.js.br +0 -0
  1036. package/dist/interface/assets/CuiAutomationRunsDialog-DHCxr6ag.js.gz +0 -0
  1037. package/dist/interface/assets/CuiBottomSheet-BYifCbSl.js +0 -1
  1038. package/dist/interface/assets/CuiBottomSheet-BYifCbSl.js.br +0 -0
  1039. package/dist/interface/assets/CuiBottomSheet-BYifCbSl.js.gz +0 -0
  1040. package/dist/interface/assets/CuiBottomSheet-Dlk-laff.js +0 -1
  1041. package/dist/interface/assets/CuiBottomSheet-Dlk-laff.js.br +0 -0
  1042. package/dist/interface/assets/CuiBottomSheet-Dlk-laff.js.gz +0 -0
  1043. package/dist/interface/assets/CuiButton-D8WSVIyA.js +0 -1
  1044. package/dist/interface/assets/CuiButton-D8WSVIyA.js.br +0 -0
  1045. package/dist/interface/assets/CuiButton-D8WSVIyA.js.gz +0 -0
  1046. package/dist/interface/assets/CuiCameraPipCard-DiAAKOB3.js +0 -1
  1047. package/dist/interface/assets/CuiCameraPipCard-DiAAKOB3.js.br +0 -0
  1048. package/dist/interface/assets/CuiCameraPipCard-DiAAKOB3.js.gz +0 -0
  1049. package/dist/interface/assets/CuiCameraRecordings-cr_gatvr.js +0 -1
  1050. package/dist/interface/assets/CuiCameraRecordings-cr_gatvr.js.br +0 -0
  1051. package/dist/interface/assets/CuiCameraRecordings-cr_gatvr.js.gz +0 -0
  1052. package/dist/interface/assets/CuiCameraShares-Bs0rA-xA.js +0 -1
  1053. package/dist/interface/assets/CuiCameraShares-Bs0rA-xA.js.br +0 -0
  1054. package/dist/interface/assets/CuiCameraShares-Bs0rA-xA.js.gz +0 -0
  1055. package/dist/interface/assets/CuiCameraTable-CMQYM_iK.js +0 -2
  1056. package/dist/interface/assets/CuiCameraTable-CMQYM_iK.js.br +0 -0
  1057. package/dist/interface/assets/CuiCameraTable-CMQYM_iK.js.gz +0 -0
  1058. package/dist/interface/assets/CuiCameraTable-Zn0xVNzU.js +0 -1
  1059. package/dist/interface/assets/CuiCameraTable-Zn0xVNzU.js.br +0 -1
  1060. package/dist/interface/assets/CuiCameraTable-Zn0xVNzU.js.gz +0 -0
  1061. package/dist/interface/assets/CuiChartTable-Dnr59YcD.js +0 -1
  1062. package/dist/interface/assets/CuiChartTable-Dnr59YcD.js.br +0 -0
  1063. package/dist/interface/assets/CuiChartTable-Dnr59YcD.js.gz +0 -0
  1064. package/dist/interface/assets/CuiConsole-DvxwlxJS.js +0 -5
  1065. package/dist/interface/assets/CuiConsole-DvxwlxJS.js.br +0 -0
  1066. package/dist/interface/assets/CuiConsole-DvxwlxJS.js.gz +0 -0
  1067. package/dist/interface/assets/CuiDataTable-UUvO2yqR.js +0 -1
  1068. package/dist/interface/assets/CuiDataTable-UUvO2yqR.js.br +0 -0
  1069. package/dist/interface/assets/CuiDataTable-UUvO2yqR.js.gz +0 -0
  1070. package/dist/interface/assets/CuiLightControl-X27HMxwD.js +0 -1
  1071. package/dist/interface/assets/CuiLightControl-X27HMxwD.js.br +0 -0
  1072. package/dist/interface/assets/CuiLightControl-X27HMxwD.js.gz +0 -0
  1073. package/dist/interface/assets/CuiList-1m2EO2pU.js +0 -1
  1074. package/dist/interface/assets/CuiList-1m2EO2pU.js.br +0 -0
  1075. package/dist/interface/assets/CuiList-1m2EO2pU.js.gz +0 -0
  1076. package/dist/interface/assets/CuiMoveCodeForm-D8tUtI-h.js +0 -1
  1077. package/dist/interface/assets/CuiMoveCodeForm-D8tUtI-h.js.br +0 -0
  1078. package/dist/interface/assets/CuiMoveCodeForm-D8tUtI-h.js.gz +0 -0
  1079. package/dist/interface/assets/CuiPluginCard-quiY2N5M.js +0 -2
  1080. package/dist/interface/assets/CuiPluginCard-quiY2N5M.js.br +0 -0
  1081. package/dist/interface/assets/CuiPluginCard-quiY2N5M.js.gz +0 -0
  1082. package/dist/interface/assets/CuiPluginCategoryChip-TPE8kEfF.js +0 -1
  1083. package/dist/interface/assets/CuiPluginCategoryChip-TPE8kEfF.js.br +0 -0
  1084. package/dist/interface/assets/CuiPluginCategoryChip-TPE8kEfF.js.gz +0 -0
  1085. package/dist/interface/assets/CuiPluginOAuthButton-OAaZwA8I.js +0 -2
  1086. package/dist/interface/assets/CuiPluginOAuthButton-OAaZwA8I.js.br +0 -0
  1087. package/dist/interface/assets/CuiPluginOAuthButton-OAaZwA8I.js.gz +0 -0
  1088. package/dist/interface/assets/CuiPluginTrustBadge-DGE2Rk83.js +0 -1
  1089. package/dist/interface/assets/CuiPluginTrustBadge-DGE2Rk83.js.br +0 -0
  1090. package/dist/interface/assets/CuiPluginTrustBadge-DGE2Rk83.js.gz +0 -0
  1091. package/dist/interface/assets/CuiQRCode-lR7MLV88.js +0 -1
  1092. package/dist/interface/assets/CuiQRCode-lR7MLV88.js.br +0 -0
  1093. package/dist/interface/assets/CuiQRCode-lR7MLV88.js.gz +0 -0
  1094. package/dist/interface/assets/CuiSchema-XtfUw6ph.js +0 -1
  1095. package/dist/interface/assets/CuiSchema-XtfUw6ph.js.br +0 -0
  1096. package/dist/interface/assets/CuiSchema-XtfUw6ph.js.gz +0 -0
  1097. package/dist/interface/assets/CuiToggleRow-Bqy18LFg.js +0 -1
  1098. package/dist/interface/assets/CuiToggleRow-Bqy18LFg.js.br +0 -0
  1099. package/dist/interface/assets/CuiToggleRow-Bqy18LFg.js.gz +0 -0
  1100. package/dist/interface/assets/CuiTopNavbarItem-DTcQlETL.js +0 -1
  1101. package/dist/interface/assets/CuiTopNavbarItem-DTcQlETL.js.br +0 -0
  1102. package/dist/interface/assets/CuiTopNavbarItem-DTcQlETL.js.gz +0 -0
  1103. package/dist/interface/assets/Faces-CTGfzxVA.js +0 -1
  1104. package/dist/interface/assets/Faces-CTGfzxVA.js.br +0 -0
  1105. package/dist/interface/assets/Faces-CTGfzxVA.js.gz +0 -0
  1106. package/dist/interface/assets/FirstSteps-Co4eY2L1.js +0 -1
  1107. package/dist/interface/assets/FirstSteps-Co4eY2L1.js.br +0 -0
  1108. package/dist/interface/assets/FirstSteps-Co4eY2L1.js.gz +0 -0
  1109. package/dist/interface/assets/Floorplan-DKNUfJ1z.js +0 -1
  1110. package/dist/interface/assets/Floorplan-DKNUfJ1z.js.br +0 -0
  1111. package/dist/interface/assets/Floorplan-DKNUfJ1z.js.gz +0 -0
  1112. package/dist/interface/assets/Instances-s7y4bMLZ.js +0 -1
  1113. package/dist/interface/assets/Instances-s7y4bMLZ.js.br +0 -0
  1114. package/dist/interface/assets/Instances-s7y4bMLZ.js.gz +0 -0
  1115. package/dist/interface/assets/Logs-LXnQHfYz.js +0 -6
  1116. package/dist/interface/assets/Logs-LXnQHfYz.js.br +0 -0
  1117. package/dist/interface/assets/Logs-LXnQHfYz.js.gz +0 -0
  1118. package/dist/interface/assets/Menu-CUBh0as4.js +0 -1
  1119. package/dist/interface/assets/Menu-CUBh0as4.js.br +0 -0
  1120. package/dist/interface/assets/Menu-CUBh0as4.js.gz +0 -0
  1121. package/dist/interface/assets/Metrics-7t2y-YVR.css +0 -1
  1122. package/dist/interface/assets/Metrics-7t2y-YVR.css.br +0 -3
  1123. package/dist/interface/assets/Metrics-7t2y-YVR.css.gz +0 -0
  1124. package/dist/interface/assets/Metrics-BZeB3ViS.js +0 -12
  1125. package/dist/interface/assets/Metrics-BZeB3ViS.js.br +0 -0
  1126. package/dist/interface/assets/Metrics-BZeB3ViS.js.gz +0 -0
  1127. package/dist/interface/assets/OAuthDeviceFlow-B4UyugZs.js +0 -1
  1128. package/dist/interface/assets/OAuthDeviceFlow-B4UyugZs.js.br +0 -0
  1129. package/dist/interface/assets/OAuthDeviceFlow-B4UyugZs.js.gz +0 -0
  1130. package/dist/interface/assets/Plugin-Dykehsbt.css +0 -1
  1131. package/dist/interface/assets/Plugin-Dykehsbt.css.br +0 -0
  1132. package/dist/interface/assets/Plugin-Dykehsbt.css.gz +0 -0
  1133. package/dist/interface/assets/Plugin-tIUUIABi.js +0 -1
  1134. package/dist/interface/assets/Plugin-tIUUIABi.js.br +0 -0
  1135. package/dist/interface/assets/Plugin-tIUUIABi.js.gz +0 -0
  1136. package/dist/interface/assets/PluginConsole-BNnLHoE0.js +0 -7
  1137. package/dist/interface/assets/PluginConsole-BNnLHoE0.js.br +0 -4
  1138. package/dist/interface/assets/PluginConsole-BNnLHoE0.js.gz +0 -0
  1139. package/dist/interface/assets/PluginDetail-BNNHJ6VT.js +0 -2
  1140. package/dist/interface/assets/PluginDetail-BNNHJ6VT.js.br +0 -0
  1141. package/dist/interface/assets/PluginDetail-BNNHJ6VT.js.gz +0 -0
  1142. package/dist/interface/assets/PluginSchema-BRhnXEuo.js +0 -1
  1143. package/dist/interface/assets/PluginSchema-BRhnXEuo.js.br +0 -0
  1144. package/dist/interface/assets/PluginSchema-BRhnXEuo.js.gz +0 -0
  1145. package/dist/interface/assets/PluginSearch-C4enqdv2.js +0 -2
  1146. package/dist/interface/assets/PluginSearch-C4enqdv2.js.br +0 -0
  1147. package/dist/interface/assets/PluginSearch-C4enqdv2.js.gz +0 -0
  1148. package/dist/interface/assets/PluginSearch-C7HjU4oV.js +0 -1
  1149. package/dist/interface/assets/PluginSearch-C7HjU4oV.js.br +0 -1
  1150. package/dist/interface/assets/PluginSearch-C7HjU4oV.js.gz +0 -0
  1151. package/dist/interface/assets/PluginUpdateProgress-DpJR1951.js +0 -1
  1152. package/dist/interface/assets/PluginUpdateProgress-DpJR1951.js.br +0 -0
  1153. package/dist/interface/assets/PluginUpdateProgress-DpJR1951.js.gz +0 -0
  1154. package/dist/interface/assets/Plugins-d4IPovAj.js +0 -1
  1155. package/dist/interface/assets/Plugins-d4IPovAj.js.br +0 -0
  1156. package/dist/interface/assets/Plugins-d4IPovAj.js.gz +0 -0
  1157. package/dist/interface/assets/RecentEventsFilter-CjRJnw2W.js +0 -1
  1158. package/dist/interface/assets/RecentEventsFilter-CjRJnw2W.js.br +0 -0
  1159. package/dist/interface/assets/RecentEventsFilter-CjRJnw2W.js.gz +0 -0
  1160. package/dist/interface/assets/Recordings-0XmIQL9c.js +0 -1
  1161. package/dist/interface/assets/Recordings-0XmIQL9c.js.br +0 -0
  1162. package/dist/interface/assets/Recordings-0XmIQL9c.js.gz +0 -0
  1163. package/dist/interface/assets/Recordings-BISCOK4N.css +0 -1
  1164. package/dist/interface/assets/Recordings-BISCOK4N.css.br +0 -0
  1165. package/dist/interface/assets/Recordings-BISCOK4N.css.gz +0 -0
  1166. package/dist/interface/assets/SensorEdit-9nlxNGSS.js +0 -1
  1167. package/dist/interface/assets/SensorEdit-9nlxNGSS.js.br +0 -0
  1168. package/dist/interface/assets/SensorEdit-9nlxNGSS.js.gz +0 -0
  1169. package/dist/interface/assets/SensorHistory-DHa4mmXp.js +0 -1
  1170. package/dist/interface/assets/SensorHistory-DHa4mmXp.js.br +0 -0
  1171. package/dist/interface/assets/SensorHistory-DHa4mmXp.js.gz +0 -0
  1172. package/dist/interface/assets/Sensors-Bhb3Sga4.css +0 -1
  1173. package/dist/interface/assets/Sensors-Bhb3Sga4.css.br +0 -0
  1174. package/dist/interface/assets/Sensors-Bhb3Sga4.css.gz +0 -0
  1175. package/dist/interface/assets/Sensors-BkI7JNPH.js +0 -2
  1176. package/dist/interface/assets/Sensors-BkI7JNPH.js.br +0 -0
  1177. package/dist/interface/assets/Sensors-BkI7JNPH.js.gz +0 -0
  1178. package/dist/interface/assets/Settings-B4-Rn_Fh.js +0 -1
  1179. package/dist/interface/assets/Settings-B4-Rn_Fh.js.br +0 -0
  1180. package/dist/interface/assets/Settings-B4-Rn_Fh.js.gz +0 -0
  1181. package/dist/interface/assets/SettingsAccount-7Yd2_xCe.js +0 -1
  1182. package/dist/interface/assets/SettingsAccount-7Yd2_xCe.js.br +0 -0
  1183. package/dist/interface/assets/SettingsAccount-7Yd2_xCe.js.gz +0 -0
  1184. package/dist/interface/assets/SettingsAccount-Cp56tnsV.js +0 -1
  1185. package/dist/interface/assets/SettingsAccount-Cp56tnsV.js.br +0 -0
  1186. package/dist/interface/assets/SettingsAccount-Cp56tnsV.js.gz +0 -0
  1187. package/dist/interface/assets/SettingsAppearance-BWnr6fl7.js +0 -1
  1188. package/dist/interface/assets/SettingsAppearance-BWnr6fl7.js.br +0 -0
  1189. package/dist/interface/assets/SettingsAppearance-BWnr6fl7.js.gz +0 -0
  1190. package/dist/interface/assets/SettingsAppearance-Bna45w8P.js +0 -1
  1191. package/dist/interface/assets/SettingsAppearance-Bna45w8P.js.br +0 -0
  1192. package/dist/interface/assets/SettingsAppearance-Bna45w8P.js.gz +0 -0
  1193. package/dist/interface/assets/SettingsAssistant-Dy_fTPCt.js +0 -1
  1194. package/dist/interface/assets/SettingsAssistant-Dy_fTPCt.js.br +0 -0
  1195. package/dist/interface/assets/SettingsAssistant-Dy_fTPCt.js.gz +0 -0
  1196. package/dist/interface/assets/SettingsBackup-DCW1lM-Z.js +0 -1
  1197. package/dist/interface/assets/SettingsBackup-DCW1lM-Z.js.br +0 -0
  1198. package/dist/interface/assets/SettingsBackup-DCW1lM-Z.js.gz +0 -0
  1199. package/dist/interface/assets/SettingsList-DcvafqMi.js +0 -1
  1200. package/dist/interface/assets/SettingsList-DcvafqMi.js.br +0 -0
  1201. package/dist/interface/assets/SettingsList-DcvafqMi.js.gz +0 -0
  1202. package/dist/interface/assets/SettingsMqtt-BuPLGzAI.js +0 -1
  1203. package/dist/interface/assets/SettingsMqtt-BuPLGzAI.js.br +0 -0
  1204. package/dist/interface/assets/SettingsMqtt-BuPLGzAI.js.gz +0 -0
  1205. package/dist/interface/assets/SettingsNotifications-CtXPMwEL.js +0 -1
  1206. package/dist/interface/assets/SettingsNotifications-CtXPMwEL.js.br +0 -0
  1207. package/dist/interface/assets/SettingsNotifications-CtXPMwEL.js.gz +0 -0
  1208. package/dist/interface/assets/SettingsPermissions-CskWvMC-.js +0 -1
  1209. package/dist/interface/assets/SettingsPermissions-CskWvMC-.js.br +0 -0
  1210. package/dist/interface/assets/SettingsPermissions-CskWvMC-.js.gz +0 -0
  1211. package/dist/interface/assets/SettingsRecordings-Cw3hykd4.js +0 -1
  1212. package/dist/interface/assets/SettingsRecordings-Cw3hykd4.js.br +0 -0
  1213. package/dist/interface/assets/SettingsRecordings-Cw3hykd4.js.gz +0 -0
  1214. package/dist/interface/assets/SettingsRemote-C5pT1BpH.js +0 -2
  1215. package/dist/interface/assets/SettingsRemote-C5pT1BpH.js.br +0 -0
  1216. package/dist/interface/assets/SettingsRemote-C5pT1BpH.js.gz +0 -0
  1217. package/dist/interface/assets/SettingsSystem-CPpKePdR.js +0 -2
  1218. package/dist/interface/assets/SettingsSystem-CPpKePdR.js.br +0 -0
  1219. package/dist/interface/assets/SettingsSystem-CPpKePdR.js.gz +0 -0
  1220. package/dist/interface/assets/SettingsUsers-DHyf9Fh2.js +0 -1
  1221. package/dist/interface/assets/SettingsUsers-DHyf9Fh2.js.br +0 -0
  1222. package/dist/interface/assets/SettingsUsers-DHyf9Fh2.js.gz +0 -0
  1223. package/dist/interface/assets/Terminal-PSzgxyUK.js +0 -4
  1224. package/dist/interface/assets/Terminal-PSzgxyUK.js.br +0 -0
  1225. package/dist/interface/assets/Terminal-PSzgxyUK.js.gz +0 -0
  1226. package/dist/interface/assets/Training-B8y5oggc.js +0 -1
  1227. package/dist/interface/assets/Training-B8y5oggc.js.br +0 -0
  1228. package/dist/interface/assets/Training-B8y5oggc.js.gz +0 -0
  1229. package/dist/interface/assets/Updates-DM0Q2isz.js +0 -2
  1230. package/dist/interface/assets/Updates-DM0Q2isz.js.br +0 -0
  1231. package/dist/interface/assets/Updates-DM0Q2isz.js.gz +0 -0
  1232. package/dist/interface/assets/VariableInput-CEEKNFMa.js +0 -1
  1233. package/dist/interface/assets/VariableInput-CEEKNFMa.js.br +0 -0
  1234. package/dist/interface/assets/VariableInput-CEEKNFMa.js.gz +0 -0
  1235. package/dist/interface/assets/VariableSuggestions-K_n-5NLd.js +0 -1
  1236. package/dist/interface/assets/VariableSuggestions-K_n-5NLd.js.br +0 -0
  1237. package/dist/interface/assets/VariableSuggestions-K_n-5NLd.js.gz +0 -0
  1238. package/dist/interface/assets/VersionsHandler-BX_H4fKa.js +0 -7
  1239. package/dist/interface/assets/VersionsHandler-BX_H4fKa.js.br +0 -0
  1240. package/dist/interface/assets/VersionsHandler-BX_H4fKa.js.gz +0 -0
  1241. package/dist/interface/assets/VirtualSensorCreate-V1Ge5Ua1.js +0 -1
  1242. package/dist/interface/assets/VirtualSensorCreate-V1Ge5Ua1.js.br +0 -0
  1243. package/dist/interface/assets/VirtualSensorCreate-V1Ge5Ua1.js.gz +0 -0
  1244. package/dist/interface/assets/Workers-CuICoAdY.js +0 -2
  1245. package/dist/interface/assets/Workers-CuICoAdY.js.br +0 -0
  1246. package/dist/interface/assets/Workers-CuICoAdY.js.gz +0 -0
  1247. package/dist/interface/assets/api-DrGMJXjR.js +0 -1
  1248. package/dist/interface/assets/api-DrGMJXjR.js.br +0 -0
  1249. package/dist/interface/assets/api-DrGMJXjR.js.gz +0 -0
  1250. package/dist/interface/assets/api-TS3iFwhp.js +0 -4
  1251. package/dist/interface/assets/api-TS3iFwhp.js.br +0 -0
  1252. package/dist/interface/assets/api-TS3iFwhp.js.gz +0 -0
  1253. package/dist/interface/assets/api-bOGDCWMd.css +0 -2
  1254. package/dist/interface/assets/api-bOGDCWMd.css.br +0 -0
  1255. package/dist/interface/assets/api-bOGDCWMd.css.gz +0 -0
  1256. package/dist/interface/assets/assistant-BPhn6mY4.js +0 -1
  1257. package/dist/interface/assets/assistant-BPhn6mY4.js.br +0 -0
  1258. package/dist/interface/assets/assistant-BPhn6mY4.js.gz +0 -0
  1259. package/dist/interface/assets/auth-DIf-rMc2.js +0 -1
  1260. package/dist/interface/assets/auth-DIf-rMc2.js.br +0 -0
  1261. package/dist/interface/assets/auth-DIf-rMc2.js.gz +0 -0
  1262. package/dist/interface/assets/automations-LH5xFY2x.js +0 -1
  1263. package/dist/interface/assets/automations-LH5xFY2x.js.br +0 -0
  1264. package/dist/interface/assets/automations-LH5xFY2x.js.gz +0 -0
  1265. package/dist/interface/assets/cameraSources-DlHjs6nH.js +0 -1
  1266. package/dist/interface/assets/cameraSources-DlHjs6nH.js.br +0 -0
  1267. package/dist/interface/assets/cameraSources-DlHjs6nH.js.gz +0 -0
  1268. package/dist/interface/assets/cloudHandoff-CVVUJLRm.js +0 -1
  1269. package/dist/interface/assets/cloudHandoff-CVVUJLRm.js.br +0 -1
  1270. package/dist/interface/assets/cloudHandoff-CVVUJLRm.js.gz +0 -0
  1271. package/dist/interface/assets/config-DN5_kiR_.js +0 -1
  1272. package/dist/interface/assets/config-DN5_kiR_.js.br +0 -0
  1273. package/dist/interface/assets/config-DN5_kiR_.js.gz +0 -0
  1274. package/dist/interface/assets/eventLabels-Dlpiy-hp.js +0 -1
  1275. package/dist/interface/assets/eventLabels-Dlpiy-hp.js.br +0 -0
  1276. package/dist/interface/assets/eventLabels-Dlpiy-hp.js.gz +0 -0
  1277. package/dist/interface/assets/flowSchema-Bmgr2vJ6.js +0 -1
  1278. package/dist/interface/assets/flowSchema-Bmgr2vJ6.js.br +0 -0
  1279. package/dist/interface/assets/flowSchema-Bmgr2vJ6.js.gz +0 -0
  1280. package/dist/interface/assets/intercomService-Dmpnyb2n.js +0 -1
  1281. package/dist/interface/assets/intercomService-Dmpnyb2n.js.br +0 -0
  1282. package/dist/interface/assets/intercomService-Dmpnyb2n.js.gz +0 -0
  1283. package/dist/interface/assets/main-BsuMuoqd.js +0 -3
  1284. package/dist/interface/assets/main-BsuMuoqd.js.br +0 -0
  1285. package/dist/interface/assets/main-BsuMuoqd.js.gz +0 -0
  1286. package/dist/interface/assets/main-dVa95GKn.css +0 -1
  1287. package/dist/interface/assets/main-dVa95GKn.css.br +0 -0
  1288. package/dist/interface/assets/main-dVa95GKn.css.gz +0 -0
  1289. package/dist/interface/assets/mqtt-BQ12PoIy.js +0 -1
  1290. package/dist/interface/assets/mqtt-BQ12PoIy.js.br +0 -3
  1291. package/dist/interface/assets/mqtt-BQ12PoIy.js.gz +0 -0
  1292. package/dist/interface/assets/notifications-BboM5nUI.js +0 -1
  1293. package/dist/interface/assets/notifications-BboM5nUI.js.br +0 -0
  1294. package/dist/interface/assets/notifications-BboM5nUI.js.gz +0 -0
  1295. package/dist/interface/assets/plugins-DYcMG0ja.js +0 -1
  1296. package/dist/interface/assets/plugins-DYcMG0ja.js.br +0 -0
  1297. package/dist/interface/assets/plugins-DYcMG0ja.js.gz +0 -0
  1298. package/dist/interface/assets/rooms-D19GFS0T.js +0 -1
  1299. package/dist/interface/assets/rooms-D19GFS0T.js.br +0 -4
  1300. package/dist/interface/assets/rooms-D19GFS0T.js.gz +0 -0
  1301. package/dist/interface/assets/sensorIcons-CG4oAxFn.js +0 -1
  1302. package/dist/interface/assets/sensorIcons-CG4oAxFn.js.br +0 -0
  1303. package/dist/interface/assets/sensorIcons-CG4oAxFn.js.gz +0 -0
  1304. package/dist/interface/assets/sensorSlots-W8up8ZKb.js +0 -1
  1305. package/dist/interface/assets/sensorSlots-W8up8ZKb.js.br +0 -1
  1306. package/dist/interface/assets/sensorSlots-W8up8ZKb.js.gz +0 -0
  1307. package/dist/interface/assets/sensors-BV0Trrvb.js +0 -1
  1308. package/dist/interface/assets/sensors-BV0Trrvb.js.br +0 -0
  1309. package/dist/interface/assets/sensors-BV0Trrvb.js.gz +0 -0
  1310. package/dist/interface/assets/server-DK3nj5jh.js +0 -1
  1311. package/dist/interface/assets/server-DK3nj5jh.js.br +0 -0
  1312. package/dist/interface/assets/server-DK3nj5jh.js.gz +0 -0
  1313. package/dist/interface/assets/theme-1Z9zEekC.js +0 -1
  1314. package/dist/interface/assets/theme-1Z9zEekC.js.br +0 -0
  1315. package/dist/interface/assets/theme-1Z9zEekC.js.gz +0 -0
  1316. package/dist/interface/assets/types-B2RZ2n73.js +0 -1
  1317. package/dist/interface/assets/types-B2RZ2n73.js.br +0 -0
  1318. package/dist/interface/assets/types-B2RZ2n73.js.gz +0 -0
  1319. package/dist/interface/assets/types-C4g382tE.js +0 -1
  1320. package/dist/interface/assets/types-C4g382tE.js.br +0 -0
  1321. package/dist/interface/assets/types-C4g382tE.js.gz +0 -0
  1322. package/dist/interface/assets/types-CWY4rVYg.js +0 -1
  1323. package/dist/interface/assets/types-CWY4rVYg.js.br +0 -0
  1324. package/dist/interface/assets/types-CWY4rVYg.js.gz +0 -0
  1325. package/dist/interface/assets/updates-C8KPyVl4.js +0 -2
  1326. package/dist/interface/assets/updates-C8KPyVl4.js.br +0 -0
  1327. package/dist/interface/assets/updates-C8KPyVl4.js.gz +0 -0
  1328. package/dist/interface/assets/useAppVersion-B5cYcDW5.js +0 -1
  1329. package/dist/interface/assets/useAppVersion-B5cYcDW5.js.br +0 -0
  1330. package/dist/interface/assets/useAppVersion-B5cYcDW5.js.gz +0 -0
  1331. package/dist/interface/assets/useCameraOptions-DnC7rx7V.js +0 -1
  1332. package/dist/interface/assets/useCameraOptions-DnC7rx7V.js.br +0 -0
  1333. package/dist/interface/assets/useCameraOptions-DnC7rx7V.js.gz +0 -0
  1334. package/dist/interface/assets/useKeyboardInset-DzWAPvpD.js +0 -1
  1335. package/dist/interface/assets/useKeyboardInset-DzWAPvpD.js.br +0 -0
  1336. package/dist/interface/assets/useKeyboardInset-DzWAPvpD.js.gz +0 -0
  1337. package/dist/interface/assets/useLogsSocket-DRCl-9rN.js +0 -1
  1338. package/dist/interface/assets/useLogsSocket-DRCl-9rN.js.br +0 -0
  1339. package/dist/interface/assets/useLogsSocket-DRCl-9rN.js.gz +0 -0
  1340. package/dist/interface/assets/useNavLayout-DNoKsxiD.js +0 -1
  1341. package/dist/interface/assets/useNavLayout-DNoKsxiD.js.br +0 -0
  1342. package/dist/interface/assets/useNavLayout-DNoKsxiD.js.gz +0 -0
  1343. package/dist/interface/assets/usePermissions-BhN_r4yu.js +0 -1
  1344. package/dist/interface/assets/usePermissions-BhN_r4yu.js.br +0 -0
  1345. package/dist/interface/assets/usePermissions-BhN_r4yu.js.gz +0 -0
  1346. package/dist/interface/assets/usePlacementLabel-Dnd48LTa.js +0 -1
  1347. package/dist/interface/assets/usePlacementLabel-Dnd48LTa.js.br +0 -0
  1348. package/dist/interface/assets/usePlacementLabel-Dnd48LTa.js.gz +0 -0
  1349. package/dist/interface/assets/usePlacementSocket-DyS_dG0O.js +0 -1
  1350. package/dist/interface/assets/usePlacementSocket-DyS_dG0O.js.br +0 -0
  1351. package/dist/interface/assets/usePlacementSocket-DyS_dG0O.js.gz +0 -0
  1352. package/dist/interface/assets/usePluginUpdates-C9KRZVbI.js +0 -1
  1353. package/dist/interface/assets/usePluginUpdates-C9KRZVbI.js.br +0 -0
  1354. package/dist/interface/assets/usePluginUpdates-C9KRZVbI.js.gz +0 -0
  1355. package/dist/interface/assets/usePluginsSocket-Dkrwgo_a.js +0 -1
  1356. package/dist/interface/assets/usePluginsSocket-Dkrwgo_a.js.br +0 -0
  1357. package/dist/interface/assets/usePluginsSocket-Dkrwgo_a.js.gz +0 -0
  1358. package/dist/interface/assets/usePushRegistration-419l1m2J.js +0 -2
  1359. package/dist/interface/assets/usePushRegistration-419l1m2J.js.br +0 -0
  1360. package/dist/interface/assets/usePushRegistration-419l1m2J.js.gz +0 -0
  1361. package/dist/interface/assets/useServerRestart-svjj-eQC.js +0 -1
  1362. package/dist/interface/assets/useServerRestart-svjj-eQC.js.br +0 -0
  1363. package/dist/interface/assets/useServerRestart-svjj-eQC.js.gz +0 -0
  1364. package/dist/interface/assets/useTabSwipe-Bdr_wGrE.js +0 -1
  1365. package/dist/interface/assets/useTabSwipe-Bdr_wGrE.js.br +0 -0
  1366. package/dist/interface/assets/useTabSwipe-Bdr_wGrE.js.gz +0 -0
  1367. package/dist/interface/assets/useUpdateChannel-DWQGivak.js +0 -1
  1368. package/dist/interface/assets/useUpdateChannel-DWQGivak.js.br +0 -0
  1369. package/dist/interface/assets/useUpdateChannel-DWQGivak.js.gz +0 -0
  1370. package/dist/interface/assets/useUpdatesSocket-CjZRZpB7.js +0 -1
  1371. package/dist/interface/assets/useUpdatesSocket-CjZRZpB7.js.br +0 -0
  1372. package/dist/interface/assets/useUpdatesSocket-CjZRZpB7.js.gz +0 -0
  1373. package/dist/interface/assets/useUserOptions-DrUS3Xze.js +0 -1
  1374. package/dist/interface/assets/useUserOptions-DrUS3Xze.js.br +0 -0
  1375. package/dist/interface/assets/useUserOptions-DrUS3Xze.js.gz +0 -0
  1376. package/dist/interface/assets/vendor-OmR5AQlH.js +0 -28
  1377. package/dist/interface/assets/vendor-OmR5AQlH.js.br +0 -0
  1378. package/dist/interface/assets/vendor-OmR5AQlH.js.gz +0 -0
  1379. package/dist/interface/assets/vendor-cameraui-CA-wgTPI.css +0 -1
  1380. package/dist/interface/assets/vendor-cameraui-CA-wgTPI.css.br +0 -0
  1381. package/dist/interface/assets/vendor-cameraui-CA-wgTPI.css.gz +0 -0
  1382. package/dist/interface/assets/vendor-cameraui-q2C0VTDU.js +0 -8
  1383. package/dist/interface/assets/vendor-cameraui-q2C0VTDU.js.br +0 -0
  1384. package/dist/interface/assets/vendor-cameraui-q2C0VTDU.js.gz +0 -0
  1385. package/dist/interface/assets/vendor-openvue-Nei_CNv6.js +0 -6144
  1386. package/dist/interface/assets/vendor-openvue-Nei_CNv6.js.br +0 -0
  1387. package/dist/interface/assets/vendor-openvue-Nei_CNv6.js.gz +0 -0
  1388. package/dist/interface/assets/web-U0pzyRb6.js +0 -1
  1389. package/dist/interface/assets/web-U0pzyRb6.js.br +0 -1
  1390. package/dist/interface/assets/web-U0pzyRb6.js.gz +0 -0
  1391. package/dist/interface/assets/workbox-window.prod.es5-zq7mK_Xf.js +0 -1
  1392. package/dist/interface/assets/workbox-window.prod.es5-zq7mK_Xf.js.br +0 -1
  1393. package/dist/interface/assets/workbox-window.prod.es5-zq7mK_Xf.js.gz +0 -0
  1394. package/dist/interface/ha/404-Bl_FHw4S.js +0 -60
  1395. package/dist/interface/ha/404-Bl_FHw4S.js.br +0 -0
  1396. package/dist/interface/ha/404-Bl_FHw4S.js.gz +0 -0
  1397. package/dist/interface/ha/About-C3LSLeW5.js +0 -55
  1398. package/dist/interface/ha/About-C3LSLeW5.js.br +0 -0
  1399. package/dist/interface/ha/About-C3LSLeW5.js.gz +0 -0
  1400. package/dist/interface/ha/Assistant-BqTjwNPd.js +0 -11071
  1401. package/dist/interface/ha/Assistant-BqTjwNPd.js.br +0 -0
  1402. package/dist/interface/ha/Assistant-BqTjwNPd.js.gz +0 -0
  1403. package/dist/interface/ha/Automation-Bt8_5TEo.js +0 -2009
  1404. package/dist/interface/ha/Automation-Bt8_5TEo.js.br +0 -0
  1405. package/dist/interface/ha/Automation-Bt8_5TEo.js.gz +0 -0
  1406. package/dist/interface/ha/AutomationImport-CFunRLgJ.js +0 -206
  1407. package/dist/interface/ha/AutomationImport-CFunRLgJ.js.br +0 -0
  1408. package/dist/interface/ha/AutomationImport-CFunRLgJ.js.gz +0 -0
  1409. package/dist/interface/ha/AutomationStore-C4DEABhG.js +0 -336
  1410. package/dist/interface/ha/AutomationStore-C4DEABhG.js.br +0 -0
  1411. package/dist/interface/ha/AutomationStore-C4DEABhG.js.gz +0 -0
  1412. package/dist/interface/ha/AutomationStoreDetail-CfoXG1MC.js +0 -121
  1413. package/dist/interface/ha/AutomationStoreDetail-CfoXG1MC.js.br +0 -0
  1414. package/dist/interface/ha/AutomationStoreDetail-CfoXG1MC.js.gz +0 -0
  1415. package/dist/interface/ha/Automations-BQ2bkyX_.js +0 -423
  1416. package/dist/interface/ha/Automations-BQ2bkyX_.js.br +0 -0
  1417. package/dist/interface/ha/Automations-BQ2bkyX_.js.gz +0 -0
  1418. package/dist/interface/ha/Camera-B2B4G4od.js +0 -740
  1419. package/dist/interface/ha/Camera-B2B4G4od.js.br +0 -0
  1420. package/dist/interface/ha/Camera-B2B4G4od.js.gz +0 -0
  1421. package/dist/interface/ha/CameraConsole-xFpvIWw_.js +0 -52
  1422. package/dist/interface/ha/CameraConsole-xFpvIWw_.js.br +0 -0
  1423. package/dist/interface/ha/CameraConsole-xFpvIWw_.js.gz +0 -0
  1424. package/dist/interface/ha/Cameras-mQarYEDa.js +0 -1934
  1425. package/dist/interface/ha/Cameras-mQarYEDa.js.br +0 -0
  1426. package/dist/interface/ha/Cameras-mQarYEDa.js.gz +0 -0
  1427. package/dist/interface/ha/Camview-Cxi3KsgB.js +0 -1368
  1428. package/dist/interface/ha/Camview-Cxi3KsgB.js.br +0 -0
  1429. package/dist/interface/ha/Camview-Cxi3KsgB.js.gz +0 -0
  1430. package/dist/interface/ha/Config-CDmB9WLz.js +0 -354
  1431. package/dist/interface/ha/Config-CDmB9WLz.js.br +0 -0
  1432. package/dist/interface/ha/Config-CDmB9WLz.js.gz +0 -0
  1433. package/dist/interface/ha/ConfigActionAssistant-4bgOEfWc.js +0 -182
  1434. package/dist/interface/ha/ConfigActionAssistant-4bgOEfWc.js.br +0 -0
  1435. package/dist/interface/ha/ConfigActionAssistant-4bgOEfWc.js.gz +0 -0
  1436. package/dist/interface/ha/ConfigActionCameraControl-DHb4TaeM.js +0 -152
  1437. package/dist/interface/ha/ConfigActionCameraControl-DHb4TaeM.js.br +0 -0
  1438. package/dist/interface/ha/ConfigActionCameraControl-DHb4TaeM.js.gz +0 -0
  1439. package/dist/interface/ha/ConfigActionDelay-CWP3cIw-.js +0 -61
  1440. package/dist/interface/ha/ConfigActionDelay-CWP3cIw-.js.br +0 -0
  1441. package/dist/interface/ha/ConfigActionDelay-CWP3cIw-.js.gz +0 -0
  1442. package/dist/interface/ha/ConfigActionHttp-Cf-KsMnx.js +0 -134
  1443. package/dist/interface/ha/ConfigActionHttp-Cf-KsMnx.js.br +0 -0
  1444. package/dist/interface/ha/ConfigActionHttp-Cf-KsMnx.js.gz +0 -0
  1445. package/dist/interface/ha/ConfigActionImageInput-BojghoLq.js +0 -170
  1446. package/dist/interface/ha/ConfigActionImageInput-BojghoLq.js.br +0 -0
  1447. package/dist/interface/ha/ConfigActionImageInput-BojghoLq.js.gz +0 -0
  1448. package/dist/interface/ha/ConfigActionMqtt-8I3xv7mW.js +0 -78
  1449. package/dist/interface/ha/ConfigActionMqtt-8I3xv7mW.js.br +0 -0
  1450. package/dist/interface/ha/ConfigActionMqtt-8I3xv7mW.js.gz +0 -0
  1451. package/dist/interface/ha/ConfigActionNotification-CJ8AMA6m.js +0 -198
  1452. package/dist/interface/ha/ConfigActionNotification-CJ8AMA6m.js.br +0 -0
  1453. package/dist/interface/ha/ConfigActionNotification-CJ8AMA6m.js.gz +0 -0
  1454. package/dist/interface/ha/ConfigActionNotificationControl-Jmal0N0N.js +0 -111
  1455. package/dist/interface/ha/ConfigActionNotificationControl-Jmal0N0N.js.br +0 -0
  1456. package/dist/interface/ha/ConfigActionNotificationControl-Jmal0N0N.js.gz +0 -0
  1457. package/dist/interface/ha/ConfigActionOutput-Tjb8_M61.js +0 -98
  1458. package/dist/interface/ha/ConfigActionOutput-Tjb8_M61.js.br +0 -0
  1459. package/dist/interface/ha/ConfigActionOutput-Tjb8_M61.js.gz +0 -0
  1460. package/dist/interface/ha/ConfigActionPlugin-BIZABnsj.js +0 -171
  1461. package/dist/interface/ha/ConfigActionPlugin-BIZABnsj.js.br +0 -0
  1462. package/dist/interface/ha/ConfigActionPlugin-BIZABnsj.js.gz +0 -0
  1463. package/dist/interface/ha/ConfigActionSensor-CfdmXrhC.js +0 -138
  1464. package/dist/interface/ha/ConfigActionSensor-CfdmXrhC.js.br +0 -0
  1465. package/dist/interface/ha/ConfigActionSensor-CfdmXrhC.js.gz +0 -0
  1466. package/dist/interface/ha/ConfigActionSnapshot-DZfadRAR.js +0 -45
  1467. package/dist/interface/ha/ConfigActionSnapshot-DZfadRAR.js.br +0 -0
  1468. package/dist/interface/ha/ConfigActionSnapshot-DZfadRAR.js.gz +0 -0
  1469. package/dist/interface/ha/ConfigActionVariable-Bs6GAr-a.js +0 -88
  1470. package/dist/interface/ha/ConfigActionVariable-Bs6GAr-a.js.br +0 -0
  1471. package/dist/interface/ha/ConfigActionVariable-Bs6GAr-a.js.gz +0 -0
  1472. package/dist/interface/ha/ConfigConditionIfElse-Djycw0JW.js +0 -124
  1473. package/dist/interface/ha/ConfigConditionIfElse-Djycw0JW.js.br +0 -0
  1474. package/dist/interface/ha/ConfigConditionIfElse-Djycw0JW.js.gz +0 -0
  1475. package/dist/interface/ha/ConfigConditionSensorState-CMU8ZqA0.js +0 -190
  1476. package/dist/interface/ha/ConfigConditionSensorState-CMU8ZqA0.js.br +0 -0
  1477. package/dist/interface/ha/ConfigConditionSensorState-CMU8ZqA0.js.gz +0 -0
  1478. package/dist/interface/ha/ConfigConditionSwitch-CgJOmOpa.js +0 -128
  1479. package/dist/interface/ha/ConfigConditionSwitch-CgJOmOpa.js.br +0 -0
  1480. package/dist/interface/ha/ConfigConditionSwitch-CgJOmOpa.js.gz +0 -0
  1481. package/dist/interface/ha/ConfigConditionTime-CBsqkY5y.js +0 -95
  1482. package/dist/interface/ha/ConfigConditionTime-CBsqkY5y.js.br +0 -0
  1483. package/dist/interface/ha/ConfigConditionTime-CBsqkY5y.js.gz +0 -0
  1484. package/dist/interface/ha/ConfigSensorValueInput-Bf6Ok4pI.js +0 -173
  1485. package/dist/interface/ha/ConfigSensorValueInput-Bf6Ok4pI.js.br +0 -0
  1486. package/dist/interface/ha/ConfigSensorValueInput-Bf6Ok4pI.js.gz +0 -0
  1487. package/dist/interface/ha/ConfigTriggerDetection-Dw1CThHp.js +0 -241
  1488. package/dist/interface/ha/ConfigTriggerDetection-Dw1CThHp.js.br +0 -0
  1489. package/dist/interface/ha/ConfigTriggerDetection-Dw1CThHp.js.gz +0 -0
  1490. package/dist/interface/ha/ConfigTriggerGeofence-DdPHZNwK.js +0 -4836
  1491. package/dist/interface/ha/ConfigTriggerGeofence-DdPHZNwK.js.br +0 -0
  1492. package/dist/interface/ha/ConfigTriggerGeofence-DdPHZNwK.js.gz +0 -0
  1493. package/dist/interface/ha/ConfigTriggerMqtt-Ca5Nyw3p.js +0 -134
  1494. package/dist/interface/ha/ConfigTriggerMqtt-Ca5Nyw3p.js.br +0 -0
  1495. package/dist/interface/ha/ConfigTriggerMqtt-Ca5Nyw3p.js.gz +0 -0
  1496. package/dist/interface/ha/ConfigTriggerSchedule-DJBZwACr.js +0 -72
  1497. package/dist/interface/ha/ConfigTriggerSchedule-DJBZwACr.js.br +0 -0
  1498. package/dist/interface/ha/ConfigTriggerSchedule-DJBZwACr.js.gz +0 -0
  1499. package/dist/interface/ha/ConfigTriggerSensor-D9HhDzY2.js +0 -73
  1500. package/dist/interface/ha/ConfigTriggerSensor-D9HhDzY2.js.br +0 -0
  1501. package/dist/interface/ha/ConfigTriggerSensor-D9HhDzY2.js.gz +0 -0
  1502. package/dist/interface/ha/ConfigTriggerSystem-DwjzJNEe.js +0 -192
  1503. package/dist/interface/ha/ConfigTriggerSystem-DwjzJNEe.js.br +0 -0
  1504. package/dist/interface/ha/ConfigTriggerSystem-DwjzJNEe.js.gz +0 -0
  1505. package/dist/interface/ha/ConfigTriggerWebhook-BH4Tf_gl.js +0 -94
  1506. package/dist/interface/ha/ConfigTriggerWebhook-BH4Tf_gl.js.br +0 -0
  1507. package/dist/interface/ha/ConfigTriggerWebhook-BH4Tf_gl.js.gz +0 -0
  1508. package/dist/interface/ha/Console--Fph-cv4.js +0 -347
  1509. package/dist/interface/ha/Console--Fph-cv4.js.br +0 -0
  1510. package/dist/interface/ha/Console--Fph-cv4.js.gz +0 -0
  1511. package/dist/interface/ha/CuiAutomationRunsDialog-DTa_aU4B.js +0 -129
  1512. package/dist/interface/ha/CuiAutomationRunsDialog-DTa_aU4B.js.br +0 -0
  1513. package/dist/interface/ha/CuiAutomationRunsDialog-DTa_aU4B.js.gz +0 -0
  1514. package/dist/interface/ha/CuiBottomSheet-C06koVFt.js +0 -270
  1515. package/dist/interface/ha/CuiBottomSheet-C06koVFt.js.br +0 -0
  1516. package/dist/interface/ha/CuiBottomSheet-C06koVFt.js.gz +0 -0
  1517. package/dist/interface/ha/CuiCameraRecordings-DanVT3UG.js +0 -575
  1518. package/dist/interface/ha/CuiCameraRecordings-DanVT3UG.js.br +0 -0
  1519. package/dist/interface/ha/CuiCameraRecordings-DanVT3UG.js.gz +0 -0
  1520. package/dist/interface/ha/CuiCameraShares-BdodP9gm.js +0 -120
  1521. package/dist/interface/ha/CuiCameraShares-BdodP9gm.js.br +0 -0
  1522. package/dist/interface/ha/CuiCameraShares-BdodP9gm.js.gz +0 -0
  1523. package/dist/interface/ha/CuiCameraTable-DwKFkM_u.js +0 -105
  1524. package/dist/interface/ha/CuiCameraTable-DwKFkM_u.js.br +0 -0
  1525. package/dist/interface/ha/CuiCameraTable-DwKFkM_u.js.gz +0 -0
  1526. package/dist/interface/ha/CuiChartTable-DRXQfdr1.js +0 -6797
  1527. package/dist/interface/ha/CuiChartTable-DRXQfdr1.js.br +0 -0
  1528. package/dist/interface/ha/CuiChartTable-DRXQfdr1.js.gz +0 -0
  1529. package/dist/interface/ha/CuiConsole-Doi5SxCk.js +0 -234
  1530. package/dist/interface/ha/CuiConsole-Doi5SxCk.js.br +0 -0
  1531. package/dist/interface/ha/CuiConsole-Doi5SxCk.js.gz +0 -0
  1532. package/dist/interface/ha/CuiDataTable-BFI82F5E.js +0 -8860
  1533. package/dist/interface/ha/CuiDataTable-BFI82F5E.js.br +0 -0
  1534. package/dist/interface/ha/CuiDataTable-BFI82F5E.js.gz +0 -0
  1535. package/dist/interface/ha/CuiMoveCodeForm-CnghWGPw.js +0 -89
  1536. package/dist/interface/ha/CuiMoveCodeForm-CnghWGPw.js.br +0 -0
  1537. package/dist/interface/ha/CuiMoveCodeForm-CnghWGPw.js.gz +0 -0
  1538. package/dist/interface/ha/CuiPluginCard-CGgQxSl7.js +0 -778
  1539. package/dist/interface/ha/CuiPluginCard-CGgQxSl7.js.br +0 -0
  1540. package/dist/interface/ha/CuiPluginCard-CGgQxSl7.js.gz +0 -0
  1541. package/dist/interface/ha/CuiPluginOAuthButton-D8FJdgy9.js +0 -74
  1542. package/dist/interface/ha/CuiPluginOAuthButton-D8FJdgy9.js.br +0 -0
  1543. package/dist/interface/ha/CuiPluginOAuthButton-D8FJdgy9.js.gz +0 -0
  1544. package/dist/interface/ha/CuiPluginTrustBadge-BnxyMthN.js +0 -122
  1545. package/dist/interface/ha/CuiPluginTrustBadge-BnxyMthN.js.br +0 -0
  1546. package/dist/interface/ha/CuiPluginTrustBadge-BnxyMthN.js.gz +0 -0
  1547. package/dist/interface/ha/CuiQRCode-JSiQ_0PB.js +0 -86
  1548. package/dist/interface/ha/CuiQRCode-JSiQ_0PB.js.br +0 -0
  1549. package/dist/interface/ha/CuiQRCode-JSiQ_0PB.js.gz +0 -0
  1550. package/dist/interface/ha/CuiSchema-DWR2Cu3w.js +0 -952
  1551. package/dist/interface/ha/CuiSchema-DWR2Cu3w.js.br +0 -0
  1552. package/dist/interface/ha/CuiSchema-DWR2Cu3w.js.gz +0 -0
  1553. package/dist/interface/ha/CuiTopNavbarItem-DkijXvxk.js +0 -141
  1554. package/dist/interface/ha/CuiTopNavbarItem-DkijXvxk.js.br +0 -0
  1555. package/dist/interface/ha/CuiTopNavbarItem-DkijXvxk.js.gz +0 -0
  1556. package/dist/interface/ha/Faces-foOYGnts.js +0 -1659
  1557. package/dist/interface/ha/Faces-foOYGnts.js.br +0 -0
  1558. package/dist/interface/ha/Faces-foOYGnts.js.gz +0 -0
  1559. package/dist/interface/ha/FirstSteps-BC5oP04p.js +0 -254
  1560. package/dist/interface/ha/FirstSteps-BC5oP04p.js.br +0 -0
  1561. package/dist/interface/ha/FirstSteps-BC5oP04p.js.gz +0 -0
  1562. package/dist/interface/ha/Floorplan-CBHoSOlq.js +0 -3707
  1563. package/dist/interface/ha/Floorplan-CBHoSOlq.js.br +0 -0
  1564. package/dist/interface/ha/Floorplan-CBHoSOlq.js.gz +0 -0
  1565. package/dist/interface/ha/Instances-Bl_4pf1g.js +0 -670
  1566. package/dist/interface/ha/Instances-Bl_4pf1g.js.br +0 -0
  1567. package/dist/interface/ha/Instances-Bl_4pf1g.js.gz +0 -0
  1568. package/dist/interface/ha/Logs-CqcG22n0.js +0 -417
  1569. package/dist/interface/ha/Logs-CqcG22n0.js.br +0 -0
  1570. package/dist/interface/ha/Logs-CqcG22n0.js.gz +0 -0
  1571. package/dist/interface/ha/Menu-K235AI9d.js +0 -159
  1572. package/dist/interface/ha/Menu-K235AI9d.js.br +0 -0
  1573. package/dist/interface/ha/Menu-K235AI9d.js.gz +0 -0
  1574. package/dist/interface/ha/Metrics-B9LmdPb8.js +0 -1484
  1575. package/dist/interface/ha/Metrics-B9LmdPb8.js.br +0 -0
  1576. package/dist/interface/ha/Metrics-B9LmdPb8.js.gz +0 -0
  1577. package/dist/interface/ha/OAuthDeviceFlow-BRfNQrto.js +0 -112
  1578. package/dist/interface/ha/OAuthDeviceFlow-BRfNQrto.js.br +0 -0
  1579. package/dist/interface/ha/OAuthDeviceFlow-BRfNQrto.js.gz +0 -0
  1580. package/dist/interface/ha/Plugin-DOfqAHfD.js +0 -1746
  1581. package/dist/interface/ha/Plugin-DOfqAHfD.js.br +0 -0
  1582. package/dist/interface/ha/Plugin-DOfqAHfD.js.gz +0 -0
  1583. package/dist/interface/ha/PluginConsole-HCq1TtGP.js +0 -56
  1584. package/dist/interface/ha/PluginConsole-HCq1TtGP.js.br +0 -0
  1585. package/dist/interface/ha/PluginConsole-HCq1TtGP.js.gz +0 -0
  1586. package/dist/interface/ha/PluginDetail-qmjMJZ6-.js +0 -804
  1587. package/dist/interface/ha/PluginDetail-qmjMJZ6-.js.br +0 -0
  1588. package/dist/interface/ha/PluginDetail-qmjMJZ6-.js.gz +0 -0
  1589. package/dist/interface/ha/PluginSearch-CLuHh8A_.js +0 -462
  1590. package/dist/interface/ha/PluginSearch-CLuHh8A_.js.br +0 -0
  1591. package/dist/interface/ha/PluginSearch-CLuHh8A_.js.gz +0 -0
  1592. package/dist/interface/ha/PluginUpdateProgress-ZUrKsC_B.js +0 -34
  1593. package/dist/interface/ha/PluginUpdateProgress-ZUrKsC_B.js.br +0 -0
  1594. package/dist/interface/ha/PluginUpdateProgress-ZUrKsC_B.js.gz +0 -0
  1595. package/dist/interface/ha/Plugins-BzLdxtIt.js +0 -697
  1596. package/dist/interface/ha/Plugins-BzLdxtIt.js.br +0 -0
  1597. package/dist/interface/ha/Plugins-BzLdxtIt.js.gz +0 -0
  1598. package/dist/interface/ha/RecentEventsFilter-c9IPTpIM.js +0 -78
  1599. package/dist/interface/ha/RecentEventsFilter-c9IPTpIM.js.br +0 -0
  1600. package/dist/interface/ha/RecentEventsFilter-c9IPTpIM.js.gz +0 -0
  1601. package/dist/interface/ha/Recordings-CIFmOqK1.js +0 -1916
  1602. package/dist/interface/ha/Recordings-CIFmOqK1.js.br +0 -0
  1603. package/dist/interface/ha/Recordings-CIFmOqK1.js.gz +0 -0
  1604. package/dist/interface/ha/SensorEdit-NmH5BT2-.js +0 -1466
  1605. package/dist/interface/ha/SensorEdit-NmH5BT2-.js.br +0 -0
  1606. package/dist/interface/ha/SensorEdit-NmH5BT2-.js.gz +0 -0
  1607. package/dist/interface/ha/SensorHistory-yJNAhOsS.js +0 -54
  1608. package/dist/interface/ha/SensorHistory-yJNAhOsS.js.br +0 -0
  1609. package/dist/interface/ha/SensorHistory-yJNAhOsS.js.gz +0 -0
  1610. package/dist/interface/ha/Sensors-BWiodX1x.js +0 -1400
  1611. package/dist/interface/ha/Sensors-BWiodX1x.js.br +0 -0
  1612. package/dist/interface/ha/Sensors-BWiodX1x.js.gz +0 -0
  1613. package/dist/interface/ha/Settings-BI81b55S.js +0 -218
  1614. package/dist/interface/ha/Settings-BI81b55S.js.br +0 -0
  1615. package/dist/interface/ha/Settings-BI81b55S.js.gz +0 -0
  1616. package/dist/interface/ha/SettingsAccount-CdjWQCPu.js +0 -968
  1617. package/dist/interface/ha/SettingsAccount-CdjWQCPu.js.br +0 -0
  1618. package/dist/interface/ha/SettingsAccount-CdjWQCPu.js.gz +0 -0
  1619. package/dist/interface/ha/SettingsAppearance-XIYoSRsN.js +0 -201
  1620. package/dist/interface/ha/SettingsAppearance-XIYoSRsN.js.br +0 -0
  1621. package/dist/interface/ha/SettingsAppearance-XIYoSRsN.js.gz +0 -0
  1622. package/dist/interface/ha/SettingsAssistant-kyqD6iRN.js +0 -2134
  1623. package/dist/interface/ha/SettingsAssistant-kyqD6iRN.js.br +0 -0
  1624. package/dist/interface/ha/SettingsAssistant-kyqD6iRN.js.gz +0 -0
  1625. package/dist/interface/ha/SettingsBackup-CwQZCEBK.js +0 -1047
  1626. package/dist/interface/ha/SettingsBackup-CwQZCEBK.js.br +0 -0
  1627. package/dist/interface/ha/SettingsBackup-CwQZCEBK.js.gz +0 -0
  1628. package/dist/interface/ha/SettingsList-DGFZj9DR.js +0 -40
  1629. package/dist/interface/ha/SettingsList-DGFZj9DR.js.br +0 -0
  1630. package/dist/interface/ha/SettingsList-DGFZj9DR.js.gz +0 -0
  1631. package/dist/interface/ha/SettingsMqtt-C3LiDHjt.js +0 -512
  1632. package/dist/interface/ha/SettingsMqtt-C3LiDHjt.js.br +0 -0
  1633. package/dist/interface/ha/SettingsMqtt-C3LiDHjt.js.gz +0 -0
  1634. package/dist/interface/ha/SettingsNotifications-1nOlxIiU.js +0 -514
  1635. package/dist/interface/ha/SettingsNotifications-1nOlxIiU.js.br +0 -0
  1636. package/dist/interface/ha/SettingsNotifications-1nOlxIiU.js.gz +0 -0
  1637. package/dist/interface/ha/SettingsRecordings-JNunCb_2.js +0 -152
  1638. package/dist/interface/ha/SettingsRecordings-JNunCb_2.js.br +0 -0
  1639. package/dist/interface/ha/SettingsRecordings-JNunCb_2.js.gz +0 -0
  1640. package/dist/interface/ha/SettingsRemote-BMPH9q5l.js +0 -1523
  1641. package/dist/interface/ha/SettingsRemote-BMPH9q5l.js.br +0 -0
  1642. package/dist/interface/ha/SettingsRemote-BMPH9q5l.js.gz +0 -0
  1643. package/dist/interface/ha/SettingsSystem-DDH4f0Vx.js +0 -382
  1644. package/dist/interface/ha/SettingsSystem-DDH4f0Vx.js.br +0 -0
  1645. package/dist/interface/ha/SettingsSystem-DDH4f0Vx.js.gz +0 -0
  1646. package/dist/interface/ha/SettingsUsers-CFTsI0cg.js +0 -370
  1647. package/dist/interface/ha/SettingsUsers-CFTsI0cg.js.br +0 -0
  1648. package/dist/interface/ha/SettingsUsers-CFTsI0cg.js.gz +0 -0
  1649. package/dist/interface/ha/Terminal-DSDOuCjQ.js +0 -611
  1650. package/dist/interface/ha/Terminal-DSDOuCjQ.js.br +0 -0
  1651. package/dist/interface/ha/Terminal-DSDOuCjQ.js.gz +0 -0
  1652. package/dist/interface/ha/Training-Bz7zeaiv.js +0 -1829
  1653. package/dist/interface/ha/Training-Bz7zeaiv.js.br +0 -0
  1654. package/dist/interface/ha/Training-Bz7zeaiv.js.gz +0 -0
  1655. package/dist/interface/ha/Updates-Dia2pdZq.js +0 -357
  1656. package/dist/interface/ha/Updates-Dia2pdZq.js.br +0 -0
  1657. package/dist/interface/ha/Updates-Dia2pdZq.js.gz +0 -0
  1658. package/dist/interface/ha/VariableInput-BJNBozvt.js +0 -52
  1659. package/dist/interface/ha/VariableInput-BJNBozvt.js.br +0 -0
  1660. package/dist/interface/ha/VariableInput-BJNBozvt.js.gz +0 -0
  1661. package/dist/interface/ha/VersionsHandler-nZZLPTIy.js +0 -221
  1662. package/dist/interface/ha/VersionsHandler-nZZLPTIy.js.br +0 -0
  1663. package/dist/interface/ha/VersionsHandler-nZZLPTIy.js.gz +0 -0
  1664. package/dist/interface/ha/VirtualSensorCreate-BEY_5Moy.js +0 -102
  1665. package/dist/interface/ha/VirtualSensorCreate-BEY_5Moy.js.br +0 -0
  1666. package/dist/interface/ha/VirtualSensorCreate-BEY_5Moy.js.gz +0 -0
  1667. package/dist/interface/ha/Workers-Cz7uqDB1.js +0 -1270
  1668. package/dist/interface/ha/Workers-Cz7uqDB1.js.br +0 -0
  1669. package/dist/interface/ha/Workers-Cz7uqDB1.js.gz +0 -0
  1670. package/dist/interface/ha/accordion-w3Av_-S6.js +0 -574
  1671. package/dist/interface/ha/accordion-w3Av_-S6.js.br +0 -0
  1672. package/dist/interface/ha/accordion-w3Av_-S6.js.gz +0 -0
  1673. package/dist/interface/ha/api-CQn_HFOl.js +0 -29
  1674. package/dist/interface/ha/api-CQn_HFOl.js.br +0 -0
  1675. package/dist/interface/ha/api-CQn_HFOl.js.gz +0 -0
  1676. package/dist/interface/ha/api-DUn3L5D7.js +0 -69083
  1677. package/dist/interface/ha/api-DUn3L5D7.js.br +0 -0
  1678. package/dist/interface/ha/api-DUn3L5D7.js.gz +0 -0
  1679. package/dist/interface/ha/assistant-BN7Ii0r0.js +0 -349
  1680. package/dist/interface/ha/assistant-BN7Ii0r0.js.br +0 -0
  1681. package/dist/interface/ha/assistant-BN7Ii0r0.js.gz +0 -0
  1682. package/dist/interface/ha/auth-BPmMlAAg.js +0 -271
  1683. package/dist/interface/ha/auth-BPmMlAAg.js.br +0 -0
  1684. package/dist/interface/ha/auth-BPmMlAAg.js.gz +0 -0
  1685. package/dist/interface/ha/autocomplete-S67slrj3.js +0 -1365
  1686. package/dist/interface/ha/autocomplete-S67slrj3.js.br +0 -0
  1687. package/dist/interface/ha/autocomplete-S67slrj3.js.gz +0 -0
  1688. package/dist/interface/ha/automationBlueprint-DLWpQex2.js +0 -250
  1689. package/dist/interface/ha/automationBlueprint-DLWpQex2.js.br +0 -0
  1690. package/dist/interface/ha/automationBlueprint-DLWpQex2.js.gz +0 -0
  1691. package/dist/interface/ha/cards-DESDf3mL.js +0 -13315
  1692. package/dist/interface/ha/cards-DESDf3mL.js.br +0 -0
  1693. package/dist/interface/ha/cards-DESDf3mL.js.gz +0 -0
  1694. package/dist/interface/ha/checkbox-DEv0j3RK.js +0 -279
  1695. package/dist/interface/ha/checkbox-DEv0j3RK.js.br +0 -0
  1696. package/dist/interface/ha/checkbox-DEv0j3RK.js.gz +0 -0
  1697. package/dist/interface/ha/config-D8j5zflt.js +0 -116
  1698. package/dist/interface/ha/config-D8j5zflt.js.br +0 -0
  1699. package/dist/interface/ha/config-D8j5zflt.js.gz +0 -0
  1700. package/dist/interface/ha/datepicker-B3dHYEyg.js +0 -2957
  1701. package/dist/interface/ha/datepicker-B3dHYEyg.js.br +0 -0
  1702. package/dist/interface/ha/datepicker-B3dHYEyg.js.gz +0 -0
  1703. package/dist/interface/ha/eventLabels-DV0RmW3T.js +0 -734
  1704. package/dist/interface/ha/eventLabels-DV0RmW3T.js.br +0 -0
  1705. package/dist/interface/ha/eventLabels-DV0RmW3T.js.gz +0 -0
  1706. package/dist/interface/ha/inputnumber-DRHTgmOE.js +0 -1031
  1707. package/dist/interface/ha/inputnumber-DRHTgmOE.js.br +0 -0
  1708. package/dist/interface/ha/inputnumber-DRHTgmOE.js.gz +0 -0
  1709. package/dist/interface/ha/inputtext-DfgvQQt_.js +0 -257
  1710. package/dist/interface/ha/inputtext-DfgvQQt_.js.br +0 -0
  1711. package/dist/interface/ha/inputtext-DfgvQQt_.js.gz +0 -0
  1712. package/dist/interface/ha/mqtt-e7J98M0X.js +0 -56
  1713. package/dist/interface/ha/mqtt-e7J98M0X.js.br +0 -0
  1714. package/dist/interface/ha/mqtt-e7J98M0X.js.gz +0 -0
  1715. package/dist/interface/ha/multiselect-C6iTGDj5.js +0 -1484
  1716. package/dist/interface/ha/multiselect-C6iTGDj5.js.br +0 -0
  1717. package/dist/interface/ha/multiselect-C6iTGDj5.js.gz +0 -0
  1718. package/dist/interface/ha/notifications-CKfUQZcf.js +0 -159
  1719. package/dist/interface/ha/notifications-CKfUQZcf.js.br +0 -0
  1720. package/dist/interface/ha/notifications-CKfUQZcf.js.gz +0 -0
  1721. package/dist/interface/ha/pinia-BBBIELZl.js +0 -7716
  1722. package/dist/interface/ha/pinia-BBBIELZl.js.br +0 -0
  1723. package/dist/interface/ha/pinia-BBBIELZl.js.gz +0 -0
  1724. package/dist/interface/ha/plugins-DHEWLE-_.js +0 -592
  1725. package/dist/interface/ha/plugins-DHEWLE-_.js.br +0 -0
  1726. package/dist/interface/ha/plugins-DHEWLE-_.js.gz +0 -0
  1727. package/dist/interface/ha/rooms-B8un3Qdi.js +0 -45
  1728. package/dist/interface/ha/rooms-B8un3Qdi.js.br +0 -0
  1729. package/dist/interface/ha/rooms-B8un3Qdi.js.gz +0 -0
  1730. package/dist/interface/ha/select-Ba_XFods.js +0 -1380
  1731. package/dist/interface/ha/select-Ba_XFods.js.br +0 -0
  1732. package/dist/interface/ha/select-Ba_XFods.js.gz +0 -0
  1733. package/dist/interface/ha/server-D2PcGC9A.js +0 -244
  1734. package/dist/interface/ha/server-D2PcGC9A.js.br +0 -0
  1735. package/dist/interface/ha/server-D2PcGC9A.js.gz +0 -0
  1736. package/dist/interface/ha/speeddial-Cxa_1lY2.js +0 -941
  1737. package/dist/interface/ha/speeddial-Cxa_1lY2.js.br +0 -0
  1738. package/dist/interface/ha/speeddial-Cxa_1lY2.js.gz +0 -0
  1739. package/dist/interface/ha/textarea-BQGY5eCW.js +0 -130
  1740. package/dist/interface/ha/textarea-BQGY5eCW.js.br +0 -0
  1741. package/dist/interface/ha/textarea-BQGY5eCW.js.gz +0 -0
  1742. package/dist/interface/ha/types-4TNJU75d.js +0 -1073
  1743. package/dist/interface/ha/types-4TNJU75d.js.br +0 -0
  1744. package/dist/interface/ha/types-4TNJU75d.js.gz +0 -0
  1745. package/dist/interface/ha/updates-C7C7vE8R.js +0 -414
  1746. package/dist/interface/ha/updates-C7C7vE8R.js.br +0 -0
  1747. package/dist/interface/ha/updates-C7C7vE8R.js.gz +0 -0
  1748. package/dist/interface/ha/useAppVersion-BJg6yGaM.js +0 -22
  1749. package/dist/interface/ha/useAppVersion-BJg6yGaM.js.br +0 -3
  1750. package/dist/interface/ha/useAppVersion-BJg6yGaM.js.gz +0 -0
  1751. package/dist/interface/ha/useKeyboardInset-B4Ta0MYT.js +0 -27
  1752. package/dist/interface/ha/useKeyboardInset-B4Ta0MYT.js.br +0 -0
  1753. package/dist/interface/ha/useKeyboardInset-B4Ta0MYT.js.gz +0 -0
  1754. package/dist/interface/ha/useLogsSocket-B_i59MM_.js +0 -74
  1755. package/dist/interface/ha/useLogsSocket-B_i59MM_.js.br +0 -0
  1756. package/dist/interface/ha/useLogsSocket-B_i59MM_.js.gz +0 -0
  1757. package/dist/interface/ha/useNavLayout-DboStdqA.js +0 -125
  1758. package/dist/interface/ha/useNavLayout-DboStdqA.js.br +0 -0
  1759. package/dist/interface/ha/useNavLayout-DboStdqA.js.gz +0 -0
  1760. package/dist/interface/ha/usePlacementLabel-DCu74x82.js +0 -49
  1761. package/dist/interface/ha/usePlacementLabel-DCu74x82.js.br +0 -0
  1762. package/dist/interface/ha/usePlacementLabel-DCu74x82.js.gz +0 -0
  1763. package/dist/interface/ha/useTabSwipe-DjexjTaU.js +0 -45
  1764. package/dist/interface/ha/useTabSwipe-DjexjTaU.js.br +0 -0
  1765. package/dist/interface/ha/useTabSwipe-DjexjTaU.js.gz +0 -0
  1766. package/dist/interface/ha/useUpdateChannel-BPWUr4Hf.js +0 -22
  1767. package/dist/interface/ha/useUpdateChannel-BPWUr4Hf.js.br +0 -0
  1768. package/dist/interface/ha/useUpdateChannel-BPWUr4Hf.js.gz +0 -0
  1769. package/dist/interface/ha/useUpdatesSocket-M7K1vFu-.js +0 -34
  1770. package/dist/interface/ha/useUpdatesSocket-M7K1vFu-.js.br +0 -0
  1771. package/dist/interface/ha/useUpdatesSocket-M7K1vFu-.js.gz +0 -0
  1772. package/dist/interface/ha/useUserOptions-BYC5YXhG.js +0 -15
  1773. package/dist/interface/ha/useUserOptions-BYC5YXhG.js.br +0 -0
  1774. package/dist/interface/ha/useUserOptions-BYC5YXhG.js.gz +0 -0
@@ -0,0 +1,8 @@
1
+ import{An as e,At as t,B as n,D as r,Dn as i,En as a,Hn as o,In as s,It as c,Jt as l,Ln as u,Lt as d,Mt as f,Nn as p,On as m,Ot as h,Qt as g,Rn as _,Sn as v,St as y,Tn as b,Tt as x,U as S,Vn as C,Wt as w,Xt as T,Yt as E,_n as D,_t as O,an as k,bn as A,cn as j,ct as M,en as N,fn as P,ft as F,gn as I,gt as L,in as R,jn as z,jt as B,kn as V,kt as H,lt as ee,mn as U,mt as W,nn as G,pn as te,rn as K,sn as ne,st as q,tn as re,ut as J,vt as Y,wt as ie,yn as X,zn as Z,zt as ae}from"./vendor-core-MmTl_Z1W.js";import{a as oe,c as se,d as ce,f as le,i as ue,l as de,n as fe,o as pe,p as me,r as he,s as ge,t as _e,u as ve}from"./vendor-rpc-DodD4Gt-.js";import{F as ye,I as be,M as xe,N as Se,P as Ce,j as we}from"./vendor-BKqUV6ZG.js";import{G as Te,J as Ee,K as De,Q as Oe,U as ke,W as Ae,X as je,Z as Me,et as Ne,nt as Pe,tt as Fe}from"./vendor-openvue-YQYlLAAa.js";var Ie=`__cuiLoggerState__`;function Le(){let e=globalThis,t=e[Ie];return t||(t={capacity:600,entries:[],storeListeners:new Set,debugEnabled:!1,scopeOverrides:new Map,recording:!1,flagListeners:new Set},e[Ie]=t),t}function Re(e,t){let n=Le();t?n.scopeOverrides.set(t,e):n.debugEnabled=e,We()}function ze(e){Le().scopeOverrides.delete(e)&&We()}function Be(e){let t=Le();return e!==void 0&&t.scopeOverrides.has(e)?t.scopeOverrides.get(e):t.debugEnabled}function Ve(e){Le().recording=e,We()}function He(){return Le().recording}function Ue(e){let{flagListeners:t}=Le();return t.add(e),()=>{t.delete(e)}}function We(){let e=Le();for(let t of e.flagListeners)try{t()}catch{}}function Ge(e){return(console[e]??console.log).bind(console)}var Ke={log:Ge(`log`),debug:Ge(`debug`),info:Ge(`info`),warn:Ge(`warn`),error:Ge(`error`)};function qe(e){Le().capacity=Math.max(1,Math.floor(e)),$e()}function Je(e){Le().entries.push(e),$e(),et()}function Ye(){return Le().entries.slice()}function Xe(){Le().entries=[],et()}function Ze(e){let t=Le();t.entries=e.slice(-t.capacity),et()}function Qe(e){let{storeListeners:t}=Le();return t.add(e),()=>{t.delete(e)}}function $e(){let e=Le();e.entries.length>e.capacity&&e.entries.splice(0,e.entries.length-e.capacity)}function et(){let e=Le();for(let t of e.storeListeners)try{t(e.entries)}catch{}}function tt(e){if(typeof e==`string`)return e;if(e===void 0)return`undefined`;if(e===null)return`null`;if(e instanceof Error)return`${e.name}: ${e.message}${e.stack?`\n${e.stack}`:``}`;if(typeof e!=`object`)return String(e);try{let t=new WeakSet;return JSON.stringify(e,(e,n)=>{if(typeof n==`bigint`)return`${n}n`;if(typeof n==`function`)return`[Function ${n.name||`anonymous`}]`;if(typeof n==`object`&&n){if(t.has(n))return`[Circular]`;t.add(n)}return n})}catch{try{return String(e)}catch{return`[Unserializable]`}}}var nt=/%[sdifoOjc%]/g,rt=/%[sdifoOjc]/;function it(e){let t=e[0];if(typeof t!=`string`||!rt.test(t))return e.map(tt).join(` `);let n=e.slice(1),r=0,i=t.replace(nt,e=>{if(e===`%%`)return`%`;if(r>=n.length)return e;let t=n[r++];switch(e){case`%s`:return typeof t==`string`?t:tt(t);case`%d`:case`%i`:{let e=typeof t==`number`?t:Number(t);return Number.isNaN(e)?`NaN`:String(Math.trunc(e))}case`%f`:{let e=typeof t==`number`?t:Number(t);return Number.isNaN(e)?`NaN`:String(e)}case`%c`:return``;default:return tt(t)}}),a=n.slice(r).map(tt).join(` `);return a?`${i} ${a}`:i}function at(e,t=2){return String(e).padStart(t,`0`)}function ot(e=Date.now()){let t=new Date(e);return`${at(t.getHours())}:${at(t.getMinutes())}:${at(t.getSeconds())}.${at(t.getMilliseconds(),3)}`}var st={debug:`debug`,log:`log`,info:`info`,warn:`warn`,error:`error`},ct=class e{scope;constructor(e){this.scope=e}static scope(t){return new e(t)}debug(...e){this.emit(`debug`,e)}log(...e){this.emit(`log`,e)}info(...e){this.emit(`info`,e)}warn(...e){this.emit(`warn`,e)}error(...e){this.emit(`error`,e)}emit(e,t){if(e===`debug`&&!Be(this.scope))return;let n=`[${this.scope} ${ot()}]`;typeof t[0]==`string`?Ke[st[e]](`${n} ${t[0]}`,...t.slice(1)):Ke[st[e]](n,...t),He()&&Je({t:Date.now(),level:e,scope:this.scope,msg:it(t)})}static setDebug(e,t){Re(e,t)}static isDebug(e){return Be(e)}static clearScope(e){ze(e)}static setRecording(e){Ve(e)}static isRecording(){return He()}static onChange(e){return Ue(e)}static entries(){return Ye()}static clear(){Xe()}static onEntries(e){return Qe(e)}static setCapacity(e){qe(e)}},lt=!1,ut={log:`log`,debug:`debug`,info:`info`,warn:`warn`,error:`error`};function dt(){if(lt)return;lt=!0;for(let e of[`log`,`debug`,`info`,`warn`,`error`]){let t=ut[e],n=Ke[e];console[e]=(...e)=>{He()&&Je({t:Date.now(),level:t,scope:`console`,msg:it(e)}),n(...e)}}let e=globalThis;e.addEventListener?.(`error`,e=>{if(!He())return;let t=e?.filename?` ${e.filename}:${e.lineno}:${e.colno}`:``;Je({t:Date.now(),level:`error`,scope:`window`,msg:`[onerror] ${e?.message??``}${t}`.trim()})}),e.addEventListener?.(`unhandledrejection`,e=>{He()&&Je({t:Date.now(),level:`error`,scope:`window`,msg:`[unhandledrejection] ${tt(e?.reason)}`})})}function ft(e){return!!e&&typeof e==`object`&&e.__cui_logger__===!0}var pt=`cui-logger-debug`,mt=`cui-logger-recording`,ht=`cui-logger-buffer`,gt=400,_t=null,vt=null;function yt(e){_t=e;try{let t=e.getItem(pt);(t===`1`||t===`0`)&&Re(t===`1`);let n=e.getItem(mt);(n===`1`||n===`0`)&&Ve(n===`1`)}catch{}try{let t=e.getItem(ht);if(t){let e=JSON.parse(t);Array.isArray(e)&&Ze(e)}}catch{}Ue(()=>{try{_t?.setItem(pt,Be()?`1`:`0`),_t?.setItem(mt,He()?`1`:`0`)}catch{}}),Qe(()=>xt()),xt()}function bt(){if(vt&&=(clearTimeout(vt),null),_t)try{_t.setItem(ht,JSON.stringify(Ye()))}catch{}}function xt(){_t&&!vt&&(vt=setTimeout(()=>{vt=null,bt()},gt))}var St=[{pattern:/\bBearer\s+[A-Za-z0-9._-]+/gi,replacement:`Bearer ***`},{pattern:/\beyJ[A-Za-z0-9._-]{10,}/g,replacement:`***jwt***`},{pattern:/([a-z][a-z0-9+.-]*:\/\/)([^:/@\s]+):([^@/\s]+)@/gi,replacement:`$1$2:***@`},{pattern:/\b(set-cookie|cookie)\b\s*[:=]\s*[^\s;]+/gi,replacement:`$1: ***`},{pattern:/("?\b(?:password|passwd|pwd|secret|token|apikey|api_key|access_token|refresh_token|authorization)\b"?\s*[:=]\s*)"?[^",}\s]+"?/gi,replacement:`$1***`}];function Ct(e,t=St){let n=e;for(let e of t)n=n.replace(e.pattern,e.replacement??`***`);return n}function wt(e=Ye()){return e.map(e=>`${ot(e.t)} [${e.level.toUpperCase()}] [${e.scope}] ${e.msg}`).join(`
2
+ `)}function Tt(e={}){let t=e.entries??Ye(),n=`${e.context?`${Et(e.context)}\n\n`:``}${wt(t)}`;return e.redact===!1?n:Ct(n,Array.isArray(e.redact)?e.redact:St)}function Et(e){return[`===== camera.ui diagnostics =====`,...Object.entries(e).map(([e,t])=>`${e}: ${typeof t==`string`?t:JSON.stringify(t)}`)].join(`
3
+ `)}function Dt(e){let t=e=>{ft(e.data)&&e.data.type===`entry`&&Je(e.data.entry)};e.addEventListener?.(`message`,t);let n=()=>e.postMessage({__cui_logger__:!0,type:`flag`,debug:Be(),recording:He()});n();let r=Ue(n);return()=>{e.removeEventListener?.(`message`,t),r()}}function Ot(e){if(e===`insufficient_role`||e===`user_not_found`)return`forbidden`;if(e===`invalid_token`||e===`unauthenticated`||e.startsWith(`credentials_`))return`auth-expired`}function kt(e){let t=typeof e==`string`?void 0:e,n=t?.wsCloseCode??t?.code;if(n===4401)return`auth-expired`;if(n===4403||n===4400)return`forbidden`;let r=typeof t?.data==`object`&&t.data!==null?t.data.code:void 0,i=typeof r==`string`?Ot(r):void 0;if(i)return i;let a=(typeof e==`string`?e:t?.reason??t?.message??``).toLowerCase();return a?a.includes(`forbidden`)||a.includes(`403`)?`forbidden`:a.includes(`unauthorized`)||a.includes(`unauthenticated`)||a.includes(`401`)?`auth-expired`:`other`:`other`}function At(e){if(typeof e!=`object`||!e)return!1;let{wsCloseCode:t,code:n,data:r}=e;return kt({wsCloseCode:t,code:n,data:r})===`forbidden`}function jt(e,t){return e===t||!(!e||!t||e.endpoint.url!==t.endpoint.url||e.endpoint.mode!==t.endpoint.mode||e.tokens.access!==t.tokens.access||(e.tokens.proxySession??null)!==(t.tokens.proxySession??null))}function Mt(e,t){return e===t?!1:!e||!t||e.endpoint.url!==t.endpoint.url||e.endpoint.mode!==t.endpoint.mode}var Nt=class{listeners=new Map;on(e,t){let n=this.listeners.get(e);return n||(n=new Set,this.listeners.set(e,n)),n.add(t),()=>{n.delete(t)}}emit(e,t){let n=this.listeners.get(e);if(n)for(let e of[...n])e(t)}clear(){this.listeners.clear()}},Pt=5e3;function Ft(e,t,n){switch(t.type){case`RESET`:return e.kind===`idle`?e:{kind:`idle`};case`BOOT`:return e.kind!==`idle`&&e.kind!==`offline`&&e.kind!==`needs-auth`?e:It({kind:`discovering`,instanceId:t.instanceId},e);case`USER_RETRY`:return e.kind===`offline`||e.kind===`needs-auth`?It({kind:`discovering`,instanceId:e.instanceId??``},e):e;case`PROBE_SUCCEEDED`:return e.kind===`discovering`?{kind:`online`,instanceId:e.instanceId,target:{endpoint:t.endpoint,tokens:t.tokens}}:e;case`PROBE_FAILED_ALL`:return e.kind!==`discovering`&&e.kind!==`online`?e:t.error===`needs-auth`?{kind:`needs-auth`,instanceId:e.instanceId,reason:t.error}:{kind:`offline`,instanceId:e.instanceId,lastError:t.error,nextRetryAt:n.now()+Pt};case`TOKENS_REFRESHED`:return e.kind===`online`?Lt(e.target.tokens,t.tokens)?e:{...e,target:{...e.target,tokens:t.tokens}}:e.kind===`discovering`||e.kind===`offline`?e.pendingTokens&&Lt(e.pendingTokens,t.tokens)?e:{...e,pendingTokens:t.tokens}:e;case`TOKENS_INVALID`:return e.kind===`online`?t.transient===!0?{kind:`offline`,instanceId:e.instanceId,lastError:`tokens invalid: ${t.reason}`,nextRetryAt:n.now()+Pt}:{kind:`needs-auth`,instanceId:e.instanceId,reason:`tokens invalid: ${t.reason}`}:e;case`ENDPOINT_SWAP`:return e.kind===`online`?e.target.endpoint.url===t.endpoint.url&&e.target.endpoint.mode===t.endpoint.mode?Lt(e.target.tokens,t.tokens)?e:{...e,target:{...e.target,tokens:t.tokens}}:{...e,target:{endpoint:t.endpoint,tokens:t.tokens}}:e;case`BACKOFF_HINT`:{if(e.kind!==`offline`)return e;let r=n.now(),i=r+t.retryAfterMs;return e.backoffHint&&i<=e.nextRetryAt?e:{...e,nextRetryAt:i,backoffHint:{retryAfterMs:t.retryAfterMs,setAt:r,source:t.source}}}}}function It(e,t){return t.kind===`offline`&&t.pendingTokens?{...e,pendingTokens:t.pendingTokens}:e}function Lt(e,t){return e.access===t.access&&e.refresh===t.refresh&&e.accessExpiresAt===t.accessExpiresAt&&e.refreshExpiresAt===t.refreshExpiresAt&&e.proxySession===t.proxySession&&e.proxySessionExpiresAt===t.proxySessionExpiresAt&&e.proxyRefresh===t.proxyRefresh}var Rt=new ct(`kernel`);function zt(e){let t=e.initial??{kind:`idle`},n=new Set,r=[],i=!1,a=!1;function o(o){if(!a){if(i)r.push(o);else{i=!0;try{let i=o;for(;i;){let a=t,o=Ft(a,i,e.context);if(e.onAction)try{e.onAction(i,a,o)}catch(e){Rt.warn(`onAction threw on`,i.type,e)}if(o!==a){t=o;for(let e of[...n])try{e(o,a,i)}catch(e){Rt.warn(`listener threw on`,i.type,e)}}i=r.shift()}}finally{i=!1}}}}function s(e){return n.add(e),()=>{n.delete(e)}}function c(){a=!0,n.clear(),r.length=0}return{get phase(){return t},dispatch:o,subscribe:s,dispose:c}}var Bt={"direct-lan":2e3,"direct-wan":5e3},Vt=400,Ht=class extends Error{endpoint;cause;kind;constructor(e,t,n,r){super(e),this.name=`RaceFirstError`,this.endpoint=t,this.cause=n,this.kind=r}};function Ut(e,t={}){let{timeoutByMode:n=e=>Bt[e]??5e3,shortCircuit:r,informative:i,parentSignal:a,prefer:o}=t,s=t.preferGraceMs??Vt;return new Promise((t,c)=>{if(e.length===0){c(new Ht(`raceFirst: no candidates`,{url:``,mode:`direct-lan`},void 0,`all-failed`));return}if(a?.aborted){c(new Ht(`raceFirst: parent aborted`,e[0].endpoint,void 0,`aborted`));return}let l=!1,u=e.length,d=o?e.filter(e=>o(e.endpoint)).length:0,f=null,p=new Map,m=[],h=[];function g(e){for(let e of h)clearTimeout(e);for(let t of m)t!==e&&t.abort(`race-settled`)}function _(e,n,r){l||(l=!0,g(r),x&&a?.removeEventListener(`abort`,x),t({endpoint:e,value:n}))}function v(){f&&_(f.endpoint,f.value,f.ctrl)}function y(e,t,n){if(l)return;if(!o||o(e)||d<=0){_(e,t,n);return}if(f)return;f={endpoint:e,value:t,ctrl:n};let r=setTimeout(v,s);h.push(r)}function b(e){l||(l=!0,g(null),x&&a?.removeEventListener(`abort`,x),c(e))}let x=a?()=>b(new Ht(`raceFirst: parent aborted`,e[0].endpoint,void 0,`aborted`)):null;x&&a.addEventListener(`abort`,x),e.forEach(e=>{let t=new AbortController;m.push(t);let s=n(e.endpoint.mode),c=setTimeout(()=>t.abort(`race-timeout`),s);h.push(c),e.run(t.signal).then(n=>y(e.endpoint,n,t),n=>{if(l){p.set(e.endpoint,n);return}if(o?.(e.endpoint)&&(d--,f&&d<=0)){p.set(e.endpoint,n),v();return}let c=t.signal.aborted&&!a?.aborted?new Ht(`timeout (${s}ms)`,e.endpoint,n,`all-failed`):n;if(p.set(e.endpoint,c),r?.(c))b(new Ht(`raceFirst: short-circuit`,e.endpoint,c,`short-circuit`));else if(u--,u<=0){let t=[...p.entries()].filter(([,e])=>e instanceof Ht?e.kind!==`all-failed`||!(e.cause instanceof Error&&e.cause.message===`aborted`):!0),[n,r]=(i?t.find(([,e])=>i(e instanceof Ht?e.cause:e)):void 0)??t[0]??[e.endpoint,c];b(new Ht(`raceFirst: all candidates failed`,n,r,`all-failed`))}})})})}function Wt(e){let t=null,n=!1;async function r(){if(e.kernel.phase.kind!==`online`)return e.onResult?.(`skipped`,`phase=${e.kernel.phase.kind}`),`skipped`;let t=new AbortController;try{let r=await e.discover(t.signal);if(n||e.kernel.phase.kind!==`online`)return`skipped`;if(r.length===0)return e.onResult?.(`failed`,`empty pool`),`failed`;if(e.ready&&(await e.ready().catch(()=>void 0),n||e.kernel.phase.kind!==`online`))return`skipped`;let i=e.lastTarget?.()?.tokens,{endpoint:a,value:o}=await Ut(r.map(t=>({endpoint:t,run:n=>e.probe({endpoint:t,lastTokens:i,signal:n})})),{timeoutByMode:e.timeoutByMode,parentSignal:t.signal,prefer:e.prefer,preferGraceMs:e.preferGraceMs});if(n)return`skipped`;let s=e.kernel.phase;if(s.kind!==`online`)return e.onResult?.(`skipped`,`phase=${s.kind}`),`skipped`;let c=s.target.endpoint,l=c.url===a.url&&c.mode===a.mode,u=e.prefer?.(a)??!1,d=e.prefer?.(c)??!1;if(!l&&e.isCurrentHealthy?.()===!0&&(!u||d))return o!==i&&e.kernel.dispatch({type:`TOKENS_REFRESHED`,tokens:o}),e.onResult?.(`kept`,u===d?`${c.url} (same class as ${a.url})`:c.url),`kept`;let f=o===i?s.target.tokens:o;e.kernel.dispatch({type:`ENDPOINT_SWAP`,endpoint:a,tokens:f});let p=l?`same`:`swap`;return e.onResult?.(p,a.url),p}catch(t){return e.onResult?.(`failed`,t instanceof Error?t.message:String(t)),`failed`}}return{run(){return n?Promise.resolve(`skipped`):t||(t=r().finally(()=>{t=null}),t)},dispose(){n=!0}}}var Gt=[5e3,1e4,3e4,6e4];function Kt(e){let t=e.schedule??Gt;if(t.length===0)throw Error(`backoff: schedule must have at least one entry`);let n=e.now??(()=>Date.now()),r=e.setTimer??((e,t)=>setTimeout(e,t)),i=e.clearTimer??(e=>clearTimeout(e)),a,o=0,s=0,c=!1,l={type:`USER_RETRY`};function u(t){a!==void 0&&(i(a),a=void 0,t&&e.onCancelled?.(t))}function d(){let t=e.firstAttemptDelayMs?.();return typeof t==`number`&&t>=0?t:void 0}function f(i,f){u(f?`rescheduled`:void 0);let p=t[Math.min(s,t.length-1)],m=s===0?d():void 0,h=m===void 0?p:Math.min(m,p),g=i.backoffHint?Math.max(0,i.nextRetryAt-n()):0,_=Math.max(h,g);e.onScheduled?.(s+1,_),i.backoffHint&&g>h&&e.onHintApplied?.(_,i.backoffHint.source),o=n()+_,a=r(()=>{a=void 0,!c&&e.kernel.phase.kind===`offline`&&(s+=1,e.onFire?.(s),e.kernel.dispatch(l))},_)}let p=e.kernel.subscribe((e,t,n)=>{e.kind===`offline`&&t.kind!==`offline`?f(e,!1):e.kind===`offline`&&t.kind===`offline`&&e.backoffHint!==t.backoffHint?e.backoffHint&&e.nextRetryAt>o&&f(e,!0):(t.kind===`offline`&&e.kind!==`offline`&&(u(`phase-left-offline`),n.type===`USER_RETRY`&&n!==l&&d()!==void 0&&(s=0)),(e.kind===`online`||e.kind===`idle`)&&(s=0))});return e.kernel.phase.kind===`offline`&&f(e.kernel.phase,!1),()=>{c=!0,u(`detach`),p()}}var qt=`camera.ui:transport:target`;function Jt(e){let t=e.key??qt,n=e.source??(typeof window<`u`?window:void 0);if(!n)throw Error("attachCrossTab: no `source` provided and no global `window` available");function r(n){let r=n;if(r.key!==t)return;if(r.newValue===null){if(e.absorb?.(null),e.kernel.phase.kind!==`online`)return;e.kernel.dispatch({type:`RESET`}),e.onResetReceived?.();return}let i;try{i=JSON.parse(r.newValue)}catch(t){e.onError?.(`parse`,t);return}if(!i?.tokens?.access)return;let a={endpoint:i.endpoint,tokens:i.tokens},o=e.kernel.phase;e.accept&&!e.accept(a,o.kind===`online`?o.target:null)?e.onTokensIgnored?.(a):o.kind===`online`?(e.kernel.dispatch({type:`TOKENS_REFRESHED`,tokens:i.tokens}),e.onTokensReceived?.(i.tokens)):i.endpoint?.url&&(e.absorb?.({endpoint:i.endpoint,tokens:i.tokens}),e.onTokensReceived?.(i.tokens))}return n.addEventListener(`storage`,r),()=>{n.removeEventListener(`storage`,r)}}var Yt=1e4,Xt=3e5;function Zt(e){let t=e.graceMs??Yt,n=e.maxBackoffMs??Xt,r=null,i=0,a=0,o=``,s=!1;function c(){r!==null&&(clearTimeout(r),r=null)}function l(){c(),i=0,a=0,o=``}function u(){s||r!==null||(r=setTimeout(()=>{r=null,f()},Math.min(t*2**a,n)))}function d(){a=e.isReachable?.()?a+1:0,u()}async function f(){if(s||e.signal.current.kind!==`degraded`)return;i++,e.onEscalate?.(i),e.ensureAll();let t=await e.probe();if(!(s||e.signal.current.kind!==`degraded`)){if(t===`failed`){if(e.isReachable?.()){e.onHold?.(`probe failed but a channel is up — holding`),d();return}e.onOffline?.(`degraded: endpoint unreachable`),e.kernel.dispatch({type:`PROBE_FAILED_ALL`,error:`degraded: endpoint unreachable`})}else d()}}function p(){let t=e.kernel.phase;return t.kind===`online`&&t.target.endpoint.mode===`direct-wan`&&e.isReachable?.()===!1}function m(e){let t=e.channels.join(`,`);t!==o&&(o=t,a>0&&(a=0,c())),i===0&&p()?(l(),f()):u()}let h=e.signal.subscribe(e=>{e.kind===`degraded`?m(e):l()});return e.signal.current.kind===`degraded`&&m(e.signal.current),()=>{s=!0,l(),h()}}function Qt(e){let t=e.debounceMs??0,n=!1,r=null,i=i=>{n||(t<=0?e.onChange(e.kernel,i):(r!==null&&clearTimeout(r),r=setTimeout(()=>{r=null,n||e.onChange(e.kernel,i)},t)))};return e.source.addEventListener(`change`,i),()=>{n=!0,r!==null&&(clearTimeout(r),r=null),e.source.removeEventListener(`change`,i)}}var $t=`camera.ui:transport:target`,en=3e3;function tn(e){let t=e.key??$t,n=e.onError??(()=>{}),r=e.readyTimeoutMs??en,i=!1,a=null,o,s,c=new Promise(e=>{s=()=>{clearTimeout(o),e()}});r>0&&Number.isFinite(r)&&(o=setTimeout(s,r)),l().then(s,s);async function l(){let r=null;for(let i=0;i<2;i++)try{r=await e.storage.get(t);break}catch(e){n(`get`,e)}if(!i){if(a!==null)e.onRestore?.(a);else if(!r)e.onRestore?.(null);else try{let t=JSON.parse(r);if(!t?.endpoint?.url||!t?.tokens?.access){e.onRestore?.(null);return}a={endpoint:t.endpoint,tokens:t.tokens},e.onRestore?.(a)}catch(t){n(`parse`,t),e.onRestore?.(null)}}}async function u(r){let i={endpoint:r.endpoint,tokens:r.tokens,savedAt:Date.now(),version:1};a={endpoint:r.endpoint,tokens:r.tokens};try{await e.storage.set(t,JSON.stringify(i)),e.onPersist?.(r)}catch(e){n(`set`,e)}}async function d(){a=null;try{await e.storage.del(t),e.onClear?.()}catch(e){n(`del`,e)}}let f=e.kernel.subscribe((e,t)=>{if(i)return;let n=nn(e);if(n&&n!==nn(t)){a&&u({endpoint:a.endpoint,tokens:n});return}let r=e.kind===`online`?e.target:null,o=t.kind===`online`?t.target:null;r&&r!==o?u(r):e.kind===`idle`&&t.kind!==`idle`&&d()});return{detach:()=>{i=!0,s(),f()},ready:c,peek:()=>a,seed:async e=>{i||await u(e)},absorb:e=>{i||(a=e)}}}function nn(e){return e.kind===`discovering`||e.kind===`offline`?e.pendingTokens:void 0}function rn(e){if(!e)try{e=globalThis.localStorage}catch{}return e?{get(t){return e.getItem(t)},set(t,n){e.setItem(t,n)},del(t){e.removeItem(t)}}:an()}function an(e={}){let t=new Map(Object.entries(e));return{get(e){return t.get(e)??null},set(e,n){t.set(e,n)},del(e){t.delete(e)}}}var on=e=>{e.phase.kind===`offline`&&e.dispatch({type:`USER_RETRY`})};function sn(e){let t=e.networkSource===void 0?typeof globalThis<`u`&&`window`in globalThis?globalThis.window:null:e.networkSource,n=e.visibilitySource===void 0?typeof globalThis<`u`&&`document`in globalThis?globalThis.document:null:e.visibilitySource,r=e.onOnline??on,i=e.onOffline,a=[];if(t){let n=()=>r(e.kernel),o=()=>i?.(e.kernel);t.addEventListener(`online`,n),t.addEventListener(`offline`,o),a.push(()=>{t.removeEventListener(`online`,n),t.removeEventListener(`offline`,o)})}if(n&&(e.onVisibilityVisible||e.onVisibilityHidden)){let t=()=>{n.visibilityState===`hidden`?e.onVisibilityHidden?.(e.kernel):e.onVisibilityVisible?.(e.kernel)};n.addEventListener(`visibilitychange`,t),a.push(()=>{n.removeEventListener(`visibilitychange`,t)})}return()=>{for(let e of a)e();a.length=0}}function cn(e,t){let n=Error(t);return n.kind=e,n}function ln(e){return e instanceof Error&&typeof e.kind==`string`}var un=200,dn=3;function fn(e){let t,n=!1,r=0,i;function a(){i!==void 0&&(clearTimeout(i),i=void 0),t&&=(t.abort(),void 0)}async function o(){if(n)return;a();let s=new AbortController;t=s;let c=e.kernel.phase,l=c.kind===`discovering`?c.pendingTokens:void 0,u;try{if(e.onDiscoverStart?.(),u=await e.discover(s.signal),s.signal.aborted)return;e.onDiscoverSuccess?.(u)}catch(t){if(s.signal.aborted)return;e.onDiscoverError?.(t);let n=t instanceof Error?`discover: ${t.message}`:`discover failed`;e.onAllFailed?.(n),e.kernel.dispatch({type:`PROBE_FAILED_ALL`,error:n});return}if(u.length===0){let t=`discover returned empty pool`;e.onAllFailed?.(t),e.kernel.dispatch({type:`PROBE_FAILED_ALL`,error:t});return}if(e.ready&&(await e.ready().catch(()=>void 0),s.signal.aborted))return;let d=e.lastTarget?.()?.tokens,f=u.map(t=>({endpoint:t,run:async n=>{e.onProbeStart?.(t);try{let r=await e.probe({endpoint:t,lastTokens:d,signal:n});return e.onProbeSuccess?.(t,r),r}catch(r){let i=r;throw n.aborted&&!s.signal.aborted&&!ln(r)&&(i=n.reason===`race-settled`?cn(`transient`,`superseded`):cn(`transient`,`timeout (${(e.timeoutByMode??(e=>Bt[e]??5e3))(t.mode)}ms)`)),e.onProbeError?.(t,i),i}}}));try{let{endpoint:t,value:n}=await Ut(f,{timeoutByMode:e.timeoutByMode,parentSignal:s.signal,prefer:e.prefer,preferGraceMs:e.preferGraceMs,shortCircuit:e=>ln(e)&&(e.kind===`needs-auth`||e.kind===`fatal`),informative:e=>!(ln(e)&&e.kind===`aborted`)});if(s.signal.aborted)return;let r=e.kernel.phase,i=r.kind===`discovering`&&r.pendingTokens!==l?r.pendingTokens:void 0,a=n===d&&i?i:n;e.kernel.dispatch({type:`PROBE_SUCCEEDED`,endpoint:t,tokens:a})}catch(t){if(s.signal.aborted)return;let a=t instanceof Ht?t.cause:t,c=ln(a)&&a.kind===`aborted`;if(c&&++r<dn){i=setTimeout(()=>{i=void 0,!n&&e.kernel.phase.kind===`discovering`&&o()},un);return}let l=c?`${a.message} (${r} rounds, certificate blocked?)`:ln(a)&&a.kind===`needs-auth`?`needs-auth`:a instanceof Error?a.message:`all endpoints failed`;e.onAllFailed?.(l),e.kernel.dispatch({type:`PROBE_FAILED_ALL`,error:l})}}let s=e.kernel.subscribe((e,t)=>{e.kind!==t.kind&&(r=0),e.kind===`discovering`&&t.kind!==`discovering`?o():e.kind!==`discovering`&&t.kind===`discovering`&&a()});return e.kernel.phase.kind===`discovering`&&o(),()=>{n=!0,a(),s()}}var pn=5e3,mn=3,hn=2e3,gn=3e4,_n=[1e4,3e4],vn=15e3,yn=5e3,bn=2**31-1;function xn(e){let t=e.graceMs??pn,n=e.maxTransientRetries??mn,r=e.maxServerErrorRetries??n,i=e.transientRetryDelayMs??hn,a=e.minRefreshIntervalMs??gn,o=e.reachableRetryDelaysMs?.length?e.reachableRetryDelaysMs:_n,s=e.lockTimeoutMs??vn,c=Number.isFinite(s)&&s>0,l=e.isTransientError??(()=>!1),u=e.isServerError??(()=>!1),d=e.now??(()=>Date.now()),f=e.setTimer??((e,t)=>setTimeout(e,t)),p=e.clearTimer??(e=>clearTimeout(e)),m,h=null,g=!1,_=0,v=0,y=0,b=!1,x,S,C,w,T=[];function E(){m!==void 0&&(p(m),m=void 0)}function D(e,t){E(),m=f(()=>{m=void 0,P(e)},t)}function O(){return x!==void 0&&d()<x}function k(e){let n=e.accessExpiresAt?e.accessExpiresAt-d():void 0;return n===void 0||n<=t?a:Math.min(a,Math.max(t,n-t))}function A(e){return e.access===S&&O()?!0:e.access===C&&e.refresh?!1:!!e.accessExpiresAt&&e.accessExpiresAt>d()+t}function j(t){let n=e.kernel.phase;return n.kind===`online`&&n.target.tokens.access===t||e.getLatestTokens?.()?.access===t}function M(t){let n=e.acquireRefreshLock;return n?c?new Promise((e,r)=>{let i=new AbortController,a=!0;function o(){a=!1,p(l),w===c&&(w=void 0)}function c(){a&&(o(),i.abort(),e(null))}let l=f(c,Math.min(s,bn));w=c,n(()=>a?(o(),t()):Promise.resolve(null),i.signal).then(e,e=>{o(),r(e)})}):n(t):t()}function N(n){E();let r=n.tokens.accessExpiresAt;if(!r)return;let i=x??0,a=Math.min(Math.max(0,r-d()-t,i-d()),bn);e.onScheduled?.(a,r),m=f(()=>{m=void 0,P(`proactive`)},a)}async function P(t){if(g)return e.onTriggerSkipped?.(t,`detached`,e.kernel.phase.kind),!1;if(h)return t===`auth-error`&&(b=!0),e.onTriggerSkipped?.(t,`already-inflight`,e.kernel.phase.kind),h;let a=e.kernel.phase,c=a.kind===`online`?a.target:null;if(!c)return e.onTriggerSkipped?.(t,`no-target`,a.kind),!1;let f,p=!1,x=!1;h=new Promise(e=>f=e),e.onRefreshStart?.(t);try{let n=await M(async()=>{let n=e.getLatestTokens?.();if(n&&A(n))return e.kernel.dispatch({type:`TOKENS_REFRESHED`,tokens:n}),{tokens:n,skipped:!0};let r=e.kernel.phase,i=(r.kind===`online`?r.target:null)??c,a=n?{...i,tokens:n}:i,o=await e.refresh(a,t);return g||e.kernel.dispatch({type:`TOKENS_REFRESHED`,tokens:o}),{tokens:o,skipped:!1}});if(g)return!1;if(!n){let t=e.getLatestTokens?.();if(!t||!A(t))throw x=!0,Error(`refresh lock not granted within ${s} ms`);e.kernel.dispatch({type:`TOKENS_REFRESHED`,tokens:t}),n={tokens:t,skipped:!0}}_=0,v=0;let r=e.kernel.phase;if(p=r.kind===`online`&&r.target.tokens.access!==c.tokens.access,n.skipped){e.onRefreshSkipped?.(t,n.tokens);let r=e.kernel.phase;r.kind===`online`&&m===void 0&&N(r.target)}else e.onRefreshSuccess?.(t,n.tokens)}catch(a){if(g)return!1;let s=x||l(a),c=s&&u(a),f=c?r:n;if(s&&_<f){_++;let n=f-_;e.onRefreshError?.(t,a,{transient:!0,serverError:c,retriesLeft:n,willRetry:!0}),p=!0,D(t,i)}else if(s&&e.isReachable?.()===!0){let n=o[Math.min(v,o.length-1)];v++,y=d(),e.onRefreshError?.(t,a,{transient:!0,serverError:c,retriesLeft:0,willRetry:!0}),D(t,n)}else _=0,v=0,e.onRefreshError?.(t,a,{transient:s,serverError:c,retriesLeft:0,willRetry:!1}),e.kernel.dispatch({type:`TOKENS_INVALID`,reason:wn(a),transient:s})}finally{h=null,f(p),!g&&b&&(b=!1,F())}return p}function F(){return v>0&&d()-y<yn?(e.onTriggerSkipped?.(`auth-error`,`throttled`,e.kernel.phase.kind),Promise.resolve(!1)):P(`auth-error`)}let I=e.kernel.subscribe((e,t)=>{e.kind===`online`?(t.kind!==`online`||t.target.tokens.access!==e.target.tokens.access)&&(t.kind===`online`&&(x=d()+k(e.target.tokens),S=e.target.tokens.access),_=0,v=0,N(e.target)):(E(),_=0,v=0)});T.push(I);for(let t of e.transports){let e=t.on(`auth-error`,e=>{e.access&&j(e.access)&&(C=e.access);let t=F();e.holdFor?.(t)});T.push(e)}e.kernel.phase.kind===`online`&&N(e.kernel.phase.target);function L(){g=!0,E(),w?.();for(let e of T)e()}function R(){if(g)return;let n=e.kernel.phase,r=n.kind===`online`?n.target:null;if(!r){e.onWakeChecked?.({decision:`no-target`,phase:n.kind});return}let i=r.tokens.accessExpiresAt;if(!i){e.onWakeChecked?.({decision:`no-expiry`,phase:n.kind});return}let a=i-d();a<t&&O()?e.onWakeChecked?.({decision:`throttled`,remainingMs:a,phase:n.kind}):a<t?(e.onWakeChecked?.({decision:`refresh-now`,remainingMs:a,phase:n.kind}),P(`proactive`)):e.onWakeChecked?.({decision:`still-fresh`,remainingMs:a,phase:n.kind})}return{detach:L,wake:R}}function Sn(e,t,n=Date.now()){let r=Cn(e),i=r?.iat,a=r?.exp;return typeof i==`number`&&typeof a==`number`&&a>i?n+(a-i)*1e3:t}function Cn(e){let t=e.split(`.`)[1];if(!t)return null;try{let e=t.replace(/-/g,`+`).replace(/_/g,`/`),n=JSON.parse(atob(e.padEnd(Math.ceil(e.length/4)*4,`=`)));return typeof n==`object`&&n?n:null}catch{return null}}function wn(e){return e instanceof Error?e.message:typeof e==`string`?e:`refresh-failed`}var Tn=Symbol(`transport-sync-skip`),En=2e3;function Dn(e){switch(e.kind){case`idle`:case`offline`:case`needs-auth`:return null;case`online`:return e.target;case`discovering`:return Tn}}function On(e){let t=!1,n=e.retryMs??En,r=new Map,i=new Map,a;function o(t,n){r.set(t,n),t.apply(n).catch(i=>{e.onError?.(t,n,i),!(r.get(t)!==n||At(i))&&(r.delete(t),s(t))})}function s(a){if(t||i.has(a))return;let c=setTimeout(()=>{if(i.delete(a),t)return;let n=Dn(e.kernel.phase);n===Tn?s(a):r.has(a)&&jt(r.get(a),n)||(e.onRetry?.(a,n),o(a,n))},n);i.set(a,c)}function c(n){if(!t){for(let t of e.transports)r.has(t)&&jt(r.get(t),n)||o(t,n);(a===void 0||!jt(a,n))&&(a=n,e.onApplied?.(n))}}function l(e){let t=Dn(e);t!==Tn&&c(t)}l(e.kernel.phase);let u=e.kernel.subscribe(e=>{l(e)});return()=>{t=!0;for(let e of i.values())clearTimeout(e);i.clear(),u()}}var kn=new ct(`workerBridge`);function An(e){let t=0,n=!1,r=new Map;function i(n){return t++,{type:`kernel-sync`,generation:t,phase:n,resolver:e.resolveServers!==void 0}}function a(r){if(n)return;let a=i(r),o=0,s=new Set;for(let t of e.hosts()){s.add(t);try{t.postMessage(a),o++,c(t)}catch(e){kn.warn(`broadcast postMessage failed`,{gen:a.generation,phase:r.kind,err:e})}}u(s),e.onBroadcast?.(t,o)}function o(r){if(n)return;let a=i(e.kernel.phase);try{r.postMessage(a),c(r),e.onSyncHost?.(t)}catch(e){kn.warn(`syncOne postMessage failed`,{gen:a.generation,err:e})}}async function s(t,n){let r=e=>{try{t.postMessage({type:`kernel-resolve-reply`,id:n.id,...e})}catch(e){kn.warn(`resolve reply postMessage failed`,e)}};if(!e.resolveServers){r({servers:[...n.defaultServers]});return}let i=e.kernel.phase;if(i.kind!==`online`)r({error:`kernel ${i.kind}`});else try{r({servers:await e.resolveServers({target:i.target,connId:n.connId,defaultServers:n.defaultServers})})}catch(e){r({error:e instanceof Error?e.message:String(e)})}}function c(t){if(!e.listenForResyncRequests&&!e.resolveServers||!t.addEventListener||r.has(t))return;let i=r=>{if(n)return;let i=r.data;i?.type===`kernel-sync-request`&&e.listenForResyncRequests?o(t):i?.type===`kernel-resolve-request`&&s(t,i)};t.addEventListener(`message`,i),r.set(t,()=>{t.removeEventListener?.(`message`,i)})}function l(e){r.get(e)?.(),r.delete(e)}function u(e){for(let t of r.keys())e.has(t)||l(t)}let d=e.kernel.subscribe(e=>{a(e)});return{detach(){n=!0,d();for(let e of r.values())e();r.clear()},syncHost(e){o(e)},syncAll(){a(e.kernel.phase)},revalidateWorkers(){if(n)return;let t=new Set;for(let n of e.hosts()){t.add(n);try{n.postMessage({type:`kernel-revalidate`}),c(n)}catch(e){kn.warn(`revalidate postMessage failed`,e)}}u(t)},forgetHost:l}}var jn=1e3,Mn=300;function Nn(e){if(e==null)return;let t;if(typeof e==`string`)t=e;else if(e instanceof Error)t=e.message;else try{t=JSON.stringify(e)}catch{t=String(e)}return t.length>Mn?`${t.slice(0,Mn)}…`:t}function Pn(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}.${String(t.getMilliseconds()).padStart(3,`0`)}`}function Fn(e={}){let t=e.capacity??jn,n=e.now??(()=>Date.now()),r=[],i=new Set,a=0,o=0;function s(e,s,c){let l={seq:o++,t:n(),scope:e,msg:s,detail:Nn(c)};r.length<t?r.push(l):(r[a]=l,a=(a+1)%t);for(let e of[...i])try{e(l)}catch{}}function c(){return[...r.slice(a),...r.slice(0,a)]}function l(){r.length=0,a=0}function u(e){return i.add(e),()=>{i.delete(e)}}function d(){let e=c();return[`connection journal — exported ${new Date(n()).toISOString()} (${e.length} entries)`,...e.map(e=>{let t=e.detail?` — ${e.detail}`:``;return`${Pn(e.t)} [${e.scope}] ${e.msg}${t}`})].join(`
4
+ `)}return{record:s,list:c,clear:l,subscribe:u,exportText:d}}var In=1500,Ln=15e3;function Rn(e,t){return e.kind===t.kind?e.kind===`degraded`&&t.kind===`degraded`?e.reason===t.reason&&e.channels.join(`,`)===t.channels.join(`,`):e.kind===`offline`&&t.kind===`offline`?e.retryAt===t.retryAt:!0:!1}function zn(e){let t=e.debounceMs??In,n=e.firstConnectTimeoutMs??Ln,r=new Set,i=[],a=!1,o=!1,s=!1,c=null,l=null,u=null,d=!1;function f(){let t=e.kernel.phase;switch(t.kind){case`idle`:return{kind:`connecting`};case`needs-auth`:return{kind:`needs-auth`};case`offline`:return{kind:`offline`,retryAt:t.nextRetryAt};case`discovering`:return a?{kind:`offline`}:{kind:`connecting`};case`online`:{let t=e.transports.filter(e=>e.spec.phaseGating&&!e.health().up).map(e=>e.spec.id);return t.length===0?{kind:`online`}:o?{kind:`degraded`,channels:t}:s?{kind:`degraded`,channels:t,reason:`first-connect`}:{kind:`connecting`}}}}let p=f();function m(){c!==null&&(clearTimeout(c),c=null)}function h(){e.kernel.phase.kind!==`online`||o?(m(),s=!1):c===null&&!s&&n>0&&Number.isFinite(n)&&(c=setTimeout(()=>{c=null,s=!0,_(f())},n))}function g(){l!==null&&(clearTimeout(l),l=null,u=null)}function _(e){if(g(),!Rn(p,e)){p=e;for(let t of[...r])try{t(e)}catch{}}}function v(){if(d)return;let e=f();Rn(p,e)?g():e.kind===`online`||e.kind===`connecting`||e.kind===`needs-auth`?_(e):u&&u.kind===e.kind?u=e:(g(),u=e,l=setTimeout(()=>{l=null,u=null,_(f())},t))}i.push(e.kernel.subscribe(e=>{e.kind===`online`?a=!0:e.kind===`idle`&&(a=!1,o=!1),h(),v()}));for(let t of e.transports)i.push(t.on(`up`,()=>{o=!0,h(),v()})),i.push(t.on(`down`,()=>v()));return h(),{get current(){return p},raw:()=>f(),recompute:v,subscribe(e){return r.add(e),()=>r.delete(e)},dispose(){d=!0,g(),m();for(let e of i)e();r.clear()}}}var Bn=[`motion`,`audio`,`contact`,`doorbell`,`switch`,`light`,`siren`,`security_system`,`line-crossing`,`occupancy`,`smoke`,`leak`,`gas`,`carbonMonoxide`,`heat`,`cold`,`vibration`,`tamper`,`problem`,`power`,`lock`,`garage`],Vn;(function(e){e.FINISH_LAUNCHING=`finishLaunching`,e.SHUTDOWN=`shutdown`})(Vn||={});var Hn;(function(e){e.Hub=`hub`,e.SensorProvider=`sensorProvider`,e.CameraController=`cameraController`,e.CameraAndSensorProvider=`cameraAndSensorProvider`,e.Service=`service`})(Hn||={});var Un;(function(e){e.MotionDetection=`MotionDetection`,e.ObjectDetection=`ObjectDetection`,e.AudioDetection=`AudioDetection`,e.FaceDetection=`FaceDetection`,e.LicensePlateDetection=`LicensePlateDetection`,e.ClassifierDetection=`ClassifierDetection`,e.ClipDetection=`ClipDetection`,e.FaceEmbedding=`FaceEmbedding`,e.PersonEmbedding=`PersonEmbedding`,e.Segmentation=`Segmentation`,e.DiscoveryProvider=`DiscoveryProvider`,e.SensorDiscovery=`SensorDiscovery`,e.NVR=`NVR`,e.Notifier=`Notifier`,e.OAuthCapable=`OAuthCapable`,e.OAuthDeviceFlow=`OAuthDeviceFlow`,e.OAuthAuthCodeFlow=`OAuthAuthCodeFlow`,e.OAuthClientCredentials=`OAuthClientCredentials`,e.AssistantTools=`AssistantTools`,e.AssistantModels=`AssistantModels`})(Un||={});var Wn;(function(e){e.PublishNotifications=`publishNotifications`})(Wn||={});var Q;(function(e){e.Motion=`motion`,e.Object=`object`,e.Audio=`audio`,e.Face=`face`,e.FaceEmbedder=`faceEmbedder`,e.PersonEmbedder=`personEmbedder`,e.Segmenter=`segmenter`,e.LicensePlate=`licensePlate`,e.Classifier=`classifier`,e.Clip=`clip`,e.ObjectAssist=`objectAssist`,e.Contact=`contact`,e.Temperature=`temperature`,e.Humidity=`humidity`,e.Occupancy=`occupancy`,e.Smoke=`smoke`,e.Leak=`leak`,e.Gas=`gas`,e.CarbonMonoxide=`carbonMonoxide`,e.Heat=`heat`,e.Cold=`cold`,e.Vibration=`vibration`,e.Tamper=`tamper`,e.Problem=`problem`,e.Power=`power`,e.Illuminance=`illuminance`,e.CarbonDioxide=`carbonDioxide`,e.Light=`light`,e.Siren=`siren`,e.Switch=`switch`,e.Lock=`lock`,e.PTZ=`ptz`,e.SecuritySystem=`securitySystem`,e.Garage=`garage`,e.Doorbell=`doorbell`,e.Battery=`battery`})(Q||={});var $;(function(e){e.Sensor=`sensor`,e.Control=`control`,e.Trigger=`trigger`,e.Info=`info`})($||={});function Gn(e){return e.role===Hn.Hub}function Kn(e){return e.role===Hn.CameraController||e.role===Hn.CameraAndSensorProvider}function qn(e){return e.role===Hn.SensorProvider||e.role===Hn.CameraAndSensorProvider}function Jn(e,t){return e.interfaces.includes(t)}var Yn;(function(e){e.Info=`info`,e.Warn=`warn`,e.Error=`error`,e.Critical=`critical`})(Yn||={});var Xn;(function(e){e.Binary=`binary`,e.Measurement=`measurement`,e.Switch=`switch`,e.Light=`light`,e.Siren=`siren`,e.Lock=`lock`,e.Cover=`cover`,e.Alarm=`alarm`})(Xn||={});function Zn(e){return e}var Qn=[`doorbell`,`glass_break`,`siren`,`speaking`,`gunshot`,`dog_bark`,`baby_cry`,`alarm`,`scream`,`cat`,`car_alarm`,`smoke_alarm`],$n;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Decibels=`decibels`,e.LastTriggered=`lastTriggered`})($n||={});var er=Zn({type:Q.Audio,category:$.Sensor,assignmentKey:`audio`,multiProvider:!1,isDetectionType:!0,properties:{[$n.Detected]:{type:`boolean`},[$n.Detections]:{type:`object`,internal:!0},[$n.Decibels]:{type:`number`,unit:`dB`},[$n.LastTriggered]:{type:`number`,internal:!0}},semantics:null}),tr;(function(e){e.LowBattery=`lowBattery`,e.Charging=`charging`})(tr||={});var nr;(function(e){e.Level=`level`,e.Charging=`charging`,e.Low=`low`})(nr||={});var rr;(function(e){e.NotChargeable=`NOT_CHARGEABLE`,e.NotCharging=`NOT_CHARGING`,e.Charging=`CHARGING`,e.Full=`FULL`})(rr||={});var ir=Zn({type:Q.Battery,category:$.Info,assignmentKey:`battery`,multiProvider:!1,isDetectionType:!1,cameraBound:!0,properties:{[nr.Level]:{type:`number`,min:0,max:100,unit:`%`},[nr.Charging]:{type:`enum`,values:{not_chargeable:rr.NotChargeable,not_charging:rr.NotCharging,charging:rr.Charging,full:rr.Full}},[nr.Low]:{type:`boolean`}},shortcutable:!0,propertyCapabilities:{[nr.Charging]:tr.Charging,[nr.Low]:tr.LowBattery},semantics:{domain:Xn.Measurement,stateProperty:nr.Level,commandProperty:nr.Level,deviceClass:`battery`,unit:`%`,diagnostic:!0}}),ar;(function(e){e.Current=`current`})(ar||={});var or=Zn({type:Q.CarbonDioxide,category:$.Info,assignmentKey:`carbonDioxide`,multiProvider:!0,isDetectionType:!1,properties:{[ar.Current]:{type:`number`,unit:`ppm`,writable:!0}},shortcutable:!0,virtual:{properties:{[ar.Current]:20}},semantics:{domain:Xn.Measurement,stateProperty:ar.Current,commandProperty:ar.Current,deviceClass:`carbon_dioxide`,unit:`ppm`}}),sr;(function(e){e.Detected=`detected`})(sr||={});var cr=Zn({type:Q.CarbonMonoxide,category:$.Sensor,assignmentKey:`carbonMonoxide`,multiProvider:!0,isDetectionType:!1,properties:{[sr.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:sr.Detected,value:!0,sustained:!0},virtual:{properties:{[sr.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:sr.Detected,commandProperty:sr.Detected,deviceClass:`carbon_monoxide`}}),lr;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Labels=`labels`})(lr||={});var ur=Zn({type:Q.Classifier,category:$.Sensor,assignmentKey:`classifier`,multiProvider:!0,isDetectionType:!0,properties:{[lr.Detected]:{type:`boolean`},[lr.Detections]:{type:`object`,internal:!0},[lr.Labels]:{type:`object`}},semantics:null}),dr=Zn({type:Q.Clip,category:$.Sensor,assignmentKey:`clip`,multiProvider:!1,isDetectionType:!0,properties:{},semantics:null}),fr;(function(e){e.Detected=`detected`})(fr||={});var pr=Zn({type:Q.Cold,category:$.Sensor,assignmentKey:`cold`,multiProvider:!0,isDetectionType:!1,properties:{[fr.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:fr.Detected,value:!0,sustained:!0},virtual:{properties:{[fr.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:fr.Detected,commandProperty:fr.Detected,deviceClass:`cold`}}),mr;(function(e){e.Detected=`detected`})(mr||={});var hr=Zn({type:Q.Contact,category:$.Sensor,assignmentKey:`contact`,multiProvider:!0,isDetectionType:!1,properties:{[mr.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:mr.Detected,value:!0,sustained:!0},virtual:{properties:{[mr.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:mr.Detected,commandProperty:mr.Detected,deviceClass:`opening`}}),gr=[`person`,`vehicle`,`animal`],_r=[`motion`,...gr,`audio`],vr=[`face`,`license_plate`],yr;(function(e){e.Ring=`ring`})(yr||={});var br=Zn({type:Q.Doorbell,category:$.Trigger,assignmentKey:`doorbell`,multiProvider:!0,isDetectionType:!1,properties:{[yr.Ring]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:yr.Ring,value:!0,sustained:!1},virtual:{properties:{[yr.Ring]:!1}},semantics:{domain:Xn.Binary,stateProperty:yr.Ring,commandProperty:yr.Ring,icon:`mdi:doorbell`}}),xr;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Identities=`identities`})(xr||={});var Sr=Zn({type:Q.Face,category:$.Sensor,assignmentKey:`face`,multiProvider:!1,isDetectionType:!0,properties:{[xr.Detected]:{type:`boolean`},[xr.Detections]:{type:`object`,internal:!0},[xr.Identities]:{type:`object`}},semantics:null}),Cr=Zn({type:Q.FaceEmbedder,category:$.Sensor,assignmentKey:`faceEmbedder`,multiProvider:!1,isDetectionType:!0,properties:{},semantics:null}),wr;(function(e){e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e[e.Opening=2]=`Opening`,e[e.Closing=3]=`Closing`,e[e.Stopped=4]=`Stopped`})(wr||={});var Tr;(function(e){e.CurrentState=`currentState`,e.TargetState=`targetState`,e.ObstructionDetected=`obstructionDetected`})(Tr||={});var Er=Zn({type:Q.Garage,category:$.Control,assignmentKey:`garage`,multiProvider:!0,isDetectionType:!1,properties:{[Tr.CurrentState]:{type:`enum`,values:{open:wr.Open,closed:wr.Closed,opening:wr.Opening,closing:wr.Closing,stopped:wr.Stopped}},[Tr.TargetState]:{type:`enum`,values:{open:wr.Open,closed:wr.Closed},writable:!0},[Tr.ObstructionDetected]:{type:`boolean`}},shortcutable:!0,cascadeTrigger:{property:Tr.CurrentState,value:0,sustained:!0},virtual:{properties:{[Tr.CurrentState]:1,[Tr.TargetState]:1}},semantics:{domain:Xn.Cover,stateProperty:Tr.CurrentState,commandProperty:Tr.TargetState,deviceClass:`garage`,states:{open:wr.Open,closed:wr.Closed,opening:wr.Opening,closing:wr.Closing,stopped:wr.Stopped}}}),Dr;(function(e){e.Detected=`detected`})(Dr||={});var Or=Zn({type:Q.Gas,category:$.Sensor,assignmentKey:`gas`,multiProvider:!0,isDetectionType:!1,properties:{[Dr.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:Dr.Detected,value:!0,sustained:!0},virtual:{properties:{[Dr.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:Dr.Detected,commandProperty:Dr.Detected,deviceClass:`gas`}}),kr;(function(e){e.Detected=`detected`})(kr||={});var Ar=Zn({type:Q.Heat,category:$.Sensor,assignmentKey:`heat`,multiProvider:!0,isDetectionType:!1,properties:{[kr.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:kr.Detected,value:!0,sustained:!0},virtual:{properties:{[kr.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:kr.Detected,commandProperty:kr.Detected,deviceClass:`heat`}}),jr;(function(e){e.Current=`current`})(jr||={});var Mr=Zn({type:Q.Humidity,category:$.Info,assignmentKey:`humidity`,multiProvider:!0,isDetectionType:!1,properties:{[jr.Current]:{type:`number`,min:0,max:100,unit:`%`,writable:!0}},shortcutable:!0,virtual:{properties:{[jr.Current]:50}},semantics:{domain:Xn.Measurement,stateProperty:jr.Current,commandProperty:jr.Current,deviceClass:`humidity`,unit:`%`}}),Nr;(function(e){e.Current=`current`})(Nr||={});var Pr=Zn({type:Q.Illuminance,category:$.Info,assignmentKey:`illuminance`,multiProvider:!0,isDetectionType:!1,properties:{[Nr.Current]:{type:`number`,unit:`lx`,writable:!0}},shortcutable:!0,virtual:{properties:{[Nr.Current]:20}},semantics:{domain:Xn.Measurement,stateProperty:Nr.Current,commandProperty:Nr.Current,deviceClass:`illuminance`,unit:`lx`}}),Fr;(function(e){e.Detected=`detected`})(Fr||={});var Ir=Zn({type:Q.Leak,category:$.Sensor,assignmentKey:`leak`,multiProvider:!0,isDetectionType:!1,properties:{[Fr.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:Fr.Detected,value:!0,sustained:!0},virtual:{properties:{[Fr.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:Fr.Detected,commandProperty:Fr.Detected,deviceClass:`moisture`}}),Lr;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Plates=`plates`})(Lr||={});var Rr=Zn({type:Q.LicensePlate,category:$.Sensor,assignmentKey:`licensePlate`,multiProvider:!1,isDetectionType:!0,properties:{[Lr.Detected]:{type:`boolean`},[Lr.Detections]:{type:`object`,internal:!0},[Lr.Plates]:{type:`object`}},semantics:null}),zr;(function(e){e.Brightness=`brightness`})(zr||={});var Br;(function(e){e.On=`on`,e.Brightness=`brightness`})(Br||={});var Vr=Zn({type:Q.Light,category:$.Control,assignmentKey:`light`,multiProvider:!0,isDetectionType:!1,properties:{[Br.On]:{type:`boolean`,writable:!0},[Br.Brightness]:{type:`number`,min:0,max:100,unit:`%`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:Br.On,value:!0,sustained:!0},propertyCapabilities:{[Br.Brightness]:zr.Brightness},virtual:{properties:{[Br.On]:!1,[Br.Brightness]:100},capabilities:[zr.Brightness]},semantics:{domain:Xn.Light,stateProperty:Br.On,commandProperty:Br.On}}),Hr;(function(e){e[e.Secured=0]=`Secured`,e[e.Unsecured=1]=`Unsecured`,e[e.Unknown=2]=`Unknown`})(Hr||={});var Ur;(function(e){e.CurrentState=`currentState`,e.TargetState=`targetState`})(Ur||={});var Wr=Zn({type:Q.Lock,category:$.Control,assignmentKey:`lock`,multiProvider:!0,isDetectionType:!1,properties:{[Ur.CurrentState]:{type:`enum`,values:{secured:Hr.Secured,unsecured:Hr.Unsecured,unknown:Hr.Unknown}},[Ur.TargetState]:{type:`enum`,values:{secured:Hr.Secured,unsecured:Hr.Unsecured},writable:!0}},shortcutable:!0,cascadeTrigger:{property:Ur.CurrentState,value:1,sustained:!0},virtual:{properties:{[Ur.CurrentState]:0,[Ur.TargetState]:0}},semantics:{domain:Xn.Lock,stateProperty:Ur.CurrentState,commandProperty:Ur.TargetState,states:{locked:Hr.Secured,unlocked:Hr.Unsecured}}}),Gr;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Blocked=`blocked`,e.LastTriggered=`lastTriggered`})(Gr||={});var Kr=Zn({type:Q.Motion,category:$.Sensor,assignmentKey:`motion`,multiProvider:!1,isDetectionType:!0,properties:{[Gr.Detected]:{type:`boolean`},[Gr.Detections]:{type:`object`,internal:!0},[Gr.Blocked]:{type:`boolean`,internal:!0},[Gr.LastTriggered]:{type:`number`,internal:!0}},semantics:null}),qr;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Labels=`labels`,e.StaticDetections=`staticDetections`})(qr||={});var Jr=Zn({type:Q.Object,category:$.Sensor,assignmentKey:`object`,multiProvider:!1,isDetectionType:!0,properties:{[qr.Detected]:{type:`boolean`},[qr.Detections]:{type:`object`,internal:!0},[qr.Labels]:{type:`object`},[qr.StaticDetections]:{type:`object`,internal:!0}},semantics:null}),Yr=Zn({type:Q.ObjectAssist,category:$.Sensor,assignmentKey:`objectAssist`,multiProvider:!1,isDetectionType:!0,properties:{},semantics:null}),Xr;(function(e){e.Detected=`detected`})(Xr||={});var Zr=Zn({type:Q.Occupancy,category:$.Sensor,assignmentKey:`occupancy`,multiProvider:!0,isDetectionType:!1,properties:{[Xr.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:Xr.Detected,value:!0,sustained:!0},virtual:{properties:{[Xr.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:Xr.Detected,commandProperty:Xr.Detected,deviceClass:`occupancy`}}),Qr=Zn({type:Q.PersonEmbedder,category:$.Sensor,assignmentKey:`personEmbedder`,multiProvider:!1,isDetectionType:!0,properties:{},semantics:null}),$r;(function(e){e.Detected=`detected`})($r||={});var ei=Zn({type:Q.Power,category:$.Sensor,assignmentKey:`power`,multiProvider:!0,isDetectionType:!1,properties:{[$r.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:$r.Detected,value:!0,sustained:!0},virtual:{properties:{[$r.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:$r.Detected,commandProperty:$r.Detected,deviceClass:`power`}}),ti;(function(e){e.Detected=`detected`})(ti||={});var ni=Zn({type:Q.Problem,category:$.Sensor,assignmentKey:`problem`,multiProvider:!0,isDetectionType:!1,properties:{[ti.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:ti.Detected,value:!0,sustained:!0},virtual:{properties:{[ti.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:ti.Detected,commandProperty:ti.Detected,deviceClass:`problem`}}),ri;(function(e){e.Pan=`pan`,e.Tilt=`tilt`,e.Zoom=`zoom`,e.Presets=`presets`,e.Home=`home`,e.RelativeMove=`relativeMove`,e.AbsolutePosition=`absolutePosition`,e.VelocityControl=`velocityControl`})(ri||={});var ii;(function(e){e.Position=`position`,e.Moving=`moving`,e.Presets=`presets`,e.Velocity=`velocity`,e.TargetPreset=`targetPreset`,e.RelativeMove=`relativeMove`,e.Home=`home`})(ii||={});var ai=Zn({type:Q.PTZ,category:$.Control,assignmentKey:`ptz`,multiProvider:!1,isDetectionType:!1,cameraBound:!0,properties:{[ii.Position]:{type:`object`,writable:!0,keys:[`pan`,`tilt`,`zoom`]},[ii.Moving]:{type:`boolean`},[ii.Presets]:{type:`object`},[ii.Velocity]:{type:`object`,writable:!0,internal:!0},[ii.TargetPreset]:{type:`string`,writable:!0},[ii.RelativeMove]:{type:`object`,writable:!0,internal:!0},[ii.Home]:{type:`boolean`,writable:!0,internal:!0}},semantics:null}),oi;(function(e){e[e.StayArm=0]=`StayArm`,e[e.AwayArm=1]=`AwayArm`,e[e.NightArm=2]=`NightArm`,e[e.Disarmed=3]=`Disarmed`,e[e.AlarmTriggered=4]=`AlarmTriggered`})(oi||={});var si;(function(e){e.CurrentState=`currentState`,e.TargetState=`targetState`})(si||={});var ci=Zn({type:Q.SecuritySystem,category:$.Control,assignmentKey:`securitySystem`,multiProvider:!0,isDetectionType:!1,properties:{[si.CurrentState]:{type:`enum`,values:{stay_arm:oi.StayArm,away_arm:oi.AwayArm,night_arm:oi.NightArm,disarmed:oi.Disarmed,alarm_triggered:oi.AlarmTriggered}},[si.TargetState]:{type:`enum`,values:{stay_arm:oi.StayArm,away_arm:oi.AwayArm,night_arm:oi.NightArm,disarmed:oi.Disarmed},writable:!0}},shortcutable:!0,cascadeTrigger:{property:si.CurrentState,value:4,sustained:!0},virtual:{properties:{[si.CurrentState]:3,[si.TargetState]:3}},semantics:{domain:Xn.Alarm,stateProperty:si.CurrentState,commandProperty:si.TargetState,states:{armed_home:oi.StayArm,armed_away:oi.AwayArm,armed_night:oi.NightArm,disarmed:oi.Disarmed,triggered:oi.AlarmTriggered}}}),li=Zn({type:Q.Segmenter,category:$.Sensor,assignmentKey:`segmenter`,multiProvider:!1,isDetectionType:!0,properties:{},semantics:null}),ui;(function(e){e.Volume=`volume`})(ui||={});var di;(function(e){e.Active=`active`,e.Volume=`volume`})(di||={});var fi=Zn({type:Q.Siren,category:$.Control,assignmentKey:`siren`,multiProvider:!0,isDetectionType:!1,properties:{[di.Active]:{type:`boolean`,writable:!0},[di.Volume]:{type:`number`,min:0,max:100,unit:`%`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:di.Active,value:!0,sustained:!0},propertyCapabilities:{[di.Volume]:ui.Volume},virtual:{properties:{[di.Active]:!1,[di.Volume]:100},capabilities:[ui.Volume]},semantics:{domain:Xn.Siren,stateProperty:di.Active,commandProperty:di.Active}}),pi;(function(e){e.Detected=`detected`})(pi||={});var mi=Zn({type:Q.Smoke,category:$.Sensor,assignmentKey:`smoke`,multiProvider:!0,isDetectionType:!1,properties:{[pi.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:pi.Detected,value:!0,sustained:!0},virtual:{properties:{[pi.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:pi.Detected,commandProperty:pi.Detected,deviceClass:`smoke`}}),hi;(function(e){e.On=`on`})(hi||={});var gi=Zn({type:Q.Switch,category:$.Control,assignmentKey:`switch`,multiProvider:!0,isDetectionType:!1,properties:{[hi.On]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:hi.On,value:!0,sustained:!0},virtual:{properties:{[hi.On]:!1}},semantics:{domain:Xn.Switch,stateProperty:hi.On,commandProperty:hi.On}}),_i;(function(e){e.Detected=`detected`})(_i||={});var vi=Zn({type:Q.Tamper,category:$.Sensor,assignmentKey:`tamper`,multiProvider:!0,isDetectionType:!1,properties:{[_i.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:_i.Detected,value:!0,sustained:!0},virtual:{properties:{[_i.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:_i.Detected,commandProperty:_i.Detected,deviceClass:`tamper`}}),yi;(function(e){e.Current=`current`})(yi||={});var bi=Zn({type:Q.Temperature,category:$.Info,assignmentKey:`temperature`,multiProvider:!0,isDetectionType:!1,properties:{[yi.Current]:{type:`number`,unit:`°C`,writable:!0}},shortcutable:!0,virtual:{properties:{[yi.Current]:20}},semantics:{domain:Xn.Measurement,stateProperty:yi.Current,commandProperty:yi.Current,deviceClass:`temperature`,unit:`°C`}}),xi;(function(e){e.Detected=`detected`})(xi||={});var Si=[er,ir,or,cr,ur,dr,pr,hr,br,Sr,Cr,Er,Or,Ar,Mr,Pr,Ir,Rr,Vr,Wr,Kr,Jr,Yr,Zr,Qr,ei,ni,ai,ci,li,fi,mi,gi,vi,bi,Zn({type:Q.Vibration,category:$.Sensor,assignmentKey:`vibration`,multiProvider:!0,isDetectionType:!1,properties:{[xi.Detected]:{type:`boolean`,writable:!0}},shortcutable:!0,cascadeTrigger:{property:xi.Detected,value:!0,sustained:!0},virtual:{properties:{[xi.Detected]:!1}},semantics:{domain:Xn.Binary,stateProperty:xi.Detected,commandProperty:xi.Detected,deviceClass:`vibration`}})],Ci=he(),wi=new _e({useRecords:!1,bundleStrings:!1,int64AsType:`number`}),Ti=new fe({useRecords:!1,bundleStrings:!1,int64AsType:`number`});function Ei(e){return wi.pack(e)}function Di(e){return Ti.unpack(e)}var Oi=[67,85,73,66],ki=typeof Buffer<`u`,Ai=8,ji=`__cui_bin__`;function Mi(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ni(e){return e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Pi(e){if(ArrayBuffer.isView(e))return e.byteLength>=16384?Ni(e):void 0;if(e instanceof ArrayBuffer)return e.byteLength>=16384?new Uint8Array(e):void 0}function Fi(e,t){if(Array.isArray(e)){let n;for(let r=0;r<e.length;r++){let i=e[r];if(typeof i!=`object`||!i)continue;let a=Fi(i,t);a!==i&&(n??=e.slice(),n[r]=a)}return n??e}let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null){let n=e,r;for(let e in n){let i=n[e];if(typeof i!=`object`||!i||!Object.hasOwn(n,e))continue;let a=Fi(i,t);a!==i&&(r??={...n},r[e]=a)}return r??e}let r=Pi(e);if(r){let e=t.length;return t.push(r),{[ji]:e,l:r.byteLength}}return ArrayBuffer.isView(e)&&!(e instanceof Uint8Array)?Ni(e):e}function Ii(e){if(!Mi(e))return!1;let t=e[ji],n=e.l;return!Number.isInteger(t)||t<0||!Number.isInteger(n)||n<0?!1:Object.keys(e).length===2}function Li(e,t,n){if(Array.isArray(e)){for(let r=0;r<e.length;r++){let i=e[r];typeof i==`object`&&i&&(e[r]=Li(i,t,n))}return e}if(e[ji]!==void 0&&Ii(e)){if(n.outOfOrder||e[ji]!==n.next)return n.outOfOrder=!0,e;let r=e.l,i=n.offset+r;if(i>t.byteLength)throw Error(`Invalid CUIB frame: segment ${n.next} exceeds payload size ${t.byteLength}`);let a=t.subarray(n.offset,i);return n.offset=i,n.next++,a}if(Mi(e))for(let r in e){let i=e[r];typeof i==`object`&&i&&Object.hasOwn(e,r)&&(e[r]=Li(i,t,n))}return e}function Ri(e,t){if(Ii(e))t[e[ji]]=e.l;else if(Array.isArray(e))for(let n of e)Ri(n,t);else if(Mi(e))for(let n of Object.keys(e))Ri(e[n],t)}function zi(e,t){if(Ii(e))return t[e[ji]];if(Array.isArray(e)){for(let n=0;n<e.length;n++)e[n]=zi(e[n],t);return e}if(Mi(e)){for(let n of Object.keys(e))e[n]=zi(e[n],t);return e}return e}function Bi(e,t,n){let r=[];Ri(e,r);let i=Array(r.length),a=n.offset;for(let e=n.next;e<r.length;e++){let n=r[e];if(n===void 0)throw Error(`Invalid CUIB frame: missing placeholder for segment ${e}`);if(a+n>t.byteLength)throw Error(`Invalid CUIB frame: segment ${e} exceeds payload size ${t.byteLength}`);i[e]=t.subarray(a,a+n),a+=n}return n.offset=a,zi(e,i)}function Vi(e){let t=Ui(e);return t instanceof Uint8Array?t:Hi(t)}function Hi(e){let t=typeof Buffer<`u`?Buffer.allocUnsafe(e.size):new Uint8Array(e.size);return Wi(e,t,0),t}function Ui(e){if(typeof e!=`object`||!e)return wi.pack(e);let t=[],n=Fi(e,t);if(t.length===0)return wi.pack(n);let r=wi.pack(n),i=Ai+r.byteLength;for(let e of t)i+=e.byteLength;return{envelope:r,segments:t,size:i}}function Wi(e,t,n){let r=Ki(e,t,n);for(let n of e.segments)t.set(n,r),r+=n.byteLength}function Gi(e){return Ai+e.envelope.byteLength}function Ki(e,t,n){let r=e.envelope.byteLength;return t[n]=Oi[0],t[n+1]=Oi[1],t[n+2]=Oi[2],t[n+3]=Oi[3],t[n+4]=r&255,t[n+5]=r>>>8&255,t[n+6]=r>>>16&255,t[n+7]=r>>>24&255,t.set(e.envelope,n+Ai),n+Ai+r}function qi(e){if(ki&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),e.byteLength<Ai||e[0]!==Oi[0]||e[1]!==Oi[1]||e[2]!==Oi[2]||e[3]!==Oi[3])return Ti.unpack(e);let t=(e[4]|e[5]<<8|e[6]<<16)+e[7]*16777216,n=Ai+t;if(n>e.byteLength)throw Error(`Invalid CUIB frame: envelope length ${t} exceeds payload size ${e.byteLength}`);let r=Ti.unpack(e.subarray(Ai,n)),i={offset:n,next:0,outOfOrder:!1};if(typeof r==`object`&&r&&(r=Li(r,e,i)),i.outOfOrder&&(r=Bi(r,e,i)),i.offset!==e.byteLength)throw Error(`Invalid CUIB frame: expected payload size ${i.offset}, got ${e.byteLength}`);return r}var Ji=1073741824,Yi=67108864,Xi=32,Zi=3e4,Qi=class{limit;used=0;constructor(e){this.limit=e&&e>0?e:Ji}get inUse(){return this.used}reserve(e){return this.used+e>this.limit?!1:(this.used+=e,!0)}release(e){this.used=Math.max(0,this.used-e)}};function*$i(e,t,n){let r=e.length,i=Math.ceil(r/n);for(let a=0;a<i;a++){let o=a*n,s=Math.min(o+n,r),c=e.subarray(o,s);yield{id:t,chunkIndex:a,data:c,isLast:a===i-1}}}var ea=class{id;totalSize;budget;buffer;receivedChunks=new Set;totalChunks=0;chunkSize=0;reserved=0;constructor(e,t,n,r,i){this.id=e,this.totalSize=t,this.budget=i,this.totalChunks=n,this.chunkSize=r??Math.ceil(t/n)}addChunk(e){let t=this.checkChunk(e);if(t)throw Error(t);return!this.receivedChunks.has(e.chunkIndex)&&(this.buffer??=this.allocate(),this.buffer.set(e.data,e.chunkIndex*this.chunkSize),this.receivedChunks.add(e.chunkIndex),this.isComplete())}checkChunk(e){if(e.id!==this.id)return`Chunk ID mismatch: expected ${this.id}, got ${e.id}`;let t=e.chunkIndex;if(!Number.isInteger(t)||t<0||t>=this.totalChunks)return`Invalid chunk index ${t} for ${this.totalChunks} chunks`;let n=t===this.totalChunks-1?this.totalSize-t*this.chunkSize:this.chunkSize;if(e.data.length!==n)return`Invalid length ${e.data.length} for chunk ${t}, expected ${n}`}isComplete(){return this.receivedChunks.size===this.totalChunks}getData(){if(!this.isComplete())throw Error(`Not all chunks received`);return qi(this.buffer??new Uint8Array(this.totalSize))}release(){this.reserved>0&&(this.budget?.release(this.reserved),this.reserved=0)}getProgress(){let e=this.receivedChunks.size,t=this.totalChunks;return{received:e,total:t,percentage:t>0?e/t*100:0}}allocate(){if(this.budget){if(!this.budget.reserve(this.totalSize))throw Error(`Transfers in progress would hold more than ${this.budget.limit} bytes`);this.reserved=this.totalSize}return new Uint8Array(this.totalSize)}},ta=class{maxTransfers;transfers=new Map;sweepTimer;maxTransferSize;budget;constructor(e,t=Xi,n){this.maxTransfers=t,this.maxTransferSize=e&&e>0?e:Ji,this.budget=n??new Qi(this.maxTransferSize)}startReceiving(e,t,n,r,i,a){let o=this.checkHeader(t,i,a);if(o){r(Error(`Invalid chunk header: ${o}`));return}if(!this.transfers.has(e)&&this.transfers.size>=this.maxTransfers){r(Error(`Too many concurrent chunked transfers (${this.maxTransfers})`));return}this.transfers.get(e)?.assembler.release();let s=new ea(e,i,t,a,this.budget);this.transfers.set(e,{assembler:s,onComplete:n,onError:r,lastActivity:Date.now()}),this.armSweep()}processChunk(e){let t=this.transfers.get(e.id);if(!t)return;let n=t.assembler.checkChunk(e);if(n){this.remove(e.id),t.onError(Error(n));return}t.lastActivity=Date.now();let r;try{if(!t.assembler.addChunk(e))return;r=t.assembler.getData()}catch(n){this.remove(e.id),t.onError(n);return}this.remove(e.id),t.onComplete(r)}cancel(e){this.remove(e)?.onError(Error(`Transfer cancelled`))}discard(e){this.remove(e)}dispose(){for(let e of this.transfers.values())e.assembler.release();this.transfers.clear(),this.sweepTimer!==void 0&&(clearTimeout(this.sweepTimer),this.sweepTimer=void 0)}get size(){return this.transfers.size}getProgress(e){return this.transfers.get(e)?.assembler.getProgress()??null}checkHeader(e,t,n){if(!Number.isSafeInteger(t)||!Number.isSafeInteger(e)||!Number.isSafeInteger(n))return`totalSize ${t}, totalChunks ${e} and chunkSize ${n} must be integers`;if(n<=0||n>Yi)return`chunkSize ${n} out of range`;if(t<=0||t>this.maxTransferSize)return`totalSize ${t} out of range (max ${this.maxTransferSize})`;if(e!==Math.ceil(t/n))return`totalChunks ${e} does not match totalSize ${t} / chunkSize ${n}`}remove(e){let t=this.transfers.get(e);return t&&(this.transfers.delete(e),t.assembler.release()),t}armSweep(){if(this.sweepTimer!==void 0||this.transfers.size===0)return;let e=1/0;for(let t of this.transfers.values())e=Math.min(e,t.lastActivity);let t=setTimeout(()=>this.sweepStale(),Math.max(0,e+Zi-Date.now())+1);t.unref?.(),this.sweepTimer=t}sweepStale(){this.sweepTimer=void 0;let e=Date.now()-Zi;for(let[t,n]of this.transfers)n.lastActivity<=e&&(this.remove(t),n.onError(Error(`Transfer timed out`)));this.armSweep()}};function na(e){return e&&/^\d{1,15}$/.test(e)?Number(e):NaN}be();var ra=Symbol(`rpc:methods`),ia=Symbol(`rpc:nested`),aa=Symbol(`rpc:exposeAll`);function oa(e,t=[],n={},r=new WeakSet){if(!e||typeof e!=`object`||r.has(e))return n;r.add(e);let i=Object.getOwnPropertyNames(e),a=[],o=Object.getPrototypeOf(e);for(;o&&o!==Object.prototype;)a.push(...Object.getOwnPropertyNames(o)),o=Object.getPrototypeOf(o);let s=[...new Set([...i,...a])];for(let r of s)if(!(r===`constructor`||r.startsWith(`_`)||r.startsWith(`#`)))try{if(e.constructor&&Object.prototype.hasOwnProperty.call(e.constructor,r))continue;let i=Object.getOwnPropertyDescriptor(e,r);if(!i){let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype&&!i;)i=Object.getOwnPropertyDescriptor(t,r),t=Object.getPrototypeOf(t)}if(i&&(i.get||i.set)&&!i.value){let i=e[r];if(typeof i==`function`){let a=[...t,r].join(`.`);n[a]=i.bind(e)}continue}let a=e[r],o=[...t,r].join(`.`);typeof a==`function`&&(n[o]=a.bind(e))}catch{}return n}function sa(e,t=[],n={},r=new WeakSet){if(r.has(e))return n;r.add(e);let i=e.constructor===Object||e.constructor===void 0,a=Object.getPrototypeOf(e),o=Reflect.hasMetadata(ra,e)||Reflect.hasMetadata(ra,a)||Reflect.hasMetadata(ia,e)||Reflect.hasMetadata(ia,a)||Reflect.hasMetadata(aa,a);if(i&&!o){let i=Object.getOwnPropertyNames(e);for(let a of i)if(!(a===`constructor`||a.startsWith(`_`)))try{let i=e[a],o=[...t,a].join(`.`);typeof i==`function`?n[o]=i.bind(e):typeof i==`object`&&i&&!Array.isArray(i)?sa(i,[...t,a],n,r):n[o]=async()=>i}catch{}}else{let i=a&&Reflect.getMetadata(aa,a),o=[...Reflect.getMetadata(ra,e)??[],...(a&&Reflect.getMetadata(ra,a))??[]],s=[...Reflect.getMetadata(ia,e)??[],...(a&&Reflect.getMetadata(ia,a))??[]],c=Object.getOwnPropertyNames(e);a&&c.push(...Object.getOwnPropertyNames(a).filter(e=>e!==`constructor`));for(let l of c)if(l!==`constructor`)try{let c=e[l]??a?.[l];if(!c)continue;let u=[...t,l].join(`.`);typeof c==`function`?(i&&!l.startsWith(`_`)||o.includes(l))&&(n[u]=c.bind(e)):o.includes(l)?n[u]=async()=>e[l]:typeof c==`object`&&c&&s.includes(l)&&sa(c,[...t,l],n,r)}catch{}}return n}var ca=Symbol(`rpc.localNoResponders`),la=class e extends Error{code;data;constructor(e,t,n){super(t),this.name=`RPCException`,this.code=e,this.data=n}static fromJSON(t){return new e(t.code,t.message,t.data)}toJSON(){return{code:this.code,message:this.message,data:this.data}}};function ua(e,t,n){return new la(e,t,n)}function da(e,t){return Object.defineProperty(e,ca,{value:t}),e}function fa(e){if(typeof e!=`object`||!e)return;let t=e[ca];return typeof t==`string`?t:void 0}function pa(e){if(!e||typeof e!=`object`)return!1;if(e.name===`NoRespondersError`)return!0;let t=e.message;return typeof t==`string`&&t.includes(`no responders`)}var ma={METHOD_NOT_FOUND:`METHOD_NOT_FOUND`,INVALID_PARAMS:`INVALID_PARAMS`,INTERNAL_ERROR:`INTERNAL_ERROR`,TIMEOUT:`TIMEOUT`,CONNECTION_CLOSED:`CONNECTION_CLOSED`,STREAM_ERROR:`STREAM_ERROR`,PAYLOAD_TOO_LARGE:`PAYLOAD_TOO_LARGE`,NOT_FOUND:`NOT_FOUND`,FORBIDDEN:`FORBIDDEN`},ha=`stream.`,ga=`rpc.cb.`,_a=`_rpc.cb.`,va=2,ya=Symbol(`stopped`),ba=3e4,xa=3e5,Sa=qa(),Ca=typeof setImmediate==`function`?()=>new Promise(e=>setImmediate(e)):()=>new Promise(e=>setTimeout(e,0));function wa(e){return Sa?Sa.exit(e):e()}var Ta=class{stopped=!1;teardowns=new Set;add(e){return!this.stopped&&(this.teardowns.add(e),!0)}delete(e){this.teardowns.delete(e)}stop(){this.stopped=!0;let e=[...this.teardowns];return this.teardowns.clear(),e.map(e=>e())}};function Ea(e){if(e===!1)return;let t=e?.intervalMs,n=e?.graceMs;return{intervalMs:t!==void 0&&t>0?t:ba,graceMs:n!==void 0&&n>0?n:xa}}var Da=class{client;settings;idle=()=>!1;orphaned=()=>{};lastProbe=performance.now();lastPublish=this.lastProbe;forget;noRespondersSince;timer;stopped=!1;constructor(e,t){this.client=e,this.settings=t}reply(){let e=performance.now();if(this.lastPublish=e,!(this.stopped||e-this.lastProbe<this.settings.intervalMs))return this.open()}start(){!this.stopped&&!this.timer&&this.arm()}stop(){this.stopped=!0,clearTimeout(this.timer),this.forget?.(),this.forget=void 0}open(){this.forget&&(this.forget(),this.noRespondersSince=void 0),this.lastProbe=performance.now();let{reply:e,forget:t}=this.client.statusReply(()=>this.noResponders());return this.forget=t,e}noResponders(){this.forget=void 0;let e=performance.now();this.noRespondersSince??=e,!(this.stopped||e-this.noRespondersSince<this.settings.graceMs)&&(this.stop(),this.orphaned())}arm(){let e=Math.max(1,Math.max(this.lastProbe,this.lastPublish)+this.settings.intervalMs-performance.now());this.timer=setTimeout(()=>this.tick(),e),this.timer.unref?.()}tick(){if(this.timer=void 0,this.stopped)return;let e=performance.now(),{intervalMs:t}=this.settings;if(this.client.isConnected&&e-this.lastProbe>=t&&e-this.lastPublish>=t){let e=this.open(),t=!1;try{t=this.idle(e)}catch{}t||(this.forget?.(),this.forget=void 0)}this.arm()}};async function Oa(e,t,n,r,i,a,o){La(n,ha);let s=new AbortController,c=o&&new Da(i,o),l=!0,u,d,f,p=()=>{l&&(l=!1,s.abort(),c?.stop(),f?.(ya))},m=()=>u?d??=Va(u):Promise.resolve(),h=async()=>{if(!l)return;let e=f!==void 0;p(),i.isConnected&&Ha(i,n,{id:r,type:`error`,error:Ua()}),e||await m()},g=async e=>{let t=performance.now();for(;l;){let a;try{a=await new Promise((t,n)=>{f=t,e.next().then(t,n)})}finally{f=void 0}if(a===ya)return!0;if(!l||!i.isConnected)return!1;if(a.done)return p(),Ha(i,n,{id:r,type:`end`}),!1;let o=c?.reply(),s=i.publishOrChunk(n,{id:r,type:`data`,data:a.value},o?{reply:o}:void 0);s&&await s,performance.now()-t>=va&&(await Ca(),t=performance.now())}return!1},_=await i.subscribe(`${n}.cancel`,p),v=Ga(i,a,h);v||await h(),c&&l&&(c.idle=e=>(i.publishOrChunk(n,{id:r,type:`ping`},{reply:e})?.catch(()=>{}),!0),c.orphaned=p,c.start());let y=!1;try{if(l){let n=await za(e,t,s,`stream`);u=n,l&&(y=await Ka(s.signal,()=>g(n)))}}catch(e){l&&i.isConnected&&Ha(i,n,{id:r,type:`error`,error:Na(e)})}finally{p(),_(),v?.();let e=m();y||await e}}function ka(e){if(e?.__stream&&e?.__streamSubject)return`stream`;let t=Array.isArray(e)?e[0]:void 0;if(e?.__pullIterator||t?.__pullIterator)return`pull`;if(e?.__pullCallback||t?.__pullCallback)return`pullCallback`;if(e&&typeof e==`object`&&!Array.isArray(e)&&e.__callback&&e.__callbackSubject||typeof t==`object`&&t&&t.__callback)return`callback`}async function Aa(e,t,n,r,i,a,o){if(e===`callback`){let e=Array.isArray(n)&&n[0]?.__callback?n[0]:n;return await Ia(t,e.args??[],e.__callbackSubject,r,i,a,o),{ok:!0}}let s=n?.__pullIterator||n?.__pullCallback?n:n[0],c=s.__iteratorId??r;if(e===`pull`)await Pa(t,s.args??[],c,i,a,o);else{let e=s.__callbackMethods??[],n=s.__onewayMethods??[];await Fa(t,s.args??[],c,s.__callbackSubject,e,n,i,a,o)}return{iteratorId:c}}async function ja(e,t){return Ma(e,t)}function Ma(e,t){return e(...Array.isArray(t)?t:t==null?[]:[t])}function Na(e){let t=fa(e);return t===void 0?e instanceof la?e.toJSON():{code:ma.INTERNAL_ERROR,message:e instanceof Error?e.message:`Internal error`}:{code:ma.INTERNAL_ERROR,message:`upstream unavailable`,data:{subject:t}}}async function Pa(e,t,n,r,i,a){let o=new AbortController;return Ra(r,n,o,i,()=>za(e,t,o,`pull iterator`),e=>({id:n,type:`value`,value:e}),a&&new Da(r,a))}async function Fa(e,t,n,r,i,a,o,s,c){La(r,_a);let l=new AbortController,{signal:u}=l,d=c&&new Da(o,c),f=performance.now(),p=new Set(a),m={};for(let e of i)m[e]=p.has(e)?(...t)=>{if(u.aborted||!o.isConnected)return;let n={method:e,args:t};try{let e=d?.reply();o.publishOrChunk(r,n,e?{reply:e}:void 0)?.catch(e=>{e instanceof la&&e.code===ma.PAYLOAD_TOO_LARGE&&l.abort(e)})}catch(e){o.isConnected&&l.abort(la.fromJSON(Na(e)))}let i=performance.now();if(!(i-f<va))return f=i,Ca()}:()=>{throw ua(ma.INTERNAL_ERROR,`Request-reply callback '${e}' not supported in v1`)};return Ra(o,n,l,s,()=>za(e,[...t,m],l,`pull-callback iterator`),()=>({id:n,type:`value`}),d,!0)}async function Ia(e,t,n,r,i,a,o){La(n,ga);let s=new AbortController,c=o&&new Da(i,o),l,u,d,f=!1,p=async()=>{f||(f=!0,s.abort(),c?.stop(),u?.(),d?.(),l&&await l())};if(d=Ga(i,a,p),!d)throw Wa();let m=async e=>{if(!i.isConnected)return;let t={id:r,type:`data`,data:e},a=c?.reply();await i.publish(n,t,a?{reply:a}:void 0)};try{let n=Ka(s.signal,()=>e(...t,m));n&&typeof n.then==`function`?l=await n:typeof n==`function`&&(l=n)}catch(e){p();let t={id:r,type:`error`,error:Na(e)};throw await i.publish(n,t),e}if(f)throw l&&await l(),Wa();try{u=await i.subscribe(`${n}.cancel`,p)}catch(e){throw await p(),e}if(f)throw u(),Wa();return c&&(c.idle=e=>(i.publishOrChunk(n,{id:r,type:`ping`},{reply:e})?.catch(()=>{}),!0),c.orphaned=()=>void p(),c.start()),p}function La(e,t){if(typeof e!=`string`||e.length<=t.length||!e.startsWith(t))throw ua(ma.INVALID_PARAMS,`Control subject must start with '${t}'`)}async function Ra(e,t,n,r,i,a,o,s=!1){let c=`_rpc.iterator.${t}.request`,l=`_rpc.iterator.${t}.response`,u=!0,d=!1,f,p,m,h,g,_,v=!1,y=()=>f?h??=Va(f):Promise.resolve(),b=()=>{u&&(u=!1,n.abort(),o?.stop(),g?.(),_?.())},x=()=>{let e=n.signal.reason;return e instanceof la?{id:t,type:`error`,error:Na(e)}:void 0},S=async e=>{let r=x();if(r)return r;d=!0;try{let{value:r,done:i}=await Ka(n.signal,()=>e.next());return x()??(i?{id:t,type:`done`}:a(r))}catch(e){return x()??{id:t,type:`error`,error:Na(e)}}finally{d=!1}},C=async()=>{if(!u||!f)return;let n=m;m=void 0;let r=await(n??S(f));if(u){r.type!==`value`&&(b(),y());try{let t=r.type===`value`?o?.reply():void 0,n=e.publishOrChunk(l,r,t?{reply:t}:void 0);n&&await n}catch(n){r.type===`value`&&u&&(b(),Ha(e,l,{id:t,type:`error`,error:Na(n)}),y())}}},w=()=>{b(),Ha(e,l,{id:t,type:`done`}),y()},T=e=>{u&&(e.type===`cancel`?f?w():v=!0:e.type===`next`&&(p=p?p.then(C):C()))},E=async()=>{if(!u)return;let n=d;b(),e.isConnected&&Ha(e,l,{id:t,type:`error`,error:Ua()});let r=y();n||await r};if(_=Ga(e,r,E),!_)throw Wa();try{g=await e.subscribe(c,T),u&&(f=await i())}catch(e){let t=!u;throw b(),y(),t?Wa():e}if(!u)throw g?.(),y(),Wa();return v?(w(),E):(s&&f&&(m=S(f)),o&&(o.idle=n=>(e.publishOrChunk(`rpc.reply.${t}`,{type:`ping`},{reply:n})?.catch(()=>{}),!0),o.orphaned=w,o.start()),E)}async function za(e,t,n,r){try{let i=Ka(n.signal,()=>e(...t));return Ba(i&&typeof i.then==`function`?await i:i,r)}catch(e){throw n.abort(),e}}function Ba(e,t){if(e&&typeof e[Symbol.asyncIterator]==`function`)return e[Symbol.asyncIterator]();if(e&&typeof e[Symbol.iterator]==`function`)return(async function*(){for(let t of e)yield t})();throw ua(ma.INTERNAL_ERROR,`Handler must return a generator for ${t}`)}async function Va(e){try{await e.return?.()}catch{}}function Ha(e,t,n){try{e.publishOrChunk(t,n)?.catch(()=>{})}catch{}}function Ua(){return{code:ma.CONNECTION_CLOSED,message:`Connection closed`}}function Wa(){return ua(ma.CONNECTION_CLOSED,`Connection closed`)}function Ga(e,t,n){if(t&&!t.add(n))return;let r=e.trackSession(n);return()=>{r(),t?.delete(n)}}function Ka(e,t){return Sa?Sa.run(e,t):t()}function qa(){let e=globalThis.process?.getBuiltinModule?.(`node:async_hooks`)?.AsyncLocalStorage;return e&&!(`_propagate`in e.prototype)?new e:void 0}var Ja=`cui.chunk.direct`;function Ya(e,t){return`$CUI.SVC.${e}.${t}`}function Xa(e,t){return`svc.${e}.${t}`}var Za=class{client;svc;services=[];nc;constructor(e){this.client=e}init(e){this.nc!==e&&(this.nc=e,this.svc=new Ci.Svcm(e),this.services=[])}async registerHandler(e,t,n){if(!this.svc)throw Error(`RPCService is not initialized. Call init() first.`);let r=new Ta,i=Ea(this.client.options.orphanProbe),a=[],o=this.client,s=this.svc;if(n?.isolatedConnection){o=this.client.createIsolatedClient({...this.client.options,name:`${this.client.options.name}-service-${e.name}`});let t=await o.connect();s=new Ci.Svcm(t)}let c=await s.add({...e,metadata:{...e.metadata,[Ja]:`1`}});this.services.push(c);let l=c.info().id,u=[];n?.isolatedConnection&&(c._isolatedClient=o);let d=sa(t),f=new Map;for(let[t,n]of Object.entries(d)){let s=t.split(`.`),d=s.pop(),p=c;if(s.length>0){let e=s.join(`.`);if(!f.has(e)){let t=c;for(let e of s)t=t.addGroup(e);f.set(e,t)}p=f.get(e)}let m=o.createEndpointChunking();a.push(m);let h=async(e,t)=>{if(e){t.respondError(500,e.message);return}try{let e=t.headers?.get(`x-chunked-transfer`);if(e===`header`){let e=Di(t.data),n=t.headers?.get(`x-chunk-id`);if(!n||e?.transferId!==n){console.error(`Invalid chunk header`);return}m.startReceiving(e.transferId,e.totalChunks,async e=>{await a(e,t)},e=>{console.error(`Error assembling chunks for ${d}:`,e)},e.totalSize,e.chunkSize)}else if(e===`chunk`){let e=t.headers?.get(`x-chunk-id`),n=na(t.headers?.get(`x-chunk-index`));if(!e){console.error(`Chunk missing chunk ID`);return}m.processChunk({id:e,chunkIndex:n,data:t.data,isLast:!1})}else await a(qi(t.data),t)}catch(e){console.error(`Error processing message for ${d}:`,e)}async function a(e,t){let a={id:e.id};try{let s=ka(e.params);if(s===`stream`){let t=e.params.__streamSubject,a=e.params.args??[];await Oa(n,a,t,e.id,o,r,i)}else{a.result=s?await Aa(s,n,e.params,e.id,o,r,i):await ja(n,e.params);let c=`${t.subject}.reply.${e.id}`;await o.publish(c,a)}}catch(n){a.error=Na(n),delete a.result;try{let n=`${t.subject}.reply.${e.id}`;await o.publish(n,a)}catch(e){if(o.isClosed)return;console.error(`Failed to send error response:`,e)}}}};p.addEndpoint(d,h),c.addEndpoint(d,{handler:h,subject:Xa(e.name,t)}),u.push(o.subscribeMessages(Ya(l,t),e=>void h(null,e),!1))}let p=c.stop.bind(c);return c.stop=async e=>{for(let e of u.splice(0))e();await Promise.allSettled(r.stop());try{return await p(e)}finally{for(let e of a)o.releaseEndpointChunking(e)}},new Qa(c)}monitor(){if(!this.svc)throw Error(`RPCService is not initialized. Call init() first.`);return this.svc.client({strategy:`stall`,stall:10,maxWait:2e3})}async stopAll(){await Promise.allSettled(this.services.map(async e=>{await e.stop();let t=e._isolatedClient;t&&await t.disconnect()})),this.services=[]}async stop(e){let t=this.services.find(t=>t.info().name===e);if(t)try{await t.stop();let e=t._isolatedClient;e&&await e.disconnect(),this.services=this.services.filter(e=>e!==t)}catch{}}getAllInfo(){return this.services.map(e=>e.info())}getInfo(e){return this.services.find(t=>t.info().name===e)?.info()}async getAllStats(){return Promise.all(this.services.map(e=>e.stats()))}async getStats(e){return this.services.find(t=>t.info().name===e)?.stats()}},Qa=class{natsService;get isStopped(){return this.natsService.isStopped}constructor(e){this.natsService=e}info(){return this.natsService.info()}stats(){return this.natsService.stats()}async stop(e){try{await this.natsService.stop(e)}catch{}}},$a=Symbol.for(`rpc.callbacks`),eo=Symbol.for(`rpc.callbacks.oneway`);function to(e){return!!e&&typeof e==`object`&&e[$a]===!0}function no(e){return e?.[eo]??[]}function ro(e){if(e instanceof Promise)return!0;if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.then==`function`&&typeof t.catch==`function`}function io(e,t,n=[],r={methods:null,roots:null,calls:0},i,a){let o=e=>{r.methods===null&&(r.methods=new Set(e),r.roots=null)},s=e=>r.roots??=new Set([...e].map(e=>e.split(`.`,1)[0])),c=async(n,s,c)=>{let{result:l,methods:u,timing:d}=await e.callWithMeta(n,s,{...a,discover:r.methods===null&&r.calls++>=1,timing:i!==void 0,probeNamespace:t,probeMethod:c,onMethods:o});return u&&o(u),d&&i&&i(c??n,d),l};return new Proxy({},{get(l,u){if(u===`then`||u===`catch`||u===`finally`)return;if(typeof u==`symbol`||u===`toString`)return()=>`[RPCProxy ${t}${n.length?`.`+n.join(`.`):``}]`;if(r.methods&&n.length===0&&!s(r.methods).has(u))return;let d=[...n,u];return new Proxy(function(){},{apply(n,r,i){let a=d.join(`.`),s=`rpc.${t}.${a}`,l=u.toLowerCase().includes(`pull`),f=i.findIndex(e=>to(e));if(f!==-1){let t=i[f],n=no(t),r=i.filter((e,t)=>t!==f);return e.callPullIteratorWithCallback(s,t,n,...r)}let p=i.findIndex(e=>typeof e==`function`);if(p!==-1){let t=i[p],n=i.filter((e,t)=>t!==p);return e.callWithCallback(s,n,t)}return u.toLowerCase().includes(`generate`)?e.callStreamWithProbe(s,i,{probeNamespace:t,probeMethod:a,onMethods:o}):l?e.callPullIterator(s,...i):c(s,i,a)},get(n,o){if(o===`then`||o===`catch`||o===`finally`){let n=d.join(`.`),r=(async()=>(!e.isConnected&&!e.isClosed&&await e.connect(),c(`rpc.${t}.${n}`,[],n)))();return r[o].bind(r)}return io(e,t,d,r,i,a)[o]}})}})}function ao(e,t,n,r=[]){return new Proxy({},{get(i,a){if(a===`then`||a===`catch`||a===`finally`)return;if(typeof a==`symbol`||a===`toString`)return()=>`[ServiceProxy ${t.name}${r.length?`.`+r.join(`.`):``}]`;if(a in i)return i[a];let o=[...r,a],s=o.join(`.`),c=Xa(t.name,s),l=t.endpoints.find(e=>e.subject===c)??t.endpoints.find(e=>{if(e.subject===s)return!0;let t=e.subject.split(`.`);return t[t.length-1]===a&&t.slice(0,-1).join(`.`)===r.join(`.`)}),u=t.metadata?.[`cui.chunk.direct`]===`1`?Ya(t.id,s):void 0;if(l)return new Proxy(function(){},{apply(t,n,r){let i=a.toLowerCase().includes(`pull`),o=r.findIndex(e=>to(e));if(o!==-1){let t=r[o],n=no(t),i=r.filter((e,t)=>t!==o);return e.callPullIteratorWithCallback(l.subject,t,n,...i)}let s=r.findIndex(e=>typeof e==`function`);if(s!==-1){let t=r[s],n=r.filter((e,t)=>t!==s);return e.callWithCallback(l.subject,n,t)}return a.toLowerCase().includes(`generate`)?e.callStream(l.subject,...r):i?e.callPullIterator(l.subject,...r):e.callService(l.subject,r,u)}});let d=s+`.`;if(t.endpoints.some(e=>e.subject.startsWith(d)))return ao(e,t,n,o)}})}var oo=36**4,so=Math.floor(Math.random()*36**5).toString(36).padStart(5,`0`),co=Math.floor(Math.random()*oo);function lo(e){co=(co+1)%oo;let t=`${Date.now()}-${so}${co.toString(36).padStart(4,`0`)}`;return e?`${e}.${t}`:t}function uo(){let e,t=globalThis.crypto;if(t?.getRandomValues){let n=new Uint8Array(6);t.getRandomValues(n),e=n.reduce((e,t)=>e*256+t,0)}else e=Math.floor(Math.random()*2**48);return e.toString(36).padStart(10,`0`)}function fo(e,t){return t?new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(i,e);t.addEventListener(`abort`,i,{once:!0});function i(){clearTimeout(r),t.removeEventListener(`abort`,i),n()}}):new Promise(t=>setTimeout(t,e))}function po(e,t){let n=Promise.resolve(),r=0;return{dispatch:i=>{if(r===0){let a;try{a=e(i)}catch(e){t(e);return}ro(a)&&(r++,n=a.then(()=>{r--},e=>{r--,t(e)}))}else r++,n=n.then(()=>e(i)).then(()=>{r--},e=>{r--,t(e)})},flush:()=>r===0?Promise.resolve():n}}function mo(e,t,n,r){let i=[],a=0,o=0,s=!1,c=!1,l,u=e=>e?o===0:o<t&&!s,d=e=>{o--,e&&(s=!1),p()},f=(t,n)=>{o++,n&&(s=!0);let i;try{i=e(t)}catch(e){r(e),d(n);return}ro(i)?i.then(()=>d(n),e=>{r(e),d(n)}):d(n)};function p(){if(!c){c=!0;try{for(;a<i.length;){let e=i[a];if(!u(e.exclusive))break;i[a++]=void 0,f(e.data,e.exclusive)}}finally{c=!1}a===i.length?(i.length=0,a=0):a>1024&&a*2>i.length&&(i.splice(0,a),a=0),l&&o===0&&i.length===0&&(l.resolve(),l=void 0)}}return{dispatch:e=>{let t=!n(e);a===i.length&&!c&&u(t)?f(e,t):i.push({data:e,exclusive:t})},flush:()=>{if(o===0&&a===i.length)return Promise.resolve();if(!l){let e;l={promise:new Promise(t=>{e=t}),resolve:e}}return l.promise}}}var ho=class{client;channelId;closed=!1;unsubscribe;initialized=!1;subject;requestSubject;handlers=new Map;closeHandlers=new Set;errorHandlers=new Set;subscriptions=[];sender=lo();get isClosed(){return this.closed}get id(){return this.channelId}constructor(e,t){this.client=e,this.channelId=t,this.subject=`channel.${t}`,this.requestSubject=`channel.${t}.request`}async init(){this.initialized||(this.initialized=!0,this.unsubscribe=await this.client.subscribe(this.subject,async e=>{switch(e.type){case`message`:this.emit(`message`,e.data);break;case`close`:this.handleClose();break;case`error`:this.handleError(Error(e.error??`Channel error`))}}))}async send(e){if(this.closed)throw Error(`Channel is closed`);let t={type:`message`,data:e};await this.client.publish(this.subject,t)}async request(e,t=5e3){if(this.closed)throw Error(`Channel is closed`);return this.client.request(this.requestSubject,e,{timeout:t,sender:this.sender})}async onRequest(e){let t=this.client.onRequest(this.requestSubject,e,{ignoreSender:this.sender});return this.subscriptions.push(t),t}on(e,t){e===`close`?this.closeHandlers.add(t):e===`error`?this.errorHandlers.add(t):(this.handlers.has(e)||this.handlers.set(e,new Set),this.handlers.get(e).add(t))}off(e,t){e===`close`?this.closeHandlers.delete(t):e===`error`?this.errorHandlers.delete(t):this.handlers.get(e)?.delete(t)}async close(){if(!this.closed){this.closed=!0;try{await this.client.publish(this.subject,{type:`close`})}catch{}await this.cleanup()}}handlerChain=Promise.resolve();runHandler(e,t,n){this.handlerChain=this.handlerChain.then(()=>e(t)).catch(e=>console.error(`Error in ${n}:`,e))}emit(e,t){let n=this.handlers.get(e);if(n)for(let e of n)this.runHandler(e,t,`channel handler`)}handleClose(){if(!this.closed){this.closed=!0;for(let e of this.closeHandlers)this.runHandler(()=>e(),void 0,`close handler`);this.cleanup().catch(console.error)}}handleError(e){for(let t of this.errorHandlers)this.runHandler(t,e,`error handler`)}async cleanup(){if(this.handlers.clear(),this.closeHandlers.clear(),this.errorHandlers.clear(),await Promise.allSettled(this.subscriptions.map(async e=>(await e)())),this.subscriptions=[],this.unsubscribe){try{this.unsubscribe()}catch{}this.unsubscribe=void 0}let e=this._isolatedClient;if(e){try{await e.disconnect()}catch{}this._releaseIsolated?.()}}},go=class extends ho{targetClientId;clientId;remoteClientId;privateSubject;privateRequestSubject;get remoteId(){return this.remoteClientId}constructor(e,t,n){super(e,t),this.targetClientId=n;let r=e.options.name??`client-${Date.now()}`;this.clientId=r.replace(/-(channel|private)-.*$/,``);let i=[this.clientId,this.targetClientId].sort();this.privateSubject=`channel.private.${t}.${i.join(`.`)}`,this.privateRequestSubject=`${this.privateSubject}.request`}async init(){if(!this.initialized){this.initialized=!0,this.unsubscribe=await this.client.subscribe(this.privateSubject,async e=>{if(e.sender!==this.clientId&&e.sender===this.targetClientId&&(!this.remoteClientId&&e.sender&&(this.remoteClientId=e.sender),!(this.remoteClientId&&e.sender!==this.remoteClientId)))switch(e.type){case`message`:if(e.data&&typeof e.data==`object`&&`__handshake`in e.data)return;this.emit(`message`,e.data);break;case`close`:this.handleClose();break;case`error`:this.handleError(Error(e.error??`Channel error`))}});try{await this.sendRaw({type:`message`,data:{__handshake:!0},sender:this.clientId})}catch{}}}async send(e){if(this.closed)throw Error(`Channel is closed`);await this.sendRaw({type:`message`,data:e,sender:this.clientId})}async request(e,t=5e3){if(this.closed)throw Error(`Channel is closed`);return this.client.request(this.privateRequestSubject,e,{timeout:t,sender:this.sender})}async onRequest(e){let t=this.client.onRequest(this.privateRequestSubject,e,{ignoreSender:this.sender});return this.subscriptions.push(t),t}async close(){if(!this.closed){this.closed=!0;try{await this.sendRaw({type:`close`,sender:this.clientId})}catch{}await this.cleanup()}}isConnectedTo(e){return this.remoteClientId===e}async sendRaw(e){await this.client.publish(this.privateSubject,e)}};ue();var _o=class extends Error{},vo=typeof process<`u`&&!!process.versions?.node,yo=new TextEncoder,bo=Uint8Array.of(13,10),xo=65536,{DataBuffer:So,DenoBuffer:Co,Parser:wo,ProtocolHandler:To,State:Eo}=oe,Do,Oo,ko,Ao=new WeakMap,jo=new Set;function Mo(e,t,n,r){let i=e,a=i.protocol;if(!vo||typeof i._check!=`function`||!es(a)||a.info?.max_payload!==void 0&&r.size>a.info.max_payload)return!1;i._check(t,!1,!0),n&&i._check(n,!1,!0);let o=yo.encode(n?`PUB ${t} ${n} ${r.size}\r\n`:`PUB ${t} ${r.size}\r\n`),s=Buffer.allocUnsafe(o.length+r.size+2);return s.set(o,0),Wi(r,s,o.length),s[s.length-2]=13,s[s.length-1]=10,a.flushPending(),a.outBytes+=r.size,a.outMsgs++,a.sendCommand(s),a.flushPending(),!0}function No(e,t,n,r){let i=e,a=i.protocol;if(!vo||typeof i._check!=`function`||!es(a)||a.connected!==!0||a.infoReceived!==!0||a.info?.max_payload!==void 0&&r.size>a.info.max_payload)return!1;i._check(t,!1,!0),n&&i._check(n,!1,!0);let o=yo.encode(n?`PUB ${t} ${n} ${r.size}\r\n`:`PUB ${t} ${r.size}\r\n`),s=Buffer.allocUnsafe(o.length+Gi(r));s.set(o,0),Ki(r,s,o.length);let c=$o(a.transport?.socket);c?.cork();try{a.flushPending(),a.outBytes+=r.size,a.outMsgs++,Qo(a,s);for(let e of r.segments)Qo(a,e);Qo(a,bo)}finally{c?.uncork()}return!0}function Po(e){let t=e.protocol;vo&&es(t)&&t.flushPending()}function Fo(){return Do??=Io(),Do}function Io(){if(!vo||!wo||!Eo||!Co||!Xo())return!1;let e=wo.prototype,t=Reflect.get(e,`parse`);return e.parse=function(e){let n=this.msgBuf;t.call(this,e);let r=this.msgBuf;if(r===void 0||r===n||this.state!==Eo.MSG_PAYLOAD)return;let i=r.bytes({copy:!1});if(i.length>=this.ma.size)return;let a=new Uint8Array(this.ma.size);a.set(i);let o=new Co(a.buffer);o.truncate(i.length),this.msgBuf=o},Zo(!0)?!0:(e.parse=t,!1)}function Lo(){return Oo??=Ro(),Oo}function Ro(){let e=vo?Yo():void 0;if(!e||!To||!So||!Bo(e))return!1;let t=To.prototype,n=e.prototype,r=Reflect.get(t,`sendCommand`),i=Reflect.get(t,`flushPending`),a=Reflect.get(n,`send`),o=Reflect.get(Buffer.prototype,`utf8Write`);return t.sendCommand=function(t,...n){if(!(this.transport instanceof e)){r.call(this,t,...n);return}let i=this.outbound,a=i.buffers.length;typeof t==`string`?(i.buffers.push(t),i.byteLength+=Buffer.byteLength(t)):t&&(i.buffers.push(t),i.byteLength+=t.length);for(let e of n)e?.length&&(i.buffers.push(e),i.byteLength+=e.length);a===0?queueMicrotask(()=>this.flushPending()):i.byteLength>=this.pendingLimit&&this.flushPending()},t.flushPending=function(){if(!(this.transport instanceof e)){i.call(this);return}let t=this.outbound;if(!this.infoReceived||!this.connected||t.byteLength===0)return;let n=t.buffers,r,a=n.length===1?n[0]:void 0;if(a!==void 0&&typeof a!=`string`)r=a;else{let e=Buffer.allocUnsafe(t.byteLength),i=0;for(let t of n)typeof t==`string`?i+=o?o.call(e,t,i):e.write(t,i):(e.set(t,i),i+=t.length);r=e}n.length=0,t.byteLength=0,this.transport.send(r)},n.send=function(e){if(this.options?.debug)a.call(this,e);else if(!(this.isClosed||this.socket===void 0))try{this.socket.write(e)}catch{}},zo(t,e)?!0:(t.sendCommand=r,t.flushPending=i,n.send=a,!1)}function zo(e,t){if(!So)return!1;try{let n=[],r=Object.assign(Object.create(t.prototype),{done:!1,options:{},socket:{write:e=>n.push(Buffer.from(e))}}),i=Object.assign(Object.create(e),{outbound:new So,pendingLimit:32768,infoReceived:!0,connected:!0,outBytes:0,outMsgs:0,options:{},transport:r});i.publish(`probe.ü`,Uint8Array.of(1,2,3),{reply:`probe.reply`}),i.flushPending();let a=Buffer.concat([Buffer.from(`PUB probe.ü probe.reply 3\r
5
+ `),Buffer.from([1,2,3]),Buffer.from(`\r
6
+ `)]);return n.length===1&&n[0].equals(a)&&i.outbound.byteLength===0}catch{return!1}}function Bo(e){let t=To?.prototype,n=So?new So:void 0,r=Object.getOwnPropertyDescriptor(e.prototype,`isClosed`);return typeof t?.sendCommand==`function`&&typeof t.flushPending==`function`&&typeof t.publish==`function`&&Array.isArray(n?.buffers)&&typeof n.byteLength==`number`&&typeof e.prototype.send==`function`&&typeof r?.get==`function`}function Vo(){return ko??=Uo(),ko}function Ho(e){return typeof e==`object`&&!!e&&Ao.has(e)}function Uo(){let e=vo?Yo():void 0,t=vo?Jo(`node:net`):void 0;if(!e||typeof t?.createConnection!=`function`||!qo(e))return!1;let n=e.prototype,r=Reflect.get(n,`connect`),i=Reflect.get(n,`dial`),a=Reflect.get(n,`peekInfo`),o=Reflect.get(n,`setupHandlers`),s=Reflect.get(n,`startTLS`),c=Buffer.allocUnsafeSlow(xo);return n.dial=function(e){return this.options?.tls||jo.has(Ko(e))?i.call(this,e):new Promise((n,r)=>{let i,a=t.createConnection({port:e.port,host:e.hostname,onread:{buffer:c,callback:(e,t)=>{let n=Buffer.allocUnsafeSlow(e);n.set(t.subarray(0,e)),Wo(a,n)}}},()=>{a.removeAllListeners(),n(a)});Ao.set(a,[]),a.on(`error`,e=>{i=e}),a.on(`close`,()=>{a.removeAllListeners(),r(i)}),a.setNoDelay(!0)})},n.peekInfo=function(){let e=a.call(this);return Go(this.socket),e},n.setupHandlers=function(){o.call(this),Go(this.socket)},n.startTLS=function(){return Ho(this.socket)?Promise.reject(new _o(`TLS needs a socket without onread`)):s.call(this)},n.connect=async function(e,t){try{await r.call(this,e,t)}catch(n){if(!(n instanceof _o))throw n;jo.add(Ko(e)),this.yields=[],await r.call(this,e,t)}},!0}function Wo(e,t){if(e.listenerCount(`data`)===0)Ao.get(e)?.push(t);else try{e.emit(`data`,t)}catch(t){e.destroy(t instanceof Error?t:Error(String(t)))}}function Go(e){let t=e?Ao.get(e):void 0;for(;t?.length&&e.listenerCount(`data`)>0;)Wo(e,t.shift())}function Ko(e){return`${e.hostname}:${e.port}`}function qo(e){let t=e.prototype;if(typeof t.connect!=`function`||typeof t.dial!=`function`||typeof t.peekInfo!=`function`||typeof t.setupHandlers!=`function`||typeof t.startTLS!=`function`)return!1;try{return Array.isArray(new e().yields)}catch{return!1}}function Jo(e){return globalThis.process?.getBuiltinModule?.(e)}function Yo(){try{let e=Jo(`node:module`)?.createRequire?.(import.meta.url),t=e?.(`@nats-io/transport-node/lib/node_transport.js`)?.NodeTransport;return typeof t==`function`?t:void 0}catch{return}}function Xo(){let e=wo?.prototype,t=Co?.prototype;return typeof e?.parse==`function`&&typeof Eo?.MSG_PAYLOAD==`number`&&typeof t?.bytes==`function`&&typeof t.truncate==`function`&&typeof t.write==`function`&&Zo(!1)}function Zo(e){if(!wo||!Eo||!Co)return!1;try{let t=[],n=new wo({push:e=>t.push(e)});n.parse(yo.encode(`MSG probe 1 8\r
7
+ abc`));let r=n.msgBuf;if(n.state!==Eo.MSG_PAYLOAD||!(r instanceof Co)||n.ma?.size!==8||r.length!==3||e&&r.capacity!==8)return!1;n.parse(yo.encode(`defgh\r
8
+ `));let i=t[0]?.data;return t.length===1&&i!==void 0&&new TextDecoder().decode(i)===`abcdefgh`}catch{return!1}}function Qo(e,t){e.sendCommand(t),e.flushPending()}function $o(e){let t=e;return typeof t?.cork==`function`&&typeof t.uncork==`function`?t:void 0}function es(e){let t=e;return typeof t?.sendCommand==`function`&&typeof t.flushPending==`function`&&typeof t.outBytes==`number`&&typeof t.outMsgs==`number`}pe(),ce(),me(),de();var ts=8,ns=250,rs=2e3,is=`__methods`,as=[25,50,100,325,1e3,2e3],os=[500,1e3,2e3],ss=3,cs=500,ls=5,us=8192,ds=16384,fs=`x-channel-sender`;function ps(e){return new hs(e)}function ms(e){return ve(e?`_INBOX.${e}`:void 0)}var hs=class e{options;service=new Za(this);chunkingManager;sessionTeardowns=new Set;responders=new Set;nc;closingNc;subscriptionSeq=0;subscriptionEntries=new Map;pullIteratorSettles=new Set;replyPrefix;muxEntry;muxChunking;chunkBudget;chunkScopes=new Map;chunkScopeSeq=0;endpointChunking=new Set;statusHandlers=new Map;_maxPayloadSize=1048576;unchunkableLimit;connectionPromise;closed=!1;isolatedClients=[];syncReplies=0;linkWaiters;pendingRequests=new Map;streamHandlers=new Map;get isConnected(){return this.nc?.isClosed()===!1}get isStale(){return this.nc?.isStale?.()??!1}get isClosed(){return this.closed}get maxPayloadSize(){return this._maxPayloadSize}status(){return this.nc?.status()}async flush(e=5e3){if(!this.nc)throw ua(ma.CONNECTION_CLOSED,`Not connected`);let t;try{await Promise.race([this.nc.flush(),new Promise((n,r)=>{t=setTimeout(()=>r(ua(ma.TIMEOUT,`flush() timed out after ${e}ms`)),e)})])}finally{t&&clearTimeout(t)}}constructor(e){this.options=e;let t=e.maxPayloadSize;if(t!==void 0&&t!==0&&!(Number.isSafeInteger(t)&&t>=ds))throw RangeError(`maxPayloadSize must be an integer of at least ${ds}, got ${t}`);this.replyPrefix=e.connId??uo(),this.chunkBudget=new Qi(e.maxTransferSize),this.chunkingManager=this.newChunkingManager(),this.muxChunking=this.newChunkingManager(1/0)}createIsolatedClient(t){return new e(t)}async connect(e){if(e?.signal?.aborted)throw new DOMException(`Aborted`,`AbortError`);if(Fo(),Lo(),Vo(),this.nc&&!this.nc.isClosed())return this.nc;let t={servers:this.options.servers,user:this.options.auth?.user,pass:this.options.auth?.password,name:this.options.name,inboxPrefix:this.options.connId?`_INBOX.${this.options.connId}`:void 0,reconnect:this.options.reconnect??!0,timeout:this.options.connectTimeout??1e4,maxPingOut:this.options.maxPingOut??2,maxReconnectAttempts:this.options.maxReconnectAttempts??-1,reconnectTimeWait:this.options.reconnectTimeWait??2e3,reconnectJitter:this.options.reconnectJitter??100,reconnectJitterTLS:this.options.reconnectJitterTLS??1e3,ignoreAuthErrorAbort:this.options.ignoreAuthErrorAbort??!1,pingInterval:this.options.pingInterval??12e4,pingTimeout:this.options.pingTimeout??0,reconnectionDelayMax:this.options.reconnectionDelayMax??0,reconnectionRandomizationFactor:this.options.reconnectionRandomizationFactor??0,tls:this.options.tls,debug:this.options.debug??!1,noAsyncTraces:!0,waitOnFirstConnect:this.options.waitOnFirstConnect??!0,signal:e?.signal};this.connectionPromise??=wa(()=>ge(t));let n=this.connectionPromise;try{this.nc=await gs(n,e?.signal)}finally{this.connectionPromise=void 0}let r=this.nc,i=()=>this.onConnectionLost(r);r.closed().then(i,i),this.releaseLinkWaiters(),this.watchLink(r),this.closed=!1,this.service.init(this.nc);let a;try{a=this.nc.info?.max_payload}catch{}let o=ys(a,this.options.maxPayloadSize);this.unchunkableLimit=o<ds?o:void 0,this._maxPayloadSize=this.unchunkableLimit??o-us,this.ensureMuxSubscription(!1);let s=0;for(let e of this.subscriptionEntries.values())(!e.sub||e.sub.isClosed())&&(this.natsSubscribe(e),e!==this.muxEntry&&s++);return s>0&&await this.awaitSubscriptions(),await Promise.allSettled(this.isolatedClients.filter(e=>!e.isClosed).map(t=>t.connect({signal:e?.signal}))),r}async disconnect(){let e=await this.drainAll();this.closed=!0,this.closingNc=this.nc;let t=this.options.zeroCopyBinaries===!0?[]:void 0,n=this.dropConnectionState(!0,t),r=this.rejectAfterQueuedWrites(t);if(this.subscriptionEntries.clear(),this.responders.clear(),this.muxEntry=void 0,this.chunkScopes.clear(),await Promise.allSettled([...e,...n]),await Promise.allSettled(this.isolatedClients.map(e=>e.disconnect())),this.isolatedClients=[],this.nc){await this.flushBeforeClose(this.nc);try{await this.nc.close()}catch{}await this.waitClosed(this.nc),this.nc=void 0}r()}reconfigure(e){if(this.nc&&!this.nc.isClosed())throw Error(`Cannot reconfigure while connected. Call suspend() first.`);e.servers!==void 0&&(this.options.servers=e.servers),e.auth!==void 0&&(this.options.auth=e.auth);for(let t of this.isolatedClients)t.reconfigure(e)}setServers(e){this.options.servers=e,this.nc&&!this.nc.isClosed()&&this.nc.setServers(e);for(let t of this.isolatedClients)t.setServers(e)}async forceReconnect(){let e=this.nc;if(e&&!e.isClosed()){try{typeof e.forceReconnect==`function`?await e.forceReconnect():typeof e.reconnect==`function`&&await e.reconnect()}catch{}await Promise.allSettled(this.isolatedClients.map(e=>e.forceReconnect()))}}abortClose(e){this.closed=!0,this.closingNc=this.nc,Promise.allSettled(this.dropConnectionState(!1));for(let t of this.isolatedClients)try{t.abortClose(e)}catch{}this.isolatedClients=[];let t=this.nc;if(t){try{typeof t.abortClose==`function`?t.abortClose(e):t.close().catch(()=>{})}catch{}this.nc=void 0}}async suspend(){let e=await this.drainAll();this.closingNc=this.nc;let t=this.options.zeroCopyBinaries===!0?[]:void 0,n=this.dropConnectionState(!0,t),r=this.rejectAfterQueuedWrites(t);if(await Promise.allSettled([...e,...n]),await Promise.allSettled(this.isolatedClients.map(e=>e.suspend())),this.nc){await this.flushBeforeClose(this.nc);try{await this.nc.close()}catch{}await this.waitClosed(this.nc),this.nc=void 0}this.connectionPromise=void 0,r()}async publish(e,t,n){return this.publishOrChunk(e,t,n)}publishOrChunk(e,t,n,r=!1){if(!this.nc)throw Error(`Not connected`);let i=this.encodeOrPublishFrame(e,t,n,r);if(i){if(i.length<=this._maxPayloadSize)this.nc.publish(e,i,n);else return this.publishChunks(this.nc,e,i,n)}}tryPublishSync(e,t,n){if(!this.nc)throw Error(`Not connected`);let r=this.encodeOrPublishFrame(e,t,n);return r?r.length>this._maxPayloadSize?!1:(this.nc.publish(e,r,n),!0):!0}createEndpointChunking(){let e=this.newChunkingManager();return this.endpointChunking.add(e),e}releaseEndpointChunking(e){e.dispose(),this.endpointChunking.delete(e)}trackSession(e){return this.sessionTeardowns.add(e),()=>{this.sessionTeardowns.delete(e)}}statusReply(e){this.ensureMuxSubscription();let t=lo(this.replyPrefix);return this.statusHandlers.set(t,e),{reply:`rpc.reply.${t}`,forget:()=>{this.statusHandlers.get(t)===e&&this.statusHandlers.delete(t)}}}subscribeMessages(e,t,n=!0){if(!this.nc)throw Error(`Not connected`);let r=++this.subscriptionSeq,i={pattern:e,raw:!0,handler:e=>t(e)};return n&&this.subscriptionEntries.set(r,i),this.natsSubscribe(i),()=>{try{i.sub?.isClosed()||i.sub?.unsubscribe()}catch{}finally{this.subscriptionEntries.delete(r)}}}async subscribe(e,t,n){let{unsubscribe:r}=await this.subscribeEntry(e,t,n);return r}async subscribeEntry(e,t,n,r,i){return this.addSubscription(e,t,n,r,i)}addSubscription(e,t,n,r,i,a,o){if(!this.nc)throw Error(`Not connected`);let s=++this.subscriptionSeq,c={pattern:e,handler:t,options:n,concurrency:r,receive:i,route:a,lane:o};return this.subscriptionEntries.set(s,c),this.natsSubscribe(c),{entry:c,unsubscribe:()=>{try{c.sub?.isClosed()||c.sub?.unsubscribe()}catch{}finally{this.subscriptionEntries.delete(s),this.leaveChunkScope(c)}}}}natsSubscribe(e){let{pattern:t}=e;if(e.raw){e.sub=this.nc.subscribe(t,{callback:(n,r)=>{if(n)console.error(`Subscription error for ${t}:`,n);else try{e.handler(r)}catch(e){console.error(`Error processing message for ${t}:`,e)}}});return}let n;if(e.route){let{route:t}=e;n=(e,n)=>t(e,n.subject)}else{let r=e=>console.error(`Error in handler for ${t}:`,e),i=e.concurrency?e.dispatcher??=mo(e.handler,e.concurrency.limit,e.concurrency.isShared,r):po(e.handler,r),{receive:a}=e,o=i.dispatch;n=a?e=>{a(e),o(e)}:o,e.flush=i.flush}let r=e.chunks??=this.joinChunkScope(e),{lane:i}=e,a=(e,a)=>{if(e)console.error(`Subscription error for ${t}:`,e);else try{let e=a.headers?.get(`x-chunked-transfer`);if(e===`header`){let e=Di(a.data),o=a.headers?.get(`x-chunk-id`);if(!o||e?.transferId!==o){console.error(`Invalid chunk header`);return}this.chunkManager(r,i?.(a.subject),!0).startReceiving(o,e.totalChunks,e=>{n(e,a)},e=>{console.error(`Error assembling chunks for ${t}:`,e)},e.totalSize,e.chunkSize)}else if(e===`chunk`){let e=a.headers?.get(`x-chunk-id`),t=na(a.headers?.get(`x-chunk-index`));if(!e){console.error(`Chunk missing chunk ID`);return}this.chunkManager(r,i?.(a.subject),!1)?.processChunk({id:e,chunkIndex:t,data:a.data,isLast:!1})}else{let e=qi(a.data);n(e,a)}}catch(e){console.error(`Error processing message for ${t}:`,e)}};e.sub=this.nc.subscribe(t,{...e.options?.queue?{queue:e.options.queue}:{},callback:a})}ensureMuxSubscription(e=!0){this.muxEntry||(this.muxEntry={pattern:`rpc.reply.${this.replyPrefix}.>`,raw:!0,handler:e=>this.handleMuxMessage(e)},this.subscriptionEntries.set(++this.subscriptionSeq,this.muxEntry)),e&&this.nc&&(!this.muxEntry.sub||this.muxEntry.sub.isClosed())&&this.natsSubscribe(this.muxEntry)}handleMuxMessage(e){if(e.data?.length===0&&e.headers?.code===503){let t=e.subject.slice(10),n=this.statusHandlers.get(t);if(n){this.statusHandlers.delete(t);try{n(new le.NoRespondersError(t))}catch(e){console.error(`Error in no-responder status handler:`,e)}return}let r=this.pendingRequests.get(t);r&&(this.pendingRequests.delete(t),r.timeout&&clearTimeout(r.timeout),r.reject(Cs(r.subject??t)));return}let t=e.headers?.get(`x-chunked-transfer`);if(t===`header`||t===`chunk`){let n=e.subject.slice(10),r=this.pendingRequests.get(n);if(!r)return;let i=e.headers?.get(`x-chunk-id`);if(!i){console.error(t===`header`?`Invalid chunk header on reply mux`:`Chunk missing chunk ID on reply mux`);return}let a=`${n}|${i}`;if(t===`header`){let t=Di(e.data);if(t?.transferId!==i){console.error(`Invalid chunk header on reply mux`);return}r.transferKey&&r.transferKey!==a&&this.muxChunking.discard(r.transferKey),r.transferKey=a,this.muxChunking.startReceiving(a,t.totalChunks,e=>this.routeMuxResponse(e),e=>this.failChunkedReply(n,e),t.totalSize,t.chunkSize)}else{let t=na(e.headers?.get(`x-chunk-index`));this.muxChunking.processChunk({id:a,chunkIndex:t,data:e.data,isLast:!1})}}else this.routeMuxResponse(qi(e.data))}routeMuxResponse(e){let t=e,n=t?.id;if(!n)return;let r=this.pendingRequests.get(n);r&&(this.pendingRequests.delete(n),r.timeout&&clearTimeout(r.timeout),r.transferKey&&this.muxChunking.discard(r.transferKey),t.error?r.reject(la.fromJSON(t.error)):r.resolve({result:t.result,methods:t.__methods,timing:t.__timing}))}failChunkedReply(e,t){let n=this.pendingRequests.get(e);n&&(this.pendingRequests.delete(e),n.timeout&&clearTimeout(n.timeout),n.transferKey&&this.muxChunking.discard(n.transferKey),n.reject(ua(ma.INTERNAL_ERROR,`Chunked reply to "${n.subject??e}" failed: ${t.message}`)))}settlePullIterators(){for(let e of[...this.pullIteratorSettles])try{e()}catch{}this.pullIteratorSettles.clear()}dropConnectionState(e,t){let n=this.endHandlerSessions();for(let e of this.pendingRequests.values()){e.timeout&&clearTimeout(e.timeout),e.cleanup?.();let n=()=>e.reject(ua(ma.CONNECTION_CLOSED,`Connection closed`));t?t.push(n):n()}this.pendingRequests.clear(),this.statusHandlers.clear(),this.releaseLinkWaiters();for(let e of this.streamHandlers.values())try{e.end()}catch{}this.streamHandlers.clear(),this.settlePullIterators();for(let t of this.subscriptionEntries.values()){if(e&&!t.sub?.isClosed())try{t.sub?.unsubscribe()}catch{}t.sub=void 0}return this.disposeChunking(),n}rejectAfterQueuedWrites(e){let t=()=>{for(let t of e?.splice(0)??[])t()};return e?.length&&this.nc&&!this.nc.isClosed()&&this.nc.flush().then(t,()=>{}),t}endHandlerSessions(){let e=[...this.sessionTeardowns];return this.sessionTeardowns.clear(),e.map(e=>e())}async drainAll(){if(this.drainTimeoutMs()<=0)return[];let e=this.endHandlerSessions(),t=this.isolatedClients.map(e=>e.drainAll());await this.drainResponders(this.responders);for(let n of await Promise.allSettled(t))n.status===`fulfilled`&&e.push(...n.value);return e}drainResponders(e){let t=this.drainTimeoutMs();if(t<=0||!this.isConnected)return Promise.resolve();let n=[];for(let r of e)r.open&&n.push(r.draining??=this.drainResponder(r,t));return Promise.all(n).then(()=>{})}async drainResponder(e,t){let n=e.open,r;try{let i=e.methods?.sub;i&&!i.isClosed()&&i.unsubscribe();let a=Promise.all(e.entries.map(e=>Ss(e.sub))).then(()=>n.size===0?void 0:new Promise(t=>{e.onIdle=t}));await Promise.race([a,new Promise(e=>{r=setTimeout(e,t)})])}finally{clearTimeout(r),e.onIdle=void 0,e.draining=void 0}let i=this.isConnected&&!this.linkWaiters;for(let e of n)i&&this.replyClosed(e);n.clear()}replyClosed(e){let t={code:ma.CONNECTION_CLOSED,message:`Connection closed`};try{if(ka(e.params)===`stream`){let n=e.params.__streamSubject;typeof n==`string`&&n.startsWith(`stream.`)&&this.publishOrChunk(n,{id:e.id,type:`error`,error:t})?.catch(()=>{})}else this.publishOrChunk(`rpc.reply.${e.id}`,{id:e.id,error:t})?.catch(()=>{})}catch{}}replyMissingMethod(e,t,n){if(!Ds(e))return;let r={code:ma.METHOD_NOT_FOUND,message:`Method not found: ${t}`};try{if(ka(e.params)===`stream`){let t=e.params.__streamSubject;typeof t==`string`&&t.startsWith(`stream.`)&&this.publishOrChunk(t,{id:e.id,type:`error`,error:r})?.catch(()=>{})}else this.publishOrChunk(`rpc.reply.${e.id}`,{id:e.id,error:r,__methods:n})?.catch(()=>{})}catch{}}drainTimeoutMs(){return this.options.drainTimeoutMs??ns}onConnectionLost(e){e===this.nc&&e!==this.closingNc&&(this.nc=void 0,Promise.allSettled(this.dropConnectionState(!1)))}watchLink(e){let t;try{t=e.status()}catch{return}(async()=>{for await(let n of t){if(e!==this.nc||e===this.closingNc)break;if(n.type===`disconnect`||n.type===`staleConnection`)this.linkWaiters??=[];else if(n.type===`reconnect`)this.releaseLinkWaiters();else if(n.type===`error`){let e=Ts(n.error);e!==void 0&&this.failRefusedPublish(e)}}})().catch(()=>{})}failRefusedPublish(e){for(let t of[...this.pendingRequests.values()])t.subject===e&&(t.cleanup?.(),t.transferKey&&this.muxChunking.discard(t.transferKey),t.reject(ws(e)));for(let t of[...this.streamHandlers.values()])t.subject===e&&t.refuse?.(ws(e))}holdForLink(e){let t=this.options.timeout??3e4;return this.waitForLink(t)?.then(n=>{if(!n)throw ua(ma.TIMEOUT,`RPC call to "${e}" timed out after ${t}ms`)})}releaseLinkWaiters(){let e=this.linkWaiters;this.linkWaiters=void 0;for(let t of e??[])t()}waitForLink(e){let t=this.linkWaiters;if(t)return new Promise(n=>{let r=()=>{clearTimeout(i),n(!0)},i=setTimeout(()=>{let e=t.indexOf(r);e>=0&&t.splice(e,1),n(!1)},e);t.push(r)})}async flushBeforeClose(e){e.isClosed()||await this.flush(Math.min(this.options.disconnectTimeout??2e3,1e3)).catch(()=>{})}async awaitSubscriptions(){await this.flush(rs).catch(()=>{})}async waitClosed(e){let t;try{await Promise.race([e.closed(),new Promise(e=>{t=setTimeout(e,this.options.disconnectTimeout??2e3)})])}catch{}finally{clearTimeout(t)}}encodeOrPublishFrame(e,t,n,r=!1){let i=Ui(t);if(i instanceof Uint8Array)return i;if(i.size>=32768&&i.size<=this._maxPayloadSize&&!n?.headers){let t=this.nc;if(r&&No(t,e,n?.reply,i)||Mo(t,e,n?.reply,i))return}return Hi(i)}publishRequest(e,t,n){if(this.options.zeroCopyBinaries!==!0)return this.publish(e,t,{reply:n});try{return this.publishOrChunk(e,t,{reply:n},!0)??Promise.resolve()}catch(e){return Promise.reject(e)}}async publishChunks(e,t,n,r){if(this.unchunkableLimit!==void 0)throw ua(ma.PAYLOAD_TOO_LARGE,`Payload limit ${this.unchunkableLimit} is too small for chunking`);let i=lo(),a={type:`chunked`,transferId:i,totalChunks:Math.ceil(n.length/this._maxPayloadSize),totalSize:n.length,chunkSize:this._maxPayloadSize},o=vs(r?.headers);o.set(`x-chunked-transfer`,`header`),o.set(`x-chunk-id`,i),e.publish(t,Ei(a),{headers:o,reply:r?.reply});let s=0;for(let a of $i(n,i,this._maxPayloadSize)){let n=se();n.set(`x-chunked-transfer`,`chunk`),n.set(`x-chunk-id`,i),n.set(`x-chunk-index`,s.toString()),e.publish(t,a.data,{headers:n,reply:r?.reply}),s>0&&s%50==0&&await fo(0),s++}}noteSyncReply(){this.syncReplies++===0&&queueMicrotask(()=>{this.syncReplies=0}),this.syncReplies%ts===0&&this.nc&&Po(this.nc)}disposeChunking(){this.chunkingManager.dispose(),this.muxChunking.dispose();for(let e of this.chunkScopes.values())bs(e);for(let e of this.endpointChunking)e.dispose();this.endpointChunking.clear()}newChunkingManager(e){return new ta(this.options.maxTransferSize,e,this.chunkBudget)}chunkManager(e,t,n){if(t===void 0)return n&&(e.manager??=this.newChunkingManager()),e.manager;let r=e.lanes?.get(t);return!r&&n&&(r=this.newChunkingManager(),(e.lanes??=new Map).set(t,r)),r}joinChunkScope(e){let t=e.options?.queue?`q:${e.options.queue}:${e.pattern}`:`s:${++this.chunkScopeSeq}`,n=this.chunkScopes.get(t);return n||(n={key:t,members:0},this.chunkScopes.set(t,n)),n.members++,n}leaveChunkScope(e){let t=e.chunks;t&&(e.chunks=void 0,!(--t.members>0)&&(bs(t),this.chunkScopes.get(t.key)===t&&this.chunkScopes.delete(t.key)))}async request(e,t,n){try{return await this.withNoResponderRetry(()=>this._requestOnce(e,t,n),n?.noResponderRetry)}catch(t){throw t instanceof le.NoRespondersError?da(ua(ma.NOT_FOUND,`No responders available`),e):t}}async _requestOnce(e,t,n){if(!this.nc)throw Error(`Not connected`);let r=n?.timeout??5e3,i=Vi(t),a=r,o=this.waitForLink(r);if(o){let t=Date.now();if(!await o)throw ua(ma.TIMEOUT,`Request to "${e}" timed out after ${r}ms`);if(a=Math.max(1,r-(Date.now()-t)),!this.nc)throw Error(`Not connected`)}let s=n?.headers;n?.sender!==void 0&&(s=vs(s),s.set(fs,n.sender));let c;try{c=await this.nc.request(e,i,{timeout:a,headers:s,noMux:!1})}catch(t){throw t instanceof le.NoRespondersError||t?.cause instanceof le.NoRespondersError?new le.NoRespondersError(e):t instanceof le.TimeoutError?ua(ma.TIMEOUT,`Request to "${e}" timed out after ${r}ms`):t}if(c.headers?.get(`Nats-Service-Error-Code`)){let e=c.headers.get(`Nats-Service-Error-Code`)||`500`,t=c.headers.get(`Nats-Service-Error`)||`Service error`,n=null;if(c.data)try{n=qi(c.data)}catch{}throw ua(e,t,n)}let l=qi(c.data);if(l?.error)throw ua(l.code??ma.INTERNAL_ERROR,l.error??`Unknown error`,l);return l}async withNoResponderRetry(e,t,n){let{maxRetries:r,delays:i}=this.retryPlan(t),a;for(let t=0;;t++)try{return await e()}catch(e){if(!(e instanceof le.NoRespondersError)||t>=r||this.closed)throw e;let o=i[Math.min(t,i.length-1)];if(t===0&&(a=this.probeMethod(n,o)),await this.retryWait(o,a))throw e}}retryPlan(e){let t=e?.maxRetries??this.options.noResponderRetry?.maxRetries,n=e?.delays??this.options.noResponderRetry?.delays;return t===void 0&&n===void 0?{maxRetries:as.length,delays:as}:{maxRetries:t??ss,delays:n??os}}probeMethod(e,t){if(e?.probeNamespace!==void 0&&e.probeMethod!==void 0)return this.isMethodMissing(e.probeNamespace,e.probeMethod,Math.max(t,cs),e.onMethods)}async retryWait(e,t,n){let r=fo(e,n);return t&&await Promise.race([t,r.then(()=>!1)])?!0:(await r,!1)}async isMethodMissing(e,t,n,r){try{let{result:i}=await this._callOnce(`rpc.${e}.${is}`,[],!1,!1,Math.max(1,n));return!Array.isArray(i)||!i.every(e=>typeof e==`string`)?!1:(r?.(i),!i.includes(t))}catch{return!1}}async call(e,...t){let{result:n}=await this.withNoResponderRetry(()=>this._callOnce(e,t));return n}async callWithMeta(e,t=[],n){let r=n?.timing===!0?Date.now():0,{result:i,methods:a,timing:o}=await this.withNoResponderRetry(()=>this._callOnce(e,t,n?.discover===!0,n?.timing===!0,n?.timeout),n?.noResponderRetry,n);if(!r||!o)return{result:i,methods:a};let s=Date.now()-r,c=Math.max(0,o.end-o.start);return{result:i,methods:a,timing:{totalMs:s,handlerMs:c,transportMs:Math.max(0,s-c)}}}async _callOnce(e,t,n=!1,r=!1,i){if(!this.isConnected&&!this.isClosed&&await this.connect(),!this.nc)throw Error(`Not connected`);if(!e.startsWith(`rpc.`))return this._callOnceService(e,t,i);this.ensureMuxSubscription();let a=lo(this.replyPrefix),o=i??this.options.timeout??3e4,s=`rpc.reply.${a}`,c=performance.now()+o;return new Promise((i,l)=>{let u,d=setTimeout(()=>{u?.();let t=this.pendingRequests.get(a);t&&(this.pendingRequests.delete(a),t.transferKey&&this.muxChunking.discard(t.transferKey),l(ua(ma.TIMEOUT,`RPC call to "${e}" timed out after ${o}ms`)))},o);this.pendingRequests.set(a,{resolve:i,reject:l,timeout:d,subject:e,cleanup:()=>{clearTimeout(d),u?.(),this.pendingRequests.delete(a)}});let f={id:a,method:`call`,params:t};n&&(f.__discover=!0),r&&(f.__timing=!0);let p=()=>{f.__ttl=Math.max(1,Math.ceil(c-performance.now())),this.publishRequest(e,f,s).catch(e=>{this.pendingRequests.delete(a)&&(clearTimeout(d),l(e))})},m=this.linkWaiters;if(m){let e=()=>{this.pendingRequests.has(a)&&p()};m.push(e),u=()=>{let t=m.indexOf(e);t>=0&&m.splice(t,1)}}else p()})}async callService(e,t,n){let{result:r}=await this.withNoResponderRetry(async()=>{if(!this.isConnected&&!this.isClosed&&await this.connect(),!this.nc)throw Error(`Not connected`);return this._callOnceService(e,t,void 0,n)});return r}async _callOnceService(e,t,n,r){let i=lo(this.replyPrefix),a=n??this.options.timeout??3e4,o={id:i,method:`call`,params:t},s=r!==void 0&&_s(o)>this._maxPayloadSize?r:e,c=`${s}.reply.${i}`;return new Promise(async(t,n)=>{let r,l,u=async()=>{if(this.pendingRequests.has(i)){let e=this.pendingRequests.get(i);e?.timeout&&clearTimeout(e.timeout),this.pendingRequests.delete(i)}if(r&&!r.isClosed())try{r.unsubscribe()}catch{}l?.()},d=setTimeout(()=>{this.pendingRequests.has(i)&&(this.pendingRequests.delete(i),u(),n(ua(ma.TIMEOUT,`RPC call to "${e}" timed out after ${a}ms`)))},a);this.pendingRequests.set(i,{resolve:t,reject:n,timeout:d,subject:s,cleanup:()=>u()});let f=async e=>{let t=e;if(t.id===i){let e=this.pendingRequests.get(t.id);e&&(this.pendingRequests.delete(t.id),e.timeout&&clearTimeout(e.timeout),await u(),t.error?e.reject(la.fromJSON(t.error)):e.resolve({result:t.result,methods:t.__methods,timing:t.__timing}))}},p=(e,t)=>{t&&t.data?.length===0&&t.headers?.code===503?(n(Cs(s)),u()):e&&(n(e),u())};try{l=await this.subscribe(c,f);let e=ms(this.options.connId);r=this.nc.subscribe(e,{max:1,callback:p});let t=this.waitForLink(a);if(t&&(await t,!this.pendingRequests.has(i)))return;await this.publishRequest(s,o,e)}catch(e){await u(),n(e)}})}callStream(e,...t){return this.streamWithRetry(e,t)}callStreamWithProbe(e,t,n){return this.streamWithRetry(e,t,n)}streamWithRetry(e,t,n){let r=this,{maxRetries:i,delays:a}=this.retryPlan(),o=0,s=!1,c=!1,l,u,d,f=Promise.resolve(),p=async()=>{for(;!c;){let f=l??=r._callStreamOnce(e,...t);try{let e=await f.next();if(e.done||c)break;return s=!0,e}catch(e){if(l=void 0,c||s||!(e instanceof le.NoRespondersError)||o>=i||r.closed)throw c=!0,e;let t=a[Math.min(o,a.length-1)];o===0&&(u=r.probeMethod(n,t)),o++,d=new AbortController;let f=await r.retryWait(t,u,d.signal);if(d=void 0,f&&!c)throw c=!0,e}}return c=!0,{value:void 0,done:!0}},m={next(){let e=f.then(p);return f=e.catch(()=>{}),e},async return(e){return c||(c=!0,d?.abort(),await l?.return(void 0)),{value:e,done:!0}},async throw(e){throw await m.return(),e},[Symbol.asyncIterator](){return m},async[Symbol.asyncDispose](){await m.return()}};return m}_callStreamOnce(e,...t){let n=this,r=!1,i=!1,a=!1,o=!1,s=null,c=``,l=``,u,d=!1,f=[],p=null,m=()=>{let e=p;e&&(p=null,e({value:void 0,done:!0}))},h={push:e=>{if(!o){if(p){let t=p;p=null,t({value:e,done:!1})}else f.push(e)}},end:()=>{o=!0,m()},error:e=>{s=e,o=!0,m()},subject:e,refuse:e=>{h.error(e),_()}},g=async()=>{try{await n.publish(`${l}.cancel`,{id:c})}catch{}},_=async()=>{a||(a=!0,n.streamHandlers.delete(c),n.statusHandlers.delete(c),u?.(),o||(o=!0,d&&await g()))},v=async e=>{if(e.id!==c)return;let t=n.streamHandlers.get(e.id);if(t)switch(e.type){case`data`:t.push(e.data);break;case`end`:t.end(),await _();break;case`error`:t.error(la.fromJSON(e.error)),await _()}},y=async()=>{if(!n.isConnected&&!n.isClosed&&await n.connect(),a)return;if(!n.nc)throw Error(`Not connected`);n.ensureMuxSubscription(),c=lo(n.replyPrefix),l=`stream.${e}.${c}`,n.streamHandlers.set(c,h);let r=await n.subscribe(l,v);if(a){r(),n.streamHandlers.delete(c);return}u=r,n.statusHandlers.set(c,()=>{n.streamHandlers.get(c)?.error(Cs(e)),_()});let i=n.holdForLink(e);if(i&&(await i,o))return;let s={id:c,method:`stream`,params:{__stream:!0,__streamSubject:l,args:t}};await n.publish(e,s,{reply:`rpc.reply.${c}`}),d=!0,a&&await g()},b={async next(){if(i)return{value:void 0,done:!0};if(!r){r=!0;try{await y()}catch(e){throw await _(),e}if(i)return await _(),{value:void 0,done:!0}}if(s)throw await _(),s;if(f.length>0)return{value:f.shift(),done:!1};if(o)return await _(),{value:void 0,done:!0};let e=await new Promise((e,t)=>{i||o?e({value:void 0,done:!0}):s?t(s):p=e});if(i)return await _(),{value:void 0,done:!0};if(e.done){if(s)throw await _(),s;return await _(),{value:void 0,done:!0}}return{value:e.value,done:!1}},async return(e){return i||(i=!0,m(),r&&await _()),{value:e,done:!0}},async throw(e){throw i||(i=!0,m(),r&&await _()),e},[Symbol.asyncIterator](){return b},async[Symbol.asyncDispose](){await b.return()}};return b}callPullIterator(e,...t){let n=this,r=!1,i=!1,a=!1,o=!1,s=!1,c=!1,l=null,u,d=``,f=``,p=``,m=``,h,g=[],_=null,v=()=>{let e=_;e&&(_=null,e({id:d,type:`done`}))},y=()=>{s||(s=!0,l=ua(ma.CONNECTION_CLOSED,`Connection closed`));let e=_;e&&(_=null,e(l?{id:d,type:`error`,error:l.toJSON?.()??{code:ma.CONNECTION_CLOSED,message:`Connection closed`}}:{id:d,type:`done`}))},b=async()=>{if(!o&&(o=!0,n.pullIteratorSettles.delete(y),n.statusHandlers.delete(d),h?.(),!s)){if(s=!0,!c)return;try{let e={id:d,type:`cancel`};await n.publish(f,e)}catch{}}},x=async()=>{if(!n.isConnected&&!n.isClosed&&await n.connect(),!n.nc)throw Error(`Not connected`);if(n.ensureMuxSubscription(),n.pullIteratorSettles.add(y),d=lo(n.replyPrefix),f=`_rpc.iterator.${d}.request`,p=`_rpc.iterator.${d}.response`,m=`rpc.reply.${d}`,!a){if(c=!0,(await n.call(e,{__pullIterator:!0,__iteratorId:d,args:t}))?.iteratorId!==d)throw Error(`Failed to initialize pull iterator`);h=await n.subscribe(p,e=>{if(e.type===`error`?(l=la.fromJSON(e.error),s=!0):e.type===`done`&&(s=!0),_){let t=_;_=null,t(e)}else g.push(e)}),n.statusHandlers.set(d,()=>{let t=new le.NoRespondersError(e);s=!0,l=da(ua(`503`,t.message),e);let n={type:`error`,id:d,error:l.toJSON()};if(u=n,_){let e=_;_=null,e(n)}else g.push(n)})}},S={async next(){if(a)return{value:void 0,done:!0};if(!r){r=!0,i=!0;try{await x()}catch(e){throw i=!1,await b(),e}if(i=!1,a)return await b(),{value:void 0,done:!0}}let t={id:d,type:`next`};try{let r=n.holdForLink(e);r&&await r,s||await n.publish(f,t,{reply:m})}catch(e){throw await b(),e}let o=await new Promise((e,t)=>{a?e({id:d,type:`done`}):g.length>0?e(g.shift()):s&&l?t(l):s?e({id:d,type:`done`}):_=e});if(a)return await b(),{value:void 0,done:!0};if(o.type===`error`)throw await b(),o===u?l:la.fromJSON(o.error);return o.type===`done`?(await b(),{value:void 0,done:!0}):{value:o.value,done:!1}},async return(e){return a||(a=!0,v(),r&&!i&&await b()),{value:e,done:!0}},async throw(e){throw a||(a=!0,v(),r&&!i&&await b()),e},[Symbol.asyncIterator](){return S},async[Symbol.asyncDispose](){await S.return()}};return S}callPullIteratorWithCallback(e,t,n,...r){let i=Array.isArray(n)?void 0:n,a=Array.isArray(n)?n:n.onewayMethods,o=i?.prefetch??!1,s=this,c=!1,l=!1,u=!1,d=!1,f=!1,p=!1,m,h=null,g=``,_=``,v=``,y=``,b=``,x,S,C,w=[],T=null,E=Promise.resolve(),D=new WeakMap,O=!1,k=()=>{let e=T;e&&(T=null,e({id:g,type:`done`}))},A=()=>{f||(f=!0,h=ua(ma.CONNECTION_CLOSED,`Connection closed`));let e=T;e&&(T=null,e(h?{id:g,type:`error`,error:h.toJSON?.()??{code:ma.CONNECTION_CLOSED,message:`Connection closed`}}:{id:g,type:`done`}))},j=async()=>{if(!d&&(d=!0,s.pullIteratorSettles.delete(A),s.statusHandlers.delete(g),x?.(),C?.(),!f)){if(f=!0,!p)return;try{let e={id:g,type:`cancel`};await s.publish(_,e)}catch{}}},M=async()=>{if(!s.isConnected&&!s.isClosed&&await s.connect(),!s.nc)throw Error(`Not connected`);s.ensureMuxSubscription(),s.pullIteratorSettles.add(A),g=lo(s.replyPrefix),_=`_rpc.iterator.${g}.request`,v=`_rpc.iterator.${g}.response`,y=`_rpc.cb.${g}`,b=`rpc.reply.${g}`;let n=Object.keys(t).filter(e=>typeof t[e]==`function`),i=await s.subscribeEntry(y,e=>{if(d||u)return;let n=t[e.method];n?E=E.then(async()=>{if(!(d||u))try{await n(...e.args??[])}catch(t){console.error(`[rpc] Pull-callback handler '${e.method}' threw:`,t)}}):console.error(`[rpc] Pull-callback: unknown method '${e.method}'`)});if(x=i.unsubscribe,S=()=>i.entry.flush?.()??Promise.resolve(),u)return;let o={__pullCallback:!0,__iteratorId:g,__callbackSubject:y,__callbackMethods:n,__onewayMethods:a,args:r},c;p=!0;try{c=await s.call(e,o)}catch(e){throw x?.(),x=void 0,e}if(c?.iteratorId!==g)throw x?.(),x=void 0,Error(`Failed to initialize pull-callback iterator`);C=await s.subscribe(v,e=>{if(e.type===`error`?(h=la.fromJSON(e.error),f=!0):e.type===`done`?f=!0:D.set(e,E),T){let t=T;T=null,t(e)}else w.push(e)}),s.statusHandlers.set(g,()=>{let t=new le.NoRespondersError(e);f=!0,h=da(ua(`503`,t.message),e);let n={type:`error`,id:g,error:h.toJSON()};if(m=n,T){let e=T;T=null,e(n)}else w.push(n)})},N={async next(){if(u)return{value:void 0,done:!0};if(!c){c=!0,l=!0;try{await M()}catch(e){throw l=!1,await j(),e}if(l=!1,u)return await j(),{value:void 0,done:!0}}if(O)O=!1;else{let t={id:g,type:`next`};try{let n=s.holdForLink(e);n&&await n,f||await s.publish(_,t,{reply:b})}catch(e){throw await j(),e}}let t=await new Promise((e,t)=>{u?e({id:g,type:`done`}):w.length>0?e(w.shift()):f&&h?t(h):f?e({id:g,type:`done`}):T=e});if(u)return await j(),{value:void 0,done:!0};if(t.type===`error`)throw await j(),t===m?h:la.fromJSON(t.error);if(t.type===`done`)return await S?.(),await E,await j(),{value:void 0,done:!0};if(o&&!f&&!u&&!s.linkWaiters)try{let e={id:g,type:`next`};await s.publish(_,e,{reply:b}),O=!0}catch{O=!1}return await(D.get(t)??E),{value:void 0,done:!1}},async return(e){return u||(u=!0,k(),c&&!l&&await j()),{value:e,done:!0}},async throw(e){throw u||(u=!0,k(),c&&!l&&await j()),e},[Symbol.asyncIterator](){return N},async[Symbol.asyncDispose](){await N.return()}};return N}async callWithCallback(e,t,n){if(!this.isConnected&&!this.isClosed&&await this.connect(),!this.nc)throw Error(`Not connected`);let r=lo(this.replyPrefix),i=`rpc.cb.${r}`,a=await this.subscribe(i,async e=>{if(e.type===`data`)try{await n(e.data)}catch(e){console.error(`[rpc] Callback error:`,e)}else e.type===`error`&&console.error(`[rpc] Callback error:`,e.error)}),o={__callback:!0,__callbackSubject:i,args:t};try{await this.call(e,o)}catch(e){throw a(),e}return()=>{this.publish(`${i}.cancel`,{id:r}).catch(()=>{}),a()}}async registerHandler(e,t,n){if(n?.namespaceSubscription===!0&&!Es(e))throw Error(`Namespace "${e}" overlaps internal subjects and cannot take a namespace subscription`);if(!this.nc&&!n?.isolatedConnection)throw Error(`Not connected`);let r=this;n?.isolatedConnection&&(r=this.createIsolatedClient({...this.options,name:`${this.options.name}-handler-${e}`}),await r.connect(),this.isolatedClients.push(r));let i=[],a=new Ta,o=n?.withoutDecorators?oa(t):sa(t),s=Object.keys(o),c=Ea(n?.orphanProbe??r.options.orphanProbe),l=r.drainTimeoutMs()>0?new Set:void 0,u={entries:[],open:l},d=l?e=>{Ds(e)&&l.add(e)}:void 0,f=e=>!l||!Ds(e)?!0:l.delete(e)?(l.size===0&&u.onIdle?.(),!0):!1,p=async(e,t,n)=>{t.error=Na(n),delete t.result,t.error.code===ma.METHOD_NOT_FOUND&&(t.__methods=s);try{await r.publish(e,t)}catch(e){if(r.isClosed)return;console.error(`Failed to send error response:`,e)}},m=async(e,t,n,i,o)=>{let s=`rpc.reply.${i.id}`,l=e===`stream`&&f(i);try{if(e===`stream`){let e=i.params.__streamSubject;Oa(t,i.params.args??[],e,i.id,r,a,c).catch(e=>{console.error(`Stream request error for ${n}:`,e)});return}o.result=await Aa(e,t,i.params,i.id,r,a,c),(l=f(i))&&await r.publish(s,o)}catch(e){(l||f(i))&&await p(s,o,e)}},h=(e,t,n)=>{let i=`rpc.reply.${t.id}`,a=t.__timing===!0,o=a?Date.now():0,s;try{s=Ma(e,t.params)}catch(e){return f(t)?p(i,n,e):void 0}if(Os(s))return(async()=>{let e;try{e=await s}catch(e){f(t)&&await p(i,n,e);return}if(f(t)){a&&(n.__timing={start:o,end:Date.now()}),n.result=e;try{await r.publish(i,n)}catch(e){await p(i,n,e)}}})();if(!f(t))return;a&&(n.__timing={start:o,end:Date.now()}),n.result=s;let c;try{c=r.publishOrChunk(i,n)}catch(e){return p(i,n,e)}return c||r.noteSyncReply(),c?.catch(e=>p(i,n,e))},g=new WeakMap,_=n?.dropExpired,v=Array.isArray(_)?new Set(_):void 0,y=e=>_===!0||v?.has(e)===!0,b=e=>y(e)?e=>{Ds(e)&&g.set(e,performance.now()),d?.(e)}:d,x=e=>{let t=e.__ttl,n=g.get(e);return typeof t==`number`&&t>0&&n!==void 0&&performance.now()-n>t+ls},S=(e,t)=>{let n=y(e);return r=>{if(l&&Ds(r)&&!l.has(r))return;if(n&&x(r)){f(r);return}let i={id:r.id};r.__discover===!0&&(i.__methods=s);let a=ka(r.params);return a?m(a,t,e,r,i):h(t,r,i)}},C=e=>{let t=Math.floor(n?.concurrency?.[e]??1);return t>=2?{limit:t,isShared:e=>ka(e?.params)===void 0}:void 0},w=e=>{if(Ds(e))try{r.publishOrChunk(`rpc.reply.${e.id}`,{id:e.id,result:s})?.catch(()=>{})}catch{}},T=n?.queue?{queue:n.queue}:void 0;if(n?.namespaceSubscription===!0){let t=`rpc.${e}.`,n=new Map,{entry:a,unsubscribe:c}=r.addSubscription(`${t}>`,()=>{},T,void 0,void 0,(e,i)=>{let a=i.slice(t.length);if(!Object.hasOwn(o,a)){a===is?w(e):r.replyMissingMethod(e,a,s);return}let c=n.get(a);if(!c){let e=S(a,o[a]),t=e=>console.error(`Error in handler for ${i}:`,e),r=C(a);c={dispatch:(r?mo(e,r.limit,r.isShared,t):po(e,t)).dispatch,receive:b(a)},n.set(a,c)}c.receive?.(e),c.dispatch(e)},e=>{let n=e.slice(t.length);return Object.hasOwn(o,n)?n:void 0});u.entries.push(a),i.push(c)}else{for(let[t,n]of Object.entries(o)){let{entry:a,unsubscribe:o}=r.addSubscription(`rpc.${e}.${t}`,S(t,n),T,C(t),b(t));u.entries.push(a),i.push(o)}if(!Object.hasOwn(o,is)){let{entry:t,unsubscribe:n}=r.addSubscription(`rpc.${e}.${is}`,w,T);u.methods=t,i.unshift(n)}}return r.responders.add(u),await r.awaitSubscriptions(),async()=>{l&&await Promise.allSettled([r.drainResponders([u]),...a.stop()]),r.responders.delete(u);for(let e of i)e();await Promise.allSettled(a.stop()),n?.isolatedConnection&&(await r.disconnect(),this.forgetIsolated(r))}}async onRequest(e,t,n){if(!this.nc)throw Error(`Not connected`);return this.subscribeMessages(e,r=>{(n?.ignoreSender===void 0||r.headers?.get(fs)!==n.ignoreSender)&&(async()=>{try{let e=await t(qi(r.data));if(r.reply){let t=Vi(e);r.respond(t)}}catch(t){if(r.reply){let{code:e,message:n}=Na(t),i=Vi({error:n,code:e});r.respond(i)}console.error(`Error in request handler for ${e}:`,t)}})()})}async channel(e,t){let n=t?.isolatedConnection?this.isolatedChannelClient(`${this.options.name}-channel-${e}`):this;return this.openChannel(n,new ho(n,e))}async privateChannel(e,t,n){let r=n?.isolatedConnection?this.isolatedChannelClient(`${this.options.name}-private-${e}`):this;return this.openChannel(r,new go(r,e,t))}isolatedChannelClient(e){let t=this.createIsolatedClient({...this.options,name:e});return this.isolatedClients.push(t),t}async openChannel(e,t){let n=e!==this;try{n&&await e.connect(),await t.init()}catch(t){throw n&&(await e.disconnect().catch(()=>{}),this.forgetIsolated(e)),t}return n&&(t._isolatedClient=e,t._releaseIsolated=()=>this.forgetIsolated(e)),t}forgetIsolated(e){let t=this.isolatedClients.indexOf(e);t>=0&&this.isolatedClients.splice(t,1)}createProxy(e,t){let n;t?.isolatedConnection?(n=this.createIsolatedClient({...this.options,name:`${this.options.name}-proxy-${e}`}),this.isolatedClients.push(n)):n=this;let r=io(n,e,[],void 0,t?.onTiming,{noResponderRetry:t?.noResponderRetry,timeout:t?.timeout});return t?.isolatedConnection?(r._isolatedClient=n,{proxy:r,close:async()=>{await n.disconnect(),this.forgetIsolated(n)}}):r}async createServiceProxy(e,t){let n;t?.isolatedConnection?(n=this.createIsolatedClient({...this.options,name:`${this.options.name}-service-${e}`}),this.isolatedClients.push(n),await n.connect()):n=this;let r=n.service.monitor(),i=[];for await(let t of await r.info(e))i.push(t);if(i.length===0)throw t?.isolatedConnection&&(await n.disconnect(),this.forgetIsolated(n)),Error(`No services found with name: ${e}`);let a=t?.preferredId?i.find(e=>e.id===t.preferredId)??i[0]:i[0],o=ao(n,a,t?.timeout);return t?.isolatedConnection?(o._isolatedClient=n,{proxy:o,close:async()=>{await n.disconnect(),this.forgetIsolated(n)}}):o}};function gs(e,t){return t?t.aborted?(e.then(e=>xs(e)).catch(()=>{}),Promise.reject(new DOMException(`Aborted`,`AbortError`))):new Promise((n,r)=>{let i=!1,a=()=>{i||(i=!0,e.then(e=>xs(e)).catch(()=>{}),r(new DOMException(`Aborted`,`AbortError`)))};t.addEventListener(`abort`,a,{once:!0}),e.then(e=>{i?xs(e):(i=!0,t.removeEventListener(`abort`,a),n(e))},e=>{i||(i=!0,t.removeEventListener(`abort`,a),r(e))})}):e}function _s(e){let t=Ui(e);return t instanceof Uint8Array?t.length:t.size}function vs(e){let t=se();for(let n of e?.keys()??[])for(let r of e.values(n))t.append(n,r);return t}function ys(e,t){let n=[e,t].filter(e=>typeof e==`number`&&e>0);return n.length>0?Math.min(...n):1048576}function bs(e){e.manager?.dispose();for(let t of e.lanes?.values()??[])t.dispose()}function xs(e){let t=e;try{typeof t.abortClose==`function`?t.abortClose():e.close().catch(()=>{})}catch{}}function Ss(e){return!e||e.isClosed()?Promise.resolve():typeof e.drain==`function`?e.drain().catch(()=>{}):(e.unsubscribe(),Promise.resolve())}function Cs(e){return da(new le.NoRespondersError(e),e)}function ws(e){return ua(ma.FORBIDDEN,`Permission denied for "${e}"`,{subject:e})}function Ts(e){let t=e;if(t?.name===`PermissionViolationError`&&t.operation===`publish`&&t.subject)return t.subject}function Es(e){let t=e.split(`.`,1)[0];return t!==`reply`&&t!==`cb`}function Ds(e){return typeof e?.id==`string`}function Os(e){return e!==null&&(typeof e==`object`||typeof e==`function`)&&typeof e.then==`function`}function ks(e={}){let{releaseDelay:t=1e3,onRelease:n}=e,r=new Map,i=new Map;function a(e){let t=i.get(e);t&&(clearTimeout(t),i.delete(e))}function o(e){let t=r.get(e);if(t){try{n?.(e,t.value)}catch{}r.delete(e)}i.delete(e)}function s(e,t){a(e);let n=r.get(e);if(n)return n.refCount++,n.value;let i=t();return r.set(e,{value:i,refCount:1}),i}function c(e,n){let a=r.get(e);if(!(!a||a.refCount<=0)&&(n===void 0||a.value===n)&&(a.refCount--,a.refCount===0)){let n=setTimeout(()=>{let t=r.get(e);t&&t.refCount<=0?o(e):i.delete(e)},t);i.set(e,n)}}function l(e){return r.get(e)?.value}function u(e){return r.has(e)}function d(e){a(e),o(e)}function f(){for(let e of i.keys())a(e);for(let e of r.keys())o(e)}function p(e){return r.get(e)?.refCount??0}function m(e){for(let[t,n]of r)e(n.value,t)}return{acquire:s,release:c,get:l,has:u,forceRelease:d,clear:f,getRefCount:p,forEachValue:m}}var As=1e3,js=3e4;function Ms(){let e,t=As;function n(n){e||(e=setTimeout(()=>{e=void 0,n()},t),t=Math.min(t*2,js))}function r(){clearTimeout(e),e=void 0}function i(){t=As}return{schedule:n,cancel:r,reset:i}}function Ns(){let e=w(gd);if(!e)throw Error(`[camera.ui] useCameraUi() called without CameraUiPlugin installed. Make sure to call app.use(createCameraUiPlugin({ ... })) before using this composable.`);return e}function Ps(e){return e.replace(/ /g,`_`).toLowerCase()}function Fs(e,t){return`cui_${Ps(e)}_${Ps(t)}`}var Is=class{static coreManagerNamespaces(){return{coreManagerSubject:`coreManager.subscriber`,coreManagerRpc:`coreManager.rpc`}}static deviceManagerNamespaces(){return{deviceManagerSubject:`deviceManager.subscriber`,deviceManagerRpc:`deviceManager.rpc`}}static sensorDiscoveryNamespaces(){return{sensorDiscoverySubject:`sensorDiscovery.subscriber`}}static discoveryManagerNamespaces(){return{discoveryManagerSubject:`discoveryManager.subscriber`,discoveryManagerRpc:`discoveryManager.rpc`}}static pluginNamespaces(e){return{pluginDeviceManagerSubject:`plugin.${e}.deviceManager.subscriber`,pluginChildRpc:`plugin.${e}.child.rpc`,pluginChild:`plugin.${e}.child`,pluginStorageRpc:`plugin.${e}.storage.rpc`,pluginConfigStoreRpc:`plugin.${e}.configstore.rpc`}}static pluginFileServeRpc(e){return`plugin.${e}.fileserve.rpc`}static cameraNamespaces(e){return{cameraSubject:`camera.${e}.subscriber`,cameraStateSubject:`camera.${e}.state`,cameraControllerRpc:`camera.${e}.controller.rpc`}}static frameWorkerNamespaces(e){return{frameWorkerChildRpc:`camera.${e}.frameWorker.child.rpc`,frameWorkerChild:`camera.${e}.frameWorker.child`}}static pluginCameraNamespaces(e,t){return{cameraInterfacesRpc:`plugin.${e}.camera.${t}.cameraInterfaces.rpc`,cameraStorageRpc:`plugin.${e}.camera.${t}.cameraStorage.rpc`,cameraImplRpc:`plugin.${e}.camera.${t}.impl.rpc`}}static pluginSensorNamespaces(e,t){return{sensorStorageRpc:`plugin.${e}.sensor.${t}.storage.rpc`}}static sensorRegistryNamespaces(){return{sensorsSubject:`sensors.subject`,sensorsRpc:`sensors.rpc`}}static sensorCameraViewNamespaces(e){return{sensorWriteSubject:`camera.${e}.sensors.writes`}}static sensorEventNamespaces(e){return{sensorSubject:`sensor.${e}.subject`,sensorStateSubject:`sensor.${e}.state`}}static sensorProviderNamespaces(e,t){return{sensorRpc:`plugin.${e}.sensor.${t}.rpc`}}static frameWorkerDetectionNamespaces(e){return{detectionRpc:`camera.${e}.frameWorker.detection.rpc`}}static detectionEventNamespaces(e){return{detectionEventSubject:`camera.${e}.events.subject`}}static terminalManagerNamespaces(){return{terminalManagerSubject:`terminalManager.subscriber`,terminalManagerRpc:`terminalManager.rpc`}}static downloadManagerNamespaces(){return{downloadManagerRpc:`downloadManager.rpc`}}static notificationManagerNamespaces(){return{notificationsPublishSubject:`notifications.publish`}}static workerAgentRpc(e){return`worker.${e}.rpc`}static workerManagerRpc(e){return`workers.${e}.manager.rpc`}static sharedWorkerManagerRpc(){return`workers.manager.rpc`}static workerSync(e){return`worker.${e}.sync`}static workerLinkSubject(e){return`worker.${e}.link`}static workerDisconnect(e){return`workers.${e}.disconnect`}static sharedWorkerDisconnect(){return`workers.disconnect`}static workerLogs(e){return`workers.${e}.logs`}static sharedWorkerLogs(){return`workers.logs`}},Ls=3,Rs=3e4,zs=3e4,Bs=new Set([`Not connected`,`rpc: not connected`]),Vs=new WeakMap;function Hs(e){Vs.set(e,Date.now())}function Us(e){return Date.now()-(Vs.get(e)??-1/0)<zs}function Ws(e){return e instanceof Error&&e.code===void 0&&e.name===`NoResponders`}async function Gs(e,t,n={}){let r=n.maxRetries??Ls,i=n.awaitConnect??!0,a=n.connectTimeoutMs??Rs,o=n.retryDelayMs??Ks,s=n.shouldRetry,c=n.retryOnTimeout??!1,l=n.signal,u=0,d=Js(e,()=>u++,{flush:`sync`}),f;try{for(let n=0;n<=r;n++){if(l?.aborted)throw Zs();let d=e.value;if(!d){if(!i)throw Error(`rpc: not connected`);d=await Ys(e,a,l)}let p=u;try{return await t(d)}catch(t){if(f=t,n>=r||!(s?s(t,n):qs(t,d,e,u!==p,c)))throw t;await Xs(o(n),l)}}}finally{d()}throw f??Error(`rpc: max retries exceeded`)}function Ks(e){return Math.min(100*2**e,1e3)}function qs(e,t,n,r,i){if(n.value!==t||t.isConnected===!1&&t.isClosed===!1)return!0;if(!(e instanceof Error))return!1;let a=e.code;return a===void 0&&Bs.has(e.message)||Ws(e)&&Us(n)?!0:a===`TIMEOUT`&&(i||r)}function Js(e,t,n){let r=v(!0);return r.run(()=>I(e,t,n)),()=>r.stop()}async function Ys(e,t,n){return e.value?e.value:new Promise((r,i)=>{let a=setTimeout(()=>{s(),n?.removeEventListener(`abort`,o),i(Error(`rpc: connect timeout`))},t),o=()=>{clearTimeout(a),s(),i(Zs())};n?.addEventListener(`abort`,o,{once:!0});let s=Js(e,e=>{e&&(clearTimeout(a),s(),n?.removeEventListener(`abort`,o),r(e))})})}async function Xs(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Zs());return}let i=setTimeout(()=>{t?.removeEventListener(`abort`,a),n()},e),a=()=>{clearTimeout(i),r(Zs())};t?.addEventListener(`abort`,a,{once:!0})})}function Zs(){if(typeof DOMException<`u`)return new DOMException(`Aborted`,`AbortError`);let e=Error(`Aborted`);return e.name=`AbortError`,e}var Qs=2e3,$s=6e4,ec=new WeakMap,tc=new WeakMap;function nc(e){let t=e?.value;if(!e||!t)return;let n=ec.get(e);if(!n||n.client!==t)return t;performance.now()-n.since>=$s&&!tc.has(t)&&sc(e,n)}function rc(e,t){if(e.value!==t||ec.has(e))return;let n=Js(e,()=>cc(e),{flush:`sync`});ec.set(e,{client:t,since:performance.now(),stop:n})}function ic(e,t){e.value!==t||ec.has(e)||ac(t).then(n=>{n||rc(e,t)})}function ac(e){let t=tc.get(e);return t||(t=oc(e),tc.set(e,t),t.then(()=>tc.delete(e))),t}async function oc(e){try{return await e.flush(Qs),!0}catch{return!1}}function sc(e,t){ac(t.client).then(n=>{ec.get(e)===t&&(n?cc(e):t.since=performance.now())})}function cc(e){ec.get(e)?.stop(),ec.delete(e)}var lc=3e4,uc=new ct(`TabVisibility`),dc=e(typeof document>`u`||document.visibilityState===`visible`),fc=null,pc=new Set,mc=new Set,hc=new Set,gc=!1;function _c(e){uc.debug(`paused listener fired (delay ${e.delayMs}ms reached)`);try{e.cb()}catch(e){uc.error(`onTabPaused listener threw:`,e)}}function vc(e){uc.debug(`paused listener scheduled in ${e.delayMs}ms`),e.timer=setTimeout(()=>{e.timer=null,dc.value?uc.debug(`paused listener skipped — tab visible before delay`):_c(e)},e.delayMs)}function yc(){for(let e of mc)e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}function bc(){gc||typeof document>`u`||(gc=!0,document.addEventListener(`visibilitychange`,()=>{let e=document.visibilityState===`visible`;if(!e&&dc.value){dc.value=!1,fc=Date.now(),uc.debug(`tab → hidden (hidden=${pc.size} paused=${mc.size})`);for(let e of pc)try{e.cb()}catch(e){uc.error(`onTabHidden listener threw:`,e)}for(let e of mc)e.delayMs<=0?_c(e):vc(e)}else if(e&&!dc.value){yc();let e=fc==null?0:Date.now()-fc;fc=null,dc.value=!0,uc.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${hc.size})`);for(let{cb:t}of hc)try{t({hiddenMs:e})}catch(e){uc.error(`onTabVisible listener threw:`,e)}}}),document.addEventListener(`freeze`,()=>{for(let e of mc)e.timer!==null&&(clearTimeout(e.timer),e.timer=null,_c(e))}))}function xc(){bc();let e=h(()=>dc.value);function t(e){let t={cb:e};pc.add(t);let n=()=>{pc.delete(t)};return M(n),n}function n(e,t={}){let n={cb:e,delayMs:t.delayMs??3e4,timer:null};mc.add(n);let r=()=>{n.timer!==null&&(clearTimeout(n.timer),n.timer=null),mc.delete(n)};return M(r),r}function r(e){let t={cb:e};hc.add(t);let n=()=>{hc.delete(t)};return M(n),n}return{isVisible:e,onTabHidden:t,onTabPaused:n,onTabVisible:r}}var Sc=5e3,Cc=6e4,wc=new Map,Tc=new Map,Ec=new Map,Dc=new Map,Oc=new Map,kc=new Map,Ac=new Map;function jc(e){kc.get(e)?.forEach(e=>e())}function Mc(e,t,n=!1){let r=Ac.get(t);if(r)return r;let i=(async()=>{let r=await ol(e,t);try{return r?await r.fetchSnapshot(void 0,n?!0:void 0)??void 0:void 0}finally{r&&cl(r)}})().finally(()=>Ac.delete(t));return Ac.set(t,i),i}var Nc=new WeakSet;function Pc(e,t){Nc.has(e)||(Nc.add(e),e.on(`reconnected`,()=>{setTimeout(()=>{let e=0;for(let n of kc.keys()){if((kc.get(n)?.size??0)===0)continue;let r=n;setTimeout(()=>{(kc.get(r)?.size??0)!==0&&Mc(t,r).catch(()=>void 0)},e),e+=150}},0)}))}function Fc(e,t){if(!e||e.mode===`onDemand`)return!1;if(t===void 0)return!0;let n=(e.mode===`interval`?e.interval:e.maxAge)*1e3;return Date.now()-t>n}function Ic(e){setTimeout(()=>URL.revokeObjectURL(e),Sc)}function Lc(e,t,n){let r=Dc.get(e);if(n&&r){let e=r.fetchedAt-n.fetchedAt;return e>0&&e<=Cc}return t!==void 0&&t<(Ec.get(e)??-1/0)}function Rc(e,t,n,r,i){if(!Lc(e,r,i)){if(Ec.set(e,r??Date.now()),i?Dc.set(e,i):Dc.delete(e),wc.get(e)!==t){let n=Oc.get(e);n&&(Ic(n),Oc.delete(e)),wc.set(e,t)}n!==void 0&&Tc.set(e,n),jc(e)}}function zc(e){return wc.get(e)}function Bc(e,t){let n=Dc.get(e);return n?.sourceId===t?n.fetchedAt:void 0}function Vc(e,t){return kc.has(e)||kc.set(e,new Set),kc.get(e).add(t),()=>{kc.get(e)?.delete(t)}}function Hc(e){let t=wc.get(e);if(!t)return;let n=Oc.get(e);return n||(n=URL.createObjectURL(new Blob([t],{type:`image/jpeg`})),Oc.set(e,n)),n}function Uc(){for(let e of Oc.values())URL.revokeObjectURL(e);Oc.clear(),wc.clear(),Tc.clear(),Ec.clear(),Dc.clear()}function Wc(t){let n=Ns(),{isConnected:r}=n,i=Zc(),{onTabVisible:a}=xc(),o=p(),s=e(!1),c=e(!1);Pc(n,i);let l=h(()=>{if(!o.value)return;let e=u(t);return Hc(typeof e==`string`?e:e._id)}),d=h(()=>{if(!o.value)return;let e=u(t),n=typeof e==`string`?e:e._id;return Tc.get(n)});function f(e){kc.has(e)||kc.set(e,new Set);let t=()=>{o.value=wc.get(e)};return kc.get(e).add(t),()=>{kc.get(e)?.delete(t)}}let m,g,_,v,y=Ms(),b=!1;function x(){let e=u(t);return typeof e==`string`?e:e._id}async function S(e){if(g!==e&&v!==e){v=e;try{let t=await ol(i,e);if(!t)return;if(b||x()!==e||g===e){cl(t);return}T(),g=e,_=t,w()}catch{x()===e&&C(e)}finally{v=void 0}}}function C(e){b||y.schedule(()=>{r.value&&x()===e&&!O(u(t))&&S(e).then(()=>{if(g===e)return D(e)})})}function w(){y.cancel(),y.reset()}function T(){g&&(_&&cl(_),g=void 0,_=void 0)}function E(e){let t=wc.get(e);return t?(o.value=t,c.value=!0,!0):!1}async function D(e,t=!1){if(r.value&&e&&(t||!E(e))){s.value=!0;try{let t=await Mc(i,e);t&&(o.value=wc.get(e)??t)}catch{}finally{s.value=!1,c.value=!0}}}function O(e){return typeof e==`object`&&e?.disabled===!0}async function k(){let e=u(t),n=typeof e==`string`?e:e._id;if(n&&r.value&&!O(e)){s.value=!0;try{let e=await Mc(i,n,!0);e&&(o.value=wc.get(n)??e)}catch{}finally{s.value=!1,c.value=!0}}}return I([r,()=>u(t),()=>O(u(t))],async([e,t,n])=>{w(),m?.(),m=void 0;let r=typeof t==`string`?t:t._id;e&&r&&!n?(typeof t==`object`&&nl(t.name,r),m=f(r),E(r),await S(r),await D(r)):r?(T(),o.value=wc.get(r),c.value=!0):(T(),o.value=void 0)},{immediate:!0}),a(()=>{let e=x();r.value&&_&&g===e&&Fc(_.camera.value.snapshotSettings,Tc.get(e))&&Mc(i,e).catch(()=>void 0)}),M(()=>{b=!0,w(),m?.(),T()}),{snapshot:o,snapshotSrc:l,snapshotTimestamp:d,isLoading:h(()=>s.value||!c.value),refresh:k}}var Gc=`not-modified`,Kc=new WeakMap,qc=new WeakMap;async function Jc(t,n){let r=Is.cameraNamespaces(n._id),i=`rpc`in t&&`value`in t.rpc?t:void 0,a=i?i.rpc:p(t),o=i?.bulkRpc,s,c,l=!1,u,d=!1,f=Ms(),m=0,g=0,_,v,y=!1,b=p(n),x=e(!1),S=e(!1),C=p(zc(n._id)),w=e(!1),T=e({}),E=Vc(n._id,()=>{C.value=zc(n._id)}),D=h(()=>b.value.name),O=h(()=>b.value.room),k=h(()=>b.value.nativeId),A=h(()=>b.value.disabled),j=h(()=>b.value.detectionSettings?.snooze??!1),M=h(()=>b.value.isCloud),N=h(()=>JSON.parse(JSON.stringify(b.value.sources)).map(e=>({...e,snapshot:async t=>ne(e._id,t),probeStream:async(t,n=!1)=>ie(e._id,t,n)}))),P=h(()=>N.value.find(e=>e.role===`high-resolution`)),F=h(()=>N.value.find(e=>e.role===`mid-resolution`)),I=h(()=>N.value.find(e=>e.role===`low-resolution`)),L=h(()=>P.value??F.value??I.value),R=h(()=>N.value.find(e=>e.role===`snapshot`)??N.value.find(e=>e.useForSnapshot)),z=h(()=>{let e=new Set;for(let t of Object.values(T.value))e.add(t.type);return e}),B=h(()=>Array.from(z.value)),V=h(()=>z.value.has(Q.Light)),H=h(()=>z.value.has(Q.Siren)),ee=h(()=>z.value.has(Q.Doorbell)),U=h(()=>z.value.has(Q.Battery)),W=h(()=>z.value.has(Q.Audio)),G=h(()=>z.value.has(Q.Motion)),te=h(()=>z.value.has(Q.Object)),K=h(()=>z.value.has(Q.PTZ));async function ne(e,t){w.value=!0;let r=Date.now();try{let i=await q(e,t);if(i===Gc)return zc(n._id);if(i&&i.data.byteLength>0){let t=i.stamp===void 0?void 0:{sourceId:e,fetchedAt:i.stamp};return Rc(n._id,i.data,i.fetchedAt,i.fetchedAt??r,t),i.data}return}finally{w.value=!1}}async function q(e,t){let n,r=!1;try{return await Gs(a,async i=>{n=re(i,r);try{return await J(n,e,t)}catch(a){if(!o||n===i||a.code!==`TIMEOUT`||await ac(n))throw a;return r=!0,rc(o,n),n=i,J(i,e,t)}},{retryOnTimeout:!t})}catch(i){if(i.code!==`TIMEOUT`||!n||Kc.has(n))throw i;return Gs(a,n=>Y(re(n,r),e,t))}}function re(e,t=!1){return t?e:nc(o)??e}async function J(e,t,i){let o=Kc.get(e);if(o===!1)return Y(e,t,i);try{let a=e.createProxy(r.cameraControllerRpc),o=i?void 0:Bc(n._id,t),s=o===void 0?await a.snapshotWithMeta(t,i):await a.snapshotWithMeta(t,i,o);return Kc.set(e,!0),s?.notModified?Gc:s?.data?{data:s.data,fetchedAt:Date.now()-(s.ageMs??0),stamp:s.fetchedAt}:void 0}catch(n){if(n.code===`METHOD_NOT_FOUND`)return Kc.set(e,!1),Y(e,t,i);if(o||!Ws(n))throw n}let s=await Y(e,t,i);return Us(a)||Kc.set(e,!1),s}async function Y(e,t,n){let i=await e.createProxy(r.cameraControllerRpc).snapshot(t,n);return i?{data:i,fetchedAt:n?Date.now():void 0}:void 0}async function ie(e,t,n=!1){return Gs(a,i=>i.createProxy(r.cameraControllerRpc).probeStream(e,t,n),{retryOnTimeout:!n})}async function X(e){return Gs(a,t=>t.createProxy(r.cameraControllerRpc).streamUrl(e))}function Z(){return v=void 0,oe()}function ae(){if(v)return v;if(!_)return oe();let e=m;return v=_.catch(()=>{}).then(()=>m===e?(v=void 0,oe()):_),v}function oe(){let e=se(++m).finally(()=>{_===e&&(_=void 0)});return _=e,e}async function se(e){let t=await Gs(a,e=>e.createProxy(r.cameraControllerRpc).refreshStates());e<g||(g=e,b.value=t.camera,x.value=t.cameraState,S.value=t.frameWorkerState,T.value=t.sensorStates)}function ce(){y||l||(y=!0,queueMicrotask(()=>{y=!1,l||ae().catch(()=>{})}))}function le(e){if(T.value[e]===void 0)return;let t={...T.value};delete t[e],T.value=t}async function ue(e){switch(e.type){case`removed`:await ge();break;case`updated`:b.value=e.data;break;case`cameraState`:x.value=e.data;break;case`frameWorkerState`:S.value=e.data;break;case`snapshot:updated`:{let{sourceId:t,snapshot:r,fetchedAt:i}=e.data;Rc(n._id,r,i,void 0,t&&i!==void 0?{sourceId:t,fetchedAt:i}:void 0);break}}}function de(e){if(e.type===`sensor:added`){let t=e.data;if(!t.sensor.assignedCameraIds.includes(n._id)||!t.sensor.connected)return;T.value={...T.value,[t.sensor.id]:t.state}}else if(e.type===`sensor:deleted`)le(e.data.sensorId);else if(e.type===`sensor:connected:changed`){let t=e.data;if(t.connected){if(t.assignedCameraIds&&!t.assignedCameraIds.includes(n._id))return;ce()}else le(t.sensorId)}else if(e.type===`sensor:assignment:changed`){let t=e.data;if(t.cameraId!==n._id)return;t.assigned?ce():le(t.sensorId)}}async function fe(){s?.(),s=void 0,c?.(),c=void 0;let e=await Gs(a,e=>e.subscribe(r.cameraSubject,ue));if(l){e();return}s=e;let t=await Gs(a,e=>Yc(e,de));l?t():(c=t,await Z())}function pe(){return l?Promise.resolve():(f.cancel(),u?(d=!0,u):(u=me(),u))}async function me(){try{do d=!1,await fe();while(d&&!l);f.reset()}catch(e){throw he(),e}finally{u=void 0}}function he(){l||f.schedule(()=>{pe().catch(()=>{})})}async function ge(){l=!0,f.cancel(),s?.(),s=void 0,c?.(),c=void 0,E()}async function _e(e,t){let n=N.value.find(e=>e.useForSnapshot),r=N.value.find(e=>e.role===`snapshot`),i=e??r?._id??n?._id??I.value?._id??F.value?._id??P.value?._id??L.value?._id;return i?ne(i,t):Promise.resolve(void 0)}async function ve(e,t,n=!1){let r=e??L.value?._id;return r?ie(r,t,n):Promise.resolve(void 0)}try{await fe()}catch(e){throw await ge(),e}return{id:n._id,name:D,room:O,nativeId:k,disabled:A,snooze:j,isCloud:M,connected:x,frameWorkerConnected:S,sources:N,streamSource:L,snapshotSource:R,highResolutionSource:P,midResolutionSource:F,lowResolutionSource:I,capabilities:B,hasLight:V,hasSiren:H,hasDoorbell:ee,hasBattery:U,hasAudioSensor:W,hasMotionSensor:G,hasObjectSensor:te,hasPtz:K,camera:b,snapshot:C,snapshotLoading:w,fetchSnapshot:_e,probeStream:ve,streamUrl:X,refreshStates:Z,reconnect:pe,close:ge}}async function Yc(e,t){let n=qc.get(e);if(!n){let t=new Set,r=Is.sensorRegistryNamespaces().sensorsSubject;n={handlers:t,subscribed:e.subscribe(r,e=>{for(let n of t)try{n(e)}catch{}})},qc.set(e,n)}let r=n;r.handlers.add(t);try{await r.subscribed}catch(n){throw r.handlers.delete(t),qc.get(e)===r&&qc.delete(e),n}return()=>Xc(e,r,t)}function Xc(e,t,n){!t.handlers.delete(n)||t.handlers.size>0||(qc.get(e)===t&&qc.delete(e),t.subscribed.then(e=>e()).catch(()=>{}))}function Zc(){let e=Ns(),t=Is.deviceManagerNamespaces();async function n(n){let r=await Gs(e.rpc,e=>e.createProxy(t.deviceManagerRpc).getCamera(n,`@camera.ui/browser`));if(r)return Jc(e,r)}return{getCamera:n}}var Qc=ks({releaseDelay:1e3,onRelease:(e,t)=>t.close()}),$c=new Map,el=new Map;function tl(){Qc.clear(),$c.clear(),el.clear()}function nl(e,t){e&&t&&e!==t&&el.set(e,t)}function rl(e){if(Qc.has(e))return e;let t;return Qc.forEachValue((n,r)=>{t===void 0&&n.name.value===e&&(t=r)}),t}function il(e){let t=$c.get(e);if(t)return t;for(let[t,n]of el){let r=n===e?$c.get(t):t===e?$c.get(n):void 0;if(r)return r}}function al(e){let t=rl(e);if(t!==void 0)return Qc.acquire(t,()=>{throw Error(`Should not create - already cached`)})}async function ol(e,t){let n=al(t);if(n)return n;let r=il(t);if(r){let e=await r,n=al(t);if(n||!e)return n}let i=e.getCamera(t);$c.set(t,i);try{let e=await i;return e?sl(e):void 0}finally{$c.get(t)===i&&$c.delete(t)}}function sl(e){let t=Qc.acquire(e.id,()=>e);return t!==e&&e.close(),t}function cl(e){Qc.release(e.id,e)}function ll(){Qc.forEachValue(e=>{e.reconnect().catch(()=>{})})}function ul(){Qc.forEachValue(e=>{e.refreshStates().catch(()=>e.reconnect().catch(()=>{}))})}function dl(t){let{isConnected:n}=Ns(),r=Zc(),i=p(),a=e(!1),o=e(!1),s=e(),c,l=Ms(),d=!1;function f(e,t){c=e,i.value=t,s.value=void 0,v()}function m(){i.value&&cl(i.value),i.value=void 0,c=void 0}function g(e,t){s.value=t instanceof Error?t:Error(String(t)),_(e)}function _(e){d||l.schedule(()=>{n.value&&u(t)===e&&c!==e&&y(e,!0).catch(()=>{})})}function v(){l.cancel(),l.reset()}async function y(e,l=!1){if(d||!n.value||!e)return;if(c!==void 0&&c!==e){if(i.value&&(i.value.id===e||i.value.name.value===e)){c=e;return}m()}if(i.value)return;let p=al(e);if(p)f(e,p),o.value=!0;else{l||(a.value=!0,s.value=void 0);try{let n=await ol(r,e);if(!n)return;if(d||u(t)!==e||i.value){cl(n);return}f(e,n)}catch(t){g(e,t)}finally{a.value=!1,o.value=!0}}}async function b(){let e=u(t);if(!e)return;let n=i.value;n&&(Qc.get(n.id)===n&&Qc.getRefCount(n.id)<=1?Qc.forceRelease(n.id):cl(n),i.value=void 0,c=void 0),await y(e)}return I([n,()=>u(t)],async([e,t])=>{v(),e&&t?await y(t):!e&&c!==void 0&&m()},{immediate:!0}),M(()=>{d=!0,v(),m()}),{camera:i,isLoading:h(()=>a.value||!o.value),error:s,refresh:b}}var fl=new Map,pl=new Map,ml=new Map;function hl(){fl.clear(),pl.clear()}function gl(e){return pl.get(e)}function _l(e){fl.delete(e)}async function vl(e,t){let n=fl.get(t);if(n)return n;let r=ml.get(t);if(r)return r;let i=(async()=>{let n=Is.coreManagerNamespaces(),r=await Gs(e,e=>e.createProxy(n.coreManagerRpc).getPlugin(t));if(r)return fl.set(t,r.id),pl.set(r.id,t),r.id})().finally(()=>ml.delete(t));return ml.set(t,i),i}var yl=1500,bl=3e4,xl=new Map;function Sl(){for(let e of xl.values())e.stop();xl.clear()}function Cl(t){let n=Ns(),r=e({status:`disconnected`}),i=e(null),a,o=0,s=0,c=!1,l=0,u=0;function d(e,t){return e.createProxy(Is.pluginNamespaces(t).pluginChildRpc)}let f=e=>Gs(n.rpc,async r=>{let i=await vl(n.rpc,t);if(!i)throw Error(`Plugin "${t}" not found`);try{return await e(d(r,i))}catch(a){if(!pa(a))throw a;_l(t);let o=await vl(n.rpc,t);if(!o||o===i)throw a;return e(d(r,o))}});function p(e,t=++l){t<u||(u=t,r.value=e,g())}async function m(){let e=++l;p(await f(e=>e.getOAuthState()),e),i.value||=await f(e=>e.getOAuthMetadata())}function h(){c||(c=!0,m().catch(()=>void 0).finally(()=>{c=!1}))}function g(){let{status:e}=r.value,t=s===0?0:e===`awaiting_user`||e===`polling`?yl:bl;t!==o&&(clearInterval(a),a=t?setInterval(h,t):void 0,o=t)}function _(){s++>0||(g(),h())}function v(){s!==0&&(s--,g())}function y(){s=0,g()}return{state:r,metadata:i,call:f,refresh:m,apply:p,retain:_,release:v,stop:y}}function wl(e){xl.has(e)||xl.set(e,Cl(e));let t=xl.get(e),{state:n,metadata:r,call:i,refresh:a,apply:o}=t;t.retain(),M(t.release);async function s(e){o(await i(t=>t.startDeviceFlow(e)))}async function c(e){o(await i(t=>t.startAuthCodeFlow(e)))}async function l(){(n.value.status===`awaiting_user`||n.value.status===`polling`)&&await i(e=>e.cancelDeviceFlow?.()??e.cancelAuthCodeFlow?.()??Promise.resolve()),await a()}async function u(){await i(e=>e.disconnect()),await a()}return{state:n,metadata:r,startDeviceFlow:s,startAuthCodeFlow:c,cancel:l,disconnect:u,refresh:a}}var Tl=2e3,El=3e4,Dl=ks({releaseDelay:1e3}),Ol=new Map,kl=new Map,Al=new Set,jl=new Set,Ml=new Map,Nl=new Map,Pl=new Map,Fl=new Map,Il,Ll;function Rl(){Dl.clear(),Ol.clear(),kl.clear(),Wl();for(let e of Al)try{e()}catch{}}function zl(e){for(let t of[...Nl.get(e)??[]])t()}function Bl(e){let t=Pl.get(e);t&&clearTimeout(t),Pl.delete(e),Fl.delete(e)}function Vl(e){if(Pl.has(e))return;let t=Fl.get(e)??0;Fl.set(e,t+1);let n=setTimeout(()=>{Pl.delete(e),zl(e)},Math.min(Tl*2**t,El));Pl.set(e,n)}function Hl(e){return jl.add(e),()=>{jl.delete(e)}}function Ul(e){return Ml.get(e)===!1}function Wl(){Ml.clear()}function Gl(e,t,n=!t){Ml.set(e,t),n&&(Dl.forceRelease(e),_l(e)),Bl(e),zl(e);for(let n of[...jl])try{n(e,t)}catch{}}function Kl(e){e?.type===`pluginStatusChanged`&&Gl(e.data.pluginName,e.data.running)}function ql(e,t){let n=Dl.get(e);if(!n||kl.has(e))return;let r=Gs(t,t=>t.createProxy(Is.coreManagerNamespaces().coreManagerRpc).getPlugin(e)).then(t=>{let r=t;if(Dl.get(e)!==n)return;let i=!!r&&r.running!==!1,a=i&&Is.pluginNamespaces(r.id).pluginChildRpc!==n.namespace;(!i||a)&&Gl(e,i,!0)}).catch(()=>{}).finally(()=>{kl.get(e)===r&&kl.delete(e)});kl.set(e,r)}function Jl(e,t,n){let r=new WeakMap;return new Proxy(t,{get(i,a){let o=nc(n);if(!o)return Reflect.get(t,a);let s=r.get(o);s||(s=o.createProxy(e),r.set(o,s));let c=Reflect.get(s,a);return typeof c==`function`?Yl(c,n,o):c}})}function Yl(e,t,n){return new Proxy(e,{apply(e,r,i){let a=Reflect.apply(e,r,i);return a instanceof Promise?a.catch(e=>{throw e?.code===`TIMEOUT`&&ic(t,n),e}):a}})}async function Xl(e){let t=e.value;if(t&&t!==Il){Ll?.(),Ll=void 0,Il=t;try{Ll=await t.subscribe(Is.coreManagerNamespaces().coreManagerSubject,Kl)}catch{Il=void 0}}}function Zl(t,n={}){let r=Ns(),{rpc:i,bulkRpc:a,isConnected:o}=r,s=n.lane===`bulk`?a:void 0,c=p(),l=e(),d=e(!1),f=e(!1),m=e(),g,_,v;function y(e){if(Dl.has(e))return Dl.acquire(e,()=>{throw Error(`Should not create - already cached`)})}function b(e){Dl.release(e,_),_=void 0}function x(e){if(v===e)return;v&&S(v);let t=Nl.get(e)??new Set;t.add(C),Nl.set(e,t),v=e}function S(e){let t=Nl.get(e);t&&(t.delete(C),t.size===0&&(Nl.delete(e),Bl(e))),v===e&&(v=void 0)}function C(){let e=u(t);e&&E(e,!0)}function w(e){g&&=(b(g),void 0),c.value=void 0,l.value=void 0,Vl(e)}function T(e,t){g=e,_=t,s&&(t.bulkProxy??=Jl(t.namespace,t.proxy,s)),c.value=s?t.bulkProxy:t.proxy,l.value=t.contract,m.value=void 0,Bl(e)}async function E(e,n=!1){if(!o.value||!e)return;if(g&&g!==e&&(S(g),b(g),c.value=void 0,l.value=void 0,g=void 0),x(e),Xl(i),g===e&&Dl.get(e)!==_)g=void 0,_=void 0,c.value=void 0,l.value=void 0;else if(g===e&&c.value)return;let r=y(e);if(r){T(e,r),f.value=!0;return}let a=Ol.get(e);if(a){n||(d.value=!0);try{let n=await a;if(u(t)!==e)return;if(n){let t=y(e);t&&T(e,t)}else w(e)}catch(t){n||(m.value=t instanceof Error?t:Error(String(t))),w(e)}finally{n||(d.value=!1),f.value=!0}return}n||(d.value=!0,m.value=void 0);let s=Gs(i,async t=>{let n=Is.coreManagerNamespaces(),r=await t.createProxy(n.coreManagerRpc).getPlugin(e);if(!r)throw Error(`Plugin "${e}" not found`);if(r.running===!1)return;let i=Is.pluginNamespaces(r.id).pluginChildRpc;return{proxy:t.createProxy(i),contract:r.contract,namespace:i,client:t}});Ol.set(e,s);try{let n=await s;if(Ml.set(e,!!n),n){let r=Dl.acquire(e,()=>n);if(u(t)!==e){Dl.release(e,r);return}T(e,r)}else u(t)===e&&w(e)}catch(t){n||(m.value=t instanceof Error?t:Error(String(t))),w(e)}finally{Ol.delete(e),n||(d.value=!1),f.value=!0}}async function D(){let e=u(t);e&&(g&&=(Dl.get(g)===_&&Dl.getRefCount(g)<=1?(Dl.forceRelease(g),_=void 0):b(g),c.value=void 0,l.value=void 0,void 0),await E(e))}let O=()=>{g&&(c.value=void 0,l.value=void 0,g=void 0,_=void 0)};Al.add(O);function k(){g&&ql(g,i)}return r.on(`reconnected`,k),I([o,()=>u(t),i],async([e,t,n])=>{let r=!!g&&t!==g;g&&(r||n&&_&&_.client!==n)&&(r&&S(g),b(g),c.value=void 0,l.value=void 0,g=void 0),e&&t&&n?await E(t):!e&&g&&(S(g),b(g),c.value=void 0,l.value=void 0,g=void 0)},{immediate:!0}),M(()=>{Al.delete(O),r.off(`reconnected`,k),S(u(t)),g&&=(S(g),b(g),c.value=void 0,l.value=void 0,void 0)}),{plugin:c,contract:l,isLoading:h(()=>d.value||!f.value),error:m,refresh:D}}function Ql(e){if(e)return typeof e==`string`?e:e.id}function $l(e){return t=>t.type===e}var eu=$l(Q.Light),tu=$l(Q.Siren),nu=$l(Q.Battery),ru=$l(Q.Doorbell),iu=$l(Q.Contact),au=$l(Q.Motion),ou=$l(Q.Object),su=$l(Q.Audio),cu=$l(Q.Face),lu=$l(Q.LicensePlate);Q.Classifier,Q.PTZ;var uu=$l(Q.Switch),du=$l(Q.Lock),fu=$l(Q.SecuritySystem),pu=$l(Q.Temperature),mu=$l(Q.Humidity),hu=$l(Q.Occupancy),gu=$l(Q.Smoke),_u=$l(Q.Leak);Q.Gas,Q.CarbonMonoxide,Q.Heat,Q.Cold,Q.Vibration,Q.Tamper,Q.Problem,Q.Power,Q.Illuminance,Q.CarbonDioxide;var vu=$l(Q.Garage);function yu(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function bu(e,t){return e.type===t.type&&e.name===t.name&&e.pluginId===t.pluginId&&e.nativeId===t.nativeId&&e.boundCameraId===t.boundCameraId}function xu(t,n,r){let i=e(n.displayName??t.displayName??t.name),a=e(n.capabilities??t.capabilities??[]),o=e([...t.assignedCameraIds]),s=e(t.exposed),c=e(t.connected),l=z({...n.properties}),u=[];function d(){for(let e of u)e(a.value)}return{id:t.id,type:t.type,name:t.name,displayName:i,nativeId:t.nativeId,pluginId:t.pluginId,boundCameraId:t.boundCameraId,assignedCameraIds:o,exposed:s,connected:c,capabilities:a,properties:l,getProperty(e){return l[e]},async setProperty(e,n){let i=`plugin.${t.pluginId}.sensor.${t.id}.rpc`;await Gs(r,t=>t.createProxy(i).updateValue(e,n))},async setDisplayName(e){let n=Is.sensorRegistryNamespaces();await Gs(r,r=>r.createProxy(n.sensorsRpc).setDisplayName(t.id,e))},hasCapability(e){return a.value.includes(e)},onCapabilitiesChanged(e){return u.push(e),()=>{let t=u.indexOf(e);t!==-1&&u.splice(t,1)}},_notifyCapabilitiesChanged:d,_update(e,t){i.value=t.displayName??e.displayName??e.name,yu(o.value,e.assignedCameraIds)||(o.value=[...e.assignedCameraIds]),s.value=e.exposed,c.value=e.connected;let n=t.properties??{};for(let e of Object.keys(l))e in n||delete l[e];Object.assign(l,n);let r=t.capabilities??e.capabilities??[];yu(a.value,r)||(a.value=r,d())}}}var Su=1e3,Cu=`all`;function wu(e){return`camera:${e}`}function Tu(e){return`sensor:${e}`}function Eu(t){let{sensorsSubject:n,sensorsRpc:r}=Is.sensorRegistryNamespaces(),i=`rpc`in t&&`value`in t.rpc?t:void 0,a=i?i.rpc:p(t),o=p(new Map),s,c=new Map,l=new Set,u=new Map,d=new Set,f,m=new Set,g=Ms(),_=new Set,v=new Map,y=new Map,b=0,x=e(!1),S,C=0,w=Ms();function T(e,t){let n=o.value.get(e);if(n){if(u.get(e)?.add(t.type===`property:changed`?t.data.property:t.type),t.type===`property:changed`){let e=t.data;n.properties[e.property]=e.value}else if(t.type===`sensor:displayName:changed`){let e=t.data;n.displayName.value=e.displayName}else if(t.type===`sensor:capabilities:changed`){let e=t.data;n.capabilities.value=e.capabilities,n._notifyCapabilitiesChanged()}}}function E(e){if(v.has(Cu)||v.has(Tu(e.id)))return!0;let t=e.assignedCameraIds.value;return t.length===0||t.some(e=>v.has(wu(e)))}function D(e,t){if(!(c.has(e.id)||l.has(e.id))){if(t)for(let t of Object.keys(e.properties))delete e.properties[t];O(e.id,P(e.id).catch(()=>void 0))}}function O(e,t){let n=new Set;if(u.set(e,n),!f){let e=[];f=e;let t=Promise.resolve().then(()=>(f=void 0,k(e))).catch(()=>{}).finally(()=>d.delete(t));d.add(t)}f.push({sensorId:e,changed:n,subscribed:t})}async function k(e){let t=await Promise.all(e.map(e=>e.subscribed)),n=e.flatMap((e,n)=>{let r=t[n];return r&&c.get(e.sensorId)===r?[{...e,unsubscribe:r}]:[]}),i;if(n.length>0)try{i=await Gs(a,e=>e.createProxy(r).getSensorStates()),g.reset()}catch{i=void 0}for(let{sensorId:e,unsubscribe:t,changed:r}of n)A(e,t,r,i);for(let{sensorId:t,changed:n}of e)u.get(t)===n&&u.delete(t)}function A(e,t,n,r){let i=o.value.get(e);if(!i||c.get(e)!==t)return;let a=r?.[e];if(!a){r&&!i.connected.value?_.add(e):j(e);return}for(let[e,t]of Object.entries(a.properties??{}))n.has(e)||(i.properties[e]=t);a.displayName!==void 0&&!n.has(`sensor:displayName:changed`)&&(i.displayName.value=a.displayName);let s=i.capabilities.value,l=a.capabilities??s;!n.has(`sensor:capabilities:changed`)&&!yu(l,s)&&(i.capabilities.value=l,i._notifyCapabilitiesChanged())}function j(e){m.add(e),g.schedule(()=>{let e=[...m];m.clear();for(let t of e)M(t)})}function M(e){let t=c.get(e);t&&O(e,Promise.resolve(t))}function N(){return Promise.all(d).then(()=>{})}async function P(e){let t=b,n=Is.sensorEventNamespaces(e);l.add(e);let r;try{r=await Gs(a,t=>t.subscribe(n.sensorSubject,t=>T(e,t)))}finally{t===b&&l.delete(e)}let i=o.value.get(e);if(t!==b||!i||!E(i))r();else return c.set(e,r),r}function F(e,t){x.value&&(E(e)?D(e,t):z(e.id))}function I(){for(let e of o.value.values())F(e,!0)}function L(e){clearTimeout(y.get(e)),y.delete(e);let t=v.has(e);v.set(e,(v.get(e)??0)+1),t||I()}function R(e){let t=v.get(e);t&&(v.set(e,t-1),!(t>1)&&y.set(e,setTimeout(()=>{y.delete(e),v.delete(e),I()},Su)))}function z(e){let t=c.get(e);t&&(t(),c.delete(e)),m.delete(e),_.delete(e)}function B(e){if(e.type===`sensor:added`){let t=e.data;if(o.value.has(t.sensor.id))return;let n=xu(t.sensor,t.state,a),r=new Map(o.value);r.set(t.sensor.id,n),o.value=r,F(n,!1)}else if(e.type===`sensor:deleted`){let t=e.data;z(t.sensorId);let n=new Map(o.value);n.delete(t.sensorId),o.value=n}else if(e.type===`sensor:connected:changed`){let t=e.data,n=o.value.get(t.sensorId);if(!n)return;n.connected.value=t.connected,t.connected&&_.delete(n.id)&&M(n.id)}else if(e.type===`sensor:assignment:changed`){let t=e.data,n=o.value.get(t.sensorId);if(!n)return;let r=new Set(n.assignedCameraIds.value);t.assigned?r.add(t.cameraId):r.delete(t.cameraId),n.assignedCameraIds.value=[...r],F(n,!0)}else if(e.type===`sensor:exposed:changed`){let t=e.data,n=o.value.get(t.sensorId);n&&(n.exposed.value=t.exposed)}}function V(){s?.(),s=void 0;for(let e of c.values())e();c.clear(),b++,l.clear(),u.clear(),m.clear(),_.clear(),g.cancel(),g.reset()}function H(e){if(e!==C)throw Error(`sensor manager closed`)}function ee(){w.schedule(()=>{!x.value&&!S&&W().catch(()=>{})})}async function U(e){H(e),V();let t=o.value,i=[];try{s=await Gs(a,e=>e.subscribe(n,e=>{i?i.push(e):B(e)})),H(e);let[c,l]=await Gs(a,async e=>{let t=e.createProxy(r);return Promise.all([t.getSensors(),t.getSensorStates()])});H(e);let u=new Map;for(let e of c){let n=l[e.id]??{properties:{},capabilities:[],type:e.type},r=t.get(e.id);r&&bu(r,e)?(r._update(e,n),u.set(e.id,r)):u.set(e.id,xu(e,n,a))}o.value=u;for(let t of u.values())E(t)&&(await P(t.id),H(e))}catch(n){throw V(),e===C&&(o.value=t,ee()),n}let c=i;i=void 0;for(let e of c)B(e);w.reset(),x.value=!0,I()}function W(){let e=U(C).finally(()=>{S===e&&(S=void 0)});return S=e,e}async function G(){if(!x.value)return S||W(),S}async function te(){if(x.value=!1,S){let e=S,t=C,n=e.catch(()=>{}).then(()=>U(t)).finally(()=>{S===n&&(S=void 0)});return S=n,n}return W()}function K(){C++,w.cancel(),V(),o.value=new Map,x.value=!1,S=void 0}let ne=h(()=>Array.from(o.value.values()));return{sensors:ne,isInitialized:h(()=>x.value),getSensor(e){return o.value.get(e)},getSensorsByType(e){return ne.value.filter(t=>t.type===e)},hasSensorType(e){return ne.value.some(t=>t.type===e)},async setDisplayName(e,t){await Gs(a,n=>n.createProxy(r).setDisplayName(e,t))},ensureInitialized:G,reconnect:te,close:K,retainLive:L,releaseLive:R,whenRefreshed:N}}var Du=ks({releaseDelay:1e3,onRelease:(e,t)=>t.manager.close()});function Ou(){Du.clear()}function ku(){Du.forEachValue(e=>{e.manager.reconnect().catch(()=>{})})}var Au=`sensors`;function ju(e){return Du.acquire(Au,()=>({manager:Eu(e)}))}function Mu(e){let t=Du.get(Au);!t||e&&t.manager!==e||Du.release(Au,t)}function Nu(){return{acquired:!1,cachedManager:void 0,liveScope:void 0}}function Pu(e,t){return e.sensors.value.filter(e=>e.assignedCameraIds.value.includes(t))}async function Fu(e,t,n,r,i,a){if(n){r.value=!0,i.value=void 0;try{Lu(e)||(e.cachedManager=ju(t).manager,e.acquired=!0,e.liveScope=void 0),Ru(e,a),await e.cachedManager?.ensureInitialized(),await e.cachedManager?.whenRefreshed()}catch(e){i.value=e instanceof Error?e:Error(String(e))}finally{r.value=!1}return e.cachedManager}}function Iu(e,t){I(()=>e.value?.isInitialized.value,e=>{e&&(t.value=void 0)})}function Lu(e){return e.acquired&&Du.get(Au)?.manager===e.cachedManager}function Ru(e,t){e.liveScope!==t&&(e.cachedManager?.retainLive(t),e.liveScope&&e.cachedManager?.releaseLive(e.liveScope),e.liveScope=t)}function zu(e){Lu(e)&&(e.liveScope&&e.cachedManager?.releaseLive(e.liveScope),Mu(e.cachedManager)),e.acquired=!1,e.cachedManager=void 0,e.liveScope=void 0}function Bu(t){let n=Ns(),{isConnected:r}=n,i=p([]),a=p(),o=e(!1),s=e(!1),c=e(),l=Nu();I([r,()=>Ql(u(t))],async([e,t])=>{if(e&&t){let r=await Fu(l,n,e,o,c,wu(t));a.value=r,i.value=r?Pu(r,t):[],s.value=!0}else zu(l),i.value=[],a.value=void 0},{immediate:!0});let d=h(()=>{if(!a.value)return[];let e=Ql(u(t));return e?Pu(a.value,e):[]});return Iu(a,c),M(()=>{zu(l),i.value=[]}),{sensors:d,isLoading:h(()=>o.value||!s.value),error:c}}function Vu(){let t=Ns(),{isConnected:n}=t,r=p(),i=e(!1),a=e(!1),o=e(),s=Nu();I([n],async([e])=>{e?(r.value=await Fu(s,t,e,i,o,Cu),a.value=!0):(zu(s),r.value=void 0)},{immediate:!0});let c=h(()=>r.value?.sensors.value??[]);return Iu(r,o),M(()=>{zu(s)}),{sensors:c,isLoading:h(()=>i.value||!a.value),error:o}}function Hu(e,t,n){let r=e.filter(e=>e.type===t);if(n){let e=r.find(e=>e.pluginId===n);if(e)return e}return r[0]}function Uu(t,n,r){let i=Ns(),{isConnected:a}=i,o=p(),s=p(),c=e(!1),l=e(!1),d=e(),f=Nu();function m(){let e=Ql(u(t));if(s.value&&e)return Hu(Pu(s.value,e),n,u(r))}return I([a,()=>Ql(u(t)),()=>u(r)],async([e,t])=>{e&&t?(s.value=await Fu(f,i,e,c,d,wu(t)),o.value=m(),l.value=!0):(zu(f),s.value=void 0,o.value=void 0)},{immediate:!0}),I(m,e=>{o.value=e}),Iu(s,d),M(()=>{zu(f),o.value=void 0}),{sensor:o,isLoading:h(()=>c.value||!l.value),error:d}}function Wu(e,t){return Uu(e,Q.Motion,t)}function Gu(e,t){return Uu(e,Q.Object,t)}function Ku(e,t){return Uu(e,Q.Face,t)}function qu(e,t){return Uu(e,Q.LicensePlate,t)}function Ju(e){return Uu(e,Q.PTZ)}function Yu(t){let n=Ns(),{isConnected:r}=n,i=p([]),a=p(),o=e(!1),s=e(!1),c=e(),l=Nu();I([r,()=>Ql(u(t))],async([e,t])=>{if(e&&t){let r=await Fu(l,n,e,o,c,wu(t));a.value=r,i.value=r?Pu(r,t).filter(e=>e.type===Q.Classifier):[],s.value=!0}else zu(l),i.value=[],a.value=void 0},{immediate:!0});let d=h(()=>{if(!a.value)return[];let e=Ql(u(t));return e?Pu(a.value,e).filter(e=>e.type===Q.Classifier):[]});return Iu(a,c),M(()=>{zu(l),i.value=[]}),{sensors:d,isLoading:h(()=>o.value||!s.value),error:c}}function Xu(t,n){let r=p(),i=e(!1),a=e(),o=null;async function s(){if(o)return o;i.value=!0,a.value=void 0;try{return o=t.getConfig().finally(()=>{o=null}),r.value=await o,r.value}catch(e){a.value=e instanceof Error?e:Error(String(e));return}finally{i.value=!1}}async function c(e,n){i.value=!0,a.value=void 0;try{await t.setValue(e,n),await s()}catch(e){throw a.value=e instanceof Error?e:Error(String(e)),e}finally{i.value=!1}}async function l(e){i.value=!0,a.value=void 0;try{await t.setConfig(e),await s()}catch(e){throw a.value=e instanceof Error?e:Error(String(e)),e}finally{i.value=!1}}async function u(e,n){i.value=!0,a.value=void 0;try{let r=await t.submitValue(e,n);return(!r?.toast||r.toast.type!==`error`)&&await s(),r}catch(e){throw a.value=e instanceof Error?e:Error(String(e)),e}finally{i.value=!1}}return{proxy:t,client:n,config:r,isLoading:i,error:a,getConfig:s,setValue:c,setConfig:l,submitValue:u}}var Zu=ks({releaseDelay:1e3});function Qu(e){return`plugin:${e}`}function $u(e,t){return`plugin:${e}:camera:${t}`}function ed(e,t){return`plugin:${e}:sensor:${t}`}function td(e,t,n){let r=Zu.get(e);return r&&r.client!==t&&Zu.forceRelease(e),Zu.acquire(e,()=>Xu(n(),t))}function nd(e,t){Zu.release(e,t)}function rd(){Zu.clear(),hl()}function id(){return{currentStorageKey:void 0,cachedStorage:void 0,load:void 0,disposed:!1}}function ad(e,t){let n=e.load;n&&(clearTimeout(n.timer),e.load=void 0,n.settle(t))}function od(e,t,n){ad(e,void 0),e.currentStorageKey&&=(nd(e.currentStorageKey,e.cachedStorage),void 0),t.value=!1,e.cachedStorage=void 0,n.value=void 0}function sd(e,t,n,r,i){(e.currentStorageKey!==t||e.cachedStorage?.client!==n)&&(e.currentStorageKey&&e.currentStorageKey!==t&&(nd(e.currentStorageKey,e.cachedStorage),r.value=void 0),e.currentStorageKey=t,e.cachedStorage=td(t,n,i))}var cd=[2e3,5e3,1e4,15e3,15e3,15e3,15e3,15e3];function ld(e,t,n,r,i,a){let o=0;a&&M(Hl(s));function s(t,n){t===a?.pluginName()&&(n?(e.load||r.value)&&c():e.load?.timer&&ad(e,void 0))}function c(){if(!e.cachedStorage)return Promise.resolve(void 0);a&&Xl(a.rpc),e.load&&e.load.key!==e.currentStorageKey&&ad(e,void 0);let t=e.load??l();return t.retries=0,t.rebound=!1,t.storage!==e.cachedStorage&&(clearTimeout(t.timer),t.timer=void 0,u(t,!0)),t.result}function l(){let t,n=new Promise(e=>t=e),r={key:e.currentStorageKey,result:n,settle:t,storage:void 0,retries:0,rebound:!1,timer:void 0};return e.load=r,r}async function u(a,s){let c=e.cachedStorage;if(!c)ad(e,void 0);else{a.storage=c,s&&(o++,n.value=!0);try{let n=await c.getConfig();if(e.load!==a||e.cachedStorage!==c)return;if(i&&!a.rebound&&pa(c.error.value)){if(a.rebound=!0,await i()){if(e.load!==a)return;a.key=e.currentStorageKey,await u(a,s);return}if(e.load!==a||e.cachedStorage!==c)return}t.value=c.config.value,r.value=c.error.value,c.error.value?d(a):ad(e,n)}finally{a.storage===c&&(a.storage=void 0),s&&--o===0&&(n.value=!1)}}}function d(t){let n=a?.pluginName(),r=n&&Ul(n)?void 0:cd[t.retries++];r===void 0?ad(e,void 0):t.timer=setTimeout(()=>{t.timer=void 0,t.key===e.currentStorageKey?u(t,!1):ad(e,void 0)},r)}async function f(i,a){let o=e.cachedStorage;if(!o)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{await o.setValue(i,a),e.cachedStorage===o&&(t.value=o.config.value)}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function p(i){let a=e.cachedStorage;if(!a)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{await a.setConfig(i),e.cachedStorage===a&&(t.value=a.config.value)}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}async function m(i,a){let o=e.cachedStorage;if(!o)throw Error(`Storage not connected`);n.value=!0,r.value=void 0;try{let n=await o.submitValue(i,a);return e.cachedStorage===o&&(t.value=o.config.value),n}catch(e){throw r.value=e instanceof Error?e:Error(String(e)),e}finally{n.value=!1}}return{getConfig:c,setValue:f,setConfig:p,submitValue:m}}function ud(t){let n=Ns(),{rpc:r,isConnected:i}=n,a=p(),o=e(!1),s=e(!1),c=e(),l=e(!1),d=id(),f=ld(d,a,o,c,_,{rpc:r,pluginName:()=>u(t)});function m(e,t){sd(d,Qu(e),t,a,()=>{let n=Is.pluginNamespaces(e);return t.createProxy(n.pluginStorageRpc)})}async function g(e){let t=r.value;if(!t||!i.value)return!1;try{let n=await vl(r,e);if(d.disposed)return!1;if(!n)throw Error(`Plugin "${e}" not found`);return m(n,t),l.value=!0,!0}catch(e){return c.value=e instanceof Error?e:Error(String(e)),l.value=!1,!1}}async function _(){let e=u(t),n=d.cachedStorage;if(!e||!n)return!1;_l(e);let i=await vl(r,e).catch(()=>void 0);if(!i||d.disposed||d.cachedStorage!==n)return!1;let a=d.currentStorageKey;return m(i,n.client),d.currentStorageKey!==a}async function v(){let e=u(t);if(e&&await g(e))return f.getConfig()}async function y(){let e=u(t);i.value&&e?(await g(e),f.getConfig()):od(d,l,a),s.value=!0}return I([i,()=>u(t)],y,{immediate:!0}),n.on(`reconnected`,y),M(()=>{d.disposed=!0,n.off(`reconnected`,y),od(d,l,a)}),{config:a,isLoading:h(()=>o.value||!s.value),error:c,isConnected:l,getConfig:v,setValue:f.setValue,setConfig:f.setConfig,submitValue:f.submitValue}}function dd(t,n){let r=Ns(),{rpc:i,isConnected:a}=r,o=p(),s=e(!1),c=e(!1),l=e(),d=e(!1),f=id(),m=ld(f,o,s,l,v,{rpc:i,pluginName:()=>u(n)});function g(e,t,n){sd(f,$u(e,t),n,o,()=>{let r=Is.pluginCameraNamespaces(e,t);return n.createProxy(r.cameraStorageRpc)})}async function _(e,t){let n=i.value;if(!n||!a.value)return!1;try{let r=await vl(i,t);if(f.disposed)return!1;if(!r)throw Error(`Plugin "${t}" not found`);return g(r,e,n),d.value=!0,!0}catch(e){return l.value=e instanceof Error?e:Error(String(e)),d.value=!1,!1}}async function v(){let e=Ql(u(t)),r=u(n),a=f.cachedStorage;if(!e||!r||!a)return!1;_l(r);let o=await vl(i,r).catch(()=>void 0);if(!o||f.disposed||f.cachedStorage!==a)return!1;let s=f.currentStorageKey;return g(o,e,a.client),f.currentStorageKey!==s}async function y(){let e=Ql(u(t)),r=u(n);if(e&&r&&await _(e,r))return m.getConfig()}async function b(){let e=Ql(u(t)),r=u(n);a.value&&e&&r?(await _(e,r),m.getConfig()):od(f,d,o),c.value=!0}return I([a,()=>Ql(u(t)),()=>u(n)],b,{immediate:!0}),r.on(`reconnected`,b),M(()=>{f.disposed=!0,r.off(`reconnected`,b),od(f,d,o)}),{config:o,isLoading:h(()=>s.value||!c.value),error:l,isConnected:d,getConfig:y,setValue:m.setValue,setConfig:m.setConfig,submitValue:m.submitValue}}function fd(t,n){let r=Ns(),{rpc:i,isConnected:a}=r,o=p(),s=e(!1),c=e(!1),l=e(),d=e(!1),f=id(),m=ld(f,o,s,l,void 0,{rpc:i,pluginName:()=>{let e=u(n);return e?gl(e):void 0}});function g(e,t){let n=i.value;if(!n||!a.value)return!1;try{return sd(f,ed(t,e),n,o,()=>{let r=Is.pluginSensorNamespaces(t,e);return n.createProxy(r.sensorStorageRpc)}),d.value=!0,!0}catch(e){return l.value=e instanceof Error?e:Error(String(e)),d.value=!1,!1}}async function _(){let e=u(t),r=u(n);if(e&&r&&g(e,r))return m.getConfig()}function v(){let e=u(t),r=u(n);a.value&&e&&r?(g(e,r),m.getConfig()):od(f,d,o),c.value=!0}return I([a,()=>u(t),()=>u(n)],v,{immediate:!0}),r.on(`reconnected`,v),M(()=>{f.disposed=!0,r.off(`reconnected`,v),od(f,d,o)}),{config:o,isLoading:h(()=>s.value||!c.value),error:l,isConnected:d,getConfig:_,setValue:m.setValue,setConfig:m.setConfig,submitValue:m.submitValue}}function pd(){Rl(),tl(),rd(),Ou(),Uc(),Sl()}function md(){Rl(),ll(),ku()}function hd(){Wl(),ul()}var gd=Symbol(`camera-ui`),_d=new ct(`plugin`);function vd(e){return`rpc`in e&&`isConnected`in e}var yd=4e3;function bd(t){let{natsTransport:n,bulkTransport:r,target:i,wsTransport:o}=t,s=n.getClient()!==null,c=n.getClient(),l=null,u=!1,d=p(n.getClient()??void 0),f=e(n.getClient()?.isConnected??!1),m=e(void 0),g=h(()=>i.value?.endpoint.url),_=h(()=>i.value?.tokens.access),v=h(()=>void 0),y=new Map;function b(e,t){let n=y.get(e);n||(n=new Set,y.set(e,n)),n.add(t)}function x(e,t){y.get(e)?.delete(t)}function S(e){let t=y.get(e);if(t)for(let e of t)try{e()}catch(e){_d.warn(`context listener threw:`,e)}}n.subscribeClient(e=>{if(e){l!==null&&(clearTimeout(l),l=null);let t=f.value,n=e!==c;c=e,d.value=e,f.value=!0,m.value=void 0,s&&(!t||n||u)&&Hs(d),!t||n?(md(),s&&S(`reconnected`),s=!0):u&&s&&(hd(),S(`reconnected`)),u=!1}else{if(u=!0,d.value=void 0,l!==null||!f.value)return;l=setTimeout(()=>{l=null,f.value=!1,S(`disconnected`)},yd)}}),n.on(`auth-error`,e=>{m.value=Error(e.message??`auth-error`)}),n.on(`down`,e=>{m.value||=Error(e.reason)}),n.on(`up`,()=>{m.value=void 0});let C;if(r){let e=p();r.subscribeClient(t=>{e.value=t??void 0}),C=e}return a({rpc:d,bulkRpc:C,target:V(i),isConnected:V(f),endpoint:g,token:_,extraProxyQuery:v,error:V(m),wsTransport:o,on:b,off:x})}function xd(e){return{install(t){let n=vd(e)?e:bd(e);t.provide(gd,n)}}}var Sd={standbyTimeout:5e3,activityTimeout:5e3,wakeTimeout:3e4};function Cd(t){let{initialMode:n=`always-on`,config:r={},onStreamStart:i,onStreamStop:a,isStreamPlaying:o}=t,s={...Sd,...r},c=e(n),l=e(!1),u=e(!1),d,f,p=!1,m=!1;function h(){d&&=(clearTimeout(d),void 0)}function g(){f&&=(clearTimeout(f),void 0)}function _(){h(),g()}function v(){l.value||(l.value=!0,a())}function y(){l.value&&(l.value=!1,i())}function b(){switch(_(),c.value){case`always-on`:l.value=!1,o()||i();break;case`standby`:l.value||(o()||i(),x());break;case`activity`:u.value?(l.value=!1,o()||i()):d=setTimeout(()=>{c.value===`activity`&&!u.value&&v()},s.activityTimeout)}}function x(){if(g(),p)return;let e=o()?s.standbyTimeout:s.wakeTimeout;f=setTimeout(()=>{c.value===`standby`&&v()},e)}function S(e){c.value!==e&&(c.value=e,m&&b())}function C(){m=!0,(c.value===`standby`||c.value===`activity`&&!u.value)&&!o()?(_(),v()):b()}function w(e){c.value===`activity`&&(e?(u.value=!0,h(),l.value?y():o()||i()):(u.value=!1,h(),d=setTimeout(()=>{u.value||v()},s.activityTimeout)))}function T(){if(l.value)switch(y(),c.value){case`standby`:x();break;case`activity`:h(),u.value||(d=setTimeout(()=>{v()},s.activityTimeout))}}function E(){m&&c.value===`standby`&&!l.value&&x()}function D(e){p!==e&&(p=e,e?g():E())}function O(){_()}return{mode:c,inStandby:l,hasActivity:u,setMode:S,engage:C,reportActivity:w,resumeFromStandby:T,resetIdleTimer:E,setKeepAwake:D,dispose:O}}var wd={WEBRTC:{RECONNECT_DELAY:1e3,CONNECT_TIMEOUT:1e4,WS_CONNECT_TIMEOUT:5e3,ICE_SERVERS:[{urls:`stun:stun.l.google.com:19302`}]},MSE:{BUFFER_SIZE:2097152,BUFFER_WINDOW:5,MAX_BUFFER_WINDOW:60},CODECS:{DEFAULT:[`avc1.640029`,`avc1.64002A`,`avc1.640033`,`hvc1.1.6.L153.B0`,`mp4a.40.2`,`mp4a.40.5`,`flac`,`opus`],WEBRTC_VIDEO:[`H264`,`VP8`,`VP9`],WEBRTC_AUDIO:[`opus`,`G722`,`PCMU`,`PCMA`]}};function Td(e){if(e.byteLength<2)return!1;let t=new Uint8Array(e,0,2);return t[0]===255&&t[1]===216}function Ed(e){let{signal:t}=e,n=document.createElement(`canvas`),r=n.getContext(`2d`,{alpha:!1}),i=n.captureStream(),a=0,o=!1,s,c=!1;function l(e){c||t.aborted||(o?s=e:u(e))}async function u(e){o=!0;try{let t=await createImageBitmap(new Blob([e],{type:`image/jpeg`}));c||d(t),t.close()}catch{}o=!1;let t=s;s=void 0,t&&!c&&u(t)}function d(e){r&&((n.width!==e.width||n.height!==e.height)&&(n.width=e.width,n.height=e.height),r.drawImage(e,0,0),a++)}function f(){c=!0,s=void 0;for(let e of i.getTracks())e.stop()}return t.addEventListener(`abort`,f,{once:!0}),{stream:i,get frames(){return a},appendFrame:l,close:f}}var Dd=1836019574,Od=1953653099,kd=1953196132,Ad=1835297121,jd=1835296868,Md=1751411826,Nd=1836475768,Pd=1953654136,Fd=1836019558,Id=1953653094,Ld=1952868452,Rd=1952867444,zd=1953658222,Bd=1986618469,Vd=65536,Hd=4096;function Ud(){let e=new Map,t;function n(n,r,i){let a=new Map,o=new Map;Wd(n,r,i,(e,t,r)=>{if(e===Od){let e={id:-1,timescale:0,video:!1};Wd(n,t,r,(t,r,i)=>{t===kd&&r+24<=i?e.id=n.getUint32(r+(n.getUint8(r)===1?20:12)):t===Ad&&Wd(n,r,i,(t,r,i)=>{t===jd&&r+24<=i?e.timescale=n.getUint32(r+(n.getUint8(r)===1?20:12)):t===Md&&r+12<=i&&(e.video=n.getUint32(r+8)===Bd)})}),e.id>=0&&e.timescale>0&&a.set(e.id,e)}else e===Nd&&Wd(n,t,r,(e,t,r)=>{e===Pd&&t+24<=r&&o.set(n.getUint32(t+4),{duration:n.getUint32(t+12),flags:n.getUint32(t+20)})})}),e.clear();for(let[t,{timescale:n,video:r}]of a){let i=o.get(t);e.set(t,{timescale:n,video:r,defaultDuration:i?.duration??0,defaultFlags:i?.flags??0})}t=[...e.values()].some(e=>e.video)}function r(t,n,r,i){let a={duration:0,flags:0};Wd(t,n,r,(n,r,o)=>{if(n===Ld&&r+8<=o){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);if(!n?.video||r+s>o)return;let c=r+8+(i&1?8:0)+(i&2?4:0);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}else n===Rd&&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===zd&&Gd(a)&&(a.baseTime=Kd(t,r,o,a,i))})}function i(e,i){let a=new DataView(e);Wd(a,0,a.byteLength,(e,o,s)=>{e===Dd?n(a,o,s):e===Fd&&t&&Wd(a,o,s,(e,t,n)=>{e===Id&&r(a,t,n,i)})})}return{get hasVideo(){return t},scan:i}}function Wd(e,t,n,r){let i=t;for(;i+8<=n;){let t=e.getUint32(i),a=8;if(t===1){if(i+16>n)return;t=e.getUint32(i+8)*2**32+e.getUint32(i+12),a=16}else t===0&&(t=n-i);if(t<a||i+t>n)return;r(e.getUint32(i+4),i+a,i+t),i+=t}}function Gd(e){return e.track!==void 0&&e.baseTime!==void 0}function Kd(e,t,n,r,i){if(t+8>n)return r.baseTime;let a=e.getUint8(t),o=e.getUint32(t)&16777215,s=e.getUint32(t+4),c=t+8;o&1&&(c+=4);let l;if(o&4){if(c+4>n)return r.baseTime;l=e.getUint32(c),c+=4}let u=(o&256?4:0)+(o&512?4:0)+(o&1024?4:0)+(o&2048?4:0);if(s>Hd||c+s*u>n)return r.baseTime;let d=r.baseTime;for(let t=0;t<s;t++){let n=r.duration,s=t===0&&l!==void 0?l:r.flags,u=0;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&Vd||i((d+u)/r.track.timescale),d+=n}return d}var qd=`hvc1.1.6.L153.B0`;function Jd(){return navigator.userAgent.match(/version\/(\d+)/i)}function Yd(){return/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)}function Xd(){return globalThis.Capacitor?.isNativePlatform?.()?!0:typeof navigator>`u`?!1:Yd()||/Macintosh/i.test(navigator.userAgent)&&navigator.maxTouchPoints>1}function Zd(){let e=[...wd.CODECS.DEFAULT],t=Jd();if(t?.[1]){let n=parseInt(t[1],10);if(n<13){let t=e.indexOf(`mp4a.40.2`);t>-1&&e.splice(t)}else if(n<14){let t=e.indexOf(`flac`);t>-1&&e.splice(t)}else{let t=e.indexOf(`opus`);t>-1&&e.splice(t)}}return e}function Qd(e,t){return e.filter(e=>t(`video/mp4; codecs="${e}"`)).join(`,`)}function $d(e){return wd.CODECS.WEBRTC_AUDIO.includes(e)}function ef(e){return wd.CODECS.WEBRTC_VIDEO.includes(e)?!0:e===`H265`&&sf()}var tf,nf;function rf(e){if(e===`auto`)return rf(`webrtc`)||rf(`mse`);if(e===`mse`)return tf===void 0&&(tf=!!uf()?.isTypeSupported(`video/mp4; codecs="${qd}"`)),tf;if(nf===void 0)try{nf=!!(RTCRtpReceiver?.getCapabilities(`video`)?.codecs)?.some(e=>e.mimeType.toLowerCase().includes(`h265`)||e.mimeType.toLowerCase().includes(`hevc`))}catch{nf=!1}return nf}function af(){return typeof createImageBitmap==`function`&&typeof HTMLCanvasElement==`function`&&typeof HTMLCanvasElement.prototype.captureStream==`function`}function of(e){e===`mse`?tf=!1:nf=!1}function sf(){return rf(`webrtc`)}function cf(e){let t=e.audio.filter(e=>e.direction===`sendonly`),n=e.video.filter(e=>e.direction===`sendonly`),r=t.length===0||t.some(e=>$d(e.codec)),i=n.length===0||n.some(e=>ef(e.codec)),a=[];return r||a.push(...t.map(e=>e.codec)),i||a.push(...n.map(e=>e.codec)),{compatible:r&&i,audioCompatible:r,videoCompatible:i,incompatibleCodecs:a}}function lf(){return`ManagedMediaSource`in window}function uf(){if(lf())return window.ManagedMediaSource;if(`MediaSource`in window)return window.MediaSource}function df(e){return e?typeof document<`u`&&`pictureInPictureElement`in document&&document.pictureInPictureElement===e||e.webkitPresentationMode===`picture-in-picture`:!1}function ff(e,t){return new Promise((n,r)=>{if(t.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`Aborted`,`AbortError`))},{once:!0})})}var pf=.001,mf=256,hf=.3,gf=262144;function _f(e){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=new Uint8Array,p=0,m=[],h=Zd(),g=Ud(),_=[];function v(){if(a.aborted)return;let e=uf();if(!e){A(Error(`MediaSource not supported`),`setup`);return}o=new e;let n=lf(),r=t.src;return o.addEventListener(`sourceopen`,()=>{a.aborted||!n&&r&&r.startsWith(`blob:`)&&r!==t.src&&URL.revokeObjectURL(r)},{once:!0}),n?(t.disableRemotePlayback=!0,t.srcObject=o):(c=URL.createObjectURL(o),t.src=c,t.srcObject=null),t.addEventListener(`error`,k),Qd(h,e.isTypeSupported.bind(e))}function y(e){if(a.aborted||!o)return;if(o.readyState!==`open`){o.addEventListener(`sourceopen`,()=>{a.aborted||y(e)},{once:!0});return}p=0,_.length=0;let t=uf();if(t&&!t.isTypeSupported(e))A(Error(`MIME type not supported: ${e}`),`setup`);else try{if(s=o.addSourceBuffer(e),s.mode=`segments`,s.addEventListener(`updateend`,b),s.addEventListener(`error`,O),l=!0,m.length>0){for(let e of m)x(e);m.length=0}if(d||a.aborted)return;n()}catch(e){A(e,l?`runtime`:`setup`)}}function b(){if(!a.aborted&&!d&&s&&o){if(!s.updating&&p>0)try{s.appendBuffer(f.subarray(0,p)),p=0}catch(e){if(!C(e)){A(e,`runtime`);return}}if(!s.updating&&s.buffered?.length){let e=s.buffered.end(s.buffered.length-1),n=s.buffered.start(0),i=wd.MSE.BUFFER_WINDOW;u||(u=!0,r());let a=E(Math.min(t.currentTime,e)-i);if(e-n>wd.MSE.MAX_BUFFER_WINDOW){let t=E(e-i);a=t!==void 0&&t>n+pf?t:e-i}if(a!==void 0&&a>n+pf){try{s.remove(n,a-pf),o.setLiveSeekableRange(a,e)}catch{}T(a)}if(t.currentTime<e-i){let n=D(e-i,e);n>t.currentTime&&(t.currentTime=n)}let c=e-t.currentTime;c>1?t.playbackRate=1.1:c<.1?t.playbackRate=.9:t.playbackRate=1}}}function x(e){if(!(a.aborted||d)){if(!s)m.push(e);else if(o?.readyState===`closed`||o?.readyState===`ended`)A(Error(`MediaSource ${o.readyState}`),`runtime`);else if(g.scan(e,w),s.updating||p>0){if(!S(new Uint8Array(e))){p=0,A(Error(`MSE pending buffer overflow`),`runtime`);return}}else try{s.appendBuffer(e)}catch(t){C(t)?S(new Uint8Array(e)):A(t,`runtime`)}}}function S(e){let t=p+e.byteLength;if(t>wd.MSE.BUFFER_SIZE)return!1;if(t>f.byteLength){let e=Math.max(f.byteLength,gf);for(;e<t;)e*=2;let n=new Uint8Array(Math.min(e,wd.MSE.BUFFER_SIZE));n.set(f.subarray(0,p)),f=n}return f.set(e,p),p=t,!0}function C(e){if(e?.name!==`QuotaExceededError`||!s||s.updating||!s.buffered?.length)return!1;try{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-wd.MSE.BUFFER_WINDOW);return r<=e+pf?!1:(s.remove(e,r-pf),T(r),!0)}catch{return!1}}function w(e){for(;_.length&&_[_.length-1]>=e;)_.pop();_.push(e),_.length>mf&&_.shift()}function T(e){for(;_.length&&_[0]<e;)_.shift()}function E(e){if(g.hasVideo===!1)return e;for(let t=_.length-1;t>=0;t--)if(_[t]<=e)return _[t]}function D(e,t){if(!g.hasVideo)return e;let n=e;for(let r of _)if(r>t||(n=r,r>=e))break;return n}function O(){A(Error(`SourceBuffer error`),`runtime`)}function k(){let e=t.error;A(Error(e?.message||`Video element error ${e?.code??`unknown`}`),`runtime`)}function A(e,t){d||a.aborted||(d=!0,i(e instanceof Error?e:Error(String(e)),t))}function j(){if(t.removeEventListener(`error`,k),s){if(s.removeEventListener(`updateend`,b),s.removeEventListener(`error`,O),o?.readyState===`open`)try{o.removeSourceBuffer(s)}catch{}s=null}if(o?.readyState===`open`)try{o.endOfStream()}catch{}o=null,c&&=(URL.revokeObjectURL(c),null),l=!1,u=!1,p=0,m.length=0,_.length=0}return a.addEventListener(`abort`,j,{once:!0}),{get mediaSource(){return o},get sourceBuffer(){return s},get isReady(){return l},setup:v,initializeBuffer:y,appendBuffer:x,close:j}}function vf(e){if(e.buffered.length>0){let t=e.buffered.end(e.buffered.length-1);t-e.currentTime>1&&(e.currentTime=t-hf)}}async function yf(e){try{await e.play()}catch{e.muted||(e.muted=!0,await yf(e))}}function bf(e,t,n){let r=new RTCPeerConnection({bundlePolicy:`max-bundle`,iceServers:[...wd.WEBRTC.ICE_SERVERS]});return r.onicecandidate=r=>{if(e.aborted||n&&r.candidate?.protocol===`udp`)return;let i=r.candidate?.toJSON().candidate??``;i&&t(i)},r}async function xf(e,t,n){!t.aborted&&e&&await e.setRemoteDescription({type:`answer`,sdp:n})}async function Sf(e,t,n,r){!t.aborted&&e&&(r&&n.includes(` udp `)||await e.addIceCandidate({candidate:n,sdpMid:`0`}))}async function Cf(e,t,n){if(!t.aborted&&e)try{await e.sender.replaceTrack(n)}catch{}}function wf(e){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}function Tf(e){let{mode:t,onConnected:n,onDisconnected:r,onFailed:i,onCandidate:a,signal:o}=e,s={pc:null,micTransceiver:null,isConnected:!1},c=t===`webrtc/tcp`;function l(){let e=bf(o,a,c);return e.onconnectionstatechange=()=>{if(o.aborted)return;let t=e.connectionState;if(t===`connected`){s.isConnected=!0;let t=new MediaStream(e.getTransceivers().filter(e=>e.currentDirection===`recvonly`).map(e=>e.receiver.track));n(t)}else t===`failed`?(s.isConnected=!1,i()):t===`disconnected`&&(s.isConnected=!1,r())},e.addTransceiver(`video`,{direction:`recvonly`}),e.addTransceiver(`audio`,{direction:`recvonly`}),e}async function u(){if(o.aborted)return;s.pc=l();let e=await s.pc.createOffer();return await s.pc.setLocalDescription(e),e.sdp}function d(){wf(s)}return o.addEventListener(`abort`,d,{once:!0}),{get pc(){return s.pc},get isConnected(){return s.isConnected},createOffer:u,handleAnswer:e=>xf(s.pc,o,e),handleCandidate:e=>Sf(s.pc,o,e,c),close:d}}function Ef(e){let{filterUdp:t,onConnected:n,onFailed:r,onCandidate:i,signal:a}=e,o={pc:null,micTransceiver:null,isConnected:!1},s=!1,c=[];function l(e){s?i(e):c.push(e)}async function u(e){if(!a.aborted&&o.pc){s=!0;for(let e of c.splice(0))i(e);await o.pc.setRemoteDescription({type:`answer`,sdp:e})}}function d(){let e=bf(a,l,t);return e.onconnectionstatechange=()=>{if(a.aborted)return;let t=e.connectionState;t===`connected`?(o.isConnected=!0,n()):t===`disconnected`?o.isConnected=!1:t===`failed`&&(o.isConnected=!1,r())},o.micTransceiver=e.addTransceiver(`audio`,{direction:`sendonly`}),e}async function f(){if(a.aborted)return;o.pc=d();let e=await o.pc.createOffer();return await o.pc.setLocalDescription(e),e.sdp}function p(){wf(o)}return a.addEventListener(`abort`,p,{once:!0}),{get isConnected(){return o.isConnected},createOffer:f,handleAnswer:u,handleCandidate:e=>Sf(o.pc,a,e,t),setMicrophoneTrack:e=>Cf(o.micTransceiver,a,e),close:p}}async function Df(e,t){switch(t.type){case`webrtc/answer`:await e.handleAnswer(t.value);break;case`webrtc/candidate`:t.value&&await e.handleCandidate(t.value)}}var Of=new ct(`StreamConnection`),kf=/mp4a|opus|flac|mp3/i,Af=1e3,jf=3e4,Mf=3e4,Nf=15e3,Pf=1e3,Ff=3e3,If=15e3,Lf=2,Rf=2e3;function zf(){return typeof document<`u`&&document.visibilityState===`hidden`}function Bf(e){return typeof e.getVideoPlaybackQuality==`function`?e.getVideoPlaybackQuality().totalVideoFrames:void 0}function Vf(e){return e*(1-Math.random()/2)}var Hf=class{status;activeMode;requestedMode;activeResolution;requestedResolution;degradedFrom;degradeReason;source;hasVideo;hasAudio;hasBackchannel;isPlaying;stalled;error;probeInfo;muted;paused;nativeWidth;nativeHeight;camera;videoElement;containerElement;target;isReady;triedSourceIds=new Set;options;wsTransport;scope=v(!0);stopsWhenHidden=Xd();connectionGeneration=0;abortController=new AbortController;probedSourceId;probeInFlight;probing;wasPausedByVisibility=!1;hiddenPauseRan=!1;disarmPipWatch=null;wsHandle;wsOpenedAt=0;webrtcHandler;mseHandler;mjpegHandler;audioHandler;audioElement;cancelFirstFrameWatch;awaitingWebRTCFrame=!1;backchannelHandler;pendingMicTrack=null;offerPeer;answeredPeer;lastMediaStream=null;stopWatchers=[];failures=0;playingSince;connectToken;rejectedToken;lastError;mseRejected=!1;mseAnswerPending=!1;mseStopPending=!1;healthInterval;lastProgressAt=0;lastMediaTime=0;lastFrameCount;frameCounterLive=!1;offTabVisible;offTabPaused;onVideoPauseBound;onVideoPlayBound;onVideoResizeBound;startWsConnectTimeout;stopWsConnectTimeout;startConnectTimeout;stopConnectTimeout;startMseConnectTimeout;stopMseConnectTimeout;constructor(t){this.options=t;let n=Ns();if(!n.wsTransport)throw Error("[camera.ui] StreamConnection requires a wsTransport on CameraUiContext — pass `wsTransport` to createCameraUiPlugin.");this.target=n.target,this.wsTransport=n.wsTransport;let{autoStart:r=!0}=t;this.status=e(`idle`),this.activeMode=e(`webrtc`),this.activeResolution=e(`low-resolution`),this.degradedFrom=e(null),this.degradeReason=e(null),this.source=p(),this.hasVideo=e(!1),this.hasAudio=e(!1),this.hasBackchannel=e(!1),this.isPlaying=e(!1),this.stalled=e(!1),this.error=e(),this.probeInfo=p(),this.muted=e(!0),this.paused=e(!1),this.nativeWidth=e(0),this.nativeHeight=e(0),this.requestedMode=e(u(t.mode)??`auto`),this.requestedResolution=e(u(t.resolution)??`high-resolution`),this.camera=h(()=>u(t.camera)),this.videoElement=h(()=>u(t.videoElement)),this.containerElement=h(()=>u(t.containerElement)),this.isReady=h(()=>!!this.camera.value&&!!this.videoElement.value&&!!this.target.value),this.scope.run(()=>{let{onTabPaused:e,onTabVisible:t}=xc(),n=this.stopsWhenHidden?0:lc,i=W(()=>{let e=this.wsHandle;e&&e.readyState!==WebSocket.OPEN&&(e.readyState===WebSocket.CLOSED&&performance.now()-this.wsOpenedAt<Nf?this.startWsConnectTimeout():(this.disconnectWebSocket(),!this.abortController.signal.aborted&&this.status.value!==`closed`&&this.retryLater()))},wd.WEBRTC.WS_CONNECT_TIMEOUT,{immediate:!1}),a=W(()=>{if(!this.abortController.signal.aborted){if(this.webrtcHandler&&!this.webrtcHandler.isConnected)this.requestedMode.value===`auto`?this.fallBackToMSE():this.retryAfterNoMedia();else if(this.webrtcHandler&&this.awaitingWebRTCFrame||this.mjpegHandler&&!this.isPlaying.value||this.status.value===`connected`&&!this.isPlaying.value){if(zf()){this.startConnectTimeout();return}this.handleNoFramesWhileConnected()}}},()=>this.webrtcTookOver()?If:wd.WEBRTC.CONNECT_TIMEOUT,{immediate:!1}),o=W(()=>{this.abortController.signal.aborted||this.status.value===`connected`||this.status.value===`closed`||this.mseHandler&&!this.mseHandler.isReady&&this.retryAfterNoMedia()},wd.WEBRTC.CONNECT_TIMEOUT,{immediate:!1});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(()=>{Of.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`?Of.debug(`onTabPaused — already in ${this.status.value}, skipping stop()`):df(this.videoElement.value)?(Of.debug(`onTabPaused — video is in picture-in-picture, keeping the stream`),this.watchPipLeave()):(this.wasPausedByVisibility=!0,this.stop(),Of.debug(`onTabPaused — stop() done, wasPausedByVisibility=true`))},{delayMs:n}),this.offTabVisible=t(({hiddenMs:e})=>{Of.debug(`onTabVisible fired — wasPausedByVisibility=${this.wasPausedByVisibility}, status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`),this.disarmPipWatch?.();let t=this.hiddenPauseRan;this.hiddenPauseRan=!1,this.wasPausedByVisibility?(this.wasPausedByVisibility=!1,this.startWhenReady()):!t&&e>=n&&this.status.value===`connected`?(Of.debug(`onTabVisible: hidden for ${e}ms without a stop, reconnecting`),this.restart()):Of.debug(`onTabVisible — not paused by visibility, no-op`)}),r&&O(this.isReady,()=>{(this.status.value===`idle`||this.status.value===`closed`)&&this.start()},{immediate:!0})})}watchPipLeave(){if(this.disarmPipWatch)return;let e=this.videoElement.value;if(!e)return;let t=()=>{df(e)||(this.disarmPipWatch?.(),(typeof document>`u`||document.visibilityState!==`visible`)&&this.status.value!==`idle`&&this.status.value!==`closed`&&(Of.debug(`picture-in-picture closed while tab hidden — stopping the stream`),this.wasPausedByVisibility=!0,this.stop()))};e.addEventListener(`leavepictureinpicture`,t),e.addEventListener(`webkitpresentationmodechanged`,t),this.disarmPipWatch=()=>{e.removeEventListener(`leavepictureinpicture`,t),e.removeEventListener(`webkitpresentationmodechanged`,t),this.disarmPipWatch=null}}async start(){if(Of.debug(`start() called — status=${this.status.value}, isReady=${this.isReady.value}`),this.status.value!==`idle`&&this.status.value!==`closed`){Of.debug(`start() — skipped, status is ${this.status.value}`);return}if(!this.isReady.value){Of.debug(`start() — skipped, isReady=false`);return}if(this.stopsWhenHidden&&zf()){Of.debug(`start() — page hidden, starting once it is visible`),this.wasPausedByVisibility=!0;return}this.cleanup(),this.abortController=new AbortController;let e=++this.connectionGeneration;this.triedSourceIds.clear(),this.failures=0,this.playingSince=void 0,this.status.value=`connecting`,this.error.value=void 0,this.isPlaying.value=!1;try{let t=this.initializeSource();if(t===`unsupported`){Of.debug(`start() — no source with a playable codec`),this.setUnsupported();return}if(!t){Of.debug(`start() — no streaming source available`),this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}let n;for(let t=0;t<3;t++){let t=this.source.value?._id;n=t,Of.debug(`start(): connecting WebSocket`);let r=await this.dialWithProbe();if(e!==this.connectionGeneration){Of.debug(`start() — generation stale after probe, aborting`);return}r&&t&&this.probeSaysUnplayable(r)&&this.triedSourceIds.add(t);let i=this.initializeSource();if(i===`unsupported`){this.disconnectWebSocket(),this.setUnsupported();return}if(!i){this.disconnectWebSocket(),this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}if(!r||this.source.value?._id===t)break}this.source.value?._id!==n&&this.dialWithProbe()}catch(t){if(e!==this.connectionGeneration)return;Of.debug(`start() — error:`,t),this.error.value=t instanceof Error?t:Error(String(t)),this.status.value=`error`}}stop(){this.status.value===`closed`?Of.debug(`stop() — already closed, no-op`):(Of.debug(`stop() — was ${this.status.value}, transitioning to closed`),++this.connectionGeneration,this.status.value=`closed`,this.isPlaying.value=!1,this.cleanup())}async setMode(e){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())}async setResolution(e){if(this.requestedResolution.value===e)return;if(this.requestedResolution.value=e,this.status.value===`unsupported`){this.stop(),await this.start();return}let t=this.getSourceForResolution(e);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())}async setMicrophone(e){e?this.hasBackchannel.value&&(this.pendingMicTrack=e,this.backchannelHandler?this.backchannelHandler.isConnected&&await this.backchannelHandler.setMicrophoneTrack(e):await this.startBackchannel()):this.closeBackchannel()}setMuted(e){this.muted.value=e;let t=this.videoElement.value;t&&(t.muted=e),this.audioElement&&(this.audioElement.muted=e)}async play(){this.paused.value=!1;let e=this.videoElement.value;if(!e)return;try{await e.play()}catch{if(!e.muted){e.muted=!0,this.muted.value=!0;try{await e.play()}catch{}}}let t=this.audioElement;t&&(t.muted=this.muted.value,t.play().catch(()=>{}))}pause(){this.paused.value=!0;let e=this.videoElement.value;e&&e.pause(),this.audioElement?.pause()}destroy(){for(let e of this.stopWatchers)e();this.stopWatchers=[],this.offTabVisible?.(),this.offTabVisible=void 0,this.offTabPaused?.(),this.offTabPaused=void 0,this.disarmPipWatch?.();let e=this.videoElement.value;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()}restart(){return this.reconnect(1e3)}invalidateProbe(){this.probeInfo.value=void 0,this.probeInFlight=void 0}async reconnect(e,t=`reconnecting`){this.status.value=t,this.isPlaying.value=!1,this.cleanup(),this.abortController=new AbortController;let n=++this.connectionGeneration;try{await ff(e,this.abortController.signal)}catch{return}if(n===this.connectionGeneration){if(!this.isReady.value)this.status.value=`idle`;else{this.status.value=`reconnecting`;try{let e=this.initializeSource();if(e===`unsupported`){this.setUnsupported();return}if(!e){this.error.value=Error(`No streaming source available`),this.status.value=`error`;return}this.dialWithProbe()}catch(e){if(n!==this.connectionGeneration)return;this.error.value=e instanceof Error?e:Error(String(e)),this.status.value=`error`}}}}retryLater(e){let t=this.nextRetryDelay();e&&(this.error.value=e),this.reconnect(t,e?`error`:`reconnecting`)}nextRetryDelay(){this.playingSince!==void 0&&performance.now()-this.playingSince>=Mf&&(this.failures=0),this.playingSince=void 0;let e=Math.min(Af*2**this.failures,jf);return this.failures++,Vf(e)}retryAfterNoMedia(){this.markSourceUndecodable()?this.restart():this.retryLater(this.lastError)}startWhenReady(){if(this.isReady.value){Of.debug(`startWhenReady — already ready, calling start() now`),this.start();return}Of.debug(`startWhenReady — not ready (camera=${!!this.camera.value}, video=${!!this.videoElement.value}, target=${!!this.target.value}), watching isReady`);let e=I(this.isReady,t=>{t&&(Of.debug(`startWhenReady — isReady → true, calling start()`),e(),this.start())});this.stopWatchers.push(e)}setupWatchers(){let e=I(()=>this.target.value?.endpoint.url??null,(e,t)=>{e&&t&&e!==t&&this.status.value!==`idle`&&this.status.value!==`closed`&&this.restart()});this.stopWatchers.push(e);let t=I(()=>this.target.value?.tokens.access,e=>{this.rejectedToken!==void 0&&e&&e!==this.rejectedToken&&(this.rejectedToken=void 0,this.status.value!==`idle`&&this.status.value!==`closed`&&this.reconnect(0))});this.stopWatchers.push(t);let n=I(()=>this.camera.value?.sources.value,()=>{this.status.value===`unsupported`&&(this.stop(),this.start())});this.stopWatchers.push(n);let r=I(()=>u(this.options.mode),e=>{e!==void 0&&e!==this.requestedMode.value&&this.setMode(e)});this.stopWatchers.push(r);let i=I(()=>u(this.options.resolution),e=>{e!==void 0&&e!==this.requestedResolution.value&&this.setResolution(e)});this.stopWatchers.push(i);let a=I(this.videoElement,(e,t)=>{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=()=>{this.paused.value||e.play().catch(()=>{})},this.onVideoPlayBound=()=>{this.paused.value=!1},this.onVideoResizeBound=()=>{e.videoWidth>0&&e.videoHeight>0&&(this.nativeWidth.value=e.videoWidth,this.nativeHeight.value=e.videoHeight)},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))},{immediate:!0});this.stopWatchers.push(a);let o=I(()=>this.status.value===`connected`&&this.isPlaying.value,e=>{this.stopHealthCheck(),e&&this.startHealthCheck()},{immediate:!0});this.stopWatchers.push(o);let s=I([this.camera,this.videoElement,()=>this.target.value],([e,t,n],[r,i])=>{if(e!==r)this.status.value===`connected`?e&&t&&n&&this.restart():this.status.value===`unsupported`&&e&&t&&n&&(this.stop(),this.start());else if(t!==i&&t){if(t.srcObject instanceof MediaStream){let e=t.srcObject;if(e.active&&e.getTracks().some(e=>e.readyState===`live`)){yf(t),this.lastMediaStream=e;return}}if(this.status.value===`connected`&&this.activeMode.value!==`mse`){let e=this.lastMediaStream;e?.active&&e.getTracks().some(e=>e.readyState===`live`)?(t.srcObject=e,yf(t)):this.restart()}else if(this.status.value===`connected`&&this.activeMode.value===`mse`)this.restart();else if(this.status.value===`connecting`||this.status.value===`reconnecting`){let e=I(()=>this.isPlaying.value,t=>{let n=this.videoElement.value;t&&n?.srcObject instanceof MediaStream?(yf(n),e()):t&&n&&!n.srcObject&&this.lastMediaStream?.active&&(n.srcObject=this.lastMediaStream,yf(n),e())},{immediate:!0});this.stopWatchers.push(e)}}});this.stopWatchers.push(s)}isSourcePlayable(e){if(this.triedSourceIds.has(e._id))return!1;if(e.videoCodec===`JPEG`)return af();if(e.videoCodec!==`H265`)return!0;let t=this.requestedMode.value;return rf(t===`auto`?`auto`:t===`mse`?`mse`:`webrtc`)}getSourceForResolution(e){let t=this.camera.value;if(!t)return;let n=[`high-resolution`,`mid-resolution`,`low-resolution`],r=Math.max(0,n.indexOf(e)),i=!1;for(let a=r;a<n.length;a++){let r=t.sources.value.find(e=>e.role===n[a]);if(r){if(!this.isSourcePlayable(r))i=!0;else return{source:r,effectiveResolution:n[a],degradedFrom:i?e:null}}}let a=t.streamSource.value;if(a&&this.isSourcePlayable(a))return{source:a,effectiveResolution:a.role??`low-resolution`,degradedFrom:i?e:null};if(i||a)return`unsupported`}initializeSource(){let e=this.getSourceForResolution(this.requestedResolution.value);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}setUnsupported(){let e=this.camera.value?.sources.value.find(e=>e.videoCodec)?.videoCodec??`H265`;this.error.value=Error(`${e} cannot be played on this device`),this.status.value=`unsupported`}probeSaysUnplayable(e){let t=e.video.filter(e=>e.direction===`sendonly`);if(!t.length)return!1;if(t.every(e=>e.codec===`JPEG`))return!af();if(!t.every(e=>e.codec===`H265`))return!1;let n=this.requestedMode.value;return!rf(n===`auto`?`auto`:n===`mse`?`mse`:`webrtc`)}sourceLikelyH265(){let e=this.source.value;if(!e)return!1;if(e.videoCodec===`H265`)return!0;if(e.videoCodec!==void 0)return!1;let t=this.probeInfo.value?.video.filter(e=>e.direction===`sendonly`)??[];return t.length>0&&t.every(e=>e.codec===`H265`)}markSourceUndecodable(){let e=this.source.value;return!e||!this.sourceLikelyH265()?!1:(this.triedSourceIds.add(e._id),this.invalidateProbe(),!0)}handleNoFramesWhileConnected(){this.sourceLikelyH265()&&!this.webrtcTookOver()&&of(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()}webrtcTookOver(){return this.awaitingWebRTCFrame&&this.isPlaying.value}noteDeliveredAudio(e){e&&!this.hasAudio.value&&(this.hasAudio.value=!0)}probeStream(){let e=this.camera.value,t=this.source.value;if(!e||!t||this.abortController.signal.aborted)return Promise.resolve(void 0);if(this.probeInFlight?.sourceId===t._id)return this.probeInFlight.result;let n={sourceId:t._id,result:Promise.resolve(void 0)};return this.probeInFlight=n,n.result=this.askProbe(e,n),n.result}async askProbe(e,t){try{let n=await e.probeStream(t.sourceId,{video:!0,audio:[`pcma`,`opus`],microphone:!0});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}catch{return}finally{this.probeInFlight===t&&(this.probeInFlight=void 0)}}dialWithProbe(){let e=this.settledProbe(this.probeForSource());return this.probing=e,this.connectWebSocket(),e}probeForSource(){let e=this.source.value,t=this.probeInfo.value;return t&&e&&this.probedSourceId===e._id?Promise.resolve(t):this.probeStream()}settledProbe(e){return new Promise(t=>{let n=setTimeout(()=>t(void 0),Rf),r=e=>{clearTimeout(n),t(e)};e.then(r,()=>r(void 0))})}connectWebSocket(){this.disconnectWebSocket();let e=this.camera.value;if(this.abortController.signal.aborted||!e||!this.source.value||!this.target.value)return;let t=this.source.value.name??this.source.value.role??this.source.value._id,n=Fs(e.name.value,t);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({path:`/api/go2rtc`,query:{src:n},binaryType:`arraybuffer`}),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`,()=>{})}disconnectWebSocket(){this.stopWsConnectTimeout(),this.wsHandle&&=(this.wsHandle.dispose(),void 0)}sendWsMessage(e){this.wsHandle?.readyState===WebSocket.OPEN&&this.wsHandle.send(JSON.stringify(e))}handleWsOpen(){if(this.abortController.signal.aborted)return;this.stopWsConnectTimeout(),this.status.value=`connecting`;let e=this.wsHandle;(this.probing??Promise.resolve(void 0)).then(()=>{this.abortController.signal.aborted||this.wsHandle!==e||this.requestStream()})}requestStream(){if(this.sourceIsMjpeg()){this.startMjpeg();return}let e=this.requestedMode.value;e===`auto`?this.startAutoMode():e===`webrtc`||e===`webrtc/tcp`?this.startWebRTC(e):e===`mse`&&this.startMSE()}handleWsClose(e){if(this.status.value===`closed`||this.abortController.signal.aborted)return;let t=e?kt(e):`other`;if(t===`other`){this.retryLater();return}let n=this.connectToken;Of.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(Vf(jf)),this.rejectedToken=n):this.reconnect(0)}handleWsMessage(e){if(!this.abortController.signal.aborted){if(typeof e.data==`string`){let t;try{t=JSON.parse(e.data)}catch{return}this.handleMessage(t)}else this.mjpegHandler&&Td(e.data)?this.mjpegHandler.appendFrame(e.data):(this.mseHandler??this.audioHandler)?.appendBuffer(e.data)}}handleMessage(e){switch(e.type){case`webrtc/answer`:this.answeredPeer=this.takeOfferReply(),this.answeredPeer&&Df(this.answeredPeer,e),this.resumeBackchannel();break;case`webrtc/candidate`:this.answeredPeer&&this.isCurrentPeer(this.answeredPeer)&&Df(this.answeredPeer,e);break;case`mse`:if(this.mseAnswerPending=!1,this.mseStopPending&&(this.mseStopPending=!1,this.sendWsMessage({type:`mse/stop`})),typeof e.value==`string`){let t=this.mseHandler??this.audioHandler;if(!t)break;this.noteDeliveredAudio(kf.test(e.value)),t.initializeBuffer(e.value)}break;case`mjpeg`:this.mjpegHandler&&(this.status.value=`connected`);break;case`error`:this.handleGo2rtcError(String(e.value))}}handleGo2rtcError(e){let t=e.slice(0,Math.max(0,e.indexOf(`:`))),n=Error(e);if(Of.debug(`go2rtc error: ${e}`),t===`webrtc/offer`){let e=this.takeOfferReply();if(e&&e===this.webrtcHandler&&!e.isConnected){this.lastError=n,this.stopConnectTimeout(),this.requestedMode.value===`auto`?this.fallBackToMSE():this.retryLater(n);return}e&&e===this.backchannelHandler&&this.closeBackchannel(),this.resumeBackchannel()}else if(t===`mjpeg`)this.mjpegHandler&&this.retryLater(n);else if(t===`mse`){if(this.mseAnswerPending=!1,this.mseStopPending=!1,this.audioHandler){this.closeAudio();return}if(!this.mseHandler)return;if(this.lastError=n,this.mseRejected=!0,this.requestedMode.value===`auto`&&this.webrtcHandler){this.dropMSE();return}this.retryLater(n)}else t.startsWith(`webrtc`)||(this.lastError=n)}async startWebRTC(e){if(this.abortController.signal.aborted)return;this.startConnectTimeout();let t=Tf({mode:e,signal:this.abortController.signal,onConnected:e=>this.handleWebRTCConnected(e),onDisconnected:()=>this.handleWebRTCDisconnected(),onFailed:()=>this.handleWebRTCFailed(),onCandidate:e=>this.sendWsMessage({type:`webrtc/candidate`,value:e})});this.webrtcHandler=t;let n=await t.createOffer();n&&!this.abortController.signal.aborted&&this.webrtcHandler===t&&this.sendOffer(t,n)}handleWebRTCConnected(e){if(this.abortController.signal.aborted)return;let t=this.videoElement.value;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,yf(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()))}handleWebRTCDisconnected(){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())}handleWebRTCFailed(){this.abortController.signal.aborted||(this.stopConnectTimeout(),this.requestedMode.value===`auto`?this.fallBackToMSE():this.retryLater(this.lastError??Error(`WebRTC connection failed`)))}fallBackToMSE(){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())}startMSE(){if(this.mseHandler)return;let e=this.videoElement.value;if(this.abortController.signal.aborted||!e)return;this.mseHandler=_f({videoElement:e,signal:this.abortController.signal,onReady:()=>this.handleMSEReady(),onFirstData:()=>this.handleMSEFirstData(),onError:(e,t)=>this.handleMSEError(e,t)});let t=this.mseHandler.setup();t&&(this.mseStopPending&&(this.mseStopPending=!1,this.sendWsMessage({type:`mse/stop`})),this.sendWsMessage({type:`mse`,value:t}),this.mseAnswerPending=!0,this.startMseConnectTimeout())}handleMSEReady(){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())}handleMSEFirstData(){if(this.abortController.signal.aborted)return;let e=this.videoElement.value;e&&(this.watchFirstFrame(e),yf(e))}handleMSEError(e,t){if(this.abortController.signal.aborted)return;if(Of.debug(`MSE ${t} error:`,e),this.requestedMode.value===`auto`&&this.webrtcHandler){let e=this.isPlaying.value||this.status.value===`connected`;this.dropMSE(),e&&(this.isPlaying.value=!1,this.status.value=`reconnecting`);return}let n=this.videoElement.value,r=!n||n.readyState<Lf;(t===`setup`||r)&&this.sourceLikelyH265()?(of(`mse`),this.markSourceUndecodable(),this.restart()):t===`setup`?(this.error.value=e,this.status.value=`error`,this.cleanup()):this.retryLater()}dropMSE(){this.mseHandler?.close(),this.mseHandler=void 0,this.stopMseConnectTimeout(),this.mseAnswerPending?this.mseStopPending=!0:this.sendWsMessage({type:`mse/stop`})}startAutoMode(){if(this.abortController.signal.aborted)return;let e=this.probeInfo.value;e&&!cf(e).compatible?(this.activeMode.value=`mse`,this.startMSE()):(this.startWebRTC(`webrtc`),this.startMSE())}sourceIsMjpeg(){let e=this.probeInfo.value?.video.filter(e=>e.direction===`sendonly`)??[];return e.length?e.every(e=>e.codec===`JPEG`):this.source.value?.videoCodec===`JPEG`}startMjpeg(){let e=this.videoElement.value;if(this.abortController.signal.aborted||!e)return;let t=Ed({signal:this.abortController.signal});this.mjpegHandler=t,this.activeMode.value=`mjpeg`,this.lastMediaStream=t.stream,e.srcObject=t.stream,yf(e),this.sendWsMessage({type:`mjpeg`}),this.startConnectTimeout(),this.watchFirstFrame(e),this.hasAudio.value&&this.startAudio()}startAudio(){if(this.audioHandler||this.abortController.signal.aborted)return;let e=document.createElement(`audio`);e.muted=this.muted.value;let t=_f({videoElement:e,signal:this.abortController.signal,onReady:()=>{},onFirstData:()=>yf(e),onError:e=>{Of.debug(`MJPEG audio error:`,e),this.dropAudio()}}),n=t.setup()?.split(`,`).filter(e=>kf.test(e)).join(`,`);n?(this.audioElement=e,this.audioHandler=t,this.sendWsMessage({type:`mse`,value:n}),this.mseAnswerPending=!0):t.close()}dropAudio(){this.audioHandler&&(this.closeAudio(),this.mseAnswerPending?this.mseStopPending=!0:this.sendWsMessage({type:`mse/stop`}))}closeAudio(){this.audioHandler?.close(),this.audioHandler=void 0;let e=this.audioElement;e&&(this.audioElement=void 0,e.pause(),e.removeAttribute(`src`),e.load())}handleFirstFrame(){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()))}watchFirstFrame(e){if(this.cancelFirstFrameWatch?.(),e.readyState>=Lf){this.handleFirstFrame();return}let t=e,n=()=>{this.cancelFirstFrameWatch?.(),this.handleFirstFrame()},r=t.requestVideoFrameCallback?.(n);e.addEventListener(`loadeddata`,n),this.cancelFirstFrameWatch=()=>{this.cancelFirstFrameWatch=void 0,e.removeEventListener(`loadeddata`,n),r!==void 0&&t.cancelVideoFrameCallback?.(r)}}startHealthCheck(){let e=this.videoElement.value;e&&this.resetHealthBaseline(e),this.healthInterval=setInterval(()=>this.checkHealth(),Pf)}stopHealthCheck(){this.healthInterval!==void 0&&(clearInterval(this.healthInterval),this.healthInterval=void 0),this.stalled.value=!1}resetHealthBaseline(e){this.lastProgressAt=performance.now(),this.lastMediaTime=e.currentTime,this.lastFrameCount=this.frameCount(e),this.frameCounterLive=!1,this.stalled.value=!1}checkHealth(){let e=this.videoElement.value;if(!e)return;let t=this.activeMode.value===`mse`,n=this.frameCount(e);n!==void 0&&n>0&&(this.frameCounterLive=!0);let r=n!==this.lastFrameCount||t&&e.currentTime!==this.lastMediaTime;t&&vf(e),this.audioElement&&vf(this.audioElement),this.lastMediaTime=e.currentTime,this.lastFrameCount=n;let i=performance.now();if(r||!this.expectsFrames(e)){this.lastProgressAt=i,this.stalled.value=!1;return}let a=i-this.lastProgressAt;a>=If?(Of.debug(`no frame for ${Math.round(a)}ms, reconnecting`),this.retryLater()):a>=Ff&&(this.stalled.value=!0)}frameCount(e){return this.mjpegHandler?this.mjpegHandler.frames:Bf(e)}expectsFrames(e){return this.paused.value||e.paused||df(e)||zf()?!1:this.activeMode.value===`mse`||this.frameCounterLive}cleanup(){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();let e=this.videoElement.value;e&&(e.style.display=``,e.pause(),e.srcObject=null,e.removeAttribute(`src`),e.load())}async startBackchannel(){if(this.abortController.signal.aborted||!this.wsHandle||this.wsHandle.readyState!==WebSocket.OPEN||this.offerPeer||this.webrtcHandler&&(!this.webrtcHandler.isConnected||this.awaitingWebRTCFrame))return;let e=Ef({filterUdp:this.requestedMode.value===`webrtc/tcp`,signal:this.abortController.signal,onCandidate:e=>this.sendWsMessage({type:`webrtc/candidate`,value:e}),onConnected:async()=>{this.pendingMicTrack&&this.backchannelHandler===e&&await e.setMicrophoneTrack(this.pendingMicTrack)},onFailed:()=>this.closeBackchannel(e)});this.backchannelHandler=e;let t;try{t=await e.createOffer()}catch{this.closeBackchannel(e);return}t&&!this.abortController.signal.aborted&&this.backchannelHandler===e&&this.sendOffer(e,t)}resumeBackchannel(){this.pendingMicTrack&&!this.backchannelHandler&&this.startBackchannel()}sendOffer(e,t){this.wsHandle?.readyState===WebSocket.OPEN&&(this.offerPeer=e,this.wsHandle.send(JSON.stringify({type:`webrtc/offer`,value:t})))}takeOfferReply(){let e=this.offerPeer;return this.offerPeer=void 0,e&&this.isCurrentPeer(e)?e:void 0}isCurrentPeer(e){return e===this.webrtcHandler||e===this.backchannelHandler}closeBackchannel(e=this.backchannelHandler){e?.close(),e===this.backchannelHandler&&(this.backchannelHandler=void 0,this.pendingMicTrack=null)}};function Uf(e){return new Hf(e)}var Wf=class{streams=new Map;standalone=new Set;releaseTimers=new Map;releaseDelay;DEFAULT_RELEASE_DELAY=2e3;constructor(e={}){this.releaseDelay=e.releaseDelay??this.DEFAULT_RELEASE_DELAY}has(e){return this.streams.has(e)}getRefCount(e){return this.streams.get(e)?.refCount??0}get(e){return this.streams.get(e)}acquire(e,t){this.cancelRelease(e);let n=this.streams.get(e);if(n)return n.refCount++,t&&n.consumerContainerRefs.add(t),n}register(e,t,n,r,i,a){this.cancelRelease(e);let o={stream:t,videoElementRef:n,cameraDeviceRef:r,containerElementRef:i,consumerContainerRefs:new Set([i]),sharedVideoElement:a,mediaStream:null,refCount:1};return this.streams.set(e,o),o}updateContainerElement(e,t){let n=this.streams.get(e);n&&(n.containerElementRef.value=t)}updateSharedVideoElement(e,t){let n=this.streams.get(e);n&&(n.sharedVideoElement=t)}updateMediaStream(e,t){let n=this.streams.get(e);n&&(n.mediaStream=t)}release(e,t,n){let r=this.streams.get(e);if(r){if(r.refCount--,n){r.consumerContainerRefs.delete(n);let e=r.sharedVideoElement,t=n.value,i=e?.parentElement??null;if(r.refCount>0&&e&&(i===t||i===null||!i.isConnected)){let n=this.pickVisibleConsumer(r,t);n&&(r.containerElementRef=n.ref,e.parentElement!==n.el&&(n.el.appendChild(e),e.play().catch(()=>{})))}}if(r.refCount<=0){let t=setTimeout(()=>{this.doRelease(e)},this.releaseDelay);this.releaseTimers.set(e,t)}}}track(e){return this.standalone.add(e),()=>{this.standalone.delete(e)}}restartConnected(){let e=new Set(this.standalone);for(let t of this.streams.values())e.add(t.stream);let t=0;for(let n of e)n.status.value!==`connected`||n.paused.value||(n.restart().catch(()=>{}),t++);return t}forceRelease(e){this.cancelRelease(e),this.doRelease(e)}clear(){for(let e of this.releaseTimers.values())clearTimeout(e);this.releaseTimers.clear();for(let[e,t]of this.streams)Gf(t.stream),this.streams.delete(e)}getDebugInfo(){return Array.from(this.streams.entries()).map(([e,t])=>({cameraName:e,refCount:t.refCount,mode:t.stream.activeMode.value,resolution:t.stream.activeResolution.value}))}pickVisibleConsumer(e,t){let n;for(let r of e.consumerContainerRefs){let e=r.value;if(e&&e!==t&&e.isConnected){if(e.checkVisibility?.()??e.offsetParent!==null)return{ref:r,el:e};n??={ref:r,el:e}}}return n}cancelRelease(e){let t=this.releaseTimers.get(e);t&&(clearTimeout(t),this.releaseTimers.delete(e))}doRelease(e){let t=this.streams.get(e);t&&(t.refCount<=0&&(Gf(t.stream),this.streams.delete(e)),this.releaseTimers.delete(e))}};function Gf(e){let t=e;typeof t.destroy==`function`?t.destroy():t.stop()}var Kf=new Wf;function qf(){return Kf.restartConnected()}var Jf=new WeakMap,Yf=null,Xf=[],Zf=p(null);function Qf(){Zf.value=Xf[Xf.length-1]??null}function $f(){return h(()=>Zf.value)}function ep(t,n={}){let r=n.mode??`fit`,i=e(!1),a=p(null);I(()=>u(t),e=>{a.value=e??null},{immediate:!0});function o(e){e.key===`Escape`&&i.value&&c()}async function s(){let e=a.value;if(!e||i.value)return;let t=document.createElement(`div`);t.className=`cui-fullscreen cui-fullscreen-${r}`,tp(t,r);let n=document.createComment(`cui-fullscreen`);e.before(n);let s={wrapper:t,parent:e.parentElement,placeholder:n,bodyOverflow:document.body.style.overflow,htmlOverflow:document.documentElement.style.overflow,scrollY:window.scrollY};Jf.set(e,s),e.setAttribute(`data-cui-fullscreen`,r),(Yf??document.body).appendChild(t),t.appendChild(e),document.body.style.overflow=`hidden`,document.documentElement.style.overflow=`hidden`,window.scrollTo({top:0,behavior:`instant`}),document.addEventListener(`keydown`,o),Xf.push(t),Qf(),i.value=!0}async function c(){let e=a.value;if(!e||!i.value)return;let t=Jf.get(e);if(!t)return;Jf.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({top:t.scrollY,behavior:`instant`}),document.removeEventListener(`keydown`,o);let n=Xf.indexOf(t.wrapper);n!==-1&&Xf.splice(n,1),Qf(),i.value=!1}async function l(){i.value?await c():await s()}return M(()=>{i.value&&a.value&&c(),document.removeEventListener(`keydown`,o)}),{isFullscreen:h(()=>i.value),isSupported:h(()=>!0),enter:s,exit:c,toggle:l}}function tp(e,t){let n={position:`fixed`,top:`0`,right:`0`,bottom:`0`,left:`0`,zIndex:`2147483647`,margin:`0`,background:`black`,paddingTop:`env(safe-area-inset-top)`,paddingRight:`env(safe-area-inset-right)`,paddingBottom:`env(safe-area-inset-bottom)`,paddingLeft:`env(safe-area-inset-left)`,boxSizing:`border-box`};t===`fit`?Object.assign(e.style,n,{display:`flex`,alignItems:`center`,justifyContent:`center`,overflow:`hidden`}):Object.assign(e.style,n,{display:`block`,overflowY:`auto`,overflowX:`hidden`,WebkitOverflowScrolling:`touch`,overscrollBehavior:`contain`})}var np=75,rp=500,ip=1e4,ap=2,op=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=`,sp=0,cp=0;function lp(){let e=performance.now();e-cp>rp&&(sp=0);let t=sp*np;return sp++,cp=e,t}function up(e){return!e||!e.isConnected?!1:e.checkVisibility?.()??e.offsetParent!==null}function dp(t){let{activityConfig:n,autoStart:r=!0,isolated:i=!1}=t,a=i,o,s=()=>u(r),c=t.startDelay??lp(),l=[],{isConnected:d}=Ns(),f=h(()=>u(t.camera)),m=h(()=>typeof f.value==`string`),_=h(()=>{let e=f.value;return typeof e==`string`?e:e.name.value}),{camera:v,isLoading:y}=dl(h(()=>m.value?_.value:``)),b=h(()=>m.value&&y.value),x=h(()=>m.value?v.value:f.value),S,C,w,T=p(),E=p(),D=p(),O=p(),k=p(),A=p(),j=e(!1),N=e(!1),P=e(!1),F=e(0),L=e(0),R=e(!1),z=e(!1),B=e(!1),V=e(c<=0),H,ee,U=!1,W=!1;c>0&&(S=setTimeout(()=>{V.value=!0},c)),I(x,e=>{A.value=e},{immediate:!0});let G=h(()=>A.value?.disabled.value===!0),te=h(()=>k.value?.status.value??`idle`),K=h(()=>k.value?.isPlaying.value??!1),ne=h(()=>k.value?.stalled?.value??!1),q=h(()=>k.value?.activeMode.value??`webrtc`),re=h(()=>k.value?.activeResolution.value??`low-resolution`),J=h(()=>k.value?.degradedFrom.value??null),Y=h(()=>te.value===`unsupported`),ie=h(()=>k.value?.hasAudio.value??!1),X=h(()=>k.value?.hasBackchannel.value??!1),Z=h(()=>k.value?.error.value),ae=h(()=>te.value===`reconnecting`),oe=h(()=>b.value||!K.value&&te.value!==`error`&&te.value!==`unsupported`),se=h(()=>ie.value&&te.value===`connected`),ce=h(()=>!!(typeof navigator<`u`&&navigator.mediaDevices)&&X.value),le=h(()=>k.value?.muted.value??!0),ue=h(()=>k.value?.paused.value??!1),de=h(()=>typeof document<`u`&&document.pictureInPictureEnabled&&!!D.value),fe=h(()=>D.value),pe=h(()=>E.value??T.value),me=Cd({initialMode:u(t.activityMode)??`always-on`,config:n,onStreamStart:()=>{!G.value&&!Ae()&&k.value?.start()},onStreamStop:()=>{if(j.value){let e=w??_.value;if(e&&Kf.getRefCount(e)>1)return}k.value?.stop()},isStreamPlaying:()=>K.value}),{isFullscreen:he,toggle:ge}=ep(pe);function _e(){return C=Uf({camera:A,videoElement:O,containerElement:T,mode:h(()=>u(t.mode)??`auto`),resolution:h(()=>u(t.resolution)??`high-resolution`),autoStart:!1}),C}let ve=_e();function ye(){let e=document.createElement(`video`);return e.autoplay=!0,e.playsInline=!0,e.muted=!0,e.disablePictureInPicture=!1,e.preload=`auto`,e.poster=op,e.style.position=`absolute`,e.style.width=`100%`,e.style.height=`100%`,e.style.inset=`0`,e.style.objectFit=`fill`,e}function be(e,t){e.parentElement&&e.parentElement!==t&&e.parentElement.removeChild(e),e.parentElement!==t&&t.appendChild(e)}function xe(){if(a)return;let e=T.value,t=D.value;if(!e||!t||t.parentElement===e||!up(e)||up(t.parentElement))return;be(t,e),t.play().catch(()=>{});let n=_.value,r=n?Kf.get(n):void 0;r&&(r.containerElementRef=T)}function Se(){R.value=!0}function Ce(){R.value=!1}function we(){R.value=df(D.value)}function Te(){return te.value!==`idle`&&te.value!==`closed`&&te.value!==`unsupported`}function Ee(){let e=D.value;if(!e||e.readyState<ap||!e.videoWidth||!e.videoHeight)return;let t=Math.round((T.value?.clientWidth||e.videoWidth)*(globalThis.devicePixelRatio||1)),n=document.createElement(`canvas`);n.width=Math.min(e.videoWidth,t),n.height=Math.round(e.videoHeight*n.width/e.videoWidth);try{n.getContext(`2d`)?.drawImage(e,0,0,n.width,n.height),e.poster=n.toDataURL(`image/jpeg`,.8)}catch{}}function De(){clearTimeout(H),H=void 0}function Oe(){clearTimeout(ee),ee=void 0}function ke(){B.value?(Oe(),R.value||z.value||ue.value||!Te()?De():H??=setTimeout(je,W?ip:0)):(De(),U&&Me())}function Ae(){return!B.value||W?!1:(U=!0,!0)}function je(){H=void 0,!(!B.value||R.value||z.value||ue.value||me.inStandby.value||!Te())&&(df(D.value)?R.value=!0:w&&Kf.getRefCount(w)>1?H=setTimeout(je,ip):(Ee(),k.value?.stop(),U=!0))}function Me(){ee??=setTimeout(()=>{ee=void 0,!B.value&&U&&(U=!1,!(G.value||!s()||me.inStandby.value)&&(te.value===`idle`||te.value===`closed`)&&k.value?.start())},lp())}function Ne(){if(N.value)return;let e=T.value,t=x.value;if(!e||!t||!d.value)return;N.value=!0,j.value=!1,k.value=ve,l.push(Kf.track(ve));let n=ye();D.value=n,O.value=n,s()&&V.value&&me.mode.value===`always-on`&&!G.value&&!Ae()&&ve.start()}function Pe(){if(N.value)return;if(a){Ne();return}let e=T.value,t=_.value,n=x.value;if(!e||!t||!d.value)return;let r=Kf.get(t);if(r&&r.refCount>0){let n=r.containerElementRef.value;if(n&&n!==e&&up(n)){o||(o=setTimeout(()=>{if(o=void 0,P.value||N.value)return;let e=Kf.get(t),n=e?.containerElementRef.value;e&&e.refCount>0&&n&&n!==T.value&&up(n)&&(a=!0),Pe()},200),l.push(()=>{o&&clearTimeout(o),o=void 0}));return}}let i=Kf.acquire(t,T);if(i){N.value=!0,w=t,j.value=!0,k.value=i.stream,n&&i.cameraDeviceRef&&(i.cameraDeviceRef.value=n);let r=i.sharedVideoElement;r||(r=ye(),i.sharedVideoElement=r,Kf.updateSharedVideoElement(t,r)),i.mediaStream?.active&&(r.srcObject=i.mediaStream),e&&(i.containerElementRef=T),D.value=r,i.videoElementRef.value=r,Le(i.stream,r,t),s()&&V.value&&me.mode.value===`always-on`&&!G.value&&!Ae()&&(i.stream.activeMode.value===`mse`?r.play().catch(()=>{}):Fe(i,r,t))}else if(n){N.value=!0,w=t,j.value=!1,k.value=ve;let e=ye();D.value=e,O.value=e,Kf.register(t,ve,O,A,T,e),s()&&V.value&&me.mode.value===`always-on`&&!G.value&&!Ae()&&ve.start();let n=I(()=>ve.isPlaying.value,n=>{n&&e.srcObject instanceof MediaStream&&Kf.updateMediaStream(t,e.srcObject)},{immediate:!0});l.push(n);let r=I(()=>ve.status.value,n=>{n===`connected`&&e.srcObject instanceof MediaStream&&Kf.updateMediaStream(t,e.srcObject)});l.push(r)}}function Fe(e,t,n){if(!e)return;let r=e.stream,i=r.activeMode.value,a=r.status.value,o=e.mediaStream?.active&&e.mediaStream.getTracks().some(e=>e.readyState===`live`);i===`mse`?(Kf.updateMediaStream(n,null),r.restart()):o&&e.mediaStream?(t.srcObject=e.mediaStream,t.play().catch(()=>{})):a===`idle`||a===`closed`?(r.start(),Ie(r,t,n)):(a===`connected`&&r.restart(),Ie(r,t,n))}function Ie(e,t,n){let r=I([()=>e.isPlaying.value,()=>e.status.value],([e,i])=>{if(i===`connected`||e){let e=Kf.get(n)?.mediaStream;e?.active&&e.getTracks().some(e=>e.readyState===`live`)?(t.srcObject=e,t.play().catch(()=>{}),r()):t.srcObject instanceof MediaStream&&(Kf.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}),r())}},{immediate:!0});l.push(r)}function Le(e,t,n){let r=e.status.value!==`connected`,i=I(()=>e.status.value,e=>{e===`reconnecting`||e===`connecting`?r=!0:e===`connected`&&r&&(r=!1,setTimeout(()=>{t.srcObject instanceof MediaStream&&(Kf.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}))},100))},{immediate:!0});l.push(i);let a=I(()=>e.isPlaying.value,r=>{r&&e.activeMode.value!==`mse`&&t.srcObject instanceof MediaStream&&(Kf.updateMediaStream(n,t.srcObject),t.play().catch(()=>{}))},{immediate:!0});l.push(a)}async function Re(){G.value||(me.inStandby.value?me.resumeFromStandby():await k.value?.start())}function ze(){k.value?.stop()}async function Be(){await k.value?.restart()}function Ve(){G.value||me.resumeFromStandby()}async function He(e){let t=_.value;t&&Kf.updateMediaStream(t,null),await k.value?.setMode(e)}async function Ue(e){await k.value?.setResolution(e)}async function We(e){await k.value?.setMicrophone(e)}function Ge(e){me.setMode(e)}function Ke(){let e=u(t.activityMode);e&&e!==me.mode.value&&me.setMode(e)}function qe(e){me.reportActivity(e)}function Je(){me.resetIdleTimer()}function Ye(e){z.value=e,me.setKeepAwake(e)}function Xe(e){k.value?.setMuted(e);let t=D.value;t&&(t.muted=e)}async function Ze(){await k.value?.play()}function Qe(){k.value?.pause()}function $e(){document.pictureInPictureElement?document.exitPictureInPicture():document.pictureInPictureEnabled&&D.value&&D.value.requestPictureInPicture()}function et(){let e=D.value;if(!e||e.videoWidth===0)return null;let t=document.createElement(`canvas`);return t.width=e.videoWidth,t.height=e.videoHeight,t.getContext(`2d`)?.drawImage(e,0,0),t.toDataURL(`image/png`)}function tt(){if(P.value)return;P.value=!0,S&&=(clearTimeout(S),void 0),De(),Oe(),k.value?.setMuted(!0);let e=D.value;e&&(e.muted=!0);for(let e of l)e();if(l.length=0,a)C?.destroy();else{let e=w,t=D.value;e&&N.value&&Kf.release(e,t,T),(!N.value||k.value!==ve)&&C?.destroy()}me.dispose()}function nt(e){let n=u(t.canvasStyle),r=u(t.canvasClass);if(n){if(typeof n==`string`)e.style.cssText+=`;`+n;else if(Array.isArray(n))for(let t of n)typeof t==`string`?e.style.cssText+=`;`+t:t&&Object.assign(e.style,t);else Object.assign(e.style,n)}if(r){if(typeof r==`string`)e.className=r;else if(Array.isArray(r))e.className=r.filter(Boolean).join(` `);else for(let[t,n]of Object.entries(r))e.classList.toggle(t,!!n)}}if(typeof IntersectionObserver<`u`){let e,t=I(T,t=>{if(e?.disconnect(),e=void 0,!t)return;let n=Math.round(t.getBoundingClientRect().height),r=n>0?`${n}px 0px`:`25% 0px`;e=new IntersectionObserver(e=>{let t=e[e.length-1];t&&(B.value=!t.isIntersecting,t.isIntersecting&&(W=!0,xe()))},{rootMargin:r,scrollMargin:r}),e.observe(t)},{immediate:!0}),n=I([B,te,R,z,ue],ke);l.push(()=>{t(),n(),e?.disconnect()})}if(t.canvasStyle!==void 0||t.canvasClass!==void 0){let e,t=I(T,t=>{if(e?.(),e=void 0,!t)return;Array.from(t.querySelectorAll(`canvas`)).forEach(e=>{nt(e)});let n=new MutationObserver(e=>{for(let t of e)Array.from(t.addedNodes).forEach(e=>{e instanceof HTMLCanvasElement?nt(e):e instanceof HTMLElement&&Array.from(e.querySelectorAll(`canvas`)).forEach(e=>nt(e))})});n.observe(t,{childList:!0,subtree:!0}),e=()=>n.disconnect()},{immediate:!0});l.push(()=>{t(),e?.()})}if(t.videoStyle!==void 0||t.videoClass!==void 0){let e=I([D,()=>u(t.videoStyle),()=>u(t.videoClass)],([e,t,n])=>{if(e){if(t){if(typeof t==`string`)e.style.cssText+=`;`+t;else if(Array.isArray(t))for(let n of t)typeof n==`string`?e.style.cssText+=`;`+n:n&&Object.assign(e.style,n);else Object.assign(e.style,t)}if(n){if(typeof n==`string`)e.className=n;else if(Array.isArray(n))e.className=n.filter(Boolean).join(` `);else for(let[t,r]of Object.entries(n))e.classList.toggle(t,r)}}},{immediate:!0});l.push(e)}let rt=I([()=>k.value?.nativeWidth.value,()=>k.value?.nativeHeight.value],([e,t])=>{e&&e>0&&(F.value=e),t&&t>0&&(L.value=t)});l.push(rt);let it=I(D,(e,t)=>{t&&(t.removeEventListener(`enterpictureinpicture`,Se),t.removeEventListener(`leavepictureinpicture`,Ce),t.removeEventListener(`webkitpresentationmodechanged`,we)),e&&(e.addEventListener(`enterpictureinpicture`,Se),e.addEventListener(`leavepictureinpicture`,Ce),e.addEventListener(`webkitpresentationmodechanged`,we))},{immediate:!0});l.push(it),I([T,D],([e,t])=>{e&&t&&be(t,e)},{immediate:!0}),I(()=>u(t.activityMode),Ke),I([T,x,d,V],()=>{N.value?V.value&&s()&&me.mode.value===`always-on`&&!K.value&&te.value===`idle`&&!G.value&&!Ae()&&k.value?.start():Pe()},{immediate:!0});let at=!1;return I(()=>N.value&&V.value&&s()&&!G.value,e=>{e&&!at&&(at=!0,Ke(),me.engage())},{immediate:!0}),I(K,e=>{if(!e)return;me.resetIdleTimer();let t=D.value;t&&t.poster!==op&&(t.poster=op)}),I(G,(e,t)=>{N.value&&(!t&&e?k.value?.stop():t&&!e&&s()&&!me.inStandby.value&&k.value?.restart())}),g(tt),M(tt),{status:te,isPlaying:K,stalled:ne,activeMode:q,activeResolution:re,degradedFrom:J,unsupported:Y,hasAudio:ie,hasBackchannel:X,error:Z,isReconnecting:ae,activityMode:me.mode,inStandby:me.inStandby,hasActivity:me.hasActivity,isBusy:oe,hasSound:se,hasIntercom:ce,videoElement:D,containerElement:T,fullscreenElement:E,renderElement:fe,stream:k,muted:le,paused:ue,nativeWidth:F,nativeHeight:L,isPip:R,supportsPip:de,isFullscreen:he,start:Re,stop:ze,restart:Be,resumeFromStandby:Ve,setMode:He,setResolution:Ue,setMicrophone:We,setActivityMode:Ge,reportActivity:qe,resetIdleTimer:Je,setKeepAwake:Ye,setMuted:Xe,play:Ze,pause:Qe,togglePip:$e,isCameraDisabled:G,toggleFullscreen:ge,captureScreenshot:et}}function fp(){let e=Ns(),t=Is.coreManagerNamespaces(),n=e=>e.createProxy(t.coreManagerRpc);return{getFFmpegPath:()=>Gs(e.rpc,e=>n(e).getFFmpegPath()),getServerAddresses:()=>Gs(e.rpc,e=>n(e).getServerAddresses()),getPluginsByInterface:t=>Gs(e.rpc,e=>n(e).getPluginsByInterface(t)),getCloudServerId:()=>Gs(e.rpc,e=>n(e).getCloudServerId()),getRestoreGeneration:()=>Gs(e.rpc,e=>n(e).getRestoreGeneration()),getInstanceId:()=>Gs(e.rpc,e=>n(e).getInstanceId())}}function pp(){let t=Ns(),{rpc:n,isConnected:r}=t,i=Is.terminalManagerNamespaces(),a=p(),o=e(!1),s=e(!1),c=e(),l=e({cols:80,rows:24}),u,d,f=0,m,h,g=!1,_=!1,v=e=>e.createProxy(i.terminalManagerRpc);async function y(e){if(!(s.value||o.value)){s.value=!0,c.value=void 0,d=e;try{let t=await Gs(n,t=>v(t).createSession({cols:e?.cols??80,rows:e?.rows??24,cwd:e?.cwd,shell:e?.shell,env:e?.env}),{maxRetries:0});a.value=t.sessionId,l.value=t.dimensions,o.value=!0,u=new AbortController,g=!1,_=!1;let r=++f;b(t.sessionId,e,r)}catch(t){c.value=t instanceof Error?t:Error(String(t)),e?.onError?.(c.value)}finally{s.value=!1}}}async function b(e,t,r){try{let i=n.value;if(!i)return;let a=v(i).generateOutput(e);m=a,h=i;for await(let e of a){if(r!==f||u?.signal.aborted)break;t?.onData?.(e)}}catch(e){if(r===f&&!u?.signal.aborted){if(_){E();return}c.value=e instanceof Error?e:Error(String(e)),t?.onError?.(c.value)}}finally{r===f&&!u?.signal.aborted&&(o.value=!1,T(e),t?.onClose?.())}}async function x(e){if(a.value&&o.value)try{await Gs(n,t=>v(t).writeInput(a.value,e))}catch(e){c.value=e instanceof Error?e:Error(String(e)),d?.onError?.(c.value)}}async function S(e){if(a.value&&o.value)try{await Gs(n,t=>v(t).resize(a.value,e)),l.value=e}catch(e){c.value=e instanceof Error?e:Error(String(e)),d?.onError?.(c.value)}}async function C(){w(),a.value&&await T(a.value),a.value=void 0,o.value=!1,d=void 0}function w(){u?.abort(),f++,m?.return(void 0).catch(()=>void 0),m=void 0,h=void 0,_=!1}function T(e){return Gs(n,t=>v(t).closeSession(e),{awaitConnect:!1,maxRetries:0}).catch(()=>void 0)}function E(){let e=d,t=a.value;w(),t&&T(t),a.value=void 0,o.value=!1,d=void 0,e?.onClose?.(),e&&y(e)}function D(){(a.value||o.value)&&(o.value&&!g&&n.value===h?_=!0:E())}function O(){g=!0}return t.on(`reconnected`,D),t.on(`disconnected`,O),M(()=>{t.off(`reconnected`,D),t.off(`disconnected`,O),C()}),{sessionId:V(a),isConnected:V(o),isConnecting:V(s),isClientConnected:V(r),error:V(c),dimensions:V(l),connect:y,write:x,resize:S,close:C}}var mp={id:`http`,kind:`request`,phaseGating:!1},hp=new Set([`Unauthorized`,`Token expired`,`Token revoked`]);function gp(e={}){let t={...mp,...e.spec},n=e.apiPrefix??`/api`,r=e.targetWaitMs??15e3,i=e.authRetryWaitMs??1e4,a=e.logger,o=new Nt,s=null,c={up:!1},l=!1,u=new Set,d=new Set,f=ye.create({timeout:e.timeoutMs??3e4});function p(e){return s?Promise.resolve():new Promise((t,n)=>{let i={resolve:()=>{s(),t()},reject:e=>{s(),n(e)}},a=setTimeout(()=>i.reject(new ye.Cancel(`http-transport: no target`)),r),o=()=>i.reject(new ye.Cancel(`http-transport: aborted`));function s(){clearTimeout(a),u.delete(i),e?.removeEventListener?.(`abort`,o)}e?.aborted?i.reject(new ye.Cancel(`http-transport: aborted`)):(e?.addEventListener?.(`abort`,o),u.add(i))})}function m(){if(s)for(let e of[...u])e.resolve()}function h(e,t,n){return s&&s.tokens.access!==e?Promise.resolve(!0):new Promise((r,a)=>{let o={staleAccess:e,resolve:e=>{l(),r(e)},reject:e=>{l(),a(e)}},s=setTimeout(()=>o.reject(Error(`http-transport: token refresh timed out`)),i),c=()=>o.reject(new ye.Cancel(`http-transport: aborted`));function l(){clearTimeout(s),d.delete(o),t?.removeEventListener?.(`abort`,c)}t?.aborted?o.reject(new ye.Cancel(`http-transport: aborted`)):(t?.addEventListener?.(`abort`,c),d.add(o),n?.then(e=>{e||o.resolve(!1)}))})}function g(){for(let e of[...d])s?s.tokens.access!==e.staleAccess&&e.resolve(!0):e.reject(new ye.Cancel(`http-transport: no target`))}f.interceptors.request.use(async t=>{s||await p(t.signal);let r=s;if(!r)throw new ye.Cancel(`http-transport: no target`);return t._sentAccess=r.tokens.access,t.baseURL||=`${r.endpoint.url}${n}`,e.authorize?await e.authorize(t,r):t.headers.set(`Authorization`,`Bearer ${r.tokens.access}`),t}),f.interceptors.response.use(e=>(c.up||(c={up:!0},a?.debug(`markUp`),o.emit(`up`,void 0)),e),async t=>{if(ye.isCancel(t))return Promise.reject(t);if(!t.response)return v(t.message??`network`),Promise.reject(t);if(t.response.status===401){a?.debug(`auth-error 401 (${t.config?.url??`unknown-url`})`);let n=[],r=t.config,i=_p(t),s=!e.authorize&&i!==void 0&&hp.has(i);if(o.emit(`auth-error`,{status:401,message:i,access:s?r?._sentAccess:void 0,holdFor:e=>n.push(e)}),r?._sentAccess&&!r._authRetried&&!l)return r._authRetried=!0,await _(r._sentAccess,n,r.signal)?(a?.debug(`retry after 401 (${r.url??`unknown-url`})`),f(r)):Promise.reject(t)}return Promise.reject(t)});async function _(t,n,r){if(n.length===0&&e.authorize)return!0;let i=n.length>0?Promise.all(n).then(e=>e.some(Boolean),()=>!1):void 0;try{return await h(t,r,i)||!!e.authorize}catch{return!1}}function v(e){(c.up||c.lastError!==e)&&(c={up:!1,lastError:e},a?.debug(`markDown (${e})`),o.emit(`down`,{reason:e}))}async function y(e){if(l)throw Error(`http-transport disposed`);if(jt(s,e))return;let t=Mt(s,e);s=e,e?(t&&(c={up:!1}),m(),g()):(c={up:!1},o.emit(`down`,{reason:`detached`}),g())}function b(){return c}function x(e,t){return o.on(e,t)}async function S(){l=!0,s=null,c={up:!1};for(let e of[...u])e.reject(new ye.Cancel(`http-transport: disposed`));for(let e of[...d])e.reject(new ye.Cancel(`http-transport: disposed`));o.clear()}return{spec:t,client:f,apply:y,health:b,on:x,dispose:S}}function _p(e){let t=e.response?.data;return t&&typeof t==`object`&&`message`in t&&typeof t.message==`string`?t.message:e.message}var vp={id:`nats`,kind:`persistent`,phaseGating:!0},yp=3e3,bp=2e3,xp=12e4;function Sp(){let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID();if(e?.getRandomValues){let t=new Uint8Array(16);return e.getRandomValues(t),Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}return`${Date.now()}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}function Cp(e={}){let t={...vp,...e.spec},n=e.proxyPath??`/api/proxy`,r=e.clientName??`@camera.ui/transport/nats`,i=e.natsUser??`secret`,a=e.natsPassword??`secret`,o=e.reconnectTimeWait??1e3,s=e.reconnectionDelayMax??5e3,c=e.reconnectionRandomizationFactor??.5,l=e.timeout??1e4,u=e.connectTimeout??5e3,d=e.pingInterval??25e3,f=e.pingTimeout??2e4,p=e.maxPingOut??1,m=d||xp,h=m+(f>0?f:m),g=e.logger,_=e.resolveServers,v=e.resolveRefreshMs??0,y=new Nt,b=new Set,x=null,S=null,C=null,w={up:!1},T=null,E=!1,D=null,O=0,k=null,A=null,j=!1,M=0,N=!1,P,F=0;function I(e){let t=new URL(e.endpoint.url),r=t.protocol===`https:`?`wss:`:`ws:`,i=t.port||(t.protocol===`https:`?`443`:`80`),a=t.pathname.replace(/\/$/,``),o=new URLSearchParams({token:e.tokens.access});return D&&o.set(`connId`,D),[`${r}//${t.hostname}:${i}${a}${n}?${o.toString()}`]}async function L(e){let t=I(e);return _?_({target:e,connId:D??``,defaultServers:t}):t}async function R(e){let t=C;if(_&&t&&!E&&!(N||Date.now()-M<yp)){N=!0;try{let n=await L(t);S===e&&!E&&e.setServers(n)}catch(e){g?.warn(`server refresh failed: ${Ep(e)}`)}finally{N=!1,M=Date.now()}}}function z(){x&&=(clearInterval(x),null)}function B(e){z(),!(!_||v<=0)&&(x=setInterval(()=>R(e),v))}async function V(e){let t=C;if(!S||!t||E)return;g?.debug(`resign (${e})`);let n=++O;W(),z();try{S.abortClose()}catch{}S=null,H(),U(`signature-expired: ${e}`);try{await ne(t,n)}catch{}}function H(){let e=w.up?S:null;for(let t of[...b])try{t(e)}catch{}}function ee(){w.up||(w={up:!0},g?.debug(`markUp`),y.emit(`up`,void 0))}function U(e){(w.up||w.lastError!==e)&&(w={up:!1,lastError:e},g?.debug(`markDown (${e})`),y.emit(`down`,{reason:e}))}function W(){T?.abort(),T=null}function G(e){W();let t=new AbortController;T=t,(async()=>{let n=e.status();if(n)for await(let r of n){if(t.signal.aborted)break;switch(g?.debug(`status: ${r.type}${`server`in r&&r.server?` server=${String(r.server)}`:``}`),r.type){case`reconnect`:ee(),H();break;case`disconnect`:U(`disconnect`),H(),_&&R(e);break;case`reconnecting`:_&&R(e);break;case`staleConnection`:U(`staleConnection`),H();break;case`error`:te(r)}}})().catch(()=>{})}function te(e){let t=e.error??e.data,n=Ep(t??`server error`);if(n.toLowerCase().includes(`permissions violation`)){g?.warn(`permission violation (connection stays up): ${n}`);return}let r=kt(typeof t==`object`&&t?{...t,message:n}:n);if(r===`auth-expired`){if(_){V(n);return}y.emit(`auth-error`,{message:n,access:P})}else if(r===`forbidden`){if(At(t)){K(n);return}g?.warn(`forbidden by server: ${n}`),U(Tp(n))}else U(n)}function K(e){j=!0;let t=S;if(t){W(),z(),S=null;try{t.abortClose()}catch{}}g?.warn(`forbidden by server: ${e}`),U(Tp(e)),t&&H()}async function ne(e,t){if(g?.debug(`rebuildClient start (epoch=${t})`),W(),z(),k?.abort(),j=!1,S){try{S.abortClose()}catch{}S=null,U(`endpoint-changed`),H()}let n=new AbortController;k=n;try{for(let r=0;;r++){if(r>0){let e=re(r-1);if(g?.debug(`rebuildClient retry in ${e}ms`),await wp(e,n.signal),E||t!==O)return}if(await q(e,t,n.signal))return}}finally{k===n&&(k=null)}}async function q(e,t,n){let m=Date.now(),h,v={startedAt:m,settled:new Promise(e=>h=e)};A=v;try{D=Sp();let h;try{h=await L(e)}catch(e){if(E||t!==O)return!0;let n=Ep(e);return g?.debug(`rebuildClient resolve FAILED: ${n}`),U(n),!1}if(E||t!==O)return!0;P=e.tokens.access;let v=ps({servers:h,name:r,connId:D,auth:{user:i,password:a},reconnect:!0,maxReconnectAttempts:-1,reconnectTimeWait:o,reconnectionDelayMax:s,reconnectionRandomizationFactor:c,timeout:l,connectTimeout:u,pingInterval:d,pingTimeout:f,maxPingOut:p,ignoreAuthErrorAbort:!0,waitOnFirstConnect:!1});try{await v.connect({signal:n})}catch(n){try{v.abortClose()}catch{}if(E||t!==O)return!0;let r=n instanceof Error?n.message:String(n);g?.debug(`rebuildClient connect FAILED after ${Date.now()-m}ms: ${r}`);let i=kt(n instanceof Error?n:r);if(i===`forbidden`)throw K(r),n;if(i===`auth-expired`&&!_)throw j=!0,y.emit(`auth-error`,{message:r,access:e.tokens.access}),U(r),n;return U(r),!1}if(E||t!==O){try{v.abortClose()}catch{}return!0}return S=v,g?.debug(`rebuildClient connected in ${Date.now()-m}ms`),ee(),H(),G(v),B(v),!0}finally{h(),A===v&&(A=null)}}function re(e){let t=s>0?Math.min(o*2**e,s):o,n=t*c;return Math.round(t-n+Math.random()*2*n)}async function J(e){if(E)throw Error(`nats-transport disposed`);if(jt(C,e)&&(!e||S||k||j))return;let t=++O,n=Mt(C,e);if(C=e,!e){if(W(),z(),k?.abort(),k=null,j=!1,S){try{S.abortClose()}catch{}S=null,H()}U(`detached`);return}if(n||!S){await ne(e,t);return}let r=S,i=await L(e);t===O&&(S===r?(r.setServers(i),P=e.tokens.access):j&&await ne(e,t))}function Y(){return w.up&&S?.isStale&&Date.now()>F?{up:!1,lastError:`staleConnection`}:w}function ie(e,t){return y.on(e,t)}async function X(){if(E=!0,O++,W(),z(),k?.abort(),k=null,S){try{S.abortClose()}catch{}S=null,H()}b.clear(),w={up:!1},y.clear()}function Z(){return w.up?S:null}function ae(e){return b.add(e),e(w.up?S:null),()=>b.delete(e)}async function oe(e=5e3){if(!S)throw Error(`nats-transport: no client`);let t=Date.now();try{await S.flush(e),F=Date.now()+h,g?.debug(`probeAlive OK in ${Date.now()-t}ms`)}catch(e){throw g?.debug(`probeAlive FAILED after ${Date.now()-t}ms: ${e instanceof Error?e.message:String(e)}`),e}}async function se(){if(!S){g?.debug(`forceReconnect: no client`);return}g?.debug(`forceReconnect: issuing (up=${w.up} stale=${S.isStale})`);let e=Date.now();await S.forceReconnect(),g?.debug(`forceReconnect: returned after ${Date.now()-e}ms (up=${w.up})`)}let ce=null;function le(){return ce||(ce=(async()=>{if(E||!C||j)return Y();if(!S){let e=A;return e&&Date.now()-e.startedAt<bp?(await e.settled,Y()):(ne(C,++O).catch(()=>{}),await A?.settled,Y())}if(w.up)try{return await oe(3e3),w}catch{}try{await se()}catch{}return Y()})().finally(()=>{ce=null}),ce)}return{spec:t,apply:J,health:Y,on:ie,dispose:X,getClient:Z,subscribeClient:ae,probeAlive:oe,forceReconnect:se,ensureAlive:le}}function wp(e,t){return new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(i,e);t.addEventListener(`abort`,i,{once:!0});function i(){clearTimeout(r),t.removeEventListener(`abort`,i),n()}})}function Tp(e){return/^forbidden\b/.test(e)?e:`forbidden: ${e}`}function Ep(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;try{return JSON.stringify(e)??String(e)}catch{return String(e)}}var Dp=3e3,Op=3e3,kp=1e4,Ap={id:`socketio`,kind:`persistent`,phaseGating:!0};function jp(e={}){let t={...Ap,...e.spec},n=e.path??`/api/socket.io`,r=e.mainNamespace??`/camera.ui`,i=e.reconnection??!0,a=e.reconnectionDelay??1e3,o=e.reconnectionDelayMax??5e3,s=e.timeout??2e4,c=e.logger,l=e.resolveQuery,u=e.resolveRefreshMs??0,d=e.releaseGraceMs??kp,f=new Nt,p=new Map,m=new Set,h=new Set,g=new Map,_=new Set,v=new Map,y=null,b=null,x=null,S=0,C=!1,w={up:!1},T=!1,E=0,D=null,O=e.staleAfterMs??6e4,k=0;function A(){k=Date.now()}function j(){return k>0&&Date.now()-k>O}function M(){let e=y?.engine?._pingTimeoutTime;return typeof e==`number`?Date.now()>e:j()}function N(e){return{token:`Bearer ${e.tokens.access}`}}async function P(e){let t={};return l?l({target:e,path:G(e),query:t}):t}async function F(){let e=b;if(l&&e&&!T&&!(C||Date.now()-S<Dp)){C=!0;try{let t=await P(e);if(b!==e||T)return;y&&(y.opts.query=t)}catch(e){c?.warn(`query refresh failed: ${e instanceof Error?e.message:String(e)}`)}finally{C=!1,S=Date.now()}}}async function I(e){let t;try{await Promise.race([F(),new Promise(n=>t=setTimeout(n,e))])}finally{clearTimeout(t)}}function L(){x&&=(clearInterval(x),null)}function R(){L(),!(!l||u<=0)&&(x=setInterval(()=>F(),u))}function z(){w.up||(w={up:!0},c?.debug(`markUp`),f.emit(`up`,void 0))}function B(e){(w.up||w.lastError!==e)&&(w={up:!1,lastError:e},c?.debug(`markDown (${e})`),f.emit(`down`,{reason:e}))}function V(e){return kt({message:e?.message,data:e?.data})===`auth-expired`}function H(e){let t=e.auth?.token;return typeof t==`string`&&t.startsWith(`Bearer `)?t.slice(7):void 0}function ee(e){e.on(`connect`,()=>z()),e.on(`disconnect`,t=>{p.get(r)===e&&(B(t),l&&F())}),e.on(`connect_error`,t=>{let n=t?.message??`connect_error`;c?.debug(`connect_error (main): ${n}`),l&&F(),V(t)?f.emit(`auth-error`,{message:n,access:H(e)}):B(n)})}function U(e){e.on(`connect_error`,t=>{V(t)&&f.emit(`auth-error`,{message:t?.message??`connect_error`,access:H(e)})})}function W(e){return new URL(e.endpoint.url).origin}function G(e){return`${new URL(e.endpoint.url).pathname.replace(/\/$/,``)}${n}`}function te(e,t,n){let i=N(n),a=t.socket(e,{auth:i});return a.auth=i,p.set(e,a),e===r?ee(a):U(a),a.connect(),a}async function K(e,t){let n;try{n=await P(e)}catch(e){throw B(e instanceof Error?e.message:String(e)),e}if(t!==E||T)return;let l=new we(W(e),{path:G(e),query:n,autoConnect:!1,reconnection:i,reconnectionDelay:a,reconnectionDelayMax:o,timeout:s,rejectUnauthorized:!1,transports:[`websocket`]});y=l,k=Date.now(),l.on(`open`,A),l.on(`ping`,A),l.on(`packet`,A),te(r,l,e);for(let t of m)p.has(t)||te(t,l,e);m.clear(),R();for(let e of[...h])try{e()}catch(e){c?.warn(`rebuild listener failed: ${e instanceof Error?e.message:String(e)}`)}}function ne(){let e=[...p.values()],t=y;p.clear(),y=null;for(let t of e)t.disconnect(),t.removeAllListeners();t?._close()}function q(e){let t=N(e);for(let e of p.values())e.auth=t,e.connected||e.connect()}async function re(e){if(T)throw Error(`socketio-transport disposed`);if(jt(b,e))return;let t=Mt(b,e);if(b=e,!e)E++,ne(),m.clear(),L(),k=0,B(`detached`);else if(t||!y){let t=++E;for(let e of p.keys())e!==r&&m.add(e);ne(),L();try{await K(e,t)}catch(n){throw t===E&&b===e&&(b=null),n}}else q(e)}function J(){return w.up&&M()?{up:!1,lastError:`staleConnection`}:w}function Y(e,t){return f.on(e,t)}async function ie(){T=!0,E++,ne(),m.clear(),h.clear();for(let e of v.values())clearTimeout(e);v.clear(),g.clear(),_.clear(),L(),b=null,w={up:!1},f.clear()}function X(e=r){return p.get(e)??null}function Z(e){return b?(g.has(e)||_.add(e),y?p.get(e)??te(e,y,b):(m.add(e),null)):null}function ae(e){g.set(e,(g.get(e)??0)+1),clearTimeout(v.get(e)),v.delete(e);let t=!0;return()=>{if(!t||T)return;t=!1;let n=(g.get(e)??1)-1;n>0?g.set(e,n):(g.delete(e),e!==r&&v.set(e,setTimeout(()=>oe(e),d)))}}function oe(e){if(v.delete(e),g.has(e)||_.has(e))return;m.delete(e);let t=p.get(e);t&&(p.delete(e),t.disconnect(),t.removeAllListeners())}function se(e){return h.add(e),()=>{h.delete(e)}}function ce(){if(!b)return;if(w.up&&M()){c?.debug(`reviveDeadSockets: engine stale — forcing reconnect`),k=Date.now(),y?.engine?.close();return}let e=N(b),t=0;for(let n of p.values())n.connected||(n.auth=e,n.connect(),t++);c?.debug(`reviveDeadSockets: ${t}/${p.size} reconnecting`)}function le(e){let t=N(e);for(let e of p.values())e.active||(e.auth=t,e.connect())}function ue(){return D||(D=(async()=>{if(T||!b)return J();let e=p.get(r);if(e?.connected&&!M()){l&&F();let t=e.io.engine,n=await new Promise(t=>{e.timeout(Op).emit(`get-status`,null,e=>t(!e))});return!n&&e.connected&&e.io.engine===t?(c?.debug(`ensureAlive: probe unanswered, closing engine`),t.close()):n&&b&&le(b),J()}return l&&await I(Op),ce(),J()})().finally(()=>{D=null}),D)}return{get spec(){return t},get manager(){return y},apply:re,health:J,on:Y,dispose:ie,socket:X,ensureSocket:Z,acquire:ae,onRebuild:se,reviveDeadSockets:ce,ensureAlive:ue}}var Mp={id:`ws`,kind:`per-resource`,phaseGating:!1},Np=4e3,Pp=4001,Fp=4002,Ip=4003,Lp=1e4;function Rp(e={}){let t={...Mp,...e.spec},n=e.tokenParam??`token`,r=e.webSocketCtor??(typeof WebSocket<`u`?WebSocket:void 0),i=e.resolveUrl,a=e.logger,o=new Nt,s=new Set,c=new WeakSet,l=null,u={up:!1},d=!1;function f(){if(!r)throw Error(`ws-transport: no WebSocket constructor available; pass webSocketCtor in non-browser environments`);return r}function p(e,t){let r=new URL(e.endpoint.url),i=r.protocol===`https:`?`wss:`:`ws:`,a=r.port||(r.protocol===`https:`?`443`:`80`),o=r.pathname.replace(/\/$/,``),s=new URLSearchParams;for(let[e,n]of Object.entries(t.query??{}))n!=null&&n!==``&&s.set(e,n);return s.set(n,e.tokens.access),`${i}//${r.hostname}:${a}${o}${t.path}?${s.toString()}`}function m(e){return kt({code:e.code,reason:e.reason})===`auth-expired`}function h(e,t){t.onopen=()=>{if(!(e.disposed||e.ws!==t)){a?.debug(`open ${e.spec.path}`),u.up||(u={up:!0},o.emit(`up`,void 0));for(let t of[...e.listeners.open])t()}},t.onclose=n=>{let r=e.ws===t;if(r&&(e.ws=null,e.url=null),c.has(t)||(c.add(t),!r))return;a?.debug(`close ${e.spec.path} code=${n.code} clean=${n.wasClean}${n.reason?` reason=${n.reason}`:``}`),m(n)&&o.emit(`auth-error`,{message:n.reason||`ws close code ${n.code}`,access:e.access});let i={code:n.code,reason:n.reason,wasClean:n.wasClean};for(let t of[...e.listeners.close])t(i)},t.onmessage=n=>{if(!(e.disposed||e.ws!==t))for(let t of[...e.listeners.message])t(n)},t.onerror=n=>{if(!(e.disposed||e.ws!==t))for(let t of[...e.listeners.error])t(n)}}function g(e,t,n){e.openSeq++,b(e);let r=e.ws;if(!r)return;let i=f();if(r.readyState===i.OPEN||r.readyState===i.CONNECTING){try{r.close(t,n)}catch{}return}if(e.ws===r&&(e.ws=null,e.url=null),c.has(r))return;c.add(r);let a={code:t,reason:n,wasClean:!1};for(let t of[...e.listeners.close])t(a)}function _(e,t,n){let r=new(f())(t,e.spec.protocols);e.spec.binaryType&&(r.binaryType=e.spec.binaryType),e.ws=r,e.url=t,e.access=n,h(e,r)}function v(e){if(e.disposed||!l)return;let t=l,n=p(t,e.spec);if(!i){_(e,n,t.tokens.access);return}let r=++e.openSeq;b(e),e.resolveTimer=setTimeout(()=>{e.resolveTimer=void 0,!(e.disposed||r!==e.openSeq)&&(e.openSeq++,a?.warn(`resolveUrl timed out for ${e.spec.path} after ${Lp}ms`),y(e,`resolve-timeout`))},Lp),i({target:t,spec:e.spec,defaultUrl:n}).then(n=>{e.disposed||r!==e.openSeq||(b(e),l===t?_(e,n):v(e))},t=>{if(e.disposed||r!==e.openSeq)return;b(e);let n=t instanceof Error?t.message:String(t);a?.warn(`resolveUrl failed for ${e.spec.path}: ${n}`),y(e,`resolve-failed`)})}function y(e,t){let n={code:Ip,reason:t,wasClean:!1};for(let t of[...e.listeners.close])t(n)}function b(e){e.resolveTimer!==void 0&&(clearTimeout(e.resolveTimer),e.resolveTimer=void 0)}function x(e,t){let n=[...s];a?.debug(`recycleAll (${t}) handles=${n.length}`);for(let r of n)g(r,e,t);if(u.up&&(u={up:!1,lastError:t},o.emit(`down`,{reason:t})),l)for(let e of s)e.disposed||v(e)}async function S(e){if(d)throw Error(`ws-transport disposed`);if(jt(l,e))return;let t=Mt(l,e);if(l=e,!e){let e=[...s];for(let t of e)g(t,Pp,`detached`);u={up:!1},o.emit(`down`,{reason:`detached`})}else t&&x(Np,`endpoint-changed`)}function C(){return u}function w(e,t){return o.on(e,t)}async function T(){d=!0;let e=[...s];for(let t of e)t.disposed=!0,t.listeners.open.clear(),t.listeners.close.clear(),t.listeners.message.clear(),t.listeners.error.clear(),g(t,Fp,`disposed`);s.clear(),l=null,u={up:!1},o.clear()}function E(e){if(d)throw Error(`ws-transport disposed`);let t={api:void 0,spec:e,listeners:{open:new Set,close:new Set,message:new Set,error:new Set},ws:null,url:null,disposed:!1,openSeq:0};function n(e){if(t.disposed)throw Error(`ws-handle disposed`);let n=t.ws;if(!n)throw Error(`ws-handle: no active socket`);if(n.readyState!==r.OPEN)throw Error(`ws-handle: socket not open`);n.send(e)}function i(e,n){g(t,e??1e3,n??``)}function a(e,n){let r=t.listeners[e];return r.add(n),()=>{r.delete(n)}}function o(){t.disposed||(t.disposed=!0,t.listeners.open.clear(),t.listeners.close.clear(),t.listeners.message.clear(),t.listeners.error.clear(),g(t,Fp,`disposed`),s.delete(t))}return t.api={get readyState(){return t.ws?.readyState??r?.CLOSED??3},get url(){return t.url},send:n,close:i,on:a,dispose:o},s.add(t),l&&v(t),t.api}return{get spec(){return t},get handleCount(){return s.size},apply:S,health:C,on:w,dispose:T,open:E}}var zp=24576;function Bp(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Vp(e){let t=e.url??``,n=e.baseURL??``;return n&&!Bp(t)?`${n.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`:t}function Hp(e){let t;try{t=new URL(e).hostname}catch{return!1}return!t||t===`localhost`||t.endsWith(`.local`)||t.includes(`:`)||/^\d{1,3}(?:\.\d{1,3}){3}$/.test(t)?!1:t.includes(`.`)}function Up(e,t){if(e.withCredentials)return!1;let n=Vp(e);return Hp(n)&&!t?.(n)}function Wp(e){return async t=>{Kp(t.signal);let n=Yp(t.headers);e.extraHeaders&&Object.assign(n,e.extraHeaders);let r=await Qp(t,n);Kp(t.signal),r.contentType&&nm(n,r.contentType);let i=typeof t.timeout==`number`&&t.timeout>0?t.timeout:void 0,a=e.request({url:Vp(t),method:(t.method??`get`).toUpperCase(),headers:n,params:Xp(t.params),data:r.data,dataType:r.dataType,responseType:om(t.responseType),connectTimeout:i,readTimeout:i}),o;try{o=await qp(a,t,i)}catch(e){throw e instanceof xe?e:new xe(e instanceof Error?e.message:`Network Error`,xe.ERR_NETWORK,t,a)}let s=Se.from(o.headers??{}),c={data:rm(o.data,t.responseType,String(s.get(`Content-Type`)??``)),status:o.status,statusText:``,headers:s,config:t,request:a};if(!t.validateStatus||t.validateStatus(o.status))return c;throw new xe(`Request failed with status code ${o.status}`,o.status>=500?xe.ERR_BAD_RESPONSE:xe.ERR_BAD_REQUEST,t,a,c)}}function Gp(e,t){if(!t.enabled)return;let n=ye.getAdapter(e.defaults.adapter??ye.defaults.adapter),r=Wp(t);e.defaults.adapter=e=>Up(e,t.exclude)?r(e):n(e)}function Kp(e){if(e?.aborted)throw new Ce(`canceled`)}function qp(e,t,n){let r=t.signal,i=!!r&&typeof r.addEventListener==`function`;return!i&&!n?e:r?.aborted?Promise.reject(new Ce(`canceled`)):new Promise((a,o)=>{let s=()=>{l(),o(new Ce(`canceled`))},c=n?setTimeout(()=>{l(),o(Jp(t,n,e))},n):void 0;i&&r.addEventListener(`abort`,s,{once:!0});function l(){clearTimeout(c),r?.removeEventListener?.(`abort`,s)}e.then(e=>{l(),a(e)},e=>{l(),o(e)})})}function Jp(e,t,n){let r=e.transitional?.clarifyTimeoutError?xe.ETIMEDOUT:xe.ECONNABORTED;return new xe(e.timeoutErrorMessage||`timeout of ${t}ms exceeded`,r,e,n)}function Yp(e){let t={};if(!e)return t;let n=Se.from(e).toJSON();for(let[e,r]of Object.entries(n))r!=null&&(t[e]=Array.isArray(r)?r.join(`, `):String(r));return t}function Xp(e){if(!e||typeof e!=`object`)return;let t={};for(let[n,r]of Object.entries(e))r!=null&&(t[n]=String(r));return t}function Zp(e){let t=e.data;if(t!=null){if(typeof t!=`string`)return t;if(String(Se.from(e.headers).get(`Content-Type`)??``).includes(`application/json`))try{return JSON.parse(t)}catch{}return t}}async function Qp(e,t){let n=e.data;if(n instanceof FormData)return{data:await $p(n),dataType:`formData`,contentType:`multipart/form-data`};let r=await em(n);if(!r)return{data:Zp(e)};let i=tm(t,`Content-Type`),a=i&&!i.includes(`application/x-www-form-urlencoded`)?i:n instanceof Blob&&n.type||`application/octet-stream`;return{data:im(r),dataType:`file`,contentType:a}}async function $p(e){let t=[];e.forEach((e,n)=>t.push([n,e]));let n=[];for(let[e,r]of t)typeof r==`string`?n.push({key:e,value:r,type:`string`}):n.push({key:e,value:im(new Uint8Array(await r.arrayBuffer())),type:`base64File`,fileName:r.name||`blob`,contentType:r.type||`application/octet-stream`});return n}async function em(e){return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof ArrayBuffer?new Uint8Array(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):null}function tm(e,t){let n=t.toLowerCase();for(let t of Object.keys(e))if(t.toLowerCase()===n)return e[t]}function nm(e,t){for(let t of Object.keys(e))t.toLowerCase()===`content-type`&&delete e[t];e[`Content-Type`]=t}function rm(e,t,n){if(t!==`arraybuffer`&&t!==`blob`||typeof e!=`string`||n.includes(`application/json`)||/[ \t\f]/.test(e))return e;let r;try{r=am(e)}catch{return e}return t===`blob`?new Blob([r],{type:n}):r.buffer}function im(e){let t=e.toBase64;if(typeof t==`function`)return t.call(e);let n=``;for(let t=0;t<e.length;t+=zp)n+=btoa(String.fromCharCode.apply(null,e.subarray(t,t+zp)));return n}function am(e){let t=Uint8Array.fromBase64;if(typeof t==`function`)return t(e);let n=atob(e),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}function om(e){switch(e){case`blob`:return`blob`;case`arraybuffer`:return`arraybuffer`;default:return`text`}}var sm={};sm.NODE_ENV,sm.CAMERA_UI_RUNMODE,sm.CAMERA_UI_RUNMODE,sm.CAMERA_UI_RUNMODE;function cm(){if(globalThis.crypto.randomUUID)return globalThis.crypto.randomUUID();let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function lm(e,t,n=!1){if(e===t)return!0;if((e===void 0||t===void 0||e===null||t===null)&&(e||t))return!1;let r=e?.constructor.name,i=t?.constructor.name;if(r!==i)return!1;if(r===`Array`&&i===`Array`){if(e.length!==t.length)return!1;if(n){let r=[...t];return e.every(e=>{let t=r.findIndex(t=>lm(e,t,n));return t!==-1&&(r.splice(t,1),!0)})}{let r=!0;for(let i=0;i<e.length;i++)if(!lm(e[i],t[i],n)){r=!1;break}return r}}if(r===`Object`&&i===`Object`){let r=!0,i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(let a=0;a<i.length;a++)if(e[i[a]]&&t[i[a]]){if(e[i[a]]===t[i[a]])continue;if(e[i[a]]&&(e[i[a]].constructor.name===`Array`||e[i[a]].constructor.name===`Object`)){if(r=lm(e[i[a]],t[i[a]],n),!r)break}else if(e[i[a]]!==t[i[a]]){r=!1;break}}else if(e[i[a]]&&!t[i[a]]||!e[i[a]]&&t[i[a]]){r=!1;break}return r}return e===t}var um={};um.NODE_ENV,um.CAMERA_UI_RUNMODE,um.CAMERA_UI_RUNMODE,um.CAMERA_UI_RUNMODE;function dm(e,t,n,r=[]){if(Array.isArray(e)&&Array.isArray(t)){let i=n?n(e,t,void 0,e,t,r):void 0;return i===void 0?[...e,...t]:i}if(typeof t!=`object`)return e;for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i)){let a=e[i],o=t[i];r.push({key:i,sourceObject:e,targetObject:t});let s=n?n(a,o,i,e,t,r):void 0;e[i]=s===void 0?Array.isArray(a)&&Array.isArray(o)?[...a,...o]:typeof a==`object`&&a&&typeof o==`object`&&o?dm({...a},o,n,r):o:s,r.pop()}return e}function fm(){if(globalThis.crypto.randomUUID)return globalThis.crypto.randomUUID();let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function pm(e){return new Promise(t=>setTimeout(t,e))}function mm(e,t,n=!1){if(e===t)return!0;if((e===void 0||t===void 0||e===null||t===null)&&(e||t))return!1;let r=e?.constructor.name,i=t?.constructor.name;if(r!==i)return!1;if(r===`Array`&&i===`Array`){if(e.length!==t.length)return!1;if(n){let r=[...t];return e.every(e=>{let t=r.findIndex(t=>mm(e,t,n));return t!==-1&&(r.splice(t,1),!0)})}{let r=!0;for(let i=0;i<e.length;i++)if(!mm(e[i],t[i],n)){r=!1;break}return r}}if(r===`Object`&&i===`Object`){let r=!0,i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(let a=0;a<i.length;a++)if(e[i[a]]&&t[i[a]]){if(e[i[a]]===t[i[a]])continue;if(e[i[a]]&&(e[i[a]].constructor.name===`Array`||e[i[a]].constructor.name===`Object`)){if(r=mm(e[i[a]],t[i[a]],n),!r)break}else if(e[i[a]]!==t[i[a]]){r=!1;break}}else if(e[i[a]]&&!t[i[a]]||!e[i[a]]&&t[i[a]]){r=!1;break}return r}return e===t}var hm=Symbol(`camera-ui-nvr`);function gm(){let e=w(hm);if(!e)throw Error(`useNvrCtx(): NVR plugin not installed — call app.use(createNvrPlugin({ ... })) first`);return e}function _m(e){let{natsTransport:t,target:n,wsTransport:r,workerBridge:i,workerRegistry:a}=e,o=new Map;function s(e){o.set(e,(o.get(e)??0)+1),!a.has(e)&&(a.add(e),i.syncHost(e))}function c(e){let t=o.get(e)??0;if(t>1)o.set(e,t-1);else{o.delete(e),a.delete(e),i.forgetHost(e);try{e.postMessage({type:`nvr-destroy`})}catch{}}}function l(){for(let e of a)try{e.postMessage({type:`nvr-force-reconnect`})}catch{}}function u(e){for(let t of a)try{t.postMessage({type:`nvr-suspend`,keepNats:e.keepNats})}catch{}}function d(){for(let e of a)try{e.postMessage({type:`nvr-resume`})}catch{}}return{natsTransport:t,target:n,wsTransport:r,registerWorker:s,unregisterWorker:c,forceReconnectAll:l,suspendAll:u,resumeAll:d}}function vm(e){return{install(t){t.provide(hm,_m(e))}}}var ym=`__other__`,bm={motion:`motion`,sensor:`sensor`,alarmSound:`alarm_sound`,otherSound:`other_sound`},xm=[`glass_break`,`scream`,`gunshot`,`alarm`,`siren`,`smoke_alarm`,`car_alarm`,`doorbell`],Sm=[`white`,`gray`,`yellow`,`red`,`green`,`blue`,`black`],Cm=[`car`,`van`,`truck`,`bus`,`motorcycle`,`bicycle`],wm={viewBox:`0 0 20 20`,width:`1.2em`,height:`1.2em`};function Tm(e,t){return G(),f(`svg`,wm,[...t[0]||=[H(`path`,{fill:`currentColor`,"fill-rule":`evenodd`,d:`M14.707 12.707a1 1 0 0 1-1.414 0L10 9.414l-3.293 3.293a1 1 0 0 1-1.414-1.414l4-4a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1 0 1.414`,"clip-rule":`evenodd`},null,-1)]])}var Em=a({name:`heroicons-solid-chevron-up`,render:Tm}),Dm={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Om(e,t){return G(),f(`svg`,Dm,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M7.46 13.655q-.23-.23-.23-.54t.23-.539t.54-.23t.54.23t.23.54t-.23.539t-.54.23t-.54-.23m4 0q-.23-.23-.23-.54t.23-.539t.54-.23t.54.23t.23.54t-.23.539t-.54.23t-.54-.23m4 0q-.23-.23-.23-.54t.23-.539t.54-.23t.54.23t.23.54t-.23.539t-.54.23t-.54-.23M5.617 21q-.691 0-1.153-.462T4 19.385V6.615q0-.69.463-1.152T5.616 5h1.769V3.308q0-.233.153-.386t.385-.153t.386.153t.153.386V5h7.154V3.27q0-.214.143-.358t.357-.143t.356.143t.144.357V5h1.769q.69 0 1.153.463T20 6.616v12.769q0 .69-.462 1.153T18.384 21zm0-1h12.769q.23 0 .423-.192t.192-.424v-8.768H5v8.769q0 .23.192.423t.423.192M5 9.615h14v-3q0-.23-.192-.423T18.384 6H5.616q-.231 0-.424.192T5 6.616zm0 0V6z`},null,-1)]])}var km=a({name:`material-symbols-light-date-range-outline-rounded`,render:Om}),Am={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function jm(e,t){return G(),f(`svg`,Am,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M8 7c-1.1 0-2 .9-2 2v6a2 2 0 0 0 2 2h3v-2H8V9h3V7zm6 0c-1.1 0-2 .9-2 2v6a2 2 0 0 0 2 2h2c1.11 0 2-.89 2-2V9a2 2 0 0 0-2-2zm0 2h2v6h-2z`},null,-1)]])}var Mm=a({name:`mdi-molecule-co`,render:jm}),Nm={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Pm(e,t){return G(),f(`svg`,Nm,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`m20.79 13.95l-2.33.62l-2-1.13v-2.88l2-1.13l2.33.62l.52-1.93l-1.77-.47l.46-1.77l-1.93-.52l-.62 2.33l-2 1.13L13 7.38V5.12l1.71-1.71L13.29 2L12 3.29L10.71 2L9.29 3.41L11 5.12v2.26L8.5 8.82l-2-1.13l-.58-2.33L4 5.88l.47 1.77l-1.77.47l.52 1.93l2.33-.62l2 1.13v2.89l-2 1.13l-2.33-.62l-.52 1.93l1.77.47L4 18.12l1.93.52l.62-2.33l2-1.13L11 16.62v2.26l-1.71 1.71L10.71 22L12 20.71L13.29 22l1.41-1.41l-1.7-1.71v-2.26l2.5-1.45l2 1.13l.62 2.33l1.88-.51l-.47-1.77l1.77-.47zM9.5 10.56L12 9.11l2.5 1.45v2.88L12 14.89l-2.5-1.45z`},null,-1)]])}var Fm=a({name:`mdi-snowflake`,render:Pm}),Im={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Lm(e,t){return G(),f(`svg`,Im,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M19 20h-2v-9H7v9H5V9l7-4l7 4zM8 12h8v2H8zm0 3h8v2H8zm8 3v2H8v-2z`},null,-1)]])}var Rm=a({name:`mdi-garage`,render:Lm}),zm={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Bm(e,t){return G(),f(`svg`,zm,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M16 9v11a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V9c0-1.86 1.27-3.43 3-3.87V4H9V2h6v2h-2v1.13c1.73.44 3 2.01 3 3.87`},null,-1)]])}var Vm=a({name:`mdi-gas-cylinder`,render:Bm}),Hm={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Um(e,t){return G(),f(`svg`,Hm,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M17.66 11.2c-.23-.3-.51-.56-.77-.82c-.67-.6-1.43-1.03-2.07-1.66C13.33 7.26 13 4.85 13.95 3c-.95.23-1.78.75-2.49 1.32c-2.59 2.08-3.61 5.75-2.39 8.9c.04.1.08.2.08.33c0 .22-.15.42-.35.5c-.23.1-.47.04-.66-.12a.6.6 0 0 1-.14-.17c-1.13-1.43-1.31-3.48-.55-5.12C5.78 10 4.87 12.3 5 14.47c.06.5.12 1 .29 1.5c.14.6.41 1.2.71 1.73c1.08 1.73 2.95 2.97 4.96 3.22c2.14.27 4.43-.12 6.07-1.6c1.83-1.66 2.47-4.32 1.53-6.6l-.13-.26c-.21-.46-.77-1.26-.77-1.26m-3.16 6.3c-.28.24-.74.5-1.1.6c-1.12.4-2.24-.16-2.9-.82c1.19-.28 1.9-1.16 2.11-2.05c.17-.8-.15-1.46-.28-2.23c-.12-.74-.1-1.37.17-2.06c.19.38.39.76.63 1.06c.77 1 1.98 1.44 2.24 2.8c.04.14.06.28.06.43c.03.82-.33 1.72-.93 2.27`},null,-1)]])}var Wm=a({name:`mdi-fire`,render:Um}),Gm={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Km(e,t){return G(),f(`svg`,Gm,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M10 3.25S4 10 4 14c0 3.31 2.69 6 6 6s6-2.69 6-6c0-4-6-10.75-6-10.75M10 18c-2.21 0-4-1.79-4-4c0-1.77 2-5.04 4-7.61c2 2.56 4 5.84 4 7.61c0 2.21-1.79 4-4 4M20 7v6h-2V7zm-2 10h2v-2h-2z`},null,-1)]])}var qm=a({name:`mdi-water-alert-outline`,render:Km}),Jm={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ym(e,t){return G(),f(`svg`,Jm,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M10 .2C9 .2 8.2 1 8.2 2S9 3.8 10 3.8S11.8 3 11.8 2S11 .2 10 .2m5.67.8A7.33 7.33 0 0 0 23 8.33V7a6 6 0 0 1-6-6zm2.66 0c0 2.58 2.09 4.67 4.67 4.67V4.33c-1.84 0-3.33-1.49-3.33-3.33zM21 1a2 2 0 0 0 2 2V1zM7.92 4.03c-.17 0-.34.03-.5.08L2 5.8V11h1.8V7.33l2.11-.66L2 22h1.8l2.87-8.11L9 17v5h1.8v-6.41l-2.49-4.54l.73-2.87L10.12 10H15V8.2h-3.62l-2-3.33c-.3-.5-.84-.84-1.46-.84`},null,-1)]])}var Xm=a({name:`mdi-motion-sensor`,render:Ym}),Zm={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Qm(e,t){return G(),f(`svg`,Zm,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M11 15h2v2h-2zm0-8h2v6h-2zm1-5C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18a8 8 0 0 1-8-8a8 8 0 0 1 8-8a8 8 0 0 1 8 8a8 8 0 0 1-8 8`},null,-1)]])}var $m=a({name:`mdi-alert-circle-outline`,render:Qm}),eh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function th(e,t){return G(),f(`svg`,eh,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M12 18a6 6 0 0 0 6-6c0-3.32-2.69-6-6-6c-3.32 0-6 2.68-6 6a6 6 0 0 0 6 6m7-15a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2zM8 12a4 4 0 0 1 4-4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4`},null,-1)]])}var nh=a({name:`mdi-smoke-detector`,render:th}),rh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ih(e,t){return G(),f(`svg`,rh,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M21 11c0 5.55-3.84 10.74-9 12c-5.16-1.26-9-6.45-9-12V5l9-4l9 4zm-9 10c3.75-1 7-5.46 7-9.78V6.3l-7-3.12L5 6.3v4.92C5 15.54 8.25 20 12 21M11 7h2v6h-2zm0 8h2v2h-2z`},null,-1)]])}var ah=a({name:`mdi-shield-alert-outline`,render:ih}),oh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function sh(e,t){return G(),f(`svg`,oh,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M16 19H8V5h8m.5-2h-9A1.5 1.5 0 0 0 6 4.5v15A1.5 1.5 0 0 0 7.5 21h9a1.5 1.5 0 0 0 1.5-1.5v-15A1.5 1.5 0 0 0 16.5 3M19 17h2V7h-2m3 2v6h2V9M3 17h2V7H3m-3 8h2V9H0z`},null,-1)]])}var ch=a({name:`mdi-vibrate`,render:sh}),lh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function uh(e,t){return G(),f(`svg`,lh,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M16 4h4v4m-5 1l5-5M4 20l5-5m7 5h4v-4M4 4l16 16`},null,-1)]])}var dh=a({name:`tabler-arrows-cross`,render:uh}),fh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ph(e,t){return G(),f(`svg`,fh,[...t[0]||=[H(`path`,{fill:`currentColor`,d:`M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75m6 0A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18a8 8 0 0 1-8-8a4 4 0 0 1 0-.86a10.05 10.05 0 0 0 5.26-5.37A9.99 9.99 0 0 0 17.42 10c.76 0 1.51-.09 2.25-.26c1.25 4.26-1.17 8.69-5.41 9.93c-.76.22-1.5.33-2.26.33M0 2a2 2 0 0 1 2-2h4v2H2v4H0zm24 20a2 2 0 0 1-2 2h-4v-2h4v-4h2zM2 24a2 2 0 0 1-2-2v-4h2v4h4v2zM22 0a2 2 0 0 1 2 2v4h-2V2h-4V0z`},null,-1)]])}var mh=a({name:`mdi-face-recognition`,render:ph}),hh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function gh(e,t){return G(),f(`svg`,hh,[...t[0]||=[H(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[H(`path`,{d:`M5 13a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z`}),H(`path`,{d:`M11 16a1 1 0 1 0 2 0a1 1 0 0 0-2 0m-3-5V7a4 4 0 1 1 8 0v4`})],-1)]])}var _h=a({name:`tabler-lock`,render:gh}),vh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function yh(e,t){return G(),f(`svg`,vh,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9.785 6L18 14.215l-2.054 2.054a5.81 5.81 0 1 1-8.215-8.215zM4 20l3.5-3.5M15 4l-3.5 3.5M20 9l-3.5 3.5`},null,-1)]])}var bh=a({name:`tabler-plug`,render:yh}),xh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Sh(e,t){return G(),f(`svg`,xh,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 12h4l3 8l4-16l3 8h4`},null,-1)]])}var Ch=a({name:`tabler-activity`,render:Sh}),wh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Th(e,t){return G(),f(`svg`,wh,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 5a2 2 0 0 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3H4a4 4 0 0 0 2-3v-3a7 7 0 0 1 4-6M9 17v1a3 3 0 0 0 6 0v-1m6-10.273A11.05 11.05 0 0 0 18.206 3M3 6.727A11.05 11.05 0 0 1 5.792 3`},null,-1)]])}var Eh=a({name:`tabler-bell-ringing`,render:Th}),Dh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Oh(e,t){return G(),f(`svg`,Dh,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M3 12h1m8-9v1m8 8h1M5.6 5.6l.7.7m12.1-.7l-.7.7M9 16a5 5 0 1 1 6 0a3.5 3.5 0 0 0-1 3a2 2 0 0 1-4 0a3.5 3.5 0 0 0-1-3m.7 1h4.6`},null,-1)]])}var kh=a({name:`tabler-bulb`,render:Oh}),Ah={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function jh(e,t){return G(),f(`svg`,Ah,[...t[0]||=[H(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[H(`path`,{d:`M5 17a2 2 0 1 0 4 0a2 2 0 1 0-4 0m10 0a2 2 0 1 0 4 0a2 2 0 1 0-4 0`}),H(`path`,{d:`M5 17H3v-6l2-5h9l4 5h1a2 2 0 0 1 2 2v4h-2m-4 0H9m-6-6h15m-6 0V6`})],-1)]])}var Mh=a({name:`tabler-car`,render:jh}),Nh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ph(e,t){return G(),f(`svg`,Nh,[...t[0]||=[H(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[H(`path`,{d:`M11 5h2m6 7q-1 8-5 8h-4q-4 0-5-8`}),H(`path`,{d:`M11 16q0 1 1 1c1 0 1-.333 1-1zm1 2v2m-2-9v.01m4-.01v.01M5 4l6 .97l-6.238 6.688a1.02 1.02 0 0 1-1.41.111a.95.95 0 0 1-.327-.954zm14 0l-6 .97l6.238 6.688c.358.408.989.458 1.41.111a.95.95 0 0 0 .327-.954z`})],-1)]])}var Fh=a({name:`tabler-dog`,render:Ph}),Ih={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Lh(e,t){return G(),f(`svg`,Ih,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M14 12v.01M3 21h18M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`},null,-1)]])}var Rh=a({name:`tabler-door`,render:Lh}),zh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Bh(e,t){return G(),f(`svg`,zh,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 21H6a3 3 0 0 1-3-3v-1h10v2a2 2 0 0 0 4 0V5a2 2 0 1 1 2 2h-2m2-4H8a3 3 0 0 0-3 3v11M9 7h4m-4 4h4`},null,-1)]])}var Vh=a({name:`tabler-license`,render:Bh}),Hh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Uh(e,t){return G(),f(`svg`,Hh,[...t[0]||=[H(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[H(`path`,{d:`M12 3a12 12 0 0 0 8.5 3A12 12 0 0 1 12 21A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3`}),H(`path`,{d:`M11 11a1 1 0 1 0 2 0a1 1 0 1 0-2 0m1 1v2.5`})],-1)]])}var Wh=a({name:`tabler-shield-lock`,render:Uh}),Gh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Kh(e,t){return G(),f(`svg`,Gh,[...t[0]||=[H(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[H(`path`,{d:`M18 8a3 3 0 0 1 0 6m-8-6v11a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-5`}),H(`path`,{d:`m12 8l4.524-3.77A.9.9 0 0 1 18 4.922v12.156a.9.9 0 0 1-1.476.692L12 14H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z`})],-1)]])}var qh=a({name:`tabler-speakerphone`,render:Kh}),Jh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Yh(e,t){return G(),f(`svg`,Jh,[...t[0]||=[H(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[H(`path`,{d:`M6.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0-2 0`}),H(`path`,{d:`M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592-5.592a2.41 2.41 0 0 0 0-3.408l-7.71-7.71A2 2 0 0 0 11.172 3H6a3 3 0 0 0-3 3`})],-1)]])}var Xh=a({name:`tabler-tag`,render:Yh}),Zh={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Qh(e,t){return G(),f(`svg`,Zh,[...t[0]||=[H(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[H(`path`,{d:`M6 12a2 2 0 1 0 4 0a2 2 0 1 0-4 0`}),H(`path`,{d:`M2 12a6 6 0 0 1 6-6h8a6 6 0 0 1 6 6a6 6 0 0 1-6 6H8a6 6 0 0 1-6-6`})],-1)]])}var $h=a({name:`tabler-toggle-left`,render:Qh}),eg={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function tg(e,t){return G(),f(`svg`,eg,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16v-4a4 4 0 0 1 8 0v4M3 12h1m8-9v1m8 8h1M5.6 5.6l.7.7m12.1-.7l-.7.7M6 17a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1z`},null,-1)]])}var ng=a({name:`tabler-urgent`,render:tg}),rg={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ig(e,t){return G(),f(`svg`,rg,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2`},null,-1)]])}var ag=a({name:`tabler-user`,render:ig}),og={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function sg(e,t){return G(),f(`svg`,og,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 8a5 5 0 0 1 0 8m2.7-11a9 9 0 0 1 0 14M6 15H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h2l3.5-4.5A.8.8 0 0 1 11 5v14a.8.8 0 0 1-1.5.5z`},null,-1)]])}var cg=a({name:`tabler-volume`,render:sg}),lg=10,ug=40,dg=2,fg=300;function pg(e,t){let n=Math.abs(e);return Math.hypot(e,t)<lg?`pending`:n<dg*Math.abs(t)?`drag`:n<ug?`pending`:e<0?`next`:`previous`}function mg(e,t,n){let r=null,i=0;function a(e){r=t.value&&e.isPrimary?{pointerId:e.pointerId,x:e.clientX,y:e.clientY}:null}function o(e){if(!r||e.pointerId!==r.pointerId)return;let t=pg(e.clientX-r.x,e.clientY-r.y);t!==`pending`&&(r=null,t!==`drag`&&(i=performance.now()+fg,n(t)))}function s(){r=null}function c(e){performance.now()>i||(e.stopPropagation(),e.preventDefault())}S(e,`pointerdown`,a,{passive:!0}),S(e,`pointermove`,o,{passive:!0}),S(e,[`pointerup`,`pointercancel`],s,{passive:!0}),S(e,`click`,c,{capture:!0})}var hg;function gg(){return hg||=[...vr,`person`,`vehicle`,`animal`,`line-crossing`,`contact`,`doorbell`,`switch`,`light`,`siren`,`security_system`,`audio`,`motion`],hg}function _g(e,t){if(e.state!==`active`)return!1;let n=-1;for(let t=0;t<e.segments.length;t++)e.segments[t]&&(n=t);if(t!==n)return!1;let r=e.segments[t];return r!==void 0&&e.lastUpdate-r.lastSeen<=1e4}function vg(e){for(let t of gg())if(e.types.includes(t))return t;return e.types[0]??`motion`}var yg;function bg(){return yg||=new Set([..._r,...vr,`contact`,`doorbell`,`switch`,`light`,`siren`,`security_system`]),yg}function xg(e,t){if(t.startedSinceMs&&e.startTime<t.startedSinceMs||t.startMs&&(e.state===`active`?Date.now():e.endTime??e.lastUpdate)<t.startMs||t.endMs&&(t.startMs?e.startTime:Lg(e))>t.endMs)return!1;if(t.minConfidence){let n=0;for(let t of e.segments??[])if(t)for(let e of t.detections)e.score>n&&(n=e.score);if(n>0&&n<t.minConfidence)return!1}return t.search&&!Dg(e).includes(t.search.toLowerCase())||!Cg(e,!!t.hasDetections,t.hiddenTypes?.[e.cameraId],t.shownTypes?.[e.cameraId])?!1:Og(e,t)}function Sg(e){let t=new Set;for(let n of e.types??[])t.add(n.toLowerCase());for(let n of e.segments??[])if(n)for(let e of n.detections)e.label&&t.add(e.label.toLowerCase());return t}function Cg(e,t,n,r){let i=new Set(n?.map(e=>e.toLowerCase())),a=new Set((e.triggers??[]).map(e=>e.type.toLowerCase())),o=!1,s=!1;for(let t of Sg(e))t!==`motion`&&t!==`audio`&&(o=!0,!i.has(t)&&!(a.has(t)&&i.has(bm.sensor))&&(s=!0));let c=!1,l=!1;for(let t of e.triggers??[])if(t.type===`motion`)c=!0;else if(t.type!==`audio`)continue;else xm.includes(t.label??``)?(o=!0,i.has(bm.alarmSound)||(s=!0)):l=!0;if(!t)return!o||s;let u=new Set(r?.map(e=>e.toLowerCase()));return s||c&&u.has(bm.motion)||l&&u.has(bm.otherSound)}function wg(e){let t=new Set;for(let n of e.triggers??[])n.type===`audio`?t.add(xm.includes(n.label??``)?bm.alarmSound:bm.otherSound):t.add(n.type);return[...t]}function Tg(e,t){if(!t?.length)return!1;let n=new Set(t.map(e=>e.toLowerCase())),r=!1;for(let t of e){let e=t.toLowerCase();if(e!==`motion`&&e!==`audio`&&(r=!0,!n.has(e)))return!1}return r}function Eg(e,t){if(!t?.length)return!1;let n=[];for(let t of e.detections)t.label&&n.push(t.label);for(let t of e.attributes)t.type!==`clip`&&n.push(t.type);return Tg(n,t)}function Dg(e){let t=[];for(let n of e.types??[])t.push(n.toLowerCase());for(let n of e.segments??[])if(n){for(let e of n.detections)t.push(e.label.toLowerCase());for(let e of n.attributes)t.push(e.label.toLowerCase());n.description&&t.push(n.description.title.toLowerCase(),n.description.description.toLowerCase(),n.description.summary.toLowerCase())}return t.join(` `)}function Og(e,t){let n=!!(t.triggers?.length||t.triggerLabels?.length),r=!!t.types?.length,i=!!t.attributes?.length;if(!n&&!r&&!i)return!0;let a=[],o=[];if(n){let n=!!t.triggers?.length&&(e.triggers??[]).some(e=>t.triggers.includes(e.type)),r=!!t.triggerLabels?.length&&(e.triggers??[]).some(e=>e.label!=null&&t.triggerLabels.includes(e.label));a.push(n||r)}if(r){let r=Sg(e),i=t.types.some(e=>{if(e===`__other__`){let e=bg();return[...r].some(t=>!e.has(t))}return r.has(e.toLowerCase())});a.push(i),n&&o.push(t.filterLogicTriggers===`and`?`and`:`or`)}if(i){let i=new Set(t.attributes.map(e=>e.toLowerCase())),s=(e.segments??[]).some(e=>e?.attributes.some(e=>i.has(e.type.toLowerCase())));a.push(s),(n||r)&&o.push(t.filterLogicAttributes===`and`?`and`:`or`)}let s=[a[0]];for(let e=0;e<o.length;e++)o[e]===`and`?s[s.length-1]=s[s.length-1]&&a[e+1]:s.push(a[e+1]);return s.some(Boolean)}function kg(e){for(let t of e.segments){let e=Ag(t);if(e.label)return e.label}}function Ag(e){for(let t of vr){let n=e.attributes.filter(e=>e.type===t);if(n.length!==0)return{type:t,label:Mg(n)}}let t=e.attributes.find(e=>e.type!==`clip`);return t?{type:t.type,label:jg(t.label)}:{type:e.detections[0]?.label??`motion`}}function jg(e){return!e||e.toLowerCase()===`unknown`?void 0:e}function Mg(e){let t=new Set,n=new Set;for(let r of e){let e=jg(r.label);e&&(t.add(e),r.parentTrackId!==void 0&&n.add(r.parentTrackId))}if(t.size===0)return;let r=e.filter(e=>!e.unlisted&&!jg(e.label)&&(e.parentTrackId===void 0||!n.has(e.parentTrackId))).length,i=[...t].join(`, `);return r>0?`${i} +${r}`:i}function Ng(e){if(e.endTime)return e.endTime;let t;for(let n of e.segments??[])n?.lastSeen&&(!t||n.lastSeen>t)&&(t=n.lastSeen);return t}function Pg(e,t){let n=t==null?e.segments??[]:[e.segments?.[t]],r=[];for(let e of n){if(!e)continue;let t=1,n=1,i=0,a=0,o=!1,s,c=-1;for(let r of e.detections??[]){let e=r.box;e&&(o=!0,t=Math.min(t,e.x),n=Math.min(n,e.y),i=Math.max(i,e.x+e.width),a=Math.max(a,e.y+e.height)),r.path&&r.score>c&&(s=r.path,c=r.score)}if(!o&&!s)continue;let l={fromMs:e.firstSeen,toMs:e.lastSeen,path:s};o&&(t=Math.max(0,t),n=Math.max(0,n),i=Math.min(1,i),a=Math.min(1,a),i>t&&a>n&&(l.box={x:t,y:n,width:i-t,height:a-n})),(l.box||l.path)&&r.push(l)}return r.length?r.sort((e,t)=>e.fromMs-t.fromMs):void 0}var Fg=new WeakMap;function Ig(e){if(!e||e.length===0)return;let t=Fg.get(e);return t||(t=URL.createObjectURL(new Blob([e],{type:`image/jpeg`})),Fg.set(e,t)),t}function Lg(e){let t=e.startTime;e.thumbnailAt&&e.thumbnailAt>t&&(t=e.thumbnailAt);for(let n of e.segments??[])n&&n.firstSeen>t&&(t=n.firstSeen);return t}function Rg(e){if(!e)return;let t=e=>{if(!e)return;let t=Fg.get(e);t&&(URL.revokeObjectURL(t),Fg.delete(e))};if(t(e.event),e.strips)for(let n of Object.values(e.strips))t(n);if(e.cards)for(let n of Object.values(e.cards))t(n);if(e.attributes)for(let n of Object.values(e.attributes))t(n)}function zg(e,t,n,r){let i=r===void 0?Ug(e,t):String(r),a=i===void 0?void 0:t.segments?.[Number(i)],o;return i!==void 0&&(o=n===`card`?Ig(e.cards?.[i]):void 0,o??=Ig(e.strips?.[i])),o??=Ig(e.event),a?{url:o,...Ag(a),segIndex:Number(i)}:{url:o,type:vg(t),label:kg(t)}}function Bg(e,t,n){let r=[];for(let[i,a]of Object.entries(e.attributes??{})){let e=i.split(`:`),o=e.length>1&&/^\d+$/.test(e[0])?Number(e[0]):void 0;if(t!==void 0&&o!==void 0&&o!==t)continue;let s=Ig(a);if(!s)continue;let[c,...l]=o===void 0?e:e.slice(1),u=/^face\.(\d+)$/.exec(c);if(u){let e=Number(u[1]),t=n?.segments?.[o]?.attributes?.[e];if(t?.unlisted)continue;r.push({key:i,url:s,type:`face`,label:t?.type===`face`&&t.label||`unknown`,seg:o,attrIndex:e})}else r.push({key:i,url:s,type:c===`plate`?`license_plate`:c,label:l.join(`:`),seg:o})}return r.sort((e,t)=>(e.seg??-1)-(t.seg??-1)||e.type.localeCompare(t.type)||(e.attrIndex??-1)-(t.attrIndex??-1)||e.label.localeCompare(t.label)),r}function Vg(e,t){let n=new Set;for(let e of t.attributes)e.type!==`clip`&&n.add(e.type);for(let e of t.detections)n.add(e.label);for(let t of e.triggers)n.add(t.type);let r=gg();return[...n].sort((e,t)=>{let n=r.indexOf(e),i=r.indexOf(t);return(n<0?r.length:n)-(i<0?r.length:i)})}function Hg(e){let t,n=-1,r=-1;for(let[i,a]of(e.segments??[]).entries()){if(!a?.thumbnailAt)continue;let e=Wg(a);(e>n||e===n&&a.firstSeen>r)&&(t=i,n=e,r=a.firstSeen)}return t}function Ug(e,t){let n=[...new Set([...Object.keys(e.strips??{}),...Object.keys(e.cards??{})])];if(n.length===0)return;let r,i=-1,a=-1;for(let e of n){let n=t.segments?.[Number(e)],o=n?Wg(n):0,s=n?.firstSeen??Number(e);(o>i||o===i&&s>a)&&(r=e,i=o,a=s)}return r}function Wg(e){let t=Ag(e);return t.type===`face`?t.label?4:2:t.type===`license_plate`?t.label?3:1:0}var Gg=`*`,Kg=500,qg=5,Jg=15e3,Yg=new Map,Xg=new Map,Zg=new Map,Qg=new Map,$g=new Map,e_=new Map,t_=new Map,n_=new Set,r_=e(0),i_,a_=0,o_=0,s_=0,c_=0,l_=!1,u_;function d_(e){i_=e}async function f_(e){try{return await e()}catch{return await new Promise(e=>setTimeout(e,2500)),e()}}function p_(){return r_.value}function m_(e){return Yg.get(e)}function h_(e,t){let n=e_.get(e);t.size===0?e_.delete(e):e_.set(e,t);for(let[e,r]of t){let t=n?.get(e);(!t||!X_(t.needs,r.needs))&&I_(e)}for(let e of n?.keys()??[])!t.has(e)&&!N_(e)&&t_.delete(e)}function g_(e,t){i_?.event(e)?.state===`ended`?$g.delete(e):t!==void 0&&$g.set(e,new Set($g.get(e)).add(t)),N_(e)&&I_(e)}function __(e){q_(e),K_(e),Qg.delete(e),N_(e)?I_(e):J_(e),Y_()}function v_(){for(let e of new Set([...Yg.keys(),...Xg.keys(),...n_]))q_(e),K_(e);Qg.clear();for(let e of[...Yg.keys()])N_(e)||J_(e);F_(),Y_()}function y_(e){for(let t of e)q_(t),J_(t),t_.delete(t),Qg.delete(t),$g.delete(t);Y_()}function b_(){a_++;for(let e of Yg.values())Rg(e);Yg.clear(),Xg.clear(),Zg.clear(),Qg.clear(),$g.clear(),t_.clear(),n_.clear(),clearTimeout(u_),u_=void 0,F_(),Y_()}function x_(e,t){return M_(i_?.event(e.id)??e,t).size===0?`ready`:Qg.has(e.id)?`failed`:`loading`}function S_(){let e=i_?.plugin(),t=Qg.size;for(let[t,n]of Qg)e&&n.plugin!==e&&Qg.delete(t);Qg.size<t&&(Qg.size===0&&(clearTimeout(u_),u_=void 0),Y_()),F_(),L_()}function C_(e,t,n=()=>!0){let r=Symbol(`eventPictures`);return I([e,t,n],([e,t,n])=>h_(r,n?new Map([[e.id,{event:e,needs:t}]]):new Map),{immediate:!0}),i(()=>h_(r,new Map)),{pictures:h(()=>(r_.value,Yg.get(e().id))),state:h(()=>(r_.value,x_(e(),t())))}}function w_(e){let t=e.segments??[];return t.length>0&&!t.some(e=>e?.thumbnailAt)}function T_(e){return!!e?.attributes?.some(e=>e.type!==`clip`)}function E_(e,t){let n=e.segments??[];if(t.kind!==`scene`&&w_(e))return[Gg];let r=(e,t)=>e!==void 0&&n[e]?.thumbnailAt?`${t}:${e}`:`event`;switch(t.kind){case`scene`:return[`event`];case`strip`:return[r(t.segIndex,`strip`)];case`cover`:return[r(t.segIndex??Hg(e),`card`)];case`tiles`:{if(t.segIndex!==void 0)return T_(n[t.segIndex])?[`attr:${t.segIndex}:*`]:[];let e=[];for(let[t,r]of n.entries())r?.thumbnailAt&&e.push(`card:${t}`),T_(r)&&e.push(`attr:${t}:*`);return e}}}function D_(e){return+(e.kind===`tiles`)}function O_(e,t){let n=e.segments??[];if(t===`event`)return String(e.thumbnailAt??0);let r=/^(?:card|strip):(\d+)$/.exec(t);if(r)return String(n[Number(r[1])]?.thumbnailAt??0);let i=/^attr:(\d+):\*$/.exec(t);return i?k_(e,Number(i[1])):`${e.state}|${n.map((t,n)=>k_(e,n)).join(`,`)}`}function k_(e,t){let n=e.segments?.[t];return n?`${n.attributes.filter(e=>e.type!==`clip`).map(e=>`${e.type}:${e.label}`).join(`;`)}|${e.state===`ended`||$g.get(e.id)?.has(t)?`final`:``}`:``}function A_(e,t){let n=new Map;for(let r of t){let t=D_(r);for(let i of E_(e,r))n.set(i,Math.min(t,n.get(i)??t))}return n}function j_(e){let t=[Gg,`event`];for(let[n,r]of(e.segments??[]).entries())r?.thumbnailAt&&t.push(`card:${n}`,`strip:${n}`),T_(r)&&t.push(`attr:${n}:*`);return t}function M_(e,t){let n=Xg.get(e.id),r=A_(e,t);for(let t of[...r.keys()])n?.get(t)===O_(e,t)&&r.delete(t);return r}function N_(e){for(let t of e_.values())if(t.has(e))return!0;return!1}function P_(e){let t,n=[];for(let r of e_.values()){let i=r.get(e);i&&(t??=i.event,n.push(...i.needs))}if(t)return{event:i_?.event(e)??t,needs:n}}function F_(){let e=new Set;for(let t of e_.values())for(let n of t.keys())e.add(n);for(let t of e)I_(t)}function I_(e){let t=P_(e);if(!t||Qg.has(e)){t_.delete(e);return}let n=M_(t.event,t.needs);if(n.size===0){t_.delete(e);return}let r=t_.get(e);t_.set(e,{selectors:n,order:r?.order??c_++}),L_()}function L_(){l_||(l_=!0,setTimeout(()=>{for(l_=!1;o_<qg&&R_()>0;)o_++,B_().finally(()=>o_--)},0))}function R_(){let e=-s_;for(let t of t_.keys())n_.has(t)||e++;return e}function z_(){let e;for(let[t,n]of t_){if(n_.has(t))continue;let r=Math.min(...n.selectors.values());(!e||r<e.priority||r===e.priority&&n.order<e.pending.order)&&(e={eventId:t,pending:n,priority:r})}if(!e)return;let{eventId:t,pending:n,priority:r}=e,i=Xg.get(t),a=[...n.selectors].some(([e,t])=>t===r&&!i?.has(e)),o=[];for(let[e,t]of n.selectors)a&&t!==r||(o.push(e),n.selectors.delete(e));return n.selectors.size===0&&t_.delete(t),{eventId:t,selectors:o}}async function B_(){for(;;){let e=i_?.plugin();if(!i_||!e||R_()<=0)return;s_++,await i_.acquire(),s_--;let t=z_();if(!t){i_.release();return}try{await V_(e,t.eventId,t.selectors)}finally{i_.release()}}}async function V_(e,t,n){let r=P_(t)?.event??i_?.event(t);if(!r)return;let i=a_,a=Zg.get(t)??0,o=n.includes(Gg),s=new Map(n.map(e=>[e,O_(r,e)])),c=new Map(j_(r).map(e=>[e,O_(r,e)])),l=e,u=()=>(l=i_?.plugin()??l,o?l.getEventThumbnails(r.cameraId,r.startTime,t):l.getEventThumbnails(r.cameraId,r.startTime,t,n));n_.add(t);let d,f=!1;try{d=await f_(u)}catch{f=!0}if(i===a_){if(n_.delete(t),f)Qg.set(t,{at:Date.now(),plugin:l}),t_.delete(t),H_(),Y_();else{if((Zg.get(t)??0)===a){let e=d?.selected===!0&&!o;U_(t,d??{},e?n:[Gg]);let r=Xg.get(t)??new Map;for(let[t,n]of e?s:c)r.set(t,n);Xg.set(t,r),Y_()}I_(t)}}}function H_(){if(u_||Qg.size===0)return;let e=Math.min(...[...Qg.values()].map(e=>e.at));u_=setTimeout(()=>{u_=void 0;let e=Date.now();for(let[t,n]of[...Qg])e-n.at<Jg||(Qg.delete(t),g_(t));H_(),Y_()},Math.max(0,e+Jg-Date.now()))}function U_(e,t,n){let r=Yg.get(e),i={...t};if(delete i.selected,n.includes(Gg)){r&&W_(r,i),G_(e,i);return}let a={...r};i.event&&(r?.event&&r.event!==i.event&&Rg({event:r.event}),a.event=i.event);for(let e of[`strips`,`cards`]){let t=i[e];if(t){for(let[n,i]of Object.entries(t)){let t=r?.[e]?.[n];t&&t!==i&&Rg({[e]:{[n]:t}})}a[e]={...r?.[e],...t}}}let o=new Set(n.flatMap(e=>/^attr:(\d+):\*$/.exec(e)?.[1]??[]));if(o.size>0){let e={};for(let[t,n]of Object.entries(r?.attributes??{})){let r=/^(\d+):/.exec(t)?.[1];r!==void 0&&!o.has(r)?e[t]=n:i.attributes?.[t]!==n&&Rg({attributes:{[t]:n}})}a.attributes={...e,...i.attributes}}G_(e,a)}function W_(e,t){let n=new Set;t.event&&n.add(t.event);for(let e of[`strips`,`cards`,`attributes`])for(let r of Object.values(t[e]??{}))n.add(r);e.event&&!n.has(e.event)&&Rg({event:e.event});for(let t of[`strips`,`cards`,`attributes`])for(let[r,i]of Object.entries(e[t]??{}))n.has(i)||Rg({[t]:{[r]:i}})}function G_(e,t){if(Yg.delete(e),Yg.set(e,t),!(Yg.size<=Kg))for(let t of Yg.keys()){if(Yg.size<=Kg)break;N_(t)||t===e||J_(t)}}function K_(e){let t=Xg.get(e);if(t)for(let e of[...t.keys()])(e===Gg||e.startsWith(`attr:`))&&t.delete(e)}function q_(e){Zg.set(e,(Zg.get(e)??0)+1)}function J_(e){let t=Yg.get(e);t&&Rg(t),Yg.delete(e),Xg.delete(e)}function Y_(){r_.value++}function X_(e,t){return e.length===t.length&&e.every((e,n)=>e.kind===t[n].kind&&e.segIndex===t[n].segIndex)}async function Z_(e){let t=new Set,n,r=0,i=!1;for(;;){let a;try{a=await e.fetchPage(n)}catch{return{completeFromMs:n??e.toMs,pages:r,capped:!1,failed:!0}}if(e.cancelled())return{completeFromMs:n??e.toMs,pages:r,capped:!1,failed:!1};r++,e.onPage(a.items);let o,s=!1;for(let n of a.items){let r=e.idOf(n);t.has(r)||(t.add(r),s=!0);let i=e.timeOf(n);i>=e.fromMs&&(o===void 0||i<o)&&(o=i)}if(!a.hasMore||o===void 0)return{completeFromMs:e.fromMs,pages:r,capped:!1,failed:!1};if(s)i=!1;else{if(i)return{completeFromMs:e.fromMs,pages:r,capped:!1,failed:!1};i=!0,o--}if(r>=e.maxPages)return{completeFromMs:o,pages:r,capped:!0,failed:!1};n=o}}function Q_(e,t,n){return e&&t[0]<=e[1]&&t[1]>=e[0]?[Math.min(e[0],t[0]),Math.max(e[1],t[1])]:!e||n===void 0?t:ev(e,n)<ev(t,n)?e:t}function $_(e){if(e.length===0)return null;let t=1/0,n=-1/0;for(let[r,i]of e)t=Math.min(t,r),n=Math.max(n,i);return[t,n]}function ev([e,t],n){return n<e?e-n:n>t?n-t:0}var tv=new ct(`EventStore`),nv=new Map,rv=new Map,iv=300,av=new Map,ov=new Map,sv=new Map,cv=2e3,lv=e(0),uv=e(new Set),dv=e(0),fv,pv=5,mv=2,hv=class{limit;active=0;waiters=[];constructor(e){this.limit=e}async acquire(){this.active<this.limit?this.active++:await new Promise(e=>this.waiters.push(e))}release(){let e=this.waiters.shift();e?e():this.active--}},gv=new hv(pv),_v=new hv(mv);function vv(){return gv.acquire()}function yv(){gv.release()}var bv,xv=!1,Sv=0,Cv,wv=5e3,Tv,Ev=15e3,Dv=new Set,Ov=!1;d_({plugin:kv,event:e=>nv.get(e),acquire:vv,release:yv});function kv(){for(let e of Dv)if(e.value)return e.value}var Av=new Set,jv=new Set,Mv,Nv=null,Pv=0,Fv=new Map,Iv=new Map;function Lv(e,t){let n=Iv.get(e);for(let r of t){if(n?.has(r))continue;let t=Fv.get(r);t||(t=new Set,Fv.set(r,t)),t.add(e)}if(n)for(let r of n){if(t.has(r))continue;let n=Fv.get(r);n&&(n.delete(e),n.size===0&&Fv.delete(r))}Iv.set(e,new Set(t))}function Rv(e){let t=Iv.get(e);if(t){for(let n of t){let t=Fv.get(n);t&&(t.delete(e),t.size===0&&Fv.delete(n))}Iv.delete(e)}}function zv(e){if(e.length===0)return;let t=new Set;for(let n of e){t.add(n.id),rv.set(n.id,n);for(let e of n.members){let t=nv.get(e.eventId);t&&!(t.episodeIds??[]).includes(n.id)&&(t.episodeIds=[...t.episodeIds??[],n.id])}}if(rv.size>iv){let e=[...rv.values()].filter(e=>!t.has(e.id)&&!Fv.has(e.id)).sort((e,t)=>e.startTime-t.startTime),n=Math.min(rv.size-iv,e.length);for(let t=0;t<n;t++)rv.delete(e[t].id),av.delete(e[t].id)}lv.value++}function Bv(e,t){return e.length===t.length&&e.every((e,n)=>e.type===t[n].type&&e.label===t[n].label)}function Vv(e){if(e.type===`episode`){e.episode&&zv([e.episode]);return}if(uv.value.size>0&&!uv.value.has(e.data.cameraId))return;let{type:t,data:n}=e,r=nv.get(n.id);if(t===`start`){nv.set(n.id,{...n,segments:[]}),g_(n.id),lv.value++;return}if(t===`update`){r&&(r.lastUpdate=n.lastUpdate,r.triggers=n.triggers,r.types=n.types,r.expectedEndTime=n.expectedEndTime,n.thumbnailAt&&(r.thumbnailAt=n.thumbnailAt)),g_(n.id),lv.value++;return}if(t===`end`){r?(r.state=n.state,r.endTime=n.endTime,r.lastUpdate=n.lastUpdate,n.thumbnailAt&&(r.thumbnailAt=n.thumbnailAt)):nv.set(n.id,{...n,segments:n.segments??[]}),g_(n.id),lv.value++;return}if(r?.state===`ended`){let e=n.segments?.[0],t=n.segmentIndex??0,i=r.segments[t];if(!e||!i)return;let a=!!e.attributes&&!Bv(e.attributes,i.attributes);if(!e.description&&!a)return;r.segments[t]={...i,description:e.description??i.description,attributes:a?e.attributes:i.attributes},a&&__(n.id),lv.value++;return}let i=n.segments?.[0];if(!i)return;let a=n.segmentIndex??0,o=r??{...n,segments:[]};r||nv.set(n.id,o),o.types=n.types,o.triggers=n.triggers,o.lastUpdate=n.lastUpdate,n.thumbnailAt&&(o.thumbnailAt=n.thumbnailAt),o.segments[a]=i,g_(n.id,t===`segment-end`?a:void 0),lv.value++}function Hv(){return dv}function Uv(e){let t=!1;for(let n of e)nv.delete(n)&&(t=!0),Fv.delete(n);y_(e);for(let t of Iv.values())for(let n of e)t.delete(n);t&&lv.value++;for(let t of jv)t(e)}function Wv(e){return jv.add(e),()=>jv.delete(e)}function Gv(e){__(e)}function Kv(){v_()}function qv(){Cv&&=(clearTimeout(Cv),void 0),bv?.(),bv=void 0,Mv?.(),Mv=void 0,jv.clear(),Sv=0,Av.clear(),Nv=null,nv.clear(),rv.clear(),av.clear(),ov.clear(),sv.clear(),b_(),Fv.clear(),Iv.clear(),uv.value=new Set,lv.value=0,Pv++}function Jv(){nv.clear(),rv.clear(),av.clear(),ov.clear(),sv.clear(),b_(),lv.value++,dv.value++}async function Yv(e){try{let t=await e.getInstanceId();fv!==void 0&&t!==fv&&(Jv(),$v(),Sv>0&&Zv()),fv=t}catch{}}function Xv(){Tv||=setInterval(()=>{if(Sv<=0)return;let e=kv();e&&Yv(e)},Ev)}async function Zv(){if(Cv&&=(clearTimeout(Cv),void 0),bv||xv)return;let e=kv();if(e){xv=!0;try{bv=await e.onDetectionEvent(e=>{Vv(e);for(let t of Av)t(e)})}catch(e){tv.warn(`detection-event subscription failed:`,e)}finally{xv=!1}Qv()}}async function Qv(){if(Mv)return;let e=kv();if(e)try{Mv=await e.onEventsDeleted(e=>Uv(e))}catch(e){tv.warn(`events-deleted subscription failed:`,e)}}function $v(){bv?.(),bv=void 0,Mv?.(),Mv=void 0}function ey(e=`@camera.ui/camera-ui-nvr`){let{isConnected:t,on:n}=Ns(),{plugin:r}=Zl(e),i=r;Dv.add(i),Xv(),Ov||(Ov=!0,n(`reconnected`,()=>{if(Sv>0){$v(),Zv();let e=kv();e&&Yv(e)}}));let a=Pv,o=Symbol(`eventStoreInstance`);Sv++;let s=I(t,e=>{a===Pv&&e&&Sv>0&&!bv&&Zv()},{immediate:!0}),c=I(r,(e,t)=>{a===Pv&&(!e&&t&&$v(),!(!e||Sv<=0)&&(bv?Mv||Qv():Zv(),S_()))},{immediate:!0});function l(e){return nv.get(e)}function u(e){return rv.get(e)}function d(){return[...rv.values()].sort((e,t)=>t.startTime-e.startTime)}async function f(e){let t=r.value;if(!t)return d();try{zv((await t.getEpisodes(e)).episodes??[])}catch(e){tv.warn(`Failed to load episodes:`,e)}return d()}async function p(e){let t=r.value;if(!t)throw Error(`NVR plugin not available`);let n=await t.getEpisodes(e),i={...n,episodes:n.episodes??[]};return zv(i.episodes),i}async function m(e){let t=rv.get(e);if(t)return t;let n=sv.get(e);if(n)return n;let i=(async()=>{let t=r.value;if(t)try{let n=await t.getEpisode(e);return n?(zv([n]),n):void 0}catch(t){tv.warn(`Failed to load episode:`,e,t);return}})();sv.set(e,i);try{return await i}finally{sv.delete(e)}}async function h(e){let t=av.get(e);if(t)return t;let n=ov.get(e);if(n)return n;let i=(async()=>{let t=r.value;if(t){await _v.acquire();try{let n=await f_(()=>t.getEpisodeMosaic(e));if(n&&n.length>0)return av.set(e,n),lv.value++,n}catch(t){tv.warn(`Failed to load episode mosaic:`,e,t)}finally{_v.release()}}})();ov.set(e,i);try{return await i}finally{ov.delete(e)}}function g(e){return av.get(e)}async function _(e,t){let n=r.value;if(!n)throw Error(`NVR plugin not available`);await n.setEventFavorite(e,t);let i=nv.get(e);i&&(nv.set(e,{...i,favorite:t}),lv.value++)}async function v(e,t){let n=r.value;if(!n)throw Error(`NVR plugin not available`);await n.setEpisodeFavorite(e,t);let i=rv.get(e);i&&(rv.set(e,{...i,favorite:t}),lv.value++)}function y(e){let t=!1;for(let n of e){let e=nv.get(n.id);(!e||n.lastUpdate>=e.lastUpdate)&&(nv.set(n.id,n),t=!0),g_(n.id)}if(nv.size>cv){let t=nv.size-cv,n=new Set(e.map(e=>e.id)),r=[];for(let e of nv.values())!Fv.has(e.id)&&!n.has(e.id)&&r.push({id:e.id,startTime:e.startTime});if(r.length>0){r.sort((e,t)=>e.startTime-t.startTime);let e=Math.min(t,r.length);for(let t=0;t<e;t++)nv.delete(r[t].id)}}t&&lv.value++}function b(e){return m_(e)}function x(e){return Av.add(e),()=>{Av.delete(e)}}async function S(){if(Nv)return Nv;Nv=(async()=>{let e=r.value;if(e)try{await Yv(e);let t=new Set(await e.getManagedCameraIds()),n=uv.value;(t.size!==n.size||[...t].some(e=>!n.has(e)))&&(uv.value=t)}catch{}})();try{await Nv}finally{Nv=null}}function C(e){a===Pv&&Lv(o,e)}function w(){s(),c(),Dv.delete(i),a===Pv&&(Rv(o),Sv--,Sv<=0&&(Sv=0,Cv&&clearTimeout(Cv),Cv=setTimeout(()=>{Sv<=0&&$v(),Cv=void 0},wv)))}return{storeVersion:lv,managedCameraIds:uv,dataEpoch:dv,getEvent:l,getEpisode:u,getEpisodes:d,loadEpisodes:f,loadEpisodePage:p,loadEpisode:m,loadEpisodeMosaic:h,getCachedEpisodeMosaic:g,setEventFavorite:_,setEpisodeFavorite:v,upsertEvents:y,getCachedThumbnails:b,onEventMessage:x,refreshManagedCameraIds:S,pinEvents:C,dispose:w}}var ty={disjoint:!1},ny=500,ry=10,iy=3,ay=6,oy=1500,sy=6e5,cy=72e5,ly=150,uy=6e4,dy=36e5,fy=2e3,py=6,my=new ct(`CameraTimeline`);function hy(e){let t=[],n=e.segments??[],r=e.state===`active`,i=r?Date.now():e.endTime??e.lastUpdate,a=Math.max((i-e.startTime)/1e3,+!!r);if(a>0){let n=wg(e);t.push({id:`${e.id}:trigger`,timestamp:e.startTime,duration:a,types:n.length>0?n:[`motion`],isActive:r||void 0,expectedEndMs:e.expectedEndTime,imageMs:e.thumbnailAt,cameraId:e.cameraId})}for(let a=0;a<n.length;a++){let o=n[a];if(!o)continue;let s=a===n.length-1,c=((r&&s&&i-o.lastSeen<=oy?i:o.lastSeen)-o.firstSeen)/1e3,l=[];for(let e of o.detections)l.includes(e.label)||l.push(e.label);for(let e of o.attributes)l.includes(e.type)||l.push(e.type);l.length!==0&&t.push({id:`${e.id}:seg:${a}`,timestamp:o.firstSeen,duration:Math.max(c,1),types:l,imageMs:o.thumbnailAt,cameraId:e.cameraId,description:o.description})}return t}function gy(e,t,n){if(e.length===0)return e;let r=new Map;for(let t of e){let e=t.cameraId??`__unknown__`,n=r.get(e);(!n||t.endTime>n.endTime)&&r.set(e,t)}let i=new Map;for(let[e,a]of r){let r=e!==`__unknown__`&&n.has(e),o=t-a.endTime<12e4;(r||o)&&a.endTime<t&&i.set(a,{...a,endTime:t,liveTip:!0})}return i.size===0?e:e.map(e=>i.get(e)??e)}function _y(e,t){let n=new Map;for(let t of e){let e=n.get(t.cameraId??``);e?e.push(t):n.set(t.cameraId??``,[t])}for(let e of t){let t=n.get(e.cameraId??``);t?t.push(e):n.set(e.cameraId??``,[e])}let r=[];for(let e of n.values()){e.sort((e,t)=>e.startTime-t.startTime);let t={...e[0]};for(let n=1;n<e.length;n++){let i=e[n];i.startTime<=t.endTime?i.endTime>t.endTime&&(t.endTime=i.endTime):(r.push(t),t={...i})}r.push(t)}return r.sort((e,t)=>t.startTime-e.startTime),vy(r,e)?e:r}function vy(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n].startTime!==t[n].startTime||e[n].endTime!==t[n].endTime||e[n].cameraId!==t[n].cameraId)return!1;return!0}function yy(e,t){let n=[],r=!1;for(let i of e)(i.cameraId??t.cameraId)===t.cameraId&&i.startTime<t.endMs&&i.endTime>t.startMs?(r=!0,i.startTime<t.startMs&&n.push({...i,endTime:t.startMs}),i.endTime>t.endMs&&n.push({...i,startTime:t.endMs})):n.push(i);return r?n:e}function by(e,t){return e.description?.description!==t.description?.description||e.description?.title!==t.description?.title}function xy(e,t){let n=new Map;for(let r of e){let[e,i,a]=r.split(`:`),o=t(e);if(!o)continue;let s=i===`seg`?{kind:`strip`,segIndex:Number(a)}:{kind:`scene`},c=n.get(e)??{event:o,needs:[]};c.needs.push(s),n.set(e,c)}return n}function Sy(e,t,n){let r=!1,i=e.map(e=>{if(!t.has(e.id))return e;let i=n(e);return i===e.thumbnail?e:(r=!0,{...e,thumbnail:i})});return r?i:e}function Cy(e,t){let n=new Map;for(let t of e)n.set(t.id,t);let r=!1;for(let e of t){let t=n.get(e.id);t?t.thumbnail&&!e.thumbnail?(t.duration!==e.duration||t.types.length!==e.types.length||by(t,e))&&(n.set(e.id,{...e,thumbnail:t.thumbnail}),r=!0):(e.thumbnail!==t.thumbnail||e.duration!==t.duration||e.types.length!==t.types.length||by(t,e))&&(n.set(e.id,e),r=!0):(n.set(e.id,e),r=!0)}return r?[...n.values()].sort((e,t)=>t.timestamp-e.timestamp):e}function wy(e,t){if(t.length===0)return e;let n=new Map;for(let t of e)n.set(t.id,t);let r=!1;for(let e of t){let t=n.get(e.id);(!t||t.duration!==e.duration||t.message!==e.message||t.severity!==e.severity)&&(n.set(e.id,e),r=!0)}return r?[...n.values()].sort((e,t)=>t.timestamp-e.timestamp):e}function Ty(t){let{cameraIds:n,currentTimeMs:r,timeMsPerPx:i,viewportPx:a,initialTimestamp:o}=t,s=t.eventCameraIds??n,c=h(()=>[...new Set([...n.value,...s.value])].sort()),{plugin:l,isLoading:u}=Zl(`@camera.ui/camera-ui-nvr`),d=ey(`@camera.ui/camera-ui-nvr`),f=p([]),m=p([]),g=p([]),_=e(0),v=e(!1),y=e(0),b=e(0),x=null,S=new Map,C=0,w=0,T,E=0,D=null,O=Symbol(`cameraTimelinePictures`),k=new Set,A=new Map,j,N=oy/1e3;function P(){!j&&A.size>0&&(j=setInterval(z,1e3))}function R(){j&&A.size===0&&(clearInterval(j),j=void 0)}function z(){let e=m.value,t=Date.now(),n=null;for(let[r,i]of A){let a=e.findIndex(e=>e.id===r);if(a<0){A.delete(r);continue}let o=(n??e)[a];if(i===`segment`){let i=(t-o.timestamp)/1e3;if(i>o.duration+N){A.delete(r);continue}n??=[...e],n[a]={...o,duration:i};continue}let s=o.expectedEndMs;s&&t>=s?(n??=[...e],n[a]={...o,duration:(s-o.timestamp)/1e3},A.delete(r)):(n??=[...e],n[a]={...o,duration:(t-o.timestamp)/1e3})}n&&(m.value=n),R()}function B(e){A.has(e)||(A.set(e,`segment`),P())}function V(e){A.has(e)||(A.set(e,`trigger`),P())}function H(e){A.delete(e),R()}function ee(e){let t=`${e}:`;for(let e of A.keys())e.startsWith(t)&&A.delete(e);R()}function U(){A.clear(),R()}function W(e){let[t,n,r]=e.id.split(`:`),i=d.getEvent(t),a=d.getCachedThumbnails(t);if(i&&a)return n===`seg`?i.segments[Number(r)]?zg(a,i,`strip`,Number(r)).url:void 0:Ig(a.event)}function G(){m.value=Sy(m.value,k,W)}I(p_,G);function te(e){d.upsertEvents(e),m.value=Cy(m.value,e.flatMap(e=>hy(e)));for(let t of e)if(t.state===`active`&&(V(`${t.id}:trigger`),t.segments?.length)){let e=t.segments[t.segments.length-1];t.lastUpdate-e.lastSeen<=1e4&&B(`${t.id}:seg:${t.segments.length-1}`)}K()}function K(){let e=new Set;for(let t of m.value)e.add(t.id.split(`:`)[0]);d.pinEvents(e)}async function ne(e,t,n){let i=l.value;if(!i)return ty;let a=c.value.filter(e=>d.managedCameraIds.value.has(e));if(a.length===0||(t=Math.min(t,Date.now()),e>=t))return ty;let o=()=>n!==w,u=Math.floor(e),p=Math.ceil(t);_.value++;try{let n=s.value.filter(e=>d.managedCameraIds.value.has(e)),c=Z_({fromMs:u,toMs:p,fetchPage:async e=>{try{let t=await i.getCameraEvents(n.length?n:a,{startMs:u,endMs:p,before:e,limit:ny});return{items:t.events??[],hasMore:t.hasMore}}catch(e){throw my.warn(`Failed to load events:`,e),e}},timeOf:e=>e.startTime,idOf:e=>e.id,onPage:te,maxPages:ry,cancelled:o}),l=(async()=>{let n=await Promise.all(a.map(async n=>{try{return{ok:!0,segs:(await i.getRecordingSegments(n,e,t)??[]).map(e=>({...e,cameraId:n}))}}catch(e){return my.warn(`Failed to load recordings for ${n}:`,e),{ok:!1,segs:[]}}}));if(o())return!1;let r=n.flatMap(e=>e.segs);return f.value=_y(f.value,r),n.some(e=>e.ok)})(),h=Z_({fromMs:u,toMs:p,fetchPage:async e=>{let t=await i.getSystemEvents(a,{startMs:u,endMs:e??p,limit:ny});return{items:t.events??[],hasMore:t.hasMore}},timeOf:e=>e.timestamp,idOf:e=>e.id,onPage:e=>{g.value=wy(g.value,e)},maxPages:ry,cancelled:o}).then(e=>{e.failed&&my.warn(`Failed to load system events`)}),[_,v]=await Promise.all([c,l,h]);if(o())return ty;if(!(_.pages>0)&&!v)return my.debug(`loadRange [${e}..${t}] FAILED (both RPC groups errored) — loadedToMs=${b.value}`),b.value===0&&oe(),ty;let x=b.value>0?[y.value,b.value]:null,S=[_.capped?_.completeFromMs:e,t],[C,w]=Q_(x,S,r.value);return y.value=C,b.value=w,E=0,ae(),my.debug(`loadRange [${e}..${t}] OK: pages=${_.pages} capped=${_.capped} evts=${m.value.length}`),{restToMs:_.capped?_.completeFromMs:void 0,disjoint:x!==null&&(S[0]>x[1]||S[1]<x[0])}}catch(e){return my.warn(`Failed to load events:`,e),ty}finally{_.value--,v.value=!0}}function q(){let e=[...S.values()];return b.value>0&&e.push([y.value,b.value]),$_(e)}function re(){return Math.max(b.value,q()?.[1]??0)}function J(e,t){let[n,r]=de();return Math.min(t,r)-Math.max(e,n)<=uy?null:[(q()?.[0]??e)<e?Math.max(e,n):n,t]}function Y(e,t,n){my.debug(`enqueueLoad [${Math.round(e)}..${Math.round(t)}] reason=${n} loaded=[${y.value}..${b.value}]`);let r=w,i=++C;S.set(i,[e,t]);let a=(x??Promise.resolve()).then(async()=>{let n=!1;try{let a=[e,t];for(;a&&r===w;){let o=await ne(a[0],a[1],r);n||=o.disjoint,a=o.restToMs===void 0?null:J(a[0],o.restToMs),a&&S.set(i,[Math.min(e,a[0]),t])}}catch(e){my.warn(`Timeline load failed:`,e)}finally{S.delete(i),x===a&&(x=null)}n&&r===w&&fe()});x=a}function ie(){w++,x=null,S.clear()}let X=o?.value;o&&I(o,e=>{e!=null&&(X=e)});function Z(){let e=Date.now(),t=X??e,n=Math.max(ce(),dy);Y(t-n,Math.min(t+n,e),`initial`)}function ae(){D&&=(clearTimeout(D),null)}function oe(){D||b.value>0||(E>=py?my.debug(`initial-load retry exhausted after ${E} attempts`):(E++,my.debug(`scheduling initial-load retry #${E} in ${fy}ms`),D=setTimeout(()=>{D=null,!(b.value>0||c.value.length===0||!l.value)&&(my.debug(`initial-load retry #${E} firing`),d.refreshManagedCameraIds().then(()=>Z()).catch(()=>oe()))},fy)))}function se(){return a.value*i.value}function ce(){let e=se();return e<=0?cy:Math.min(cy,Math.max(sy,e*iy))}function le(){let e=se();return e<=0?cy*2:Math.max(Math.min(cy*2,Math.max(sy*2,e*ay)),e/2+ce()*1.5)}function ue(e){let t=le(),n=e-t,r=e+t,i=e=>e.endTime>=n&&e.startTime<=r;f.value.some(e=>!i(e))&&(f.value=f.value.filter(i));let a=e=>e.timestamp+e.duration*1e3>=n&&e.timestamp<=r;m.value.some(e=>!a(e))&&(m.value=m.value.filter(a),K());let o=e=>{let t=e.duration??0;return(t<0?1/0:t?e.timestamp+t:e.timestamp)>=n&&e.timestamp<=r};g.value.some(e=>!o(e))&&(g.value=g.value.filter(o)),b.value>0&&y.value<n&&(y.value=n),b.value>r&&(b.value=r)}function de(){let e=r.value,t=se()/2+ce();return[e-t,Math.min(e+t,Date.now())]}function fe(){let e=q();if(!e)return;let[t,n]=e,[i,a]=de();i>n||a<t?(ie(),y.value=0,b.value=0,f.value=[],m.value=[],g.value=[],K(),Y(i,a,`reanchor`)):(t-i>uy&&Y(i,t,`scroll-back`),a-n>uy&&Y(n,a,`scroll-fwd`),ue(r.value))}function pe(e){let t=s.value.length?s.value:n.value;if(t.length===0||!t.includes(e.data.cameraId))return;let r=d.getEvent(e.data.id)??e.data,i=hy(r),a=d.getCachedThumbnails(e.data.id);if(a){for(let e of i)if(e.id.includes(`:seg:`)){let t=e.id.split(`:seg:`)[1],n=t==null?0:parseInt(t,10),i=r.segments?.[n]?zg(a,r,`strip`,n).url:void 0;i&&(e.thumbnail=i)}else if(!e.thumbnail&&k.has(e.id)){let t=Ig(a.event);t&&(e.thumbnail=t)}}m.value=Cy(m.value,i);let o=e.type,c=e.data.id;if(o===`start`)V(`${c}:trigger`);else if(o===`update`)V(`${c}:trigger`);else if(o===`segment-start`)B(`${c}:seg:${e.data.segmentIndex??0}`);else if(o===`segment-update`){let t=`${c}:seg:${e.data.segmentIndex??0}`;H(t),B(t)}else o===`segment-end`?H(`${c}:seg:${e.data.segmentIndex??0}`):o===`end`&&ee(c)}function me(){T||=d.onEventMessage(pe)}function he(){T?.(),T=void 0,U()}me();let ge=e(new Set),_e=new Map,ve=e(Date.now());F(()=>{ge.value.size>0&&(ve.value=Date.now())},1e3);function ye(){return Date.now()-r.value<6e4}async function be(e){let t=l.value;if(t)try{let n=await t.onRecordingState(e,e=>{if(e.state===`recording`)ge.value=new Set([...ge.value,e.cameraId]);else{let t=new Set(ge.value);t.delete(e.cameraId),ge.value=t,b.value>0&&ye()&&Y(re(),Date.now(),`rec-stopped`)}});_e.set(e,n)}catch(t){my.warn(`Failed to subscribe to recording state for ${e}:`,t)}}function xe(){for(let[,e]of _e)e();_e.clear(),ge.value=new Set}let Se;async function Ce(){if(Se)return;let e=l.value;if(e)try{Se=await e.onSystemEvent(e=>{(!e.cameraId||c.value.includes(e.cameraId))&&(g.value=wy(g.value,[e]))})}catch(e){my.warn(`Failed to subscribe to system events:`,e)}}function we(){Se?.(),Se=void 0}let Te;async function Ee(){if(Te)return;let e=l.value;if(e)try{Te=await e.onRecordingsDeleted(e=>{c.value.includes(e.cameraId)&&(f.value=yy(f.value,e))})}catch(e){my.warn(`Failed to subscribe to recording deletions:`,e)}}function De(){Te?.(),Te=void 0}let Oe=h(()=>Math.floor(ve.value/5e3)*5e3),ke=h(()=>gy(je(f.value),Oe.value,ge.value)),Ae=h(()=>je(g.value).filter(e=>e.type!==`text_alert`));function je(e){if(n.value.length===c.value.length)return e;let t=new Set(n.value);return e.filter(e=>!e.cameraId||t.has(e.cameraId))}F(()=>{if(b.value===0||!ye())return;let e=Date.now();e-b.value<3e5&&Y(re(),e,`interval-topup`)},6e4);let Me;I([()=>c.value.join(`,`),()=>l.value],async([e,t])=>{let n=Me!==e;if(Me=e,my.debug(`load watch fire: camKey=${e} hasPlugin=${!!t} changed=${n} loadedTo=${b.value}`),xe(),we(),De(),n&&(ie(),f.value=[],m.value=[],g.value=[],y.value=0,b.value=0,K()),c.value.length!==0&&t){try{await d.refreshManagedCameraIds()}catch(e){my.debug(`watch: refreshManagedCameraIds threw — scheduling retry: ${e.message}`),oe();return}(n||y.value===0&&b.value===0)&&Z();for(let e of c.value)d.managedCameraIds.value.has(e)&&be(e);Ce(),Ee()}},{immediate:!0}),I(u,e=>{!e&&!l.value&&(v.value=!0)}),L(r,fe,{throttle:ly});let{on:Ne,off:Pe}=Ns(),{onTabVisible:Fe}=xc();Fe(({hiddenMs:e})=>{ge.value.size>0&&(ve.value=Date.now()),b.value===0?(my.debug(`onTabVisible: never loaded (hiddenMs=${e}) — loadInitialWindow`),Z()):e>=3e4&&ye()&&Y(re(),Date.now(),`tab-visible`)});async function Ie(){xe();for(let e of c.value)d.managedCameraIds.value.has(e)&&await be(e)}let Le=()=>{if(my.debug(`onReconnected — loadedTo=${b.value}`),U(),ie(),E=0,ae(),b.value>0){let e=r.value||Date.now(),t=se()/2,n=ce();Y(e-t-n,Math.min(e+t+n,Date.now()),`reconnect`)}else Z();Ie(),we(),Ce(),De(),Ee()};Ne(`reconnected`,Le),I(d.dataEpoch,()=>{f.value=[],m.value=[],g.value=[],y.value=0,b.value=0,K(),Le()});let Re=Wv(e=>{let t=new Set(e);for(let e of t)ee(e);let n=m.value.filter(e=>{let n=e.id.includes(`:`)?e.id.split(`:`)[0]:e.id;return!t.has(n)});n.length!==m.value.length&&(m.value=n,K())});M(()=>{Pe(`reconnected`,Le),ae(),he(),xe(),we(),De(),Re(),h_(O,new Map),d.dispose()});function ze(e){k=new Set(e),h_(O,xy(e,d.getEvent)),G()}function Be(e){let t=(e.coverage?.union??[]).map(t=>({...t,cameraId:e.cameraId}));if(t.length&&(f.value=_y(f.value,t)),e.systemEvents?.length&&(g.value=wy(g.value,e.systemEvents)),e.events?.length){let t=e.events.filter(e=>{let t=d.getEvent(e.id);return!t||e.lastUpdate>t.lastUpdate});t.length&&d.upsertEvents(t),m.value=Cy(m.value,e.events.flatMap(e=>hy(e))),K()}my.debug(`applySnapshot cam=${e.cameraId.slice(0,8)} segs=${t.length} evts=${e.events?.length??0} sys=${e.systemEvents?.length??0}`)}function Ve(e){return b.value>0&&e>=y.value&&e<=b.value}return{recordings:ke,events:m,systemEvents:Ae,isLoading:h(()=>_.value>0||!v.value),isLoadedAt:Ve,applySnapshot:Be,requestThumbnails:ze}}var Ey=new ct(`DetectionEvents`),Dy=new Map,Oy=6e4,ky=2e3,Ay=1e4,jy=50,My=3;function Ny(e){return e.episode?e.episode.endTime:e.segment?.firstSeen??e.event.thumbnailAt??e.event.startTime}function Py(e,t){let n=t?JSON.stringify(t):``;return e.slice().sort().join(`,`)+`|`+n}function Fy(e){let t=Dy.get(e);if(t){if(Date.now()-t.savedAt>Oy)Dy.delete(e);else return t}}function Iy(e,t,n){Dy.set(e,{eventIds:t,hasMore:n,savedAt:Date.now()})}function Ly(){Dy.clear()}var Ry=!1;function zy(t={}){let{availableCameraIds:n,cameraIds:r,realtime:i=!0,pageSize:a=40,pluginName:o=`@camera.ui/camera-ui-nvr`,filter:s,withEpisodes:c=!1,withStats:l=!1,enabled:d=!0}=t,{plugin:f,error:m,isLoading:g}=Zl(o),_=ey(o),v=e(new Set),y=e(!1),b=e(!0),x=e(!0),S=e(!1),C=e(!1),w=-1,T=e(!1),E,D=0,O,k=e(new Set),A=e(!1),j=e(!1),N,P=!1,F,L=p(),R,z=!1,B=h(()=>r?u(r):[]),V=h(()=>u(d)),H=h(()=>u(c)),ee=h(()=>n?u(n):[]),U=h(()=>s?u(s)??{}:{}),W=h(()=>{let e=B.value;return(e.length>0?e:ee.value).filter(e=>_.managedCameraIds.value.has(e))});function G(e){return xg(e,U.value)}function te(e){return U.value.startMs?e.startTime:Lg(e)}function K(e){let t=U.value.startMs;return!t||e.startTime>=t}function ne(e){return Math.max(e.startMs??0,e.startedSinceMs??0)||void 0}function q(e){if(!e.description)return!1;let t=W.value;if(!e.members.some(e=>t.includes(e.cameraId)))return!1;let n=U.value;if(n.favoritesOnly&&!e.favorite)return!1;let r=ne(n);return r&&e.endTime<r?!1:!n.endMs||e.startTime<=n.endMs}let re=h(()=>{_.storeVersion.value;let e=v.value,t=B.value,n=[];for(let r of e){let e=_.getEvent(r);e&&G(e)&&(t.length>0&&!t.includes(e.cameraId)||n.push({...e}))}return n.sort((e,t)=>te(t)-te(e)),n}),J=h(()=>{if(!H.value)return[];_.storeVersion.value;let e=[];for(let t of k.value){let n=_.getEpisode(t);n&&q(n)&&e.push(n)}return e.sort((e,t)=>t.startTime-e.startTime)}),Y=h(()=>{let e=U.value;if(e.search||e.types?.length||e.triggers?.length||e.triggerLabels?.length||e.attributes?.length||e.minConfidence)return[];let t=x.value?ce():0,n=[];for(let e of J.value)e.endTime<t||n.push({event:void 0,key:`episode:${e.id}`,episode:e});return n}),ie=h(()=>{let e=[...Y.value],t=U.value.hiddenTypes;for(let n of re.value){let r=n.segments??[],i=t?.[n.cameraId],a=!1;for(let t=0;t<r.length;t++){let o=r[t];o&&!Eg(o,i)&&(a=!0,e.push({event:n,key:`${n.id}:${t}`,segIndex:t,segment:o,live:_g(n,t)}))}a||e.push({event:n,key:n.id})}return e.sort((e,t)=>Ny(t)-Ny(e)),e});function X(e){if(!V.value)return;if(e.type===`episode`){let t=e.episode;if(!t||!H.value||k.value.has(t.id)||!q(t))return;k.value=new Set([...k.value,t.id]),ge();return}if(e.type===`segment-update`&&v.value.has(e.data.id)){ge();return}if(!_.managedCameraIds.value.has(e.data.cameraId))return;let t=B.value;if(t.length>0&&!t.includes(e.data.cameraId)||!G(_.getEvent(e.data.id)??e.data))return;ge();let n=new Set(v.value);n.has(e.data.id)||(n.add(e.data.id),v.value=n)}let Z=Wv(e=>{Ly(),ge();let t=new Set(v.value),n=!1;for(let r of e)t.delete(r)&&(n=!0);n&&(v.value=t)});function ae(){E||=_.onEventMessage(X)}function oe(){E?.(),E=void 0}async function se(){if(y.value||!x.value)return;let e=f.value;if(!e)return;let t=W.value,n=D;y.value=!0;try{let r=O;for(let e of v.value){let t=_.getEvent(e);if(!t||!K(t))continue;let n=te(t);(r===void 0||n<r)&&(r=n)}let i=r===void 0,o={...U.value,limit:a,before:r};i&&he(),i&&ue();let s;if(s=t.length>0?await e.getCameraEvents(t,o):await e.getEvents(o),n!==D)return;let c=s.events??[];S.value=!1,C.value=!1,x.value=s.hasMore;for(let e of c){if(!K(e))continue;let t=te(e);(O===void 0||t<O)&&(O=t)}_.upsertEvents(c);let l=v.value,u=c.filter(e=>!l.has(e.id)),d=u.filter(e=>G(e));if(d.length>0){let e=new Set(v.value);for(let t of d)e.add(t.id);v.value=e}else c.length>0&&u.length===0&&(x.value=!1);i||me(ce())}catch(e){n===D&&(S.value=!0,C.value=String(e?.message??e).includes(`license verification required`),Ey.warn(`Failed to load historical events:`,e),w!==D&&!C.value&&(w=D,setTimeout(()=>{n===D&&v.value.size===0&&se()},ky)))}finally{n===D&&(y.value=!1,b.value=!1)}}function ce(){let e=1/0;for(let t of re.value)e=Math.min(e,t.thumbnailAt??t.startTime);return e}function le(e){let t=W.value;if(t.length===0)return;let n=U.value;return{startMs:ne(n),endMs:n.endMs,favoritesOnly:n.favoritesOnly||void 0,hasRecording:n.hasRecording||void 0,cameraIds:t,describedOnly:!0,limit:jy,before:e}}function ue(){H.value&&!P&&le(void 0)&&(P=!0,de(void 0).then(()=>me(ce())))}function de(e,t=!1){let n=le(e);if(!n)return Promise.resolve(!1);let r=D;j.value=!0;let i=(async()=>{try{let i=await _.loadEpisodePage(n);if(r!==D)return!1;let a=new Set(k.value);for(let e of i.episodes)a.add(e.id);let o=a.size>k.value.size;if(o&&(k.value=a),!t){let t=i.nextBefore!==void 0&&(e===void 0||i.nextBefore<e);A.value=i.hasMore&&i.nextBefore!==void 0&&(o||t),N=i.nextBefore}return o}catch(e){return r===D&&(Ey.warn(`Failed to load episodes:`,e),t||(A.value=!1)),!1}finally{r===D&&(j.value=!1)}})();return F=i,i}async function fe(){H.value&&A.value&&!j.value&&await de(N)}function pe(){let e=1/0;for(let t of k.value){let n=_.getEpisode(t);n&&(e=Math.min(e,n.startTime))}return e}async function me(e){let t=D;for(let n=0;n<My;n++){if(F&&await F,t!==D||!H.value||!A.value||j.value||pe()<e)return;await de(N)}}async function he(){if(!l)return;let e=f.value;if(!e)return;clearTimeout(R),R=void 0;let t=D;try{let n=await e.getEventStats(W.value,U.value);t===D&&(L.value=n)}catch(e){if(t!==D)return;z=!0,L.value=void 0,Ey.debug(`event count unavailable:`,e)}}function ge(){!l||z||R||(R=setTimeout(()=>{R=void 0,he()},Ay))}function _e(){D++,L.value=void 0,z=!1,clearTimeout(R),R=void 0,S.value=!1,C.value=!1,O=void 0,v.value=new Set,x.value=!0,b.value=!0,y.value=!1,k.value=new Set,A.value=!1,j.value=!1,N=void 0,P=!1,F=void 0}async function ve(){_e(),await se()}function ye(){ae()}function be(){oe()}i&&ae();let xe=h(()=>!g.value&&(!!m.value||!f.value));I([g,m],([e,t])=>{!e&&(t||!f.value)&&v.value.size===0&&(b.value=!1,x.value=!1)}),I([v,k],([e,t])=>{_.pinEvents(new Set([...e,...t]))},{immediate:!0}),I([()=>f.value,ee],async([e])=>{e&&(await _.refreshManagedCameraIds(),T.value=!0)},{immediate:!0}),I(_.dataEpoch,()=>{ve()}),I(H,e=>{e&&V.value&&!b.value&&ue()},{flush:`post`});let Se=(()=>{let e=!1,t=globalThis.requestIdleCallback;return()=>{if(e)return;e=!0;function n(){e=!1,se()}typeof t==`function`?t(n,{timeout:250}):setTimeout(n,0)}})(),Ce=null;I([()=>f.value,W,T,V],([e,t,n,r])=>{if(!e||!r)return;let i=t.slice().sort().join(`,`),a=Ce!==null&&Ce!==i;if(Ce=i,t.length===0){let e=B.value.length===0&&_.managedCameraIds.value.size>0&&ee.value.length===0;n&&!e&&(x.value=!1,b.value=!1)}else if(a&&(v.value.size>0||y.value)&&_e(),v.value.size===0){x.value=!0;let e=Fy(Py(t,U.value));if(e){let t=e.eventIds.filter(e=>_.getEvent(e));if(t.length>0){v.value=new Set(t),x.value=e.hasMore,b.value=!1,he(),ue();return}}Se()}},{immediate:!0}),I(U,()=>{(v.value.size>0||!b.value||y.value)&&ve()},{deep:!0});let{on:we,off:Te}=Ns();Ry||(Ry=!0,we(`reconnected`,Ly));let Ee=!1;async function De(){let e=f.value;if(!e||y.value){Ee=!0;return}Ee=!1;let t=W.value,n={...U.value,limit:a},r=D;y.value=!0,he();try{let i=t.length>0?await e.getCameraEvents(t,n):await e.getEvents(n);if(r!==D)return;let a=i.events??[];_.upsertEvents(a),H.value&&de(void 0,!0);let o=new Set(v.value),s=!1;for(let e of a)!o.has(e.id)&&G(e)&&(o.add(e.id),s=!0);s&&(v.value=o),i.hasMore&&(x.value=!0)}catch(e){r===D&&Ey.warn(`reconnect refresh failed:`,e)}finally{r===D&&(y.value=!1)}}function Oe(){De()}we(`reconnected`,Oe),I(()=>f.value,e=>{e&&Ee&&De()}),I(y,e=>{!e&&Ee&&De()}),M(()=>{clearTimeout(R),Te(`reconnected`,Oe),oe(),Z(),_.dispose();let e=Py(W.value,U.value);e&&v.value.size>0&&Iy(e,[...v.value],x.value)});async function ke(e){let t=f.value;if(!t)throw Error(`NVR plugin not available`);await t.deleteEvents(e),Uv(e)}return{events:re,segmentItems:ie,episodes:J,episodesHasMore:A,loadMoreEpisodes:fe,isLoading:h(()=>y.value||b.value),pluginUnavailable:xe,loadFailed:h(()=>S.value),licenseRequired:h(()=>C.value),hasMore:x,stats:L,loadMore:se,reset:ve,start:ye,stop:be,getCachedThumbnails:_.getCachedThumbnails,thumbnailCache:new Map,deleteEvents:ke}}var By='(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e),f=`__cuiLoggerState__`;function p(){let e=globalThis,t=e[f];return t||(t={capacity:600,entries:[],storeListeners:/* @__PURE__ */ new Set,debugEnabled:!1,scopeOverrides:/* @__PURE__ */ new Map,recording:!1,flagListeners:/* @__PURE__ */ new Set},e[f]=t),t}function m(e,t){let n=p();t?n.scopeOverrides.set(t,e):n.debugEnabled=e,b()}function h(e){p().scopeOverrides.delete(e)&&b()}function g(e){let t=p();return e!==void 0&&t.scopeOverrides.has(e)?t.scopeOverrides.get(e):t.debugEnabled}function _(e){p().recording=e,b()}function v(){return p().recording}function y(e){let{flagListeners:t}=p();return t.add(e),()=>{t.delete(e)}}function b(){let e=p();for(let t of e.flagListeners)try{t()}catch{}}function x(e){return(console[e]??console.log).bind(console)}var S={log:x(`log`),debug:x(`debug`),info:x(`info`),warn:x(`warn`),error:x(`error`)};function C(e){p().capacity=Math.max(1,Math.floor(e)),O()}function w(e){p().entries.push(e),O(),k()}function T(){return p().entries.slice()}function E(){p().entries=[],k()}function D(e){let{storeListeners:t}=p();return t.add(e),()=>{t.delete(e)}}function O(){let e=p();e.entries.length>e.capacity&&e.entries.splice(0,e.entries.length-e.capacity)}function k(){let e=p();for(let t of e.storeListeners)try{t(e.entries)}catch{}}function A(e){if(typeof e==`string`)return e;if(e===void 0)return`undefined`;if(e===null)return`null`;if(e instanceof Error)return`${e.name}: ${e.message}${e.stack?`\\n${e.stack}`:``}`;if(typeof e!=`object`)return String(e);try{let t=/* @__PURE__ */ new WeakSet;return JSON.stringify(e,(e,n)=>{if(typeof n==`bigint`)return`${n}n`;if(typeof n==`function`)return`[Function ${n.name||`anonymous`}]`;if(typeof n==`object`&&n){if(t.has(n))return`[Circular]`;t.add(n)}return n})}catch{try{return String(e)}catch{return`[Unserializable]`}}}var j=/%[sdifoOjc%]/g,M=/%[sdifoOjc]/;function N(e){let t=e[0];if(typeof t!=`string`||!M.test(t))return e.map(A).join(` `);let n=e.slice(1),r=0,i=t.replace(j,e=>{if(e===`%%`)return`%`;if(r>=n.length)return e;let t=n[r++];switch(e){case`%s`:return typeof t==`string`?t:A(t);case`%d`:case`%i`:{let e=typeof t==`number`?t:Number(t);return Number.isNaN(e)?`NaN`:String(Math.trunc(e))}case`%f`:{let e=typeof t==`number`?t:Number(t);return Number.isNaN(e)?`NaN`:String(e)}case`%c`:return``;default:return A(t)}}),a=n.slice(r).map(A).join(` `);return a?`${i} ${a}`:i}function P(e,t=2){return String(e).padStart(t,`0`)}function F(e=Date.now()){let t=new Date(e);return`${P(t.getHours())}:${P(t.getMinutes())}:${P(t.getSeconds())}.${P(t.getMilliseconds(),3)}`}var I={debug:`debug`,log:`log`,info:`info`,warn:`warn`,error:`error`},L=class e{scope;constructor(e){this.scope=e}static scope(t){return new e(t)}debug(...e){this.emit(`debug`,e)}log(...e){this.emit(`log`,e)}info(...e){this.emit(`info`,e)}warn(...e){this.emit(`warn`,e)}error(...e){this.emit(`error`,e)}emit(e,t){if(e===`debug`&&!g(this.scope))return;let n=`[${this.scope} ${F()}]`;typeof t[0]==`string`?S[I[e]](`${n} ${t[0]}`,...t.slice(1)):S[I[e]](n,...t),v()&&w({t:Date.now(),level:e,scope:this.scope,msg:N(t)})}static setDebug(e,t){m(e,t)}static isDebug(e){return g(e)}static clearScope(e){h(e)}static setRecording(e){_(e)}static isRecording(){return v()}static onChange(e){return y(e)}static entries(){return T()}static clear(){E()}static onEntries(e){return D(e)}static setCapacity(e){C(e)}},R=!1,z={log:`log`,debug:`debug`,info:`info`,warn:`warn`,error:`error`};function B(){if(R)return;R=!0;for(let e of[`log`,`debug`,`info`,`warn`,`error`]){let t=z[e],n=S[e];console[e]=(...e)=>{v()&&w({t:Date.now(),level:t,scope:`console`,msg:N(e)}),n(...e)}}let e=globalThis;e.addEventListener?.(`error`,e=>{if(!v())return;let t=e?.filename?` ${e.filename}:${e.lineno}:${e.colno}`:``;w({t:Date.now(),level:`error`,scope:`window`,msg:`[onerror] ${e?.message??``}${t}`.trim()})}),e.addEventListener?.(`unhandledrejection`,e=>{v()&&w({t:Date.now(),level:`error`,scope:`window`,msg:`[unhandledrejection] ${A(e?.reason)}`})})}function V(e){return!!e&&typeof e==`object`&&e.__cui_logger__===!0}function H(e){let t=globalThis,n=e??(e=>t.postMessage?.(e)),r=D(e=>{let t=e[e.length-1];t&&n({__cui_logger__:!0,type:`entry`,entry:t})}),i=e=>{V(e.data)&&e.data.type===`flag`&&(m(e.data.debug),_(e.data.recording))};return t.addEventListener?.(`message`,i),()=>{r(),t.removeEventListener?.(`message`,i)}}function ee(e){if(e===`insufficient_role`||e===`user_not_found`)return`forbidden`;if(e===`invalid_token`||e===`unauthenticated`||e.startsWith(`credentials_`))return`auth-expired`}function te(e){let t=typeof e==`string`?void 0:e,n=t?.wsCloseCode??t?.code;if(n===4401)return`auth-expired`;if(n===4403||n===4400)return`forbidden`;let r=typeof t?.data==`object`&&t.data!==null?t.data.code:void 0,i=typeof r==`string`?ee(r):void 0;if(i)return i;let a=(typeof e==`string`?e:t?.reason??t?.message??``).toLowerCase();return a?a.includes(`forbidden`)||a.includes(`403`)?`forbidden`:a.includes(`unauthorized`)||a.includes(`unauthenticated`)||a.includes(`401`)?`auth-expired`:`other`:`other`}function U(e){if(typeof e!=`object`||!e)return!1;let{wsCloseCode:t,code:n,data:r}=e;return te({wsCloseCode:t,code:n,data:r})===`forbidden`}function ne(e,t){return e===t||!(!e||!t||e.endpoint.url!==t.endpoint.url||e.endpoint.mode!==t.endpoint.mode||e.tokens.access!==t.tokens.access||(e.tokens.proxySession??null)!==(t.tokens.proxySession??null))}function re(e,t){return e===t?!1:!e||!t||e.endpoint.url!==t.endpoint.url||e.endpoint.mode!==t.endpoint.mode}var ie=class{listeners=/* @__PURE__ */ new Map;on(e,t){let n=this.listeners.get(e);return n||(n=/* @__PURE__ */ new Set,this.listeners.set(e,n)),n.add(t),()=>{n.delete(t)}}emit(e,t){let n=this.listeners.get(e);if(n)for(let e of[...n])e(t)}clear(){this.listeners.clear()}};function ae(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n].length;let n=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++)n.set(e[t],r),r+=e[t].length;return n}function oe(...e){let t=[];for(let n=0;n<e.length;n++)t.push(le.encode(e[n]));return t.length===0?ce:t.length===1?t[0]:ae(...t)}function se(e){return!e||e.length===0?``:ue.decode(e)}var ce,le,ue,de=o((()=>{ce=/* @__PURE__ */ new Uint8Array,le=new TextEncoder,ue=new TextDecoder})),fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,W,Te=o((()=>{fe=class extends Error{constructor(e,t){super(`illegal subject: \'${e}\'`,t),this.name=`InvalidSubjectError`}},pe=class e extends Error{constructor(e,t){super(e,t),this.name=`InvalidArgumentError`}static format(t,n,r){return Array.isArray(n)&&n.length>1&&(n=n[0]),Array.isArray(t)?(t=t.map(e=>`\'${e}\'`),t=t.join(`,`)):t=`\'${t}\'`,new e(`${t} ${n}`,r)}},me=class extends Error{constructor(e,t){super(e,t),this.name=`InvalidOperationError`}},he=class e extends Error{constructor(e,t){super(e,t),this.name=`UserAuthenticationExpiredError`}static parse(t){return t.toLowerCase().indexOf(`user authentication expired`)===-1?null:new e(t)}},ge=class e extends Error{constructor(e,t){super(e,t),this.name=`AuthorizationError`}static parse(t){let n=[`authorization violation`,`account authentication expired`,`authentication timeout`],r=t.toLowerCase();for(let i=0;i<n.length;i++)if(r.indexOf(n[i])!==-1)return new e(t);return null}},_e=class extends Error{constructor(){super(`closed connection`),this.name=`ClosedConnectionError`}},ve=class extends Error{constructor(){super(`connection draining`),this.name=`DrainingConnectionError`}},ye=class extends Error{constructor(e,t){super(e,t),this.name=`ConnectionError`}},be=class extends Error{constructor(e,t){super(e,t),this.name=`ProtocolError`}},xe=class extends Error{constructor(e=``,t){super(e,t),this.name=`RequestError`}isNoResponders(){return this.cause instanceof Ce}},Se=class extends Error{constructor(e){super(`timeout`,e),this.name=`TimeoutError`}},Ce=class extends Error{subject;constructor(e,t){super(`no responders: \'${e}\'`,t),this.subject=e,this.name=`NoResponders`}},we=class e extends Error{operation;subject;queue;constructor(e,t,n,r,i){super(e,i),this.name=`PermissionViolationError`,this.operation=t,this.subject=n,this.queue=r}static parse(t){if((t?t.toLowerCase():``).indexOf(`permissions violation`)===-1)return null;let n=`publish`,r=``,i,a=t.match(/(Publish|Subscription) to "(\\S+)"/);if(a&&(n=a[1].toLowerCase(),r=a[2],n===`subscription`)){let e=t.match(/using queue "(\\S+)"/);e&&(i=e[1])}return new e(t,n,r,i)}},W={AuthorizationError:ge,ClosedConnectionError:_e,ConnectionError:ye,DrainingConnectionError:ve,InvalidArgumentError:pe,InvalidOperationError:me,InvalidSubjectError:fe,NoRespondersError:Ce,PermissionViolationError:we,ProtocolError:be,RequestError:xe,TimeoutError:Se,UserAuthenticationExpiredError:he}}));function Ee(e,...t){for(let n=0;n<t.length;n++){let r=t[n];Object.keys(r).forEach(function(t){e[t]=r[t]})}return e}function De(e){return ue.decode(e).replace(/\\n/g,`␊`).replace(/\\r/g,`␍`)}function Oe(e,t=!0){let n=t?new Se:null,r,i,a=new Promise((t,a)=>{r={cancel:()=>{i&&clearTimeout(i)}},i=setTimeout(()=>{a(n===null?new Se:n)},e)});return Object.assign(a,r)}function ke(e=0){let t,n=new Promise(n=>{let r=setTimeout(()=>{n()},e);t={cancel:()=>{r&&(clearTimeout(r),n())}}});return Object.assign(n,t)}async function Ae(e,t=1e3){let n=je(),r=setTimeout(()=>{n.reject(new Se)},t);try{return await Promise.race([e,n])}finally{clearTimeout(r)}}function je(){let e={},t=new Promise((t,n)=>{e={resolve:t,reject:n}});return Object.assign(t,e)}function Me(e){for(let t=e.length-1;t>0;t--){let n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e}async function Ne(e){let t=[];for await(let n of e)t.push(n);return t}function Pe(e){return e===0?0:Math.floor(e/2+Math.random()*e)}function Fe(e=[0,250,250,500,500,3e3,5e3]){Array.isArray(e)||(e=[0,250,250,500,500,3e3,5e3]);let t=e.length-1;return{backoff(n){return Pe(n>t?e[t]:e[n])}}}function Ie(e){return e*1e6}function Le(e){return Math.floor(e/1e6)}function Re(){let e=Math.floor(Math.random()*Ue),t=e%62,n=He[t];e=(e-t)/62,t=e%62;let r=He[t];e=(e-t)/62,t=e%62;let i=He[t];e=(e-t)/62,t=e%62;let a=He[t];e=(e-t)/62,t=e%62;let o=He[t];e=(e-t)/62,t=e%62;let s=He[t];e=(e-t)/62,t=e%62;let c=He[t];e=(e-t)/62;let l=He[e];return String.fromCharCode(n,r,i,a,o,s,c,l)}var ze,Be,Ve,He,Ue,We=o((()=>{de(),Te(),ze=class{timers;measures;constructor(){this.timers=/* @__PURE__ */ new Map,this.measures=/* @__PURE__ */ new Map}mark(e){this.timers.set(e,performance.now())}measure(e,t,n){let r=this.timers.get(t);if(r===void 0)throw Error(`${t} is not defined`);let i=this.timers.get(n);if(i===void 0)throw Error(`${n} is not defined`);this.measures.set(e,i-r)}getEntries(){let e=[];return this.measures.forEach((t,n)=>{e.push({name:n,duration:t})}),e}},Be=class{max;current;waiting;constructor(e=1){this.max=e,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let e=je();return this.waiting.push(e),e}unlock(){this.current--,this.waiting.pop()?.resolve()}},Ve=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,He=/* @__PURE__ */ new Uint8Array(62);for(let e=0;e<62;e++)He[e]=Ve.charCodeAt(e);Ue=0xc694446f0100})),Ge=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.nuid=e.NuidImpl=void 0;let t=/* @__PURE__ */ new Uint8Array(62);for(let e=0;e<62;e++)t[e]=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`.charCodeAt(e);let n=4294967296,r=BigInt(62)**BigInt(10),i=Number(r/(1n<<32n)),a=Number(r%(1n<<32n));function o(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}function s(e){globalThis?.crypto?.getRandomValues?globalThis.crypto.getRandomValues(e):o(e)}var c=class{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=/* @__PURE__ */ new Uint8Array(22),this.cbuf=/* @__PURE__ */ new Uint8Array(12),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let e=0;do this.seqHi=Math.floor(Math.random()*(i+1)),this.seqLo=Math.floor(Math.random()*n);while(e++<8&&this.seqHi===i&&this.seqLo>=a);this.seqHi===i&&this.seqLo>=a&&(this.seqLo=0),this.inc=Math.random()*300+33|0}setPre(){s(this.cbuf);for(let e=0;e<12;e++)this.buf[e]=t[this.cbuf[e]%62]}fillSeq(){let e=this.seqHi,r=this.seqLo;for(let i=21;i>=12;i--){let a=Math.floor(e/62),o=(e-a*62)*n+r,s=Math.floor(o/62),c=o-s*62;this.buf[i]=t[c],e=a,r=s}}next(){this.inited||this.init(),this.seqLo+=this.inc,this.seqLo>=n&&(this.seqLo-=n,this.seqHi+=1),(this.seqHi>i||this.seqHi===i&&this.seqLo>=a)&&(this.setPre(),this.initSeqAndInc()),this.fillSeq();let e=this.buf;return String.fromCharCode(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21])}reset(){this.init()}};e.NuidImpl=c,e.nuid=new c})),Ke=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.nuid=e.Nuid=void 0;let t=Ge();e.Nuid=t.NuidImpl,e.nuid=t.nuid})),qe,Je=o((()=>{qe=Ke()}));function Ye(e){let t=e[Symbol.asyncIterator]();return{async next(){let e=await t.next();return e.done?Promise.resolve(null):Promise.resolve(e.value)}}}function Xe(e=``){if(e||=`_INBOX`,typeof e!=`string`)throw TypeError(`prefix must be a string`);return e.split(`.`).forEach(t=>{if(t===`*`||t===`>`)throw pe.format(`prefix`,`cannot have wildcards (\'${e}\')`)}),`${e}.${qe.nuid.next()}`}var Ze,Qe,$e,et=o((()=>{Je(),Te(),Ze={Exact:`exact`,CanonicalMIME:`canonical`,IgnoreCase:`insensitive`},Qe=4222,$e=`127.0.0.1`})),tt,nt=o((()=>{de(),tt=class{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n].length;let n=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++)n.set(e[t],r),r+=e[t].length;return n}static fromAscii(e){return e||=``,le.encode(e)}static toAscii(e){return ue.decode(e)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let e=new Uint8Array(this.byteLength),t=0;for(let n=0;n<this.buffers.length;n++)e.set(this.buffers[n],t),t+=this.buffers[n].length;this.buffers.length=0,this.buffers.push(e)}}shift(){if(this.buffers.length){let e=this.buffers.shift();if(e)return this.byteLength-=e.length,e}return/* @__PURE__ */ new Uint8Array}drain(e){if(this.buffers.length){this.pack();let t=this.buffers.pop();if(t){let n=this.byteLength;(e===void 0||e>n)&&(e=n);let r=t.subarray(0,e);return n>e&&this.buffers.push(t.subarray(e)),this.byteLength=n-e,r}}return/* @__PURE__ */ new Uint8Array}fill(e,...t){e&&(this.buffers.push(e),this.byteLength+=e.length);for(let e=0;e<t.length;e++)t[e]&&t[e].length&&(this.buffers.push(t[e]),this.byteLength+=t[e].length)}peek(){return this.buffers.length?(this.pack(),this.buffers[0]):/* @__PURE__ */ new Uint8Array}size(){return this.byteLength}length(){return this.buffers.length}}}));function rt(e){ut=e}function it(){return ut!==void 0&&ut.defaultPort!==void 0?ut.defaultPort:Qe}function at(){return ut!==void 0&&ut.urlParseFn?ut.urlParseFn:void 0}function ot(){if(!ut||typeof ut.factory!=`function`)throw Error(`transport fn is not set`);return ut.factory()}function st(){return ut!==void 0&&ut.dnsResolveFn?ut.dnsResolveFn:void 0}function ct(e){for(let t=0;t<e.length;t++){let n=t+1;if(e.byteLength>n&&e[t]===ft&&e[n]===pt)return n+1}return 0}function lt(e){let t=ct(e);if(t>0){let n=new Uint8Array(e).slice(0,t);return ue.decode(n)}return``}var ut,dt,ft,pt,mt=o((()=>{de(),et(),nt(),dt=tt.fromAscii(`\\r\n`),ft=new Uint8Array(dt)[0],pt=new Uint8Array(dt)[1]}));function ht(e,t,n,r){let i=new Uint8Array(Ct);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((e,t)=>{i[t]=e}),i[12]=e,i[13]=t,i[14]=n,i[15]=r,i}function gt(e){return _t(e)!==void 0}function _t(e){for(let t=0;t<e.length;t++)switch(e[t]){case`.`:return vt(e);case`:`:return yt(e)}}function vt(e){let t=new Uint8Array(St);for(let n=0;n<St;n++){if(e.length===0)return;if(n>0){if(e[0]!==`.`)return;e=e.substring(1)}let{n:r,c:i,ok:a}=bt(e);if(!a||r>255)return;e=e.substring(i),t[n]=r}return ht(t[0],t[1],t[2],t[3])}function yt(e){let t=new Uint8Array(Ct),n=-1;if(e.length>=2&&e[0]===`:`&&e[1]===`:`&&(n=0,e=e.substring(2),e.length===0))return t;let r=0;for(;r<Ct;){let{n:i,c:a,ok:o}=xt(e);if(!o||i>65535)return;if(a<e.length&&e[a]===`.`){if(n<0&&r!=12||r+St>Ct)return;let i=vt(e);if(i===void 0)return;t[r]=i[12],t[r+1]=i[13],t[r+2]=i[14],t[r+3]=i[15],e=``,r+=St;break}if(t[r]=i>>8,t[r+1]=i,r+=2,e=e.substring(a),e.length===0)break;if(e[0]!==`:`||e.length==1)return;if(e=e.substring(1),e[0]===`:`){if(n>=0)return;if(n=r,e=e.substring(1),e.length===0)break}}if(e.length===0){if(r<Ct){if(n<0)return;let e=Ct-r;for(let i=r-1;i>=n;i--)t[i+e]=t[i];for(let r=n+e-1;r>=n;r--)t[r]=0}else if(n>=0)return;return t}}function bt(e){let t=0,n=0;for(t=0;t<e.length&&wt<=e.charCodeAt(t)&&e.charCodeAt(t)<=Tt;t++)if(n=n*10+(e.charCodeAt(t)-wt),n>=At)return{n:At,c:t,ok:!1};return t===0?{n:0,c:0,ok:!1}:{n,c:t,ok:!0}}function xt(e){let t=0,n=0;for(n=0;n<e.length;n++){if(wt<=e.charCodeAt(n)&&e.charCodeAt(n)<=Tt)t*=16,t+=e.charCodeAt(n)-wt;else if(Ot<=e.charCodeAt(n)&&e.charCodeAt(n)<=kt)t*=16,t+=e.charCodeAt(n)-Ot+10;else if(Et<=e.charCodeAt(n)&&e.charCodeAt(n)<=Dt)t*=16,t+=e.charCodeAt(n)-Et+10;else break;if(t>=At)return{n:0,c:n,ok:!1}}return n===0?{n:0,c:n,ok:!1}:{n:t,c:n,ok:!0}}var St,Ct,wt,Tt,Et,Dt,Ot,kt,At,jt=o((()=>{St=4,Ct=16,wt=48,Tt=57,Et=65,Dt=70,Ot=97,kt=102,At=16777215}));function Mt(e){return e.indexOf(`[`)!==-1||e.indexOf(`::`)!==-1?!1:e.indexOf(`.`)!==-1||e.split(`:`).length<=2}function Nt(e){return!Mt(e)}function Pt(e){let t=e.toUpperCase().indexOf(`::FFFF:`);if(t!==-1&&e.indexOf(`.`)!==-1){let n=e.substring(t+7);return n=n.replace(`[`,``),n.replace(`]`,``)}return e}function Ft(e){e=e.trim(),e.match(/^(.*:\\/\\/)(.*)/m)&&(e=e.replace(/^(.*:\\/\\/)(.*)/gm,`$2`)),e=Pt(e),Nt(e)&&e.indexOf(`[`)===-1&&(e=`[${e}]`);let t=Nt(e)?e.match(/(]:)(\\d+)/):e.match(/(:)(\\d+)/),n=t&&t.length===3&&t[1]&&t[2]?parseInt(t[2]):Qe,r=new URL(`${n===80?`https`:`http`}://${e}`);r.port=`${n}`;let i=r.hostname;return i.charAt(0)===`[`&&(i=i.substring(1,i.length-1)),{listen:r.host,hostname:i,port:n}}var It,Lt,Rt=o((()=>{mt(),We(),jt(),et(),Te(),It=class e{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor(e,t=!1){this.src=e,this.tlsName=``;let n=Ft(e);this.listen=n.listen,this.hostname=n.hostname,this.port=n.port,this.didConnect=!1,this.reconnects=0,this.lastConnect=0,this.gossiped=t}toString(){return this.listen}async resolve(t){if(!t.fn||t.resolve===!1)return[this];let n=[];if(gt(this.hostname))return[this];{let r=await t.fn(this.hostname);t.debug&&console.log(`resolve ${this.hostname} = ${r.join(`,`)}`);for(let t of r){let r=this.port===80?`https`:`http`,i=new URL(`${r}://${Nt(t)?`[`+t+`]`:t}`);i.port=`${this.port}`;let a=new e(i.host,!1);a.tlsName=this.hostname,n.push(a)}}return t.randomize&&Me(n),this.resolves=n,n}},Lt=class e{firstSelect;servers;currentServer;tlsName;randomize;constructor(e={}){this.firstSelect=!0,this.servers=[],this.tlsName=``,this.randomize=e.randomize||!1}setServers(e){if(!Array.isArray(e)||e.length===0)throw pe.format(`servers`,`cannot be empty`);let t=at(),n=/* @__PURE__ */ new Map;for(let e of this.servers)n.set(e.listen,e);let r=[];for(let i of e){i=t?t(i):i;let{listen:e}=Ft(i),a=n.get(e);a?(a.gossiped=!1,a.src!==i&&(a.src=i),r.push(a)):r.push(new It(i))}this.randomize&&Me(r),this.servers=r,(this.currentServer===void 0||!r.includes(this.currentServer))&&(this.currentServer=r[0],this.firstSelect=!0)}clear(){this.servers.length=0}updateTLSName(){let e=this.getCurrentServer();gt(e.hostname)||(this.tlsName=e.hostname,this.servers.forEach(e=>{e.gossiped&&(e.tlsName=this.tlsName)}))}getCurrentServer(){return this.currentServer}addServer(e,t=!1){let n=at();e=n?n(e):e;let r=new It(e,t);gt(r.hostname)&&(r.tlsName=this.tlsName),this.servers.push(r)}selectServer(){if(this.firstSelect)return this.firstSelect=!1,this.currentServer;let e=this.servers.shift();return e&&(this.servers.push(e),this.currentServer=e),e}removeCurrentServer(){this.removeServer(this.currentServer)}removeServer(e){if(e){let t=this.servers.indexOf(e);this.servers.splice(t,1)}}snapshot(){return e.freezeAll(this.servers)}snapshotForHandler(){let t=this.currentServer;if(!t)return this.snapshot();let n=this.servers.indexOf(t);return n<=0?this.snapshot():e.freezeAll([t,...this.servers.slice(0,n),...this.servers.slice(n+1)])}static freezeAll(e){return e.map(e=>Object.freeze({hostname:e.hostname,port:e.port,listen:e.listen,src:e.src,tlsName:e.tlsName,reconnects:e.reconnects,lastConnect:e.lastConnect,gossiped:e.gossiped,didConnect:e.didConnect}))}find(e){return this.servers.find(t=>t.listen===e.listen)}setCurrent(e){this.currentServer=e}length(){return this.servers.length}next(){return this.servers.length?this.servers[0]:void 0}getServers(){return this.servers}update(e,t){let n=[],r=[],i=at(),a=/* @__PURE__ */ new Map;e.connect_urls&&e.connect_urls.length>0&&e.connect_urls.forEach(e=>{e=i?i(e,t):e;let n=new It(e,!0);a.set(e,n)});let o=[];if(this.servers.forEach((e,t)=>{let n=e.listen;e.gossiped&&this.currentServer.listen!==n&&a.get(n)===void 0&&o.push(t),a.delete(n)}),o.reverse(),o.forEach(e=>{let t=this.servers.splice(e,1);r=r.concat(t[0].listen)}),a.forEach((e,t)=>{this.servers.push(e),n.push(t)}),this.randomize&&n.length>0){let e=this.currentServer,t=this.servers.filter(t=>t!==e);Me(t),this.servers=e?[e,...t]:t}return{added:n,deleted:r}}}})),zt,Bt=o((()=>{We(),Te(),zt=class{inflight;processed;received;noIterator;iterClosed;done;signal;yields;filtered;pendingFiltered;ctx;_data;err;time;profile;yielding;didBreak;constructor(){this.inflight=0,this.filtered=0,this.pendingFiltered=0,this.processed=0,this.received=0,this.noIterator=!1,this.done=!1,this.signal=je(),this.yields=[],this.iterClosed=je(),this.time=0,this.yielding=!1,this.didBreak=!1,this.profile=!1}[Symbol.asyncIterator](){return this.iterate()}push(e){if(!this.done){if(this.didBreak){if(typeof e==`function`){let t=e;try{t()}catch{}}}else typeof e==`function`&&this.pendingFiltered++,this.yields.push(e),this.signal.resolve()}}async*iterate(){if(this.noIterator)throw new me(`iterator cannot be used when a callback is registered`);if(this.yielding)throw new me(`iterator is already yielding`);this.yielding=!0;try{for(;;){if(this.yields.length===0&&await this.signal,this.err)throw this.err;let e=this.yields;this.inflight=e.length,this.yields=[];for(let t=0;t<e.length;t++){if(typeof e[t]==`function`){this.pendingFiltered--;let n=e[t];try{n()}catch(e){throw e}if(this.err)throw this.err;continue}this.processed++,this.inflight--;let n=this.profile?Date.now():0;yield e[t],this.time=this.profile?Date.now()-n:0}if(this.done)break;this.yields.length===0&&(e.length=0,this.yields=e,this.signal=je())}}finally{this.didBreak=!0,this.stop()}}stop(e){this.done||(this.err=e,this.done=!0,this.signal.resolve(),this.iterClosed.resolve(e))}getProcessed(){return this.noIterator?this.received:this.processed}getPending(){return this.yields.length+this.inflight-this.pendingFiltered}getReceived(){return this.received-this.filtered}}})),Vt,Ht=o((()=>{et(),Te(),Vt=class{baseInbox;reqs;constructor(){this.reqs=/* @__PURE__ */ new Map}size(){return this.reqs.size}init(e){return this.baseInbox=`${Xe(e)}.`,this.baseInbox}add(e){isNaN(e.received)||(e.received=0),this.reqs.set(e.token,e)}get(e){return this.reqs.get(e)}cancel(e){this.reqs.delete(e.token)}getToken(e){let t=e.subject||``;return t.indexOf(this.baseInbox)===0?t.substring(this.baseInbox.length):null}all(){return Array.from(this.reqs.values())}handleError(e,t){if(e)return this.all().forEach(e=>{e.resolver(t,{})}),!0;if(t.operation===`publish`){let e=this.all().find(e=>e.requestSubject===t.subject);if(e)return e.resolver(t,{}),!0}return!1}dispatcher(){return(e,t)=>{let n=this.getToken(t);if(n){let r=this.get(n);r&&(e===null&&(e=t?.data?.length===0&&t.headers?.code===503?new Ce(r.requestSubject):null),r.resolver(e,t))}}}close(){let e=new xe(`connection closed`);this.reqs.forEach(t=>{t.resolver(e,{})})}}})),Ut,Wt,Gt=o((()=>{We(),Ut=4e3,Wt=class{ph;interval;maxOut;timeout;timer;pendings;deadline;lastInbound;pingTimers;constructor(e,t,n,r=0){this.ph=e,this.interval=t,this.maxOut=n,this.timeout=r,this.pendings=[],this.deadline=0,this.lastInbound=0,this.pingTimers=/* @__PURE__ */ new Set}start(){this.cancel(),this._arm(),this._schedule()}cancel(e){this.timer&&=(clearTimeout(this.timer),void 0),this.deadline=0,this.lastInbound=0;for(let e of this.pingTimers)clearTimeout(e);this.pingTimers.clear(),this._reset(),e&&this.ph.disconnect()}inbound(){let e=Date.now();this.deadline>0&&(e<=this.deadline||e-this.lastInbound<=this._freshMs())&&(this.lastInbound=e)}_freshFor(e=Date.now()){return this.lastInbound===0?0:Math.max(0,this.lastInbound+this._freshMs()-e)}_freshMs(){return this.timeout>0?this.timeout:this.interval}_arm(){let e=this.interval+(this.timeout>0?this.timeout:this.interval);this.deadline=Date.now()+e}pong(e){this.deadline>0&&(!this.hasExpired()||this.hasExpired(e))&&this._arm()}hasExpired(e=Date.now()){return this.deadline>0&&e>this.deadline&&this._freshFor(e)===0}_schedule(){this.timer=setTimeout(()=>{let e=this.hasExpired();if(this.pendings.length===this.maxOut&&this._freshFor()>0){this._schedule();return}if(this.ph.dispatchStatus({type:`ping`,pendingPings:this.pendings.length+1}),this.pendings.length===this.maxOut){this.cancel(!0);return}let t=je(),n,r=e=>{n=setTimeout(a,e),this.pingTimers.add(n)},i=()=>{n!==void 0&&(clearTimeout(n),this.pingTimers.delete(n),n=void 0)},a=()=>{i();let e=this._freshFor();e>0?r(e):this.cancel(!0)},o=e?Math.min(Ut,this.timeout):this.timeout;o>0&&r(o),this.ph.flush(t).then(()=>{i(),this._reset()}).catch(()=>{i(),this.cancel()}),this.pendings.push(t),this._schedule()},this.interval)}_reset(){this.pendings=this.pendings.filter(e=>(e.resolve(),!1))}}}));function Kt(e,t=`Assertion failed.`){if(!e)throw new Xt(t)}function qt(e,t,n=0){let r=t.byteLength-n;return e.byteLength>r&&(e=e.subarray(0,r)),t.set(e,n),e.byteLength}function Jt(e){let t=new $t;return t.readFrom(e),t.bytes()}function Yt(e,t){let n=0;for(;n<t.length;)n+=e.write(t.subarray(n))}var Xt,Zt,Qt,$t,en=o((()=>{de(),Xt=class extends Error{constructor(e){super(e),this.name=`AssertionError`}},Zt=32768,Qt=2**32-2,$t=class{_buf;_off;constructor(e){this._off=0,this._buf=e==null?/* @__PURE__ */ new Uint8Array:new Uint8Array(e)}bytes(e={copy:!0}){return e.copy===!1?this._buf.subarray(this._off):this._buf.slice(this._off)}empty(){return this._buf.byteLength<=this._off}get length(){return this._buf.byteLength-this._off}get capacity(){return this._buf.buffer.byteLength}truncate(e){if(e===0)this.reset();else{if(e<0||e>this.length)throw Error(`bytes.Buffer: truncation out of range`);this._reslice(this._off+e)}}reset(){this._reslice(0),this._off=0}_tryGrowByReslice(e){let t=this._buf.byteLength;return e<=this.capacity-t?(this._reslice(t+e),t):-1}_reslice(e){Kt(e<=this._buf.buffer.byteLength),this._buf=new Uint8Array(this._buf.buffer,0,e)}readByte(){let e=/* @__PURE__ */ new Uint8Array(1);return this.read(e)?e[0]:null}read(e){if(this.empty())return this.reset(),e.byteLength===0?0:null;let t=qt(this._buf.subarray(this._off),e);return this._off+=t,t}writeByte(e){return this.write(Uint8Array.of(e))}writeString(e){return this.write(le.encode(e))}write(e){let t=this._grow(e.byteLength);return qt(e,this._buf,t)}_grow(e){let t=this.length;t===0&&this._off!==0&&this.reset();let n=this._tryGrowByReslice(e);if(n>=0)return n;let r=this.capacity;if(e<=Math.floor(r/2)-t)qt(this._buf.subarray(this._off),this._buf);else if(r+e>Qt)throw Error(`The buffer cannot be grown beyond the maximum size.`);else{let t=new Uint8Array(Math.min(2*r+e,Qt));qt(this._buf.subarray(this._off),t),this._buf=t}return this._off=0,this._reslice(Math.min(t+e,Qt)),t}grow(e){if(e<0)throw Error(`Buffer._grow: negative count`);let t=this._grow(e);this._reslice(t)}readFrom(e){let t=0,n=new Uint8Array(Zt);for(;;){let r=this.capacity-this.length<Zt,i=r?n:new Uint8Array(this._buf.buffer,this.length),a=e.read(i);if(a===null)return t;r?this.write(i.subarray(0,a)):this._reslice(this.length+a),t+=a}}}}));function tn(e){let t,n=``;switch(e.kind){case rn.MSG:t=`MSG`;break;case rn.OK:t=`OK`;break;case rn.ERR:t=`ERR`,n=ue.decode(e.data);break;case rn.PING:t=`PING`;break;case rn.PONG:t=`PONG`;break;case rn.INFO:t=`INFO`,n=ue.decode(e.data)}return`${t}: ${n}`}function nn(){let e={};return e.sid=-1,e.hdr=-1,e.size=-1,e}var rn,an,on,sn,cn,G,K,ln=o((()=>{en(),de(),rn={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5},an=48,on=57,sn=67108864,cn=class{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor(e){this.dispatcher=e,this.state=G.OP_START,this.as=0,this.drop=0,this.hdr=0}parse(e){let t=0;for(;t<e.length;t++){let n=e[t];switch(this.state){case G.OP_START:switch(n){case K.M:case K.m:this.state=G.OP_M,this.hdr=-1,this.ma=nn();break;case K.H:case K.h:this.state=G.OP_H,this.hdr=0,this.ma=nn();break;case K.P:case K.p:this.state=G.OP_P;break;case K.PLUS:this.state=G.OP_PLUS;break;case K.MINUS:this.state=G.OP_MINUS;break;case K.I:case K.i:this.state=G.OP_I;break;default:throw this.fail(e.subarray(t))}break;case G.OP_H:switch(n){case K.M:case K.m:this.state=G.OP_M;break;default:throw this.fail(e.subarray(t))}break;case G.OP_M:switch(n){case K.S:case K.s:this.state=G.OP_MS;break;default:throw this.fail(e.subarray(t))}break;case G.OP_MS:switch(n){case K.G:case K.g:this.state=G.OP_MSG;break;default:throw this.fail(e.subarray(t))}break;case G.OP_MSG:switch(n){case K.SPACE:case K.TAB:this.state=G.OP_MSG_SPC;break;default:throw this.fail(e.subarray(t))}break;case G.OP_MSG_SPC:switch(n){case K.SPACE:case K.TAB:continue;default:this.state=G.MSG_ARG,this.as=t}break;case G.MSG_ARG:switch(n){case K.CR:this.drop=1;break;case K.NL:{let n=this.argBuf?this.argBuf.bytes():e.subarray(this.as,t-this.drop);this.processMsgArgs(n),this.drop=0,this.as=t+1,this.state=G.MSG_PAYLOAD,t=this.as+this.ma.size-1;break}default:this.argBuf&&this.argBuf.writeByte(n)}break;case G.MSG_PAYLOAD:if(this.msgBuf){if(this.msgBuf.length>=this.ma.size){let e=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:rn.MSG,msg:this.ma,data:e}),this.argBuf=void 0,this.msgBuf=void 0,this.state=G.MSG_END}else{let r=this.ma.size-this.msgBuf.length,i=e.length-t;i<r&&(r=i),r>0?(this.msgBuf.write(e.subarray(t,t+r)),t=t+r-1):this.msgBuf.writeByte(n)}}else t-this.as>=this.ma.size&&(this.dispatcher.push({kind:rn.MSG,msg:this.ma,data:e.subarray(this.as,t)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=G.MSG_END);break;case G.MSG_END:switch(n){case K.NL:this.drop=0,this.as=t+1,this.state=G.OP_START;break;default:continue}break;case G.OP_PLUS:switch(n){case K.O:case K.o:this.state=G.OP_PLUS_O;break;default:throw this.fail(e.subarray(t))}break;case G.OP_PLUS_O:switch(n){case K.K:case K.k:this.state=G.OP_PLUS_OK;break;default:throw this.fail(e.subarray(t))}break;case G.OP_PLUS_OK:switch(n){case K.NL:this.dispatcher.push({kind:rn.OK}),this.drop=0,this.state=G.OP_START}break;case G.OP_MINUS:switch(n){case K.E:case K.e:this.state=G.OP_MINUS_E;break;default:throw this.fail(e.subarray(t))}break;case G.OP_MINUS_E:switch(n){case K.R:case K.r:this.state=G.OP_MINUS_ER;break;default:throw this.fail(e.subarray(t))}break;case G.OP_MINUS_ER:switch(n){case K.R:case K.r:this.state=G.OP_MINUS_ERR;break;default:throw this.fail(e.subarray(t))}break;case G.OP_MINUS_ERR:switch(n){case K.SPACE:case K.TAB:this.state=G.OP_MINUS_ERR_SPC;break;default:throw this.fail(e.subarray(t))}break;case G.OP_MINUS_ERR_SPC:switch(n){case K.SPACE:case K.TAB:continue;default:this.state=G.MINUS_ERR_ARG,this.as=t}break;case G.MINUS_ERR_ARG:switch(n){case K.CR:this.drop=1;break;case K.NL:{let n;this.argBuf?(n=this.argBuf.bytes(),this.argBuf=void 0):n=e.subarray(this.as,t-this.drop),this.dispatcher.push({kind:rn.ERR,data:n}),this.drop=0,this.as=t+1,this.state=G.OP_START;break}default:this.argBuf&&this.argBuf.write(Uint8Array.of(n))}break;case G.OP_P:switch(n){case K.I:case K.i:this.state=G.OP_PI;break;case K.O:case K.o:this.state=G.OP_PO;break;default:throw this.fail(e.subarray(t))}break;case G.OP_PO:switch(n){case K.N:case K.n:this.state=G.OP_PON;break;default:throw this.fail(e.subarray(t))}break;case G.OP_PON:switch(n){case K.G:case K.g:this.state=G.OP_PONG;break;default:throw this.fail(e.subarray(t))}break;case G.OP_PONG:switch(n){case K.NL:this.dispatcher.push({kind:rn.PONG}),this.drop=0,this.state=G.OP_START}break;case G.OP_PI:switch(n){case K.N:case K.n:this.state=G.OP_PIN;break;default:throw this.fail(e.subarray(t))}break;case G.OP_PIN:switch(n){case K.G:case K.g:this.state=G.OP_PING;break;default:throw this.fail(e.subarray(t))}break;case G.OP_PING:switch(n){case K.NL:this.dispatcher.push({kind:rn.PING}),this.drop=0,this.state=G.OP_START}break;case G.OP_I:switch(n){case K.N:case K.n:this.state=G.OP_IN;break;default:throw this.fail(e.subarray(t))}break;case G.OP_IN:switch(n){case K.F:case K.f:this.state=G.OP_INF;break;default:throw this.fail(e.subarray(t))}break;case G.OP_INF:switch(n){case K.O:case K.o:this.state=G.OP_INFO;break;default:throw this.fail(e.subarray(t))}break;case G.OP_INFO:switch(n){case K.SPACE:case K.TAB:this.state=G.OP_INFO_SPC;break;default:throw this.fail(e.subarray(t))}break;case G.OP_INFO_SPC:switch(n){case K.SPACE:case K.TAB:continue;default:this.state=G.INFO_ARG,this.as=t}break;case G.INFO_ARG:switch(n){case K.CR:this.drop=1;break;case K.NL:{let n;this.argBuf?(n=this.argBuf.bytes(),this.argBuf=void 0):n=e.subarray(this.as,t-this.drop),this.dispatcher.push({kind:rn.INFO,data:n}),this.drop=0,this.as=t+1,this.state=G.OP_START;break}default:this.argBuf&&this.argBuf.writeByte(n)}break;default:throw this.fail(e.subarray(t))}}(this.state===G.MSG_ARG||this.state===G.MINUS_ERR_ARG||this.state===G.INFO_ARG)&&!this.argBuf&&(this.argBuf=new $t(e.subarray(this.as,t-this.drop))),this.state===G.MSG_PAYLOAD&&!this.msgBuf&&(this.argBuf||this.cloneMsgArg(),this.msgBuf=new $t(e.subarray(this.as)))}cloneMsgArg(){let e=this.ma.subject.length,t=this.ma.reply?this.ma.reply.length:0,n=new Uint8Array(e+t);n.set(this.ma.subject),this.ma.reply&&n.set(this.ma.reply,e),this.argBuf=new $t(n),this.ma.subject=n.subarray(0,e),this.ma.reply&&(this.ma.reply=n.subarray(e))}processMsgArgs(e){if(this.hdr>=0)return this.processHeaderMsgArgs(e);let t=[],n=-1;for(let r=0;r<e.length;r++)switch(e[r]){case K.SPACE:case K.TAB:case K.CR:case K.NL:n>=0&&(t.push(e.subarray(n,r)),n=-1);break;default:n<0&&(n=r)}switch(n>=0&&t.push(e.subarray(n)),t.length){case 3:this.ma.subject=t[0],this.ma.sid=this.protoParseInt(t[1]),this.ma.reply=void 0,this.ma.size=this.protoParseInt(t[2],sn);break;case 4:this.ma.subject=t[0],this.ma.sid=this.protoParseInt(t[1]),this.ma.reply=t[2],this.ma.size=this.protoParseInt(t[3],sn);break;default:throw this.fail(e,`processMsgArgs Parse Error`)}if(this.ma.sid<0)throw this.fail(e,`processMsgArgs Bad or Missing Sid Error`);if(this.ma.size<0)throw this.fail(e,`processMsgArgs Bad or Missing Size Error`)}fail(e,t=``){return t=t?`${t} [${this.state}]`:`parse error [${this.state}]`,/* @__PURE__ */ Error(`${t}: ${ue.decode(e)}`)}processHeaderMsgArgs(e){let t=[],n=-1;for(let r=0;r<e.length;r++)switch(e[r]){case K.SPACE:case K.TAB:case K.CR:case K.NL:n>=0&&(t.push(e.subarray(n,r)),n=-1);break;default:n<0&&(n=r)}switch(n>=0&&t.push(e.subarray(n)),t.length){case 4:this.ma.subject=t[0],this.ma.sid=this.protoParseInt(t[1]),this.ma.reply=void 0,this.ma.hdr=this.protoParseInt(t[2],sn),this.ma.size=this.protoParseInt(t[3],sn);break;case 5:this.ma.subject=t[0],this.ma.sid=this.protoParseInt(t[1]),this.ma.reply=t[2],this.ma.hdr=this.protoParseInt(t[3],sn),this.ma.size=this.protoParseInt(t[4],sn);break;default:throw this.fail(e,`processHeaderMsgArgs Parse Error`)}if(this.ma.sid<0)throw this.fail(e,`processHeaderMsgArgs Bad or Missing Sid Error`);if(this.ma.hdr<0||this.ma.hdr>this.ma.size)throw this.fail(e,`processHeaderMsgArgs Bad or Missing Header Size Error`);if(this.ma.size<0)throw this.fail(e,`processHeaderMsgArgs Bad or Missing Size Error`)}protoParseInt(e,t){if(e.length===0||e.length>15)return-1;let n=0;for(let t=0;t<e.length;t++){if(e[t]<an||e[t]>on)return-1;n=n*10+(e[t]-an)}return t!==void 0&&n>t?-1:n}},G={OP_START:0,OP_PLUS:1,OP_PLUS_O:2,OP_PLUS_OK:3,OP_MINUS:4,OP_MINUS_E:5,OP_MINUS_ER:6,OP_MINUS_ERR:7,OP_MINUS_ERR_SPC:8,MINUS_ERR_ARG:9,OP_M:10,OP_MS:11,OP_MSG:12,OP_MSG_SPC:13,MSG_ARG:14,MSG_PAYLOAD:15,MSG_END:16,OP_H:17,OP_P:18,OP_PI:19,OP_PIN:20,OP_PING:21,OP_PO:22,OP_PON:23,OP_PONG:24,OP_I:25,OP_IN:26,OP_INF:27,OP_INFO:28,OP_INFO_SPC:29,INFO_ARG:30},K={CR:13,E:69,e:101,F:70,f:102,G:71,g:103,H:72,h:104,I:73,i:105,K:75,k:107,M:77,m:109,MINUS:45,N:78,n:110,NL:10,O:79,o:111,P:80,p:112,PLUS:43,R:82,r:114,S:83,s:115,SPACE:32,TAB:9}}));function un(e){let t=!0,n=Array(e.length);for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);if(i===58||i<33||i>126)throw pe.format(`header`,`\'${e[r]}\' is not a valid character in a header name`);t&&97<=i&&i<=122?i-=32:!t&&65<=i&&i<=90&&(i+=32),n[r]=i,t=i==45}return String.fromCharCode(...n)}function dn(e=0,t=``){if(e===0&&t!==``)throw pe.format(`code`,`is required`);if(e>0&&t===``)throw pe.format(`description`,`is required`);return new pn(e,t)}var fn,pn,mn=o((()=>{de(),et(),Te(),fn=`NATS/1.0`,pn=class e{_code;headers;_description;constructor(e=0,t=``){this._code=e,this._description=t,this.headers=/* @__PURE__ */ new Map}[Symbol.iterator](){return this.headers.entries()}size(){return this.headers.size}equals(e){if(e&&this.headers.size===e.headers.size&&this._code===e._code){for(let[t,n]of this.headers){let r=e.values(t);if(n.length!==r.length)return!1;let i=[...n].sort(),a=[...r].sort();for(let e=0;e<i.length;e++)if(i[e]!==a[e])return!1}return!0}return!1}static decode(t){let n=new e,r=ue.decode(t).split(`\\r\n`),i=r[0];if(i!==fn){let e=i.replace(fn,``).trim();if(e.length>0){n._code=parseInt(e,10),isNaN(n._code)&&(n._code=0);let t=n._code.toString();e=e.replace(t,``),n._description=e.trim()}}return r.length>=1&&r.slice(1).map(e=>{if(e){let t=e.indexOf(`:`);if(t>-1){let r=e.slice(0,t),i=e.slice(t+1).trim();n.append(r,i)}}}),n}toString(){if(this.headers.size===0&&this._code===0)return``;let e=fn;this._code>0&&this._description!==``&&(e+=` ${this._code} ${this._description}`);for(let[t,n]of this.headers)for(let r=0;r<n.length;r++)e=`${e}\\r\\n${t}: ${n[r]}`;return`${e}\\r\\n\\r\\n`}encode(){return le.encode(this.toString())}static validHeaderValue(e){if(/[\\r\\n]/.test(e))throw pe.format(`header`,`values cannot contain \\\\r or \\\\n`);return e.trim()}keys(){let e=[];for(let t of this.headers.keys())e.push(t);return e}findKeys(e,t=Ze.Exact){let n=this.keys();switch(t){case Ze.Exact:return n.filter(t=>t===e);case Ze.CanonicalMIME:return e=un(e),n.filter(t=>t===e);default:{let t=e.toLowerCase();return n.filter(e=>t===e.toLowerCase())}}}get(e,t=Ze.Exact){let n=this.findKeys(e,t);if(n.length){let e=this.headers.get(n[0]);if(e)return Array.isArray(e)?e[0]:e}return``}last(e,t=Ze.Exact){let n=this.findKeys(e,t);if(n.length){let e=this.headers.get(n[0]);if(e)return Array.isArray(e)?e[e.length-1]:e}return``}has(e,t=Ze.Exact){return this.findKeys(e,t).length>0}set(e,t,n=Ze.Exact){this.delete(e,n),this.append(e,t,n)}append(t,n,r=Ze.Exact){let i=un(t);r===Ze.CanonicalMIME&&(t=i);let a=this.findKeys(t,r);t=a.length>0?a[0]:t;let o=e.validHeaderValue(n),s=this.headers.get(t);s||(s=[],this.headers.set(t,s)),s.push(o)}values(e,t=Ze.Exact){let n=[];return this.findKeys(e,t).forEach(e=>{let t=this.headers.get(e);t&&n.push(...t)}),n}delete(e,t=Ze.Exact){this.findKeys(e,t).forEach(e=>{this.headers.delete(e)})}get hasError(){return this._code>=300}get status(){return`${this._code} ${this._description}`.trim()}toRecord(){let e={};return this.keys().forEach(t=>{e[t]=this.values(t)}),e}get code(){return this._code}get description(){return this._description}static fromRecord(t){let n=new e;for(let e in t){let r=t[e];n.headers.set(e,Array.isArray(r)?r:[`${r}`])}return n}}})),hn,gn=o((()=>{mn(),de(),hn=class{_headers;_msg;_rdata;_reply;_subject;publisher;constructor(e,t,n){this._msg=e,this._rdata=t,this.publisher=n}get subject(){return this._subject||=ue.decode(this._msg.subject),this._subject}get reply(){return this._reply||=ue.decode(this._msg.reply),this._reply}get sid(){return this._msg.sid}get headers(){if(this._msg.hdr>-1&&!this._headers){let e=this._rdata.subarray(0,this._msg.hdr);this._headers=pn.decode(e)}return this._headers}get data(){return this._rdata?this._msg.hdr>-1?this._rdata.subarray(this._msg.hdr):this._rdata:/* @__PURE__ */ new Uint8Array}respond(e=ce,t){return this.reply?(this.publisher.publish(this.reply,e,t),!0):!1}size(){let e=this._msg.subject.length,t=this._msg.reply?.length||0,n=this._msg.size===-1?0:this._msg.size;return e+t+n}json(e){return JSON.parse(this.string(),e)}string(){return ue.decode(this.data)}requestInfo(){let e=this.headers?.get(`Nats-Request-Info`);return e?JSON.parse(e,function(e,t){return(e===`start`||e===`stop`)&&t!==``?new Date(Date.parse(t)):t}):null}}}));function _n(e=``){let t=e.match(/(\\d+).(\\d+).(\\d+)/);if(t)return{major:parseInt(t[1]),minor:parseInt(t[2]),micro:parseInt(t[3])};throw Error(`\'${e}\' is not a semver value`)}function vn(e,t){return e.major<t.major?-1:e.major>t.major?1:e.minor<t.minor?-1:e.minor>t.minor?1:e.micro<t.micro?-1:+(e.micro>t.micro)}var yn,bn,xn=o((()=>{yn={JS_KV:`js_kv`,JS_OBJECTSTORE:`js_objectstore`,JS_PULL_MAX_BYTES:`js_pull_max_bytes`,JS_NEW_CONSUMER_CREATE_API:`js_new_consumer_create`,JS_ALLOW_DIRECT:`js_allow_direct`,JS_MULTIPLE_CONSUMER_FILTER:`js_multiple_consumer_filter`,JS_SIMPLIFICATION:`js_simplification`,JS_STREAM_CONSUMER_METADATA:`js_stream_consumer_metadata`,JS_CONSUMER_FILTER_SUBJECTS:`js_consumer_filter_subjects`,JS_STREAM_FIRST_SEQ:`js_stream_first_seq`,JS_STREAM_SUBJECT_TRANSFORM:`js_stream_subject_transform`,JS_STREAM_SOURCE_SUBJECT_TRANSFORM:`js_stream_source_subject_transform`,JS_STREAM_COMPRESSION:`js_stream_compression`,JS_DEFAULT_CONSUMER_LIMITS:`js_default_consumer_limits`,JS_BATCH_DIRECT_GET:`js_batch_direct_get`,JS_PRIORITY_GROUPS:`js_priority_groups`,JS_CONSUMER_RESET:`js_consumer_reset`},bn=class{server;features;disabled;constructor(e){this.features=/* @__PURE__ */ new Map,this.disabled=[],this.update(e)}resetDisabled(){this.disabled.length=0,this.update(this.server)}disable(e){this.disabled.push(e),this.update(this.server)}isDisabled(e){return this.disabled.indexOf(e)!==-1}update(e){typeof e==`string`&&(e=_n(e)),this.server=e,this.set(yn.JS_KV,`2.6.2`),this.set(yn.JS_OBJECTSTORE,`2.6.3`),this.set(yn.JS_PULL_MAX_BYTES,`2.8.3`),this.set(yn.JS_NEW_CONSUMER_CREATE_API,`2.9.0`),this.set(yn.JS_ALLOW_DIRECT,`2.9.0`),this.set(yn.JS_MULTIPLE_CONSUMER_FILTER,`2.10.0`),this.set(yn.JS_SIMPLIFICATION,`2.9.4`),this.set(yn.JS_STREAM_CONSUMER_METADATA,`2.10.0`),this.set(yn.JS_CONSUMER_FILTER_SUBJECTS,`2.10.0`),this.set(yn.JS_STREAM_FIRST_SEQ,`2.10.0`),this.set(yn.JS_STREAM_SUBJECT_TRANSFORM,`2.10.0`),this.set(yn.JS_STREAM_SOURCE_SUBJECT_TRANSFORM,`2.10.0`),this.set(yn.JS_STREAM_COMPRESSION,`2.10.0`),this.set(yn.JS_DEFAULT_CONSUMER_LIMITS,`2.10.0`),this.set(yn.JS_BATCH_DIRECT_GET,`2.11.0`),this.set(yn.JS_PRIORITY_GROUPS,`2.11.0`),this.set(yn.JS_CONSUMER_RESET,`2.14.0`),this.disabled.forEach(e=>{this.features.delete(e)})}set(e,t){this.features.set(e,{min:t,ok:vn(this.server,_n(t))>=0})}get(e){return this.features.get(e)||{min:`unknown`,ok:!1}}supports(e){return this.get(e)?.ok||!1}require(e){return typeof e==`string`&&(e=_n(e)),vn(this.server,e)>=0}}})),Sn=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.crc16=void 0;let t=new Uint16Array([0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920]);e.crc16=class e{static checksum(e){let n=0;for(let r=0;r<e.byteLength;r++){let i=e[r];n=n<<8&65535^t[(n>>8^i)&255]}return n}static validate(t,n){return e.checksum(t)==n}}})),Cn=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.base32=void 0;let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`;e.base32=class{static encode(e){let n=0,r=0,i=new Uint8Array(e),a=new Uint8Array(e.byteLength*2),o=0;for(let e=0;e<i.byteLength;e++)for(r=r<<8|i[e],n+=8;n>=5;){let e=r>>>n-5&31;a[o++]=t.charAt(e).charCodeAt(0),n-=5}if(n>0){let e=r<<5-n&31;a[o++]=t.charAt(e).charCodeAt(0)}return a.slice(0,o)}static decode(e){let n=0,r=0,i=0,a=new Uint8Array(e),o=new Uint8Array(a.byteLength*5/8|0);for(let e=0;e<a.byteLength;e++){let s=String.fromCharCode(a[e]),c=t.indexOf(s);if(c===-1)throw Error(`Illegal Base32 character: `+a[e]);r=r<<5|c,n+=5,n>=8&&(o[i++]=r>>>n-8&255,n-=8)}return o.slice(0,i)}}})),wn=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Codec=void 0;let t=Sn(),n=jn(),r=Cn();e.Codec=class e{static encode(t,r){if(!r||!(r instanceof Uint8Array))throw new n.NKeysError(n.NKeysErrorCode.SerializationError);if(!n.Prefixes.isValidPrefix(t))throw new n.NKeysError(n.NKeysErrorCode.InvalidPrefixByte);return e._encode(!1,t,r)}static encodeSeed(t,r){if(!r)throw new n.NKeysError(n.NKeysErrorCode.ApiError);if(!n.Prefixes.isValidPublicPrefix(t))throw new n.NKeysError(n.NKeysErrorCode.InvalidPrefixByte);if(r.byteLength!==32)throw new n.NKeysError(n.NKeysErrorCode.InvalidSeedLen);return e._encode(!0,t,r)}static decode(t,r){if(!n.Prefixes.isValidPrefix(t))throw new n.NKeysError(n.NKeysErrorCode.InvalidPrefixByte);let i=e._decode(r);if(i[0]!==t)throw new n.NKeysError(n.NKeysErrorCode.InvalidPrefixByte);return i.slice(1)}static decodeSeed(t){let r=e._decode(t),i=e._decodePrefix(r);if(i[0]!=n.Prefix.Seed)throw new n.NKeysError(n.NKeysErrorCode.InvalidSeed);if(!n.Prefixes.isValidPublicPrefix(i[1]))throw new n.NKeysError(n.NKeysErrorCode.InvalidPrefixByte);return{buf:r.slice(2),prefix:i[1]}}static _encode(i,a,o){let s=i?2:1,c=o.byteLength,l=s+c+2,u=s+c,d=new Uint8Array(l);if(i){let t=e._encodePrefix(n.Prefix.Seed,a);d.set(t)}else d[0]=a;d.set(o,s);let f=t.crc16.checksum(d.slice(0,u));return new DataView(d.buffer).setUint16(u,f,!0),r.base32.encode(d)}static _decode(e){if(e.byteLength<4)throw new n.NKeysError(n.NKeysErrorCode.InvalidEncoding);let i;try{i=r.base32.decode(e)}catch(e){throw new n.NKeysError(n.NKeysErrorCode.InvalidEncoding,{cause:e})}let a=i.byteLength-2,o=new DataView(i.buffer).getUint16(a,!0),s=i.slice(0,a);if(!t.crc16.validate(s,o))throw new n.NKeysError(n.NKeysErrorCode.InvalidChecksum);return s}static _encodePrefix(e,t){let n=e|t>>5,r=(t&31)<<3;return new Uint8Array([n,r])}static _decodePrefix(e){let t=e[0]&248,n=(e[0]&7)<<5|(e[1]&248)>>3;return new Uint8Array([t,n])}}})),Tn=/* @__PURE__ */ s(((e,t)=>{t.exports={}})),En=/* @__PURE__ */ s(((e,t)=>{(function(e){"use strict";var t=function(e){var t,n=/* @__PURE__ */ new Float64Array(16);if(e)for(t=0;t<e.length;t++)n[t]=e[t];return n},n=function(){throw Error(`no PRNG`)},r=/* @__PURE__ */ new Uint8Array(16),i=/* @__PURE__ */ new Uint8Array(32);i[0]=9;var a=t(),o=t([1]),s=t([56129,1]),c=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),l=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),u=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),d=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),f=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function p(e,t,n,r){e[t]=n>>24&255,e[t+1]=n>>16&255,e[t+2]=n>>8&255,e[t+3]=n&255,e[t+4]=r>>24&255,e[t+5]=r>>16&255,e[t+6]=r>>8&255,e[t+7]=r&255}function m(e,t,n,r,i){var a,o=0;for(a=0;a<i;a++)o|=e[t+a]^n[r+a];return(1&o-1>>>8)-1}function h(e,t,n,r){return m(e,t,n,r,16)}function g(e,t,n,r){return m(e,t,n,r,32)}function _(e,t,n,r){for(var i=r[0]&255|(r[1]&255)<<8|(r[2]&255)<<16|(r[3]&255)<<24,a=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,o=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,s=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,c=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,l=r[4]&255|(r[5]&255)<<8|(r[6]&255)<<16|(r[7]&255)<<24,u=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,d=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,f=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,p=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,m=r[8]&255|(r[9]&255)<<8|(r[10]&255)<<16|(r[11]&255)<<24,h=n[16]&255|(n[17]&255)<<8|(n[18]&255)<<16|(n[19]&255)<<24,g=n[20]&255|(n[21]&255)<<8|(n[22]&255)<<16|(n[23]&255)<<24,_=n[24]&255|(n[25]&255)<<8|(n[26]&255)<<16|(n[27]&255)<<24,v=n[28]&255|(n[29]&255)<<8|(n[30]&255)<<16|(n[31]&255)<<24,y=r[12]&255|(r[13]&255)<<8|(r[14]&255)<<16|(r[15]&255)<<24,b=i,x=a,S=o,C=s,w=c,T=l,E=u,D=d,O=f,k=p,A=m,j=h,M=g,N=_,P=v,F=y,I,L=0;L<20;L+=2)I=b+M|0,w^=I<<7|I>>>25,I=w+b|0,O^=I<<9|I>>>23,I=O+w|0,M^=I<<13|I>>>19,I=M+O|0,b^=I<<18|I>>>14,I=T+x|0,k^=I<<7|I>>>25,I=k+T|0,N^=I<<9|I>>>23,I=N+k|0,x^=I<<13|I>>>19,I=x+N|0,T^=I<<18|I>>>14,I=A+E|0,P^=I<<7|I>>>25,I=P+A|0,S^=I<<9|I>>>23,I=S+P|0,E^=I<<13|I>>>19,I=E+S|0,A^=I<<18|I>>>14,I=F+j|0,C^=I<<7|I>>>25,I=C+F|0,D^=I<<9|I>>>23,I=D+C|0,j^=I<<13|I>>>19,I=j+D|0,F^=I<<18|I>>>14,I=b+C|0,x^=I<<7|I>>>25,I=x+b|0,S^=I<<9|I>>>23,I=S+x|0,C^=I<<13|I>>>19,I=C+S|0,b^=I<<18|I>>>14,I=T+w|0,E^=I<<7|I>>>25,I=E+T|0,D^=I<<9|I>>>23,I=D+E|0,w^=I<<13|I>>>19,I=w+D|0,T^=I<<18|I>>>14,I=A+k|0,j^=I<<7|I>>>25,I=j+A|0,O^=I<<9|I>>>23,I=O+j|0,k^=I<<13|I>>>19,I=k+O|0,A^=I<<18|I>>>14,I=F+P|0,M^=I<<7|I>>>25,I=M+F|0,N^=I<<9|I>>>23,I=N+M|0,P^=I<<13|I>>>19,I=P+N|0,F^=I<<18|I>>>14;b=b+i|0,x=x+a|0,S=S+o|0,C=C+s|0,w=w+c|0,T=T+l|0,E=E+u|0,D=D+d|0,O=O+f|0,k=k+p|0,A=A+m|0,j=j+h|0,M=M+g|0,N=N+_|0,P=P+v|0,F=F+y|0,e[0]=b>>>0&255,e[1]=b>>>8&255,e[2]=b>>>16&255,e[3]=b>>>24&255,e[4]=x>>>0&255,e[5]=x>>>8&255,e[6]=x>>>16&255,e[7]=x>>>24&255,e[8]=S>>>0&255,e[9]=S>>>8&255,e[10]=S>>>16&255,e[11]=S>>>24&255,e[12]=C>>>0&255,e[13]=C>>>8&255,e[14]=C>>>16&255,e[15]=C>>>24&255,e[16]=w>>>0&255,e[17]=w>>>8&255,e[18]=w>>>16&255,e[19]=w>>>24&255,e[20]=T>>>0&255,e[21]=T>>>8&255,e[22]=T>>>16&255,e[23]=T>>>24&255,e[24]=E>>>0&255,e[25]=E>>>8&255,e[26]=E>>>16&255,e[27]=E>>>24&255,e[28]=D>>>0&255,e[29]=D>>>8&255,e[30]=D>>>16&255,e[31]=D>>>24&255,e[32]=O>>>0&255,e[33]=O>>>8&255,e[34]=O>>>16&255,e[35]=O>>>24&255,e[36]=k>>>0&255,e[37]=k>>>8&255,e[38]=k>>>16&255,e[39]=k>>>24&255,e[40]=A>>>0&255,e[41]=A>>>8&255,e[42]=A>>>16&255,e[43]=A>>>24&255,e[44]=j>>>0&255,e[45]=j>>>8&255,e[46]=j>>>16&255,e[47]=j>>>24&255,e[48]=M>>>0&255,e[49]=M>>>8&255,e[50]=M>>>16&255,e[51]=M>>>24&255,e[52]=N>>>0&255,e[53]=N>>>8&255,e[54]=N>>>16&255,e[55]=N>>>24&255,e[56]=P>>>0&255,e[57]=P>>>8&255,e[58]=P>>>16&255,e[59]=P>>>24&255,e[60]=F>>>0&255,e[61]=F>>>8&255,e[62]=F>>>16&255,e[63]=F>>>24&255}function v(e,t,n,r){for(var i=r[0]&255|(r[1]&255)<<8|(r[2]&255)<<16|(r[3]&255)<<24,a=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,o=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,s=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,c=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,l=r[4]&255|(r[5]&255)<<8|(r[6]&255)<<16|(r[7]&255)<<24,u=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,d=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,f=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,p=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,m=r[8]&255|(r[9]&255)<<8|(r[10]&255)<<16|(r[11]&255)<<24,h=n[16]&255|(n[17]&255)<<8|(n[18]&255)<<16|(n[19]&255)<<24,g=n[20]&255|(n[21]&255)<<8|(n[22]&255)<<16|(n[23]&255)<<24,_=n[24]&255|(n[25]&255)<<8|(n[26]&255)<<16|(n[27]&255)<<24,v=n[28]&255|(n[29]&255)<<8|(n[30]&255)<<16|(n[31]&255)<<24,y=r[12]&255|(r[13]&255)<<8|(r[14]&255)<<16|(r[15]&255)<<24,b=i,x=a,S=o,C=s,w=c,T=l,E=u,D=d,O=f,k=p,A=m,j=h,M=g,N=_,P=v,F=y,I,L=0;L<20;L+=2)I=b+M|0,w^=I<<7|I>>>25,I=w+b|0,O^=I<<9|I>>>23,I=O+w|0,M^=I<<13|I>>>19,I=M+O|0,b^=I<<18|I>>>14,I=T+x|0,k^=I<<7|I>>>25,I=k+T|0,N^=I<<9|I>>>23,I=N+k|0,x^=I<<13|I>>>19,I=x+N|0,T^=I<<18|I>>>14,I=A+E|0,P^=I<<7|I>>>25,I=P+A|0,S^=I<<9|I>>>23,I=S+P|0,E^=I<<13|I>>>19,I=E+S|0,A^=I<<18|I>>>14,I=F+j|0,C^=I<<7|I>>>25,I=C+F|0,D^=I<<9|I>>>23,I=D+C|0,j^=I<<13|I>>>19,I=j+D|0,F^=I<<18|I>>>14,I=b+C|0,x^=I<<7|I>>>25,I=x+b|0,S^=I<<9|I>>>23,I=S+x|0,C^=I<<13|I>>>19,I=C+S|0,b^=I<<18|I>>>14,I=T+w|0,E^=I<<7|I>>>25,I=E+T|0,D^=I<<9|I>>>23,I=D+E|0,w^=I<<13|I>>>19,I=w+D|0,T^=I<<18|I>>>14,I=A+k|0,j^=I<<7|I>>>25,I=j+A|0,O^=I<<9|I>>>23,I=O+j|0,k^=I<<13|I>>>19,I=k+O|0,A^=I<<18|I>>>14,I=F+P|0,M^=I<<7|I>>>25,I=M+F|0,N^=I<<9|I>>>23,I=N+M|0,P^=I<<13|I>>>19,I=P+N|0,F^=I<<18|I>>>14;e[0]=b>>>0&255,e[1]=b>>>8&255,e[2]=b>>>16&255,e[3]=b>>>24&255,e[4]=T>>>0&255,e[5]=T>>>8&255,e[6]=T>>>16&255,e[7]=T>>>24&255,e[8]=A>>>0&255,e[9]=A>>>8&255,e[10]=A>>>16&255,e[11]=A>>>24&255,e[12]=F>>>0&255,e[13]=F>>>8&255,e[14]=F>>>16&255,e[15]=F>>>24&255,e[16]=E>>>0&255,e[17]=E>>>8&255,e[18]=E>>>16&255,e[19]=E>>>24&255,e[20]=D>>>0&255,e[21]=D>>>8&255,e[22]=D>>>16&255,e[23]=D>>>24&255,e[24]=O>>>0&255,e[25]=O>>>8&255,e[26]=O>>>16&255,e[27]=O>>>24&255,e[28]=k>>>0&255,e[29]=k>>>8&255,e[30]=k>>>16&255,e[31]=k>>>24&255}function y(e,t,n,r){_(e,t,n,r)}function b(e,t,n,r){v(e,t,n,r)}var x=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function S(e,t,n,r,i,a,o){for(var s=/* @__PURE__ */ new Uint8Array(16),c=/* @__PURE__ */ new Uint8Array(64),l,u=0;u<16;u++)s[u]=0;for(u=0;u<8;u++)s[u]=a[u];for(;i>=64;){for(y(c,s,o,x),u=0;u<64;u++)e[t+u]=n[r+u]^c[u];for(l=1,u=8;u<16;u++)l=l+(s[u]&255)|0,s[u]=l&255,l>>>=8;i-=64,t+=64,r+=64}if(i>0)for(y(c,s,o,x),u=0;u<i;u++)e[t+u]=n[r+u]^c[u];return 0}function C(e,t,n,r,i){for(var a=/* @__PURE__ */ new Uint8Array(16),o=/* @__PURE__ */ new Uint8Array(64),s,c=0;c<16;c++)a[c]=0;for(c=0;c<8;c++)a[c]=r[c];for(;n>=64;){for(y(o,a,i,x),c=0;c<64;c++)e[t+c]=o[c];for(s=1,c=8;c<16;c++)s=s+(a[c]&255)|0,a[c]=s&255,s>>>=8;n-=64,t+=64}if(n>0)for(y(o,a,i,x),c=0;c<n;c++)e[t+c]=o[c];return 0}function w(e,t,n,r,i){var a=/* @__PURE__ */ new Uint8Array(32);b(a,r,i,x);for(var o=/* @__PURE__ */ new Uint8Array(8),s=0;s<8;s++)o[s]=r[s+16];return C(e,t,n,o,a)}function T(e,t,n,r,i,a,o){var s=/* @__PURE__ */ new Uint8Array(32);b(s,a,o,x);for(var c=/* @__PURE__ */ new Uint8Array(8),l=0;l<8;l++)c[l]=a[l+16];return S(e,t,n,r,i,c,s)}var E=function(e){this.buffer=/* @__PURE__ */ new Uint8Array(16),this.r=/* @__PURE__ */ new Uint16Array(10),this.h=/* @__PURE__ */ new Uint16Array(10),this.pad=/* @__PURE__ */ new Uint16Array(8),this.leftover=0,this.fin=0;var t=e[0]&255|(e[1]&255)<<8,n,r,i,a,o,s,c;this.r[0]=t&8191,n=e[2]&255|(e[3]&255)<<8,this.r[1]=(t>>>13|n<<3)&8191,r=e[4]&255|(e[5]&255)<<8,this.r[2]=(n>>>10|r<<6)&7939,i=e[6]&255|(e[7]&255)<<8,this.r[3]=(r>>>7|i<<9)&8191,a=e[8]&255|(e[9]&255)<<8,this.r[4]=(i>>>4|a<<12)&255,this.r[5]=a>>>1&8190,o=e[10]&255|(e[11]&255)<<8,this.r[6]=(a>>>14|o<<2)&8191,s=e[12]&255|(e[13]&255)<<8,this.r[7]=(o>>>11|s<<5)&8065,c=e[14]&255|(e[15]&255)<<8,this.r[8]=(s>>>8|c<<8)&8191,this.r[9]=c>>>5&127,this.pad[0]=e[16]&255|(e[17]&255)<<8,this.pad[1]=e[18]&255|(e[19]&255)<<8,this.pad[2]=e[20]&255|(e[21]&255)<<8,this.pad[3]=e[22]&255|(e[23]&255)<<8,this.pad[4]=e[24]&255|(e[25]&255)<<8,this.pad[5]=e[26]&255|(e[27]&255)<<8,this.pad[6]=e[28]&255|(e[29]&255)<<8,this.pad[7]=e[30]&255|(e[31]&255)<<8};E.prototype.blocks=function(e,t,n){for(var r=this.fin?0:2048,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C=this.h[0],w=this.h[1],T=this.h[2],E=this.h[3],D=this.h[4],O=this.h[5],k=this.h[6],A=this.h[7],j=this.h[8],M=this.h[9],N=this.r[0],P=this.r[1],F=this.r[2],I=this.r[3],L=this.r[4],R=this.r[5],z=this.r[6],B=this.r[7],V=this.r[8],H=this.r[9];n>=16;)i=e[t+0]&255|(e[t+1]&255)<<8,C+=i&8191,a=e[t+2]&255|(e[t+3]&255)<<8,w+=(i>>>13|a<<3)&8191,o=e[t+4]&255|(e[t+5]&255)<<8,T+=(a>>>10|o<<6)&8191,s=e[t+6]&255|(e[t+7]&255)<<8,E+=(o>>>7|s<<9)&8191,c=e[t+8]&255|(e[t+9]&255)<<8,D+=(s>>>4|c<<12)&8191,O+=c>>>1&8191,l=e[t+10]&255|(e[t+11]&255)<<8,k+=(c>>>14|l<<2)&8191,u=e[t+12]&255|(e[t+13]&255)<<8,A+=(l>>>11|u<<5)&8191,d=e[t+14]&255|(e[t+15]&255)<<8,j+=(u>>>8|d<<8)&8191,M+=d>>>5|r,f=0,p=f,p+=C*N,p+=5*H*w,p+=5*V*T,p+=5*B*E,p+=5*z*D,f=p>>>13,p&=8191,p+=5*R*O,p+=5*L*k,p+=5*I*A,p+=5*F*j,p+=5*P*M,f+=p>>>13,p&=8191,m=f,m+=C*P,m+=w*N,m+=5*H*T,m+=5*V*E,m+=5*B*D,f=m>>>13,m&=8191,m+=5*z*O,m+=5*R*k,m+=5*L*A,m+=5*I*j,m+=5*F*M,f+=m>>>13,m&=8191,h=f,h+=C*F,h+=w*P,h+=T*N,h+=5*H*E,h+=5*V*D,f=h>>>13,h&=8191,h+=5*B*O,h+=5*z*k,h+=5*R*A,h+=5*L*j,h+=5*I*M,f+=h>>>13,h&=8191,g=f,g+=C*I,g+=w*F,g+=T*P,g+=E*N,g+=5*H*D,f=g>>>13,g&=8191,g+=5*V*O,g+=5*B*k,g+=5*z*A,g+=5*R*j,g+=5*L*M,f+=g>>>13,g&=8191,_=f,_+=C*L,_+=w*I,_+=T*F,_+=E*P,_+=D*N,f=_>>>13,_&=8191,_+=5*H*O,_+=5*V*k,_+=5*B*A,_+=5*z*j,_+=5*R*M,f+=_>>>13,_&=8191,v=f,v+=C*R,v+=w*L,v+=T*I,v+=E*F,v+=D*P,f=v>>>13,v&=8191,v+=O*N,v+=5*H*k,v+=5*V*A,v+=5*B*j,v+=5*z*M,f+=v>>>13,v&=8191,y=f,y+=C*z,y+=w*R,y+=T*L,y+=E*I,y+=D*F,f=y>>>13,y&=8191,y+=O*P,y+=k*N,y+=5*H*A,y+=5*V*j,y+=5*B*M,f+=y>>>13,y&=8191,b=f,b+=C*B,b+=w*z,b+=T*R,b+=E*L,b+=D*I,f=b>>>13,b&=8191,b+=O*F,b+=k*P,b+=A*N,b+=5*H*j,b+=5*V*M,f+=b>>>13,b&=8191,x=f,x+=C*V,x+=w*B,x+=T*z,x+=E*R,x+=D*L,f=x>>>13,x&=8191,x+=O*I,x+=k*F,x+=A*P,x+=j*N,x+=5*H*M,f+=x>>>13,x&=8191,S=f,S+=C*H,S+=w*V,S+=T*B,S+=E*z,S+=D*R,f=S>>>13,S&=8191,S+=O*L,S+=k*I,S+=A*F,S+=j*P,S+=M*N,f+=S>>>13,S&=8191,f=(f<<2)+f|0,f=f+p|0,p=f&8191,f>>>=13,m+=f,C=p,w=m,T=h,E=g,D=_,O=v,k=y,A=b,j=x,M=S,t+=16,n-=16;this.h[0]=C,this.h[1]=w,this.h[2]=T,this.h[3]=E,this.h[4]=D,this.h[5]=O,this.h[6]=k,this.h[7]=A,this.h[8]=j,this.h[9]=M},E.prototype.finish=function(e,t){var n=/* @__PURE__ */ new Uint16Array(10),r,i,a,o;if(this.leftover){for(o=this.leftover,this.buffer[o++]=1;o<16;o++)this.buffer[o]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(r=this.h[1]>>>13,this.h[1]&=8191,o=2;o<10;o++)this.h[o]+=r,r=this.h[o]>>>13,this.h[o]&=8191;for(this.h[0]+=r*5,r=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=r,r=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=r,n[0]=this.h[0]+5,r=n[0]>>>13,n[0]&=8191,o=1;o<10;o++)n[o]=this.h[o]+r,r=n[o]>>>13,n[o]&=8191;for(n[9]-=8192,i=(r^1)-1,o=0;o<10;o++)n[o]&=i;for(i=~i,o=0;o<10;o++)this.h[o]=this.h[o]&i|n[o];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,a=this.h[0]+this.pad[0],this.h[0]=a&65535,o=1;o<8;o++)a=(this.h[o]+this.pad[o]|0)+(a>>>16)|0,this.h[o]=a&65535;e[t+0]=this.h[0]>>>0&255,e[t+1]=this.h[0]>>>8&255,e[t+2]=this.h[1]>>>0&255,e[t+3]=this.h[1]>>>8&255,e[t+4]=this.h[2]>>>0&255,e[t+5]=this.h[2]>>>8&255,e[t+6]=this.h[3]>>>0&255,e[t+7]=this.h[3]>>>8&255,e[t+8]=this.h[4]>>>0&255,e[t+9]=this.h[4]>>>8&255,e[t+10]=this.h[5]>>>0&255,e[t+11]=this.h[5]>>>8&255,e[t+12]=this.h[6]>>>0&255,e[t+13]=this.h[6]>>>8&255,e[t+14]=this.h[7]>>>0&255,e[t+15]=this.h[7]>>>8&255},E.prototype.update=function(e,t,n){var r,i;if(this.leftover){for(i=16-this.leftover,i>n&&(i=n),r=0;r<i;r++)this.buffer[this.leftover+r]=e[t+r];if(n-=i,t+=i,this.leftover+=i,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(n>=16&&(i=n-n%16,this.blocks(e,t,i),t+=i,n-=i),n){for(r=0;r<n;r++)this.buffer[this.leftover+r]=e[t+r];this.leftover+=n}};function D(e,t,n,r,i,a){var o=new E(a);return o.update(n,r,i),o.finish(e,t),0}function O(e,t,n,r,i,a){var o=/* @__PURE__ */ new Uint8Array(16);return D(o,0,n,r,i,a),h(e,t,o,0)}function k(e,t,n,r,i){var a;if(n<32)return-1;for(T(e,0,t,0,n,r,i),D(e,16,e,32,n-32,e),a=0;a<16;a++)e[a]=0;return 0}function A(e,t,n,r,i){var a,o=/* @__PURE__ */ new Uint8Array(32);if(n<32||(w(o,0,32,r,i),O(t,16,t,32,n-32,o)!==0))return-1;for(T(e,0,t,0,n,r,i),a=0;a<32;a++)e[a]=0;return 0}function j(e,t){for(var n=0;n<16;n++)e[n]=t[n]|0}function M(e){var t,n,r=1;for(t=0;t<16;t++)n=e[t]+r+65535,r=Math.floor(n/65536),e[t]=n-r*65536;e[0]+=r-1+37*(r-1)}function N(e,t,n){for(var r,i=~(n-1),a=0;a<16;a++)r=i&(e[a]^t[a]),e[a]^=r,t[a]^=r}function P(e,n){var r,i,a,o=t(),s=t();for(r=0;r<16;r++)s[r]=n[r];for(M(s),M(s),M(s),i=0;i<2;i++){for(o[0]=s[0]-65517,r=1;r<15;r++)o[r]=s[r]-65535-(o[r-1]>>16&1),o[r-1]&=65535;o[15]=s[15]-32767-(o[14]>>16&1),a=o[15]>>16&1,o[14]&=65535,N(s,o,1-a)}for(r=0;r<16;r++)e[2*r]=s[r]&255,e[2*r+1]=s[r]>>8}function F(e,t){var n=/* @__PURE__ */ new Uint8Array(32),r=/* @__PURE__ */ new Uint8Array(32);return P(n,e),P(r,t),g(n,0,r,0)}function I(e){var t=/* @__PURE__ */ new Uint8Array(32);return P(t,e),t[0]&1}function L(e,t){for(var n=0;n<16;n++)e[n]=t[2*n]+(t[2*n+1]<<8);e[15]&=32767}function R(e,t,n){for(var r=0;r<16;r++)e[r]=t[r]+n[r]}function z(e,t,n){for(var r=0;r<16;r++)e[r]=t[r]-n[r]}function B(e,t,n){var r,i,a=0,o=0,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,M=0,N=0,P=0,F=0,I=n[0],L=n[1],R=n[2],z=n[3],B=n[4],V=n[5],H=n[6],ee=n[7],te=n[8],U=n[9],ne=n[10],re=n[11],ie=n[12],ae=n[13],oe=n[14],se=n[15];r=t[0],a+=r*I,o+=r*L,s+=r*R,c+=r*z,l+=r*B,u+=r*V,d+=r*H,f+=r*ee,p+=r*te,m+=r*U,h+=r*ne,g+=r*re,_+=r*ie,v+=r*ae,y+=r*oe,b+=r*se,r=t[1],o+=r*I,s+=r*L,c+=r*R,l+=r*z,u+=r*B,d+=r*V,f+=r*H,p+=r*ee,m+=r*te,h+=r*U,g+=r*ne,_+=r*re,v+=r*ie,y+=r*ae,b+=r*oe,x+=r*se,r=t[2],s+=r*I,c+=r*L,l+=r*R,u+=r*z,d+=r*B,f+=r*V,p+=r*H,m+=r*ee,h+=r*te,g+=r*U,_+=r*ne,v+=r*re,y+=r*ie,b+=r*ae,x+=r*oe,S+=r*se,r=t[3],c+=r*I,l+=r*L,u+=r*R,d+=r*z,f+=r*B,p+=r*V,m+=r*H,h+=r*ee,g+=r*te,_+=r*U,v+=r*ne,y+=r*re,b+=r*ie,x+=r*ae,S+=r*oe,C+=r*se,r=t[4],l+=r*I,u+=r*L,d+=r*R,f+=r*z,p+=r*B,m+=r*V,h+=r*H,g+=r*ee,_+=r*te,v+=r*U,y+=r*ne,b+=r*re,x+=r*ie,S+=r*ae,C+=r*oe,w+=r*se,r=t[5],u+=r*I,d+=r*L,f+=r*R,p+=r*z,m+=r*B,h+=r*V,g+=r*H,_+=r*ee,v+=r*te,y+=r*U,b+=r*ne,x+=r*re,S+=r*ie,C+=r*ae,w+=r*oe,T+=r*se,r=t[6],d+=r*I,f+=r*L,p+=r*R,m+=r*z,h+=r*B,g+=r*V,_+=r*H,v+=r*ee,y+=r*te,b+=r*U,x+=r*ne,S+=r*re,C+=r*ie,w+=r*ae,T+=r*oe,E+=r*se,r=t[7],f+=r*I,p+=r*L,m+=r*R,h+=r*z,g+=r*B,_+=r*V,v+=r*H,y+=r*ee,b+=r*te,x+=r*U,S+=r*ne,C+=r*re,w+=r*ie,T+=r*ae,E+=r*oe,D+=r*se,r=t[8],p+=r*I,m+=r*L,h+=r*R,g+=r*z,_+=r*B,v+=r*V,y+=r*H,b+=r*ee,x+=r*te,S+=r*U,C+=r*ne,w+=r*re,T+=r*ie,E+=r*ae,D+=r*oe,O+=r*se,r=t[9],m+=r*I,h+=r*L,g+=r*R,_+=r*z,v+=r*B,y+=r*V,b+=r*H,x+=r*ee,S+=r*te,C+=r*U,w+=r*ne,T+=r*re,E+=r*ie,D+=r*ae,O+=r*oe,k+=r*se,r=t[10],h+=r*I,g+=r*L,_+=r*R,v+=r*z,y+=r*B,b+=r*V,x+=r*H,S+=r*ee,C+=r*te,w+=r*U,T+=r*ne,E+=r*re,D+=r*ie,O+=r*ae,k+=r*oe,A+=r*se,r=t[11],g+=r*I,_+=r*L,v+=r*R,y+=r*z,b+=r*B,x+=r*V,S+=r*H,C+=r*ee,w+=r*te,T+=r*U,E+=r*ne,D+=r*re,O+=r*ie,k+=r*ae,A+=r*oe,j+=r*se,r=t[12],_+=r*I,v+=r*L,y+=r*R,b+=r*z,x+=r*B,S+=r*V,C+=r*H,w+=r*ee,T+=r*te,E+=r*U,D+=r*ne,O+=r*re,k+=r*ie,A+=r*ae,j+=r*oe,M+=r*se,r=t[13],v+=r*I,y+=r*L,b+=r*R,x+=r*z,S+=r*B,C+=r*V,w+=r*H,T+=r*ee,E+=r*te,D+=r*U,O+=r*ne,k+=r*re,A+=r*ie,j+=r*ae,M+=r*oe,N+=r*se,r=t[14],y+=r*I,b+=r*L,x+=r*R,S+=r*z,C+=r*B,w+=r*V,T+=r*H,E+=r*ee,D+=r*te,O+=r*U,k+=r*ne,A+=r*re,j+=r*ie,M+=r*ae,N+=r*oe,P+=r*se,r=t[15],b+=r*I,x+=r*L,S+=r*R,C+=r*z,w+=r*B,T+=r*V,E+=r*H,D+=r*ee,O+=r*te,k+=r*U,A+=r*ne,j+=r*re,M+=r*ie,N+=r*ae,P+=r*oe,F+=r*se,a+=38*x,o+=38*S,s+=38*C,c+=38*w,l+=38*T,u+=38*E,d+=38*D,f+=38*O,p+=38*k,m+=38*A,h+=38*j,g+=38*M,_+=38*N,v+=38*P,y+=38*F,i=1,r=a+i+65535,i=Math.floor(r/65536),a=r-i*65536,r=o+i+65535,i=Math.floor(r/65536),o=r-i*65536,r=s+i+65535,i=Math.floor(r/65536),s=r-i*65536,r=c+i+65535,i=Math.floor(r/65536),c=r-i*65536,r=l+i+65535,i=Math.floor(r/65536),l=r-i*65536,r=u+i+65535,i=Math.floor(r/65536),u=r-i*65536,r=d+i+65535,i=Math.floor(r/65536),d=r-i*65536,r=f+i+65535,i=Math.floor(r/65536),f=r-i*65536,r=p+i+65535,i=Math.floor(r/65536),p=r-i*65536,r=m+i+65535,i=Math.floor(r/65536),m=r-i*65536,r=h+i+65535,i=Math.floor(r/65536),h=r-i*65536,r=g+i+65535,i=Math.floor(r/65536),g=r-i*65536,r=_+i+65535,i=Math.floor(r/65536),_=r-i*65536,r=v+i+65535,i=Math.floor(r/65536),v=r-i*65536,r=y+i+65535,i=Math.floor(r/65536),y=r-i*65536,r=b+i+65535,i=Math.floor(r/65536),b=r-i*65536,a+=i-1+37*(i-1),i=1,r=a+i+65535,i=Math.floor(r/65536),a=r-i*65536,r=o+i+65535,i=Math.floor(r/65536),o=r-i*65536,r=s+i+65535,i=Math.floor(r/65536),s=r-i*65536,r=c+i+65535,i=Math.floor(r/65536),c=r-i*65536,r=l+i+65535,i=Math.floor(r/65536),l=r-i*65536,r=u+i+65535,i=Math.floor(r/65536),u=r-i*65536,r=d+i+65535,i=Math.floor(r/65536),d=r-i*65536,r=f+i+65535,i=Math.floor(r/65536),f=r-i*65536,r=p+i+65535,i=Math.floor(r/65536),p=r-i*65536,r=m+i+65535,i=Math.floor(r/65536),m=r-i*65536,r=h+i+65535,i=Math.floor(r/65536),h=r-i*65536,r=g+i+65535,i=Math.floor(r/65536),g=r-i*65536,r=_+i+65535,i=Math.floor(r/65536),_=r-i*65536,r=v+i+65535,i=Math.floor(r/65536),v=r-i*65536,r=y+i+65535,i=Math.floor(r/65536),y=r-i*65536,r=b+i+65535,i=Math.floor(r/65536),b=r-i*65536,a+=i-1+37*(i-1),e[0]=a,e[1]=o,e[2]=s,e[3]=c,e[4]=l,e[5]=u,e[6]=d,e[7]=f,e[8]=p,e[9]=m,e[10]=h,e[11]=g,e[12]=_,e[13]=v,e[14]=y,e[15]=b}function V(e,t){B(e,t,t)}function H(e,n){for(var r=t(),i=0;i<16;i++)r[i]=n[i];for(i=253;i>=0;i--)V(r,r),i!==2&&i!==4&&B(r,r,n);for(i=0;i<16;i++)e[i]=r[i]}function ee(e,n){for(var r=t(),i=0;i<16;i++)r[i]=n[i];for(i=250;i>=0;i--)V(r,r),i!==1&&B(r,r,n);for(i=0;i<16;i++)e[i]=r[i]}function te(e,n,r){var i=/* @__PURE__ */ new Uint8Array(32),a=/* @__PURE__ */ new Float64Array(80),o,c,l=t(),u=t(),d=t(),f=t(),p=t(),m=t();for(c=0;c<31;c++)i[c]=n[c];for(i[31]=n[31]&127|64,i[0]&=248,L(a,r),c=0;c<16;c++)u[c]=a[c],f[c]=l[c]=d[c]=0;for(l[0]=f[0]=1,c=254;c>=0;--c)o=i[c>>>3]>>>(c&7)&1,N(l,u,o),N(d,f,o),R(p,l,d),z(l,l,d),R(d,u,f),z(u,u,f),V(f,p),V(m,l),B(l,d,l),B(d,u,p),R(p,l,d),z(l,l,d),V(u,l),z(d,f,m),B(l,d,s),R(l,l,f),B(d,d,l),B(l,f,m),B(f,u,a),V(u,p),N(l,u,o),N(d,f,o);for(c=0;c<16;c++)a[c+16]=l[c],a[c+32]=d[c],a[c+48]=u[c],a[c+64]=f[c];var h=a.subarray(32),g=a.subarray(16);return H(h,h),B(g,g,h),P(e,g),0}function U(e,t){return te(e,t,i)}function ne(e,t){return n(t,32),U(e,t)}function re(e,t,n){var i=/* @__PURE__ */ new Uint8Array(32);return te(i,n,t),b(e,r,i,x)}var ie=k,ae=A;function oe(e,t,n,r,i,a){var o=/* @__PURE__ */ new Uint8Array(32);return re(o,i,a),ie(e,t,n,r,o)}function se(e,t,n,r,i,a){var o=/* @__PURE__ */ new Uint8Array(32);return re(o,i,a),ae(e,t,n,r,o)}var ce=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function le(e,t,n,r){for(var i=/* @__PURE__ */ new Int32Array(16),a=/* @__PURE__ */ new Int32Array(16),o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M=e[0],N=e[1],P=e[2],F=e[3],I=e[4],L=e[5],R=e[6],z=e[7],B=t[0],V=t[1],H=t[2],ee=t[3],te=t[4],U=t[5],ne=t[6],re=t[7],ie=0;r>=128;){for(w=0;w<16;w++)T=8*w+ie,i[w]=n[T+0]<<24|n[T+1]<<16|n[T+2]<<8|n[T+3],a[w]=n[T+4]<<24|n[T+5]<<16|n[T+6]<<8|n[T+7];for(w=0;w<80;w++)if(o=M,s=N,c=P,l=F,u=I,d=L,f=R,p=z,m=B,h=V,g=H,_=ee,v=te,y=U,b=ne,x=re,E=z,D=re,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=(I>>>14|te<<18)^(I>>>18|te<<14)^(te>>>9|I<<23),D=(te>>>14|I<<18)^(te>>>18|I<<14)^(I>>>9|te<<23),O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,E=I&L^~I&R,D=te&U^~te&ne,O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,E=ce[w*2],D=ce[w*2+1],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,E=i[w%16],D=a[w%16],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,S=A&65535|j<<16,C=O&65535|k<<16,E=S,D=C,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=(M>>>28|B<<4)^(B>>>2|M<<30)^(B>>>7|M<<25),D=(B>>>28|M<<4)^(M>>>2|B<<30)^(M>>>7|B<<25),O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,E=M&N^M&P^N&P,D=B&V^B&H^V&H,O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,p=A&65535|j<<16,x=O&65535|k<<16,E=l,D=_,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=S,D=C,O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,l=A&65535|j<<16,_=O&65535|k<<16,N=o,P=s,F=c,I=l,L=u,R=d,z=f,M=p,V=m,H=h,ee=g,te=_,U=v,ne=y,re=b,B=x,w%16==15)for(T=0;T<16;T++)E=i[T],D=a[T],O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=i[(T+9)%16],D=a[(T+9)%16],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,S=i[(T+1)%16],C=a[(T+1)%16],E=(S>>>1|C<<31)^(S>>>8|C<<24)^S>>>7,D=(C>>>1|S<<31)^(C>>>8|S<<24)^(C>>>7|S<<25),O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,S=i[(T+14)%16],C=a[(T+14)%16],E=(S>>>19|C<<13)^(C>>>29|S<<3)^S>>>6,D=(C>>>19|S<<13)^(S>>>29|C<<3)^(C>>>6|S<<26),O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,i[T]=A&65535|j<<16,a[T]=O&65535|k<<16;E=M,D=B,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[0],D=t[0],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[0]=M=A&65535|j<<16,t[0]=B=O&65535|k<<16,E=N,D=V,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[1],D=t[1],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[1]=N=A&65535|j<<16,t[1]=V=O&65535|k<<16,E=P,D=H,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[2],D=t[2],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[2]=P=A&65535|j<<16,t[2]=H=O&65535|k<<16,E=F,D=ee,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[3],D=t[3],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[3]=F=A&65535|j<<16,t[3]=ee=O&65535|k<<16,E=I,D=te,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[4],D=t[4],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[4]=I=A&65535|j<<16,t[4]=te=O&65535|k<<16,E=L,D=U,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[5],D=t[5],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[5]=L=A&65535|j<<16,t[5]=U=O&65535|k<<16,E=R,D=ne,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[6],D=t[6],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[6]=R=A&65535|j<<16,t[6]=ne=O&65535|k<<16,E=z,D=re,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[7],D=t[7],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[7]=z=A&65535|j<<16,t[7]=re=O&65535|k<<16,ie+=128,r-=128}return r}function ue(e,t,n){var r=/* @__PURE__ */ new Int32Array(8),i=/* @__PURE__ */ new Int32Array(8),a=/* @__PURE__ */ new Uint8Array(256),o,s=n;for(r[0]=1779033703,r[1]=3144134277,r[2]=1013904242,r[3]=2773480762,r[4]=1359893119,r[5]=2600822924,r[6]=528734635,r[7]=1541459225,i[0]=4089235720,i[1]=2227873595,i[2]=4271175723,i[3]=1595750129,i[4]=2917565137,i[5]=725511199,i[6]=4215389547,i[7]=327033209,le(r,i,t,n),n%=128,o=0;o<n;o++)a[o]=t[s-n+o];for(a[n]=128,n=256-128*(n<112),a[n-9]=0,p(a,n-8,s/536870912|0,s<<3),le(r,i,a,n),o=0;o<8;o++)p(e,8*o,r[o],i[o]);return 0}function de(e,n){var r=t(),i=t(),a=t(),o=t(),s=t(),c=t(),u=t(),d=t(),f=t();z(r,e[1],e[0]),z(f,n[1],n[0]),B(r,r,f),R(i,e[0],e[1]),R(f,n[0],n[1]),B(i,i,f),B(a,e[3],n[3]),B(a,a,l),B(o,e[2],n[2]),R(o,o,o),z(s,i,r),z(c,o,a),R(u,o,a),R(d,i,r),B(e[0],s,c),B(e[1],d,u),B(e[2],u,c),B(e[3],s,d)}function fe(e,t,n){for(var r=0;r<4;r++)N(e[r],t[r],n)}function pe(e,n){var r=t(),i=t(),a=t();H(a,n[2]),B(r,n[0],a),B(i,n[1],a),P(e,i),e[31]^=I(r)<<7}function me(e,t,n){var r,i;for(j(e[0],a),j(e[1],o),j(e[2],o),j(e[3],a),i=255;i>=0;--i)r=n[i/8|0]>>(i&7)&1,fe(e,t,r),de(t,e),de(e,e),fe(e,t,r)}function he(e,n){var r=[t(),t(),t(),t()];j(r[0],u),j(r[1],d),j(r[2],o),B(r[3],u,d),me(e,r,n)}function ge(e,r,i){var a=/* @__PURE__ */ new Uint8Array(64),o=[t(),t(),t(),t()],s;for(i||n(r,32),ue(a,r,32),a[0]&=248,a[31]&=127,a[31]|=64,he(o,a),pe(e,o),s=0;s<32;s++)r[s+32]=e[s];return 0}var _e=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function ve(e,t){for(var n,r=63,i,a;r>=32;--r){for(n=0,i=r-32,a=r-12;i<a;++i)t[i]+=n-16*t[r]*_e[i-(r-32)],n=Math.floor((t[i]+128)/256),t[i]-=n*256;t[i]+=n,t[r]=0}for(n=0,i=0;i<32;i++)t[i]+=n-(t[31]>>4)*_e[i],n=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=n*_e[i];for(r=0;r<32;r++)t[r+1]+=t[r]>>8,e[r]=t[r]&255}function ye(e){for(var t=/* @__PURE__ */ new Float64Array(64),n=0;n<64;n++)t[n]=e[n];for(n=0;n<64;n++)e[n]=0;ve(e,t)}function be(e,n,r,i){var a=/* @__PURE__ */ new Uint8Array(64),o=/* @__PURE__ */ new Uint8Array(64),s=/* @__PURE__ */ new Uint8Array(64),c,l,u=/* @__PURE__ */ new Float64Array(64),d=[t(),t(),t(),t()];ue(a,i,32),a[0]&=248,a[31]&=127,a[31]|=64;var f=r+64;for(c=0;c<r;c++)e[64+c]=n[c];for(c=0;c<32;c++)e[32+c]=a[32+c];for(ue(s,e.subarray(32),r+32),ye(s),he(d,s),pe(e,d),c=32;c<64;c++)e[c]=i[c];for(ue(o,e,r+64),ye(o),c=0;c<64;c++)u[c]=0;for(c=0;c<32;c++)u[c]=s[c];for(c=0;c<32;c++)for(l=0;l<32;l++)u[c+l]+=o[c]*a[l];return ve(e.subarray(32),u),f}function xe(e,n){var r=t(),i=t(),s=t(),l=t(),u=t(),d=t(),p=t();return j(e[2],o),L(e[1],n),V(s,e[1]),B(l,s,c),z(s,s,e[2]),R(l,e[2],l),V(u,l),V(d,u),B(p,d,u),B(r,p,s),B(r,r,l),ee(r,r),B(r,r,s),B(r,r,l),B(r,r,l),B(e[0],r,l),V(i,e[0]),B(i,i,l),F(i,s)&&B(e[0],e[0],f),V(i,e[0]),B(i,i,l),F(i,s)?-1:(I(e[0])===n[31]>>7&&z(e[0],a,e[0]),B(e[3],e[0],e[1]),0)}function Se(e,n,r,i){var a,o=/* @__PURE__ */ new Uint8Array(32),s=/* @__PURE__ */ new Uint8Array(64),c=[t(),t(),t(),t()],l=[t(),t(),t(),t()];if(r<64||xe(l,i))return-1;for(a=0;a<r;a++)e[a]=n[a];for(a=0;a<32;a++)e[a+32]=i[a];if(ue(s,e,r),ye(s),me(c,l,s),he(l,n.subarray(32)),de(c,l),pe(o,c),r-=64,g(n,0,o,0)){for(a=0;a<r;a++)e[a]=0;return-1}for(a=0;a<r;a++)e[a]=n[a+64];return r}var Ce=32,we=24,W=32,Te=16,Ee=32,De=32,Oe=32,ke=32,Ae=32,je=we,Me=W,Ne=Te,Pe=64,Fe=32,Ie=64,Le=32,Re=64;e.lowlevel={crypto_core_hsalsa20:b,crypto_stream_xor:T,crypto_stream:w,crypto_stream_salsa20_xor:S,crypto_stream_salsa20:C,crypto_onetimeauth:D,crypto_onetimeauth_verify:O,crypto_verify_16:h,crypto_verify_32:g,crypto_secretbox:k,crypto_secretbox_open:A,crypto_scalarmult:te,crypto_scalarmult_base:U,crypto_box_beforenm:re,crypto_box_afternm:ie,crypto_box:oe,crypto_box_open:se,crypto_box_keypair:ne,crypto_hash:ue,crypto_sign:be,crypto_sign_keypair:ge,crypto_sign_open:Se,crypto_secretbox_KEYBYTES:Ce,crypto_secretbox_NONCEBYTES:we,crypto_secretbox_ZEROBYTES:W,crypto_secretbox_BOXZEROBYTES:Te,crypto_scalarmult_BYTES:Ee,crypto_scalarmult_SCALARBYTES:De,crypto_box_PUBLICKEYBYTES:Oe,crypto_box_SECRETKEYBYTES:ke,crypto_box_BEFORENMBYTES:Ae,crypto_box_NONCEBYTES:je,crypto_box_ZEROBYTES:Me,crypto_box_BOXZEROBYTES:Ne,crypto_sign_BYTES:Pe,crypto_sign_PUBLICKEYBYTES:Fe,crypto_sign_SECRETKEYBYTES:Ie,crypto_sign_SEEDBYTES:Le,crypto_hash_BYTES:Re,gf:t,D:c,L:_e,pack25519:P,unpack25519:L,M:B,A:R,S:V,Z:z,pow2523:ee,add:de,set25519:j,modL:ve,scalarmult:me,scalarbase:he};function ze(e,t){if(e.length!==Ce)throw Error(`bad key size`);if(t.length!==we)throw Error(`bad nonce size`)}function Be(e,t){if(e.length!==Oe)throw Error(`bad public key size`);if(t.length!==ke)throw Error(`bad secret key size`)}function Ve(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw TypeError(`unexpected type, use Uint8Array`)}function He(e){for(var t=0;t<e.length;t++)e[t]=0}e.randomBytes=function(e){var t=new Uint8Array(e);return n(t,e),t},e.secretbox=function(e,t,n){Ve(e,t,n),ze(n,t);for(var r=new Uint8Array(W+e.length),i=new Uint8Array(r.length),a=0;a<e.length;a++)r[a+W]=e[a];return k(i,r,r.length,t,n),i.subarray(Te)},e.secretbox.open=function(e,t,n){Ve(e,t,n),ze(n,t);for(var r=new Uint8Array(Te+e.length),i=new Uint8Array(r.length),a=0;a<e.length;a++)r[a+Te]=e[a];return r.length<32||A(i,r,r.length,t,n)!==0?null:i.subarray(W)},e.secretbox.keyLength=Ce,e.secretbox.nonceLength=we,e.secretbox.overheadLength=Te,e.scalarMult=function(e,t){if(Ve(e,t),e.length!==De)throw Error(`bad n size`);if(t.length!==Ee)throw Error(`bad p size`);var n=new Uint8Array(Ee);return te(n,e,t),n},e.scalarMult.base=function(e){if(Ve(e),e.length!==De)throw Error(`bad n size`);var t=new Uint8Array(Ee);return U(t,e),t},e.scalarMult.scalarLength=De,e.scalarMult.groupElementLength=Ee,e.box=function(t,n,r,i){var a=e.box.before(r,i);return e.secretbox(t,n,a)},e.box.before=function(e,t){Ve(e,t),Be(e,t);var n=new Uint8Array(Ae);return re(n,e,t),n},e.box.after=e.secretbox,e.box.open=function(t,n,r,i){var a=e.box.before(r,i);return e.secretbox.open(t,n,a)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var e=new Uint8Array(Oe),t=new Uint8Array(ke);return ne(e,t),{publicKey:e,secretKey:t}},e.box.keyPair.fromSecretKey=function(e){if(Ve(e),e.length!==ke)throw Error(`bad secret key size`);var t=new Uint8Array(Oe);return U(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.box.publicKeyLength=Oe,e.box.secretKeyLength=ke,e.box.sharedKeyLength=Ae,e.box.nonceLength=je,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(e,t){if(Ve(e,t),t.length!==Ie)throw Error(`bad secret key size`);var n=new Uint8Array(Pe+e.length);return be(n,e,e.length,t),n},e.sign.open=function(e,t){if(Ve(e,t),t.length!==Fe)throw Error(`bad public key size`);var n=new Uint8Array(e.length),r=Se(n,e,e.length,t);if(r<0)return null;for(var i=new Uint8Array(r),a=0;a<i.length;a++)i[a]=n[a];return i},e.sign.detached=function(t,n){for(var r=e.sign(t,n),i=new Uint8Array(Pe),a=0;a<i.length;a++)i[a]=r[a];return i},e.sign.detached.verify=function(e,t,n){if(Ve(e,t,n),t.length!==Pe)throw Error(`bad signature size`);if(n.length!==Fe)throw Error(`bad public key size`);for(var r=new Uint8Array(Pe+e.length),i=new Uint8Array(Pe+e.length),a=0;a<Pe;a++)r[a]=t[a];for(a=0;a<e.length;a++)r[a+Pe]=e[a];return Se(i,r,r.length,n)>=0},e.sign.keyPair=function(){var e=new Uint8Array(Fe),t=new Uint8Array(Ie);return ge(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(Ve(e),e.length!==Ie)throw Error(`bad secret key size`);for(var t=new Uint8Array(Fe),n=0;n<t.length;n++)t[n]=e[32+n];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(Ve(e),e.length!==Le)throw Error(`bad seed size`);for(var t=new Uint8Array(Fe),n=new Uint8Array(Ie),r=0;r<32;r++)n[r]=e[r];return ge(t,n,!0),{publicKey:t,secretKey:n}},e.sign.publicKeyLength=Fe,e.sign.secretKeyLength=Ie,e.sign.seedLength=Le,e.sign.signatureLength=Pe,e.hash=function(e){Ve(e);var t=new Uint8Array(Re);return ue(t,e,e.length),t},e.hash.hashLength=Re,e.verify=function(e,t){return Ve(e,t),e.length===0||t.length===0||e.length!==t.length?!1:m(e,0,t,0,e.length)===0},e.setPRNG=function(e){n=e},(function(){var t=typeof self<`u`?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){var n=65536;e.setPRNG(function(e,r){var i,a=new Uint8Array(r);for(i=0;i<r;i+=n)t.getRandomValues(a.subarray(i,i+Math.min(r-i,n)));for(i=0;i<r;i++)e[i]=a[i];He(a)})}else typeof require<`u`&&(t=Tn(),t&&t.randomBytes&&e.setPRNG(function(e,n){var r,i=t.randomBytes(n);for(r=0;r<n;r++)e[r]=i[r];He(i)}))})()})(t!==void 0&&t.exports?t.exports:self.nacl=self.nacl||{})})),Dn=/* @__PURE__ */ s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=r(En()).default})),On=/* @__PURE__ */ s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.KP=void 0;let i=wn(),a=jn(),o=r(Dn());e.KP=class{seed;constructor(e){this.seed=e}getRawSeed(){if(!this.seed)throw new a.NKeysError(a.NKeysErrorCode.ClearedPair);return i.Codec.decodeSeed(this.seed).buf}getSeed(){if(!this.seed)throw new a.NKeysError(a.NKeysErrorCode.ClearedPair);return this.seed}getPublicKey(){if(!this.seed)throw new a.NKeysError(a.NKeysErrorCode.ClearedPair);let e=i.Codec.decodeSeed(this.seed),t=o.default.sign.keyPair.fromSeed(this.getRawSeed()),n=i.Codec.encode(e.prefix,t.publicKey);return new TextDecoder().decode(n)}getPrivateKey(){if(!this.seed)throw new a.NKeysError(a.NKeysErrorCode.ClearedPair);let e=o.default.sign.keyPair.fromSeed(this.getRawSeed());return i.Codec.encode(a.Prefix.Private,e.secretKey)}sign(e){if(!this.seed)throw new a.NKeysError(a.NKeysErrorCode.ClearedPair);let t=o.default.sign.keyPair.fromSeed(this.getRawSeed());return o.default.sign.detached(e,t.secretKey)}verify(e,t){if(!this.seed)throw new a.NKeysError(a.NKeysErrorCode.ClearedPair);let n=o.default.sign.keyPair.fromSeed(this.getRawSeed());return o.default.sign.detached.verify(e,t,n.publicKey)}clear(){this.seed&&=(this.seed.fill(0),void 0)}seal(e,t,n){throw new a.NKeysError(a.NKeysErrorCode.InvalidNKeyOperation)}open(e,t){throw new a.NKeysError(a.NKeysErrorCode.InvalidNKeyOperation)}}})),kn=/* @__PURE__ */ s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.PublicKey=void 0;let i=wn(),a=jn(),o=r(Dn());e.PublicKey=class{publicKey;constructor(e){this.publicKey=e}getPublicKey(){if(!this.publicKey)throw new a.NKeysError(a.NKeysErrorCode.ClearedPair);return new TextDecoder().decode(this.publicKey)}getPrivateKey(){throw this.publicKey?new a.NKeysError(a.NKeysErrorCode.PublicKeyOnly):new a.NKeysError(a.NKeysErrorCode.ClearedPair)}getSeed(){throw this.publicKey?new a.NKeysError(a.NKeysErrorCode.PublicKeyOnly):new a.NKeysError(a.NKeysErrorCode.ClearedPair)}sign(e){throw this.publicKey?new a.NKeysError(a.NKeysErrorCode.CannotSign):new a.NKeysError(a.NKeysErrorCode.ClearedPair)}verify(e,t){if(!this.publicKey)throw new a.NKeysError(a.NKeysErrorCode.ClearedPair);let n=i.Codec._decode(this.publicKey);return o.default.sign.detached.verify(e,t,n.slice(1))}clear(){this.publicKey&&=(this.publicKey.fill(0),void 0)}seal(e,t,n){throw new a.NKeysError(a.NKeysErrorCode.InvalidNKeyOperation)}open(e,t){throw new a.NKeysError(a.NKeysErrorCode.InvalidNKeyOperation)}}})),An=/* @__PURE__ */ s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.CurveKP=e.curveNonceLen=e.curveKeyLen=void 0;let i=jn(),a=r(Dn()),o=wn(),s=jn(),c=Cn(),l=Sn();e.curveKeyLen=32,e.curveNonceLen=24;let u=[120,107,118,49];e.CurveKP=class{seed;constructor(e){this.seed=e}clear(){this.seed&&=(this.seed.fill(0),void 0)}getPrivateKey(){if(!this.seed)throw new i.NKeysError(i.NKeysErrorCode.ClearedPair);return o.Codec.encode(s.Prefix.Private,this.seed)}getPublicKey(){if(!this.seed)throw new i.NKeysError(i.NKeysErrorCode.ClearedPair);let e=a.default.scalarMult.base(this.seed),t=o.Codec.encode(s.Prefix.Curve,e);return new TextDecoder().decode(t)}getSeed(){if(!this.seed)throw new i.NKeysError(i.NKeysErrorCode.ClearedPair);return o.Codec.encodeSeed(s.Prefix.Curve,this.seed)}sign(){throw new i.NKeysError(i.NKeysErrorCode.InvalidCurveOperation)}verify(){throw new i.NKeysError(i.NKeysErrorCode.InvalidCurveOperation)}decodePubCurveKey(e){try{let t=c.base32.decode(new TextEncoder().encode(e));if(t.byteLength!==35)throw new i.NKeysError(i.NKeysErrorCode.InvalidCurveKey);if(t[0]!==s.Prefix.Curve)throw new i.NKeysError(i.NKeysErrorCode.InvalidPublicKey);let n=t.byteLength-2,r=new DataView(t.buffer).getUint16(n,!0),a=t.slice(0,n);if(!l.crc16.validate(a,r))throw new i.NKeysError(i.NKeysErrorCode.InvalidChecksum);return a.slice(1)}catch(e){throw new i.NKeysError(i.NKeysErrorCode.InvalidRecipient,{cause:e})}}seal(t,n,r){if(!this.seed)throw new i.NKeysError(i.NKeysErrorCode.ClearedPair);r||=a.default.randomBytes(e.curveNonceLen);let o=this.decodePubCurveKey(n),s=new Uint8Array(u.length+e.curveNonceLen);s.set(u,0),s.set(r,u.length);let c=a.default.box(t,r,o,this.seed),l=new Uint8Array(s.length+c.length);return l.set(s),l.set(c,s.length),l}open(t,n){if(!this.seed)throw new i.NKeysError(i.NKeysErrorCode.ClearedPair);if(t.length<=e.curveNonceLen+u.length)throw new i.NKeysError(i.NKeysErrorCode.InvalidEncrypted);for(let e=0;e<u.length;e++)if(t[e]!==u[e])throw new i.NKeysError(i.NKeysErrorCode.InvalidEncrypted);let r=this.decodePubCurveKey(n);t=t.slice(u.length);let o=t.slice(0,e.curveNonceLen);return t=t.slice(e.curveNonceLen),a.default.box.open(t,o,r,this.seed)}}})),jn=/* @__PURE__ */ s(((e,t,n)=>{var r=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.NKeysError=e.NKeysErrorCode=e.Prefixes=e.Prefix=void 0,e.createPair=l,e.createOperator=u,e.createAccount=d,e.createUser=f,e.createCluster=p,e.createServer=m,e.createCurve=h,e.fromPublic=g,e.fromCurveSeed=_,e.fromSeed=v;let i=On(),a=kn(),o=wn(),s=An(),c=r(Dn());function l(e){let t=e===y.Curve?s.curveKeyLen:32,n=c.default.randomBytes(t),r=o.Codec.encodeSeed(e,new Uint8Array(n));return e===y.Curve?new s.CurveKP(new Uint8Array(n)):new i.KP(r)}function u(){return l(y.Operator)}function d(){return l(y.Account)}function f(){return l(y.User)}function p(){return l(y.Cluster)}function m(){return l(y.Server)}function h(){return l(y.Curve)}function g(e){let t=new TextEncoder().encode(e),n=o.Codec._decode(t),r=b.parsePrefix(n[0]);if(b.isValidPublicPrefix(r))return new a.PublicKey(t);throw new S(x.InvalidPublicKey)}function _(e){let t=o.Codec.decodeSeed(e);if(t.prefix!==y.Curve)throw new S(x.InvalidCurveSeed);if(t.buf.byteLength!==s.curveKeyLen)throw new S(x.InvalidSeedLen);return new s.CurveKP(t.buf)}function v(e){return o.Codec.decodeSeed(e).prefix===y.Curve?_(e):new i.KP(e)}var y;(function(e){e[e.Unknown=-1]=`Unknown`,e[e.Seed=144]=`Seed`,e[e.Private=120]=`Private`,e[e.Operator=112]=`Operator`,e[e.Server=104]=`Server`,e[e.Cluster=16]=`Cluster`,e[e.Account=0]=`Account`,e[e.User=160]=`User`,e[e.Curve=184]=`Curve`})(y||(e.Prefix=y={}));var b=class{static isValidPublicPrefix(e){return e==y.Server||e==y.Operator||e==y.Cluster||e==y.Account||e==y.User||e==y.Curve}static startsWithValidPrefix(e){let t=e[0];return t==`S`||t==`P`||t==`O`||t==`N`||t==`C`||t==`A`||t==`U`||t==`X`}static isValidPrefix(e){return this.parsePrefix(e)!==y.Unknown}static parsePrefix(e){switch(e){case y.Seed:return y.Seed;case y.Private:return y.Private;case y.Operator:return y.Operator;case y.Server:return y.Server;case y.Cluster:return y.Cluster;case y.Account:return y.Account;case y.User:return y.User;case y.Curve:return y.Curve;default:return y.Unknown}}};e.Prefixes=b;var x;(function(e){e.InvalidPrefixByte=`nkeys: invalid prefix byte`,e.InvalidKey=`nkeys: invalid key`,e.InvalidPublicKey=`nkeys: invalid public key`,e.InvalidSeedLen=`nkeys: invalid seed length`,e.InvalidSeed=`nkeys: invalid seed`,e.InvalidCurveSeed=`nkeys: invalid curve seed`,e.InvalidCurveKey=`nkeys: not a valid curve key`,e.InvalidCurveOperation=`nkeys: curve key is not valid for sign/verify`,e.InvalidNKeyOperation=`keys: only curve key can seal/open`,e.InvalidEncoding=`nkeys: invalid encoded key`,e.InvalidRecipient=`nkeys: not a valid recipient public curve key`,e.InvalidEncrypted=`nkeys: encrypted input is not valid`,e.CannotSign=`nkeys: cannot sign, no private key available`,e.PublicKeyOnly=`nkeys: no seed or private key available`,e.InvalidChecksum=`nkeys: invalid checksum`,e.SerializationError=`nkeys: serialization error`,e.ApiError=`nkeys: api error`,e.ClearedPair=`nkeys: pair is cleared`})(x||(e.NKeysErrorCode=x={}));var S=class extends Error{code;constructor(e,t){super(e,t),this.code=e}};e.NKeysError=S})),Mn=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.encode=t,e.decode=n,e.dump=r;function t(e){return btoa(String.fromCharCode(...e))}function n(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function r(e,t){t&&console.log(t);let n=[];for(let t=0;t<e.byteLength;t++){t%8==0&&n.push(`\n`);let r=e[t].toString(16);r.length===1&&(r=`0`+r),n.push(r)}console.log(n.join(` `))}})),Nn=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0,e.version=`2.0.3`})),Pn=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.version=e.encode=e.decode=e.Prefixes=e.Prefix=e.NKeysErrorCode=e.NKeysError=e.fromSeed=e.fromPublic=e.fromCurveSeed=e.createUser=e.createServer=e.createPair=e.createOperator=e.createCurve=e.createCluster=e.createAccount=void 0;var t=jn();Object.defineProperty(e,"createAccount",{enumerable:!0,get:function(){return t.createAccount}}),Object.defineProperty(e,"createCluster",{enumerable:!0,get:function(){return t.createCluster}}),Object.defineProperty(e,"createCurve",{enumerable:!0,get:function(){return t.createCurve}}),Object.defineProperty(e,"createOperator",{enumerable:!0,get:function(){return t.createOperator}}),Object.defineProperty(e,"createPair",{enumerable:!0,get:function(){return t.createPair}}),Object.defineProperty(e,"createServer",{enumerable:!0,get:function(){return t.createServer}}),Object.defineProperty(e,"createUser",{enumerable:!0,get:function(){return t.createUser}}),Object.defineProperty(e,"fromCurveSeed",{enumerable:!0,get:function(){return t.fromCurveSeed}}),Object.defineProperty(e,"fromPublic",{enumerable:!0,get:function(){return t.fromPublic}}),Object.defineProperty(e,"fromSeed",{enumerable:!0,get:function(){return t.fromSeed}}),Object.defineProperty(e,"NKeysError",{enumerable:!0,get:function(){return t.NKeysError}}),Object.defineProperty(e,"NKeysErrorCode",{enumerable:!0,get:function(){return t.NKeysErrorCode}}),Object.defineProperty(e,"Prefix",{enumerable:!0,get:function(){return t.Prefix}}),Object.defineProperty(e,"Prefixes",{enumerable:!0,get:function(){return t.Prefixes}});var n=Mn();Object.defineProperty(e,"decode",{enumerable:!0,get:function(){return n.decode}}),Object.defineProperty(e,"encode",{enumerable:!0,get:function(){return n.encode}});var r=Nn();Object.defineProperty(e,"version",{enumerable:!0,get:function(){return r.version}})})),Fn,In=o((()=>{Fn=/* @__PURE__ */ u(Pn(),1)}));function Ln(e){return t=>{let n={};return e.forEach(e=>{let r=e(t)||{};n=Object.assign(n,r)}),n}}function Rn(){return()=>{}}function zn(e,t){return()=>({user:typeof e==`function`?e():e,pass:typeof t==`function`?t():t})}function Bn(e){return()=>({auth_token:typeof e==`function`?e():e})}function Vn(e){return t=>{let n=typeof e==`function`?e():e,r=n?Fn.fromSeed(n):void 0,i=r?r.getPublicKey():``,a=le.encode(t||``),o=r!==void 0&&t?r.sign(a):void 0;return{nkey:i,sig:o?Fn.encode(o):``}}}function Hn(e,t){return n=>{let r=typeof e==`function`?e():e,{nkey:i,sig:a}=Vn(t)(n);return{jwt:r,nkey:i,sig:a}}}function Un(e){let t=typeof e==`function`?e:()=>e,n=()=>{let e=/\\s*(?:(?:[-]{3,}[^\\n]*[-]{3,}\\n)(.+)(?:\\n\\s*[-]{3,}[^\\n]*[-]{3,}\\n))/gi,n=ue.decode(t()),r=e.exec(n);if(!r)throw Error(`unable to parse credentials`);let i=r[1].trim();if(r=e.exec(n),!r)throw Error(`unable to parse credentials`);return{jwt:i,seed:le.encode(r[1].trim())}};return Hn(()=>{let{jwt:e}=n();return e},()=>{let{seed:e}=n();return e})}var Wn=o((()=>{de()}));function Gn(){return{maxPingOut:2,maxReconnectAttempts:10,noRandomize:!1,pedantic:!1,pingInterval:Qn,reconnect:!0,reconnectJitter:100,reconnectJitterTLS:Zn,reconnectTimeWait:$n,tls:void 0,verbose:!1,waitOnFirstConnect:!1,ignoreAuthErrorAbort:!1}}function Kn(e){if(e){let{servers:t}=e;if(typeof t==`string`&&(t=[t]),t)for(let e=0;e<t.length;e++){let n=t[e].toLowerCase();if(n.startsWith(`ws://`)||n.startsWith(`wss://`))return!0}}return!1}function qn(e){let t=[];return typeof e.authenticator==`function`&&t.push(e.authenticator),Array.isArray(e.authenticator)&&t.push(...e.authenticator),e.token&&t.push(Bn(e.token)),e.user&&t.push(zn(e.user,e.pass)),t.length===0?Rn():Ln(t)}function Jn(e){let t=`${$e}:${it()}`;if(e||={servers:[t]},e.servers=e.servers||[],typeof e.servers==`string`&&(e.servers=[e.servers]),e.servers.length>0&&e.port)throw pe.format([`servers`,`port`],`are mutually exclusive`);e.servers.length===0&&e.port&&(e.servers=[`${$e}:${e.port}`]),e.servers&&e.servers.length===0&&(e.servers=[t]);let n=Ee(Gn(),e);if(n.authenticator=qn(n),[`reconnectDelayHandler`,`authenticator`].forEach(e=>{if(n[e]&&typeof n[e]!=`function`)throw TypeError(`\'${e}\' must be a function`)}),n.reconnectDelayHandler||=(e=0)=>{let t=n.reconnectTimeWait??2e3,r=n.reconnectionDelayMax??0,i=n.reconnectionRandomizationFactor??0;if(r>0){let n=Math.min(t*2**Math.max(0,e),r);if(i>0){let e=n*(1-i),t=n*(1+i);n=e+Math.random()*(t-e)}return Math.round(n)}let a=n.tls?n.reconnectJitterTLS:n.reconnectJitter;return a&&=(a++,Math.floor(Math.random()*a)),t+(a??0)},n.inboxPrefix&&Xe(n.inboxPrefix),n.resolve===void 0&&(n.resolve=typeof st()==`function`),n.resolve&&typeof st()!=`function`)throw pe.format(`resolve`,`is not supported in the current runtime`);return n}function Yn(e,t){let{proto:n,tls_required:r,tls_available:i}=e;if((n===void 0||n<1)&&t.noEcho)throw new W.ConnectionError(`server does not support \'noEcho\'`);let a=r||i||!1;if(t.tls&&!a)throw new W.ConnectionError(`server does not support \'tls\'`)}function Xn(e,t){if(t)throw pe.format(e,`is not supported`)}var Zn,Qn,$n,er=o((()=>{We(),mt(),et(),Wn(),Te(),Zn=1e3,Qn=12e4,$n=2e3}));function tr(e){return typeof e==`object`&&!!e&&`server`in e&&`delay`in e}function nr(e){let t=e.reason;if(t instanceof Error)return t;if(typeof t==`string`)return Error(t);if(t!=null)try{return Error(String(t))}catch{}return/* @__PURE__ */ Error(`aborted`)}var rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr=o((()=>{de(),mt(),We(),nt(),Rt(),Bt(),Ht(),Gt(),ln(),gn(),xn(),er(),Te(),rr=32768,ir=/^INFO\\s+([^\\r\\n]+)\\r\\n/i,ar=oe(`PONG\\r\n`),or=oe(`PING\\r\n`),sr=`client option reconnectToServer handler failed`,cr=`returned server is not in the pool`,lr=class{echo;no_responders;protocol;verbose;pedantic;jwt;nkey;sig;user;pass;auth_token;tls_required;name;lang;version;headers;constructor(e,t,n){this.protocol=1,this.version=e.version,this.lang=e.lang,this.echo=!t.noEcho&&void 0,this.verbose=t.verbose,this.pedantic=t.pedantic,this.tls_required=t.tls?!0:void 0,this.name=t.name;let r=(t&&typeof t.authenticator==`function`?t.authenticator(n):{})||{};Ee(this,r)}},ur=class{slow;cb;notified;constructor(e,t){this.slow=e,this.cb=t,this.notified=!1}maybeNotify(e){e<=this.slow?this.notified=!1:this.notified||=(this.cb(e),!0)}},dr=class extends zt{sid;queue;draining;max;subject;drained;protocol;timer;info;cleanupFn;closed;requestSubject;slow;constructor(e,t,n={}){super(),Ee(this,n),this.protocol=e,this.subject=t,this.draining=!1,this.noIterator=typeof n.callback==`function`,this.closed=je();let r=!e.options?.noAsyncTraces;n.timeout&&(this.timer=Oe(n.timeout,r),this.timer.then(()=>{this.timer=void 0}).catch(e=>{this.stop(e),this.noIterator&&this.callback(e,{})})),this.noIterator||this.iterClosed.then(e=>{this.closed.resolve(e),this.unsubscribe()})}setSlowNotificationFn(e,t){if(this.slow=void 0,t){if(this.noIterator)throw Error(`callbacks don\'t support slow notifications`);this.slow=new ur(e,t)}}callback(e,t){this.cancelTimeout(),e?this.stop(e):this.push(t),!e&&this.slow&&this.slow.maybeNotify(this.getPending())}close(e){if(!this.isClosed()){this.cancelTimeout();let t=()=>{if(this.stop(),this.cleanupFn)try{this.cleanupFn(this,this.info)}catch{}this.closed.resolve(e)};this.noIterator?t():this.push(t)}}unsubscribe(e){this.protocol.unsubscribe(this,e)}cancelTimeout(){this.timer&&=(this.timer.cancel(),void 0)}drain(){return this.protocol.isClosed()?Promise.reject(new W.ClosedConnectionError):this.isClosed()?Promise.reject(new W.InvalidOperationError(`subscription is already closed`)):(this.drained||=(this.draining=!0,this.protocol.unsub(this),this.protocol.flush(je()).then(()=>{this.protocol.subscriptions.cancel(this)}).catch(()=>{this.protocol.subscriptions.cancel(this)})),this.drained)}async[Symbol.asyncDispose](){this.protocol.isClosed()||this.isClosed()||(this.drained?await this.drained:await this.drain())}isDraining(){return this.draining}isClosed(){return this.done}getSubject(){return this.subject}getMax(){return this.max}getID(){return this.sid}},fr=class{mux;subs;sidCounter;constructor(){this.sidCounter=0,this.mux=null,this.subs=/* @__PURE__ */ new Map}size(){return this.subs.size}add(e){return this.sidCounter++,e.sid=this.sidCounter,this.subs.set(e.sid,e),e}setMux(e){return this.mux=e,e}getMux(){return this.mux}get(e){return this.subs.get(e)}resub(e){return this.sidCounter++,this.subs.delete(e.sid),e.sid=this.sidCounter,this.subs.set(e.sid,e),e}all(){return Array.from(this.subs.values())}cancel(e){e&&(e.close(),this.subs.delete(e.sid))}handleError(e){let t=this.all(),n;return e.operation===`subscription`?n=t.find(t=>t.subject===e.subject&&t.queue===e.queue):e.operation===`publish`&&(n=t.find(t=>t.requestSubject===e.subject)),n?(n.callback(e,{}),n.close(e),this.subs.delete(n.sid),n!==this.mux):!1}close(){this.subs.forEach(e=>{e.close()})}},pr=class e{connected;connectedOnce;infoReceived;info;muxSubscriptions;options;outbound;pongs;pingTimes;subscriptions;transport;noMorePublishing;connectError;publisher;_closed;closed;listeners;heartbeats;parser;outMsgs;inMsgs;outBytes;inBytes;pendingLimit;lastError;abortReconnect;whyClosed;servers;server;features;connectPromise;dialDelay;redialNow;raceTimer;constructor(e,t){this._closed=!1,this.connected=!1,this.connectedOnce=!1,this.infoReceived=!1,this.noMorePublishing=!1,this.abortReconnect=!1,this.listeners=[],this.pendingLimit=rr,this.outMsgs=0,this.inMsgs=0,this.outBytes=0,this.inBytes=0,this.options=e,this.publisher=t,this.subscriptions=new fr,this.muxSubscriptions=new Vt,this.outbound=new tt,this.pongs=[],this.pingTimes=[],this.whyClosed=``,this.pendingLimit=e.pendingLimit||this.pendingLimit,this.features=new bn({major:0,minor:0,micro:0}),this.connectPromise=null,this.dialDelay=null,this.redialNow=!1;let n=typeof e.servers==`string`?[e.servers]:e.servers;this.servers=new Lt({randomize:!e.noRandomize}),this.servers.setServers(n),this.closed=je(),this.parser=new cn(this),this.heartbeats=new Wt(this,this.options.pingInterval||12e4,this.options.maxPingOut||2,this.options.pingTimeout??0)}resetOutbound(){this.outbound.reset();let e=this.pongs;this.pongs=[],this.pingTimes=[];let t=new W.RequestError(`connection disconnected`);t.stack=``,e.forEach(e=>{e.reject(t)}),this.parser=new cn(this),this.infoReceived=!1}dispatchStatus(e){this.listeners.forEach(t=>{t.push(e)})}prepare(){this.transport&&this.transport.discard(),this.info=void 0,this.resetOutbound();let e=je();return e.catch(()=>{}),this.pongs.unshift(e),this.pingTimes.unshift(Date.now()),this.connectError=t=>{e.reject(t)},this.transport=ot(),this.transport.closed().then(async e=>{this.connected=!1,!this.isClosed()&&(this.dispatchCloseCode(this.transport.closeError),await this.disconnected(this.transport.closeError||this.lastError))}),e}disconnect(){this.dispatchStatus({type:`staleConnection`}),this.transport.disconnect()}reconnect(){return this.connected&&(this.dispatchStatus({type:`forceReconnect`}),this.transport.disconnect()),Promise.resolve()}forceReconnect(){return this.dispatchStatus({type:`forceReconnect`}),this.redialNow=!0,this.dialDelay?.cancel(),this.connected?(this.raceTimer?.cancel(),this.transport.disconnect(),Promise.resolve()):this.connectPromise===null?this._closed?Promise.resolve():(this.raceTimer?.cancel(),this.dialLoop().then(()=>{this.dispatchStatus({type:`reconnect`,server:this.servers.getCurrentServer().toString()})}).catch(e=>{this.close(e).catch(()=>{})})):Promise.resolve()}isStale(){return this.connected&&this.heartbeats.hasExpired()}dispatchCloseCode(e){let t=e?.wsCloseCode;e&&this.connectedOnce&&typeof t==`number`&&t>=4e3&&t<=4999&&this.dispatchStatus({type:`error`,error:e,data:e})}async disconnected(e){this.dispatchStatus({type:`disconnect`,server:this.servers.getCurrentServer().toString()}),this.options.reconnect?await this.dialLoop().then(()=>{this.dispatchStatus({type:`reconnect`,server:this.servers.getCurrentServer().toString()}),this.lastError instanceof W.UserAuthenticationExpiredError&&(this.lastError=void 0)}).catch(e=>{this.close(e).catch()}):await this.close(e).catch()}async dial(e){let t=this.prepare();try{this.raceTimer=Oe(this.options.timeout||2e4);let t=this.transport.connect(e,this.options);await Promise.race([t,this.raceTimer]),(async()=>{try{for await(let e of this.transport)this.heartbeats.inbound(),this.parser.parse(e)}catch(e){console.log(`reader closed`,e)}})().then()}catch(e){t.reject(e)}try{await Promise.race([this.raceTimer,t]),this.raceTimer?.cancel(),this.connected=!0,this.connectError=void 0,this.sendSubscriptions(),this.connectedOnce=!0,this.redialNow=!1,this.server.didConnect=!0,this.server.reconnects=0,this.flushPending(),this.heartbeats.start()}catch(e){throw this.raceTimer?.cancel(),await this.transport.close(e),e}}async _doDial(e){let{resolve:t}=this.options,n=await e.resolve({fn:st(),debug:this.options.debug,randomize:!this.options.noRandomize,resolve:t}),r=null;for(let e of n)try{r=null,this.dispatchStatus({type:`reconnecting`}),await this.dial(e);return}catch(e){r=e}throw r}dialLoop(){return this.connectPromise===null&&(this.connectPromise=this.dodialLoop(),this.connectPromise.then(()=>{}).catch(()=>{}).finally(()=>{this.connectPromise=null})),this.connectPromise}async dodialLoop(){let e;for(;;){this._closed&&this.servers.clear();let t=this.selectServer(),n=this.options.reconnectDelayHandler?this.options.reconnectDelayHandler(t?.reconnects??0):$n,r=n;if(!t||this.abortReconnect)throw e||(this.lastError?this.lastError:new W.ConnectionError(`connection refused`));let i=Date.now();if(t.lastConnect===0||t.lastConnect+n<=i||this.redialNow){this.redialNow=!1;let n=t,r=0;if(this.options.reconnectToServer)try{let e=this.servers.snapshotForHandler(),i=this.options.reconnectToServer(e,this.info??null),a;if(tr(i)?(a=i.server,r=Number.isFinite(i.delay)&&i.delay>0?Math.floor(i.delay):0):a=i,a!==null){let e=this.servers.find(a);if(!e)throw Error(cr);e!==t&&(n=e,this.servers.setCurrent(n),this.server=n)}}catch(e){let t=e instanceof Error?e:Error(String(e));throw new W.ConnectionError(`${sr}: ${t.message}`,{cause:t})}r>0&&(this.dialDelay=ke(r),await this.dialDelay),n.lastConnect=Date.now();try{await this._doDial(n);break}catch(t){if(e=t,!this.connectedOnce){if(this.options.waitOnFirstConnect)continue;this.servers.removeCurrentServer()}n.reconnects++;let r=this.options.maxReconnectAttempts||0;r!==-1&&n.reconnects>=r&&this.servers.removeCurrentServer()}}else r=Math.min(r,t.lastConnect+n-i),this.dialDelay=ke(r),await this.dialDelay}}static async connect(t,n){let r=new e(t,n),i=t.signal,a;if(i){if(i.aborted){let e=nr(i);throw r.abortClose(e),e}a=()=>{try{r.abortClose(nr(i))}catch{}},i.addEventListener(`abort`,a,{once:!0})}try{return await r.dialLoop(),r}finally{i&&a&&i.removeEventListener(`abort`,a)}}static toError(e){let t=W.PermissionViolationError.parse(e);return t||(t=W.UserAuthenticationExpiredError.parse(e),t)||(t=W.AuthorizationError.parse(e),t)?t:new W.ProtocolError(e)}processMsg(e,t){if(this.inMsgs++,this.inBytes+=t.length,!this.subscriptions.sidCounter)return;let n=this.subscriptions.get(e.sid);n&&(n.received+=1,n.callback&&n.callback(null,new hn(e,t,this)),n.max!==void 0&&n.received>=n.max&&n.unsubscribe())}processError(t){let n=se(t);n.startsWith(`\'`)&&n.endsWith(`\'`)&&(n=n.slice(1,n.length-1));let r=e.toError(n);switch(r.constructor){case W.PermissionViolationError:{let e=r,t=this.subscriptions.getMux(),n=t?e.subject===t.subject:!1;this.subscriptions.handleError(e),this.muxSubscriptions.handleError(n,e),n&&this.subscriptions.setMux(null)}}this.dispatchStatus({type:`error`,error:r}),this.handleError(r)}handleError(e){(e instanceof W.UserAuthenticationExpiredError||e instanceof W.AuthorizationError)&&this.handleAuthError(e),e instanceof W.PermissionViolationError||(this.lastError=e)}handleAuthError(e){(this.lastError instanceof W.UserAuthenticationExpiredError||this.lastError instanceof W.AuthorizationError)&&this.options.ignoreAuthErrorAbort===!1&&(this.abortReconnect=!0),this.connectError?this.connectError(e):this.disconnect()}processPing(){this.transport.send(ar)}processPong(){let e=this.pongs.shift(),t=this.pingTimes.shift();e&&(this.heartbeats.pong(t),e.resolve())}processInfo(e){let t=JSON.parse(se(e));this.info=t;let n=this.options&&this.options.ignoreClusterUpdates?void 0:this.servers.update(t,this.transport.isEncrypted());if(!this.infoReceived){this.features.update(_n(t.version)),this.infoReceived=!0,this.transport.isEncrypted()&&this.servers.updateTLSName();let{version:e,lang:n}=this.transport;try{let r=new lr({version:e,lang:n},this.options,t.nonce);t.headers&&(r.headers=!0,r.no_responders=!0);let i=JSON.stringify(r);this.transport.send(oe(`CONNECT ${i}\\r\n`)),this.transport.send(or)}catch(e){this.close(e).catch()}}if(n){let{added:e,deleted:t}=n;this.dispatchStatus({type:`update`,added:e,deleted:t})}t.ldm!==void 0&&t.ldm&&this.dispatchStatus({type:`ldm`,server:this.servers.getCurrentServer().toString()})}push(e){switch(e.kind){case rn.MSG:{let{msg:t,data:n}=e;this.processMsg(t,n);break}case rn.OK:break;case rn.ERR:this.processError(e.data);break;case rn.PING:this.processPing();break;case rn.PONG:this.processPong();break;case rn.INFO:this.processInfo(e.data)}}sendCommand(e,...t){let n=this.outbound.length(),r;r=typeof e==`string`?oe(e):e,this.outbound.fill(r,...t),n===0?queueMicrotask(()=>{this.flushPending()}):this.outbound.size()>=this.pendingLimit&&this.flushPending()}publish(e,t=ce,n){let r;if(t instanceof Uint8Array)r=t;else if(typeof t==`string`)r=le.encode(t);else throw TypeError(`payload types can be strings or Uint8Array`);let i=r.length;n||={},n.reply=n.reply||``;let a=ce,o=0;if(n.headers&&(this.info&&!this.info.headers&&pe.format(`headers`,`are not available on this server`),a=n.headers.encode(),o=a.length,i=r.length+o),this.info&&i>this.info.max_payload)throw pe.format(`payload`,`max_payload size exceeded`);this.outBytes+=i,this.outMsgs++;let s;n.headers?(s=n.reply?`HPUB ${e} ${n.reply} ${o} ${i}\\r\\n`:`HPUB ${e} ${o} ${i}\\r\\n`,this.sendCommand(s,a,r,dt)):(s=n.reply?`PUB ${e} ${n.reply} ${i}\\r\\n`:`PUB ${e} ${i}\\r\\n`,this.sendCommand(s,r,dt))}request(e){return this.initMux(),this.muxSubscriptions.add(e),e}subscribe(e){return this.subscriptions.add(e),this._subunsub(e),e}_sub(e){e.queue?this.sendCommand(`SUB ${e.subject} ${e.queue} ${e.sid}\\r\\n`):this.sendCommand(`SUB ${e.subject} ${e.sid}\\r\\n`)}_subunsub(e){return this._sub(e),e.max&&this.unsubscribe(e,e.max),e}unsubscribe(e,t){this.unsub(e,t),(e.max===void 0||e.received>=e.max)&&this.subscriptions.cancel(e)}unsub(e,t){e&&!this.isClosed()&&(t?this.sendCommand(`UNSUB ${e.sid} ${t}\\r\\n`):this.sendCommand(`UNSUB ${e.sid}\\r\\n`),e.max=t)}resub(e,t){e&&!this.isClosed()&&(this.unsub(e),e.subject=t,this.subscriptions.resub(e),this._sub(e))}flush(e){return e||=je(),this.pongs.push(e),this.pingTimes.push(Date.now()),this.outbound.fill(or),this.flushPending(),e}sendSubscriptions(){let e=[];this.subscriptions.all().forEach(t=>{let n=t;n.queue?e.push(`SUB ${n.subject} ${n.queue} ${n.sid}\\r\n`):e.push(`SUB ${n.subject} ${n.sid}\\r\n`)}),e.length&&this.transport.send(oe(e.join(``)))}async close(e){if(this._closed)return;this.whyClosed=(/* @__PURE__ */ Error(`close trace`)).stack||``,this.heartbeats.cancel(),this.connectError&&=(this.connectError(e),void 0),this.muxSubscriptions.close(),this.subscriptions.close();let t=[];for(let e=0;e<this.listeners.length;e++){let n=this.listeners[e];n&&(n.push({type:`close`}),n.stop(),t.push(n.iterClosed))}t.length&&await Promise.all(t),this._closed=!0,await this.transport.close(e),this.raceTimer?.cancel(),this.dialDelay?.cancel(),this.closed.resolve(e)}abortClose(e){if(!this._closed){this.whyClosed=(/* @__PURE__ */ Error(`abortClose trace`)).stack||``,this._closed=!0,this.abortReconnect=!0,this.heartbeats.cancel(),this.connectError&&=(this.connectError(e),void 0),this.muxSubscriptions.close(),this.subscriptions.close();for(let e=0;e<this.listeners.length;e++){let t=this.listeners[e];t&&(t.push({type:`close`}),t.stop())}this.raceTimer?.cancel(),this.dialDelay?.cancel();try{this.transport?.close(e)}catch{}this.closed.resolve(e)}}isClosed(){return this._closed}async drain(){let e=this.subscriptions.all(),t=[];e.forEach(e=>{t.push(e.drain())});try{await Promise.allSettled(t)}catch{}finally{this.noMorePublishing=!0,await this.flush()}return this.close()}flushPending(){if(this.infoReceived&&this.connected&&this.outbound.size()){let e=this.outbound.drain();this.transport.send(e)}}initMux(){if(!this.subscriptions.getMux()){let e=this.muxSubscriptions.init(this.options.inboxPrefix),t=new dr(this,`${e}*`);t.callback=this.muxSubscriptions.dispatcher(),this.subscriptions.setMux(t),this.subscribe(t)}}selectServer(){let e=this.servers.selectServer();if(e!==void 0)return this.server=e,this.server}getServer(){return this.server}}})),hr,gr,_r,vr=o((()=>{We(),Te(),hr=class{token;received;ctx;requestSubject;mux;constructor(e,t,n=!0){this.mux=e,this.requestSubject=t,this.received=0,this.token=Re(),n&&(this.ctx=new xe)}},gr=class extends hr{callback;done;timer;max;opts;constructor(e,t,n={maxWait:1e3}){if(super(e,t),this.opts=n,typeof this.opts.callback!=`function`)throw TypeError(`callback must be a function`);this.callback=this.opts.callback,this.max=typeof n.maxMessages==`number`&&n.maxMessages>0?n.maxMessages:-1,this.done=je(),this.done.then(()=>{this.callback(null,null)}),this.timer=setTimeout(()=>{this.cancel()},n.maxWait)}cancel(e){e&&this.callback(e,null),clearTimeout(this.timer),this.mux.cancel(this),this.done.resolve()}resolver(e,t){e?(this.ctx&&(e.stack+=`\\n\\n${this.ctx.stack}`),this.cancel(e)):(this.callback(null,t),this.opts.strategy===`count`&&(this.max--,this.max===0&&this.cancel()),this.opts.strategy===`stall`&&(clearTimeout(this.timer),this.timer=setTimeout(()=>{this.cancel()},this.opts.stall||300)),this.opts.strategy===`sentinel`&&t&&t.data.length===0&&this.cancel())}},_r=class extends hr{deferred;timer;constructor(e,t,n={timeout:1e3},r=!0){super(e,t,r),this.deferred=je(),this.timer=Oe(n.timeout,r)}resolver(e,t){this.timer&&this.timer.cancel(),e?(e instanceof Se||(this.ctx?(this.ctx.message=e.message,this.ctx.cause=e,e=this.ctx):e=new W.RequestError(e.message,{cause:e})),this.deferred.reject(e)):this.deferred.resolve(t),this.cancel()}cancel(e){this.timer&&this.timer.cancel(),this.mux.cancel(this),this.deferred.reject(e||new xe(`cancelled`))}}})),yr,br,xr,Sr=o((()=>{We(),mr(),de(),mn(),xn(),er(),Bt(),vr(),et(),Te(),yr=/[ \\n\\r\\t]/,br=class e{options;protocol;draining;closeListeners;constructor(e){this.draining=!1,this.options=Jn(e)}static connect(t={}){return new Promise((n,r)=>{let i=new e(t);pr.connect(i.options,i).then(e=>{i.protocol=e,n(i)}).catch(e=>{r(e)})})}closed(){return this.protocol.closed}async close(){await this.protocol.close()}abortClose(e){this.protocol.abortClose(e)}isStale(){return!this.isClosed()&&this.protocol.isStale()}_check(e,t,n){if(this.isClosed())throw new W.ClosedConnectionError;if(t&&this.isDraining()||n&&this.protocol.noMorePublishing)throw new W.DrainingConnectionError;if(e||=``,e.length===0||yr.test(e))throw new W.InvalidSubjectError(e)}publish(e,t,n){if(this._check(e,!1,!0),n?.reply&&this._check(n.reply,!1,!0),typeof n?.traceOnly==`boolean`){let e=n.headers||dn();e.set(`Nats-Trace-Only`,`true`),n.headers=e}if(typeof n?.traceDestination==`string`){let e=n.headers||dn();e.set(`Nats-Trace-Dest`,n.traceDestination),n.headers=e}this.protocol.publish(e,t,n)}publishMessage(e){return this.publish(e.subject,e.data,{reply:e.reply,headers:e.headers})}respondMessage(e){return e.reply?(this.publish(e.reply,e.data,{reply:e.reply,headers:e.headers}),!0):!1}subscribe(e,t={}){this._check(e,!0,!1);let n=new dr(this.protocol,e,t);return typeof t.callback!=`function`&&typeof t.slow==`number`&&n.setSlowNotificationFn(t.slow,e=>{this.protocol.dispatchStatus({type:`slowConsumer`,sub:n,pending:e})}),this.protocol.subscribe(n),n}_resub(e,t,n){this._check(t,!0,!1);let r=e;r.max=n,n&&(r.max=n+r.received),this.protocol.resub(r,t)}requestMany(e,t=ce,n={maxWait:1e3,maxMessages:-1}){let r=!this.protocol.options.noAsyncTraces;try{this._check(e,!0,!0)}catch(e){return Promise.reject(e)}if(n.strategy=n.strategy||`timer`,n.maxWait=n.maxWait||1e3,n.maxWait<1)return Promise.reject(pe.format(`timeout`,`must be greater than 0`));let i=new zt;function a(e){i.push(()=>{i.stop(e)})}function o(e,t){e||t===null?a(e===null?void 0:e):i.push(t)}if(n.noMux){let s=r?(/* @__PURE__ */ Error()).stack:null,c=typeof n.maxMessages==`number`&&n.maxMessages>0?n.maxMessages:-1,l=this.subscribe(Xe(this.options.inboxPrefix),{callback:(t,r)=>{r?.data?.length===0&&r?.headers?.status===`503`&&(t=new W.NoRespondersError(e)),t?(s&&(t.stack+=`\\n\\n${s}`),u(t)):(o(null,r),n.strategy===`count`&&(c--,c===0&&u()),n.strategy===`stall`&&(h(),m=setTimeout(()=>{u()},300)),n.strategy===`sentinel`&&r&&r.data.length===0&&u())}});l.requestSubject=e,l.closed.then(()=>{a()}).catch(e=>{i.stop(e)});let u=e=>{e&&i.push(()=>{throw e}),h(),l.drain().then(()=>{a()}).catch(e=>{a()})};i.iterClosed.then(()=>{h(),l?.unsubscribe()}).catch(e=>{h(),l?.unsubscribe()});let{headers:d,traceDestination:f,traceOnly:p}=n;try{this.publish(e,t,{reply:l.getSubject(),headers:d,traceDestination:f,traceOnly:p})}catch(e){u(e)}let m=setTimeout(()=>{u()},n.maxWait),h=()=>{m&&clearTimeout(m)}}else{let r=n;r.callback=o,i.iterClosed.then(()=>{a.cancel()}).catch(e=>{a.cancel(e)});let a=new gr(this.protocol.muxSubscriptions,e,r);this.protocol.request(a);let{headers:s,traceDestination:c,traceOnly:l}=n;try{this.publish(e,t,{reply:`${this.protocol.muxSubscriptions.baseInbox}${a.token}`,headers:s,traceDestination:c,traceOnly:l})}catch(e){a.cancel(e)}}return Promise.resolve(i)}request(e,t,n={timeout:1e3,noMux:!1}){try{this._check(e,!0,!0)}catch(e){return Promise.reject(e)}let r=!this.protocol.options.noAsyncTraces;if(n.timeout=n.timeout||1e3,n.timeout<1)return Promise.reject(pe.format(`timeout`,`must be greater than 0`));if(!n.noMux&&n.reply)return Promise.reject(pe.format([`reply`,`noMux`],`are mutually exclusive`));if(n.noMux){let i=n.reply?n.reply:Xe(this.options.inboxPrefix),a=je(),o=r?new W.RequestError(``):null,s=this.subscribe(i,{max:1,timeout:n.timeout,callback:(t,n)=>{n&&n.data?.length===0&&n.headers?.code===503&&(t=new W.NoRespondersError(e)),t?(t instanceof Se||(o?(o.message=t.message,o.cause=t,t=o):t=new W.RequestError(t.message,{cause:t})),a.reject(t),s.unsubscribe()):a.resolve(n)}});return s.requestSubject=e,this.protocol.publish(e,t,{reply:i,headers:n.headers}),a}{let i=new _r(this.protocol.muxSubscriptions,e,n,r);this.protocol.request(i);let{headers:a,traceDestination:o,traceOnly:s}=n;try{this.publish(e,t,{reply:`${this.protocol.muxSubscriptions.baseInbox}${i.token}`,headers:a,traceDestination:o,traceOnly:s})}catch(e){i.cancel(e)}let c=Promise.race([i.timer,i.deferred]);return c.catch(()=>{i.cancel()}),c}}flush(){return this.isClosed()?Promise.reject(new W.ClosedConnectionError):this.protocol.flush()}drain(){return this.isClosed()?Promise.reject(new W.ClosedConnectionError):this.isDraining()?Promise.reject(new W.DrainingConnectionError):(this.draining=!0,this.protocol.drain())}async[Symbol.asyncDispose](){this.isClosed()||(this.isDraining()?await this.closed():await this.drain())}isClosed(){return this.protocol.isClosed()}isDraining(){return this.draining}getServer(){let e=this.protocol.getServer();return e?e.listen:``}setServers(e){this.protocol.servers.setServers(e)}getServers(){return this.protocol.servers.snapshot()}status(){let e=new zt;return e.iterClosed.then(()=>{let t=this.protocol.listeners.indexOf(e);t>-1&&this.protocol.listeners.splice(t,1)}),this.protocol.listeners.push(e),e}get info(){return this.protocol.isClosed()?void 0:this.protocol.info}async context(){return(await this.request(`$SYS.REQ.USER.INFO`)).json((e,t)=>e===`time`?new Date(Date.parse(t)):t)}stats(){return{inBytes:this.protocol.inBytes,outBytes:this.protocol.outBytes,inMsgs:this.protocol.inMsgs,outMsgs:this.protocol.outMsgs}}getServerVersion(){let e=this.info;return e?_n(e.version):void 0}async rtt(){if(this.isClosed())throw new W.ClosedConnectionError;if(!this.protocol.connected)throw new W.RequestError(`connection disconnected`);let e=Date.now();return await this.flush(),Date.now()-e}get features(){return this.protocol.features}reconnect(){return this.isClosed()?Promise.reject(new W.ClosedConnectionError):this.isDraining()?Promise.reject(new W.DrainingConnectionError):this.protocol.reconnect()}forceReconnect(){return this.isClosed()?Promise.reject(new W.ClosedConnectionError):this.isDraining()?Promise.reject(new W.DrainingConnectionError):this.protocol.forceReconnect()}addCloseListener(e){this.closeListeners===void 0&&(this.closeListeners=new xr(this.closed())),this.closeListeners.add(e)}removeCloseListener(e){this.closeListeners&&this.closeListeners.remove(e)}},xr=class{listeners;constructor(e){this.listeners=[],e.then(e=>{this.notify(e)})}add(e){this.listeners.push(e)}remove(e){this.listeners=this.listeners.filter(t=>t!==e)}notify(e){this.listeners.forEach(t=>{if(typeof t.connectionClosedCallback==`function`)try{t.connectionClosedCallback(e)}catch{}}),this.listeners=[]}}})),Cr=o((()=>{de()}));function wr(e,t){return`${Tr(e/t)}/sec`}function Tr(e,t=!1){let n=t?1e3:1024,r=t?[`k`,`M`,`G`,`T`,`P`,`E`]:[`K`,`M`,`G`,`T`,`P`,`E`],i=t?`iB`:`B`;if(e<n)return`${e.toFixed(2)} ${i}`;let a=parseInt(Math.log(e)/Math.log(n)+``),o=parseInt(a-1+``);return`${(e/n**+a).toFixed(2)} ${r[o]}${i}`}function Er(e){return e.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g,`,`)}var Dr,Or,kr=o((()=>{Cr(),Je(),We(),Dr=class{name;duration;date;payload;msgs;lang;version;bytes;asyncRequests;min;max;constructor(e,t){this.name=e,this.duration=t,this.date=Date.now(),this.payload=0,this.msgs=0,this.bytes=0}toString(){let e=this.duration/1e3,t=Math.round(this.msgs/e),n=this.asyncRequests?`asyncRequests`:``,r=``;return this.max&&(r=`${this.min}/${this.max}`),`${this.name}${n?` [asyncRequests]`:``} ${Er(t)} msgs/sec - [${e.toFixed(2)} secs] ~ ${wr(this.bytes,e)} ${r}`}toCsv(){return`"${this.name}",${new Date(this.date).toISOString()},${this.lang},${this.version},${this.msgs},${this.payload},${this.bytes},${this.duration},${this.asyncRequests?this.asyncRequests:!1}\\n`}static header(){return`Test,Date,Lang,Version,Count,MsgPayload,Bytes,Millis,Async\n`}},Or=class{nc;callbacks;msgs;size;subject;asyncRequests;pub;sub;req;rep;perf;payload;constructor(e,t={msgs:1e5,size:128,subject:``,asyncRequests:!1,pub:!1,sub:!1,req:!1,rep:!1}){if(this.nc=e,this.callbacks=t.callbacks||!1,this.msgs=t.msgs||0,this.size=t.size||0,this.subject=t.subject||qe.nuid.next(),this.asyncRequests=t.asyncRequests||!1,this.pub=t.pub||!1,this.sub=t.sub||!1,this.req=t.req||!1,this.rep=t.rep||!1,this.perf=new ze,this.payload=this.size?new Uint8Array(this.size):ce,!this.pub&&!this.sub&&!this.req&&!this.rep)throw Error(`no options selected`)}async run(){return this.nc.closed().then(e=>{if(e)throw e}),this.callbacks?await this.runCallbacks():await this.runAsync(),this.processMetrics()}processMetrics(){let{lang:e,version:t}=this.nc.protocol.transport;this.pub&&this.sub&&this.perf.measure(`pubsub`,`pubStart`,`subStop`),this.req&&this.rep&&this.perf.measure(`reqrep`,`reqStart`,`reqStop`);let n=this.perf.getEntries(),r=n.find(e=>e.name===`pubsub`),i=n.find(e=>e.name===`reqrep`),a=n.find(e=>e.name===`req`),o=n.find(e=>e.name===`rep`),s=n.find(e=>e.name===`pub`),c=n.find(e=>e.name===`sub`),l=this.nc.stats(),u=[];if(r){let{name:n,duration:i}=r,a=new Dr(n,i);a.msgs=this.msgs*2,a.bytes=l.inBytes+l.outBytes,a.lang=e,a.version=t,a.payload=this.payload.length,u.push(a)}if(i){let{name:n,duration:r}=i,a=new Dr(n,r);a.msgs=this.msgs*2,a.bytes=l.inBytes+l.outBytes,a.lang=e,a.version=t,a.payload=this.payload.length,u.push(a)}if(s){let{name:n,duration:r}=s,i=new Dr(n,r);i.msgs=this.msgs,i.bytes=l.outBytes,i.lang=e,i.version=t,i.payload=this.payload.length,u.push(i)}if(c){let{name:n,duration:r}=c,i=new Dr(n,r);i.msgs=this.msgs,i.bytes=l.inBytes,i.lang=e,i.version=t,i.payload=this.payload.length,u.push(i)}if(o){let{name:n,duration:r}=o,i=new Dr(n,r);i.msgs=this.msgs,i.bytes=l.inBytes+l.outBytes,i.lang=e,i.version=t,i.payload=this.payload.length,u.push(i)}if(a){let{name:n,duration:r}=a,i=new Dr(n,r);i.msgs=this.msgs,i.bytes=l.inBytes+l.outBytes,i.lang=e,i.version=t,i.payload=this.payload.length,u.push(i)}return u}async runCallbacks(){let e=[];if(this.sub){let t=je();e.push(t);let n=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:()=>{n++,n===1&&this.perf.mark(`subStart`),n===this.msgs&&(this.perf.mark(`subStop`),this.perf.measure(`sub`,`subStart`,`subStop`),t.resolve())}})}if(this.rep){let t=je();e.push(t);let n=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:(e,r)=>{r.respond(this.payload),n++,n===1&&this.perf.mark(`repStart`),n===this.msgs&&(this.perf.mark(`repStop`),this.perf.measure(`rep`,`repStart`,`repStop`),t.resolve())}})}if(this.pub){let t=(async()=>{this.perf.mark(`pubStart`);for(let e=0;e<this.msgs;e++)this.nc.publish(this.subject,this.payload);await this.nc.flush(),this.perf.mark(`pubStop`),this.perf.measure(`pub`,`pubStart`,`pubStop`)})();e.push(t)}if(this.req){let t=(async()=>{if(this.asyncRequests){this.perf.mark(`reqStart`);let e=[];for(let t=0;t<this.msgs;t++)e.push(this.nc.request(this.subject,this.payload,{timeout:2e4}));await Promise.all(e),this.perf.mark(`reqStop`),this.perf.measure(`req`,`reqStart`,`reqStop`)}else{this.perf.mark(`reqStart`);for(let e=0;e<this.msgs;e++)await this.nc.request(this.subject);this.perf.mark(`reqStop`),this.perf.measure(`req`,`reqStart`,`reqStop`)}})();e.push(t)}await Promise.all(e)}async runAsync(){let e=[];if(this.rep){let t=!1,n=this.nc.subscribe(this.subject,{max:this.msgs}),r=(async()=>{for await(let e of n)t||=(this.perf.mark(`repStart`),!0),e.respond(this.payload);await this.nc.flush(),this.perf.mark(`repStop`),this.perf.measure(`rep`,`repStart`,`repStop`)})();e.push(r)}if(this.sub){let t=!1,n=this.nc.subscribe(this.subject,{max:this.msgs}),r=(async()=>{for await(let e of n)t||=(this.perf.mark(`subStart`),!0);this.perf.mark(`subStop`),this.perf.measure(`sub`,`subStart`,`subStop`)})();e.push(r)}if(this.pub){let t=(async()=>{this.perf.mark(`pubStart`);for(let e=0;e<this.msgs;e++)this.nc.publish(this.subject,this.payload);await this.nc.flush(),this.perf.mark(`pubStop`),this.perf.measure(`pub`,`pubStart`,`pubStop`)})();e.push(t)}if(this.req){let t=(async()=>{if(this.asyncRequests){this.perf.mark(`reqStart`);let e=[];for(let t=0;t<this.msgs;t++)e.push(this.nc.request(this.subject,this.payload,{timeout:2e4}));await Promise.all(e),this.perf.mark(`reqStop`),this.perf.measure(`req`,`reqStart`,`reqStop`)}else{this.perf.mark(`reqStart`);for(let e=0;e<this.msgs;e++)await this.nc.request(this.subject);this.perf.mark(`reqStop`),this.perf.measure(`req`,`reqStart`,`reqStop`)}})();e.push(t)}await Promise.all(e)}}})),Ar,jr=o((()=>{Ar=class{interval;maxOut;cancelAfter;timer;autoCancelTimer;last;missed;count;callback;constructor(e,t,n={maxOut:2}){this.interval=e,this.maxOut=n?.maxOut||2,this.cancelAfter=n?.cancelAfter||0,this.last=Date.now(),this.missed=0,this.count=0,this.callback=t,this._schedule()}cancel(){this.autoCancelTimer&&clearTimeout(this.autoCancelTimer),this.timer&&clearInterval(this.timer),this.timer=0,this.autoCancelTimer=0,this.missed=0}work(){this.last=Date.now(),this.missed=0}_change(e,t=0,n=2){this.interval=e,this.maxOut=n,this.cancelAfter=t,this.restart()}restart(){this.cancel(),this._schedule()}_schedule(){this.cancelAfter>0&&(this.autoCancelTimer=setTimeout(()=>{this.cancel()},this.cancelAfter)),this.timer=setInterval(()=>{if(this.count++,Date.now()-this.last>this.interval&&this.missed++,this.missed>=this.maxOut)try{this.callback(this.missed)===!0&&this.cancel()}catch(e){console.log(e)}},this.interval)}}})),Mr,Nr=o((()=>{Mr=`3.4.0`}));function Pr(e){return`${e}${e.includes(`?`)?`&`:`?`}${Br}`}function Fr(){try{return new DecompressionStream(`deflate-raw`)}catch{return null}}function Ir(e,t){/^(.*:\\/\\/)(.*)/.test(e)||(e=typeof t==`boolean`?`${t===!0?`https`:`http`}://${e}`:`https://${e}`);let n=new URL(e),r=n.protocol.toLowerCase();r===`ws:`&&(t=!1),r===`wss:`&&(t=!0),r!==`https:`&&r!==`http`&&(e=e.replace(/^(.*:\\/\\/)(.*)/gm,`$2`),n=new URL(`http://${e}`));let i,a,o=n.hostname,s=n.pathname,c=n.search||``;switch(r){case`http:`:case`ws:`:case`nats:`:a=n.port||`80`,i=`ws:`;break;case`https:`:case`wss:`:case`tls:`:a=n.port||`443`,i=`wss:`;break;default:a=n.port||t===!0?`443`:`80`,i=t===!0?`wss:`:`ws:`}return`${i}//${o}:${a}${s}${c}`}function Lr(e={}){return rt({defaultPort:443,urlParseFn:Ir,factory:()=>{if(e.tls)throw pe.format(`tls`,`is not configurable on w3c websocket connections`);return new Kr}}),br.connect(e)}var Rr,zr,Br,Vr,Hr,Ur,Wr,Gr,Kr,qr=o((()=>{We(),mt(),er(),nt(),mr(),Sr(),Nr(),Te(),Rr=Mr,zr=`nats.ws`,Br=`compress=cui-deflate`,Vr=0,Hr=1,Ur=5,Wr=new Uint8Array([0,0,255,255]),Gr=class{deliver;fail;writer;reader;backlog=[];busy=!1;closed=!1;constructor(e,t,n){this.deliver=t,this.fail=n,this.writer=e.writable.getWriter(),this.reader=e.readable.getReader()}push(e){this.busy?this.backlog.push(e):e[0]===Vr?this.deliver(e.subarray(1)):(this.busy=!0,this.drain(e).catch(e=>{this.closed||this.fail(e)}))}close(){this.closed||(this.closed=!0,this.backlog=[],this.writer.abort().catch(()=>{}))}async drain(e){let t=e;for(;t&&!this.closed;){if(t[0]===Vr)this.deliver(t.subarray(1));else if(t[0]===Hr&&t.length>Ur)await this.inflate(t);else throw new W.ProtocolError(`unexpected frame from relay`);t=this.backlog.shift()}this.busy=!1}async inflate(e){let t=new DataView(e.buffer,e.byteOffset,e.length).getUint32(1),n=new Uint8Array(e.length-1);n.set(e.subarray(Ur)),n.set(Wr,e.length-Ur);let r=this.writer.write(n);for(r.catch(()=>{});t>0;){let{value:e,done:n}=await this.reader.read();if(n)throw new W.ProtocolError(`relay frame stream ended`);if(t-=e.length,t<0)throw new W.ProtocolError(`relay frame longer than announced`);this.deliver(e)}await r}},Kr=class{version;lang;closeError;connected;done;socket;options;socketClosed;encrypted;peeked;yields;signal;closedNotification;pendingConnect;inflater;constructor(){this.version=Rr,this.lang=zr,this.connected=!1,this.done=!1,this.socketClosed=!1,this.encrypted=!1,this.peeked=!1,this.yields=[],this.signal=je(),this.closedNotification=je(),this.pendingConnect=null}async connect(e,t){let n=je();this.pendingConnect=n,this.options=t;let r=Fr(),i=r?Pr(e.src):e.src;if(t.wsFactory){let{socket:e,encrypted:n}=await t.wsFactory(i,t);this.socket=e,this.encrypted=n}else this.encrypted=i.indexOf(`wss://`)===0,this.socket=new WebSocket(i);this.socket.binaryType=`arraybuffer`,this.socket.onopen=()=>{this.done&&this._closed(/* @__PURE__ */ Error(`aborted`))};let a=e=>{if(this.done)return;if(this.yields.push(e),this.peeked){this.signal.resolve();return}let r=tt.concat(...this.yields),i=lt(r);if(i!==``){let e=ir.exec(i);if(!e){t.debug&&console.error(`!!!`,De(r)),n.reject(/* @__PURE__ */ Error(`unexpected response from server`));return}try{Yn(JSON.parse(e[1]),this.options),this.peeked=!0,this.connected=!0,this.signal.resolve(),n.resolve()}catch(e){n.reject(e);return}}};return this.socket.onmessage=e=>{if(this.done)return;let t=new Uint8Array(e.data);this.inflater===void 0&&(this.inflater=r&&t[0]<=Hr?new Gr(r,a,e=>this._closed(e)):null),this.inflater?this.inflater.push(t):a(t)},this.socket.onclose=e=>{let t;e.code>=4e3&&e.code<=4999?t=Error(e.reason||`close code ${e.code}`):!e.wasClean&&e.reason!==``&&(t=Error(e.reason)),t&&(t.wsCloseCode=e.code),this._closed(t),this._cleanup()},this.socket.onerror=e=>{if(this.done)return;let t=e,r=new W.ConnectionError(t.message);n.reject(r),this._cleanup()},n}_cleanup(){this.inflater?.close(),this.socketClosed===!1&&(this.socketClosed=!0,this.socket.onopen=null,this.socket.onmessage=null,this.socket.onerror=null,this.socket.onclose=null,this.closedNotification.resolve(this.closeError))}disconnect(){this._closed(void 0,!0)}async _closed(e,t=!0){if(this.pendingConnect?.reject(e??new W.ConnectionError(`transport closed during handshake`)),this.done)try{this.socket.close()}catch{}else{if(this.closeError=e,!e){let e=Date.now();for(;!this.socketClosed&&this.socket.bufferedAmount>0&&!(Date.now()-e>=3e3);)await ke(100)}this.done=!0;try{this.socket.close()}catch{}return this._cleanup(),this.closedNotification}}get isClosed(){return this.done}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){for(;;){if(this.done)return;this.yields.length===0&&await this.signal;let e=this.yields;this.yields=[];for(let t=0;t<e.length;t++)this.options.debug&&console.info(`> ${De(e[t])}`),yield e[t];if(this.done)break;this.yields.length===0&&(e.length=0,this.yields=e,this.signal=je())}}isEncrypted(){return this.connected&&this.encrypted}send(e){if(!this.done)try{this.socket.send(e.buffer),this.options.debug&&console.info(`< ${De(e)}`);return}catch(t){this.options.debug&&console.error(`!!! ${De(e)}: ${t}`)}}close(e){return this._closed(e,!1)}closed(){return this.closedNotification}discard(){this.socket?.close()}}})),Jr=/* @__PURE__ */ c({AuthorizationError:()=>ge,Bench:()=>Or,ClosedConnectionError:()=>_e,Connect:()=>lr,ConnectionError:()=>ye,DEFAULT_MAX_RECONNECT_ATTEMPTS:()=>10,DataBuffer:()=>tt,DenoBuffer:()=>$t,DrainingConnectionError:()=>ve,Empty:()=>ce,Feature:()=>yn,Features:()=>bn,Heartbeat:()=>Wt,INFO:()=>ir,IdleHeartbeatMonitor:()=>Ar,InvalidArgumentError:()=>pe,InvalidOperationError:()=>me,InvalidSubjectError:()=>fe,Kind:()=>rn,MAX_SIZE:()=>Qt,Match:()=>Ze,Metric:()=>Dr,MsgHdrsImpl:()=>pn,MsgImpl:()=>hn,MuxSubscription:()=>Vt,NatsConnectionImpl:()=>br,NoRespondersError:()=>Ce,Nuid:()=>qe.Nuid,Parser:()=>cn,PermissionViolationError:()=>we,ProtocolError:()=>be,ProtocolHandler:()=>pr,QueuedIteratorImpl:()=>zt,RequestError:()=>xe,RequestOne:()=>_r,Servers:()=>Lt,SimpleMutex:()=>Be,State:()=>G,SubscriptionImpl:()=>dr,Subscriptions:()=>fr,TD:()=>ue,TE:()=>le,TimeoutError:()=>Se,UserAuthenticationExpiredError:()=>he,backoff:()=>Fe,buildAuthenticator:()=>qn,canonicalMIMEHeaderKey:()=>un,checkOptions:()=>Yn,checkUnsupportedOption:()=>Xn,collect:()=>Ne,compare:()=>vn,createInbox:()=>Xe,credsAuthenticator:()=>Un,deadline:()=>Ae,defaultOptions:()=>Gn,deferred:()=>je,delay:()=>ke,describe:()=>tn,errors:()=>W,extend:()=>Ee,extractProtocolMessage:()=>lt,getResolveFn:()=>st,hasWsProtocol:()=>Kn,headers:()=>dn,ipV4:()=>ht,isIP:()=>gt,isIPV4OrHostname:()=>Mt,jwtAuthenticator:()=>Hn,millis:()=>Le,nanos:()=>Ie,nkeyAuthenticator:()=>Vn,nkeys:()=>Fn,nuid:()=>qe.nuid,parseIP:()=>_t,parseOptions:()=>Jn,parseSemVer:()=>_n,protoLen:()=>ct,readAll:()=>Jt,render:()=>De,setTransportFactory:()=>rt,syncIterator:()=>Ye,timeout:()=>Oe,tokenAuthenticator:()=>Bn,usernamePasswordAuthenticator:()=>zn,writeAll:()=>Yt,wsUrlParseFn:()=>Ir,wsconnect:()=>Lr}),Yr=o((()=>{Sr(),Je(),gn(),mt(),mr(),We(),mn(),Gt(),Ht(),nt(),er(),vr(),Wn(),In(),Bt(),ln(),en(),kr(),de(),jt(),xn(),Cr(),et(),jr(),Rt(),qr(),Te()})),Xr=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ServiceVerb=e.ServiceError=e.ServiceErrorCodeHeader=e.ServiceErrorHeader=e.ServiceResponseType=void 0,e.ServiceResponseType={STATS:`io.nats.micro.v1.stats_response`,INFO:`io.nats.micro.v1.info_response`,PING:`io.nats.micro.v1.ping_response`},e.ServiceErrorHeader=`Nats-Service-Error`,e.ServiceErrorCodeHeader=`Nats-Service-Error-Code`,e.ServiceError=class t extends Error{code;constructor(e,t){super(t),this.code=e}static isServiceError(e){return t.toServiceError(e)!==null}static toServiceError(n){let r=n?.headers?.get(e.ServiceErrorCodeHeader)||``;if(r!==``){let i=parseInt(r)||400,a=n?.headers?.get(e.ServiceErrorHeader)||``;return new t(i,a.length?a:r)}return null}},e.ServiceVerb={PING:`PING`,STATS:`STATS`,INFO:`INFO`}})),Zr=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ServiceImpl=e.ServiceGroupImpl=e.ServiceMsgImpl=e.ServiceApiPrefix=void 0;let t=(Yr(),d(Jr)),n=Xr();function r(e,t=``){if(t===``)throw Error(`${e} name required`);let n=i(t);if(n.length)throw Error(`invalid ${e} name - ${e} name ${n}`)}function i(e=``){if(!e)throw Error(`name required`);let t=/^[-\\w]+$/g;if(e.match(t)===null){for(let n of e.split(``))if(n.match(t)===null)return`cannot contain \'${n}\'`}return``}e.ServiceApiPrefix=`$SRV`;var a=class{msg;constructor(e){this.msg=e}get data(){return this.msg.data}get sid(){return this.msg.sid}get subject(){return this.msg.subject}get reply(){return this.msg.reply||``}get headers(){return this.msg.headers}respond(e,t){return this.msg.respond(e,t)}respondError(e,r,i,a){return a||={},a.headers=a.headers||(0,t.headers)(),a.headers?.set(n.ServiceErrorCodeHeader,`${e}`),a.headers?.set(n.ServiceErrorHeader,r),this.msg.respond(i,a)}json(e){return this.msg.json(e)}string(){return this.msg.string()}};e.ServiceMsgImpl=a;var o=class e{subject;queue;srv;constructor(t,n=``,r=``){n!==``&&c(`service group`,n);let i=``;if(t instanceof l)this.srv=t,i=``;else if(t instanceof e){let e=t;this.srv=e.srv,r===void 0&&(r=e.queue),i=e.subject}else throw Error(`unknown ServiceGroup type`);this.subject=this.calcSubject(i,n),this.queue=r}calcSubject(e,t=``){return t===``?e:e===``?t:`${e}.${t}`}addEndpoint(e=``,t){t||={subject:e};let n=typeof t==`function`?{handler:t,subject:e}:t;r(`endpoint`,e);let{subject:i,handler:a,metadata:o,queue:c}=n;i||=e,c||=this.queue,s(`endpoint subject`,i),i=this.calcSubject(this.subject,i);let l={name:e,subject:i,queue:c,handler:a,metadata:o};return this.srv._addEndpoint(l)}addGroup(t=``,n){return n===void 0&&(n=this.queue),new e(this,t,n)}};e.ServiceGroupImpl=o;function s(e,t){if(t===``)throw Error(`${e} cannot be empty`);if(t.indexOf(` `)!==-1)throw Error(`${e} cannot contain spaces: \'${t}\'`);let n=t.split(`.`);n.forEach((r,i)=>{if(r===`>`&&i!==n.length-1)throw Error(`${e} cannot have internal \'>\': \'${t}\'`)})}function c(e,t){if(t.indexOf(` `)!==-1)throw Error(`${e} cannot contain spaces: \'${t}\'`);t.split(`.`).forEach(n=>{if(n===`>`)throw Error(`${e} name cannot contain internal \'>\': \'${t}\'`)})}var l=class i{nc;_id;config;handlers;internal;_stopped;_done;started;closeListener;static controlSubject(t,n=``,i=``,a){let o=a??e.ServiceApiPrefix;return n===``&&i===``?`${o}.${t}`:(r(`control subject name`,n),i===``?`${o}.${t}.${n}`:(r(`control subject id`,i),`${o}.${t}.${n}.${i}`))}constructor(e,n={name:``,version:``}){this.nc=e,this.config=Object.assign({},n),this.config.queue===void 0&&(this.config.queue=`q`),n.metadata=Object.freeze(n.metadata||{}),r(`name`,this.config.name),this.config.queue&&r(`queue`,this.config.queue),(0,t.parseSemVer)(this.config.version),this._id=t.nuid.next(),this.internal=[],this._done=(0,t.deferred)(),this._stopped=!1,this.handlers=[],this.started=(/* @__PURE__ */ new Date()).toISOString(),this.reset(),this.closeListener={connectionClosedCallback:e=>{this.close(e).catch()}},this.nc.addCloseListener(this.closeListener)}get subjects(){return this.handlers.filter(e=>e.internal===!1).map(e=>e.subject)}get id(){return this._id}get name(){return this.config.name}get description(){return this.config.description??``}get version(){return this.config.version}get metadata(){return this.config.metadata}errorToHeader(e){let r=(0,t.headers)();if(e instanceof n.ServiceError){let t=e;r.set(n.ServiceErrorHeader,t.message),r.set(n.ServiceErrorCodeHeader,`${t.code}`)}else r.set(n.ServiceErrorHeader,e.message),r.set(n.ServiceErrorCodeHeader,`500`);return r}setupHandler(e,n=!1){let r=n?``:e.queue?e.queue:this.config.queue,{name:i,subject:o,handler:s}=e,c=e;c.internal=n,n&&this.internal.push(c),c.stats=new u(i,o,r),c.queue=r;let l=s?(e,n)=>{if(e){this.close(e);return}let r=Date.now();try{s(e,new a(n))}catch(e){c.stats.countError(e),n?.respond(t.Empty,{headers:this.errorToHeader(e)})}finally{c.stats.countLatency(r)}}:void 0;return c.sub=this.nc.subscribe(o,{callback:l,queue:r}),c.sub.closed.then(()=>{this._stopped||this.close(/* @__PURE__ */ Error(`required subscription ${e.subject} stopped`)).catch()}).catch(t=>{if(!this._stopped){let n=/* @__PURE__ */ Error(`required subscription ${e.subject} errored: ${t.message}`);n.stack=t.stack,this.close(n).catch()}}),c}info(){return{type:n.ServiceResponseType.INFO,name:this.name,id:this.id,version:this.version,description:this.description,metadata:this.metadata,endpoints:this.endpoints()}}endpoints(){return this.handlers.map(e=>{let{subject:t,metadata:n,name:r,queue:i}=e;return{subject:t,metadata:n,name:r,queue_group:i}})}async stats(){let e=[];for(let t of this.handlers){if(typeof this.config.statsHandler==`function`)try{t.stats.data=await this.config.statsHandler(t)}catch(e){t.stats.countError(e)}e.push(t.stats.stats(t.qi))}return{type:n.ServiceResponseType.STATS,name:this.name,id:this.id,version:this.version,started:this.started,metadata:this.metadata,endpoints:e}}addInternalHandler(e,t){let n=`${e}`.toUpperCase();this._doAddInternalHandler(`${n}-all`,e,t),this._doAddInternalHandler(`${n}-kind`,e,t,this.name),this._doAddInternalHandler(`${n}`,e,t,this.name,this.id)}_doAddInternalHandler(e,t,n,r=``,a=``){let o={};o.name=e,o.subject=i.controlSubject(t,r,a),o.handler=n,this.setupHandler(o,!0)}start(){let e=(e,t)=>e?(this.close(e),Promise.reject(e)):this.stats().then(e=>(t?.respond(JSON.stringify(e)),Promise.resolve())),t=(e,t)=>e?(this.close(e),Promise.reject(e)):(t?.respond(JSON.stringify(this.info())),Promise.resolve()),r=JSON.stringify(this.ping());return this.addInternalHandler(n.ServiceVerb.PING,(e,t)=>e?(this.close(e).then().catch(),Promise.reject(e)):(t.respond(r),Promise.resolve())),this.addInternalHandler(n.ServiceVerb.STATS,e),this.addInternalHandler(n.ServiceVerb.INFO,t),this.handlers.forEach(e=>{let{subject:t}=e;typeof t==`string`&&e.handler!==null&&this.setupHandler(e)}),Promise.resolve(this)}close(e){if(this._stopped)return this._done;this._stopped=!0,this.nc.removeCloseListener(this.closeListener);let t=[];return this.nc.isClosed()||(t=this.handlers.concat(this.internal).map(e=>e.sub.drain())),Promise.allSettled(t).then(()=>{this._done.resolve(e||null)}),this._done}get stopped(){return this._done}get isStopped(){return this._stopped}stop(e){return this.close(e)}ping(){return{type:n.ServiceResponseType.PING,name:this.name,id:this.id,version:this.version,metadata:this.metadata}}reset(){if(this.started=(/* @__PURE__ */ new Date()).toISOString(),this.handlers)for(let e of this.handlers)e.stats.reset(e.qi)}addGroup(e,t){return new o(this,e,t)}addEndpoint(e,t){return new o(this).addEndpoint(e,t)}_addEndpoint(e){let n=new t.QueuedIteratorImpl;n.profile=!0,n.noIterator=typeof e.handler==`function`,n.noIterator||(e.handler=(e,t)=>{e?this.stop(e).catch():n.push(new a(t))},n.iterClosed.then(()=>{this.close().catch()}));let r=this.setupHandler(e,!1);return r.sub.closed.then(e=>{e?this.stop(e):n.stop()}),r.qi=n,this.handlers.push(r),n}};e.ServiceImpl=l;var u=class{name;subject;average_processing_time;num_requests;processing_time;num_errors;last_error;data;metadata;queue;constructor(e,t,n=``){this.name=e,this.subject=t,this.average_processing_time=0,this.num_errors=0,this.num_requests=0,this.processing_time=0,this.queue=n}reset(e){this.num_requests=0,this.processing_time=0,this.average_processing_time=0,this.num_errors=0,this.last_error=void 0,this.data=void 0;let t=e;t&&(t.time=0,t.processed=0)}countLatency(e){this.num_requests++,this.processing_time+=(0,t.nanos)(Date.now()-e),this.average_processing_time=Math.round(this.processing_time/this.num_requests)}countError(e){this.num_errors++,this.last_error=e.message}_stats(){let{name:e,subject:t,average_processing_time:n,num_errors:r,num_requests:i,processing_time:a,last_error:o,data:s,queue:c}=this;return{name:e,subject:t,average_processing_time:n,num_errors:r,num_requests:i,processing_time:a,last_error:o,data:s,queue_group:c}}stats(e){let n=e;return n?.noIterator===!1&&(this.processing_time=(0,t.nanos)(n.time),this.num_requests=n.processed,this.average_processing_time=this.processing_time>0&&this.num_requests>0?this.processing_time/this.num_requests:0),this._stats()}}})),Qr=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ServiceClientImpl=void 0;let t=(Yr(),d(Jr)),n=Zr(),r=Xr();e.ServiceClientImpl=class{nc;prefix;opts;constructor(e,t={strategy:`stall`,maxWait:2e3},n){this.nc=e,this.prefix=n,this.opts=t}ping(e=``,t=``){return this.q(r.ServiceVerb.PING,e,t)}stats(e=``,t=``){return this.q(r.ServiceVerb.STATS,e,t)}info(e=``,t=``){return this.q(r.ServiceVerb.INFO,e,t)}async q(e,r=``,i=``){let a=new t.QueuedIteratorImpl,o=n.ServiceImpl.controlSubject(e,r,i,this.prefix),s=await this.nc.requestMany(o,t.Empty,this.opts);return(async()=>{for await(let e of s)try{let t=e.json();a.push(t)}catch(e){a.push(()=>{a.stop(e)})}a.push(()=>{a.stop()})})().catch(e=>{a.stop(e)}),a}}})),$r=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Svcm=e.ServiceVerb=e.ServiceResponseType=e.ServiceErrorHeader=e.ServiceErrorCodeHeader=e.ServiceError=void 0;let t=Zr(),n=Qr();var r=Xr();Object.defineProperty(e,"ServiceError",{enumerable:!0,get:function(){return r.ServiceError}}),Object.defineProperty(e,"ServiceErrorCodeHeader",{enumerable:!0,get:function(){return r.ServiceErrorCodeHeader}}),Object.defineProperty(e,"ServiceErrorHeader",{enumerable:!0,get:function(){return r.ServiceErrorHeader}}),Object.defineProperty(e,"ServiceResponseType",{enumerable:!0,get:function(){return r.ServiceResponseType}}),Object.defineProperty(e,"ServiceVerb",{enumerable:!0,get:function(){return r.ServiceVerb}}),e.Svcm=class{nc;constructor(e){this.nc=e}add(e){try{return new t.ServiceImpl(this.nc,e).start()}catch(e){return Promise.reject(e)}}client(e,t){return new n.ServiceClientImpl(this.nc,e,t)}}})),ei=/* @__PURE__ */ s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Svcm=e.ServiceVerb=e.ServiceResponseType=e.ServiceErrorHeader=e.ServiceErrorCodeHeader=e.ServiceError=void 0;var t=$r();Object.defineProperty(e,"ServiceError",{enumerable:!0,get:function(){return t.ServiceError}}),Object.defineProperty(e,"ServiceErrorCodeHeader",{enumerable:!0,get:function(){return t.ServiceErrorCodeHeader}}),Object.defineProperty(e,"ServiceErrorHeader",{enumerable:!0,get:function(){return t.ServiceErrorHeader}}),Object.defineProperty(e,"ServiceResponseType",{enumerable:!0,get:function(){return t.ServiceResponseType}}),Object.defineProperty(e,"ServiceVerb",{enumerable:!0,get:function(){return t.ServiceVerb}}),Object.defineProperty(e,"Svcm",{enumerable:!0,get:function(){return t.Svcm}})})),ti;try{ti=new TextDecoder}catch{}var q,ni,J=0;let ri=[];var ii=ri,ai=0,oi={},si,ci,li=0,ui=0,di,fi,pi=[],Y,mi={useRecords:!1,mapsAsObjects:!0},hi=class{};let gi=new hi;gi.name=`MessagePack 0xC1`;var _i=!1,vi=2,yi=class e{constructor(e){e&&(e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.sequential&&e.trusted!==!1&&(e.trusted=!0,!e.structures&&e.useRecords!=0&&(e.structures=[],e.maxSharedStructures||=0)),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0),e.int64AsNumber&&(e.int64AsType=`number`)),Object.assign(this,e)}unpack(t,n){if(q)return Yi(()=>(Xi(),this?this.unpack(t,n):e.prototype.unpack.call(mi,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(ni=n.end||t.length,J=n.start||0):(J=0,ni=n>-1?n:t.length),ai=0,ui=0,ci=null,ii=ri,di=null,q=t;try{Y=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(e){throw q=null,t instanceof Uint8Array?e:Error(`Source must be a Uint8Array or Buffer but was a `+(t&&typeof t==`object`?t.constructor.name:typeof t))}if(this instanceof e){if(oi=this,this.structures)return si=this.structures,bi(n);(!si||si.length>0)&&(si=[])}else oi=mi,(!si||si.length>0)&&(si=[]);return bi(n)}unpackMultiple(e,t){let n,r=0;try{_i=!0;let i=e.length,a=this?this.unpack(e,i):Qi.unpack(e,i);if(t){if(t(a,r,J)===!1)return;for(;J<i;)if(r=J,t(bi(),r,J)===!1)return}else{for(n=[a];J<i;)r=J,n.push(bi());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{_i=!1,Xi()}}_mergeStructures(e,t){this._onLoadedStructures&&(e=this._onLoadedStructures(e)),e||=[],Object.isFrozen(e)&&(e=e.map(e=>e.slice(0)));for(let t=0,n=e.length;t<n;t++){let n=e[t];n&&(n.isShared=!0,t>=32&&(n.highByte=t-32>>5))}e.sharedLength=e.length;for(let n in t||[])if(n>=0){let r=e[n],i=t[n];i&&(r&&((e.restoreStructures||(e.restoreStructures=[]))[n]=r),e[n]=i)}return this.structures=e}decode(e,t){return this.unpack(e,t)}};function bi(e){try{if(!oi.trusted&&!_i){let e=si.sharedLength||0;e<si.length&&(si.length=e)}let t;if(oi._readStruct&&q[J]<64&&q[J]>=32?(t=oi._readStruct(q,J,ni),q=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),J=ni):t=Si(),di&&=(J=di.postBundlePosition,null),_i&&(si.restoreStructures=null),J==ni)si&&si.restoreStructures&&xi(),si=null,q=null,fi&&=null;else if(J>ni)throw Error(`Unexpected end of MessagePack data`);else if(!_i){let e;try{e=JSON.stringify(t,(e,t)=>typeof t==`bigint`?`${t}n`:t).slice(0,100)}catch(t){e=`(JSON view not available `+t+`)`}throw Error(`Data read, but end of buffer not reached `+e)}return t}catch(e){throw si&&si.restoreStructures&&xi(),Xi(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||J>ni)&&(e.incomplete=!0),e}}function xi(){for(let e in si.restoreStructures)si[e]=si.restoreStructures[e];si.restoreStructures=null}function Si(){let e=q[J++];if(e<160){if(e<128){if(e<64)return e;{let t=si[e&63]||oi.getStructures&&Ei()[e&63];return t?(t.read||=wi(t,e&63),t.read()):e}}if(e<144){if(e-=128,oi.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Hi();e===`__proto__`&&(e=`__proto_`),t[e]=Si()}return t}{let t=/* @__PURE__ */ new Map;for(let n=0;n<e;n++)t.set(Si(),Si());return t}}{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=Si();return oi.freezeData?Object.freeze(t):t}}if(e<192){let t=e-160;if(ui>=J)return ci.slice(J-li,(J+=t)-li);if(ui==0&&ni<140){let e=t<16?Li(t):Ii(t);if(e!=null)return e}return Di(t)}{let t;switch(e){case 192:return null;case 193:return di?(t=Si(),t>0?di[1].slice(di.position1,di.position1+=t):di[0].slice(di.position0,di.position0-=t)):gi;case 194:return!1;case 195:return!0;case 196:if(t=q[J++],t===void 0)throw Error(`Unexpected end of buffer`);return zi(t);case 197:return t=Y.getUint16(J),J+=2,zi(t);case 198:return t=Y.getUint32(J),J+=4,zi(t);case 199:return Bi(q[J++]);case 200:return t=Y.getUint16(J),J+=2,Bi(t);case 201:return t=Y.getUint32(J),J+=4,Bi(t);case 202:if(t=Y.getFloat32(J),oi.useFloat32>2){let e=Zi[(q[J]&127)<<1|q[J+1]>>7];return J+=4,(e*t+(t>0?.5:-.5)|0)/e}return J+=4,t;case 203:return t=Y.getFloat64(J),J+=8,t;case 204:return q[J++];case 205:return t=Y.getUint16(J),J+=2,t;case 206:return t=Y.getUint32(J),J+=4,t;case 207:return oi.int64AsType===`number`?(t=Y.getUint32(J)*4294967296,t+=Y.getUint32(J+4)):oi.int64AsType===`string`?t=Y.getBigUint64(J).toString():oi.int64AsType===`auto`?(t=Y.getBigUint64(J),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=Y.getBigUint64(J),J+=8,t;case 208:return Y.getInt8(J++);case 209:return t=Y.getInt16(J),J+=2,t;case 210:return t=Y.getInt32(J),J+=4,t;case 211:return oi.int64AsType===`number`?(t=Y.getInt32(J)*4294967296,t+=Y.getUint32(J+4)):oi.int64AsType===`string`?t=Y.getBigInt64(J).toString():oi.int64AsType===`auto`?(t=Y.getBigInt64(J),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=Y.getBigInt64(J),J+=8,t;case 212:if(t=q[J++],t==114)return Wi(q[J++]&63);{let e=pi[t];if(e)return e.read?(J++,e.read(Si())):e.noBuffer?(J++,e()):e(q.subarray(J,++J));throw Error(`Unknown extension `+t)}case 213:return t=q[J],t==114?(J++,Wi(q[J++]&63,q[J++])):Bi(2);case 214:return Bi(4);case 215:return Bi(8);case 216:return Bi(16);case 217:return t=q[J++],ui>=J?ci.slice(J-li,(J+=t)-li):Oi(t);case 218:return t=Y.getUint16(J),J+=2,ui>=J?ci.slice(J-li,(J+=t)-li):ki(t);case 219:return t=Y.getUint32(J),J+=4,ui>=J?ci.slice(J-li,(J+=t)-li):Ai(t);case 220:return t=Y.getUint16(J),J+=2,Ni(t);case 221:return t=Y.getUint32(J),J+=4,Ni(t);case 222:return t=Y.getUint16(J),J+=2,Pi(t);case 223:return t=Y.getUint32(J),J+=4,Pi(t);default:if(e>=224)return e-256;throw e===void 0?Mi():Error(`Unknown MessagePack token `+e)}}}let Ci=/^[a-zA-Z_$][a-zA-Z\\d_$]*$/;function wi(e,t){function n(){if(n.count++>vi){let r;try{r=e.read=Function(`r`,`return function(){return `+(oi.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:Ci.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(Si)}catch{return vi=1/0,n()}return e.read0=r,e.highByte===0&&(e.read=Ti(t,e.read)),r()}let r={};for(let t=0,n=e.length;t<n;t++){let n=e[t];n===`__proto__`&&(n=`__proto_`),r[n]=Si()}return oi.freezeData?Object.freeze(r):r}return n.count=0,e.read0=n,e.highByte===0?Ti(t,n):n}let Ti=(e,t)=>function(){let n=q[J++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=si[r]||Ei()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=wi(i,e),i.read()};function Ei(){let e=Yi(()=>(q=null,oi.getStructures()));return si=oi._mergeStructures(e,si)}var Di=ji,Oi=ji,ki=ji,Ai=ji;function ji(e){let t;if(e<16&&(t=Li(e)))return t;if(e>64&&ti)return ti.decode(q.subarray(J,J+=e));let n=J+e,r=[];for(t=``;J<n;){let e=q[J++];if(!(e&128))r.push(e);else if((e&224)==192){if(e<194||J>=n||(q[J]&192)!=128)r.push(65533);else{let t=q[J++]&63;r.push((e&31)<<6|t)}}else if((e&240)==224){let t=J<n?q[J]:0;if(J>=n||(t&192)!=128||e===224&&t<160||e===237&&t>=160)r.push(65533);else if(J++,J>=n||(q[J]&192)!=128)r.push(65533);else{let n=q[J++]&63;r.push((e&31)<<12|(t&63)<<6|n)}}else if((e&248)==240){let t=J<n?q[J]:0;if(e>244||J>=n||(t&192)!=128||e===240&&t<144||e===244&&t>=144)r.push(65533);else if(J++,J>=n||(q[J]&192)!=128)r.push(65533);else{let i=q[J++]&63;if(J>=n||(q[J]&192)!=128)r.push(65533);else{let n=q[J++]&63,a=(e&7)<<18|(t&63)<<12|i<<6|n;a-=65536,r.push(a>>>10&1023|55296),r.push(56320|a&1023)}}}else r.push(65533);r.length>=4096&&(t+=Fi.apply(String,r),r.length=0)}return r.length>0&&(t+=Fi.apply(String,r)),t}function Mi(){let e=/* @__PURE__ */ Error(`Unexpected end of MessagePack data`);return e.incomplete=!0,e}function Ni(e){if(e>ni-J)throw Mi();let t=Array(e);for(let n=0;n<e;n++)t[n]=Si();return oi.freezeData?Object.freeze(t):t}function Pi(e){if(e>(ni-J)/2)throw Mi();if(oi.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Hi();e===`__proto__`&&(e=`__proto_`),t[e]=Si()}return t}{let t=/* @__PURE__ */ new Map;for(let n=0;n<e;n++)t.set(Si(),Si());return t}}var Fi=String.fromCharCode;function Ii(e){let t=J,n=Array(e);for(let r=0;r<e;r++){let e=q[J++];if((e&128)>0){J=t;return}n[r]=e}return Fi.apply(String,n)}function Li(e){if(e<4){if(e<2){if(e===0)return``;{let e=q[J++];if((e&128)>1){--J;return}return Fi(e)}}{let t=q[J++],n=q[J++];if((t&128)>0||(n&128)>0){J-=2;return}if(e<3)return Fi(t,n);let r=q[J++];if((r&128)>0){J-=3;return}return Fi(t,n,r)}}{let t=q[J++],n=q[J++],r=q[J++],i=q[J++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){J-=4;return}if(e<6){if(e===4)return Fi(t,n,r,i);{let e=q[J++];if((e&128)>0){J-=5;return}return Fi(t,n,r,i,e)}}if(e<8){let a=q[J++],o=q[J++];if((a&128)>0||(o&128)>0){J-=6;return}if(e<7)return Fi(t,n,r,i,a,o);let s=q[J++];if((s&128)>0){J-=7;return}return Fi(t,n,r,i,a,o,s)}{let a=q[J++],o=q[J++],s=q[J++],c=q[J++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){J-=8;return}if(e<10){if(e===8)return Fi(t,n,r,i,a,o,s,c);{let e=q[J++];if((e&128)>0){J-=9;return}return Fi(t,n,r,i,a,o,s,c,e)}}if(e<12){let l=q[J++],u=q[J++];if((l&128)>0||(u&128)>0){J-=10;return}if(e<11)return Fi(t,n,r,i,a,o,s,c,l,u);let d=q[J++];if((d&128)>0){J-=11;return}return Fi(t,n,r,i,a,o,s,c,l,u,d)}{let l=q[J++],u=q[J++],d=q[J++],f=q[J++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){J-=12;return}if(e<14){if(e===12)return Fi(t,n,r,i,a,o,s,c,l,u,d,f);{let e=q[J++];if((e&128)>0){J-=13;return}return Fi(t,n,r,i,a,o,s,c,l,u,d,f,e)}}{let p=q[J++],m=q[J++];if((p&128)>0||(m&128)>0){J-=14;return}if(e<15)return Fi(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=q[J++];if((h&128)>0){J-=15;return}return Fi(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function Ri(){let e=q[J++],t;if(e<192)t=e-160;else switch(e){case 217:t=q[J++];break;case 218:t=Y.getUint16(J),J+=2;break;case 219:t=Y.getUint32(J),J+=4;break;default:throw Error(`Expected string`)}return ji(t)}function zi(e){return oi.copyBuffers?Uint8Array.prototype.slice.call(q,J,J+=e):q.subarray(J,J+=e)}function Bi(e){let t=q[J++];if(pi[t]){let n;return pi[t](q.subarray(J,n=J+=e),e=>{J=e;try{return Si()}finally{J=n}})}throw Error(`Unknown extension type `+t)}var Vi=Array(4096);function Hi(){let e=q[J++];if(e>=160&&e<192){if(e-=160,ui>=J)return ci.slice(J-li,(J+=e)-li);if(!(ui==0&&ni<180))return Di(e)}else return J--,Ui(Si());let t=(e<<5^(e>1?Y.getUint16(J):e>0?q[J]:0))&4095,n=Vi[t],r=J,i=J+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=Y.getUint32(r),a!=n[o++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(a=q[r++],a!=n[o++]){r=1879048192;break}if(r===i)return J=r,n.string;i-=3,r=J}for(n=[],Vi[t]=n,n.bytes=e;r<i;)a=Y.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=q[r++],n.push(a);let s=e<16?Li(e):Ii(e);return s==null?n.string=Di(e):n.string=s}function Ui(e){if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return e.toString();if(e==null)return e+``;if(oi.allowArraysInMapKeys&&Array.isArray(e)&&e.flat().every(e=>[`string`,`number`,`boolean`,`bigint`].includes(typeof e)))return e.flat().toString();throw Error(`Invalid property type for record: ${typeof e}`)}let Wi=(e,t)=>{let n=Si().map(Ui),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=si[e];return i&&(i.isShared||_i)&&((si.restoreStructures||(si.restoreStructures=[]))[e]=i),si[e]=n,n.read=wi(n,r),(n.read0||n.read)()};pi[0]=()=>{},pi[0].noBuffer=!0,pi[66]=e=>{let t=e.byteLength%8||8,n=BigInt(e[0]&128?e[0]-256:e[0]);for(let r=1;r<t;r++)n<<=BigInt(8),n+=BigInt(e[r]);if(e.byteLength!==t){let r=new DataView(e.buffer,e.byteOffset,e.byteLength),i=(e,t)=>{let n=t-e;if(n<=40){let n=r.getBigUint64(e);for(let i=e+8;i<t;i+=8)n<<=BigInt(64),n|=r.getBigUint64(i);return n}let a=e+(n>>4<<3),o=i(e,a),s=i(a,t);return o<<BigInt((t-a)*8)|s};n=n<<BigInt((r.byteLength-t)*8)|i(t,r.byteLength)}return n};let Gi={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};pi[101]=()=>{let e=Si();if(!Gi[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return Gi[e[0]](e[1],{cause:e[2]})},pi[105]=e=>{if(oi.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=Y.getUint32(J-4);fi||=/* @__PURE__ */ new Map;let n=q[J],r;r=n>=144&&n<160||n==220||n==221?[]:n>=128&&n<144||n==222||n==223?/* @__PURE__ */ new Map:(n>=199&&n<=201||n>=212&&n<=216)&&q[J+1]===115?/* @__PURE__ */ new Set:{};let i={target:r};fi.set(t,i);let a=Si();if(i.used)Object.assign(r,a);else return i.target=a;if(r instanceof Map)for(let[e,t]of a.entries())r.set(e,t);if(r instanceof Set)for(let e of Array.from(a))r.add(e);return r},pi[112]=e=>{if(oi.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=Y.getUint32(J-4),n=fi.get(t);return n.used=!0,n.target},pi[115]=()=>new Set(Si());let Ki=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),qi=typeof globalThis==`object`?globalThis:window;pi[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=Ki[t];if(!r){if(t===16)return n;if(t===17)return new DataView(n);throw Error(`Could not find typed array for code `+t)}return new qi[r](n)},pi[120]=()=>{let e=Si();return new RegExp(e[0],e[1])};let Ji=[];pi[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=J;return J+=t-e.length,di=Ji,di=[Ri(),Ri()],di.position0=0,di.position1=0,di.postBundlePosition=J,J=n,Si()},pi[255]=e=>e.length==4?/* @__PURE__ */ new Date((e[0]*16777216+(e[1]<<16)+(e[2]<<8)+e[3])*1e3):e.length==8?/* @__PURE__ */ new Date(((e[0]<<22)+(e[1]<<14)+(e[2]<<6)+(e[3]>>2))/1e6+((e[3]&3)*4294967296+e[4]*16777216+(e[5]<<16)+(e[6]<<8)+e[7])*1e3):e.length==12?/* @__PURE__ */ new Date(((e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3])/1e6+((e[4]&128?-281474976710656:0)+e[6]*1099511627776+e[7]*4294967296+e[8]*16777216+(e[9]<<16)+(e[10]<<8)+e[11])*1e3):/* @__PURE__ */ new Date(`invalid`);function Yi(e){oi&&oi._onSaveState&&oi._onSaveState();let t=ni,n=J,r=ai,i=li,a=ui,o=ci,s=ii,c=fi,l=di,u=new Uint8Array(q.slice(0,ni)),d=si,f=si.slice(0,si.length),p=oi,m=_i,h=e();return ni=t,J=n,ai=r,li=i,ui=a,ci=o,ii=s,fi=c,di=l,q=u,_i=m,si=d,si.splice(0,si.length,...f),oi=p,Y=new DataView(q.buffer,q.byteOffset,q.byteLength),h}function Xi(){q=null,fi=null,si=null}let Zi=Array(147);for(let e=0;e<256;e++)Zi[e]=+(`1e`+Math.floor(45.15-e*.30103));var Qi=new yi({useRecords:!1});Qi.unpack,Qi.unpackMultiple,Qi.unpack;let $i={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array((/* @__PURE__ */ new Float32Array(1)).buffer,0,4),yi.SUPPORTS_STRUCT_HOOKS=!0;let ea;try{ea=new TextEncoder}catch{}let ta,na,ra=typeof Buffer<`u`,ia=ra?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,aa=ra?Buffer:Uint8Array,oa=ra?4294967296:2144337920,X,sa,ca,Z=0,la,ua=null,da=/[\\u0080-\\uFFFF]/,fa=Symbol(`record-id`);var pa=class extends yi{constructor(e){super(e),this.offset=0;let t,n,r,i,a=aa.prototype.utf8Write?function(e,t){return X.utf8Write(e,t,X.byteLength-t)}:ea&&ea.encodeInto?function(e,t){return ea.encodeInto(e,X.subarray(t)).written}:!1,o=this;e||={};let s=e&&e.sequential,c=e.structures||e.saveStructures,l=e.maxSharedStructures;if(l??=c?32:0,l>8160)throw Error(`Maximum maxSharedStructure is 8160`);e.structuredClone&&e.moreTypes==null&&(this.moreTypes=!0);let u=e.maxOwnStructures;u??=c?32:64,!this.structures&&e.useRecords!=0&&(this.structures=[]);let d=l>32||u+l>64,f=l+64,p=l+u+64;if(p>8256)throw Error(`Maximum maxSharedStructure + maxOwnStructure is 8192`);let m=[],h=0,g=0;this.pack=this.encode=function(e,a){if(X||(X=new ia(8192),ca=X.dataView||(X.dataView=new DataView(X.buffer,0,8192)),Z=0),la=X.length-10,la-Z<2048?(X=new ia(X.length),ca=X.dataView||(X.dataView=new DataView(X.buffer,0,X.length)),la=X.length-10,Z=0):Z=Z+7&2147483640,t=Z,a&2048&&(Z+=a&255),i=o.structuredClone?/* @__PURE__ */ new Map:null,o.bundleStrings&&typeof e!=`string`?(ua=[],ua.size=1/0):ua=null,r=o.structures,r){r.uninitialized&&(r=o._mergeStructures(o.getStructures()));let e=r.sharedLength||0;if(e>l)throw Error(`Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to `+r.sharedLength);if(!r.transitions){r.transitions=Object.create(null);for(let t=0;t<e;t++){let e=r[t];if(!e)continue;let n,i=r.transitions;for(let t=0,r=e.length;t<r;t++){let r=e[t];n=i[r],n||=i[r]=Object.create(null),i=n}i[fa]=t+64}this.lastNamedStructuresLength=e}s||(r.nextId=e+64)}n&&=!1;let c;try{o._writeStruct&&e&&typeof e==`object`?e.constructor===Object?w(e):e.constructor!==Map&&!Array.isArray(e)&&!na.some(t=>e instanceof t)?w(o.useToJSON!==!1&&e.toJSON?e.toJSON():e):y(e):y(e);let n=ua;if(ua&&va(t,y,0),i&&i.idsToInsert){let e=i.idsToInsert.sort((e,t)=>e.offset>t.offset?1:-1),r=e.length,a=-1;for(;n&&r>0;){let i=e[--r].offset+t;i<n.stringsPosition+t&&a===-1&&(a=0),i>n.position+t?a>=0&&(a+=6):(a>=0&&(ca.setUint32(n.position+t,ca.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&ca.setUint32(n.position+t,ca.getUint32(n.position+t)+a),Z+=e.length*6,Z>la&&T(Z),o.offset=Z;let s=_a(X.subarray(t,Z),e);return i=null,s}return o.offset=Z,a&512?(X.start=t,X.end=Z,X):X.subarray(t,Z)}catch(e){throw c=e,e}finally{if(r&&(_(),n&&o.saveStructures)){let n=r.sharedLength||0,i=X.subarray(t,Z),s=(o._prepareStructures||ya)(r,o);if(!c)return o.saveStructures(s,s.isCompatible)===!1?(r.uninitialized=!0,o.pack(e,a)):(o.lastNamedStructuresLength=n,X.length>1073741824&&(X=null),i)}X.length>1073741824&&(X=null),a&1024&&(Z=t)}};let _=()=>{g<10&&g++;let e=r.sharedLength||0;if(r.length>e&&!s&&(r.length=e),h>1e4)r.transitions=null,g=0,h=0,m.length>0&&(m=[]);else if(m.length>0&&!s){for(let e=0,t=m.length;e<t;e++)m[e][fa]=0;m=[]}},v=e=>{var t=e.length;t<16?X[Z++]=144|t:t<65536?(X[Z++]=220,X[Z++]=t>>8,X[Z++]=t&255):(X[Z++]=221,ca.setUint32(Z,t),Z+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{Z>la&&(X=T(Z));var n=typeof e,r;if(n===`string`){let n=e.length;if(ua&&n>=4&&n<4096){if((ua.size+=n)>21760){let e,n=(ua[0]?ua[0].length*3+ua[1].length:0)+10;Z+n>la&&(X=T(Z+n));let r;ua.position?(r=ua,X[Z]=200,Z+=3,X[Z++]=98,e=Z-t,Z+=4,va(t,y,0),ca.setUint16(e+t-3,Z-t-e)):(X[Z++]=214,X[Z++]=98,e=Z-t,Z+=4),ua=[``,``],ua.previous=r,ua.size=0,ua.position=e}let r=da.test(e);ua[+!r]+=e,X[Z++]=193,y(r?-n:n);return}let i;i=n<32?1:n<256?2:n<65536?3:5;let o=n*3;if(Z+o>la&&(X=T(Z+o)),n<64||!a){let t,a,o,s=Z+i;for(t=0;t<n;t++)a=e.charCodeAt(t),a<128?X[s++]=a:a<2048?(X[s++]=a>>6|192,X[s++]=a&63|128):(a&64512)==55296&&((o=e.charCodeAt(t+1))&64512)==56320?(a=65536+((a&1023)<<10)+(o&1023),t++,X[s++]=a>>18|240,X[s++]=a>>12&63|128,X[s++]=a>>6&63|128,X[s++]=a&63|128):(X[s++]=a>>12|224,X[s++]=a>>6&63|128,X[s++]=a&63|128);r=s-Z-i}else r=a(e,Z+i);r<32?X[Z++]=160|r:r<256?(i<2&&X.copyWithin(Z+2,Z+1,Z+1+r),X[Z++]=217,X[Z++]=r):r<65536?(i<3&&X.copyWithin(Z+3,Z+2,Z+2+r),X[Z++]=218,X[Z++]=r>>8,X[Z++]=r&255):(i<5&&X.copyWithin(Z+5,Z+3,Z+3+r),X[Z++]=219,ca.setUint32(Z,r),Z+=4),Z+=r}else if(n===`number`){if(e>>>0===e)e<32||e<128&&this.useRecords===!1||e<64&&!this._writeStruct?X[Z++]=e:e<256?(X[Z++]=204,X[Z++]=e):e<65536?(X[Z++]=205,X[Z++]=e>>8,X[Z++]=e&255):(X[Z++]=206,ca.setUint32(Z,e),Z+=4);else if((e|0)===e)e>=-32?X[Z++]=256+e:e>=-128?(X[Z++]=208,X[Z++]=e+256):e>=-32768?(X[Z++]=209,ca.setInt16(Z,e),Z+=2):(X[Z++]=210,ca.setInt32(Z,e),Z+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){X[Z++]=202,ca.setFloat32(Z,e);let n;if(t<4||((n=e*Zi[(X[Z]&127)<<1|X[Z+1]>>7])|0)===n){Z+=4;return}Z--}X[Z++]=203,ca.setFloat64(Z,e),Z+=8}}else if(n===`object`||n===`function`){if(!e)X[Z++]=192;else{if(i){let n=i.get(e);if(n){n.id||=(i.idsToInsert||(i.idsToInsert=[])).push(n),X[Z++]=214,X[Z++]=112,ca.setUint32(Z,n.id),Z+=4;return}i.set(e,{offset:Z-t})}let a=e.constructor;if(a===Object)C(e);else if(a===Array)v(e);else if(a===Map){if(this.mapAsEmptyObject)X[Z++]=128;else{r=e.size,r<16?X[Z++]=128|r:r<65536?(X[Z++]=222,X[Z++]=r>>8,X[Z++]=r&255):(X[Z++]=223,ca.setUint32(Z,r),Z+=4);for(let[t,n]of e)y(t),y(n)}}else{for(let t=0,n=ta.length;t<n;t++){let n=na[t];if(e instanceof n){let n=ta[t];if(n.write){n.type&&(X[Z++]=212,X[Z++]=n.type,X[Z++]=0);let t=n.write.call(this,e);t===e?Array.isArray(e)?v(e):C(e):y(t);return}let r=X,i=ca,a=Z;X=null;let o;try{o=n.pack.call(this,e,e=>(X=r,r=null,Z+=e,Z>la&&T(Z),{target:X,targetView:ca,position:Z-e}),y)}finally{r&&(X=r,ca=i,Z=a,la=X.length-10)}o&&(o.length+Z>la&&T(o.length+Z),Z=ga(o,X,Z,n.type));return}}if(Array.isArray(e))v(e);else{if(o.useToJSON!==!1&&e.toJSON){let t=e.toJSON();if(t!==e)return y(t)}if(n===`function`)return y(this.writeFunction&&this.writeFunction(e));C(e)}}}}else if(n===`boolean`)X[Z++]=e?195:194;else if(n===`bigint`){if(e<0x8000000000000000&&e>=-0x8000000000000000)X[Z++]=211,ca.setBigInt64(Z,e);else if(e<0x10000000000000000&&e>0)X[Z++]=207,ca.setBigUint64(Z,e);else if(this.largeBigIntToFloat)X[Z++]=203,ca.setFloat64(Z,Number(e));else if(this.largeBigIntToString)return y(e.toString());else if(this.useBigIntExtension||this.moreTypes){let t=BigInt(e<0?-1:0),n;if(e>>BigInt(65536)===t){let r=BigInt(0x10000000000000000)-BigInt(1),i=[];for(;i.push(e&r),e>>BigInt(63)!==t;)e>>=BigInt(64);n=new Uint8Array(new BigUint64Array(i).buffer),n.reverse()}else{let t=e<0,r=(t?~e:e).toString(16);if(r.length%2?r=`0`+r:parseInt(r.charAt(0),16)>=8&&(r=`00`+r),ra)n=Buffer.from(r,`hex`);else{n=new Uint8Array(r.length/2);for(let e=0;e<n.length;e++)n[e]=parseInt(r.slice(e*2,e*2+2),16)}if(t)for(let e=0;e<n.length;e++)n[e]=~n[e]}n.length+Z>la&&T(n.length+Z),Z=ga(n,X,Z,66);return}else throw RangeError(e+` was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension, or set largeBigIntToFloat to convert to float-64, or set largeBigIntToString to convert to string`);Z+=8}else if(n===`undefined`)this.encodeUndefinedAsNil?X[Z++]=192:(X[Z++]=212,X[Z++]=0,X[Z++]=0);else throw Error(`Unknown type: `+n)},b=this.variableMapSize||this.coercibleKeyAsNumber||this.skipValues?e=>{let t;if(this.skipValues){t=[];for(let n in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(n))&&!this.skipValues.includes(e[n])&&t.push(n)}else t=Object.keys(e);let n=t.length;n<16?X[Z++]=128|n:n<65536?(X[Z++]=222,X[Z++]=n>>8,X[Z++]=n&255):(X[Z++]=223,ca.setUint32(Z,n),Z+=4);let r;if(this.coercibleKeyAsNumber)for(let i=0;i<n;i++){r=t[i];let n=Number(r);y(isNaN(n)?r:n),y(e[r])}else for(let i=0;i<n;i++)y(r=t[i]),y(e[r])}:e=>{X[Z++]=222;let n=Z-t;Z+=2;let r=0;for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(y(t),y(e[t]),r++);if(r>65535)throw Error(`Object is too large to serialize with fast 16-bit map size, use the "variableMapSize" option to serialize this object`);X[n+++t]=r>>8,X[n+t]=r&255},x=this.useRecords===!1?b:e.progressiveRecords&&!d?e=>{let n,i=r.transitions||(r.transitions=Object.create(null)),a=Z++-t,o;for(let s in e)if(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(s)){if(n=i[s],n)i=n;else{let c=Object.keys(e),l=i;i=r.transitions;let u=0;for(let e=0,t=c.length;e<t;e++){let t=c[e];n=i[t],n||(n=i[t]=Object.create(null),u++),i=n}a+t+1==Z?(Z--,E(i,c,u)):D(i,c,a,u),o=!0,i=l[s]}y(e[s])}if(!o){let n=i[fa];n?X[a+t]=n:D(i,Object.keys(e),a,0)}}:e=>{let t,n=r.transitions||(r.transitions=Object.create(null)),i=0;for(let r in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(r))&&(t=n[r],t||(t=n[r]=Object.create(null),i++),n=t);let a=n[fa];a?a>=96&&d?(X[Z++]=((a-=96)&31)+96,X[Z++]=a>>5):X[Z++]=a:E(n,n.__keys__||Object.keys(e),i);for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&y(e[t])},S=typeof this.useRecords==`function`&&this.useRecords,C=S?e=>{S(e)?x(e):b(e)}:x,w=e=>{let i=o._writeStruct(e,X,t,Z,r,T,(e,t,r)=>{if(r)return n=!0;Z=t;let i=X;return y(e),_(),i===X?Z:{position:Z,targetView:ca,target:X}});if(i===0)return C(e);Z=i},T=e=>{let n;if(e>16777216){if(e-t>oa)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(oa,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,X.length-1)>>12)+1<<12;let r=new ia(n);return ca=r.dataView||=new DataView(r.buffer,0,n),e=Math.min(e,X.length),X.copy?X.copy(r,0,t,e):r.set(X.slice(t,e)),Z-=t,t=0,la=r.length-10,X=r},E=(e,t,i)=>{let a=r.nextId;a||=64,a<f&&this.shouldShareStructure&&!this.shouldShareStructure(t)?(a=r.nextOwnId,a<p||(a=f),r.nextOwnId=a+1):(a>=p&&(a=f),r.nextId=a+1);let o=t.highByte=a>=96&&d?a-96>>5:-1;e[fa]=a,e.__keys__=t,r[a-64]=t,a<f?(t.isShared=!0,r.sharedLength=a-63,n=!0,o>=0?(X[Z++]=(a&31)+96,X[Z++]=o):X[Z++]=a):(o>=0?(X[Z++]=213,X[Z++]=114,X[Z++]=(a&31)+96,X[Z++]=o):(X[Z++]=212,X[Z++]=114,X[Z++]=a),i&&(h+=g*i),m.length>=u&&(m.shift()[fa]=0),m.push(e),y(t))},D=(e,n,r,i)=>{let a=X,o=Z,s=la,c=t;X=sa,Z=0,t=0,X||(sa=X=new ia(8192)),la=X.length-10,E(e,n,i),sa=X;let l=Z;if(X=a,Z=o,la=s,t=c,l>1){let e=Z+l-1;e>la&&T(e);let n=r+t;X.copyWithin(n+l,n+1,Z),X.set(sa.slice(0,l),n),Z=e}else X[r+t]=sa[0]}}useBuffer(e){X=e,X.dataView||(X.dataView=new DataView(X.buffer,X.byteOffset,X.byteLength)),ca=X.dataView,Z=0}set position(e){Z=e}get position(){return Z}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};na=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,hi],ta=[{pack(e,t,n){let r=e.getTime()/1e3;if((this.useTimestamp32||e.getMilliseconds()===0)&&r>=0&&r<4294967296){let{target:e,targetView:n,position:i}=t(6);e[i++]=214,e[i++]=255,n.setUint32(i,r)}else if(r>0&&r<4294967296){let{target:n,targetView:i,position:a}=t(10);n[a++]=215,n[a++]=255,i.setUint32(a,e.getMilliseconds()*4e6+(r/1e3/4294967296|0)),i.setUint32(a+4,r)}else if(isNaN(r)){if(this.onInvalidDate)return t(0),n(this.onInvalidDate());let{target:e,targetView:r,position:i}=t(3);e[i++]=212,e[i++]=255,e[i++]=255}else{let{target:n,targetView:i,position:a}=t(15);n[a++]=199,n[a++]=12,n[a++]=255,i.setUint32(a,e.getMilliseconds()*1e6),i.setBigInt64(a+4,BigInt(Math.floor(r)))}}},{pack(e,t,n){if(this.setAsEmptyObject)return t(0),n({});let r=Array.from(e),{target:i,position:a}=t(this.moreTypes?3:0);this.moreTypes&&(i[a++]=212,i[a++]=115,i[a++]=0),n(r)}},{pack(e,t,n){let{target:r,position:i}=t(this.moreTypes?3:0);this.moreTypes&&(r[i++]=212,r[i++]=101,r[i++]=0),n([e.name,e.message,e.cause])}},{pack(e,t,n){let{target:r,position:i}=t(this.moreTypes?3:0);this.moreTypes&&(r[i++]=212,r[i++]=120,r[i++]=0),n([e.source,e.flags])}},{pack(e,t){this.moreTypes?ma(e,16,t):ha(ra?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==aa&&this.moreTypes?ma(e,Ki.indexOf(n.name),t):ha(e,t)}},{pack(e,t){this.moreTypes?ma(e,17,t):ha(ra?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function ma(e,t,n,r){let i=e.byteLength;if(i+1<256){var{target:a,position:o}=n(4+i);a[o++]=199,a[o++]=i+1}else if(i+1<65536){var{target:a,position:o}=n(5+i);a[o++]=200,a[o++]=i+1>>8,a[o++]=i+1&255}else{var{target:a,position:o,targetView:s}=n(7+i);a[o++]=201,s.setUint32(o,i+1),o+=4}a[o++]=116,a[o++]=t,e.buffer||(e=new Uint8Array(e)),a.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),o)}function ha(e,t){let n=e.byteLength;var r,i;if(n<256){var{target:r,position:i}=t(n+2);r[i++]=196,r[i++]=n}else if(n<65536){var{target:r,position:i}=t(n+3);r[i++]=197,r[i++]=n>>8,r[i++]=n&255}else{var{target:r,position:i,targetView:a}=t(n+5);r[i++]=198,a.setUint32(i,n),i+=4}r.set(e,i)}function ga(e,t,n,r){let i=e.length;switch(i){case 1:t[n++]=212;break;case 2:t[n++]=213;break;case 4:t[n++]=214;break;case 8:t[n++]=215;break;case 16:t[n++]=216;break;default:i<256?(t[n++]=199,t[n++]=i):i<65536?(t[n++]=200,t[n++]=i>>8,t[n++]=i&255):(t[n++]=201,t[n++]=i>>24,t[n++]=i>>16&255,t[n++]=i>>8&255,t[n++]=i&255)}return t[n++]=r,t.set(e,n),n+=i,n}function _a(e,t){let n,r=t.length*6,i=e.length-r;for(;n=t.pop();){let t=n.offset,a=n.id;e.copyWithin(t+r,t,i),r-=6;let o=t+r;e[o++]=214,e[o++]=105,e[o++]=a>>24,e[o++]=a>>16&255,e[o++]=a>>8&255,e[o++]=a&255,i=t}return e}function va(e,t,n){if(ua.length>0){ca.setUint32(ua.position+e,Z+n-ua.position-e),ua.stringsPosition=Z-e;let r=ua;ua=null,t(r[0]),t(r[1])}}function ya(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}pa.SUPPORTS_STRUCT_HOOKS=!0;let ba=new pa({useRecords:!1});ba.pack,ba.pack;let{NEVER:xa,ALWAYS:Sa,DECIMAL_ROUND:Ca,DECIMAL_FIT:wa}=$i,Ta=new pa({useRecords:!1,bundleStrings:!1,int64AsType:`number`}),Ea=new yi({useRecords:!1,bundleStrings:!1,int64AsType:`number`});function Da(e){return Ta.pack(e)}function Oa(e){return Ea.unpack(e)}let ka=[67,85,73,66],Aa=typeof Buffer<`u`,ja=`__cui_bin__`;function Ma(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Na(e){return e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Pa(e){if(ArrayBuffer.isView(e))return e.byteLength>=16384?Na(e):void 0;if(e instanceof ArrayBuffer)return e.byteLength>=16384?new Uint8Array(e):void 0}function Fa(e,t){if(Array.isArray(e)){let n;for(let r=0;r<e.length;r++){let i=e[r];if(typeof i!=`object`||!i)continue;let a=Fa(i,t);a!==i&&(n??=e.slice(),n[r]=a)}return n??e}let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null){let n=e,r;for(let e in n){let i=n[e];if(typeof i!=`object`||!i||!Object.hasOwn(n,e))continue;let a=Fa(i,t);a!==i&&(r??={...n},r[e]=a)}return r??e}let r=Pa(e);if(r){let e=t.length;return t.push(r),{[ja]:e,l:r.byteLength}}return ArrayBuffer.isView(e)&&!(e instanceof Uint8Array)?Na(e):e}function Ia(e){if(!Ma(e))return!1;let t=e[ja],n=e.l;return!Number.isInteger(t)||t<0||!Number.isInteger(n)||n<0?!1:Object.keys(e).length===2}function La(e,t,n){if(Array.isArray(e)){for(let r=0;r<e.length;r++){let i=e[r];typeof i==`object`&&i&&(e[r]=La(i,t,n))}return e}if(e[ja]!==void 0&&Ia(e)){if(n.outOfOrder||e[ja]!==n.next)return n.outOfOrder=!0,e;let r=e.l,i=n.offset+r;if(i>t.byteLength)throw Error(`Invalid CUIB frame: segment ${n.next} exceeds payload size ${t.byteLength}`);let a=t.subarray(n.offset,i);return n.offset=i,n.next++,a}if(Ma(e))for(let r in e){let i=e[r];typeof i==`object`&&i&&Object.hasOwn(e,r)&&(e[r]=La(i,t,n))}return e}function Ra(e,t){if(Ia(e))t[e[ja]]=e.l;else if(Array.isArray(e))for(let n of e)Ra(n,t);else if(Ma(e))for(let n of Object.keys(e))Ra(e[n],t)}function za(e,t){if(Ia(e))return t[e[ja]];if(Array.isArray(e)){for(let n=0;n<e.length;n++)e[n]=za(e[n],t);return e}if(Ma(e)){for(let n of Object.keys(e))e[n]=za(e[n],t);return e}return e}function Ba(e,t,n){let r=[];Ra(e,r);let i=Array(r.length),a=n.offset;for(let e=n.next;e<r.length;e++){let n=r[e];if(n===void 0)throw Error(`Invalid CUIB frame: missing placeholder for segment ${e}`);if(a+n>t.byteLength)throw Error(`Invalid CUIB frame: segment ${e} exceeds payload size ${t.byteLength}`);i[e]=t.subarray(a,a+n),a+=n}return n.offset=a,za(e,i)}function Va(e){let t=Ua(e);return t instanceof Uint8Array?t:Ha(t)}function Ha(e){let t=typeof Buffer<`u`?Buffer.allocUnsafe(e.size):new Uint8Array(e.size);return Wa(e,t,0),t}function Ua(e){if(typeof e!=`object`||!e)return Ta.pack(e);let t=[],n=Fa(e,t);if(t.length===0)return Ta.pack(n);let r=Ta.pack(n),i=8+r.byteLength;for(let e of t)i+=e.byteLength;return{envelope:r,segments:t,size:i}}function Wa(e,t,n){let r=Ka(e,t,n);for(let n of e.segments)t.set(n,r),r+=n.byteLength}function Ga(e){return 8+e.envelope.byteLength}function Ka(e,t,n){let r=e.envelope.byteLength;return t[n]=ka[0],t[n+1]=ka[1],t[n+2]=ka[2],t[n+3]=ka[3],t[n+4]=r&255,t[n+5]=r>>>8&255,t[n+6]=r>>>16&255,t[n+7]=r>>>24&255,t.set(e.envelope,n+8),n+8+r}function qa(e){if(Aa&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),e.byteLength<8||e[0]!==ka[0]||e[1]!==ka[1]||e[2]!==ka[2]||e[3]!==ka[3])return Ea.unpack(e);let t=(e[4]|e[5]<<8|e[6]<<16)+e[7]*16777216,n=8+t;if(n>e.byteLength)throw Error(`Invalid CUIB frame: envelope length ${t} exceeds payload size ${e.byteLength}`);let r=Ea.unpack(e.subarray(8,n)),i={offset:n,next:0,outOfOrder:!1};if(typeof r==`object`&&r&&(r=La(r,e,i)),i.outOfOrder&&(r=Ba(r,e,i)),i.offset!==e.byteLength)throw Error(`Invalid CUIB frame: expected payload size ${i.offset}, got ${e.byteLength}`);return r}let Ja=1073741824,Ya=3e4;var Xa=class{limit;used=0;constructor(e){this.limit=e&&e>0?e:Ja}get inUse(){return this.used}reserve(e){return this.used+e>this.limit?!1:(this.used+=e,!0)}release(e){this.used=Math.max(0,this.used-e)}};function*Za(e,t,n){let r=e.length,i=Math.ceil(r/n);for(let a=0;a<i;a++){let o=a*n,s=Math.min(o+n,r),c=e.subarray(o,s);yield{id:t,chunkIndex:a,data:c,isLast:a===i-1}}}var Qa=class{id;totalSize;budget;buffer;receivedChunks=/* @__PURE__ */ new Set;totalChunks=0;chunkSize=0;reserved=0;constructor(e,t,n,r,i){this.id=e,this.totalSize=t,this.budget=i,this.totalChunks=n,this.chunkSize=r??Math.ceil(t/n)}addChunk(e){let t=this.checkChunk(e);if(t)throw Error(t);return!this.receivedChunks.has(e.chunkIndex)&&(this.buffer??=this.allocate(),this.buffer.set(e.data,e.chunkIndex*this.chunkSize),this.receivedChunks.add(e.chunkIndex),this.isComplete())}checkChunk(e){if(e.id!==this.id)return`Chunk ID mismatch: expected ${this.id}, got ${e.id}`;let t=e.chunkIndex;if(!Number.isInteger(t)||t<0||t>=this.totalChunks)return`Invalid chunk index ${t} for ${this.totalChunks} chunks`;let n=t===this.totalChunks-1?this.totalSize-t*this.chunkSize:this.chunkSize;if(e.data.length!==n)return`Invalid length ${e.data.length} for chunk ${t}, expected ${n}`}isComplete(){return this.receivedChunks.size===this.totalChunks}getData(){if(!this.isComplete())throw Error(`Not all chunks received`);return qa(this.buffer??new Uint8Array(this.totalSize))}release(){this.reserved>0&&(this.budget?.release(this.reserved),this.reserved=0)}getProgress(){let e=this.receivedChunks.size,t=this.totalChunks;return{received:e,total:t,percentage:t>0?e/t*100:0}}allocate(){if(this.budget){if(!this.budget.reserve(this.totalSize))throw Error(`Transfers in progress would hold more than ${this.budget.limit} bytes`);this.reserved=this.totalSize}return new Uint8Array(this.totalSize)}},$a=class{maxTransfers;transfers=/* @__PURE__ */ new Map;sweepTimer;maxTransferSize;budget;constructor(e,t=32,n){this.maxTransfers=t,this.maxTransferSize=e&&e>0?e:Ja,this.budget=n??new Xa(this.maxTransferSize)}startReceiving(e,t,n,r,i,a){let o=this.checkHeader(t,i,a);if(o){r(/* @__PURE__ */ Error(`Invalid chunk header: ${o}`));return}if(!this.transfers.has(e)&&this.transfers.size>=this.maxTransfers){r(/* @__PURE__ */ Error(`Too many concurrent chunked transfers (${this.maxTransfers})`));return}this.transfers.get(e)?.assembler.release();let s=new Qa(e,i,t,a,this.budget);this.transfers.set(e,{assembler:s,onComplete:n,onError:r,lastActivity:Date.now()}),this.armSweep()}processChunk(e){let t=this.transfers.get(e.id);if(!t)return;let n=t.assembler.checkChunk(e);if(n){this.remove(e.id),t.onError(Error(n));return}t.lastActivity=Date.now();let r;try{if(!t.assembler.addChunk(e))return;r=t.assembler.getData()}catch(n){this.remove(e.id),t.onError(n);return}this.remove(e.id),t.onComplete(r)}cancel(e){this.remove(e)?.onError(/* @__PURE__ */ Error(`Transfer cancelled`))}discard(e){this.remove(e)}dispose(){for(let e of this.transfers.values())e.assembler.release();this.transfers.clear(),this.sweepTimer!==void 0&&(clearTimeout(this.sweepTimer),this.sweepTimer=void 0)}get size(){return this.transfers.size}getProgress(e){return this.transfers.get(e)?.assembler.getProgress()??null}checkHeader(e,t,n){if(!Number.isSafeInteger(t)||!Number.isSafeInteger(e)||!Number.isSafeInteger(n))return`totalSize ${t}, totalChunks ${e} and chunkSize ${n} must be integers`;if(n<=0||n>67108864)return`chunkSize ${n} out of range`;if(t<=0||t>this.maxTransferSize)return`totalSize ${t} out of range (max ${this.maxTransferSize})`;if(e!==Math.ceil(t/n))return`totalChunks ${e} does not match totalSize ${t} / chunkSize ${n}`}remove(e){let t=this.transfers.get(e);return t&&(this.transfers.delete(e),t.assembler.release()),t}armSweep(){if(this.sweepTimer!==void 0||this.transfers.size===0)return;let e=1/0;for(let t of this.transfers.values())e=Math.min(e,t.lastActivity);let t=setTimeout(()=>this.sweepStale(),Math.max(0,e+Ya-Date.now())+1);t.unref?.(),this.sweepTimer=t}sweepStale(){this.sweepTimer=void 0;let e=Date.now()-Ya;for(let[t,n]of this.transfers)n.lastActivity<=e&&(this.remove(t),n.onError(/* @__PURE__ */ Error(`Transfer timed out`)));this.armSweep()}};function eo(e){return e&&/^\\d{1,15}$/.test(e)?Number(e):NaN}\n/*! *****************************************************************************\nCopyright (C) Microsoft. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the "License"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n(/* @__PURE__ */ s((()=>{var e;(function(e){(function(t){var n=typeof globalThis==`object`?globalThis:typeof global==`object`?global:typeof self==`object`?self:typeof this==`object`?this:s(),r=i(e);n.Reflect!==void 0&&(r=i(n.Reflect,r)),t(r,n),n.Reflect===void 0&&(n.Reflect=e);function i(e,t){return function(n,r){Object.defineProperty(e,n,{configurable:!0,writable:!0,value:r}),t&&t(n,r)}}function a(){try{return Function(`return this;`)()}catch{}}function o(){try{return(0,eval)(`(function() { return this; })()`)}catch{}}function s(){return a()||o()}})(function(e,t){var n=Object.prototype.hasOwnProperty,r=typeof Symbol==`function`,i=r&&Symbol.toPrimitive!==void 0?Symbol.toPrimitive:`@@toPrimitive`,a=r&&Symbol.iterator!==void 0?Symbol.iterator:`@@iterator`,o=typeof Object.create==`function`,s={__proto__:[]}instanceof Array,c=!o&&!s,l={create:o?function(){return xe(Object.create(null))}:s?function(){return xe({__proto__:null})}:function(){return xe({})},has:c?function(e,t){return n.call(e,t)}:function(e,t){return t in e},get:c?function(e,t){return n.call(e,t)?e[t]:void 0}:function(e,t){return e[t]}},u=Object.getPrototypeOf(Function),d=typeof Map==`function`&&typeof Map.prototype.entries==`function`?Map:ve(),f=typeof Set==`function`&&typeof Set.prototype.entries==`function`?Set:ye(),p=typeof WeakMap==`function`?WeakMap:be(),m=r?Symbol.for(`@reflect-metadata:registry`):void 0,h=me(),g=he(h);function _(e,t,n,r){if(L(n)){if(!ne(e)||!ie(t))throw TypeError();return D(e,t)}if(!ne(e)||!B(t)||!B(r)&&!L(r)&&!R(r))throw TypeError();return R(r)&&(r=void 0),n=U(n),O(e,t,n,r)}e(`decorate`,_);function v(e,t){function n(n,r){if(!B(n)||!L(r)&&!ae(r))throw TypeError();N(e,t,n,r)}return n}e(`metadata`,v);function y(e,t,n,r){if(!B(n))throw TypeError();return L(r)||(r=U(r)),N(e,t,n,r)}e(`defineMetadata`,y);function b(e,t,n){if(!B(t))throw TypeError();return L(n)||(n=U(n)),k(e,t,n)}e(`hasMetadata`,b);function x(e,t,n){if(!B(t))throw TypeError();return L(n)||(n=U(n)),A(e,t,n)}e(`hasOwnMetadata`,x);function S(e,t,n){if(!B(t))throw TypeError();return L(n)||(n=U(n)),j(e,t,n)}e(`getMetadata`,S);function C(e,t,n){if(!B(t))throw TypeError();return L(n)||(n=U(n)),M(e,t,n)}e(`getOwnMetadata`,C);function w(e,t){if(!B(e))throw TypeError();return L(t)||(t=U(t)),P(e,t)}e(`getMetadataKeys`,w);function T(e,t){if(!B(e))throw TypeError();return L(t)||(t=U(t)),F(e,t)}e(`getOwnMetadataKeys`,T);function E(e,t,n){if(!B(t)||(L(n)||(n=U(n)),!B(t)))throw TypeError();L(n)||(n=U(n));var r=_e(t,n,!1);return!L(r)&&r.OrdinaryDeleteMetadata(e,t,n)}e(`deleteMetadata`,E);function D(e,t){for(var n=e.length-1;n>=0;--n){var r=e[n],i=r(t);if(!L(i)&&!R(i)){if(!ie(i))throw TypeError();t=i}}return t}function O(e,t,n,r){for(var i=e.length-1;i>=0;--i){var a=e[i],o=a(t,n,r);if(!L(o)&&!R(o)){if(!B(o))throw TypeError();r=o}}return r}function k(e,t,n){if(A(e,t,n))return!0;var r=fe(t);return!R(r)&&k(e,r,n)}function A(e,t,n){var r=_e(t,n,!1);return!L(r)&&ee(r.OrdinaryHasOwnMetadata(e,t,n))}function j(e,t,n){if(A(e,t,n))return M(e,t,n);var r=fe(t);if(!R(r))return j(e,r,n)}function M(e,t,n){var r=_e(t,n,!1);if(!L(r))return r.OrdinaryGetOwnMetadata(e,t,n)}function N(e,t,n,r){_e(n,r,!0).OrdinaryDefineOwnMetadata(e,t,n,r)}function P(e,t){var n=F(e,t),r=fe(e);if(r===null)return n;var i=P(r,t);if(i.length<=0)return n;if(n.length<=0)return i;for(var a=new f,o=[],s=0,c=n;s<c.length;s++){var l=c[s],u=a.has(l);u||(a.add(l),o.push(l))}for(var d=0,p=i;d<p.length;d++){var l=p[d],u=a.has(l);u||(a.add(l),o.push(l))}return o}function F(e,t){var n=_e(e,t,!1);return n?n.OrdinaryOwnMetadataKeys(e,t):[]}function I(e){if(e===null)return 1;switch(typeof e){case`undefined`:return 0;case`boolean`:return 2;case`string`:return 3;case`symbol`:return 4;case`number`:return 5;case`object`:return e===null?1:6;default:return 6}}function L(e){return e===void 0}function R(e){return e===null}function z(e){return typeof e==`symbol`}function B(e){return typeof e==`object`?e!==null:typeof e==`function`}function V(e,t){switch(I(e)){case 0:return e;case 1:return e;case 2:return e;case 3:return e;case 4:return e;case 5:return e}var n=t===3?`string`:t===5?`number`:`default`,r=se(e,i);if(r!==void 0){var a=r.call(e,n);if(B(a))throw TypeError();return a}return H(e,n==="default"?`number`:n)}function H(e,t){if(t===`string`){var n=e.toString;if(re(n)){var r=n.call(e);if(!B(r))return r}var i=e.valueOf;if(re(i)){var r=i.call(e);if(!B(r))return r}}else{var i=e.valueOf;if(re(i)){var r=i.call(e);if(!B(r))return r}var a=e.toString;if(re(a)){var r=a.call(e);if(!B(r))return r}}throw TypeError()}function ee(e){return!!e}function te(e){return``+e}function U(e){var t=V(e,3);return z(t)?t:te(t)}function ne(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:Object.prototype.toString.call(e)===`[object Array]`}function re(e){return typeof e==`function`}function ie(e){return typeof e==`function`}function ae(e){switch(I(e)){case 3:return!0;case 4:return!0;default:return!1}}function oe(e,t){return e===t||e!==e&&t!==t}function se(e,t){var n=e[t];if(n!=null){if(!re(n))throw TypeError();return n}}function ce(e){var t=se(e,a);if(!re(t))throw TypeError();var n=t.call(e);if(!B(n))throw TypeError();return n}function le(e){return e.value}function ue(e){var t=e.next();return!t.done&&t}function de(e){var t=e.return;t&&t.call(e)}function fe(e){var t=Object.getPrototypeOf(e);if(typeof e!=`function`||e===u||t!==u)return t;var n=e.prototype,r=n&&Object.getPrototypeOf(n);if(r==null||r===Object.prototype)return t;var i=r.constructor;return typeof i!=`function`||i===e?t:i}function pe(){var e;!L(m)&&t.Reflect!==void 0&&!(m in t.Reflect)&&typeof t.Reflect.defineMetadata==`function`&&(e=ge(t.Reflect));var n,r,i,a=new p,o={registerProvider:s,getProvider:l,setProvider:h};return o;function s(t){if(!Object.isExtensible(o))throw Error(`Cannot add provider to a frozen registry.`);switch(!0){case e===t:break;case L(n):n=t;break;case n===t:break;case L(r):r=t;break;case r===t:break;default:i===void 0&&(i=new f),i.add(t)}}function c(t,a){if(!L(n)){if(n.isProviderFor(t,a))return n;if(!L(r)){if(r.isProviderFor(t,a))return n;if(!L(i))for(var o=ce(i);;){var s=ue(o);if(!s)return;var c=le(s);if(c.isProviderFor(t,a))return de(o),c}}}if(!L(e)&&e.isProviderFor(t,a))return e}function l(e,t){var n=a.get(e),r;return L(n)||(r=n.get(t)),L(r)&&(r=c(e,t),L(r)||(L(n)&&(n=new d,a.set(e,n)),n.set(t,r))),r}function u(e){if(L(e))throw TypeError();return n===e||r===e||!L(i)&&i.has(e)}function h(e,t,n){if(!u(n))throw Error(`Metadata provider not registered.`);var r=l(e,t);if(r!==n){if(!L(r))return!1;var i=a.get(e);L(i)&&(i=new d,a.set(e,i)),i.set(t,n)}return!0}}function me(){var e;return!L(m)&&B(t.Reflect)&&Object.isExtensible(t.Reflect)&&(e=t.Reflect[m]),L(e)&&(e=pe()),!L(m)&&B(t.Reflect)&&Object.isExtensible(t.Reflect)&&Object.defineProperty(t.Reflect,m,{enumerable:!1,configurable:!1,writable:!1,value:e}),e}function he(e){var t=new p,n={isProviderFor:function(e,n){var r=t.get(e);return!L(r)&&r.has(n)},OrdinaryDefineOwnMetadata:o,OrdinaryHasOwnMetadata:i,OrdinaryGetOwnMetadata:a,OrdinaryOwnMetadataKeys:s,OrdinaryDeleteMetadata:c};return h.registerProvider(n),n;function r(r,i,a){var o=t.get(r),s=!1;if(L(o)){if(!a)return;o=new d,t.set(r,o),s=!0}var c=o.get(i);if(L(c)){if(!a)return;if(c=new d,o.set(i,c),!e.setProvider(r,i,n))throw o.delete(i),s&&t.delete(r),Error(`Wrong provider for target.`)}return c}function i(e,t,n){var i=r(t,n,!1);return!L(i)&&ee(i.has(e))}function a(e,t,n){var i=r(t,n,!1);if(!L(i))return i.get(e)}function o(e,t,n,i){r(n,i,!0).set(e,t)}function s(e,t){var n=[],i=r(e,t,!1);if(L(i))return n;for(var a=ce(i.keys()),o=0;;){var s=ue(a);if(!s)return n.length=o,n;var c=le(s);try{n[o]=c}catch(e){try{de(a)}finally{throw e}}o++}}function c(e,n,i){var a=r(n,i,!1);if(L(a)||!a.delete(e))return!1;if(a.size===0){var o=t.get(n);L(o)||(o.delete(i),o.size===0&&t.delete(o))}return!0}}function ge(e){var t=e.defineMetadata,n=e.hasOwnMetadata,r=e.getOwnMetadata,i=e.getOwnMetadataKeys,a=e.deleteMetadata,o=new p;return{isProviderFor:function(e,t){var n=o.get(e);return!L(n)&&n.has(t)?!0:i(e,t).length?(L(n)&&(n=new f,o.set(e,n)),n.add(t),!0):!1},OrdinaryDefineOwnMetadata:t,OrdinaryHasOwnMetadata:n,OrdinaryGetOwnMetadata:r,OrdinaryOwnMetadataKeys:i,OrdinaryDeleteMetadata:a}}function _e(e,t,n){var r=h.getProvider(e,t);if(!L(r))return r;if(n){if(h.setProvider(e,t,g))return g;throw Error(`Illegal state.`)}}function ve(){var e={},t=[],n=function(){function e(e,t,n){this._index=0,this._keys=e,this._values=t,this._selector=n}return e.prototype[`@@iterator`]=function(){return this},e.prototype[a]=function(){return this},e.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var n=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:n,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}();return function(){function t(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.has=function(e){return this._find(e,!1)>=0},t.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},t.prototype.set=function(e,t){var n=this._find(e,!0);return this._values[n]=t,this},t.prototype.delete=function(t){var n=this._find(t,!1);if(n>=0){for(var r=this._keys.length,i=n+1;i<r;i++)this._keys[i-1]=this._keys[i],this._values[i-1]=this._values[i];return this._keys.length--,this._values.length--,oe(t,this._cacheKey)&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},t.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},t.prototype.keys=function(){return new n(this._keys,this._values,r)},t.prototype.values=function(){return new n(this._keys,this._values,i)},t.prototype.entries=function(){return new n(this._keys,this._values,o)},t.prototype[`@@iterator`]=function(){return this.entries()},t.prototype[a]=function(){return this.entries()},t.prototype._find=function(e,t){if(!oe(this._cacheKey,e)){this._cacheIndex=-1;for(var n=0;n<this._keys.length;n++)if(oe(this._keys[n],e)){this._cacheIndex=n;break}}return this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},t}();function r(e,t){return e}function i(e,t){return t}function o(e,t){return[e,t]}}function ye(){return function(){function e(){this._map=new d}return Object.defineProperty(e.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.keys()},e.prototype.entries=function(){return this._map.entries()},e.prototype[`@@iterator`]=function(){return this.keys()},e.prototype[a]=function(){return this.keys()},e}()}function be(){var e=l.create(),t=r();return function(){function e(){this._key=r()}return e.prototype.has=function(e){var t=i(e,!1);return t!==void 0&&l.has(t,this._key)},e.prototype.get=function(e){var t=i(e,!1);return t===void 0?void 0:l.get(t,this._key)},e.prototype.set=function(e,t){var n=i(e,!0);return n[this._key]=t,this},e.prototype.delete=function(e){var t=i(e,!1);return t!==void 0&&delete t[this._key]},e.prototype.clear=function(){this._key=r()},e}();function r(){var t;do t=`@@WeakMap@@`+s();while(l.has(e,t));return e[t]=!0,t}function i(e,r){if(!n.call(e,t)){if(!r)return;Object.defineProperty(e,t,{value:l.create()})}return e[t]}function a(e,t){for(var n=0;n<t;++n)e[n]=Math.random()*255|0;return e}function o(e){if(typeof Uint8Array==`function`){var t=new Uint8Array(e);return typeof crypto<`u`?crypto.getRandomValues(t):typeof msCrypto<`u`?msCrypto.getRandomValues(t):a(t,e),t}return a(Array(e),e)}function s(){var e=o(16);e[6]=e[6]&79|64,e[8]=e[8]&191|128;for(var t=``,n=0;n<16;++n){var r=e[n];(n===4||n===6||n===8)&&(t+=`-`),r<16&&(t+=`0`),t+=r.toString(16).toLowerCase()}return t}}function xe(e){return e.__=void 0,delete e.__,e}})})(e||={})})))();let to=Symbol(`rpc:methods`),no=Symbol(`rpc:nested`),ro=Symbol(`rpc:exposeAll`);function io(e,t=[],n={},r=/* @__PURE__ */ new WeakSet){if(!e||typeof e!=`object`||r.has(e))return n;r.add(e);let i=Object.getOwnPropertyNames(e),a=[],o=Object.getPrototypeOf(e);for(;o&&o!==Object.prototype;)a.push(...Object.getOwnPropertyNames(o)),o=Object.getPrototypeOf(o);let s=[.../* @__PURE__ */ new Set([...i,...a])];for(let r of s)if(!(r===`constructor`||r.startsWith(`_`)||r.startsWith(`#`)))try{if(e.constructor&&Object.prototype.hasOwnProperty.call(e.constructor,r))continue;let i=Object.getOwnPropertyDescriptor(e,r);if(!i){let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype&&!i;)i=Object.getOwnPropertyDescriptor(t,r),t=Object.getPrototypeOf(t)}if(i&&(i.get||i.set)&&!i.value){let i=e[r];if(typeof i==`function`){let a=[...t,r].join(`.`);n[a]=i.bind(e)}continue}let a=e[r],o=[...t,r].join(`.`);typeof a==`function`&&(n[o]=a.bind(e))}catch{}return n}function ao(e,t=[],n={},r=/* @__PURE__ */ new WeakSet){if(r.has(e))return n;r.add(e);let i=e.constructor===Object||e.constructor===void 0,a=Object.getPrototypeOf(e),o=Reflect.hasMetadata(to,e)||Reflect.hasMetadata(to,a)||Reflect.hasMetadata(no,e)||Reflect.hasMetadata(no,a)||Reflect.hasMetadata(ro,a);if(i&&!o){let i=Object.getOwnPropertyNames(e);for(let a of i)if(!(a===`constructor`||a.startsWith(`_`)))try{let i=e[a],o=[...t,a].join(`.`);typeof i==`function`?n[o]=i.bind(e):typeof i==`object`&&i&&!Array.isArray(i)?ao(i,[...t,a],n,r):n[o]=async()=>i}catch{}}else{let i=a&&Reflect.getMetadata(ro,a),o=[...Reflect.getMetadata(to,e)??[],...(a&&Reflect.getMetadata(to,a))??[]],s=[...Reflect.getMetadata(no,e)??[],...(a&&Reflect.getMetadata(no,a))??[]],c=Object.getOwnPropertyNames(e);a&&c.push(...Object.getOwnPropertyNames(a).filter(e=>e!==`constructor`));for(let l of c)if(l!==`constructor`)try{let c=e[l]??a?.[l];if(!c)continue;let u=[...t,l].join(`.`);typeof c==`function`?(i&&!l.startsWith(`_`)||o.includes(l))&&(n[u]=c.bind(e)):o.includes(l)?n[u]=async()=>e[l]:typeof c==`object`&&c&&s.includes(l)&&ao(c,[...t,l],n,r)}catch{}}return n}let oo=Symbol(`rpc.localNoResponders`);var so=class e extends Error{code;data;constructor(e,t,n){super(t),this.name=`RPCException`,this.code=e,this.data=n}static fromJSON(t){return new e(t.code,t.message,t.data)}toJSON(){return{code:this.code,message:this.message,data:this.data}}};function co(e,t,n){return new so(e,t,n)}function lo(e,t){return Object.defineProperty(e,oo,{value:t}),e}function uo(e){if(typeof e!=`object`||!e)return;let t=e[oo];return typeof t==`string`?t:void 0}let fo={METHOD_NOT_FOUND:`METHOD_NOT_FOUND`,INVALID_PARAMS:`INVALID_PARAMS`,INTERNAL_ERROR:`INTERNAL_ERROR`,TIMEOUT:`TIMEOUT`,CONNECTION_CLOSED:`CONNECTION_CLOSED`,STREAM_ERROR:`STREAM_ERROR`,PAYLOAD_TOO_LARGE:`PAYLOAD_TOO_LARGE`,NOT_FOUND:`NOT_FOUND`,FORBIDDEN:`FORBIDDEN`},po=Symbol(`stopped`),mo=zo(),ho=typeof setImmediate==`function`?()=>new Promise(e=>setImmediate(e)):()=>new Promise(e=>setTimeout(e,0));function go(e){return mo?mo.exit(e):e()}var _o=class{stopped=!1;teardowns=/* @__PURE__ */ new Set;add(e){return!this.stopped&&(this.teardowns.add(e),!0)}delete(e){this.teardowns.delete(e)}stop(){this.stopped=!0;let e=[...this.teardowns];return this.teardowns.clear(),e.map(e=>e())}};function vo(e){if(e===!1)return;let t=e?.intervalMs,n=e?.graceMs;return{intervalMs:t!==void 0&&t>0?t:3e4,graceMs:n!==void 0&&n>0?n:3e5}}var yo=class{client;settings;idle=()=>!1;orphaned=()=>{};lastProbe=performance.now();lastPublish=this.lastProbe;forget;noRespondersSince;timer;stopped=!1;constructor(e,t){this.client=e,this.settings=t}reply(){let e=performance.now();if(this.lastPublish=e,!(this.stopped||e-this.lastProbe<this.settings.intervalMs))return this.open()}start(){!this.stopped&&!this.timer&&this.arm()}stop(){this.stopped=!0,clearTimeout(this.timer),this.forget?.(),this.forget=void 0}open(){this.forget&&(this.forget(),this.noRespondersSince=void 0),this.lastProbe=performance.now();let{reply:e,forget:t}=this.client.statusReply(()=>this.noResponders());return this.forget=t,e}noResponders(){this.forget=void 0;let e=performance.now();this.noRespondersSince??=e,!(this.stopped||e-this.noRespondersSince<this.settings.graceMs)&&(this.stop(),this.orphaned())}arm(){let e=Math.max(1,Math.max(this.lastProbe,this.lastPublish)+this.settings.intervalMs-performance.now());this.timer=setTimeout(()=>this.tick(),e),this.timer.unref?.()}tick(){if(this.timer=void 0,this.stopped)return;let e=performance.now(),{intervalMs:t}=this.settings;if(this.client.isConnected&&e-this.lastProbe>=t&&e-this.lastPublish>=t){let e=this.open(),t=!1;try{t=this.idle(e)}catch{}t||(this.forget?.(),this.forget=void 0)}this.arm()}};async function bo(e,t,n,r,i,a,o){ko(n,`stream.`);let s=new AbortController,c=o&&new yo(i,o),l=!0,u,d,f,p=()=>{l&&(l=!1,s.abort(),c?.stop(),f?.(po))},m=()=>u?d??=No(u):Promise.resolve(),h=async()=>{if(!l)return;let e=f!==void 0;p(),i.isConnected&&Po(i,n,{id:r,type:`error`,error:Fo()}),e||await m()},g=async e=>{let t=performance.now();for(;l;){let a;try{a=await new Promise((t,n)=>{f=t,e.next().then(t,n)})}finally{f=void 0}if(a===po)return!0;if(!l||!i.isConnected)return!1;if(a.done)return p(),Po(i,n,{id:r,type:`end`}),!1;let o=c?.reply(),s=i.publishOrChunk(n,{id:r,type:`data`,data:a.value},o?{reply:o}:void 0);s&&await s,performance.now()-t>=2&&(await ho(),t=performance.now())}return!1},_=await i.subscribe(`${n}.cancel`,p),v=Lo(i,a,h);v||await h(),c&&l&&(c.idle=e=>(i.publishOrChunk(n,{id:r,type:`ping`},{reply:e})?.catch(()=>{}),!0),c.orphaned=p,c.start());let y=!1;try{if(l){let n=await jo(e,t,s,`stream`);u=n,l&&(y=await Ro(s.signal,()=>g(n)))}}catch(e){l&&i.isConnected&&Po(i,n,{id:r,type:`error`,error:To(e)})}finally{p(),_(),v?.();let e=m();y||await e}}function xo(e){if(e?.__stream&&e?.__streamSubject)return`stream`;let t=Array.isArray(e)?e[0]:void 0;if(e?.__pullIterator||t?.__pullIterator)return`pull`;if(e?.__pullCallback||t?.__pullCallback)return`pullCallback`;if(e&&typeof e==`object`&&!Array.isArray(e)&&e.__callback&&e.__callbackSubject||typeof t==`object`&&t&&t.__callback)return`callback`}async function So(e,t,n,r,i,a,o){if(e===`callback`){let e=Array.isArray(n)&&n[0]?.__callback?n[0]:n;return await Oo(t,e.args??[],e.__callbackSubject,r,i,a,o),{ok:!0}}let s=n?.__pullIterator||n?.__pullCallback?n:n[0],c=s.__iteratorId??r;if(e===`pull`)await Eo(t,s.args??[],c,i,a,o);else{let e=s.__callbackMethods??[],n=s.__onewayMethods??[];await Do(t,s.args??[],c,s.__callbackSubject,e,n,i,a,o)}return{iteratorId:c}}async function Co(e,t){return wo(e,t)}function wo(e,t){return e(...Array.isArray(t)?t:t==null?[]:[t])}function To(e){let t=uo(e);return t===void 0?e instanceof so?e.toJSON():{code:fo.INTERNAL_ERROR,message:e instanceof Error?e.message:`Internal error`}:{code:fo.INTERNAL_ERROR,message:`upstream unavailable`,data:{subject:t}}}async function Eo(e,t,n,r,i,a){let o=new AbortController;return Ao(r,n,o,i,()=>jo(e,t,o,`pull iterator`),e=>({id:n,type:`value`,value:e}),a&&new yo(r,a))}async function Do(e,t,n,r,i,a,o,s,c){ko(r,`_rpc.cb.`);let l=new AbortController,{signal:u}=l,d=c&&new yo(o,c),f=performance.now(),p=new Set(a),m={};for(let e of i)m[e]=p.has(e)?(...t)=>{if(u.aborted||!o.isConnected)return;let n={method:e,args:t};try{let e=d?.reply();o.publishOrChunk(r,n,e?{reply:e}:void 0)?.catch(e=>{e instanceof so&&e.code===fo.PAYLOAD_TOO_LARGE&&l.abort(e)})}catch(e){o.isConnected&&l.abort(so.fromJSON(To(e)))}let i=performance.now();if(!(i-f<2))return f=i,ho()}:()=>{throw co(fo.INTERNAL_ERROR,`Request-reply callback \'${e}\' not supported in v1`)};return Ao(o,n,l,s,()=>jo(e,[...t,m],l,`pull-callback iterator`),()=>({id:n,type:`value`}),d,!0)}async function Oo(e,t,n,r,i,a,o){ko(n,`rpc.cb.`);let s=new AbortController,c=o&&new yo(i,o),l,u,d,f=!1,p=async()=>{f||(f=!0,s.abort(),c?.stop(),u?.(),d?.(),l&&await l())};if(d=Lo(i,a,p),!d)throw Io();let m=async e=>{if(!i.isConnected)return;let t={id:r,type:`data`,data:e},a=c?.reply();await i.publish(n,t,a?{reply:a}:void 0)};try{let n=Ro(s.signal,()=>e(...t,m));n&&typeof n.then==`function`?l=await n:typeof n==`function`&&(l=n)}catch(e){p();let t={id:r,type:`error`,error:To(e)};throw await i.publish(n,t),e}if(f)throw l&&await l(),Io();try{u=await i.subscribe(`${n}.cancel`,p)}catch(e){throw await p(),e}if(f)throw u(),Io();return c&&(c.idle=e=>(i.publishOrChunk(n,{id:r,type:`ping`},{reply:e})?.catch(()=>{}),!0),c.orphaned=()=>void p(),c.start()),p}function ko(e,t){if(typeof e!=`string`||e.length<=t.length||!e.startsWith(t))throw co(fo.INVALID_PARAMS,`Control subject must start with \'${t}\'`)}async function Ao(e,t,n,r,i,a,o,s=!1){let c=`_rpc.iterator.${t}.request`,l=`_rpc.iterator.${t}.response`,u=!0,d=!1,f,p,m,h,g,_,v=!1,y=()=>f?h??=No(f):Promise.resolve(),b=()=>{u&&(u=!1,n.abort(),o?.stop(),g?.(),_?.())},x=()=>{let e=n.signal.reason;return e instanceof so?{id:t,type:`error`,error:To(e)}:void 0},S=async e=>{let r=x();if(r)return r;d=!0;try{let{value:r,done:i}=await Ro(n.signal,()=>e.next());return x()??(i?{id:t,type:`done`}:a(r))}catch(e){return x()??{id:t,type:`error`,error:To(e)}}finally{d=!1}},C=async()=>{if(!u||!f)return;let n=m;m=void 0;let r=await(n??S(f));if(u){r.type!==`value`&&(b(),y());try{let t=r.type===`value`?o?.reply():void 0,n=e.publishOrChunk(l,r,t?{reply:t}:void 0);n&&await n}catch(n){r.type===`value`&&u&&(b(),Po(e,l,{id:t,type:`error`,error:To(n)}),y())}}},w=()=>{b(),Po(e,l,{id:t,type:`done`}),y()},T=e=>{u&&(e.type===`cancel`?f?w():v=!0:e.type===`next`&&(p=p?p.then(C):C()))},E=async()=>{if(!u)return;let n=d;b(),e.isConnected&&Po(e,l,{id:t,type:`error`,error:Fo()});let r=y();n||await r};if(_=Lo(e,r,E),!_)throw Io();try{g=await e.subscribe(c,T),u&&(f=await i())}catch(e){let t=!u;throw b(),y(),t?Io():e}if(!u)throw g?.(),y(),Io();return v?(w(),E):(s&&f&&(m=S(f)),o&&(o.idle=n=>(e.publishOrChunk(`rpc.reply.${t}`,{type:`ping`},{reply:n})?.catch(()=>{}),!0),o.orphaned=w,o.start()),E)}async function jo(e,t,n,r){try{let i=Ro(n.signal,()=>e(...t));return Mo(i&&typeof i.then==`function`?await i:i,r)}catch(e){throw n.abort(),e}}function Mo(e,t){if(e&&typeof e[Symbol.asyncIterator]==`function`)return e[Symbol.asyncIterator]();if(e&&typeof e[Symbol.iterator]==`function`)return(async function*(){for(let t of e)yield t})();throw co(fo.INTERNAL_ERROR,`Handler must return a generator for ${t}`)}async function No(e){try{await e.return?.()}catch{}}function Po(e,t,n){try{e.publishOrChunk(t,n)?.catch(()=>{})}catch{}}function Fo(){return{code:fo.CONNECTION_CLOSED,message:`Connection closed`}}function Io(){return co(fo.CONNECTION_CLOSED,`Connection closed`)}function Lo(e,t,n){if(t&&!t.add(n))return;let r=e.trackSession(n);return()=>{r(),t?.delete(n)}}function Ro(e,t){return mo?mo.run(e,t):t()}function zo(){let e=globalThis.process?.getBuiltinModule?.(`node:async_hooks`)?.AsyncLocalStorage;return e&&!(`_propagate`in e.prototype)?new e:void 0}var Bo=ei();function Vo(e,t){return`$CUI.SVC.${e}.${t}`}function Ho(e,t){return`svc.${e}.${t}`}var Uo=class{client;svc;services=[];nc;constructor(e){this.client=e}init(e){this.nc!==e&&(this.nc=e,this.svc=new Bo.Svcm(e),this.services=[])}async registerHandler(e,t,n){if(!this.svc)throw Error(`RPCService is not initialized. Call init() first.`);let r=new _o,i=vo(this.client.options.orphanProbe),a=[],o=this.client,s=this.svc;if(n?.isolatedConnection){o=this.client.createIsolatedClient({...this.client.options,name:`${this.client.options.name}-service-${e.name}`});let t=await o.connect();s=new Bo.Svcm(t)}let c=await s.add({...e,metadata:{...e.metadata,"cui.chunk.direct":`1`}});this.services.push(c);let l=c.info().id,u=[];n?.isolatedConnection&&(c._isolatedClient=o);let d=ao(t),f=/* @__PURE__ */ new Map;for(let[t,n]of Object.entries(d)){let s=t.split(`.`),d=s.pop(),p=c;if(s.length>0){let e=s.join(`.`);if(!f.has(e)){let t=c;for(let e of s)t=t.addGroup(e);f.set(e,t)}p=f.get(e)}let m=o.createEndpointChunking();a.push(m);let h=async(e,t)=>{if(e){t.respondError(500,e.message);return}try{let e=t.headers?.get(`x-chunked-transfer`);if(e===`header`){let e=Oa(t.data),n=t.headers?.get(`x-chunk-id`);if(!n||e?.transferId!==n){console.error(`Invalid chunk header`);return}m.startReceiving(e.transferId,e.totalChunks,async e=>{await a(e,t)},e=>{console.error(`Error assembling chunks for ${d}:`,e)},e.totalSize,e.chunkSize)}else if(e===`chunk`){let e=t.headers?.get(`x-chunk-id`),n=eo(t.headers?.get(`x-chunk-index`));if(!e){console.error(`Chunk missing chunk ID`);return}m.processChunk({id:e,chunkIndex:n,data:t.data,isLast:!1})}else await a(qa(t.data),t)}catch(e){console.error(`Error processing message for ${d}:`,e)}async function a(e,t){let a={id:e.id};try{let s=xo(e.params);if(s===`stream`){let t=e.params.__streamSubject,a=e.params.args??[];await bo(n,a,t,e.id,o,r,i)}else{a.result=s?await So(s,n,e.params,e.id,o,r,i):await Co(n,e.params);let c=`${t.subject}.reply.${e.id}`;await o.publish(c,a)}}catch(n){a.error=To(n),delete a.result;try{let n=`${t.subject}.reply.${e.id}`;await o.publish(n,a)}catch(e){if(o.isClosed)return;console.error(`Failed to send error response:`,e)}}}};p.addEndpoint(d,h),c.addEndpoint(d,{handler:h,subject:Ho(e.name,t)}),u.push(o.subscribeMessages(Vo(l,t),e=>void h(null,e),!1))}let p=c.stop.bind(c);return c.stop=async e=>{for(let e of u.splice(0))e();await Promise.allSettled(r.stop());try{return await p(e)}finally{for(let e of a)o.releaseEndpointChunking(e)}},new Wo(c)}monitor(){if(!this.svc)throw Error(`RPCService is not initialized. Call init() first.`);return this.svc.client({strategy:`stall`,stall:10,maxWait:2e3})}async stopAll(){await Promise.allSettled(this.services.map(async e=>{await e.stop();let t=e._isolatedClient;t&&await t.disconnect()})),this.services=[]}async stop(e){let t=this.services.find(t=>t.info().name===e);if(t)try{await t.stop();let e=t._isolatedClient;e&&await e.disconnect(),this.services=this.services.filter(e=>e!==t)}catch{}}getAllInfo(){return this.services.map(e=>e.info())}getInfo(e){return this.services.find(t=>t.info().name===e)?.info()}async getAllStats(){return Promise.all(this.services.map(e=>e.stats()))}async getStats(e){return this.services.find(t=>t.info().name===e)?.stats()}},Wo=class{natsService;get isStopped(){return this.natsService.isStopped}constructor(e){this.natsService=e}info(){return this.natsService.info()}stats(){return this.natsService.stats()}async stop(e){try{await this.natsService.stop(e)}catch{}}};let Go=Symbol.for(`rpc.callbacks`),Ko=Symbol.for(`rpc.callbacks.oneway`);function qo(e,t){return Object.defineProperty(e,Go,{value:!0,enumerable:!1}),Object.defineProperty(e,Ko,{value:t?.oneway??Object.keys(e),enumerable:!1}),e}function Jo(e){return!!e&&typeof e==`object`&&e[Go]===!0}function Yo(e){return e?.[Ko]??[]}function Xo(e){if(e instanceof Promise)return!0;if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.then==`function`&&typeof t.catch==`function`}function Zo(e,t,n=[],r={methods:null,roots:null,calls:0},i,a){let o=e=>{r.methods===null&&(r.methods=new Set(e),r.roots=null)},s=e=>r.roots??=new Set([...e].map(e=>e.split(`.`,1)[0])),c=async(n,s,c)=>{let{result:l,methods:u,timing:d}=await e.callWithMeta(n,s,{...a,discover:r.methods===null&&r.calls++>=1,timing:i!==void 0,probeNamespace:t,probeMethod:c,onMethods:o});return u&&o(u),d&&i&&i(c??n,d),l};return new Proxy({},{get(l,u){if(u===`then`||u===`catch`||u===`finally`)return;if(typeof u==`symbol`||u===`toString`)return()=>`[RPCProxy ${t}${n.length?`.`+n.join(`.`):``}]`;if(r.methods&&n.length===0&&!s(r.methods).has(u))return;let d=[...n,u];return new Proxy(function(){},{apply(n,r,i){let a=d.join(`.`),s=`rpc.${t}.${a}`,l=u.toLowerCase().includes(`pull`),f=i.findIndex(e=>Jo(e));if(f!==-1){let t=i[f],n=Yo(t),r=i.filter((e,t)=>t!==f);return e.callPullIteratorWithCallback(s,t,n,...r)}let p=i.findIndex(e=>typeof e==`function`);if(p!==-1){let t=i[p],n=i.filter((e,t)=>t!==p);return e.callWithCallback(s,n,t)}return u.toLowerCase().includes(`generate`)?e.callStreamWithProbe(s,i,{probeNamespace:t,probeMethod:a,onMethods:o}):l?e.callPullIterator(s,...i):c(s,i,a)},get(n,o){if(o===`then`||o===`catch`||o===`finally`){let n=d.join(`.`),r=(async()=>(!e.isConnected&&!e.isClosed&&await e.connect(),c(`rpc.${t}.${n}`,[],n)))();return r[o].bind(r)}return Zo(e,t,d,r,i,a)[o]}})}})}function Qo(e,t,n,r=[]){return new Proxy({},{get(i,a){if(a===`then`||a===`catch`||a===`finally`)return;if(typeof a==`symbol`||a===`toString`)return()=>`[ServiceProxy ${t.name}${r.length?`.`+r.join(`.`):``}]`;if(a in i)return i[a];let o=[...r,a],s=o.join(`.`),c=Ho(t.name,s),l=t.endpoints.find(e=>e.subject===c)??t.endpoints.find(e=>{if(e.subject===s)return!0;let t=e.subject.split(`.`);return t[t.length-1]===a&&t.slice(0,-1).join(`.`)===r.join(`.`)}),u=t.metadata?.[`cui.chunk.direct`]===`1`?Vo(t.id,s):void 0;if(l)return new Proxy(function(){},{apply(t,n,r){let i=a.toLowerCase().includes(`pull`),o=r.findIndex(e=>Jo(e));if(o!==-1){let t=r[o],n=Yo(t),i=r.filter((e,t)=>t!==o);return e.callPullIteratorWithCallback(l.subject,t,n,...i)}let s=r.findIndex(e=>typeof e==`function`);if(s!==-1){let t=r[s],n=r.filter((e,t)=>t!==s);return e.callWithCallback(l.subject,n,t)}return a.toLowerCase().includes(`generate`)?e.callStream(l.subject,...r):i?e.callPullIterator(l.subject,...r):e.callService(l.subject,r,u)}});let d=s+`.`;if(t.endpoints.some(e=>e.subject.startsWith(d)))return Qo(e,t,n,o)}})}let $o=36**4,es=Math.floor(Math.random()*36**5).toString(36).padStart(5,`0`),ts=Math.floor(Math.random()*$o);function ns(e){ts=(ts+1)%$o;let t=`${Date.now()}-${es}${ts.toString(36).padStart(4,`0`)}`;return e?`${e}.${t}`:t}function rs(){let e,t=globalThis.crypto;if(t?.getRandomValues){let n=/* @__PURE__ */ new Uint8Array(6);t.getRandomValues(n),e=n.reduce((e,t)=>e*256+t,0)}else e=Math.floor(Math.random()*2**48);return e.toString(36).padStart(10,`0`)}function is(e,t){return t?new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(i,e);t.addEventListener(`abort`,i,{once:!0});function i(){clearTimeout(r),t.removeEventListener(`abort`,i),n()}}):new Promise(t=>setTimeout(t,e))}function as(e,t){let n=Promise.resolve(),r=0;return{dispatch:i=>{if(r===0){let a;try{a=e(i)}catch(e){t(e);return}Xo(a)&&(r++,n=a.then(()=>{r--},e=>{r--,t(e)}))}else r++,n=n.then(()=>e(i)).then(()=>{r--},e=>{r--,t(e)})},flush:()=>r===0?Promise.resolve():n}}function os(e,t,n,r){let i=[],a=0,o=0,s=!1,c=!1,l,u=e=>e?o===0:o<t&&!s,d=e=>{o--,e&&(s=!1),p()},f=(t,n)=>{o++,n&&(s=!0);let i;try{i=e(t)}catch(e){r(e),d(n);return}Xo(i)?i.then(()=>d(n),e=>{r(e),d(n)}):d(n)};function p(){if(!c){c=!0;try{for(;a<i.length;){let e=i[a];if(!u(e.exclusive))break;i[a++]=void 0,f(e.data,e.exclusive)}}finally{c=!1}a===i.length?(i.length=0,a=0):a>1024&&a*2>i.length&&(i.splice(0,a),a=0),l&&o===0&&i.length===0&&(l.resolve(),l=void 0)}}return{dispatch:e=>{let t=!n(e);a===i.length&&!c&&u(t)?f(e,t):i.push({data:e,exclusive:t})},flush:()=>{if(o===0&&a===i.length)return Promise.resolve();if(!l){let e;l={promise:new Promise(t=>{e=t}),resolve:e}}return l.promise}}}var ss=class{client;channelId;closed=!1;unsubscribe;initialized=!1;subject;requestSubject;handlers=/* @__PURE__ */ new Map;closeHandlers=/* @__PURE__ */ new Set;errorHandlers=/* @__PURE__ */ new Set;subscriptions=[];sender=ns();get isClosed(){return this.closed}get id(){return this.channelId}constructor(e,t){this.client=e,this.channelId=t,this.subject=`channel.${t}`,this.requestSubject=`channel.${t}.request`}async init(){this.initialized||(this.initialized=!0,this.unsubscribe=await this.client.subscribe(this.subject,async e=>{switch(e.type){case`message`:this.emit(`message`,e.data);break;case`close`:this.handleClose();break;case`error`:this.handleError(Error(e.error??`Channel error`))}}))}async send(e){if(this.closed)throw Error(`Channel is closed`);let t={type:`message`,data:e};await this.client.publish(this.subject,t)}async request(e,t=5e3){if(this.closed)throw Error(`Channel is closed`);return this.client.request(this.requestSubject,e,{timeout:t,sender:this.sender})}async onRequest(e){let t=this.client.onRequest(this.requestSubject,e,{ignoreSender:this.sender});return this.subscriptions.push(t),t}on(e,t){e===`close`?this.closeHandlers.add(t):e===`error`?this.errorHandlers.add(t):(this.handlers.has(e)||this.handlers.set(e,/* @__PURE__ */ new Set),this.handlers.get(e).add(t))}off(e,t){e===`close`?this.closeHandlers.delete(t):e===`error`?this.errorHandlers.delete(t):this.handlers.get(e)?.delete(t)}async close(){if(!this.closed){this.closed=!0;try{await this.client.publish(this.subject,{type:`close`})}catch{}await this.cleanup()}}handlerChain=Promise.resolve();runHandler(e,t,n){this.handlerChain=this.handlerChain.then(()=>e(t)).catch(e=>console.error(`Error in ${n}:`,e))}emit(e,t){let n=this.handlers.get(e);if(n)for(let e of n)this.runHandler(e,t,`channel handler`)}handleClose(){if(!this.closed){this.closed=!0;for(let e of this.closeHandlers)this.runHandler(()=>e(),void 0,`close handler`);this.cleanup().catch(console.error)}}handleError(e){for(let t of this.errorHandlers)this.runHandler(t,e,`error handler`)}async cleanup(){if(this.handlers.clear(),this.closeHandlers.clear(),this.errorHandlers.clear(),await Promise.allSettled(this.subscriptions.map(async e=>(await e)())),this.subscriptions=[],this.unsubscribe){try{this.unsubscribe()}catch{}this.unsubscribe=void 0}let e=this._isolatedClient;if(e){try{await e.disconnect()}catch{}this._releaseIsolated?.()}}},cs=class extends ss{targetClientId;clientId;remoteClientId;privateSubject;privateRequestSubject;get remoteId(){return this.remoteClientId}constructor(e,t,n){super(e,t),this.targetClientId=n;let r=e.options.name??`client-${Date.now()}`;this.clientId=r.replace(/-(channel|private)-.*$/,``);let i=[this.clientId,this.targetClientId].sort();this.privateSubject=`channel.private.${t}.${i.join(`.`)}`,this.privateRequestSubject=`${this.privateSubject}.request`}async init(){if(!this.initialized){this.initialized=!0,this.unsubscribe=await this.client.subscribe(this.privateSubject,async e=>{if(e.sender!==this.clientId&&e.sender===this.targetClientId&&(!this.remoteClientId&&e.sender&&(this.remoteClientId=e.sender),!(this.remoteClientId&&e.sender!==this.remoteClientId)))switch(e.type){case`message`:if(e.data&&typeof e.data==`object`&&`__handshake`in e.data)return;this.emit(`message`,e.data);break;case`close`:this.handleClose();break;case`error`:this.handleError(Error(e.error??`Channel error`))}});try{await this.sendRaw({type:`message`,data:{__handshake:!0},sender:this.clientId})}catch{}}}async send(e){if(this.closed)throw Error(`Channel is closed`);await this.sendRaw({type:`message`,data:e,sender:this.clientId})}async request(e,t=5e3){if(this.closed)throw Error(`Channel is closed`);return this.client.request(this.privateRequestSubject,e,{timeout:t,sender:this.sender})}async onRequest(e){let t=this.client.onRequest(this.privateRequestSubject,e,{ignoreSender:this.sender});return this.subscriptions.push(t),t}async close(){if(!this.closed){this.closed=!0;try{await this.sendRaw({type:`close`,sender:this.clientId})}catch{}await this.cleanup()}}isConnectedTo(e){return this.remoteClientId===e}async sendRaw(e){await this.client.publish(this.privateSubject,e)}};Yr();var ls=class extends Error{};let us=typeof process<`u`&&!!process.versions?.node,ds=new TextEncoder,fs=Uint8Array.of(13,10),{DataBuffer:ps,DenoBuffer:ms,Parser:hs,ProtocolHandler:gs,State:_s}=Jr,vs,ys,bs,xs=/* @__PURE__ */ new WeakMap,Ss=/* @__PURE__ */ new Set;function Cs(e,t,n,r){let i=e,a=i.protocol;if(!us||typeof i._check!=`function`||!Gs(a)||a.info?.max_payload!==void 0&&r.size>a.info.max_payload)return!1;i._check(t,!1,!0),n&&i._check(n,!1,!0);let o=ds.encode(n?`PUB ${t} ${n} ${r.size}\\r\\n`:`PUB ${t} ${r.size}\\r\\n`),s=Buffer.allocUnsafe(o.length+r.size+2);return s.set(o,0),Wa(r,s,o.length),s[s.length-2]=13,s[s.length-1]=10,a.flushPending(),a.outBytes+=r.size,a.outMsgs++,a.sendCommand(s),a.flushPending(),!0}function ws(e,t,n,r){let i=e,a=i.protocol;if(!us||typeof i._check!=`function`||!Gs(a)||a.connected!==!0||a.infoReceived!==!0||a.info?.max_payload!==void 0&&r.size>a.info.max_payload)return!1;i._check(t,!1,!0),n&&i._check(n,!1,!0);let o=ds.encode(n?`PUB ${t} ${n} ${r.size}\\r\\n`:`PUB ${t} ${r.size}\\r\\n`),s=Buffer.allocUnsafe(o.length+Ga(r));s.set(o,0),Ka(r,s,o.length);let c=Ws(a.transport?.socket);c?.cork();try{a.flushPending(),a.outBytes+=r.size,a.outMsgs++,Us(a,s);for(let e of r.segments)Us(a,e);Us(a,fs)}finally{c?.uncork()}return!0}function Ts(e){let t=e.protocol;us&&Gs(t)&&t.flushPending()}function Es(){return vs??=Ds(),vs}function Ds(){if(!us||!hs||!_s||!ms||!Vs())return!1;let e=hs.prototype,t=Reflect.get(e,`parse`);return e.parse=function(e){let n=this.msgBuf;t.call(this,e);let r=this.msgBuf;if(r===void 0||r===n||this.state!==_s.MSG_PAYLOAD)return;let i=r.bytes({copy:!1});if(i.length>=this.ma.size)return;let a=new Uint8Array(this.ma.size);a.set(i);let o=new ms(a.buffer);o.truncate(i.length),this.msgBuf=o},Hs(!0)?!0:(e.parse=t,!1)}function Os(){return ys??=ks(),ys}function ks(){let e=us?Bs():void 0;if(!e||!gs||!ps||!js(e))return!1;let t=gs.prototype,n=e.prototype,r=Reflect.get(t,`sendCommand`),i=Reflect.get(t,`flushPending`),a=Reflect.get(n,`send`),o=Reflect.get(Buffer.prototype,`utf8Write`);return t.sendCommand=function(t,...n){if(!(this.transport instanceof e)){r.call(this,t,...n);return}let i=this.outbound,a=i.buffers.length;typeof t==`string`?(i.buffers.push(t),i.byteLength+=Buffer.byteLength(t)):t&&(i.buffers.push(t),i.byteLength+=t.length);for(let e of n)e?.length&&(i.buffers.push(e),i.byteLength+=e.length);a===0?queueMicrotask(()=>this.flushPending()):i.byteLength>=this.pendingLimit&&this.flushPending()},t.flushPending=function(){if(!(this.transport instanceof e)){i.call(this);return}let t=this.outbound;if(!this.infoReceived||!this.connected||t.byteLength===0)return;let n=t.buffers,r,a=n.length===1?n[0]:void 0;if(a!==void 0&&typeof a!=`string`)r=a;else{let e=Buffer.allocUnsafe(t.byteLength),i=0;for(let t of n)typeof t==`string`?i+=o?o.call(e,t,i):e.write(t,i):(e.set(t,i),i+=t.length);r=e}n.length=0,t.byteLength=0,this.transport.send(r)},n.send=function(e){if(this.options?.debug)a.call(this,e);else if(!(this.isClosed||this.socket===void 0))try{this.socket.write(e)}catch{}},As(t,e)?!0:(t.sendCommand=r,t.flushPending=i,n.send=a,!1)}function As(e,t){if(!ps)return!1;try{let n=[],r=Object.assign(Object.create(t.prototype),{done:!1,options:{},socket:{write:e=>n.push(Buffer.from(e))}}),i=Object.assign(Object.create(e),{outbound:new ps,pendingLimit:32768,infoReceived:!0,connected:!0,outBytes:0,outMsgs:0,options:{},transport:r});i.publish(`probe.ü`,Uint8Array.of(1,2,3),{reply:`probe.reply`}),i.flushPending();let a=Buffer.concat([Buffer.from(`PUB probe.ü probe.reply 3\\r\n`),Buffer.from([1,2,3]),Buffer.from(`\\r\n`)]);return n.length===1&&n[0].equals(a)&&i.outbound.byteLength===0}catch{return!1}}function js(e){let t=gs?.prototype,n=ps?new ps:void 0,r=Object.getOwnPropertyDescriptor(e.prototype,`isClosed`);return typeof t?.sendCommand==`function`&&typeof t.flushPending==`function`&&typeof t.publish==`function`&&Array.isArray(n?.buffers)&&typeof n.byteLength==`number`&&typeof e.prototype.send==`function`&&typeof r?.get==`function`}function Ms(){return bs??=Ps(),bs}function Ns(e){return typeof e==`object`&&!!e&&xs.has(e)}function Ps(){let e=us?Bs():void 0,t=us?zs(`node:net`):void 0;if(!e||typeof t?.createConnection!=`function`||!Rs(e))return!1;let n=e.prototype,r=Reflect.get(n,`connect`),i=Reflect.get(n,`dial`),a=Reflect.get(n,`peekInfo`),o=Reflect.get(n,`setupHandlers`),s=Reflect.get(n,`startTLS`),c=Buffer.allocUnsafeSlow(65536);return n.dial=function(e){return this.options?.tls||Ss.has(Ls(e))?i.call(this,e):new Promise((n,r)=>{let i,a=t.createConnection({port:e.port,host:e.hostname,onread:{buffer:c,callback:(e,t)=>{let n=Buffer.allocUnsafeSlow(e);n.set(t.subarray(0,e)),Fs(a,n)}}},()=>{a.removeAllListeners(),n(a)});xs.set(a,[]),a.on(`error`,e=>{i=e}),a.on(`close`,()=>{a.removeAllListeners(),r(i)}),a.setNoDelay(!0)})},n.peekInfo=function(){let e=a.call(this);return Is(this.socket),e},n.setupHandlers=function(){o.call(this),Is(this.socket)},n.startTLS=function(){return Ns(this.socket)?Promise.reject(new ls(`TLS needs a socket without onread`)):s.call(this)},n.connect=async function(e,t){try{await r.call(this,e,t)}catch(n){if(!(n instanceof ls))throw n;Ss.add(Ls(e)),this.yields=[],await r.call(this,e,t)}},!0}function Fs(e,t){if(e.listenerCount(`data`)===0)xs.get(e)?.push(t);else try{e.emit(`data`,t)}catch(t){e.destroy(t instanceof Error?t:Error(String(t)))}}function Is(e){let t=e?xs.get(e):void 0;for(;t?.length&&e.listenerCount(`data`)>0;)Fs(e,t.shift())}function Ls(e){return`${e.hostname}:${e.port}`}function Rs(e){let t=e.prototype;if(typeof t.connect!=`function`||typeof t.dial!=`function`||typeof t.peekInfo!=`function`||typeof t.setupHandlers!=`function`||typeof t.startTLS!=`function`)return!1;try{return Array.isArray(new e().yields)}catch{return!1}}function zs(e){return globalThis.process?.getBuiltinModule?.(e)}function Bs(){try{let e=zs(`node:module`)?.createRequire?.(self.location.href),t=e?.(`@nats-io/transport-node/lib/node_transport.js`)?.NodeTransport;return typeof t==`function`?t:void 0}catch{return}}function Vs(){let e=hs?.prototype,t=ms?.prototype;return typeof e?.parse==`function`&&typeof _s?.MSG_PAYLOAD==`number`&&typeof t?.bytes==`function`&&typeof t.truncate==`function`&&typeof t.write==`function`&&Hs(!1)}function Hs(e){if(!hs||!_s||!ms)return!1;try{let t=[],n=new hs({push:e=>t.push(e)});n.parse(ds.encode(`MSG probe 1 8\\r\nabc`));let r=n.msgBuf;if(n.state!==_s.MSG_PAYLOAD||!(r instanceof ms)||n.ma?.size!==8||r.length!==3||e&&r.capacity!==8)return!1;n.parse(ds.encode(`defgh\\r\n`));let i=t[0]?.data;return t.length===1&&i!==void 0&&new TextDecoder().decode(i)===`abcdefgh`}catch{return!1}}function Us(e,t){e.sendCommand(t),e.flushPending()}function Ws(e){let t=e;return typeof t?.cork==`function`&&typeof t.uncork==`function`?t:void 0}function Gs(e){let t=e;return typeof t?.sendCommand==`function`&&typeof t.flushPending==`function`&&typeof t.outBytes==`number`&&typeof t.outMsgs==`number`}qr(),et(),Te(),mn();let Ks=`__methods`,qs=[25,50,100,325,1e3,2e3],Js=[500,1e3,2e3],Ys=16384,Xs=`x-channel-sender`;function Zs(e){return new $s(e)}function Qs(e){return Xe(e?`_INBOX.${e}`:void 0)}var $s=class e{options;service=new Uo(this);chunkingManager;sessionTeardowns=/* @__PURE__ */ new Set;responders=/* @__PURE__ */ new Set;nc;closingNc;subscriptionSeq=0;subscriptionEntries=/* @__PURE__ */ new Map;pullIteratorSettles=/* @__PURE__ */ new Set;replyPrefix;muxEntry;muxChunking;chunkBudget;chunkScopes=/* @__PURE__ */ new Map;chunkScopeSeq=0;endpointChunking=/* @__PURE__ */ new Set;statusHandlers=/* @__PURE__ */ new Map;_maxPayloadSize=1048576;unchunkableLimit;connectionPromise;closed=!1;isolatedClients=[];syncReplies=0;linkWaiters;pendingRequests=/* @__PURE__ */ new Map;streamHandlers=/* @__PURE__ */ new Map;get isConnected(){return this.nc?.isClosed()===!1}get isStale(){return this.nc?.isStale?.()??!1}get isClosed(){return this.closed}get maxPayloadSize(){return this._maxPayloadSize}status(){return this.nc?.status()}async flush(e=5e3){if(!this.nc)throw co(fo.CONNECTION_CLOSED,`Not connected`);let t;try{await Promise.race([this.nc.flush(),new Promise((n,r)=>{t=setTimeout(()=>r(co(fo.TIMEOUT,`flush() timed out after ${e}ms`)),e)})])}finally{t&&clearTimeout(t)}}constructor(e){this.options=e;let t=e.maxPayloadSize;if(t!==void 0&&t!==0&&!(Number.isSafeInteger(t)&&t>=Ys))throw RangeError(`maxPayloadSize must be an integer of at least ${Ys}, got ${t}`);this.replyPrefix=e.connId??rs(),this.chunkBudget=new Xa(e.maxTransferSize),this.chunkingManager=this.newChunkingManager(),this.muxChunking=this.newChunkingManager(1/0)}createIsolatedClient(t){return new e(t)}async connect(e){if(e?.signal?.aborted)throw new DOMException(`Aborted`,`AbortError`);if(Es(),Os(),Ms(),this.nc&&!this.nc.isClosed())return this.nc;let t={servers:this.options.servers,user:this.options.auth?.user,pass:this.options.auth?.password,name:this.options.name,inboxPrefix:this.options.connId?`_INBOX.${this.options.connId}`:void 0,reconnect:this.options.reconnect??!0,timeout:this.options.connectTimeout??1e4,maxPingOut:this.options.maxPingOut??2,maxReconnectAttempts:this.options.maxReconnectAttempts??-1,reconnectTimeWait:this.options.reconnectTimeWait??2e3,reconnectJitter:this.options.reconnectJitter??100,reconnectJitterTLS:this.options.reconnectJitterTLS??1e3,ignoreAuthErrorAbort:this.options.ignoreAuthErrorAbort??!1,pingInterval:this.options.pingInterval??12e4,pingTimeout:this.options.pingTimeout??0,reconnectionDelayMax:this.options.reconnectionDelayMax??0,reconnectionRandomizationFactor:this.options.reconnectionRandomizationFactor??0,tls:this.options.tls,debug:this.options.debug??!1,noAsyncTraces:!0,waitOnFirstConnect:this.options.waitOnFirstConnect??!0,signal:e?.signal};this.connectionPromise??=go(()=>Lr(t));let n=this.connectionPromise;try{this.nc=await ec(n,e?.signal)}finally{this.connectionPromise=void 0}let r=this.nc,i=()=>this.onConnectionLost(r);r.closed().then(i,i),this.releaseLinkWaiters(),this.watchLink(r),this.closed=!1,this.service.init(this.nc);let a;try{a=this.nc.info?.max_payload}catch{}let o=rc(a,this.options.maxPayloadSize);this.unchunkableLimit=o<Ys?o:void 0,this._maxPayloadSize=this.unchunkableLimit??o-8192,this.ensureMuxSubscription(!1);let s=0;for(let e of this.subscriptionEntries.values())(!e.sub||e.sub.isClosed())&&(this.natsSubscribe(e),e!==this.muxEntry&&s++);return s>0&&await this.awaitSubscriptions(),await Promise.allSettled(this.isolatedClients.filter(e=>!e.isClosed).map(t=>t.connect({signal:e?.signal}))),r}async disconnect(){let e=await this.drainAll();this.closed=!0,this.closingNc=this.nc;let t=this.options.zeroCopyBinaries===!0?[]:void 0,n=this.dropConnectionState(!0,t),r=this.rejectAfterQueuedWrites(t);if(this.subscriptionEntries.clear(),this.responders.clear(),this.muxEntry=void 0,this.chunkScopes.clear(),await Promise.allSettled([...e,...n]),await Promise.allSettled(this.isolatedClients.map(e=>e.disconnect())),this.isolatedClients=[],this.nc){await this.flushBeforeClose(this.nc);try{await this.nc.close()}catch{}await this.waitClosed(this.nc),this.nc=void 0}r()}reconfigure(e){if(this.nc&&!this.nc.isClosed())throw Error(`Cannot reconfigure while connected. Call suspend() first.`);e.servers!==void 0&&(this.options.servers=e.servers),e.auth!==void 0&&(this.options.auth=e.auth);for(let t of this.isolatedClients)t.reconfigure(e)}setServers(e){this.options.servers=e,this.nc&&!this.nc.isClosed()&&this.nc.setServers(e);for(let t of this.isolatedClients)t.setServers(e)}async forceReconnect(){let e=this.nc;if(e&&!e.isClosed()){try{typeof e.forceReconnect==`function`?await e.forceReconnect():typeof e.reconnect==`function`&&await e.reconnect()}catch{}await Promise.allSettled(this.isolatedClients.map(e=>e.forceReconnect()))}}abortClose(e){this.closed=!0,this.closingNc=this.nc,Promise.allSettled(this.dropConnectionState(!1));for(let t of this.isolatedClients)try{t.abortClose(e)}catch{}this.isolatedClients=[];let t=this.nc;if(t){try{typeof t.abortClose==`function`?t.abortClose(e):t.close().catch(()=>{})}catch{}this.nc=void 0}}async suspend(){let e=await this.drainAll();this.closingNc=this.nc;let t=this.options.zeroCopyBinaries===!0?[]:void 0,n=this.dropConnectionState(!0,t),r=this.rejectAfterQueuedWrites(t);if(await Promise.allSettled([...e,...n]),await Promise.allSettled(this.isolatedClients.map(e=>e.suspend())),this.nc){await this.flushBeforeClose(this.nc);try{await this.nc.close()}catch{}await this.waitClosed(this.nc),this.nc=void 0}this.connectionPromise=void 0,r()}async publish(e,t,n){return this.publishOrChunk(e,t,n)}publishOrChunk(e,t,n,r=!1){if(!this.nc)throw Error(`Not connected`);let i=this.encodeOrPublishFrame(e,t,n,r);if(i){if(i.length<=this._maxPayloadSize)this.nc.publish(e,i,n);else return this.publishChunks(this.nc,e,i,n)}}tryPublishSync(e,t,n){if(!this.nc)throw Error(`Not connected`);let r=this.encodeOrPublishFrame(e,t,n);return r?r.length>this._maxPayloadSize?!1:(this.nc.publish(e,r,n),!0):!0}createEndpointChunking(){let e=this.newChunkingManager();return this.endpointChunking.add(e),e}releaseEndpointChunking(e){e.dispose(),this.endpointChunking.delete(e)}trackSession(e){return this.sessionTeardowns.add(e),()=>{this.sessionTeardowns.delete(e)}}statusReply(e){this.ensureMuxSubscription();let t=ns(this.replyPrefix);return this.statusHandlers.set(t,e),{reply:`rpc.reply.${t}`,forget:()=>{this.statusHandlers.get(t)===e&&this.statusHandlers.delete(t)}}}subscribeMessages(e,t,n=!0){if(!this.nc)throw Error(`Not connected`);let r=++this.subscriptionSeq,i={pattern:e,raw:!0,handler:e=>t(e)};return n&&this.subscriptionEntries.set(r,i),this.natsSubscribe(i),()=>{try{i.sub?.isClosed()||i.sub?.unsubscribe()}catch{}finally{this.subscriptionEntries.delete(r)}}}async subscribe(e,t,n){let{unsubscribe:r}=await this.subscribeEntry(e,t,n);return r}async subscribeEntry(e,t,n,r,i){return this.addSubscription(e,t,n,r,i)}addSubscription(e,t,n,r,i,a,o){if(!this.nc)throw Error(`Not connected`);let s=++this.subscriptionSeq,c={pattern:e,handler:t,options:n,concurrency:r,receive:i,route:a,lane:o};return this.subscriptionEntries.set(s,c),this.natsSubscribe(c),{entry:c,unsubscribe:()=>{try{c.sub?.isClosed()||c.sub?.unsubscribe()}catch{}finally{this.subscriptionEntries.delete(s),this.leaveChunkScope(c)}}}}natsSubscribe(e){let{pattern:t}=e;if(e.raw){e.sub=this.nc.subscribe(t,{callback:(n,r)=>{if(n)console.error(`Subscription error for ${t}:`,n);else try{e.handler(r)}catch(e){console.error(`Error processing message for ${t}:`,e)}}});return}let n;if(e.route){let{route:t}=e;n=(e,n)=>t(e,n.subject)}else{let r=e=>console.error(`Error in handler for ${t}:`,e),i=e.concurrency?e.dispatcher??=os(e.handler,e.concurrency.limit,e.concurrency.isShared,r):as(e.handler,r),{receive:a}=e,o=i.dispatch;n=a?e=>{a(e),o(e)}:o,e.flush=i.flush}let r=e.chunks??=this.joinChunkScope(e),{lane:i}=e,a=(e,a)=>{if(e)console.error(`Subscription error for ${t}:`,e);else try{let e=a.headers?.get(`x-chunked-transfer`);if(e===`header`){let e=Oa(a.data),o=a.headers?.get(`x-chunk-id`);if(!o||e?.transferId!==o){console.error(`Invalid chunk header`);return}this.chunkManager(r,i?.(a.subject),!0).startReceiving(o,e.totalChunks,e=>{n(e,a)},e=>{console.error(`Error assembling chunks for ${t}:`,e)},e.totalSize,e.chunkSize)}else if(e===`chunk`){let e=a.headers?.get(`x-chunk-id`),t=eo(a.headers?.get(`x-chunk-index`));if(!e){console.error(`Chunk missing chunk ID`);return}this.chunkManager(r,i?.(a.subject),!1)?.processChunk({id:e,chunkIndex:t,data:a.data,isLast:!1})}else{let e=qa(a.data);n(e,a)}}catch(e){console.error(`Error processing message for ${t}:`,e)}};e.sub=this.nc.subscribe(t,{...e.options?.queue?{queue:e.options.queue}:{},callback:a})}ensureMuxSubscription(e=!0){this.muxEntry||(this.muxEntry={pattern:`rpc.reply.${this.replyPrefix}.>`,raw:!0,handler:e=>this.handleMuxMessage(e)},this.subscriptionEntries.set(++this.subscriptionSeq,this.muxEntry)),e&&this.nc&&(!this.muxEntry.sub||this.muxEntry.sub.isClosed())&&this.natsSubscribe(this.muxEntry)}handleMuxMessage(e){if(e.data?.length===0&&e.headers?.code===503){let t=e.subject.slice(10),n=this.statusHandlers.get(t);if(n){this.statusHandlers.delete(t);try{n(new W.NoRespondersError(t))}catch(e){console.error(`Error in no-responder status handler:`,e)}return}let r=this.pendingRequests.get(t);r&&(this.pendingRequests.delete(t),r.timeout&&clearTimeout(r.timeout),r.reject(sc(r.subject??t)));return}let t=e.headers?.get(`x-chunked-transfer`);if(t===`header`||t===`chunk`){let n=e.subject.slice(10),r=this.pendingRequests.get(n);if(!r)return;let i=e.headers?.get(`x-chunk-id`);if(!i){console.error(t===`header`?`Invalid chunk header on reply mux`:`Chunk missing chunk ID on reply mux`);return}let a=`${n}|${i}`;if(t===`header`){let t=Oa(e.data);if(t?.transferId!==i){console.error(`Invalid chunk header on reply mux`);return}r.transferKey&&r.transferKey!==a&&this.muxChunking.discard(r.transferKey),r.transferKey=a,this.muxChunking.startReceiving(a,t.totalChunks,e=>this.routeMuxResponse(e),e=>this.failChunkedReply(n,e),t.totalSize,t.chunkSize)}else{let t=eo(e.headers?.get(`x-chunk-index`));this.muxChunking.processChunk({id:a,chunkIndex:t,data:e.data,isLast:!1})}}else this.routeMuxResponse(qa(e.data))}routeMuxResponse(e){let t=e,n=t?.id;if(!n)return;let r=this.pendingRequests.get(n);r&&(this.pendingRequests.delete(n),r.timeout&&clearTimeout(r.timeout),r.transferKey&&this.muxChunking.discard(r.transferKey),t.error?r.reject(so.fromJSON(t.error)):r.resolve({result:t.result,methods:t.__methods,timing:t.__timing}))}failChunkedReply(e,t){let n=this.pendingRequests.get(e);n&&(this.pendingRequests.delete(e),n.timeout&&clearTimeout(n.timeout),n.transferKey&&this.muxChunking.discard(n.transferKey),n.reject(co(fo.INTERNAL_ERROR,`Chunked reply to "${n.subject??e}" failed: ${t.message}`)))}settlePullIterators(){for(let e of[...this.pullIteratorSettles])try{e()}catch{}this.pullIteratorSettles.clear()}dropConnectionState(e,t){let n=this.endHandlerSessions();for(let e of this.pendingRequests.values()){e.timeout&&clearTimeout(e.timeout),e.cleanup?.();let n=()=>e.reject(co(fo.CONNECTION_CLOSED,`Connection closed`));t?t.push(n):n()}this.pendingRequests.clear(),this.statusHandlers.clear(),this.releaseLinkWaiters();for(let e of this.streamHandlers.values())try{e.end()}catch{}this.streamHandlers.clear(),this.settlePullIterators();for(let t of this.subscriptionEntries.values()){if(e&&!t.sub?.isClosed())try{t.sub?.unsubscribe()}catch{}t.sub=void 0}return this.disposeChunking(),n}rejectAfterQueuedWrites(e){let t=()=>{for(let t of e?.splice(0)??[])t()};return e?.length&&this.nc&&!this.nc.isClosed()&&this.nc.flush().then(t,()=>{}),t}endHandlerSessions(){let e=[...this.sessionTeardowns];return this.sessionTeardowns.clear(),e.map(e=>e())}async drainAll(){if(this.drainTimeoutMs()<=0)return[];let e=this.endHandlerSessions(),t=this.isolatedClients.map(e=>e.drainAll());await this.drainResponders(this.responders);for(let n of await Promise.allSettled(t))n.status===`fulfilled`&&e.push(...n.value);return e}drainResponders(e){let t=this.drainTimeoutMs();if(t<=0||!this.isConnected)return Promise.resolve();let n=[];for(let r of e)r.open&&n.push(r.draining??=this.drainResponder(r,t));return Promise.all(n).then(()=>{})}async drainResponder(e,t){let n=e.open,r;try{let i=e.methods?.sub;i&&!i.isClosed()&&i.unsubscribe();let a=Promise.all(e.entries.map(e=>oc(e.sub))).then(()=>n.size===0?void 0:new Promise(t=>{e.onIdle=t}));await Promise.race([a,new Promise(e=>{r=setTimeout(e,t)})])}finally{clearTimeout(r),e.onIdle=void 0,e.draining=void 0}let i=this.isConnected&&!this.linkWaiters;for(let e of n)i&&this.replyClosed(e);n.clear()}replyClosed(e){let t={code:fo.CONNECTION_CLOSED,message:`Connection closed`};try{if(xo(e.params)===`stream`){let n=e.params.__streamSubject;typeof n==`string`&&n.startsWith(`stream.`)&&this.publishOrChunk(n,{id:e.id,type:`error`,error:t})?.catch(()=>{})}else this.publishOrChunk(`rpc.reply.${e.id}`,{id:e.id,error:t})?.catch(()=>{})}catch{}}replyMissingMethod(e,t,n){if(!dc(e))return;let r={code:fo.METHOD_NOT_FOUND,message:`Method not found: ${t}`};try{if(xo(e.params)===`stream`){let t=e.params.__streamSubject;typeof t==`string`&&t.startsWith(`stream.`)&&this.publishOrChunk(t,{id:e.id,type:`error`,error:r})?.catch(()=>{})}else this.publishOrChunk(`rpc.reply.${e.id}`,{id:e.id,error:r,__methods:n})?.catch(()=>{})}catch{}}drainTimeoutMs(){return this.options.drainTimeoutMs??250}onConnectionLost(e){e===this.nc&&e!==this.closingNc&&(this.nc=void 0,Promise.allSettled(this.dropConnectionState(!1)))}watchLink(e){let t;try{t=e.status()}catch{return}(async()=>{for await(let n of t){if(e!==this.nc||e===this.closingNc)break;if(n.type===`disconnect`||n.type===`staleConnection`)this.linkWaiters??=[];else if(n.type===`reconnect`)this.releaseLinkWaiters();else if(n.type===`error`){let e=lc(n.error);e!==void 0&&this.failRefusedPublish(e)}}})().catch(()=>{})}failRefusedPublish(e){for(let t of[...this.pendingRequests.values()])t.subject===e&&(t.cleanup?.(),t.transferKey&&this.muxChunking.discard(t.transferKey),t.reject(cc(e)));for(let t of[...this.streamHandlers.values()])t.subject===e&&t.refuse?.(cc(e))}holdForLink(e){let t=this.options.timeout??3e4;return this.waitForLink(t)?.then(n=>{if(!n)throw co(fo.TIMEOUT,`RPC call to "${e}" timed out after ${t}ms`)})}releaseLinkWaiters(){let e=this.linkWaiters;this.linkWaiters=void 0;for(let t of e??[])t()}waitForLink(e){let t=this.linkWaiters;if(t)return new Promise(n=>{let r=()=>{clearTimeout(i),n(!0)},i=setTimeout(()=>{let e=t.indexOf(r);e>=0&&t.splice(e,1),n(!1)},e);t.push(r)})}async flushBeforeClose(e){e.isClosed()||await this.flush(Math.min(this.options.disconnectTimeout??2e3,1e3)).catch(()=>{})}async awaitSubscriptions(){await this.flush(2e3).catch(()=>{})}async waitClosed(e){let t;try{await Promise.race([e.closed(),new Promise(e=>{t=setTimeout(e,this.options.disconnectTimeout??2e3)})])}catch{}finally{clearTimeout(t)}}encodeOrPublishFrame(e,t,n,r=!1){let i=Ua(t);if(i instanceof Uint8Array)return i;if(i.size>=32768&&i.size<=this._maxPayloadSize&&!n?.headers){let t=this.nc;if(r&&ws(t,e,n?.reply,i)||Cs(t,e,n?.reply,i))return}return Ha(i)}publishRequest(e,t,n){if(this.options.zeroCopyBinaries!==!0)return this.publish(e,t,{reply:n});try{return this.publishOrChunk(e,t,{reply:n},!0)??Promise.resolve()}catch(e){return Promise.reject(e)}}async publishChunks(e,t,n,r){if(this.unchunkableLimit!==void 0)throw co(fo.PAYLOAD_TOO_LARGE,`Payload limit ${this.unchunkableLimit} is too small for chunking`);let i=ns(),a={type:`chunked`,transferId:i,totalChunks:Math.ceil(n.length/this._maxPayloadSize),totalSize:n.length,chunkSize:this._maxPayloadSize},o=nc(r?.headers);o.set(`x-chunked-transfer`,`header`),o.set(`x-chunk-id`,i),e.publish(t,Da(a),{headers:o,reply:r?.reply});let s=0;for(let a of Za(n,i,this._maxPayloadSize)){let n=dn();n.set(`x-chunked-transfer`,`chunk`),n.set(`x-chunk-id`,i),n.set(`x-chunk-index`,s.toString()),e.publish(t,a.data,{headers:n,reply:r?.reply}),s>0&&s%50==0&&await is(0),s++}}noteSyncReply(){this.syncReplies++===0&&queueMicrotask(()=>{this.syncReplies=0}),this.syncReplies%8==0&&this.nc&&Ts(this.nc)}disposeChunking(){this.chunkingManager.dispose(),this.muxChunking.dispose();for(let e of this.chunkScopes.values())ic(e);for(let e of this.endpointChunking)e.dispose();this.endpointChunking.clear()}newChunkingManager(e){return new $a(this.options.maxTransferSize,e,this.chunkBudget)}chunkManager(e,t,n){if(t===void 0)return n&&(e.manager??=this.newChunkingManager()),e.manager;let r=e.lanes?.get(t);return!r&&n&&(r=this.newChunkingManager(),(e.lanes??=/* @__PURE__ */ new Map).set(t,r)),r}joinChunkScope(e){let t=e.options?.queue?`q:${e.options.queue}:${e.pattern}`:`s:${++this.chunkScopeSeq}`,n=this.chunkScopes.get(t);return n||(n={key:t,members:0},this.chunkScopes.set(t,n)),n.members++,n}leaveChunkScope(e){let t=e.chunks;t&&(e.chunks=void 0,!(--t.members>0)&&(ic(t),this.chunkScopes.get(t.key)===t&&this.chunkScopes.delete(t.key)))}async request(e,t,n){try{return await this.withNoResponderRetry(()=>this._requestOnce(e,t,n),n?.noResponderRetry)}catch(t){throw t instanceof W.NoRespondersError?lo(co(fo.NOT_FOUND,`No responders available`),e):t}}async _requestOnce(e,t,n){if(!this.nc)throw Error(`Not connected`);let r=n?.timeout??5e3,i=Va(t),a=r,o=this.waitForLink(r);if(o){let t=Date.now();if(!await o)throw co(fo.TIMEOUT,`Request to "${e}" timed out after ${r}ms`);if(a=Math.max(1,r-(Date.now()-t)),!this.nc)throw Error(`Not connected`)}let s=n?.headers;n?.sender!==void 0&&(s=nc(s),s.set(Xs,n.sender));let c;try{c=await this.nc.request(e,i,{timeout:a,headers:s,noMux:!1})}catch(t){throw t instanceof W.NoRespondersError||t?.cause instanceof W.NoRespondersError?new W.NoRespondersError(e):t instanceof W.TimeoutError?co(fo.TIMEOUT,`Request to "${e}" timed out after ${r}ms`):t}if(c.headers?.get(`Nats-Service-Error-Code`)){let e=c.headers.get(`Nats-Service-Error-Code`)||`500`,t=c.headers.get(`Nats-Service-Error`)||`Service error`,n=null;if(c.data)try{n=qa(c.data)}catch{}throw co(e,t,n)}let l=qa(c.data);if(l?.error)throw co(l.code??fo.INTERNAL_ERROR,l.error??`Unknown error`,l);return l}async withNoResponderRetry(e,t,n){let{maxRetries:r,delays:i}=this.retryPlan(t),a;for(let t=0;;t++)try{return await e()}catch(e){if(!(e instanceof W.NoRespondersError)||t>=r||this.closed)throw e;let o=i[Math.min(t,i.length-1)];if(t===0&&(a=this.probeMethod(n,o)),await this.retryWait(o,a))throw e}}retryPlan(e){let t=e?.maxRetries??this.options.noResponderRetry?.maxRetries,n=e?.delays??this.options.noResponderRetry?.delays;return t===void 0&&n===void 0?{maxRetries:qs.length,delays:qs}:{maxRetries:t??3,delays:n??Js}}probeMethod(e,t){if(e?.probeNamespace!==void 0&&e.probeMethod!==void 0)return this.isMethodMissing(e.probeNamespace,e.probeMethod,Math.max(t,500),e.onMethods)}async retryWait(e,t,n){let r=is(e,n);return t&&await Promise.race([t,r.then(()=>!1)])?!0:(await r,!1)}async isMethodMissing(e,t,n,r){try{let{result:i}=await this._callOnce(`rpc.${e}.${Ks}`,[],!1,!1,Math.max(1,n));return!Array.isArray(i)||!i.every(e=>typeof e==`string`)?!1:(r?.(i),!i.includes(t))}catch{return!1}}async call(e,...t){let{result:n}=await this.withNoResponderRetry(()=>this._callOnce(e,t));return n}async callWithMeta(e,t=[],n){let r=n?.timing===!0?Date.now():0,{result:i,methods:a,timing:o}=await this.withNoResponderRetry(()=>this._callOnce(e,t,n?.discover===!0,n?.timing===!0,n?.timeout),n?.noResponderRetry,n);if(!r||!o)return{result:i,methods:a};let s=Date.now()-r,c=Math.max(0,o.end-o.start);return{result:i,methods:a,timing:{totalMs:s,handlerMs:c,transportMs:Math.max(0,s-c)}}}async _callOnce(e,t,n=!1,r=!1,i){if(!this.isConnected&&!this.isClosed&&await this.connect(),!this.nc)throw Error(`Not connected`);if(!e.startsWith(`rpc.`))return this._callOnceService(e,t,i);this.ensureMuxSubscription();let a=ns(this.replyPrefix),o=i??this.options.timeout??3e4,s=`rpc.reply.${a}`,c=performance.now()+o;return new Promise((i,l)=>{let u,d=setTimeout(()=>{u?.();let t=this.pendingRequests.get(a);t&&(this.pendingRequests.delete(a),t.transferKey&&this.muxChunking.discard(t.transferKey),l(co(fo.TIMEOUT,`RPC call to "${e}" timed out after ${o}ms`)))},o);this.pendingRequests.set(a,{resolve:i,reject:l,timeout:d,subject:e,cleanup:()=>{clearTimeout(d),u?.(),this.pendingRequests.delete(a)}});let f={id:a,method:`call`,params:t};n&&(f.__discover=!0),r&&(f.__timing=!0);let p=()=>{f.__ttl=Math.max(1,Math.ceil(c-performance.now())),this.publishRequest(e,f,s).catch(e=>{this.pendingRequests.delete(a)&&(clearTimeout(d),l(e))})},m=this.linkWaiters;if(m){let e=()=>{this.pendingRequests.has(a)&&p()};m.push(e),u=()=>{let t=m.indexOf(e);t>=0&&m.splice(t,1)}}else p()})}async callService(e,t,n){let{result:r}=await this.withNoResponderRetry(async()=>{if(!this.isConnected&&!this.isClosed&&await this.connect(),!this.nc)throw Error(`Not connected`);return this._callOnceService(e,t,void 0,n)});return r}async _callOnceService(e,t,n,r){let i=ns(this.replyPrefix),a=n??this.options.timeout??3e4,o={id:i,method:`call`,params:t},s=r!==void 0&&tc(o)>this._maxPayloadSize?r:e,c=`${s}.reply.${i}`;return new Promise(async(t,n)=>{let r,l,u=async()=>{if(this.pendingRequests.has(i)){let e=this.pendingRequests.get(i);e?.timeout&&clearTimeout(e.timeout),this.pendingRequests.delete(i)}if(r&&!r.isClosed())try{r.unsubscribe()}catch{}l?.()},d=setTimeout(()=>{this.pendingRequests.has(i)&&(this.pendingRequests.delete(i),u(),n(co(fo.TIMEOUT,`RPC call to "${e}" timed out after ${a}ms`)))},a);this.pendingRequests.set(i,{resolve:t,reject:n,timeout:d,subject:s,cleanup:()=>u()});let f=async e=>{let t=e;if(t.id===i){let e=this.pendingRequests.get(t.id);e&&(this.pendingRequests.delete(t.id),e.timeout&&clearTimeout(e.timeout),await u(),t.error?e.reject(so.fromJSON(t.error)):e.resolve({result:t.result,methods:t.__methods,timing:t.__timing}))}},p=(e,t)=>{t&&t.data?.length===0&&t.headers?.code===503?(n(sc(s)),u()):e&&(n(e),u())};try{l=await this.subscribe(c,f);let e=Qs(this.options.connId);r=this.nc.subscribe(e,{max:1,callback:p});let t=this.waitForLink(a);if(t&&(await t,!this.pendingRequests.has(i)))return;await this.publishRequest(s,o,e)}catch(e){await u(),n(e)}})}callStream(e,...t){return this.streamWithRetry(e,t)}callStreamWithProbe(e,t,n){return this.streamWithRetry(e,t,n)}streamWithRetry(e,t,n){let r=this,{maxRetries:i,delays:a}=this.retryPlan(),o=0,s=!1,c=!1,l,u,d,f=Promise.resolve(),p=async()=>{for(;!c;){let f=l??=r._callStreamOnce(e,...t);try{let e=await f.next();if(e.done||c)break;return s=!0,e}catch(e){if(l=void 0,c||s||!(e instanceof W.NoRespondersError)||o>=i||r.closed)throw c=!0,e;let t=a[Math.min(o,a.length-1)];o===0&&(u=r.probeMethod(n,t)),o++,d=new AbortController;let f=await r.retryWait(t,u,d.signal);if(d=void 0,f&&!c)throw c=!0,e}}return c=!0,{value:void 0,done:!0}},m={next(){let e=f.then(p);return f=e.catch(()=>{}),e},async return(e){return c||(c=!0,d?.abort(),await l?.return(void 0)),{value:e,done:!0}},async throw(e){throw await m.return(),e},[Symbol.asyncIterator](){return m},async[Symbol.asyncDispose](){await m.return()}};return m}_callStreamOnce(e,...t){let n=this,r=!1,i=!1,a=!1,o=!1,s=null,c=``,l=``,u,d=!1,f=[],p=null,m=()=>{let e=p;e&&(p=null,e({value:void 0,done:!0}))},h={push:e=>{if(!o){if(p){let t=p;p=null,t({value:e,done:!1})}else f.push(e)}},end:()=>{o=!0,m()},error:e=>{s=e,o=!0,m()},subject:e,refuse:e=>{h.error(e),_()}},g=async()=>{try{await n.publish(`${l}.cancel`,{id:c})}catch{}},_=async()=>{a||(a=!0,n.streamHandlers.delete(c),n.statusHandlers.delete(c),u?.(),o||(o=!0,d&&await g()))},v=async e=>{if(e.id!==c)return;let t=n.streamHandlers.get(e.id);if(t)switch(e.type){case`data`:t.push(e.data);break;case`end`:t.end(),await _();break;case`error`:t.error(so.fromJSON(e.error)),await _()}},y=async()=>{if(!n.isConnected&&!n.isClosed&&await n.connect(),a)return;if(!n.nc)throw Error(`Not connected`);n.ensureMuxSubscription(),c=ns(n.replyPrefix),l=`stream.${e}.${c}`,n.streamHandlers.set(c,h);let r=await n.subscribe(l,v);if(a){r(),n.streamHandlers.delete(c);return}u=r,n.statusHandlers.set(c,()=>{n.streamHandlers.get(c)?.error(sc(e)),_()});let i=n.holdForLink(e);if(i&&(await i,o))return;let s={id:c,method:`stream`,params:{__stream:!0,__streamSubject:l,args:t}};await n.publish(e,s,{reply:`rpc.reply.${c}`}),d=!0,a&&await g()},b={async next(){if(i)return{value:void 0,done:!0};if(!r){r=!0;try{await y()}catch(e){throw await _(),e}if(i)return await _(),{value:void 0,done:!0}}if(s)throw await _(),s;if(f.length>0)return{value:f.shift(),done:!1};if(o)return await _(),{value:void 0,done:!0};let e=await new Promise((e,t)=>{i||o?e({value:void 0,done:!0}):s?t(s):p=e});if(i)return await _(),{value:void 0,done:!0};if(e.done){if(s)throw await _(),s;return await _(),{value:void 0,done:!0}}return{value:e.value,done:!1}},async return(e){return i||(i=!0,m(),r&&await _()),{value:e,done:!0}},async throw(e){throw i||(i=!0,m(),r&&await _()),e},[Symbol.asyncIterator](){return b},async[Symbol.asyncDispose](){await b.return()}};return b}callPullIterator(e,...t){let n=this,r=!1,i=!1,a=!1,o=!1,s=!1,c=!1,l=null,u,d=``,f=``,p=``,m=``,h,g=[],_=null,v=()=>{let e=_;e&&(_=null,e({id:d,type:`done`}))},y=()=>{s||(s=!0,l=co(fo.CONNECTION_CLOSED,`Connection closed`));let e=_;e&&(_=null,e(l?{id:d,type:`error`,error:l.toJSON?.()??{code:fo.CONNECTION_CLOSED,message:`Connection closed`}}:{id:d,type:`done`}))},b=async()=>{if(!o&&(o=!0,n.pullIteratorSettles.delete(y),n.statusHandlers.delete(d),h?.(),!s)){if(s=!0,!c)return;try{let e={id:d,type:`cancel`};await n.publish(f,e)}catch{}}},x=async()=>{if(!n.isConnected&&!n.isClosed&&await n.connect(),!n.nc)throw Error(`Not connected`);if(n.ensureMuxSubscription(),n.pullIteratorSettles.add(y),d=ns(n.replyPrefix),f=`_rpc.iterator.${d}.request`,p=`_rpc.iterator.${d}.response`,m=`rpc.reply.${d}`,!a){if(c=!0,(await n.call(e,{__pullIterator:!0,__iteratorId:d,args:t}))?.iteratorId!==d)throw Error(`Failed to initialize pull iterator`);h=await n.subscribe(p,e=>{if(e.type===`error`?(l=so.fromJSON(e.error),s=!0):e.type===`done`&&(s=!0),_){let t=_;_=null,t(e)}else g.push(e)}),n.statusHandlers.set(d,()=>{let t=new W.NoRespondersError(e);s=!0,l=lo(co(`503`,t.message),e);let n={type:`error`,id:d,error:l.toJSON()};if(u=n,_){let e=_;_=null,e(n)}else g.push(n)})}},S={async next(){if(a)return{value:void 0,done:!0};if(!r){r=!0,i=!0;try{await x()}catch(e){throw i=!1,await b(),e}if(i=!1,a)return await b(),{value:void 0,done:!0}}let t={id:d,type:`next`};try{let r=n.holdForLink(e);r&&await r,s||await n.publish(f,t,{reply:m})}catch(e){throw await b(),e}let o=await new Promise((e,t)=>{a?e({id:d,type:`done`}):g.length>0?e(g.shift()):s&&l?t(l):s?e({id:d,type:`done`}):_=e});if(a)return await b(),{value:void 0,done:!0};if(o.type===`error`)throw await b(),o===u?l:so.fromJSON(o.error);return o.type===`done`?(await b(),{value:void 0,done:!0}):{value:o.value,done:!1}},async return(e){return a||(a=!0,v(),r&&!i&&await b()),{value:e,done:!0}},async throw(e){throw a||(a=!0,v(),r&&!i&&await b()),e},[Symbol.asyncIterator](){return S},async[Symbol.asyncDispose](){await S.return()}};return S}callPullIteratorWithCallback(e,t,n,...r){let i=Array.isArray(n)?void 0:n,a=Array.isArray(n)?n:n.onewayMethods,o=i?.prefetch??!1,s=this,c=!1,l=!1,u=!1,d=!1,f=!1,p=!1,m,h=null,g=``,_=``,v=``,y=``,b=``,x,S,C,w=[],T=null,E=Promise.resolve(),D=/* @__PURE__ */ new WeakMap,O=!1,k=()=>{let e=T;e&&(T=null,e({id:g,type:`done`}))},A=()=>{f||(f=!0,h=co(fo.CONNECTION_CLOSED,`Connection closed`));let e=T;e&&(T=null,e(h?{id:g,type:`error`,error:h.toJSON?.()??{code:fo.CONNECTION_CLOSED,message:`Connection closed`}}:{id:g,type:`done`}))},j=async()=>{if(!d&&(d=!0,s.pullIteratorSettles.delete(A),s.statusHandlers.delete(g),x?.(),C?.(),!f)){if(f=!0,!p)return;try{let e={id:g,type:`cancel`};await s.publish(_,e)}catch{}}},M=async()=>{if(!s.isConnected&&!s.isClosed&&await s.connect(),!s.nc)throw Error(`Not connected`);s.ensureMuxSubscription(),s.pullIteratorSettles.add(A),g=ns(s.replyPrefix),_=`_rpc.iterator.${g}.request`,v=`_rpc.iterator.${g}.response`,y=`_rpc.cb.${g}`,b=`rpc.reply.${g}`;let n=Object.keys(t).filter(e=>typeof t[e]==`function`),i=await s.subscribeEntry(y,e=>{if(d||u)return;let n=t[e.method];n?E=E.then(async()=>{if(!(d||u))try{await n(...e.args??[])}catch(t){console.error(`[rpc] Pull-callback handler \'${e.method}\' threw:`,t)}}):console.error(`[rpc] Pull-callback: unknown method \'${e.method}\'`)});if(x=i.unsubscribe,S=()=>i.entry.flush?.()??Promise.resolve(),u)return;let o={__pullCallback:!0,__iteratorId:g,__callbackSubject:y,__callbackMethods:n,__onewayMethods:a,args:r},c;p=!0;try{c=await s.call(e,o)}catch(e){throw x?.(),x=void 0,e}if(c?.iteratorId!==g)throw x?.(),x=void 0,Error(`Failed to initialize pull-callback iterator`);C=await s.subscribe(v,e=>{if(e.type===`error`?(h=so.fromJSON(e.error),f=!0):e.type===`done`?f=!0:D.set(e,E),T){let t=T;T=null,t(e)}else w.push(e)}),s.statusHandlers.set(g,()=>{let t=new W.NoRespondersError(e);f=!0,h=lo(co(`503`,t.message),e);let n={type:`error`,id:g,error:h.toJSON()};if(m=n,T){let e=T;T=null,e(n)}else w.push(n)})},N={async next(){if(u)return{value:void 0,done:!0};if(!c){c=!0,l=!0;try{await M()}catch(e){throw l=!1,await j(),e}if(l=!1,u)return await j(),{value:void 0,done:!0}}if(O)O=!1;else{let t={id:g,type:`next`};try{let n=s.holdForLink(e);n&&await n,f||await s.publish(_,t,{reply:b})}catch(e){throw await j(),e}}let t=await new Promise((e,t)=>{u?e({id:g,type:`done`}):w.length>0?e(w.shift()):f&&h?t(h):f?e({id:g,type:`done`}):T=e});if(u)return await j(),{value:void 0,done:!0};if(t.type===`error`)throw await j(),t===m?h:so.fromJSON(t.error);if(t.type===`done`)return await S?.(),await E,await j(),{value:void 0,done:!0};if(o&&!f&&!u&&!s.linkWaiters)try{let e={id:g,type:`next`};await s.publish(_,e,{reply:b}),O=!0}catch{O=!1}return await(D.get(t)??E),{value:void 0,done:!1}},async return(e){return u||(u=!0,k(),c&&!l&&await j()),{value:e,done:!0}},async throw(e){throw u||(u=!0,k(),c&&!l&&await j()),e},[Symbol.asyncIterator](){return N},async[Symbol.asyncDispose](){await N.return()}};return N}async callWithCallback(e,t,n){if(!this.isConnected&&!this.isClosed&&await this.connect(),!this.nc)throw Error(`Not connected`);let r=ns(this.replyPrefix),i=`rpc.cb.${r}`,a=await this.subscribe(i,async e=>{if(e.type===`data`)try{await n(e.data)}catch(e){console.error(`[rpc] Callback error:`,e)}else e.type===`error`&&console.error(`[rpc] Callback error:`,e.error)}),o={__callback:!0,__callbackSubject:i,args:t};try{await this.call(e,o)}catch(e){throw a(),e}return()=>{this.publish(`${i}.cancel`,{id:r}).catch(()=>{}),a()}}async registerHandler(e,t,n){if(n?.namespaceSubscription===!0&&!uc(e))throw Error(`Namespace "${e}" overlaps internal subjects and cannot take a namespace subscription`);if(!this.nc&&!n?.isolatedConnection)throw Error(`Not connected`);let r=this;n?.isolatedConnection&&(r=this.createIsolatedClient({...this.options,name:`${this.options.name}-handler-${e}`}),await r.connect(),this.isolatedClients.push(r));let i=[],a=new _o,o=n?.withoutDecorators?io(t):ao(t),s=Object.keys(o),c=vo(n?.orphanProbe??r.options.orphanProbe),l=r.drainTimeoutMs()>0?/* @__PURE__ */ new Set:void 0,u={entries:[],open:l},d=l?e=>{dc(e)&&l.add(e)}:void 0,f=e=>!l||!dc(e)?!0:l.delete(e)?(l.size===0&&u.onIdle?.(),!0):!1,p=async(e,t,n)=>{t.error=To(n),delete t.result,t.error.code===fo.METHOD_NOT_FOUND&&(t.__methods=s);try{await r.publish(e,t)}catch(e){if(r.isClosed)return;console.error(`Failed to send error response:`,e)}},m=async(e,t,n,i,o)=>{let s=`rpc.reply.${i.id}`,l=e===`stream`&&f(i);try{if(e===`stream`){let e=i.params.__streamSubject;bo(t,i.params.args??[],e,i.id,r,a,c).catch(e=>{console.error(`Stream request error for ${n}:`,e)});return}o.result=await So(e,t,i.params,i.id,r,a,c),(l=f(i))&&await r.publish(s,o)}catch(e){(l||f(i))&&await p(s,o,e)}},h=(e,t,n)=>{let i=`rpc.reply.${t.id}`,a=t.__timing===!0,o=a?Date.now():0,s;try{s=wo(e,t.params)}catch(e){return f(t)?p(i,n,e):void 0}if(fc(s))return(async()=>{let e;try{e=await s}catch(e){f(t)&&await p(i,n,e);return}if(f(t)){a&&(n.__timing={start:o,end:Date.now()}),n.result=e;try{await r.publish(i,n)}catch(e){await p(i,n,e)}}})();if(!f(t))return;a&&(n.__timing={start:o,end:Date.now()}),n.result=s;let c;try{c=r.publishOrChunk(i,n)}catch(e){return p(i,n,e)}return c||r.noteSyncReply(),c?.catch(e=>p(i,n,e))},g=/* @__PURE__ */ new WeakMap,_=n?.dropExpired,v=Array.isArray(_)?new Set(_):void 0,y=e=>_===!0||v?.has(e)===!0,b=e=>y(e)?e=>{dc(e)&&g.set(e,performance.now()),d?.(e)}:d,x=e=>{let t=e.__ttl,n=g.get(e);return typeof t==`number`&&t>0&&n!==void 0&&performance.now()-n>t+5},S=(e,t)=>{let n=y(e);return r=>{if(l&&dc(r)&&!l.has(r))return;if(n&&x(r)){f(r);return}let i={id:r.id};r.__discover===!0&&(i.__methods=s);let a=xo(r.params);return a?m(a,t,e,r,i):h(t,r,i)}},C=e=>{let t=Math.floor(n?.concurrency?.[e]??1);return t>=2?{limit:t,isShared:e=>xo(e?.params)===void 0}:void 0},w=e=>{if(dc(e))try{r.publishOrChunk(`rpc.reply.${e.id}`,{id:e.id,result:s})?.catch(()=>{})}catch{}},T=n?.queue?{queue:n.queue}:void 0;if(n?.namespaceSubscription===!0){let t=`rpc.${e}.`,n=/* @__PURE__ */ new Map,{entry:a,unsubscribe:c}=r.addSubscription(`${t}>`,()=>{},T,void 0,void 0,(e,i)=>{let a=i.slice(t.length);if(!Object.hasOwn(o,a)){a===Ks?w(e):r.replyMissingMethod(e,a,s);return}let c=n.get(a);if(!c){let e=S(a,o[a]),t=e=>console.error(`Error in handler for ${i}:`,e),r=C(a);c={dispatch:(r?os(e,r.limit,r.isShared,t):as(e,t)).dispatch,receive:b(a)},n.set(a,c)}c.receive?.(e),c.dispatch(e)},e=>{let n=e.slice(t.length);return Object.hasOwn(o,n)?n:void 0});u.entries.push(a),i.push(c)}else{for(let[t,n]of Object.entries(o)){let{entry:a,unsubscribe:o}=r.addSubscription(`rpc.${e}.${t}`,S(t,n),T,C(t),b(t));u.entries.push(a),i.push(o)}if(!Object.hasOwn(o,Ks)){let{entry:t,unsubscribe:n}=r.addSubscription(`rpc.${e}.${Ks}`,w,T);u.methods=t,i.unshift(n)}}return r.responders.add(u),await r.awaitSubscriptions(),async()=>{l&&await Promise.allSettled([r.drainResponders([u]),...a.stop()]),r.responders.delete(u);for(let e of i)e();await Promise.allSettled(a.stop()),n?.isolatedConnection&&(await r.disconnect(),this.forgetIsolated(r))}}async onRequest(e,t,n){if(!this.nc)throw Error(`Not connected`);return this.subscribeMessages(e,r=>{(n?.ignoreSender===void 0||r.headers?.get(Xs)!==n.ignoreSender)&&(async()=>{try{let e=await t(qa(r.data));if(r.reply){let t=Va(e);r.respond(t)}}catch(t){if(r.reply){let{code:e,message:n}=To(t),i=Va({error:n,code:e});r.respond(i)}console.error(`Error in request handler for ${e}:`,t)}})()})}async channel(e,t){let n=t?.isolatedConnection?this.isolatedChannelClient(`${this.options.name}-channel-${e}`):this;return this.openChannel(n,new ss(n,e))}async privateChannel(e,t,n){let r=n?.isolatedConnection?this.isolatedChannelClient(`${this.options.name}-private-${e}`):this;return this.openChannel(r,new cs(r,e,t))}isolatedChannelClient(e){let t=this.createIsolatedClient({...this.options,name:e});return this.isolatedClients.push(t),t}async openChannel(e,t){let n=e!==this;try{n&&await e.connect(),await t.init()}catch(t){throw n&&(await e.disconnect().catch(()=>{}),this.forgetIsolated(e)),t}return n&&(t._isolatedClient=e,t._releaseIsolated=()=>this.forgetIsolated(e)),t}forgetIsolated(e){let t=this.isolatedClients.indexOf(e);t>=0&&this.isolatedClients.splice(t,1)}createProxy(e,t){let n;t?.isolatedConnection?(n=this.createIsolatedClient({...this.options,name:`${this.options.name}-proxy-${e}`}),this.isolatedClients.push(n)):n=this;let r=Zo(n,e,[],void 0,t?.onTiming,{noResponderRetry:t?.noResponderRetry,timeout:t?.timeout});return t?.isolatedConnection?(r._isolatedClient=n,{proxy:r,close:async()=>{await n.disconnect(),this.forgetIsolated(n)}}):r}async createServiceProxy(e,t){let n;t?.isolatedConnection?(n=this.createIsolatedClient({...this.options,name:`${this.options.name}-service-${e}`}),this.isolatedClients.push(n),await n.connect()):n=this;let r=n.service.monitor(),i=[];for await(let t of await r.info(e))i.push(t);if(i.length===0)throw t?.isolatedConnection&&(await n.disconnect(),this.forgetIsolated(n)),Error(`No services found with name: ${e}`);let a=t?.preferredId?i.find(e=>e.id===t.preferredId)??i[0]:i[0],o=Qo(n,a,t?.timeout);return t?.isolatedConnection?(o._isolatedClient=n,{proxy:o,close:async()=>{await n.disconnect(),this.forgetIsolated(n)}}):o}};function ec(e,t){return t?t.aborted?(e.then(e=>ac(e)).catch(()=>{}),Promise.reject(new DOMException(`Aborted`,`AbortError`))):new Promise((n,r)=>{let i=!1,a=()=>{i||(i=!0,e.then(e=>ac(e)).catch(()=>{}),r(new DOMException(`Aborted`,`AbortError`)))};t.addEventListener(`abort`,a,{once:!0}),e.then(e=>{i?ac(e):(i=!0,t.removeEventListener(`abort`,a),n(e))},e=>{i||(i=!0,t.removeEventListener(`abort`,a),r(e))})}):e}function tc(e){let t=Ua(e);return t instanceof Uint8Array?t.length:t.size}function nc(e){let t=dn();for(let n of e?.keys()??[])for(let r of e.values(n))t.append(n,r);return t}function rc(e,t){let n=[e,t].filter(e=>typeof e==`number`&&e>0);return n.length>0?Math.min(...n):1048576}function ic(e){e.manager?.dispose();for(let t of e.lanes?.values()??[])t.dispose()}function ac(e){let t=e;try{typeof t.abortClose==`function`?t.abortClose():e.close().catch(()=>{})}catch{}}function oc(e){return!e||e.isClosed()?Promise.resolve():typeof e.drain==`function`?e.drain().catch(()=>{}):(e.unsubscribe(),Promise.resolve())}function sc(e){return lo(new W.NoRespondersError(e),e)}function cc(e){return co(fo.FORBIDDEN,`Permission denied for "${e}"`,{subject:e})}function lc(e){let t=e;if(t?.name===`PermissionViolationError`&&t.operation===`publish`&&t.subject)return t.subject}function uc(e){let t=e.split(`.`,1)[0];return t!==`reply`&&t!==`cb`}function dc(e){return typeof e?.id==`string`}function fc(e){return e!==null&&(typeof e==`object`||typeof e==`function`)&&typeof e.then==`function`}var pc={id:`nats`,kind:`persistent`,phaseGating:!0},mc=3e3,hc=2e3,gc=12e4;function _c(){let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID();if(e?.getRandomValues){let t=/* @__PURE__ */ new Uint8Array(16);return e.getRandomValues(t),Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}return`${Date.now()}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}function vc(e={}){let t={...pc,...e.spec},n=e.proxyPath??`/api/proxy`,r=e.clientName??`@camera.ui/transport/nats`,i=e.natsUser??`secret`,a=e.natsPassword??`secret`,o=e.reconnectTimeWait??1e3,s=e.reconnectionDelayMax??5e3,c=e.reconnectionRandomizationFactor??.5,l=e.timeout??1e4,u=e.connectTimeout??5e3,d=e.pingInterval??25e3,f=e.pingTimeout??2e4,p=e.maxPingOut??1,m=d||gc,h=m+(f>0?f:m),g=e.logger,_=e.resolveServers,v=e.resolveRefreshMs??0,y=new ie,b=/* @__PURE__ */ new Set,x=null,S=null,C=null,w={up:!1},T=null,E=!1,D=null,O=0,k=null,A=null,j=!1,M=0,N=!1,P,F=0;function I(e){let t=new URL(e.endpoint.url),r=t.protocol===`https:`?`wss:`:`ws:`,i=t.port||(t.protocol===`https:`?`443`:`80`),a=t.pathname.replace(/\\/$/,``),o=new URLSearchParams({token:e.tokens.access});return D&&o.set(`connId`,D),[`${r}//${t.hostname}:${i}${a}${n}?${o.toString()}`]}async function L(e){let t=I(e);return _?_({target:e,connId:D??``,defaultServers:t}):t}async function R(e){let t=C;if(_&&t&&!E&&!(N||Date.now()-M<mc)){N=!0;try{let n=await L(t);S===e&&!E&&e.setServers(n)}catch(e){g?.warn(`server refresh failed: ${xc(e)}`)}finally{N=!1,M=Date.now()}}}function z(){x&&=(clearInterval(x),null)}function B(e){z(),!(!_||v<=0)&&(x=setInterval(()=>R(e),v))}async function V(e){let t=C;if(!S||!t||E)return;g?.debug(`resign (${e})`);let n=++O;oe(),z();try{S.abortClose()}catch{}S=null,H(),ae(`signature-expired: ${e}`);try{await ue(t,n)}catch{}}function H(){let e=w.up?S:null;for(let t of[...b])try{t(e)}catch{}}function ee(){w.up||(w={up:!0},g?.debug(`markUp`),y.emit(`up`,void 0))}function ae(e){(w.up||w.lastError!==e)&&(w={up:!1,lastError:e},g?.debug(`markDown (${e})`),y.emit(`down`,{reason:e}))}function oe(){T?.abort(),T=null}function se(e){oe();let t=new AbortController;T=t,(async()=>{let n=e.status();if(n)for await(let r of n){if(t.signal.aborted)break;switch(g?.debug(`status: ${r.type}${`server`in r&&r.server?` server=${String(r.server)}`:``}`),r.type){case`reconnect`:ee(),H();break;case`disconnect`:ae(`disconnect`),H(),_&&R(e);break;case`reconnecting`:_&&R(e);break;case`staleConnection`:ae(`staleConnection`),H();break;case`error`:ce(r)}}})().catch(()=>{})}function ce(e){let t=e.error??e.data,n=xc(t??`server error`);if(n.toLowerCase().includes(`permissions violation`)){g?.warn(`permission violation (connection stays up): ${n}`);return}let r=te(typeof t==`object`&&t?{...t,message:n}:n);if(r===`auth-expired`){if(_){V(n);return}y.emit(`auth-error`,{message:n,access:P})}else if(r===`forbidden`){if(U(t)){le(n);return}g?.warn(`forbidden by server: ${n}`),ae(bc(n))}else ae(n)}function le(e){j=!0;let t=S;if(t){oe(),z(),S=null;try{t.abortClose()}catch{}}g?.warn(`forbidden by server: ${e}`),ae(bc(e)),t&&H()}async function ue(e,t){if(g?.debug(`rebuildClient start (epoch=${t})`),oe(),z(),k?.abort(),j=!1,S){try{S.abortClose()}catch{}S=null,ae(`endpoint-changed`),H()}let n=new AbortController;k=n;try{for(let r=0;;r++){if(r>0){let e=fe(r-1);if(g?.debug(`rebuildClient retry in ${e}ms`),await yc(e,n.signal),E||t!==O)return}if(await de(e,t,n.signal))return}}finally{k===n&&(k=null)}}async function de(e,t,n){let m=Date.now(),h,v={startedAt:m,settled:new Promise(e=>h=e)};A=v;try{D=_c();let h;try{h=await L(e)}catch(e){if(E||t!==O)return!0;let n=xc(e);return g?.debug(`rebuildClient resolve FAILED: ${n}`),ae(n),!1}if(E||t!==O)return!0;P=e.tokens.access;let v=Zs({servers:h,name:r,connId:D,auth:{user:i,password:a},reconnect:!0,maxReconnectAttempts:-1,reconnectTimeWait:o,reconnectionDelayMax:s,reconnectionRandomizationFactor:c,timeout:l,connectTimeout:u,pingInterval:d,pingTimeout:f,maxPingOut:p,ignoreAuthErrorAbort:!0,waitOnFirstConnect:!1});try{await v.connect({signal:n})}catch(n){try{v.abortClose()}catch{}if(E||t!==O)return!0;let r=n instanceof Error?n.message:String(n);g?.debug(`rebuildClient connect FAILED after ${Date.now()-m}ms: ${r}`);let i=te(n instanceof Error?n:r);if(i===`forbidden`)throw le(r),n;if(i===`auth-expired`&&!_)throw j=!0,y.emit(`auth-error`,{message:r,access:e.tokens.access}),ae(r),n;return ae(r),!1}if(E||t!==O){try{v.abortClose()}catch{}return!0}return S=v,g?.debug(`rebuildClient connected in ${Date.now()-m}ms`),ee(),H(),se(v),B(v),!0}finally{h(),A===v&&(A=null)}}function fe(e){let t=s>0?Math.min(o*2**e,s):o,n=t*c;return Math.round(t-n+Math.random()*2*n)}async function pe(e){if(E)throw Error(`nats-transport disposed`);if(ne(C,e)&&(!e||S||k||j))return;let t=++O,n=re(C,e);if(C=e,!e){if(oe(),z(),k?.abort(),k=null,j=!1,S){try{S.abortClose()}catch{}S=null,H()}ae(`detached`);return}if(n||!S){await ue(e,t);return}let r=S,i=await L(e);t===O&&(S===r?(r.setServers(i),P=e.tokens.access):j&&await ue(e,t))}function me(){return w.up&&S?.isStale&&Date.now()>F?{up:!1,lastError:`staleConnection`}:w}function he(e,t){return y.on(e,t)}async function ge(){if(E=!0,O++,oe(),z(),k?.abort(),k=null,S){try{S.abortClose()}catch{}S=null,H()}b.clear(),w={up:!1},y.clear()}function _e(){return w.up?S:null}function ve(e){return b.add(e),e(w.up?S:null),()=>b.delete(e)}async function ye(e=5e3){if(!S)throw Error(`nats-transport: no client`);let t=Date.now();try{await S.flush(e),F=Date.now()+h,g?.debug(`probeAlive OK in ${Date.now()-t}ms`)}catch(e){throw g?.debug(`probeAlive FAILED after ${Date.now()-t}ms: ${e instanceof Error?e.message:String(e)}`),e}}async function be(){if(!S){g?.debug(`forceReconnect: no client`);return}g?.debug(`forceReconnect: issuing (up=${w.up} stale=${S.isStale})`);let e=Date.now();await S.forceReconnect(),g?.debug(`forceReconnect: returned after ${Date.now()-e}ms (up=${w.up})`)}let xe=null;function Se(){return xe||(xe=(async()=>{if(E||!C||j)return me();if(!S){let e=A;return e&&Date.now()-e.startedAt<hc?(await e.settled,me()):(ue(C,++O).catch(()=>{}),await A?.settled,me())}if(w.up)try{return await ye(3e3),w}catch{}try{await be()}catch{}return me()})().finally(()=>{xe=null}),xe)}return{spec:t,apply:pe,health:me,on:he,dispose:ge,getClient:_e,subscribeClient:ve,probeAlive:ye,forceReconnect:be,ensureAlive:Se}}function yc(e,t){return new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(i,e);t.addEventListener(`abort`,i,{once:!0});function i(){clearTimeout(r),t.removeEventListener(`abort`,i),n()}})}function bc(e){return/^forbidden\\b/.test(e)?e:`forbidden: ${e}`}function xc(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function Sc(e){let t=e.initial??{kind:`idle`},n=-1,r=!1,i=/* @__PURE__ */ new Set,a=/* @__PURE__ */ new Set,o=/* @__PURE__ */ new Map,s=e.resolveTimeoutMs??15e3,c=1,l=!1;function u(e,t,n){let r=o.get(e);r&&(o.delete(e),clearTimeout(r.timer),n!==void 0||!t?r.reject(Error(n??`resolve failed`)):r.resolve(t))}function d(e){if(l)return;let o=e.data;if(!o)return;if(o.type===`kernel-resolve-reply`){u(o.id,o.servers,o.error);return}if(o.type===`kernel-revalidate`){for(let e of[...a])try{e()}catch{}return}if(o.type!==`kernel-sync`||o.generation<=n)return;n=o.generation,r=o.resolver===!0;let s=t;if(t=o.phase,!p(s,t))for(let e of[...i])try{e(t,s)}catch{}}e.source.addEventListener(`message`,d);function f(e){return e.kind===`online`?e.target:null}function p(e,t){if(e.kind!==t.kind)return!1;let n=f(e),r=f(t);return n===null||r===null?n===r:n.endpoint.url===r.endpoint.url&&n.endpoint.mode===r.endpoint.mode&&n.tokens.access===r.tokens.access&&n.tokens.proxySession===r.tokens.proxySession&&n.tokens.refresh===r.tokens.refresh}return{get phase(){return t},get target(){return f(t)},get hasResolver(){return r},subscribe(e){return i.add(e),()=>{i.delete(e)}},onRevalidate(e){return a.add(e),()=>{a.delete(e)}},requestSync(){l||e.source.postMessage({type:`kernel-sync-request`})},resolveServers(t){if(l)return Promise.reject(/* @__PURE__ */ Error(`mirror disposed`));let n=c++;return new Promise((r,i)=>{let a=setTimeout(()=>u(n,void 0,`resolve timeout`),s);o.set(n,{resolve:r,reject:i,timer:a}),e.source.postMessage({type:`kernel-resolve-request`,id:n,connId:t.connId,defaultServers:[...t.defaultServers]})})},dispose(){l=!0,e.source.removeEventListener(`message`,d),i.clear(),a.clear();for(let e of[...o.keys()])u(e,void 0,`mirror disposed`)}}}let Cc=new L(`CanvasRenderer`);var wc=class{canvas=null;backend=`2d`;ready=!1;hidden=!1;lastW=0;lastH=0;lastFrame=null;ctx2d=null;gl=null;glProgram=null;glTexture=null;gpuDevice=null;gpuContext=null;gpuPipeline=null;gpuBindGroupLayout=null;gpuSampler=null;drawCount=0;dropCount=0;drawDurationSumUs=0;drawDurationMaxUs=0;async attachCanvas(e,t=`2d`){this.destroyBackend(),this.canvas=e,this.ready=!1,this.lastW=0,this.lastH=0;let n;n=t===`webgpu`?[`webgpu`,`webgl`,`2d`]:t===`webgl`?[`webgl`,`2d`]:[`2d`],Cc.debug(`Attaching canvas with preferred renderer`,t,`chain`,n);for(let t of n){if(t===`webgpu`&&await this.initWebGPU(e))return this.backend=`webgpu`,this.ready=!0,Cc.debug(`Initialized WebGPU backend`),`webgpu`;if(t===`webgl`&&this.initWebGL2(e))return this.backend=`webgl`,this.ready=!0,Cc.debug(`Initialized WebGL2 backend`),`webgl`;if(t===`2d`&&this.init2D(e))return this.backend=`2d`,this.ready=!0,Cc.debug(`Initialized 2D backend`),`2d`}return this.backend=`2d`,this.ready=!0,Cc.debug(`Falling back to 2D backend`),`2d`}getBackend(){return this.backend}show(){this.hidden=!1}hide(){this.hidden=!0,this.lastFrame?.close(),this.lastFrame=null}getStats(){let e={backend:this.backend,drawCount:this.drawCount,dropCount:this.dropCount,drawDurationSumUs:this.drawDurationSumUs,drawDurationMaxUs:this.drawDurationMaxUs};return this.drawCount=0,this.dropCount=0,this.drawDurationSumUs=0,this.drawDurationMaxUs=0,e}drawFrame(e){if(!this.canvas||!this.ready||this.hidden){this.dropCount++,e.close();return}let t=e.displayWidth,n=e.displayHeight;if(t===0||n===0){this.dropCount++,e.close();return}this.retainForSnapshot(e);let r=performance.now();try{switch(this.backend){case`webgpu`:this.drawWebGPU(e,t,n);break;case`webgl`:this.drawWebGL(e,t,n);break;case`2d`:this.draw2D(e,t,n)}}catch{this.dropCount++,e.close();return}e.close();let i=(performance.now()-r)*1e3;this.drawCount++,this.drawDurationSumUs+=i,i>this.drawDurationMaxUs&&(this.drawDurationMaxUs=i)}async snapshot(){let e=this.lastFrame;if(!e)return null;let t=e.displayWidth,n=e.displayHeight;if(t===0||n===0)return null;try{let r=new OffscreenCanvas(t,n),i=r.getContext(`2d`,{alpha:!1});return i?(i.drawImage(e,0,0,t,n),await r.convertToBlob({type:`image/png`})):null}catch(e){return Cc.debug(`Snapshot failed:`,e),null}}destroy(){this.destroyBackend(),this.lastFrame?.close(),this.lastFrame=null,this.canvas=null,this.ready=!1,this.lastW=0,this.lastH=0}retainForSnapshot(e){try{let t=e.clone();this.lastFrame?.close(),this.lastFrame=t}catch{}}init2D(e){try{let t=e.getContext(`2d`,{alpha:!1,desynchronized:!0});return t?(this.ctx2d=t,!0):(Cc.debug(`Failed to get 2D context from canvas`),!1)}catch(e){return Cc.debug(`2D context init error:`,e),!1}}draw2D(e,t,n){this.canvas&&this.ctx2d&&((t!==this.lastW||n!==this.lastH)&&(this.canvas.width=t,this.canvas.height=n,this.lastW=t,this.lastH=n),this.ctx2d.drawImage(e,0,0))}initWebGL2(e){try{let t=e.getContext(`webgl2`,{alpha:!1,desynchronized:!0,antialias:!1,powerPreference:`high-performance`});if(!t)return Cc.debug(`Failed to get WebGL2 context from canvas`),!1;let n=t.createShader(t.VERTEX_SHADER);if(!n)return Cc.debug(`Failed to create WebGL2 vertex shader`),!1;if(t.shaderSource(n,`#version 300 es\nout vec2 vUV;\nvoid main() {\n float x = float(gl_VertexID & 1) * 2.0;\n float y = float(gl_VertexID & 2);\n vUV = vec2(x, 1.0 - y);\n gl_Position = vec4(vUV * 2.0 - 1.0, 0.0, 1.0);\n vUV.y = 1.0 - vUV.y;\n}`),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))return Cc.debug(`Failed to compile WebGL2 vertex shader`),t.deleteShader(n),!1;let r=t.createShader(t.FRAGMENT_SHADER);if(!r)return t.deleteShader(n),Cc.debug(`Failed to create WebGL2 fragment shader`),!1;if(t.shaderSource(r,`#version 300 es\nprecision mediump float;\nin vec2 vUV;\nuniform sampler2D uTex;\nout vec4 c;\nvoid main() { c = texture(uTex, vUV); }`),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))return t.deleteShader(n),t.deleteShader(r),Cc.debug(`Failed to compile WebGL2 fragment shader`),!1;let i=t.createProgram();if(!i)return t.deleteShader(n),t.deleteShader(r),Cc.debug(`Failed to create WebGL2 program`),!1;if(t.attachShader(i,n),t.attachShader(i,r),t.linkProgram(i),t.deleteShader(n),t.deleteShader(r),!t.getProgramParameter(i,t.LINK_STATUS))return t.deleteProgram(i),Cc.debug(`Failed to link WebGL2 program`),!1;t.useProgram(i);let a=t.createTexture();return a?(t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,a),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.uniform1i(t.getUniformLocation(i,`uTex`),0),this.gl=t,this.glProgram=i,this.glTexture=a,!0):(t.deleteProgram(i),Cc.debug(`Failed to create WebGL2 texture`),!1)}catch(e){return Cc.debug(`WebGL2 initialization error:`,e),!1}}drawWebGL(e,t,n){this.gl&&this.glProgram&&this.glTexture&&this.canvas&&((t!==this.lastW||n!==this.lastH)&&(this.canvas.width=t,this.canvas.height=n,this.lastW=t,this.lastH=n,this.gl.viewport(0,0,t,n)),this.gl.bindTexture(this.gl.TEXTURE_2D,this.glTexture),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,e),this.gl.drawArrays(this.gl.TRIANGLES,0,3))}cleanupWebGL(){if(this.gl){this.glTexture&&this.gl.deleteTexture(this.glTexture),this.glProgram&&this.gl.deleteProgram(this.glProgram);let e=this.gl.getExtension(`WEBGL_lose_context`);e&&e.loseContext()}this.gl=null,this.glProgram=null,this.glTexture=null}async initWebGPU(e){try{if(!(`gpu`in navigator))return Cc.debug(`WebGPU not supported in this browser`),!1;let t=await navigator.gpu.requestAdapter({powerPreference:`high-performance`});if(!t)return Cc.debug(`Failed to get WebGPU adapter`),!1;let n=await t.requestDevice(),r=e.getContext(`webgpu`);if(!r)return Cc.debug(`Failed to get WebGPU context from canvas`),!1;let i=navigator.gpu.getPreferredCanvasFormat();r.configure({device:n,format:i,alphaMode:`opaque`});let a=n.createShaderModule({code:`\n@group(0) @binding(0) var mySampler: sampler;\n@group(0) @binding(1) var myTexture: texture_external;\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) uv: vec2f,\n};\n\n@vertex fn vs(@builtin(vertex_index) vi: u32) -> VertexOutput {\n var pos = array<vec2f, 3>(\n vec2f(-1.0, -1.0),\n vec2f( 3.0, -1.0),\n vec2f(-1.0, 3.0),\n );\n var out: VertexOutput;\n out.position = vec4f(pos[vi], 0.0, 1.0);\n out.uv = vec2f(out.position.x * 0.5 + 0.5, 1.0 - (out.position.y * 0.5 + 0.5));\n return out;\n}\n\n@fragment fn fs(@location(0) uv: vec2f) -> @location(0) vec4f {\n return textureSampleBaseClampToEdge(myTexture, mySampler, uv);\n}\n`}),o=n.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{type:`filtering`}},{binding:1,visibility:GPUShaderStage.FRAGMENT,externalTexture:{}}]}),s=n.createRenderPipeline({layout:n.createPipelineLayout({bindGroupLayouts:[o]}),vertex:{module:a,entryPoint:`vs`},fragment:{module:a,entryPoint:`fs`,targets:[{format:i}]},primitive:{topology:`triangle-list`}}),c=n.createSampler({magFilter:`linear`,minFilter:`linear`});return this.gpuDevice=n,this.gpuContext=r,this.gpuPipeline=s,this.gpuBindGroupLayout=o,this.gpuSampler=c,n.lost.then(async e=>{this.gpuDevice===n&&e.reason!==`destroyed`&&(this.cleanupWebGPU(),this.ready=!1,this.canvas&&(await this.initWebGPU(this.canvas).catch(()=>!1)?(this.backend=`webgpu`,this.ready=!0,Cc.warn(`WebGPU device lost — reinitialized`)):Cc.warn(`WebGPU device lost and reinit failed — rendering disabled until canvas re-attach`)))}),!0}catch(e){return Cc.debug(`WebGPU initialization error:`,e),!1}}drawWebGPU(e,t,n){if(!this.gpuDevice||!this.gpuContext||!this.gpuPipeline||!this.gpuBindGroupLayout||!this.gpuSampler||!this.canvas)return;(t!==this.lastW||n!==this.lastH)&&(this.canvas.width=t,this.canvas.height=n,this.lastW=t,this.lastH=n);let r=this.gpuDevice.importExternalTexture({source:e}),i=this.gpuDevice.createBindGroup({layout:this.gpuBindGroupLayout,entries:[{binding:0,resource:this.gpuSampler},{binding:1,resource:r}]}),a=this.gpuDevice.createCommandEncoder(),o=this.gpuContext.getCurrentTexture().createView(),s=a.beginRenderPass({colorAttachments:[{view:o,loadOp:`clear`,storeOp:`store`,clearValue:{r:0,g:0,b:0,a:1}}]});s.setPipeline(this.gpuPipeline),s.setBindGroup(0,i),s.draw(3),s.end(),this.gpuDevice.queue.submit([a.finish()])}cleanupWebGPU(){try{this.gpuDevice?.destroy()}catch{}this.gpuDevice=null,this.gpuContext=null,this.gpuPipeline=null,this.gpuBindGroupLayout=null,this.gpuSampler=null}destroyBackend(){this.ctx2d=null,this.cleanupWebGL(),this.cleanupWebGPU()}};new L(`Perf`);var Tc=class{sessionEpoch=0;decodeStartTsMap=/* @__PURE__ */ new Map;decodeCount=0;decodeLatencyTotalMs=0;decodeLatencyMaxMs=0;onFrameGapTotalMs=0;onFrameGapMaxMs=0;onFrameLastTime=0;renderTotalMs=0;renderMaxMs=0;logTimer=null;configureReset(){}markDecodeStart(e){}recordFrameOutput(e,t){}startLogger(){}stopLogger(){this.logTimer!==null&&(clearInterval(this.logTimer),this.logTimer=null)}},Ec=class{init;state=`unconfigured`;decodeQueueSize=0;gen=0;chain=Promise.resolve();constructor(e){this.init=e}configure(){if(this.state===`closed`)throw new DOMException(`Decoder is closed`,`InvalidStateError`);this.state=`configured`}decode(e){if(this.state!==`configured`)throw new DOMException(`Decoder is not configured`,`InvalidStateError`);let t=new Uint8Array(e.byteLength);e.copyTo(t);let{timestamp:n,duration:r}=e,i=this.gen,a=createImageBitmap(new Blob([t],{type:`image/jpeg`})).catch(()=>null);this.decodeQueueSize++,this.chain=this.chain.then(async()=>{let e=await a;if(i!==this.gen){e?.close();return}if(this.decodeQueueSize--,!e){this.stop(),this.init.error(new DOMException(`JPEG picture could not be decoded`,`EncodingError`));return}let t=new VideoFrame(e,{timestamp:n,duration:r??void 0});e.close(),this.init.output(t)})}async flush(){if(this.state!==`configured`)throw new DOMException(`Decoder is not configured`,`InvalidStateError`);let e=this.gen;if(await this.chain,e!==this.gen)throw new DOMException(`Decoder was closed`,`AbortError`)}close(){if(this.state===`closed`)throw new DOMException(`Decoder is closed`,`InvalidStateError`);this.stop()}stop(){this.gen++,this.state=`closed`,this.decodeQueueSize=0,this.chain=Promise.resolve()}};function Dc(e,t){return e===`jpeg`?new Ec(t):new VideoDecoder(t)}let Oc=[[30,8100],[31,18e3],[32,20480],[40,32768],[41,32768],[42,34816],[50,110400],[51,184320],[52,184320]];function kc(e,t){let n=Math.ceil(e/16)*Math.ceil(t/16);if(n===0)return null;for(let[e,t]of Oc)if(Math.floor(t/n)>=1)return e;return null}function Ac(e,t){return e.length>=11&&e.startsWith(`avc1.`)?e.slice(0,-2)+t.toString(16).padStart(2,`0`):e}function jc(e,t){for(let n=0;n<e.length-8;n++)e[n]===0&&e[n+1]===0&&e[n+2]===0&&e[n+3]===1&&(e[n+4]&31)==7&&(e[n+7]=t)}let Mc=/* @__PURE__ */ new Map;async function Nc(e){if(e.codec===`jpeg`)return typeof createImageBitmap==`function`&&typeof VideoFrame==`function`;let t=`${e.codec}|${e.codedWidth??0}x${e.codedHeight??0}`,n=Mc.get(t);if(n!==void 0)return n;if(typeof VideoDecoder.isConfigSupported!=`function`)return!0;let r;try{r=(await VideoDecoder.isConfigSupported(e)).supported===!0}catch{r=!1}return Mc.set(t,r),r}function Pc(e){let t=/^avc1\\.42([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/.exec(e);if(!t)return e;let n=parseInt(t[1],16);return n&64?e:`avc1.42${(n|192).toString(16)}${t[2]}`}function Fc(e,t,n){let r=null,i=Pc(e);if(e.startsWith(`avc1.`)&&t&&n){let a=parseInt(e.slice(-2),16),o=Math.ceil(t/16)*Math.ceil(n/16),s=Oc.find(([e])=>e>=a);if(s&&o>0&&Math.floor(s[1]/o)>2){let e=kc(t,n);e&&e<a&&(r=e,i=Ac(i,e))}}return{decoderCodec:i,h264PatchLevel:r}}let Ic=new L(`VideoPipeline`);var Lc=class{cb;renderer;ownsRenderer;decoder=null;hasKeyframe=!1;h264PatchLevel=null;currentCodecString=``;currentWidth=0;currentHeight=0;firstFrameSent=!1;lastRenderedTs=0;presentTs=null;perf=new Tc;constructor(e={},t){this.cb=e,t?(this.renderer=t,this.ownsRenderer=!1):(this.renderer=new wc,this.ownsRenderer=!0)}attachCanvas(e){this.renderer.attachCanvas(e)}show(){this.renderer.show()}hide(){this.renderer.hide()}configure(e,t,n,r){if(this.firstFrameSent=!1,this.lastRenderedTs=0,this.presentTs=null,e===this.currentCodecString&&t===this.currentWidth&&n===this.currentHeight&&this.decoder){Ic.debug(`configure skipped (unchanged): codec=${e} ${t}x${n}`);return}this.closeDecoder(),this.perf.configureReset(),this.currentCodecString=e,this.currentWidth=t,this.currentHeight=n,this.hasKeyframe=!1;let i=Fc(e,t,n),a=i.decoderCodec;this.h264PatchLevel=i.h264PatchLevel;let o=t&&n?Math.ceil(t/16)*Math.ceil(n/16):0,s=`${a} (sps=${this.h264PatchLevel??`none`})`,c=r??!0;Ic.debug(`configure: epoch=${this.perf.sessionEpoch} ${e} ${t}x${n} (${o}MB) → ${s} opt=${c}`);let l={codec:a,optimizeForLatency:c};t&&n&&(l.codedWidth=t,l.codedHeight=n);try{this.decoder=Dc(a,{output:e=>this.onFrame(e),error:e=>{Ic.error(`✗ decoder error: ${e.message} | codec=${this.currentCodecString} dims=${this.currentWidth}x${this.currentHeight}`),this.cb.onError?.(e.message,!0);try{this.decoder?.close()}catch{}this.decoder=null,this.hasKeyframe=!1}}),this.decoder.configure(l)}catch(r){let i=r.message;Ic.error(`✗ decoder.configure() threw: ${i} | codec=${e} dims=${t}x${n} decoderCodec=${a}`),this.cb.onError?.(i,!0),this.decoder=null}}resetDecoder(){this.currentCodecString&&(this.closeDecoder(),this.configure(this.currentCodecString,this.currentWidth,this.currentHeight))}async decodeChain(e,t){!this.decoder&&this.currentCodecString&&this.configure(this.currentCodecString,this.currentWidth,this.currentHeight);let n=this.decoder;if(n){this.presentTs=t;for(let t of e){if(this.decoder!==n)return;let e=t.data instanceof Uint8Array?t.data:new Uint8Array(t.data);if(t.keyframe&&(this.hasKeyframe=!0,this.h264PatchLevel!==null&&jc(e,this.h264PatchLevel)),this.hasKeyframe)try{n.decode(new EncodedVideoChunk({type:t.keyframe?`key`:`delta`,timestamp:t.ts,data:e}))}catch(e){this.cb.onError?.(e.message,!1)}}if(this.decoder===n&&n.state===`configured`)try{await n.flush()}catch{}}}destroy(){this.closeDecoder(),this.ownsRenderer&&this.renderer.destroy(),this.perf.stopLogger()}async flushAndDestroy(){if(this.decoder&&this.decoder.state===`configured`)try{await this.decoder.flush()}catch{}this.destroy()}drawFrame(e){this.renderer.drawFrame(e)}closeDecoder(){if(this.decoder){let e=this.decoder.decodeQueueSize;Ic.debug(`closeDecoder: epoch=${this.perf.sessionEpoch} pendingQueueSize=${e}`);try{this.decoder.state===`configured`&&this.decoder.close()}catch{}this.decoder=null}}onFrame(e){if(e.timestamp!==this.presentTs){e.close();return}let t=e.displayWidth,n=e.displayHeight,r=e.timestamp;t>0&&n>0&&(this.currentWidth>0&&this.currentHeight>0&&(t!==this.currentWidth||n!==this.currentHeight)&&Ic.warn(`⚠ STALE OUTPUT: frame ${t}x${n} @ ts=${r} does not match current ${this.currentWidth}x${this.currentHeight} — leaked from previous session?`),r<this.lastRenderedTs&&Ic.warn(`⚠ DECODER OUT-OF-ORDER: ts=${r} < prev=${this.lastRenderedTs} (delta=${r-this.lastRenderedTs}μs)`),this.lastRenderedTs=r),this.drawFrame(e),this.firstFrameSent||(this.firstFrameSent=!0,this.cb.onFirstFrame?.())}};\n/**\n* @vue/shared v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n// @__NO_SIDE_EFFECTS__\nfunction Rc(e){let t=/* @__PURE__ */ Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}let zc=Object.assign,Bc=Object.prototype.hasOwnProperty,Vc=(e,t)=>Bc.call(e,t),Hc=Array.isArray,Uc=e=>Jc(e)===`[object Map]`,Wc=e=>typeof e==`string`,Gc=e=>typeof e==`symbol`,Kc=e=>typeof e==`object`&&!!e,qc=Object.prototype.toString,Jc=e=>qc.call(e),Yc=e=>Jc(e).slice(8,-1),Xc=e=>Wc(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,Zc=(e,t)=>!Object.is(e,t),Qc=0,$c,el\n/**\n* @vue/reactivity v3.5.44\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n;function tl(){Qc++}function nl(){if(--Qc>0)return;if(el){let e=el;for(el=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;$c;){let t=$c;for($c=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}let rl=!0,il=[];function al(){il.push(rl),rl=!1}function ol(){let e=il.pop();rl=e===void 0||e}let sl=0,cl=/* @__PURE__ */ new WeakMap,ll=/* @__PURE__ */ Symbol(``),ul=/* @__PURE__ */ Symbol(``),dl=/* @__PURE__ */ Symbol(``);function fl(e,t,n,r,i,a){let o=cl.get(e);if(!o){sl++;return}let s=e=>{e&&e.trigger()};if(tl(),t===`clear`)o.forEach(s);else{let i=Hc(e),a=i&&Xc(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===dl||!Gc(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(dl)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(ll)),Uc(e)&&s(o.get(ul)));break;case`delete`:i||(s(o.get(ll)),Uc(e)&&s(o.get(ul)));break;case`set`:Uc(e)&&s(o.get(ll))}}nl()}function pl(e){let t=/* @__PURE__ */ Ql(e);return t===e||/* @__PURE__ */ Xl(e)?t:/* @__PURE__ */ Yl(e)?/* @__PURE__ */ Jl(e)?t.map(e=>eu($l(e))):t.map(eu):t.map($l)}function ml(e){return e=/* @__PURE__ */ Ql(e),e}function hl(e,t){return/* @__PURE__ */ Yl(e)?eu(/* @__PURE__ */ Jl(e)?$l(t):t):$l(t)}let gl={__proto__:null,[Symbol.iterator](){return _l(this,Symbol.iterator,e=>hl(this,e))},concat(...e){return pl(this).concat(...e.map(e=>Hc(e)?pl(e):e))},entries(){return _l(this,`entries`,e=>(e[1]=hl(this,e[1]),e))},every(e,t){return bl(this,`every`,e,t,void 0,arguments)},filter(e,t){return bl(this,`filter`,e,t,e=>e.map(e=>hl(this,e)),arguments)},find(e,t){return bl(this,`find`,e,t,e=>hl(this,e),arguments)},findIndex(e,t){return bl(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return bl(this,`findLast`,e,t,e=>hl(this,e),arguments)},findLastIndex(e,t){return bl(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return bl(this,`forEach`,e,t,void 0,arguments)},includes(...e){return Sl(this,`includes`,e)},indexOf(...e){return Sl(this,`indexOf`,e)},join(e){return pl(this).join(e)},lastIndexOf(...e){return Sl(this,`lastIndexOf`,e)},map(e,t){return bl(this,`map`,e,t,void 0,arguments)},pop(){return Cl(this,`pop`)},push(...e){return Cl(this,`push`,e)},reduce(e,...t){return xl(this,`reduce`,e,t)},reduceRight(e,...t){return xl(this,`reduceRight`,e,t)},shift(){return Cl(this,`shift`)},some(e,t){return bl(this,`some`,e,t,void 0,arguments)},splice(...e){return Cl(this,`splice`,e)},toReversed(){return pl(this).toReversed()},toSorted(e){return pl(this).toSorted(e)},toSpliced(...e){return pl(this).toSpliced(...e)},unshift(...e){return Cl(this,`unshift`,e)},values(){return _l(this,`values`,e=>hl(this,e))}};function _l(e,t,n){let r=ml(e),i=r[t],a=i.call(r);if(r!==e&&!/* @__PURE__ */ Xl(e)){if(a[Symbol.toStringTag]===`Array Iterator`){let e=Object.create(Object.getPrototypeOf(a));return e.next=()=>vl(a.next(),n),i!==yl[t]&&Object.defineProperties(e,{return:{get(){let e=a.return;return typeof e==`function`?e.bind(a):e}},throw:{get(){let e=a.throw;return typeof e==`function`?e.bind(a):e}}}),e}a._next=a.next,a.next=()=>vl(a._next(),n)}return a}function vl(e,t){return e.done||(e.value=t(e.value)),e}let yl=Array.prototype;function bl(e,t,n,r,i,a){let o=ml(e),s=o!==e&&!/* @__PURE__ */ Xl(e),c=o[t];if(c!==yl[t]){let t=c.apply(e,a);return s?$l(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,hl(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function xl(e,t,n,r){let i=ml(e),a=i!==e&&!/* @__PURE__ */ Xl(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=hl(e,t)),n.call(this,t,hl(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?hl(e,c):c}function Sl(e,t,n){let r=/* @__PURE__ */ Ql(e),i=r[t](...n);return(i===-1||i===!1)&&/* @__PURE__ */ Zl(n[0])?(n[0]=/* @__PURE__ */ Ql(n[0]),r[t](...n)):i}function Cl(e,t,n=[]){al(),tl();let r=(/* @__PURE__ */ Ql(e))[t].apply(e,n);return nl(),ol(),r}let wl=/* @__PURE__ */ Rc(`__proto__,__v_isRef,__isVue`),Tl=new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(Gc));function El(e){return Gc(e)||(e=String(e)),(/* @__PURE__ */ Ql(this)).hasOwnProperty(e)}var Dl=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Ul:Hl:i?Vl:Bl).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=Hc(e);if(!r){let e;if(a&&(e=gl[t]))return e;if(t===`hasOwnProperty`)return El}let o=Reflect.get(e,t,/* @__PURE__ */ tu(e)?e:n);if((Gc(t)?Tl.has(t):wl(t))||i)return o;if(/* @__PURE__ */ tu(o)){let e=a&&Xc(t)?o:o.value;return r&&Kc(e)?/* @__PURE__ */ Kl(e):e}return Kc(o)?r?/* @__PURE__ */ Kl(o):/* @__PURE__ */ Gl(o):o}},Ol=class extends Dl{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=Hc(e)&&Xc(t);if(!this._isShallow){let e=/* @__PURE__ */ Yl(i);if(!/* @__PURE__ */ Xl(n)&&!/* @__PURE__ */ Yl(n)&&(i=/* @__PURE__ */ Ql(i),n=/* @__PURE__ */ Ql(n)),!a&&/* @__PURE__ */ tu(i)&&!/* @__PURE__ */ tu(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:Vc(e,t),s=Reflect.set(e,t,n,/* @__PURE__ */ tu(e)?e:r);return e===/* @__PURE__ */ Ql(r)&&s&&(o?Zc(n,i)&&fl(e,`set`,t,n,i):fl(e,`add`,t,n)),s}deleteProperty(e,t){let n=Vc(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&fl(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return!Gc(t)||Tl.has(t),n}ownKeys(e){return Hc(e),Reflect.ownKeys(e)}},kl=class extends Dl{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}};let Al=/* @__PURE__ */ new Ol,jl=/* @__PURE__ */ new kl,Ml=e=>e,Nl=e=>Reflect.getPrototypeOf(e);function Pl(e,t,n){return function(...r){let i=this.__v_raw,a=Uc(/* @__PURE__ */ Ql(i)),o=e===`entries`||e===Symbol.iterator&&a,s=i[e](...r),c=n?Ml:t?eu:$l;return zc(Object.create(s),{next(){let{value:e,done:t}=s.next();return t?{value:e,done:t}:{value:o?[c(e[0]),c(e[1])]:c(e),done:t}}})}}function Fl(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Il(e,t){let n={get(n){let r=this.__v_raw,i=/* @__PURE__ */ Ql(r),a=/* @__PURE__ */ Ql(n),{has:o}=Nl(i),s=t?Ml:e?eu:$l;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){return this.__v_raw.size},has(e){let t=this.__v_raw,n=/* @__PURE__ */ Ql(e);return e===n?t.has(e):t.has(e)||t.has(n)},forEach(n,r){let i=this,a=i.__v_raw,o=t?Ml:e?eu:$l;return a.forEach((e,t)=>n.call(r,o(e),o(t),i))}};return zc(n,e?{add:Fl(`add`),set:Fl(`set`),delete:Fl(`delete`),clear:Fl(`clear`)}:{add(e){let n=/* @__PURE__ */ Ql(this),r=Nl(n),i=/* @__PURE__ */ Ql(e),a=!t&&!/* @__PURE__ */ Xl(e)&&!/* @__PURE__ */ Yl(e)?i:e;return r.has.call(n,a)||Zc(e,a)&&r.has.call(n,e)||Zc(i,a)&&r.has.call(n,i)||(n.add(a),fl(n,`add`,a,a)),this},set(e,n){!t&&!/* @__PURE__ */ Xl(n)&&!/* @__PURE__ */ Yl(n)&&(n=/* @__PURE__ */ Ql(n));let r=/* @__PURE__ */ Ql(this),{has:i,get:a}=Nl(r),o=i.call(r,e);o||=(e=/* @__PURE__ */ Ql(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?Zc(n,s)&&fl(r,`set`,e,n,s):fl(r,`add`,e,n),this},delete(e){let t=/* @__PURE__ */ Ql(this),{has:n,get:r}=Nl(t),i=n.call(t,e);i||=(e=/* @__PURE__ */ Ql(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&fl(t,`delete`,e,void 0,a),o},clear(){let e=/* @__PURE__ */ Ql(this),t=e.size!==0,n=e.clear();return t&&fl(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Pl(r,e,t)}),n}function Ll(e,t){let n=Il(e,t);return(r,i,a)=>i===`__v_isReactive`?!e:i===`__v_isReadonly`?e:i===`__v_isShallow`?t:i===`__v_raw`?r:Reflect.get(Vc(n,i)&&i in r?n:r,i,a)}let Rl={get:/* @__PURE__ */ Ll(!1,!1)},zl={get:/* @__PURE__ */ Ll(!0,!1)},Bl=/* @__PURE__ */ new WeakMap,Vl=/* @__PURE__ */ new WeakMap,Hl=/* @__PURE__ */ new WeakMap,Ul=/* @__PURE__ */ new WeakMap;function Wl(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}// @__NO_SIDE_EFFECTS__\nfunction Gl(e){return/* @__PURE__ */ Yl(e)?e:ql(e,!1,Al,Rl,Bl)}// @__NO_SIDE_EFFECTS__\nfunction Kl(e){return ql(e,!0,jl,zl,Hl)}function ql(e,t,n,r,i){if(!Kc(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Wl(Yc(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}// @__NO_SIDE_EFFECTS__\nfunction Jl(e){return/* @__PURE__ */ Yl(e)?/* @__PURE__ */ Jl(e.__v_raw):!!(e&&e.__v_isReactive)}// @__NO_SIDE_EFFECTS__\nfunction Yl(e){return!!(e&&e.__v_isReadonly)}// @__NO_SIDE_EFFECTS__\nfunction Xl(e){return!!(e&&e.__v_isShallow)}// @__NO_SIDE_EFFECTS__\nfunction Zl(e){return e?!!e.__v_raw:!1}// @__NO_SIDE_EFFECTS__\nfunction Ql(e){let t=e&&e.__v_raw;return t?/* @__PURE__ */ Ql(t):e}let $l=e=>Kc(e)?/* @__PURE__ */ Gl(e):e,eu=e=>Kc(e)?/* @__PURE__ */ Kl(e):e;// @__NO_SIDE_EFFECTS__\nfunction tu(e){return e?e.__v_isRef===!0:!1}var nu;(function(e){e.FINISH_LAUNCHING=`finishLaunching`,e.SHUTDOWN=`shutdown`})(nu||={});var ru;(function(e){e.Hub=`hub`,e.SensorProvider=`sensorProvider`,e.CameraController=`cameraController`,e.CameraAndSensorProvider=`cameraAndSensorProvider`,e.Service=`service`})(ru||={});var iu;(function(e){e.MotionDetection=`MotionDetection`,e.ObjectDetection=`ObjectDetection`,e.AudioDetection=`AudioDetection`,e.FaceDetection=`FaceDetection`,e.LicensePlateDetection=`LicensePlateDetection`,e.ClassifierDetection=`ClassifierDetection`,e.ClipDetection=`ClipDetection`,e.FaceEmbedding=`FaceEmbedding`,e.PersonEmbedding=`PersonEmbedding`,e.Segmentation=`Segmentation`,e.DiscoveryProvider=`DiscoveryProvider`,e.SensorDiscovery=`SensorDiscovery`,e.NVR=`NVR`,e.Notifier=`Notifier`,e.OAuthCapable=`OAuthCapable`,e.OAuthDeviceFlow=`OAuthDeviceFlow`,e.OAuthAuthCodeFlow=`OAuthAuthCodeFlow`,e.OAuthClientCredentials=`OAuthClientCredentials`,e.AssistantTools=`AssistantTools`,e.AssistantModels=`AssistantModels`})(iu||={});var au;(function(e){e.PublishNotifications=`publishNotifications`})(au||={});var Q;(function(e){e.Motion=`motion`,e.Object=`object`,e.Audio=`audio`,e.Face=`face`,e.FaceEmbedder=`faceEmbedder`,e.PersonEmbedder=`personEmbedder`,e.Segmenter=`segmenter`,e.LicensePlate=`licensePlate`,e.Classifier=`classifier`,e.Clip=`clip`,e.ObjectAssist=`objectAssist`,e.Contact=`contact`,e.Temperature=`temperature`,e.Humidity=`humidity`,e.Occupancy=`occupancy`,e.Smoke=`smoke`,e.Leak=`leak`,e.Gas=`gas`,e.CarbonMonoxide=`carbonMonoxide`,e.Heat=`heat`,e.Cold=`cold`,e.Vibration=`vibration`,e.Tamper=`tamper`,e.Problem=`problem`,e.Power=`power`,e.Illuminance=`illuminance`,e.CarbonDioxide=`carbonDioxide`,e.Light=`light`,e.Siren=`siren`,e.Switch=`switch`,e.Lock=`lock`,e.PTZ=`ptz`,e.SecuritySystem=`securitySystem`,e.Garage=`garage`,e.Doorbell=`doorbell`,e.Battery=`battery`})(Q||={});var $;(function(e){e.Sensor=`sensor`,e.Control=`control`,e.Trigger=`trigger`,e.Info=`info`})($||={});var ou;(function(e){e.Info=`info`,e.Warn=`warn`,e.Error=`error`,e.Critical=`critical`})(ou||={});var su;(function(e){e.Binary=`binary`,e.Measurement=`measurement`,e.Switch=`switch`,e.Light=`light`,e.Siren=`siren`,e.Lock=`lock`,e.Cover=`cover`,e.Alarm=`alarm`})(su||={});var cu;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Decibels=`decibels`,e.LastTriggered=`lastTriggered`})(cu||={}),Q.Audio,$.Sensor,cu.Detected,cu.Detections,cu.Decibels,cu.LastTriggered;var lu;(function(e){e.LowBattery=`lowBattery`,e.Charging=`charging`})(lu||={});var uu;(function(e){e.Level=`level`,e.Charging=`charging`,e.Low=`low`})(uu||={});var du;(function(e){e.NotChargeable=`NOT_CHARGEABLE`,e.NotCharging=`NOT_CHARGING`,e.Charging=`CHARGING`,e.Full=`FULL`})(du||={}),Q.Battery,$.Info,uu.Level,uu.Charging,du.NotChargeable,du.NotCharging,du.Charging,du.Full,uu.Low,uu.Charging,lu.Charging,uu.Low,lu.LowBattery,su.Measurement,uu.Level,uu.Level;var fu;(function(e){e.Current=`current`})(fu||={}),Q.CarbonDioxide,$.Info,fu.Current,fu.Current,su.Measurement,fu.Current,fu.Current;var pu;(function(e){e.Detected=`detected`})(pu||={}),Q.CarbonMonoxide,$.Sensor,pu.Detected,pu.Detected,pu.Detected,su.Binary,pu.Detected,pu.Detected;var mu;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Labels=`labels`})(mu||={}),Q.Classifier,$.Sensor,mu.Detected,mu.Detections,mu.Labels,Q.Clip,$.Sensor;var hu;(function(e){e.Detected=`detected`})(hu||={}),Q.Cold,$.Sensor,hu.Detected,hu.Detected,hu.Detected,su.Binary,hu.Detected,hu.Detected;var gu;(function(e){e.Detected=`detected`})(gu||={}),Q.Contact,$.Sensor,gu.Detected,gu.Detected,gu.Detected,su.Binary,gu.Detected,gu.Detected;var _u;(function(e){e.Ring=`ring`})(_u||={}),Q.Doorbell,$.Trigger,_u.Ring,_u.Ring,_u.Ring,su.Binary,_u.Ring,_u.Ring;var vu;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Identities=`identities`})(vu||={}),Q.Face,$.Sensor,vu.Detected,vu.Detections,vu.Identities,Q.FaceEmbedder,$.Sensor;var yu;(function(e){e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e[e.Opening=2]=`Opening`,e[e.Closing=3]=`Closing`,e[e.Stopped=4]=`Stopped`})(yu||={});var bu;(function(e){e.CurrentState=`currentState`,e.TargetState=`targetState`,e.ObstructionDetected=`obstructionDetected`})(bu||={}),Q.Garage,$.Control,bu.CurrentState,yu.Open,yu.Closed,yu.Opening,yu.Closing,yu.Stopped,bu.TargetState,yu.Open,yu.Closed,bu.ObstructionDetected,bu.CurrentState,bu.CurrentState,bu.TargetState,su.Cover,bu.CurrentState,bu.TargetState,yu.Open,yu.Closed,yu.Opening,yu.Closing,yu.Stopped;var xu;(function(e){e.Detected=`detected`})(xu||={}),Q.Gas,$.Sensor,xu.Detected,xu.Detected,xu.Detected,su.Binary,xu.Detected,xu.Detected;var Su;(function(e){e.Detected=`detected`})(Su||={}),Q.Heat,$.Sensor,Su.Detected,Su.Detected,Su.Detected,su.Binary,Su.Detected,Su.Detected;var Cu;(function(e){e.Current=`current`})(Cu||={}),Q.Humidity,$.Info,Cu.Current,Cu.Current,su.Measurement,Cu.Current,Cu.Current;var wu;(function(e){e.Current=`current`})(wu||={}),Q.Illuminance,$.Info,wu.Current,wu.Current,su.Measurement,wu.Current,wu.Current;var Tu;(function(e){e.Detected=`detected`})(Tu||={}),Q.Leak,$.Sensor,Tu.Detected,Tu.Detected,Tu.Detected,su.Binary,Tu.Detected,Tu.Detected;var Eu;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Plates=`plates`})(Eu||={}),Q.LicensePlate,$.Sensor,Eu.Detected,Eu.Detections,Eu.Plates;var Du;(function(e){e.Brightness=`brightness`})(Du||={});var Ou;(function(e){e.On=`on`,e.Brightness=`brightness`})(Ou||={}),Q.Light,$.Control,Ou.On,Ou.Brightness,Ou.On,Ou.Brightness,Du.Brightness,Ou.On,Ou.Brightness,Du.Brightness,su.Light,Ou.On,Ou.On;var ku;(function(e){e[e.Secured=0]=`Secured`,e[e.Unsecured=1]=`Unsecured`,e[e.Unknown=2]=`Unknown`})(ku||={});var Au;(function(e){e.CurrentState=`currentState`,e.TargetState=`targetState`})(Au||={}),Q.Lock,$.Control,Au.CurrentState,ku.Secured,ku.Unsecured,ku.Unknown,Au.TargetState,ku.Secured,ku.Unsecured,Au.CurrentState,Au.CurrentState,Au.TargetState,su.Lock,Au.CurrentState,Au.TargetState,ku.Secured,ku.Unsecured;var ju;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Blocked=`blocked`,e.LastTriggered=`lastTriggered`})(ju||={}),Q.Motion,$.Sensor,ju.Detected,ju.Detections,ju.Blocked,ju.LastTriggered;var Mu;(function(e){e.Detected=`detected`,e.Detections=`detections`,e.Labels=`labels`,e.StaticDetections=`staticDetections`})(Mu||={}),Q.Object,$.Sensor,Mu.Detected,Mu.Detections,Mu.Labels,Mu.StaticDetections,Q.ObjectAssist,$.Sensor;var Nu;(function(e){e.Detected=`detected`})(Nu||={}),Q.Occupancy,$.Sensor,Nu.Detected,Nu.Detected,Nu.Detected,su.Binary,Nu.Detected,Nu.Detected,Q.PersonEmbedder,$.Sensor;var Pu;(function(e){e.Detected=`detected`})(Pu||={}),Q.Power,$.Sensor,Pu.Detected,Pu.Detected,Pu.Detected,su.Binary,Pu.Detected,Pu.Detected;var Fu;(function(e){e.Detected=`detected`})(Fu||={}),Q.Problem,$.Sensor,Fu.Detected,Fu.Detected,Fu.Detected,su.Binary,Fu.Detected,Fu.Detected;var Iu;(function(e){e.Pan=`pan`,e.Tilt=`tilt`,e.Zoom=`zoom`,e.Presets=`presets`,e.Home=`home`,e.RelativeMove=`relativeMove`,e.AbsolutePosition=`absolutePosition`,e.VelocityControl=`velocityControl`})(Iu||={});var Lu;(function(e){e.Position=`position`,e.Moving=`moving`,e.Presets=`presets`,e.Velocity=`velocity`,e.TargetPreset=`targetPreset`,e.RelativeMove=`relativeMove`,e.Home=`home`})(Lu||={}),Q.PTZ,$.Control,Lu.Position,Lu.Moving,Lu.Presets,Lu.Velocity,Lu.TargetPreset,Lu.RelativeMove,Lu.Home;var Ru;(function(e){e[e.StayArm=0]=`StayArm`,e[e.AwayArm=1]=`AwayArm`,e[e.NightArm=2]=`NightArm`,e[e.Disarmed=3]=`Disarmed`,e[e.AlarmTriggered=4]=`AlarmTriggered`})(Ru||={});var zu;(function(e){e.CurrentState=`currentState`,e.TargetState=`targetState`})(zu||={}),Q.SecuritySystem,$.Control,zu.CurrentState,Ru.StayArm,Ru.AwayArm,Ru.NightArm,Ru.Disarmed,Ru.AlarmTriggered,zu.TargetState,Ru.StayArm,Ru.AwayArm,Ru.NightArm,Ru.Disarmed,zu.CurrentState,zu.CurrentState,zu.TargetState,su.Alarm,zu.CurrentState,zu.TargetState,Ru.StayArm,Ru.AwayArm,Ru.NightArm,Ru.Disarmed,Ru.AlarmTriggered,Q.Segmenter,$.Sensor;var Bu;(function(e){e.Volume=`volume`})(Bu||={});var Vu;(function(e){e.Active=`active`,e.Volume=`volume`})(Vu||={}),Q.Siren,$.Control,Vu.Active,Vu.Volume,Vu.Active,Vu.Volume,Bu.Volume,Vu.Active,Vu.Volume,Bu.Volume,su.Siren,Vu.Active,Vu.Active;var Hu;(function(e){e.Detected=`detected`})(Hu||={}),Q.Smoke,$.Sensor,Hu.Detected,Hu.Detected,Hu.Detected,su.Binary,Hu.Detected,Hu.Detected;var Uu;(function(e){e.On=`on`})(Uu||={}),Q.Switch,$.Control,Uu.On,Uu.On,Uu.On,su.Switch,Uu.On,Uu.On;var Wu;(function(e){e.Detected=`detected`})(Wu||={}),Q.Tamper,$.Sensor,Wu.Detected,Wu.Detected,Wu.Detected,su.Binary,Wu.Detected,Wu.Detected;var Gu;(function(e){e.Current=`current`})(Gu||={}),Q.Temperature,$.Info,Gu.Current,Gu.Current,su.Measurement,Gu.Current,Gu.Current;var Ku;(function(e){e.Detected=`detected`})(Ku||={}),Q.Vibration,$.Sensor,Ku.Detected,Ku.Detected,Ku.Detected,su.Binary,Ku.Detected,Ku.Detected;function qu(e={}){let{releaseDelay:t=1e3,onRelease:n}=e,r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map;function a(e){let t=i.get(e);t&&(clearTimeout(t),i.delete(e))}function o(e){let t=r.get(e);if(t){try{n?.(e,t.value)}catch{}r.delete(e)}i.delete(e)}function s(e,t){a(e);let n=r.get(e);if(n)return n.refCount++,n.value;let i=t();return r.set(e,{value:i,refCount:1}),i}function c(e,n){let a=r.get(e);if(!(!a||a.refCount<=0)&&(n===void 0||a.value===n)&&(a.refCount--,a.refCount===0)){let n=setTimeout(()=>{let t=r.get(e);t&&t.refCount<=0?o(e):i.delete(e)},t);i.set(e,n)}}function l(e){return r.get(e)?.value}function u(e){return r.has(e)}function d(e){a(e),o(e)}function f(){for(let e of i.keys())a(e);for(let e of r.keys())o(e)}function p(e){return r.get(e)?.refCount??0}function m(e){for(let[t,n]of r)e(n.value,t)}return{acquire:s,release:c,get:l,has:u,forceRelease:d,clear:f,getRefCount:p,forEachValue:m}}var Ju=class{static coreManagerNamespaces(){return{coreManagerSubject:`coreManager.subscriber`,coreManagerRpc:`coreManager.rpc`}}static deviceManagerNamespaces(){return{deviceManagerSubject:`deviceManager.subscriber`,deviceManagerRpc:`deviceManager.rpc`}}static sensorDiscoveryNamespaces(){return{sensorDiscoverySubject:`sensorDiscovery.subscriber`}}static discoveryManagerNamespaces(){return{discoveryManagerSubject:`discoveryManager.subscriber`,discoveryManagerRpc:`discoveryManager.rpc`}}static pluginNamespaces(e){return{pluginDeviceManagerSubject:`plugin.${e}.deviceManager.subscriber`,pluginChildRpc:`plugin.${e}.child.rpc`,pluginChild:`plugin.${e}.child`,pluginStorageRpc:`plugin.${e}.storage.rpc`,pluginConfigStoreRpc:`plugin.${e}.configstore.rpc`}}static pluginFileServeRpc(e){return`plugin.${e}.fileserve.rpc`}static cameraNamespaces(e){return{cameraSubject:`camera.${e}.subscriber`,cameraStateSubject:`camera.${e}.state`,cameraControllerRpc:`camera.${e}.controller.rpc`}}static frameWorkerNamespaces(e){return{frameWorkerChildRpc:`camera.${e}.frameWorker.child.rpc`,frameWorkerChild:`camera.${e}.frameWorker.child`}}static pluginCameraNamespaces(e,t){return{cameraInterfacesRpc:`plugin.${e}.camera.${t}.cameraInterfaces.rpc`,cameraStorageRpc:`plugin.${e}.camera.${t}.cameraStorage.rpc`,cameraImplRpc:`plugin.${e}.camera.${t}.impl.rpc`}}static pluginSensorNamespaces(e,t){return{sensorStorageRpc:`plugin.${e}.sensor.${t}.storage.rpc`}}static sensorRegistryNamespaces(){return{sensorsSubject:`sensors.subject`,sensorsRpc:`sensors.rpc`}}static sensorCameraViewNamespaces(e){return{sensorWriteSubject:`camera.${e}.sensors.writes`}}static sensorEventNamespaces(e){return{sensorSubject:`sensor.${e}.subject`,sensorStateSubject:`sensor.${e}.state`}}static sensorProviderNamespaces(e,t){return{sensorRpc:`plugin.${e}.sensor.${t}.rpc`}}static frameWorkerDetectionNamespaces(e){return{detectionRpc:`camera.${e}.frameWorker.detection.rpc`}}static detectionEventNamespaces(e){return{detectionEventSubject:`camera.${e}.events.subject`}}static terminalManagerNamespaces(){return{terminalManagerSubject:`terminalManager.subscriber`,terminalManagerRpc:`terminalManager.rpc`}}static downloadManagerNamespaces(){return{downloadManagerRpc:`downloadManager.rpc`}}static notificationManagerNamespaces(){return{notificationsPublishSubject:`notifications.publish`}}static workerAgentRpc(e){return`worker.${e}.rpc`}static workerManagerRpc(e){return`workers.${e}.manager.rpc`}static sharedWorkerManagerRpc(){return`workers.manager.rpc`}static workerSync(e){return`worker.${e}.sync`}static workerLinkSubject(e){return`worker.${e}.link`}static workerDisconnect(e){return`workers.${e}.disconnect`}static sharedWorkerDisconnect(){return`workers.disconnect`}static workerLogs(e){return`workers.${e}.logs`}static sharedWorkerLogs(){return`workers.logs`}};new L(`TabVisibility`),typeof document>`u`||document.visibilityState,qu({releaseDelay:1e3,onRelease:(e,t)=>t.close()}),qu({releaseDelay:1e3}),Q.Light,Q.Siren,Q.Battery,Q.Doorbell,Q.Contact,Q.Motion,Q.Object,Q.Audio,Q.Face,Q.LicensePlate,Q.Classifier,Q.PTZ,Q.Switch,Q.Lock,Q.SecuritySystem,Q.Temperature,Q.Humidity,Q.Occupancy,Q.Smoke,Q.Leak,Q.Gas,Q.CarbonMonoxide,Q.Heat,Q.Cold,Q.Vibration,Q.Tamper,Q.Problem,Q.Power,Q.Illuminance,Q.CarbonDioxide,Q.Garage,qu({releaseDelay:1e3,onRelease:(e,t)=>t.manager.close()}),qu({releaseDelay:1e3}),new L(`plugin`),new L(`StreamConnection`);var Yu=class{streams=/* @__PURE__ */ new Map;standalone=/* @__PURE__ */ new Set;releaseTimers=/* @__PURE__ */ new Map;releaseDelay;DEFAULT_RELEASE_DELAY=2e3;constructor(e={}){this.releaseDelay=e.releaseDelay??this.DEFAULT_RELEASE_DELAY}has(e){return this.streams.has(e)}getRefCount(e){return this.streams.get(e)?.refCount??0}get(e){return this.streams.get(e)}acquire(e,t){this.cancelRelease(e);let n=this.streams.get(e);if(n)return n.refCount++,t&&n.consumerContainerRefs.add(t),n}register(e,t,n,r,i,a){this.cancelRelease(e);let o={stream:t,videoElementRef:n,cameraDeviceRef:r,containerElementRef:i,consumerContainerRefs:/* @__PURE__ */ new Set([i]),sharedVideoElement:a,mediaStream:null,refCount:1};return this.streams.set(e,o),o}updateContainerElement(e,t){let n=this.streams.get(e);n&&(n.containerElementRef.value=t)}updateSharedVideoElement(e,t){let n=this.streams.get(e);n&&(n.sharedVideoElement=t)}updateMediaStream(e,t){let n=this.streams.get(e);n&&(n.mediaStream=t)}release(e,t,n){let r=this.streams.get(e);if(r){if(r.refCount--,n){r.consumerContainerRefs.delete(n);let e=r.sharedVideoElement,t=n.value,i=e?.parentElement??null;if(r.refCount>0&&e&&(i===t||i===null||!i.isConnected)){let n=this.pickVisibleConsumer(r,t);n&&(r.containerElementRef=n.ref,e.parentElement!==n.el&&(n.el.appendChild(e),e.play().catch(()=>{})))}}if(r.refCount<=0){let t=setTimeout(()=>{this.doRelease(e)},this.releaseDelay);this.releaseTimers.set(e,t)}}}track(e){return this.standalone.add(e),()=>{this.standalone.delete(e)}}restartConnected(){let e=new Set(this.standalone);for(let t of this.streams.values())e.add(t.stream);let t=0;for(let n of e)n.status.value!==`connected`||n.paused.value||(n.restart().catch(()=>{}),t++);return t}forceRelease(e){this.cancelRelease(e),this.doRelease(e)}clear(){for(let e of this.releaseTimers.values())clearTimeout(e);this.releaseTimers.clear();for(let[e,t]of this.streams)Xu(t.stream),this.streams.delete(e)}getDebugInfo(){return Array.from(this.streams.entries()).map(([e,t])=>({cameraName:e,refCount:t.refCount,mode:t.stream.activeMode.value,resolution:t.stream.activeResolution.value}))}pickVisibleConsumer(e,t){let n;for(let r of e.consumerContainerRefs){let e=r.value;if(e&&e!==t&&e.isConnected){if(e.checkVisibility?.()??e.offsetParent!==null)return{ref:r,el:e};n??={ref:r,el:e}}}return n}cancelRelease(e){let t=this.releaseTimers.get(e);t&&(clearTimeout(t),this.releaseTimers.delete(e))}doRelease(e){let t=this.streams.get(e);t&&(t.refCount<=0&&(Xu(t.stream),this.streams.delete(e)),this.releaseTimers.delete(e))}};function Xu(e){let t=e;typeof t.destroy==`function`?t.destroy():t.stop()}new Yu;let Zu=6e5;function Qu(e,t,n,r){if(!e||r-t>6e5)return!1;let i=e.windowStartMs+Zu,a=Math.min(e.windowEndMs,t)-Zu;return n>=i&&n<=a}var $u=class{wallSource;basePts=0;baseWall=0;rate=1;paused=!0;pausedPts=0;anchored=!1;abort=new AbortController;constructor(e){this.wallSource=e}now(){return this.paused?this.pausedPts:this.basePts+(this.wallSource()-this.baseWall)*1e6*this.rate}ptsToWall(e){return this.baseWall+(e-this.basePts)/1e6/this.rate}get isPaused(){return this.paused}get currentRate(){return this.rate}get isAnchored(){return this.anchored}start(e){this.basePts=e,this.baseWall=this.wallSource(),this.paused=!1,this.pausedPts=0,this.anchored=!0,this.invalidate()}reset(){this.basePts=0,this.baseWall=0,this.rate=1,this.paused=!0,this.pausedPts=0,this.anchored=!1,this.invalidate()}pause(){this.paused||(this.pausedPts=this.now(),this.paused=!0,this.invalidate())}resume(){this.paused&&(this.basePts=this.pausedPts,this.baseWall=this.wallSource(),this.paused=!1,this.invalidate())}setRate(e){if(!(e>0&&Number.isFinite(e)))throw Error(`MediaClock.setRate: rate must be positive finite, got ${e}`);this.rate!==e&&(this.paused||(this.basePts=this.now(),this.baseWall=this.wallSource()),this.rate=e,this.invalidate())}seek(e){this.paused?this.pausedPts=e:(this.basePts=e,this.baseWall=this.wallSource()),this.invalidate()}async waitUntil(e,t){for(;this.now()<e;){if(t?.())return;if(this.paused){await this.waitForChange();continue}let n=(this.ptsToWall(e)-this.wallSource())*1e3;if(n<=0)return;await this.sleepOrChange(n)}}invalidate(){let e=this.abort;this.abort=new AbortController,e.abort()}sleepOrChange(e){let t=this.abort.signal;return new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(()=>{t.removeEventListener(`abort`,i),n()},e),i=()=>{clearTimeout(r),n()};t.addEventListener(`abort`,i,{once:!0})})}waitForChange(){let e=this.abort.signal;return e.aborted?Promise.resolve():new Promise(t=>{e.addEventListener(`abort`,()=>t(),{once:!0})})}};function ed(){return new $u(()=>performance.now()/1e3)}var td=class{promise;resolve;reject;settled=!1;constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>{this.settled=!0,e(t)},this.reject=e=>{this.settled=!0,t(e)}})}},nd=class extends Error{constructor(){super(`queue ended`),this.name=`QueueEndedError`}},rd=class extends Error{constructor(){super(`aborted`),this.name=`QueueAbortError`}},id=class{buf;head=0;tail=0;_size=0;constructor(e=16){let t=ad(Math.max(2,e));this.buf=Array(t)}get size(){return this._size}get capacity(){return this.buf.length}push(e){this._size===this.buf.length&&this.grow(),this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this._size++}shift(){if(this._size===0)return;let e=this.buf[this.head];return this.buf[this.head]=void 0,this.head=this.head+1&this.buf.length-1,this._size--,e}peek(e=0){if(!(e>=this._size||e<0))return this.buf[this.head+e&this.buf.length-1]}drain(){let e=Array(this._size);for(let t=0;t<this._size;t++)e[t]=this.buf[this.head+t&this.buf.length-1];return this.clear(),e}clear(){this.buf.fill(void 0),this.head=0,this.tail=0,this._size=0}grow(){let e=this.buf.length,t=e*2,n=Array(t);for(let t=0;t<this._size;t++)n[t]=this.buf[this.head+t&e-1];this.buf=n,this.head=0,this.tail=this._size}};function ad(e){return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1}var od=class{items;waiters=[];writeWaiters=[];_ended;_endPromise=new td;maxSize;overflow;onDrop;constructor(e={}){this.maxSize=e.maxSize,this.overflow=e.overflow??`block`,this.onDrop=e.onDrop,this.items=new id(e.initialCapacity??Math.min(this.maxSize??16,64))}get size(){return this.items.size}get ended(){return this._ended!==void 0}get endPromise(){return this._endPromise.promise}get queued(){return{length:this.items.size}}submit(e){if(this._ended)return this.onDrop?.(e),!1;if(this.waiters.length)return this.waiters.shift().resolve(e),!0;if(this.maxSize!==void 0&&this.items.size>=this.maxSize)switch(this.overflow){case`block`:return!1;case`dropOldest`:{let t=this.items.shift();return this.onDrop?.(t),this.items.push(e),!0}case`dropNewest`:return this.onDrop?.(e),!1;case`error`:throw Error(`AsyncQueue: queue full`)}return this.items.push(e),!0}async enqueue(e,t){if(t?.aborted)throw new rd;if(this._ended)return this.onDrop?.(e),!1;if(this.waiters.length)return this.waiters.shift().resolve(e),!0;if(this.maxSize===void 0||this.items.size<this.maxSize)return this.items.push(e),!0;if(this.overflow!==`block`)return this.submit(e);let n=new td,r={item:e,done:n};this.writeWaiters.push(r);let i;t&&(i=()=>{let e=this.writeWaiters.indexOf(r);e!==-1&&(this.writeWaiters.splice(e,1),n.reject(new rd))},t.addEventListener(`abort`,i));try{return await n.promise,!0}finally{t&&i&&t.removeEventListener(`abort`,i)}}async dequeue(e){if(e?.aborted)throw new rd;let t=this.items.shift();if((t!==void 0||this.items.size>0)&&t!==void 0)return this.wakeWriter(),t;if(this.items.size===0){if(this._ended)throw this._ended;let t=new td;this.waiters.push(t);let n;e&&(n=()=>{let e=this.waiters.indexOf(t);e!==-1&&(this.waiters.splice(e,1),t.reject(new rd))},e.addEventListener(`abort`,n));try{return await t.promise}finally{e&&n&&e.removeEventListener(`abort`,n)}}return this.dequeue(e)}tryDequeue(){let e=this.items.shift();return e!==void 0&&this.wakeWriter(),e}peek(e=0){return this.items.peek(e)}end(e){if(!this._ended){this._ended=e??new nd;for(let e of this.waiters)e.reject(this._ended);this.waiters.length=0;for(let e of this.writeWaiters)this.onDrop?.(e.item),e.done.reject(this._ended);this.writeWaiters.length=0,this._endPromise.resolve()}}drain(){let e=this.items.drain();for(;this.writeWaiters.length&&(this.maxSize===void 0||this.items.size<this.maxSize);){let e=this.writeWaiters.shift();this.items.push(e.item),e.done.resolve()}return e}clear(){let e=this.items.drain();if(this.onDrop)for(let t of e)this.onDrop(t);for(;this.writeWaiters.length&&(this.maxSize===void 0||this.items.size<this.maxSize);){let e=this.writeWaiters.shift();this.items.push(e.item),e.done.resolve()}}async*[Symbol.asyncIterator](e){try{for(;;)try{yield await this.dequeue(e)}catch(e){if(e instanceof nd)return;throw e}}finally{}}[Symbol.dispose](){this.clear(),this.end()}wakeWriter(){if(!this.writeWaiters.length||this.maxSize!==void 0&&this.items.size>=this.maxSize)return;let e=this.writeWaiters.shift();this.items.push(e.item),e.done.resolve()}};let sd=3e5;function cd(e){return e.userPaused||e.stallPaused||e.streamEnded||!e.anchored||e.clockPaused||e.parkedPushes>0||e.msSinceVideoPush<1e3?!1:e.queuedFrames===0}let ld=new L(`NvrPipeline`);new L(`NvrPace`);var ud=class{renderer;cb;clock;videoDecoder=null;audioDecoder=null;decoderReady=!1;audioReady=!1;videoOnly=!0;v=null;waitForKeyframe=!0;configurePending=null;framesEmitted=!1;lastReady=null;resyncCount=0;firstVideoSeen=!1;firstAudioSeen=!1;lastDecoderEmitWall=0;gen=0;keyframeTs=/* @__PURE__ */ new Set;seekTargetUs=0;userPaused=!1;stallPaused=!1;streamEnded=!1;parkedPushes=0;lastVideoPushWall=-1;stallTimer=null;constructor(e,t){this.renderer=e,this.cb=t,this.clock=ed()}start(e,t,n=0){this.flushSync(),++this.gen,this.videoOnly=t,this.seekTargetUs=n,this.waitForKeyframe=!0,this.clock.reset(),e!==1&&this.clock.setRate(e),this.v=new od({maxSize:32,overflow:`dropOldest`,onDrop:e=>e.close()}),this.stallTimer=setInterval(()=>this.checkStall(),500);let r=this.gen;ld.debug(`start gen=${r} rate=${e} videoOnly=${t} seekTargetUs=${n}`),this.renderLoop(r,this.v)}markStreamEnd(){this.streamEnded=!0}configure(e){this.lastReady=e,this.configurePending=this.doConfigure(this.gen,e)}async doConfigure(e,t){this.closeVideoDecoder();let n={codec:Pc(t.codecString),optimizeForLatency:!0};t.width&&t.height&&(n.codedWidth=t.width,n.codedHeight=t.height);let r=await Nc(n);if(e===this.gen){if(!r)this.cb.onCodecUnsupported?.(t.videoCodec||t.codecString);else{try{this.videoDecoder=Dc(n.codec,{output:t=>{e!==this.gen||!this.v?t.close():(this.framesEmitted=!0,t.timestamp<this.seekTargetUs?(this.keyframeTs.delete(t.timestamp),t.close()):this.v.submit(t))},error:n=>{e===this.gen&&(this.videoDecoder=null,this.decoderReady=!1,this.framesEmitted?this.resyncCount<2&&this.lastReady?(this.resyncCount++,ld.debug(`decoder resync ${this.resyncCount}/2 after: ${n.message}`),this.waitForKeyframe=!0,this.configurePending=this.doConfigure(e,this.lastReady)):this.cb.onError?.(n.message,!0):this.cb.onCodecUnsupported?.(t.videoCodec||t.codecString))}}),this.videoDecoder.configure(n),this.decoderReady=!0}catch{this.videoDecoder=null,this.decoderReady=!1,this.cb.onCodecUnsupported?.(t.videoCodec||t.codecString);return}if(this.closeAudioDecoder(),!this.videoOnly&&t.audioCodecString&&t.audioSampleRate)try{this.audioDecoder=new AudioDecoder({output:t=>this.onDecodedAudio(e,t),error:()=>{this.audioDecoder=null,this.audioReady=!1}});let n={codec:t.audioCodecString,sampleRate:t.audioSampleRate,numberOfChannels:t.audioChannels??1};t.audioDescription&&t.audioDescription.length>0&&(n.description=t.audioDescription),this.audioDecoder.configure(n),this.audioReady=!0}catch{this.audioDecoder=null,this.audioReady=!1}}}}async pushVideo(e){let t=this.gen;if(this.lastVideoPushWall=performance.now(),this.stallPaused&&(this.stallPaused=!1,this.clock.resume(),this.cb.onBuffering?.(!1)),this.configurePending){if(await this.configurePending,t!==this.gen)return;this.configurePending=null}if(this.decoderReady&&this.videoDecoder&&this.v){if(this.waitForKeyframe){if(e.type!==`key`)return;this.waitForKeyframe=!1,ld.debug(`pushVideo: first keyframe gen=${t} ts=${e.timestamp}`)}if(e.timestamp<this.seekTargetUs){e.type===`key`&&this.keyframeTs.add(e.timestamp);try{this.videoDecoder.decode(e)}catch(e){this.cb.onError?.(e.message,!1)}}else{if(!this.clock.isAnchored){let t=this.seekTargetUs>0?this.seekTargetUs:e.timestamp;`${t}`,this.clock.start(t),this.firstVideoSeen=!0}else if(!this.firstVideoSeen){let t=this.clock.now();`${e.timestamp}${t}${e.timestamp-t}`,this.firstVideoSeen=!0}this.parkedPushes++;try{for(;this.gen===t&&e.timestamp-this.clock.now()>sd;)await this.clock.waitUntil(e.timestamp-sd,()=>this.gen!==t)}finally{this.parkedPushes--}if(t===this.gen&&this.videoDecoder&&this.v){if(this.waitForKeyframe){if(e.type!==`key`)return;this.waitForKeyframe=!1}e.type===`key`&&this.keyframeTs.add(e.timestamp);try{this.videoDecoder.decode(e)}catch(e){if(/key frame/i.test(e.message)){this.waitForKeyframe=!0;return}this.cb.onError?.(e.message,!1)}}}}}pushAudio(e){if(this.audioReady&&this.audioDecoder&&!(e.timestamp<this.seekTargetUs)){if(this.clock.isAnchored)this.firstAudioSeen||=!0;else{let t=this.seekTargetUs>0?this.seekTargetUs:e.timestamp;`${t}`,this.clock.start(t),this.firstAudioSeen=!0}try{this.audioDecoder.decode(e)}catch{}}}pause(){this.userPaused=!0,this.stallPaused=!1,this.clock.pause()}resume(){this.userPaused=!1,this.clock.resume()}setSpeed(e){e>0&&Number.isFinite(e)&&this.clock.setRate(e)}flush(){this.flushSync()}destroy(){this.flushSync()}flushSync(){++this.gen,this.v?.end(),this.v?.clear(),this.v=null,this.closeVideoDecoder(),this.closeAudioDecoder(),this.stallTimer!==null&&(clearInterval(this.stallTimer),this.stallTimer=null),this.seekTargetUs=0,this.userPaused=!1,this.stallPaused=!1,this.streamEnded=!1,this.lastVideoPushWall=-1,this.waitForKeyframe=!0,this.keyframeTs.clear(),this.firstVideoSeen=!1,this.firstAudioSeen=!1,this.lastDecoderEmitWall=0,this.configurePending=null,this.framesEmitted=!1,this.lastReady=null,this.resyncCount=0,this.clock.reset()}checkStall(){cd({userPaused:this.userPaused,stallPaused:this.stallPaused,streamEnded:this.streamEnded,anchored:this.clock.isAnchored,clockPaused:this.clock.isPaused,parkedPushes:this.parkedPushes,msSinceVideoPush:this.lastVideoPushWall<0?-1:performance.now()-this.lastVideoPushWall,queuedFrames:this.v?.size??0})&&(ld.debug(`stall detected — holding clock at ${this.clock.now()}`),this.stallPaused=!0,this.clock.pause(),this.cb.onBuffering?.(!0))}closeVideoDecoder(){if(this.videoDecoder){try{this.videoDecoder.state===`configured`&&this.videoDecoder.close()}catch{}this.videoDecoder=null,this.decoderReady=!1}}closeAudioDecoder(){if(this.audioDecoder){try{this.audioDecoder.state===`configured`&&this.audioDecoder.close()}catch{}this.audioDecoder=null,this.audioReady=!1}}async renderLoop(e,t){try{for await(let n of t){if(e!==this.gen||(await this.clock.waitUntil(n.timestamp+8e4),e!==this.gen)){n.close();return}let t=this.keyframeTs.delete(n.timestamp);this.renderer.drawFrame(n),this.cb.onFrameDrained?.(n.timestamp,t)}}catch{}}onDecodedAudio(e,t){if(e!==this.gen){t.close();return}let n=t.sampleRate,r=t.numberOfChannels,i=t.numberOfFrames,a=t.timestamp,o=[];try{for(let e=0;e<r;e++){let n=new Float32Array(i);t.copyTo(n,{planeIndex:e,format:`f32-planar`}),o.push(n)}}catch(e){t.close(),this.cb.onError?.(e.message,!1);return}t.close(),this.cb.onAudioChunk?.({channels:o,sampleRate:n,numberOfFrames:i,pts:a},o.map(e=>e.buffer))}};function dd(e){let t=0;for(let n of e)t+=n.frame.byteLength;return t}var fd=class{maxBytes;entries=/* @__PURE__ */ new Map;total=0;constructor(e=8388608){this.maxBytes=e}get size(){return this.entries.size}get bytes(){return this.total}find(e,t){let n=null;for(let r of this.entries.values())r.kind!==e||r.keyTs>t||(!n||r.keyTs>n.keyTs)&&(n=r);if(!n||!(t<=n.lastTs||n.nextTs>0&&t<n.nextTs))return null;this.touch(n);let r=n.frames.findLastIndex(e=>e.ts<=t);return{entry:n,frames:r===n.frames.length-1?n.frames:n.frames.slice(0,r+1)}}put(e){if(e.frames.length===0||e.bytes>this.maxBytes)return;let t=pd(e),n=this.entries.get(t);if(n){if(n.frames.length>=e.frames.length){this.touch(n);return}this.entries.delete(t),this.total-=n.bytes}this.entries.set(t,e),this.total+=e.bytes;for(let[e,t]of this.entries){if(this.total<=this.maxBytes)break;this.entries.delete(e),this.total-=t.bytes}}clear(){this.entries.clear(),this.total=0}touch(e){let t=pd(e);this.entries.delete(t),this.entries.set(t,e)}};function pd(e){return`${e.kind}|${e.keyTs}`}let md=12e3,hd=1048576,gd=new L(`ScrubScheduler`);var _d=class{host;cache=new fd;pending=null;inflight=null;commitInflight=null;presentedSeq=0;shown=null;decoding=!1;nextDecode=null;fullRttMs=0;fullDecodeMs=0;roles=/* @__PURE__ */ new Set;lastDraft=null;commitSeq=0;draftDisabled=!1;legacyPlugin=!1;throughput=[];constructor(e){this.host=e}request(e){if(e.intent===`commit`&&(this.commitSeq=e.seq),e.fine){let t=this.cache.find(this.kindOf(e,this.drafting(e)),e.tsUs);if(t){this.pending=null,this.presentHit(e,t);return}}let t=this.host.generation();e.fine&&e.intent===`commit`&&this.inflight?.gen===t&&this.inflight.draft&&this.commitInflight?.gen!==t?(this.pending=null,this.send(e,!1)):(e.intent!==`commit`&&this.inflight?.gen===t&&this.inflight.commit&&this.commitInflight?.gen!==t&&(this.commitInflight=this.inflight,this.inflight=null),this.pending=e,this.pump())}answered(e){return this.presentedSeq>=e}idle(){let e=this.host.generation();return this.pending?.gen!==e&&this.inflight?.gen!==e&&this.commitInflight?.gen!==e}clearCache(){this.cache.clear()}reset(){this.cache.clear(),this.fullRttMs=0,this.fullDecodeMs=0,this.roles.clear(),this.lastDraft=null,this.commitSeq=0,this.draftDisabled=!1,this.legacyPlugin=!1,this.throughput=[]}pump(){if(this.inflight&&this.inflight.gen===this.host.generation())return;let e=this.pending;if(e&&(this.pending=null,e.gen===this.host.generation())){if(e.fine){let t=this.cache.find(this.kindOf(e,this.drafting(e)),e.tsUs);if(t){this.presentHit(e,t);return}}this.send(e,!0)}}async send(e,t){let n=this.drafting(e),r={gen:e.gen,seq:e.seq,draft:n,commit:e.intent===`commit`};t?this.inflight=r:this.commitInflight=r;let i=setTimeout(()=>this.release(r),md),a,o=0;try{let s=await this.host.plugin();if(!s||e.gen!==this.host.generation()||t&&this.inflight&&this.inflight!==r)return;clearTimeout(i),i=setTimeout(()=>this.release(r),md),o=this.host.now(),a=e.fine?this.wireOptions(n):void 0;let c=e.fine?await s.nvrScrub(this.host.cameraId(),e.tsUs,!0,e.sourceRole,a):await s.nvrScrub(this.host.cameraId(),e.tsUs,!1,e.sourceRole);await this.handleReply(e,n,c,this.host.now()-o)}catch(t){a?.maxBytes&&t?.code===fo.TIMEOUT&&this.timedOut(a.maxBytes,this.host.now()-o),e.gen===this.host.generation()&&e.seq>this.presentedSeq&&this.host.post({type:`nvr-session-error`,message:t.message,fatal:!1})}finally{clearTimeout(i),this.release(r)}}release(e){this.commitInflight===e?this.commitInflight=null:this.inflight===e&&(this.inflight=null,this.pump())}async handleReply(e,t,n,r){if(e.gen!==this.host.generation())return;let i=n.frames??[],a=i.length?dd(i):n.frame?.byteLength??0,o=this.kindOf(e,t),s=`${n.partial?` partial`:``}${n.noData?` noData`:``}`;if(gd.debug(`${o} ts=${e.tsUs} role=${n.role??`?`} bytes=${a} rtt=${Math.round(r)}ms frames=${i.length}${s}`),n.noData){this.presentNoData(e);return}if(e.fine?this.measure(e,t,n,a,r):this.sample(a,r),n.codecString&&!await this.host.supported(n)){if(e.gen!==this.host.generation())return;if(t){this.draftDisabled=!0,(this.pending?.seq??0)>e.seq||this.commitInflight?.gen===e.gen&&this.commitInflight.seq>e.seq||this.presentedSeq>e.seq||(this.pending=e);return}e.seq>this.presentedSeq&&this.host.post({type:`nvr-codec-unsupported`,codec:n.videoCodec||n.codecString,sourceRole:n.role??e.sourceRole,context:`scrub`});return}if(e.gen!==this.host.generation())return;let c={codecString:n.codecString??``,width:n.width??0,height:n.height??0};if(e.fine&&i.length){let r=i[i.length-1].ts;if(n.keyTs!==void 0&&this.cache.put({kind:o,role:n.role??``,keyTs:n.keyTs,frames:i,lastTs:r,nextTs:n.nextTs??0,bytes:a,...c}),n.partial&&this.fartherThanShown(e,r))return;this.present(e,!t,c,i,r)}else n.frame?this.present(e,!1,c,[{frame:n.frame,ts:n.ts,keyframe:!0}],n.ts):this.presentNoData(e)}measure(e,t,n,r,i){let a=n.keyTs!==void 0;!a&&n.frames?.length&&(this.legacyPlugin=!0),a&&this.roles.add(n.role??``),t?this.lastDraft={gen:e.gen,seq:e.seq}:this.fullRttMs=i,a&&this.sample(r,i)}sample(e,t){e<32768||t<=0||(this.throughput.push(e/t),this.throughput.length>8&&this.throughput.shift())}timedOut(e,t){this.fullRttMs=Math.max(this.fullRttMs,t),this.throughput=[e/2/4e3]}drafting(e){return!e.fine||e.intent!==`drag`||this.draftDisabled||this.legacyPlugin||e.sourceRole===`low`||e.sourceRole===`scrub`||this.roles.size<2&&this.lastDraft?.gen===e.gen&&this.lastDraft.seq>this.commitSeq?!1:this.fullRttMs+this.fullDecodeMs>200}kindOf(e,t){return e.fine?t?`draft`:`full:${e.sourceRole}`:`coarse`}wireOptions(e){if(e)return{draft:!0};if(this.throughput.length===0)return{maxBytes:hd};let t=Math.max(...this.throughput);return{maxBytes:Math.min(8388608,Math.max(hd,Math.round(t*1e3*4)))}}fartherThanShown(e,t){let n=this.shown;return!n||n.gen!==e.gen?!1:Math.abs(e.tsUs-t)>Math.abs(e.tsUs-n.ts)}presentHit(e,t){let{entry:n,frames:r}=t;this.present(e,n.kind!==`draft`,n,r,r[r.length-1].ts)}presentNoData(e){e.seq<=this.presentedSeq||(this.presentedSeq=e.seq,this.host.post({type:`nvr-scrub-result`,ts:0,noData:!0}))}present(e,t,n,r,i){e.seq<=this.presentedSeq||(this.presentedSeq=e.seq,this.shown={gen:e.gen,ts:i},this.host.post({type:`nvr-scrub-result`,ts:i,noData:!1}),this.enqueueDecode({gen:e.gen,full:t,codecString:n.codecString,width:n.width,height:n.height,frames:r.map(e=>({data:e.frame,keyframe:e.keyframe,ts:e.ts})),presentTs:i}))}enqueueDecode(e){this.decoding?this.nextDecode=e:this.runDecode(e)}async runDecode(e){this.decoding=!0;let t=e;for(;t;){let e=this.host.now();try{await this.host.decode(t)}catch{}let n=this.host.now()-e;t.full&&(this.fullDecodeMs=n),gd.debug(`decode ${t.full?`full`:`light`} frames=${t.frames.length} ${Math.round(n)}ms`),t=this.nextDecode,this.nextDecode=null,t&&t.gen!==this.host.generation()&&(t=null)}this.decoding=!1}};let vd=`@camera.ui/camera-ui-nvr`,yd=[`onReady`,`onVideo`,`onBatch`,`onAudio`,`onNoData`,`onContext`],bd=new L(`NvrSession`);var xd=class{videoPipeline;post;nats;pipeline;scrubs;cameraId=``;attached=!1;localState=`unconfigured`;lastTarget=null;firstClient=null;firstClientResolve=null;pluginCache=null;sessionId=null;playIter=null;generation=0;lastPlayOpts=null;muted=!1;seed=null;lastScrubArgs=null;scrubGen=-1;scrubSeq=0;scrubStop=Promise.resolve();lastFrameTsUs=0;lastPlayTsUs=0;intent=null;nvrEndAt=-1/0;nvrEndStreak=0;nvrEndRestart;timeline=null;timelineFirstFrame=!1;unsubMirror;transportListenerCleanups=[];constructor(e,t,n,r,i){this.videoPipeline=e,this.post=n,this.nats=r,this.scrubs=new _d({generation:()=>this.generation,cameraId:()=>this.cameraId,plugin:async()=>await this.waitForClient()?(await this.scrubStop,this.tryGetPlugin()):null,supported:e=>{let t={codec:Pc(e.codecString??``)};return e.width&&e.height&&(t.codedWidth=e.width,t.codedHeight=e.height),Nc(t)},decode:e=>this.decodeScrub(e),post:e=>this.post(e),now:()=>performance.now()}),this.pipeline=new ud(t,{onFrameDrained:(e,t)=>{this.lastFrameTsUs=e,this.post({type:`nvr-frame-drained`,ts:e,keyframe:t,framesSince:1})},onAudioChunk:(e,t)=>this.post({type:`nvr-audio-data`,channels:e.channels,sampleRate:e.sampleRate,numberOfFrames:e.numberOfFrames,pts:e.pts},t),onCodecUnsupported:e=>{this.handleCodecUnsupported(e)},onBuffering:e=>this.post({type:`nvr-buffering`,buffering:e}),onError:(e,t)=>{t?this.handleFatalError(e):this.post({type:`nvr-session-error`,message:e,fatal:t})}}),this.transportListenerCleanups.push(this.nats.on(`up`,()=>{let e=this.localState===`connecting`;bd.debug(`nats UP (wasReconnecting=${e})`),this.localState=`connected`,e&&this.attached&&(bd.debug(`auto-resume after nats reconnect: intent=${this.intent}`),this.replayIntent())})),this.transportListenerCleanups.push(this.nats.on(`down`,()=>{bd.debug(`nats DOWN`),this.localState=`connecting`,this.playIter&&this.post({type:`nvr-buffering`,buffering:!0})})),this.firstClient=new Promise(e=>{this.firstClientResolve=e}),this.transportListenerCleanups.push(this.nats.subscribeClient(e=>{e&&this.firstClientResolve&&(this.firstClientResolve(e),this.firstClientResolve=null)})),this.unsubMirror=i.subscribe((e,t)=>{bd.debug(`mirror update — phase=${e.kind}, target=${i.target?i.target.endpoint.url:`null`}`),this.applyTargetFromMirror(i.target)}),bd.debug(`ctor — initial mirror.target=${i.target?i.target.endpoint.url:`null`}, phase=${i.phase.kind}`),i.target&&this.applyTargetFromMirror(i.target)}get isRunning(){return this.sessionId!==null||this.playIter!==null}attach(e){this.attached?bd.debug(`attach() — already attached, ignoring (current=${this.cameraId}, new=${e.cameraId})`):(this.cameraId=e.cameraId,this.attached=!0,bd.debug(`attach(${e.cameraId})`))}async handleForceReconnect(){if(this.attached)try{await this.nats.forceReconnect()}catch(e){this.post({type:`nvr-session-error`,message:e.message,fatal:!1})}}async handleRevalidate(){if(this.attached)try{await this.nats.ensureAlive()}catch(e){this.post({type:`nvr-session-error`,message:e.message,fatal:!1})}}async handleSuspendPush(e){if(bd.debug(`suspend push, keepNats=${e.keepNats}, wasPlaying=${this.playIter!==null}`),this.intent===`play`&&(this.intent=`paused`),this.generation++,await this.stopActiveStream(),this.pipeline.pause(),this.sessionId=null,!e.keepNats){try{await this.nats.apply(null)}catch(e){bd.debug(`suspend: nats.apply(null) threw: ${e.message}`)}this.localState=`suspended`}}async handleResumePush(e){if(bd.debug(`resume push tsUs=${e??`n/a`}`),this.intent===`paused`&&(this.intent=`play`),this.localState===`suspended`&&this.lastTarget)try{await this.nats.apply(this.lastTarget)}catch(e){this.post({type:`nvr-session-error`,message:e.message,fatal:!1});return}this.localState=`connected`,this.playIter||this.replayIntent(e)}scrub(e,t,n,r){this.scrubGen!==this.generation&&(this.scrubGen=++this.generation,this.scrubStop=this.stopActiveStream()),this.lastScrubArgs={tsUs:e,fine:t,sourceRole:n},this.intent=`scrub`,this.scrubs.request({tsUs:e,fine:t,sourceRole:n,intent:r,gen:this.generation,seq:++this.scrubSeq})}async play(e,t,n,r,i={}){let a=++this.generation;if(clearTimeout(this.nvrEndRestart),this.lastPlayTsUs=e,this.lastFrameTsUs=0,this.lastPlayOpts={videoOnly:t,sourceRole:n,speed:r},i.muted!==void 0&&(this.muted=i.muted),this.intent=`play`,bd.debug(`play enter gen=${a} tsUs=${e} videoOnly=${t}`),!await this.waitForClient()){bd.debug(`play gen=${a} aborted — client not ready`);return}if(a!==this.generation)return;await this.stopActiveStream(),bd.debug(`play: stopActiveStream done gen=${a}`);let o=this.lastPlayOpts?.speed??r;this.pipeline.start(o,t,e),this.timeline=null,this.timelineFirstFrame=!1,this.timeline?.mark(`play-enter`);let s=await this.tryGetPlugin();if(!s){this.pipeline.flush();return}if(a!==this.generation)return;this.timeline?.mark(`session-ready`);let c,l={speed:this.lastPlayOpts?.speed??o,muted:this.muted},u=qo({onReady:e=>this.handleReady(a,e,l),onVideo:e=>this.handleVideo(a,e),onBatch:e=>this.handleBatch(a,e),onAudio:e=>this.handleAudio(a,e),onNoData:e=>{e.reason?c=e.reason:this.handleNoData(a,e)},onContext:e=>this.handleContext(a,e)},{oneway:[...yd]}),d={skipContext:i.skipContext??(this.seed!==null&&Qu(this.seed,this.seed.receivedAtMs,Math.floor(e/1e3),Date.now()))};l.speed!==1&&(d.speed=l.speed),l.muted&&(d.muted=!0);let f;try{bd.debug(`play: calling plugin.nvrPlayback gen=${a}`),f=s.nvrPlayback(this.cameraId,e,t,n,u,d),bd.debug(`play: nvrPlayback returned iter gen=${a}`)}catch(e){if(bd.debug(`play: nvrPlayback threw gen=${a}: ${e.message}`),a!==this.generation)return;this.pipeline.flush(),this.post({type:`nvr-session-error`,message:e.message,fatal:!1});return}this.playIter=f,this.timeline?.mark(`rpc-issued`);try{let e=0;for await(let t of f)if(e++,e<=3&&bd.debug(`play: iter yield #${e} gen=${a}`),a!==this.generation)break;bd.debug(`play: for-await exited normally gen=${a} yields=${e}`)}catch(e){bd.debug(`play: for-await threw gen=${a}: ${e.message}`),a===this.generation&&(Sd(e)?c=`stopped`:this.post({type:`nvr-session-error`,message:e.message,fatal:!1}))}finally{this.playIter===f&&(this.playIter=null),a===this.generation&&(this.sessionId=null,this.pipeline.markStreamEnd(),c?this.continueEndedSession(c):(bd.debug(`play: posting nvr-eof gen=${a}`),this.post({type:`nvr-eof`})))}}async seek(e){bd.debug(`seek(${e}) — localState=${this.localState}, intent=${this.intent}`);let t=this.lastPlayOpts;t?await this.play(e,t.videoOnly,t.sourceRole,t.speed):bd.debug(`seek — no lastPlayOpts, skipping`)}async cmd(e,t,n){if(e===`seek`){t!==void 0&&await this.seek(t);return}switch(e){case`pause`:this.intent===`play`&&(this.intent=`paused`),this.pipeline.pause();break;case`resume`:if(this.intent===`paused`&&(this.intent=`play`),!this.sessionId&&!this.playIter&&this.lastPlayOpts){this.play(this.resumeTsUs(t),this.lastPlayOpts.videoOnly,this.lastPlayOpts.sourceRole,this.lastPlayOpts.speed);return}this.pipeline.resume();break;case`speed`:n!==void 0&&(this.lastPlayOpts&&(this.lastPlayOpts.speed=n),this.pipeline.setSpeed(n));break;case`mute`:case`unmute`:this.muted=e===`mute`}let r=this.sessionId;if(r){let i={cmd:e};n!==void 0&&(i.speed=n),await this.sendCmd(r,i,t)}}stop(e=!1){++this.generation,this.stopActiveStream(),this.pipeline.flush(),e||this.scrubs.clearCache(),this.sessionId=null,this.lastPlayOpts=null,this.lastScrubArgs=null,this.lastFrameTsUs=0,this.lastPlayTsUs=0,this.intent=null}async destroy(){++this.generation,clearTimeout(this.nvrEndRestart),await this.stopActiveStream(),this.pipeline.flush(),this.scrubs.reset(),this.sessionId=null,this.lastPlayOpts=null,this.lastScrubArgs=null,this.lastFrameTsUs=0,this.lastPlayTsUs=0,this.intent=null,this.pipeline.destroy(),this.unsubMirror();for(let e of this.transportListenerCleanups)try{e()}catch{}this.transportListenerCleanups.length=0,this.firstClientResolve&&=(this.firstClientResolve(null),null);try{await this.nats.dispose()}catch{}this.pluginCache=null,this.attached=!1}async applyTargetFromMirror(e){if(bd.debug(`applyTargetFromMirror — target=${e?e.endpoint.url:`null`}, lastTargetUrl=${this.lastTarget?.endpoint.url??`null`}`),e===this.lastTarget){bd.debug(`applyTargetFromMirror — same reference, skipping`);return}if(e===null){bd.debug(`applyTargetFromMirror — target=null, ignoring (worker keeps current connection)`);return}let t=this.lastTarget?.endpoint.url,n=e.endpoint.url,r=t!=null&&t!==n;if(this.lastTarget=e,r&&this.attached){bd.debug(`endpoint swap ${t??`null`} → ${n} — intent=${this.intent}`),this.intent===`play`&&this.post({type:`nvr-buffering`,buffering:!0}),this.generation++,await this.stopActiveStream(),this.pluginCache=null,this.scrubs.reset(),this.localState=`connecting`;try{await this.nats.apply(e)}catch(e){this.post({type:`nvr-session-error`,message:e.message,fatal:!1});return}this.localState===`connecting`&&this.replayIntent()}else{this.localState=this.localState===`unconfigured`?`connecting`:this.localState;try{await this.nats.apply(e)}catch(e){this.post({type:`nvr-session-error`,message:e.message,fatal:!1})}}}replayIntent(e){let t=this.lastPlayOpts;if(this.intent===`play`&&t){let n=this.resumeTsUs(e);n>0&&this.play(n,t.videoOnly,t.sourceRole,t.speed)}else if(this.intent===`scrub`&&this.lastScrubArgs&&!this.scrubs.answered(this.scrubSeq)&&this.scrubs.idle()){let e=this.lastScrubArgs;this.scrub(e.tsUs,e.fine,e.sourceRole)}}resumeTsUs(e){return e??(this.lastFrameTsUs>0?this.lastFrameTsUs:this.lastPlayTsUs)}continueEndedSession(e){if(this.intent!==`play`||!this.lastPlayOpts)return;let t=performance.now();t-this.nvrEndAt>6e4&&(this.nvrEndStreak=0),this.nvrEndAt=t;let n=e===`idle`&&this.nvrEndStreak===0?0:Math.min(2e3*2**this.nvrEndStreak,12e3);this.nvrEndStreak++;let r=this.generation,i=()=>{let e=this.lastPlayOpts;r===this.generation&&this.intent===`play`&&e&&(this.post({type:`nvr-buffering`,buffering:!0}),this.play(this.resumeTsUs(),e.videoOnly,e.sourceRole,e.speed))};n===0?i():(this.pipeline.flush(),this.post({type:`nvr-buffering`,buffering:!0}),this.nvrEndRestart=setTimeout(i,n))}async waitForClient(){if(!this.attached)return!1;if(this.nats.getClient())return!0;if(this.firstClient){let e=this.generation,t,n=new Promise(e=>{t=setTimeout(()=>e(void 0),2e4)}),r=await Promise.race([this.firstClient,n]);if(clearTimeout(t),r===void 0)return e===this.generation&&this.post({type:`nvr-session-error`,message:`NATS client not ready`,fatal:!1,offline:!0}),!1;if(r===null)return!1}return this.nats.getClient()!==null}async decodeScrub(e){e.codecString&&this.videoPipeline.configure(e.codecString,e.width,e.height),await this.videoPipeline.decodeChain(e.frames,e.presentTs)}handleReady(e,t,n){if(bd.debug(`handleReady gen=${e} current=${this.generation} sessionId=${t.sessionId}`),e!==this.generation)return;this.sessionId=t.sessionId,this.pipeline.configure(t),this.timeline?.mark(`ready-msg`),this.post({type:`nvr-buffering`,buffering:!1}),this.post({type:`nvr-ready`,role:t.role,audio:t.audioCodecString?{sampleRate:t.audioSampleRate??48e3,channels:t.audioChannels??1}:void 0});let r=this.lastPlayOpts?.speed??1;(r!==1||r!==n.speed)&&this.sendCmd(t.sessionId,{cmd:`speed`,speed:r}),this.muted!==n.muted&&this.sendCmd(t.sessionId,{cmd:this.muted?`mute`:`unmute`})}async handleVideo(e,t){if(e!==this.generation)return;if(!this.timelineFirstFrame&&this.timeline){this.timelineFirstFrame=!0,this.timeline.mark(`first-video-msg`);let e=this.timeline,t=this.cameraId.slice(0,8);setTimeout(()=>{e.mark(`dump-deferred`),e.dump(`play ${t}`)},2e3)}let n=new EncodedVideoChunk({type:t.keyframe?`key`:`delta`,timestamp:t.ts,data:t.frame});await this.pipeline.pushVideo(n)}async handleBatch(e,t){for(let n of t.items){if(e!==this.generation)return;n.audio?this.handleAudio(e,n):await this.handleVideo(e,{frame:n.frame,ts:n.ts})}}handleAudio(e,t){if(e!==this.generation)return;let n=new EncodedAudioChunk({type:`key`,timestamp:t.ts,data:t.frame});this.pipeline.pushAudio(n)}handleNoData(e,t){e===this.generation&&this.post({type:`nvr-no-data`,ts:t.ts})}handleContext(e,t){e===this.generation&&(this.seed={windowStartMs:t.windowStartMs,windowEndMs:t.windowEndMs,receivedAtMs:Date.now()},this.post({type:`nvr-context`,context:t}))}async handleCoverageRequest(e,t){if(!this.attached)return;let n=await this.tryGetPlugin();if(n)try{let r=await n.getRecordingCoverage(this.cameraId,e,t);this.post({type:`nvr-coverage-result`,coverage:r,windowStartMs:e,windowEndMs:t})}catch{}}async handleFatalError(e){++this.generation,await this.stopActiveStream(),this.post({type:`nvr-session-error`,message:e,fatal:!0})}async handleCodecUnsupported(e){let t=this.lastPlayOpts?.sourceRole??``;++this.generation,await this.stopActiveStream(),this.post({type:`nvr-codec-unsupported`,codec:e,sourceRole:t,context:`play`})}async sendCmd(e,t,n){let r=await this.tryGetPlugin();if(r)try{await r.nvrPlaybackCmd(e,t)}catch(t){if(!Cd(t))this.post({type:`nvr-session-error`,message:t.message,fatal:!1});else if(this.sessionId===e){this.sessionId=null;let e=this.lastPlayOpts;this.intent===`play`&&e&&this.play(this.resumeTsUs(n),e.videoOnly,e.sourceRole,e.speed)}}}async stopActiveStream(){let e=this.playIter;if(this.playIter=null,this.sessionId=null,this.pipeline.flush(),!e)bd.debug(`stopActiveStream: no iter, returning immediately`);else try{bd.debug(`stopActiveStream: calling iter.return()`),await e.return(),bd.debug(`stopActiveStream: iter.return() resolved`)}catch(e){bd.debug(`stopActiveStream: iter.return() threw: ${e.message}`)}}async tryGetPlugin(){let e=this.nats.getClient();if(!e)return this.post({type:`nvr-session-error`,message:`NATS client not ready`,fatal:!1,offline:!0}),null;if(this.pluginCache?.client===e)return this.pluginCache.proxy;try{let t=Ju.coreManagerNamespaces(),n=await e.createProxy(t.coreManagerRpc).getPlugin(vd);if(!n)throw Error(`Plugin "${vd}" not found on server`);let r=Ju.pluginNamespaces(n.id),i=e.createProxy(r.pluginChildRpc);return this.pluginCache={client:e,proxy:i},i}catch(e){return this.post({type:`nvr-session-error`,message:e.message,fatal:!1}),null}}};function Sd(e){let{message:t}=e??{};return typeof t==`string`&&/no responders/i.test(t)}function Cd(e){let{code:t,message:n}=e??{},r=typeof n==`string`?n:``;return r.includes(`session not found`)||t===fo.NOT_FOUND&&!/no responders/i.test(r)}H(),B();let wd=new L(`NvrWorker`),Td=performance.now(),Ed=0;function Dd(e,t){Ed++;let n=performance.now(),r=n-Td;if(r>=2e3){let e=Ed/(r/1e3);e>100&&wd.warn(`⚠ high message rate: ${e.toFixed(0)} msg/s (${Ed} in ${(r/1e3).toFixed(1)}s)`),Td=n,Ed=0}t&&t.length>0?self.postMessage(e,t):self.postMessage(e)}let Od=null,kd=!1,Ad=0;function jd(e,t){if(e.type===`nvr-frame-drained`){if(Ad++,kd){kd=!1;let n={...e,framesSince:Ad};Ad=0,Dd(n,t);return}if(!Od||Od.speed===0)return;let n=performance.now(),r=Math.floor(e.ts/1e3)-(Od.startMs+(n-Od.wallStart)*Od.speed);if(Math.abs(r)>200){let n={...e,framesSince:Ad};Ad=0,Dd(n,t)}}else Dd(e,t)}let Md=null,Nd=Sc({source:self});function Pd(){return vc({spec:{id:`nats`,kind:`persistent`,phaseGating:!0},logger:new L(`NatsT.worker`),resolveServers:e=>Nd.hasResolver?Nd.resolveServers(e):Promise.resolve([...e.defaultServers]),resolveRefreshMs:12e5})}let Fd=Pd(),Id=!1;Nd.onRevalidate(()=>{Md?.handleRevalidate().catch(()=>{})});let Ld=new wc,Rd=new Lc({onError:(e,t)=>{Md?.isRunning&&Dd({type:`nvr-session-error`,message:e,fatal:t})}},Ld);self.onmessage=e=>{let t=e.data;switch(t.type){case`canvas`:Ld.attachCanvas(t.canvas,t.preferredRenderer??`webgpu`);break;case`show`:Ld.show();break;case`hide`:Ld.hide();break;case`snapshot`:{let{requestId:e}=t;Ld.snapshot().then(t=>Dd({type:`snapshot-result`,requestId:e,blob:t})).catch(()=>Dd({type:`snapshot-result`,requestId:e,blob:null}));break}case`close`:{let e=Md;Md=null,e?.destroy().catch(()=>{}).finally(()=>{Rd.flushAndDestroy().finally(()=>{Ld.destroy(),self.close()})}),e||Rd.flushAndDestroy().finally(()=>{Ld.destroy(),self.close()});break}case`nvr-attach`:Md||=(Id&&=(Fd=Pd(),!1),new xd(Rd,Ld,jd,Fd,Nd)),Md.attach({cameraId:t.cameraId});break;case`nvr-force-reconnect`:Md?.handleForceReconnect().catch(()=>{});break;case`nvr-suspend`:Md?.handleSuspendPush({keepNats:t.keepNats}).catch(()=>{});break;case`nvr-resume`:Md?.handleResumePush(t.tsUs).catch(()=>{});break;case`nvr-scrub`:Md?.scrub(t.tsUs,t.fine,t.sourceRole,t.intent);break;case`nvr-play`:kd=!0,Md?.play(t.tsUs,t.videoOnly,t.sourceRole,t.speed,{skipContext:t.skipContext,muted:t.muted}).catch(()=>{});break;case`nvr-cmd`:(t.cmd===`seek`||t.cmd===`resume`)&&(kd=!0),Md?.cmd(t.cmd,t.tsUs,t.speed).catch(()=>{});break;case`nvr-coverage`:Md?.handleCoverageRequest(t.startMs,t.endMs).catch(()=>{});break;case`nvr-stop`:kd=!0,Md?.stop(t.keepScrubCache);break;case`nvr-destroy`:Md?.destroy().catch(()=>{}).finally(()=>{Md=null,Id=!0,Od=null});break;case`nvr-set-anchor`:Od=t.anchor?{startMs:t.anchor.startMs,wallStart:performance.now()-t.anchor.ageMs,speed:t.anchor.speed}:null}}})();',Vy=typeof self<`u`&&self.Blob&&new Blob([`(self.URL || self.webkitURL).revokeObjectURL(self.location.href);`,By],{type:`text/javascript;charset=utf-8`});function Hy(e){let t;try{if(t=Vy&&(self.URL||self.webkitURL).createObjectURL(Vy),!t)throw``;let n=new Worker(t,{name:e?.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch{return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(By),{name:e?.name})}}var Uy=2e3,Wy=new Map,Gy=new Map,Ky=new WeakMap,qy=1,Jy=!1;function Yy(){Jy||typeof window>`u`||(Jy=!0,window.addEventListener(`pagehide`,e=>{if(!e.persisted)for(let e of[...Wy.keys()])ob(e)}))}function Xy(e){let t=Gy.get(e);t&&(clearTimeout(t),Gy.delete(e))}function Zy(e){Xy(e);let t=setTimeout(()=>{Gy.delete(e);let t=Wy.get(e);t&&t.refCount<=0&&ob(e)},Uy);Gy.set(e,t)}function Qy(){let e=document.createElement(`canvas`);return e.style.position=`absolute`,e.style.width=`100%`,e.style.height=`100%`,e.style.inset=`0`,e.style.zIndex=`2`,e.style.objectFit=`fill`,e}function $y(e,t,n=`webgpu`){let r=Wy.get(e);if(r)return t&&(r.worker.onmessage=e=>t(e.data)),r;Yy();let i=Qy();e.appendChild(i);let a=i.transferControlToOffscreen(),o=new Hy;o.postMessage({type:`canvas`,canvas:a,preferredRenderer:n},[a]),t&&(o.onmessage=e=>t(e.data));let s={id:qy++,canvas:i,worker:o,hidden:!1,refCount:0};return Wy.set(e,s),s}function eb(e){let t=Wy.get(e);if(!t)return()=>{};t.refCount++,Xy(e);let n=!1;return()=>{n||(n=!0,t.refCount=Math.max(0,t.refCount-1),t.refCount===0&&Zy(e))}}function tb(e){return Wy.get(e)?.worker}function nb(e,t){let n=Ky.get(e)??new Set;return Ky.set(e,n),n.add(t),()=>{n.delete(t)}}function rb(e,t){if(e===t)return!0;let n=Wy.get(e);return!n||Wy.has(t)?!1:(Xy(e),t.appendChild(n.canvas),Wy.delete(e),Wy.set(t,n),!0)}function ib(e){let t=Wy.get(e);t&&(t.hidden=!0,t.canvas.style.display=`none`,t.worker.postMessage({type:`hide`}))}function ab(e){let t=Wy.get(e);t&&(t.hidden=!1,t.canvas.style.display=``,t.worker.postMessage({type:`show`}))}function ob(e){Xy(e);let t=Wy.get(e);if(!t)return;let n=t.worker;try{n.postMessage({type:`close`})}catch{n.terminate()}setTimeout(()=>n.terminate(),3e3),t.canvas.remove(),Wy.delete(e);let r=Ky.get(n);Ky.delete(n);for(let e of r??[])e()}new ct(`CanvasRenderer`),new ct(`Perf`);var sb=class{init;state=`unconfigured`;decodeQueueSize=0;gen=0;chain=Promise.resolve();constructor(e){this.init=e}configure(){if(this.state===`closed`)throw new DOMException(`Decoder is closed`,`InvalidStateError`);this.state=`configured`}decode(e){if(this.state!==`configured`)throw new DOMException(`Decoder is not configured`,`InvalidStateError`);let t=new Uint8Array(e.byteLength);e.copyTo(t);let{timestamp:n,duration:r}=e,i=this.gen,a=createImageBitmap(new Blob([t],{type:`image/jpeg`})).catch(()=>null);this.decodeQueueSize++,this.chain=this.chain.then(async()=>{let e=await a;if(i!==this.gen){e?.close();return}if(this.decodeQueueSize--,!e){this.stop(),this.init.error(new DOMException(`JPEG picture could not be decoded`,`EncodingError`));return}let t=new VideoFrame(e,{timestamp:n,duration:r??void 0});e.close(),this.init.output(t)})}async flush(){if(this.state!==`configured`)throw new DOMException(`Decoder is not configured`,`InvalidStateError`);let e=this.gen;if(await this.chain,e!==this.gen)throw new DOMException(`Decoder was closed`,`AbortError`)}close(){if(this.state===`closed`)throw new DOMException(`Decoder is closed`,`InvalidStateError`);this.stop()}stop(){this.gen++,this.state=`closed`,this.decodeQueueSize=0,this.chain=Promise.resolve()}};function cb(e,t){return e===`jpeg`?new sb(t):new VideoDecoder(t)}var lb=[[30,8100],[31,18e3],[32,20480],[40,32768],[41,32768],[42,34816],[50,110400],[51,184320],[52,184320]];function ub(e,t){let n=Math.ceil(e/16)*Math.ceil(t/16);if(n===0)return null;for(let[e,t]of lb)if(Math.floor(t/n)>=1)return e;return null}function db(e,t){return e.length>=11&&e.startsWith(`avc1.`)?e.slice(0,-2)+t.toString(16).padStart(2,`0`):e}function fb(e,t){for(let n=0;n<e.length-8;n++)e[n]===0&&e[n+1]===0&&e[n+2]===0&&e[n+3]===1&&(e[n+4]&31)==7&&(e[n+7]=t)}var pb=new Map;async function mb(e){if(e.codec===`jpeg`)return typeof createImageBitmap==`function`&&typeof VideoFrame==`function`;let t=`${e.codec}|${e.codedWidth??0}x${e.codedHeight??0}`,n=pb.get(t);if(n!==void 0)return n;if(typeof VideoDecoder.isConfigSupported!=`function`)return!0;let r;try{r=(await VideoDecoder.isConfigSupported(e)).supported===!0}catch{r=!1}return pb.set(t,r),r}function hb(e){let t=/^avc1\.42([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/.exec(e);if(!t)return e;let n=parseInt(t[1],16);return n&64?e:`avc1.42${(n|192).toString(16)}${t[2]}`}function gb(e,t,n){let r=null,i=hb(e);if(e.startsWith(`avc1.`)&&t&&n){let a=parseInt(e.slice(-2),16),o=Math.ceil(t/16)*Math.ceil(n/16),s=lb.find(([e])=>e>=a);if(s&&o>0&&Math.floor(s[1]/o)>2){let e=ub(t,n);e&&e<a&&(r=e,i=db(i,e))}}return{decoderCodec:i,h264PatchLevel:r}}new ct(`VideoPipeline`);function _b(){let e=p([]);function t(t){e.value=[...e.value,t];let n=!1;return()=>{if(n)return;n=!0;let r=e.value.lastIndexOf(t);if(r===-1)return;let i=e.value.slice();i.splice(r,1),e.value=i}}return{current:h(()=>e.value.at(-1)??null),claim:t}}var vb=class{wallSource;basePts=0;baseWall=0;rate=1;paused=!0;pausedPts=0;anchored=!1;abort=new AbortController;constructor(e){this.wallSource=e}now(){return this.paused?this.pausedPts:this.basePts+(this.wallSource()-this.baseWall)*1e6*this.rate}ptsToWall(e){return this.baseWall+(e-this.basePts)/1e6/this.rate}get isPaused(){return this.paused}get currentRate(){return this.rate}get isAnchored(){return this.anchored}start(e){this.basePts=e,this.baseWall=this.wallSource(),this.paused=!1,this.pausedPts=0,this.anchored=!0,this.invalidate()}reset(){this.basePts=0,this.baseWall=0,this.rate=1,this.paused=!0,this.pausedPts=0,this.anchored=!1,this.invalidate()}pause(){this.paused||(this.pausedPts=this.now(),this.paused=!0,this.invalidate())}resume(){this.paused&&(this.basePts=this.pausedPts,this.baseWall=this.wallSource(),this.paused=!1,this.invalidate())}setRate(e){if(!(e>0&&Number.isFinite(e)))throw Error(`MediaClock.setRate: rate must be positive finite, got ${e}`);this.rate!==e&&(this.paused||(this.basePts=this.now(),this.baseWall=this.wallSource()),this.rate=e,this.invalidate())}seek(e){this.paused?this.pausedPts=e:(this.basePts=e,this.baseWall=this.wallSource()),this.invalidate()}async waitUntil(e,t){for(;this.now()<e;){if(t?.())return;if(this.paused){await this.waitForChange();continue}let n=(this.ptsToWall(e)-this.wallSource())*1e3;if(n<=0)return;await this.sleepOrChange(n)}}invalidate(){let e=this.abort;this.abort=new AbortController,e.abort()}sleepOrChange(e){let t=this.abort.signal;return new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(()=>{t.removeEventListener(`abort`,i),n()},e),i=()=>{clearTimeout(r),n()};t.addEventListener(`abort`,i,{once:!0})})}waitForChange(){let e=this.abort.signal;return e.aborted?Promise.resolve():new Promise(t=>{e.addEventListener(`abort`,()=>t(),{once:!0})})}};function yb(e){return new vb(()=>e.currentTime)}var bb=.005,xb=.08,Sb=[`pointerup`,`touchend`,`click`,`keydown`],Cb=new Set;function wb(){let e=navigator.audioSession;e&&(e.type=Cb.size>0?`playback`:`auto`)}var Tb=class{ac=null;gainNode=null;clock=null;muted=!1;suspended=!1;unlockArmed=!1;pendingSources=new Set;unlock=()=>{this.ac&&!this.suspended&&this.ac.state!==`running`&&this.ac.state!==`closed`&&this.ac.resume().catch(()=>{})};start(e){this.close();try{this.ac=new AudioContext({sampleRate:e}),this.gainNode=this.ac.createGain(),this.gainNode.gain.value=+!this.muted,this.gainNode.connect(this.ac.destination),this.clock=yb(this.ac),this.ac.onstatechange=()=>this.onStateChange(),this.armUnlock(),this.ac.resume().catch(()=>{})}catch{this.ac=null,this.gainNode=null,this.clock=null}this.updateAudible()}feed(e){if(!this.ac||!this.gainNode||!this.clock||this.ac.state!==`running`||(this.clock.isAnchored||this.clock.start(e.pts),this.clock.isPaused))return;let t=this.clock.ptsToWall(e.pts)+xb-this.ac.currentTime;if(t<-.2)return;let n=this.ac.createBuffer(e.channels.length,e.numberOfFrames,e.sampleRate);for(let t=0;t<e.channels.length;t++)n.getChannelData(t).set(e.channels[t]);let r=this.ac.createBufferSource();r.buffer=n,r.connect(this.gainNode);let i=this.ac.currentTime+Math.max(bb,t);r.start(i),this.pendingSources.add(r),r.onended=()=>this.pendingSources.delete(r)}setMuted(e){this.muted=e,this.gainNode&&(this.gainNode.gain.value=+!e),this.updateAudible()}suspend(){this.suspended=!0,this.clock?.pause(),this.ac&&this.ac.state===`running`&&this.ac.suspend()}resume(){this.suspended=!1,this.ac&&this.ac.state!==`running`&&this.ac.state!==`closed`&&this.ac.resume().catch(()=>{}),this.clock?.resume()}setRate(e){e>0&&Number.isFinite(e)&&this.clock&&(this.cancelPendingSources(),this.clock.reset(),e!==1&&this.clock.setRate(e))}seek(){this.cancelPendingSources(),this.clock?.reset()}close(){if(this.cancelPendingSources(),this.disarmUnlock(),this.gainNode){try{this.gainNode.disconnect()}catch{}this.gainNode=null}if(this.ac){this.ac.onstatechange=null;try{this.ac.close()}catch{}this.ac=null}this.clock=null,this.updateAudible()}onStateChange(){this.ac&&(this.ac.state===`running`?this.disarmUnlock():this.ac.state!==`closed`&&this.armUnlock())}armUnlock(){if(!this.unlockArmed){this.unlockArmed=!0;for(let e of Sb)window.addEventListener(e,this.unlock,{capture:!0,passive:!0})}}disarmUnlock(){if(this.unlockArmed){this.unlockArmed=!1;for(let e of Sb)window.removeEventListener(e,this.unlock,{capture:!0})}}updateAudible(){this.ac&&!this.muted?Cb.add(this):Cb.delete(this),wb()}cancelPendingSources(){for(let e of this.pendingSources)try{e.stop(0)}catch{}this.pendingSources.clear()}},Eb=[`high`,`mid`,`low`],Db=6e5;function Ob(e){let t=Eb.indexOf(e.servedRole);if(t<=0)return null;for(let n=0;n<t;n++){let t=Eb[n];for(let n of e.roles[t]??[])if(!(n.startTime>e.playheadMs-5e3)&&!(n.endTime<e.playheadMs)&&(n.endTime>=e.nowMs-2e4||n.endTime>=e.playheadMs+1e4))return t}return null}function kb(e,t,n,r){if(!e||r-t>6e5)return!1;let i=e.windowStartMs+Db,a=Math.min(e.windowEndMs,t)-Db;return n>=i&&n<=a}var Ab=Symbol(`NvrPlayback`),jb=Symbol(`NvrPlaybackMap`),Mb=new ct(`NvrPlayback`),Nb=2e3,Pb=15e3,Fb=5e3,Ib=2e6,Lb=5e3,Rb=3e4,zb=3e4,Bb=3e5;function Vb(e){switch(e){case`high-resolution`:return`high`;case`mid-resolution`:return`mid`;case`low-resolution`:return`low`;case void 0:case null:return``;default:return e}}function Hb(e){return e===`high`?3:e===`mid`?2:+(e===`low`)}function Ub(e,t){let n=e===``||e===`auto`?t===`play`?`high`:`low`:e===`scrub`?`low`:e;return n===`high`?`mid`:n===`mid`?`low`:null}function Wb(e,t,n){let r=e>0?Math.floor(e/1e3):0,i=t?t.startMs+Math.max(0,n-t.wallStart)*t.speed:0;return Math.max(r,i)}function Gb(t,n){let r=n?.managed??!1,i=n?.sourceRole,a=b(i)?i:e(u(i)??``),o=e(null),s=h(()=>o.value??Vb(a.value));n?.cameraUi||Ns();let c=n?.nvrCtx??gm(),l=e(`idle`),d=new Map,f=0,m=e(0),g=e(0),_=e(null),v=e(null),y=e(!1),x=e(!1),S=0,C,w,T=e(!1),E=e(!1),D=e(null),O=p(null),k=0,A=null,j=-1/0,N=-1/0,P=e(null),L=e(!1),R=e(!1),z=e(!1),B=e(1),V=0,{current:H,claim:ee}=_b();I(H,(e,t)=>{if(t&&e&&rb(t,e)){if(oe===t){let t=eb(e);se?.(),se=t,oe=e}return}if(t){let e=tb(t);e&&e.postMessage({type:`nvr-stop`}),ib(t)}if(!e){t&&oe===t&&(se?.(),se=null,oe=null);return}let n=ne??(l.value===`idle`?void 0:q);if(!n)return;let r=ne===void 0;ne=void 0,n.kind===`play`?xe(r&&m.value>0?m.value:n.tsUs,n.videoOnly):n.fine?be(n.tsUs,!0):ye(n.tsUs,!0)},{flush:`sync`}),I(l,(e,t)=>{if(e===`idle`&&t!==`idle`){let e=H.value;e&&ib(e)}},{flush:`sync`});let U=h(()=>l.value!==`idle`),W=h(()=>l.value===`play`),G=null,te=!1,K=!1,ne,q,re=new AbortController,J=new WeakSet;function Y(){return typeof t==`string`?t:u(t)}function ie(){let e=v.value;return e?e.startMs+(performance.now()-e.wallStart)*e.speed:0}function X(){return Wb(m.value,v.value,performance.now())}let Z=new Map,ae=new WeakSet,oe=null,se=null;function ce(){let e=H.value;if(!e)return;let t=performance.now(),n=tb(e),r=!1;n||(n=$y(e).worker,r=!0),oe!==e&&(se?.(),se=eb(e),oe=e);let i=performance.now()-t;return ue(n),Z.has(n)||(c.registerWorker(n),Z.set(n,nb(n,()=>{Z.delete(n),c.unregisterWorker(n)}))),ae.has(n)||(n.postMessage({type:`nvr-attach`,cameraId:Y()}),ae.add(n)),r&&Mb.debug(`[Timeline ${Y().slice(0,8)}] main.ensureWorker spawn+transfer=${i.toFixed(0)}ms`),n}function le(e){let t=H.value;t&&tb(t)?.postMessage(e)}function ue(e){if(J.has(e))return;J.add(e),e.addEventListener(`message`,e=>{fe(e.data)},{signal:re.signal});let t=Dt(e);re.signal.addEventListener(`abort`,t,{once:!0})}I(v,e=>{le({type:`nvr-set-anchor`,anchor:e?{startMs:e.startMs,ageMs:performance.now()-e.wallStart,speed:e.speed}:null})});function de(){let e=H.value,t=e?tb(e):void 0;if(!t)return Promise.resolve(null);let n=++f;return new Promise(e=>{let r=setTimeout(()=>{d.delete(n),e(null)},Nb);d.set(n,t=>{clearTimeout(r),e(t)}),t.postMessage({type:`snapshot`,requestId:n})})}function fe(e){switch(e.type){case`snapshot-result`:{let t=d.get(e.requestId);t&&(d.delete(e.requestId),t(e.blob));break}case`nvr-ready`:if(Mb.debug(`worker → ready (role=${e.role??`?`} audio=${e.audio?`${e.audio.sampleRate}Hz/${e.audio.channels}ch`:`none`})`),P.value=e.role??null,e.role&&!o.value){let t=Vb(a.value),n=t===``||t===`auto`?`high`:t;D.value=Hb(e.role)<Hb(n)?{from:n,to:e.role,reason:`coverage`}:null}e.audio&&(R.value=!0,De(e.audio.sampleRate));break;case`nvr-scrub-result`:Mb.debug(`worker → scrub-result ts=${e.ts} noData=${e.noData}`),L.value=!1,T.value=!1,x.value=!1,S=0,V=0,e.noData?y.value=!0:(y.value=!1,E.value=!1,m.value=e.ts);break;case`nvr-frame-drained`:{let t=Math.floor(e.ts/1e3);K||Mb.debug(`worker → first frame drained ts=${e.ts}`),v.value&&(!K||v.value.speed===0)?(K=!0,v.value={startMs:Math.max(t,ie()),wallStart:performance.now(),speed:B.value}):v.value&&v.value.speed>0&&t>v.value.startMs+(performance.now()-v.value.wallStart)*v.value.speed+200&&(v.value={startMs:t,wallStart:performance.now(),speed:B.value}),L.value=!1,clearTimeout(w),T.value=!1,E.value=!1,x.value=!1,S=0,y.value&&(V===0||e.ts>=V)&&(y.value=!1,V=0),m.value=e.ts,g.value=e.ts;break}case`nvr-audio-data`:y.value&&(V===0||e.pts>=V)&&(y.value=!1,V=0),G?.feed({channels:e.channels,sampleRate:e.sampleRate,numberOfFrames:e.numberOfFrames,pts:e.pts});break;case`nvr-context`:Mb.debug(`worker → context (segs=${e.context.coverage.union.length} evts=${e.context.events?.length??0})`),k=Date.now(),A=e.context.coverage,O.value=e.context;break;case`nvr-coverage-result`:A=e.coverage;break;case`nvr-no-data`:Mb.debug(`worker → no-data ts=${e.ts}`),L.value=!1,T.value=!1,y.value=!0,V=e.ts+1;break;case`nvr-codec-unsupported`:{Mb.debug(`worker → codec-unsupported codec=${e.codec} role=${e.sourceRole} context=${e.context}`),L.value=!1;let t=Ub(Vb(e.sourceRole),e.context);if(t){let n=Vb(a.value),r=n===``||n===`auto`?e.context===`play`?`high`:`low`:n===`scrub`?`low`:n;if(o.value=t,D.value={from:r,to:t,reason:`codec`},e.context===`play`){let e=Math.round(X()*1e3),t=e>0?e:(v.value?.targetMs??v.value?.startMs??0)*1e3,n=q?.kind===`play`&&q.videoOnly;t>0&&xe(t,n)}else q?.kind===`scrub`&&(q.fine?be(q.tsUs,!0):ye(q.tsUs,!0))}else{E.value=!0,D.value=null,y.value=!1;let e=v.value;if(e){let t=X();v.value={startMs:t>0?t:e.startMs,wallStart:performance.now(),speed:0}}}break}case`nvr-eof`:{Mb.debug(`worker → eof`),L.value=!1,!y.value&&!E.value&&(y.value=!0),V=2**53-1;let e=v.value?.targetMs??v.value?.startMs??0,t=Math.max(K?X():ie(),e);v.value={startMs:t,wallStart:performance.now(),speed:B.value};break}case`nvr-buffering`:Mb.debug(`worker → buffering=${e.buffering}`),e.buffering?(K&&(v.value={startMs:X(),wallStart:performance.now(),speed:0}),L.value=!0,G?.suspend(),l.value===`play`&&(clearTimeout(w),w=setTimeout(()=>{l.value===`play`&&L.value&&ge()},Pb))):(clearTimeout(w),K&&(v.value={startMs:X(),wallStart:performance.now(),speed:B.value}),L.value=!1,G?.resume());break;case`nvr-session-error`:Mb.debug(`worker → session-error fatal=${e.fatal} msg=${e.message}`),e.message.includes(`license verification required`)?(T.value=!0,y.value=!0,L.value=!1):l.value!==`idle`&&q&&S<2?(S++,clearTimeout(C),C=setTimeout(()=>ge(e.offline),500*S)):l.value!==`idle`&&(L.value=!1,x.value=!0,q&&(clearTimeout(C),C=setTimeout(()=>ge(e.offline),Fb)))}}let pe=!1,me=!1;function he(e,t){me=!0;try{xe(e,t)}finally{me=!1}}function ge(e=!1){if(l.value!==`idle`&&l.value!==`pause`){pe=!0;try{if(q?.kind===`play`){let t=Math.max(q.tsUs,Math.round(X()*1e3));e?xe(t,q.videoOnly):(S>=2&&(t+=Ib),he(t,q.videoOnly))}else q?.kind===`scrub`&&(q.fine?be(q.tsUs,!0,q.intent):ye(q.tsUs,!0,q.intent))}finally{pe=!1}}}function _e(){pe||(x.value=!1,S=0,clearTimeout(C))}function ve(){y.value&&(y.value=!1,L.value=!0)}function ye(e,t,n){if(Mb.debug(`scrub() tsUs=${e} hasRecording=${t} containerBound=${!!H.value}`),_e(),!t){le({type:`nvr-stop`,keepScrubCache:!0}),y.value=!0,l.value=`scrub`,v.value=null,ne=void 0,q=void 0;return}l.value=`scrub`,v.value=null,ve();let r={kind:`scrub`,tsUs:e,fine:!1,intent:n},i=ce();if(!i){ne=r;return}ne=void 0,q=r;let a=H.value;a&&ab(a),i.postMessage({type:`nvr-scrub`,tsUs:e,fine:!1,sourceRole:s.value,intent:n})}function be(e,t,n){if(!t){ye(e,t);return}_e(),l.value=`scrub`,v.value=null,ve();let r={kind:`scrub`,tsUs:e,fine:!0,intent:n},i=ce();if(!i){ne=r;return}ne=void 0,q=r;let a=H.value;a&&ab(a),i.postMessage({type:`nvr-scrub`,tsUs:e,fine:!0,sourceRole:s.value,intent:n})}function xe(e,t,n){Mb.debug(`[Timeline ${Y().slice(0,8)}] play() called tsUs=${e} containerBound=${!!H.value}`);let r=me||!!n?.seamless;K=!1,g.value=0,_e(),l.value=`play`,V=0,m.value=e,y.value||(L.value=!0),v.value={startMs:Math.floor(e/1e3),wallStart:performance.now(),speed:r?B.value:0,targetMs:Math.floor(e/1e3)},N=-1/0;let i={kind:`play`,tsUs:e,videoOnly:t??!1},a=ce();if(!a){Mb.debug(`[Timeline ${Y().slice(0,8)}] play() — no worker (container not bound), queued as pending`),ne=i;return}ne=void 0,q=i;let o=H.value;o&&ab(o);let c=O.value,u=c?.cameraId===Y()&&kb(c,k,Math.floor(e/1e3),Date.now());Mb.debug(`[Timeline ${Y().slice(0,8)}] play(): posting nvr-play to worker skipContext=${u}`),a.postMessage({type:`nvr-play`,tsUs:e,videoOnly:t??!1,sourceRole:s.value,speed:B.value,skipContext:u,muted:z.value})}F(()=>{if(l.value!==`play`||L.value||Vb(a.value)!==`auto`||o.value)return;let e=P.value;if(!e||e===`high`)return;if(performance.now()-N>zb){N=performance.now();let e=Math.round(X());le({type:`nvr-coverage`,startMs:e-Bb,endMs:e+Bb})}let t=A;if(!t||performance.now()-j<Rb)return;let n=Ob({servedRole:e,roles:t.roles,playheadMs:X(),nowMs:Date.now()});n&&(j=performance.now(),Mb.debug(`auto up-switch ${e} → ${n} at ${Math.round(X())}`),he(Math.round(X()*1e3),q?.kind===`play`&&q.videoOnly))},Lb),I(a,(e,t)=>{if(e===t||(o.value=null,D.value=null,E.value=!1,l.value!==`play`))return;let n=m.value>0?m.value:(v.value?.startMs??0)*1e3;Ee(),n>0&&xe(n)});function Se(){Mb.debug(`pause()`),le({type:`nvr-cmd`,cmd:`pause`}),clearTimeout(w),v.value={startMs:X(),wallStart:performance.now(),speed:0},l.value=`pause`,G?.suspend()}function Ce(){if(Mb.debug(`resume() mode=${l.value}`),l.value!==`pause`){xe(m.value);return}let e=v.value;e&&(v.value={startMs:e.startMs,wallStart:performance.now(),speed:B.value}),l.value=`play`,G?.resume(),le({type:`nvr-cmd`,cmd:`resume`,tsUs:Math.round(X()*1e3)})}function we(e){Mb.debug(`seek() tsUs=${e}`),L.value=!0,K=!1,g.value=0,V=0,q?.kind===`play`&&(q={...q,tsUs:e});let t=e/1e3;m.value=e,v.value={startMs:t,wallStart:performance.now(),speed:0,targetMs:l.value===`play`?t:void 0},G?.seek(),le({type:`nvr-cmd`,cmd:`seek`,tsUs:e})}function Te(e){let t=X();B.value=e,v.value={startMs:t,wallStart:performance.now(),speed:l.value===`play`?e:0},G?.setRate(e),le({type:`nvr-cmd`,cmd:`speed`,speed:e}),e===1?z.value=te:z.value=!0}function Ee(){Mb.debug(`stop()`),le({type:`nvr-stop`});let e=H.value;e&&l.value!==`idle`&&ib(e),l.value=`idle`,L.value=!1,R.value=!1,x.value=!1,S=0,clearTimeout(C),clearTimeout(w),E.value=!1,P.value=null,v.value=null,K=!1,g.value=0,ne=void 0,q=void 0,V=0,r||(B.value=1),se?.(),se=null,oe=null}function De(e){G?.close(),G=null,G=new Tb,G.start(e),G.setMuted(z.value)}I(z,e=>{G?.setMuted(e),le({type:`nvr-cmd`,cmd:e?`mute`:`unmute`}),B.value===1&&(te=e)});let Oe=!1,ke=!1,{onTabHidden:Ae,onTabPaused:je,onTabVisible:Me}=xc();return Ae(()=>{Mb.debug(`onTabHidden fired — mode=${l.value}`),l.value===`play`&&(Oe=!0,Se(),Mb.debug(`onTabHidden — auto-paused, autoPausedForVisibility=true`))}),je(()=>{Oe&&(Mb.debug(`onTabPaused — escalating to suspend (cancel playIter, free bandwidth)`),ke=!0,le({type:`nvr-suspend`,keepNats:!0}))}),Me(()=>{if(Mb.debug(`onTabVisible fired — autoPausedForVisibility=${Oe}, suspended=${ke}, mode=${l.value}`),!Oe)return;if(Oe=!1,l.value!==`pause`){Mb.debug(`onTabVisible — mode is ${l.value}, skipping resume`);return}let e=ke;if(ke=!1,e){le({type:`nvr-resume`,tsUs:Math.round(X()*1e3)});let e=v.value;e&&(v.value={startMs:e.startMs,wallStart:performance.now(),speed:B.value}),l.value=`play`,G?.resume(),Mb.debug(`onTabVisible — nvr-resume sent`)}else{Ce();let e=Math.round(X()*1e3);e>0?(Mb.debug(`onTabVisible — resume() done, forcing seek(${e}) for fresh keyframe`),we(e)):Mb.debug(`onTabVisible — resume() done, no seek (ts=0)`)}}),M(()=>{clearTimeout(C),clearTimeout(w),G?.setMuted(!0),le({type:`nvr-stop`}),se?.(),se=null,oe=null,re.abort();for(let[e,t]of Z)t(),c.unregisterWorker(e);Z.clear(),G?.close(),G=null}),{mode:l,currentTimestamp:m,frameTimestamp:g,livePausedAt:_,playbackAnchor:v,noData:y,playbackError:x,licenseRequired:T,unsupported:E,playbackDegraded:D,contextSnapshot:O,loading:L,hasAudio:R,muted:z,containerRef:H,isActive:U,isPlaybackDriving:W,speed:B,sourceRole:a,effectiveRole:s,scrub:ye,fineScrub:be,play:xe,pause:Se,resume:Ce,stop:Ee,seek:we,setSpeed:Te,claimContainer:ee,captureSnapshot:de}}function Kb(e){let t=e.playbackAnchor.value;if(!t)return e.currentTimestamp.value;let n=e.mode.value===`play`?t.speed:0;return Math.round((t.startMs+(performance.now()-t.wallStart)*n)*1e3)}function qb(e,t){let n=Gb(e,t);return K(Ab,n),n}function Jb(e,t,n){for(let[r,i]of e.entries()){let a=Math.min(i.timestamp+t,e[r-1]?.timestamp??1/0,n);i.endTimeMs=Math.max(i.endTimeMs,a)}}function Yb(e){return Math.max(e.endTimeMs-e.timestamp,1e3)}function Xb(e,{startPx:t,endPx:n,sizePx:r,leadPx:i}){let a=t-r*2,o=n+r*2;return e.filter(e=>{let t=e.topPx+i;return t+r>=a&&t<=o})}var Zb=class{throttleMs;advanceMs;entrySlackMs;floorMs=-1;lastAttemptWallMs=-1/0;constructor(e){this.throttleMs=e?.throttleMs??2e3,this.advanceMs=e?.advanceMs??5e3,this.entrySlackMs=e?.entrySlackMs??300}onGap(e){this.floorMs=Math.max(this.floorMs,e)}reset(){this.floorMs=-1,this.lastAttemptWallMs=-1/0}check(e,t,n){if(n-this.lastAttemptWallMs<this.throttleMs)return!1;if(t){let n=t.find(t=>e>=t.startTime&&e<=t.endTime);if(!n)return!1;if(this.floorMs>=0){if(n.startTime>this.floorMs){if(e<n.startTime+this.entrySlackMs)return!1}else if(e<this.floorMs+this.advanceMs)return!1}}else if(this.floorMs>=0&&e<this.floorMs+this.advanceMs)return!1;return this.floorMs=Math.max(this.floorMs,e),this.lastAttemptWallMs=n,!0}},Qb=5e3,$b=3e4;function ex(e,t,n){let r=Math.min(e,t),i=Math.min(Math.max(Math.max(e,t),r+Qb),n);return{startMs:Math.min(r,i-Qb),endMs:i}}function tx(e,t,n){return e.type===`live`?null:e.type===`scroll`?n?null:{timeMs:t,playing:e.resumePlay}:{timeMs:t,playing:e.type===`play`}}function nx(e,t,n){let r=[];for(let i of e){let e=Math.max(i.startTime,t),a=Math.min(i.endTime,n);e<a&&r.push([e,a])}if(r.length===0)return 0;r.sort((e,t)=>e[0]-t[0]);let i=0,[a,o]=r[0];for(let e=1;e<r.length;e++){let[t,n]=r[e];t<=o?n>o&&(o=n):(i+=o-a,a=t,o=n)}return i+(o-a)}function rx(t,n,r){let i=e(!1),a=e(0),o=e(0),s=h(()=>o.value-a.value),c=h(()=>r?.value?.length&&nx(r.value,a.value,o.value)||s.value);function l(e,r){let s=t.value,c=e!=null&&r!=null?ex(e,r,n.value):ex(s-$b/2,s+$b/2,n.value);a.value=c.startMs,o.value=c.endMs,i.value=!0}function u(){i.value=!1}return{trimActive:i,trimStartMs:a,trimEndMs:o,trimDurationMs:s,trimRecordingDurationMs:c,activate:l,deactivate:u}}var ix=1e4,ax=16,ox=100,sx=3e3,cx=1e4,lx=9e5,ux=6e4;function dx(e,t,n){if(e<=t-ux)return null;let r=Math.floor(Math.min(e+lx,n)/1e3)*1e3;return r>t?r:null}var fx=new ct(`TLC`);function px(t){let{nvr:n,segment:r,timeMsPerPx:i,recordings:a,isLoadedAt:o,detectionCards:s,detectionCardSize:c,trimState:l,zoomLevel:u,writeMotion:d,getMotionOffset:f,motionBoundaryPx:p,motionMaxOffsetPx:m,dragActive:_,flingActive:v,wheelActive:y}=t;function b(){return p.value}function x(){return f()}function S(){return Math.max(ix/i.value,ax)}function C(e){d(Math.max(0,e))}let w=e((()=>{let e=n?.mode.value,t=n?.currentTimestamp.value??0;if(t>0){let n=Math.floor(t/1e3);if(e===`play`)return{type:`play`,targetMs:n};if(e===`pause`||e===`scrub`)return{type:`pause`,timeMs:n}}return{type:`live`}})());I(w,(e,t)=>{let n=t?`${t.type}${t.type===`scroll`?`(resumePlay=${t.resumePlay})`:t.type===`play`?`(target=${t.targetMs})`:t.type===`pause`?`(t=${t.timeMs})`:``}`:`?`,r=`${e.type}${e.type===`scroll`?`(resumePlay=${e.resumePlay})`:e.type===`play`?`(target=${e.targetMs})`:e.type===`pause`?`(t=${e.timeMs})`:``}`;fx.debug(`MODE: ${n} → ${r}`)},{deep:!0});let E=e(Math.floor(Date.now()/1e3)*1e3),O=e(0),k=null,A=0,j=!1,P=1/0,L=e(0),R=null,z=e(!1),B=!1,V=0,{start:H,stop:ee}=W(e=>{V=performance.now(),Te(e,`drag`)},ox,{immediate:!1}),U=0,{start:G,stop:te}=W((e,t)=>{U=performance.now(),n.scrub(e*1e3,t,`drag`)},100,{immediate:!1}),K=e(!1),ne=!1,re=!0,J=0,Y=e(null),ie=e(null),X=h(()=>E.value),Z=h(()=>k!==null),ae=h(()=>w.value.type===`play`||w.value.type===`trim`||Z.value?!1:p.value===0),oe=h(()=>_.value||v.value||y.value),se=h(()=>{let e=w.value;if((e.type===`play`||e.type===`trim`&&e.sub===`play`)&&n?.playbackAnchor.value){let e=n.playbackAnchor.value;return e.speed>0?O.value>0?O.value:(n.currentTimestamp.value,e.startMs+(performance.now()-e.wallStart)*e.speed):e.startMs}if(e.type===`pause`)return e.timeMs;if(r.value===`detections`)return le(b(),s.value);if(Y.value!=null)return Y.value;if(ie.value!=null)return ie.value;if(ae.value)return X.value;let t=b();return X.value-t*i.value});function ce(){let e=w.value;return e.type===`play`||e.type===`trim`&&e.sub===`play`||e.type===`pause`?se.value:Y.value==null?ie.value==null?r.value===`detections`?le(x(),s.value):ae.value?X.value:X.value-x()*i.value:ie.value:Y.value}function le(e,t){if(e<=0||t.length===0)return X.value;let n=c.value,r=Math.min(Math.ceil(e/n)-1,t.length-1),a=t[r],o=t.length*n;if(e>o)return a.timestamp-(e-o)*i.value;let s=Math.min((e-r*n)/n,1);return a.endTimeMs-s*Yb(a)}function ue(e){return(X.value-e)/i.value}function de(){return Math.max(lx,m.value/2*i.value)}function fe(e){let t=Math.min(e+de(),Date.now());E.value=Math.floor(t/1e3)*1e3}function pe(e){let t=s.value;if(t.length===0)return 0;let n=c.value;for(let r=0;r<t.length;r++){let i=t[r];if(e>=i.timestamp&&e<=i.endTimeMs){let t=(i.endTimeMs-e)/Yb(i);return r*n+t*n}}for(let r=0;r<t.length;r++)if(e>t[r].endTimeMs)return r*n;return t.length*n}function me(e,t=!1){if(r.value===`detections`){let t=s.value,n=t.findIndex(t=>e<=t.endTimeMs&&e>=t.timestamp);if(n<0&&(n=t.findIndex(t=>t.endTimeMs<=e),n<0&&(n=Math.max(0,t.length-1))),t.length===0)return;let r=t[n],i=Math.max(0,Math.min(1,(r.endTimeMs-e)/Yb(r))),a=Math.max(0,(n+i)*c.value);L.value=a,C(a),setTimeout(()=>{L.value=0},100);return}let n=ue(e);(n<0||n>m.value)&&fe(e);let i=Math.max(0,ue(e));L.value=i,J=performance.now()+200,C(i),setTimeout(()=>{L.value=0},100)}function he(){k!==null&&(cancelAnimationFrame(k),k=null),R=null,A=0,P=1/0,O.value=0}I(i,()=>{R=null}),q(()=>{I(s,(e,t)=>{if(r.value!==`detections`||ae.value||oe.value||e.length===0)return;let i=w.value,a;a=i.type===`pause`?i.timeMs:i.type===`play`&&n?.playbackAnchor.value?se.value:le(x(),t);let o=Math.max(0,pe(a));Math.abs(o-x())<=.5||(P=o,R=null,J=performance.now()+200,C(o))})});function ge(){if(l.trimActive.value&&w.value.type!==`trim`)return;he(),r.value===`detections`&&(P=x());let e=-1;function t(){if(_.value||v.value||y.value){fx.debug(`rAF tick → user interacting (drag=${_.value}, fling=${v.value}, wheel=${y.value}), yielding`),R=null,be();return}if(!n){he();return}let a=n.playbackAnchor.value;if(!a){k=null,O.value=0;return}if(a.speed===0){k=requestAnimationFrame(t);return}a.wallStart!==e&&(e=a.wallStart,A=0);let o=Date.now(),u=a.startMs+(performance.now()-a.wallStart)*a.speed,d=Math.floor(u/1e3)*1e3;if(d!==A&&(O.value=u,A=d),w.value.type===`trim`&&w.value.sub===`play`&&u>=l.trimEndMs.value)n.pause(),k=null,z.value=!1,O.value=0,w.value={type:`trim`,sub:`idle`};else if(j&&u>o-ix)n.stop(),he(),_e();else{if(r.value===`detections`&&w.value.type===`play`){let e=s.value;if(!(u<w.value.targetMs)&&!e.some(e=>u>=e.timestamp&&u<=e.endTimeMs)){let t=null;for(let n of e)n.timestamp>u&&(!t||n.timestamp<t.timestamp)&&(t=n);if(t){J=performance.now()+400,P=1/0;let e=t.topPx+c.value;C(e),P=e,w.value={type:`play`,targetMs:t.timestamp},k=null,n.play(t.timestamp*1e3);return}if(e.length){_e();return}}}if(r.value!==`detections`){let e=Math.max(0,(E.value-d)/i.value);e!==R&&(J=performance.now()+100,e>L.value&&(L.value=e),C(e),R=e)}if(r.value===`detections`){let e=Math.max(0,pe(u));e<P?P=e:e=P,J=performance.now()+100,e>L.value&&(L.value=e),C(e),R=e}k=requestAnimationFrame(t)}}let a=n?.playbackAnchor.value,o=a?Math.min(Date.now(),a.startMs+174e4):Date.now();if(E.value=Math.floor(o/1e3)*1e3,k=requestAnimationFrame(t),A=0,r.value!==`detections`&&a){let e=a.startMs+(performance.now()-a.wallStart)*a.speed,t=Math.floor(e/1e3)*1e3,n=Math.max(0,(E.value-t)/i.value);J=performance.now()+200,n>L.value&&(L.value=n),C(n),R=n}}function _e(){fx.debug(`enterLive()`),he(),n?.isActive.value&&n.stop(),ee(),w.value={type:`live`},E.value=Math.floor(Date.now()/1e3)*1e3,re=!0,x()!==0&&(J=performance.now()+200,C(0))}function ve(e){fx.debug(`enterPlay(${e})`),n?(ee(),he(),w.value={type:`play`,targetMs:e},n.play(e*1e3)):fx.debug(`enterPlay → SKIP (no nvr)`)}function ye(){if(fx.debug(`enterPause()`),!n)return;he();let e=ce();w.value={type:`pause`,timeMs:e},n.pause()}function be(){let e=w.value;if(e.type===`trim`){fx.debug(`onScrollStart → SKIP (trim)`);return}if(e.type===`scroll`){fx.debug(`onScrollStart → SKIP (already scroll, resumePlay=${e.resumePlay})`);return}let t=e.type===`play`||e.type===`live`;t&&n?.mode.value===`pause`&&(t=!1),fx.debug(`onScrollStart → mode was ${e.type}, wasPlaying=${t}`),he(),n&&(n.playbackAnchor.value=null),w.value={type:`scroll`,resumePlay:t}}function xe(){if(fx.debug(`onScrollStop called, mode=${w.value.type}, resumePlay=${w.value.type===`scroll`?w.value.resumePlay:`N/A`}`),w.value.type!==`scroll`){fx.debug(`onScrollStop → SKIP (mode is ${w.value.type}, not scroll)`);return}if(Ce(),Se()){fx.debug(`onScrollStop → at live edge, enterLive`),_e();return}let e=ce();if(fx.debug(`onScrollStop → timeMs=${e}, resumePlay=${w.value.type===`scroll`&&w.value.resumePlay}`),ee(),w.value.type===`scroll`&&w.value.resumePlay){if(n?.mode.value===`play`&&n.playbackAnchor.value&&n.playbackAnchor.value.speed>0){fx.debug(`onScrollStop → NVR already playing, just update mode`),w.value={type:`play`,targetMs:e};return}fx.debug(`onScrollStop → enterPlay(${e})`),ve(e)}else fx.debug(`onScrollStop → pause with scrub at ${e}`),Te(e,`commit`),w.value={type:`pause`,timeMs:e}}function Se(){return x()<1&&E.value>=Date.now()-ix}function Ce(){let e=x(),t=S();e<=0?re=!0:e>=t?re=!1:(ne=!0,C(re?t:0),T(()=>{ne=!1}))}I(p,e=>{if(ne||performance.now()<J||Z.value||l.trimActive.value)return;let t=S();e<=0?re=!0:e>=t?re=!1:oe.value||(ne=!0,C(re?t:0),T(()=>{ne=!1}))});function we(e){return!o(e)||(a.value??[]).some(t=>e>=t.startTime&&e<=t.endTime)}function Te(e,t){if(!n||e>Date.now()-ix)return;let r=we(e);u.value>=8?n.fineScrub(e*1e3,r,t):n.scrub(e*1e3,r,t)}function Ee(e){let t=performance.now();t-V>=ox?(V=t,ee(),Te(e,`drag`)):H(e)}function De(e,t){let n=e,r=n-sx,i=(a.value??[]).filter(e=>!t||!e.cameraId||e.cameraId===t);if(i.some(e=>r>=e.startTime&&r<=e.endTime))return r;let o=i.find(e=>n>=e.startTime&&n<=e.endTime);if(o)return Math.max(r,o.startTime);let s;for(let e of i)e.startTime>n&&e.startTime-n<=cx&&(!s||e.startTime<s.startTime)&&(s=e);return s?s.startTime:n}function Oe(e){if(!l.trimActive.value){if(fx.debug(`onDetectionCardClick(card.timestamp=${e.timestamp})`),J=performance.now()+400,he(),n){ee();let t=De(e.timestamp,e.cameraId);w.value={type:`play`,targetMs:t},n.play(t*1e3)}C(e.topPx+c.value)}}function ke(e,t){if(!l.trimActive.value&&(fx.debug(`onEventClick(${e})`),J=performance.now()+400,he(),n)){ee();let r=De(e,t);w.value={type:`play`,targetMs:r},n.play(r*1e3)}}let Ae=null;function je(e,t){Ae=tx(w.value,ce(),Se()),he(),n?.isActive.value&&n.stop(),l.activate(e,t),w.value={type:`trim`,sub:`idle`},n&&n.scrub(e*1e3,we(e))}function Me(){he(),z.value=!1,l.deactivate(),n?.isActive.value&&n.stop();let e=Ae;Ae=null,e?(me(e.timeMs),e.playing?ve(e.timeMs):(Te(e.timeMs),w.value={type:`pause`,timeMs:e.timeMs})):(_e(),C(0))}function Ne(e){if(!n)return;let t=performance.now(),r=we(e);t-U>=100?(U=t,te(),n.scrub(e*1e3,r,`drag`)):G(e,r)}function Pe(){K.value=!0,n&&n.mode.value===`play`&&n.pause()}function Fe(){K.value=!1}function Ie(e,t,n){if(ae.value){T(()=>C(0));return}let r;if(ie.value!=null)r=ie.value;else{let e=x();r=E.value-e*n(t)}ie.value=r;let a=Math.max(0,(E.value-r)/n(e));L.value=a,T(()=>{C(a),setTimeout(()=>{let e=x(),t=r+e*i.value;E.value=Math.floor(t/1e3)*1e3,ie.value=null,L.value=0},100)})}function Le(e,t){if(fx.debug(`handleSegmentChange: ${t} → ${e}, mode=${w.value.type}, isLive=${ae.value}`),e!==`detections`&&t!==`detections`)return;if(J=performance.now()+500,ae.value){e!==`detections`&&(Y.value=null,E.value=Math.floor(Date.now()/1e3)*1e3);return}let r=w.value,a;if(r.type===`play`&&n?.playbackAnchor.value){let e=n.playbackAnchor.value;a=e.speed>0?e.startMs+(performance.now()-e.wallStart)*e.speed:e.startMs}else a=r.type===`pause`?r.timeMs:t===`detections`&&Y.value!=null?Y.value:E.value-x()*i.value;if(r.type===`play`){if(e===`detections`){let e=s.value;if(e.some(e=>a>=e.timestamp&&a<=e.endTimeMs))fx.debug(`handleSegmentChange: inside card, targetMs=${a}`),w.value={type:`play`,targetMs:a};else{let t=a;for(let n of e)n.timestamp>a&&(t===a||n.timestamp<t)&&(t=n.timestamp);fx.debug(`handleSegmentChange: between events, timeMs=${a}, nextTarget=${t} (delta=${((t-a)/1e3).toFixed(1)}s)`),w.value={type:`play`,targetMs:t}}}else w.value={type:`play`,targetMs:a}}if(e===`detections`){if(s.value.length===0)return;let e=Math.max(0,pe(a));P=e,R=null,L.value=e,T(()=>{C(e),setTimeout(()=>{L.value=0},200)})}else R=null,T(()=>{me(a),setTimeout(()=>{let e=x(),t=a+e*i.value;E.value=Math.floor(t/1e3)*1e3,Y.value=null},150)})}if(n){I(n.isPlaybackDriving,(e,t)=>{t&&!e&&(O.value=0)});function e(e,t){E.value=e,C((e-t)/i.value),J=performance.now()+150}function t(t,n=!1){let r=t+de();n&&(r=Math.min(r,Date.now())),e(Math.floor(r/1e3)*1e3,t)}I(p,e=>{if(K.value||r.value===`detections`)return;let n=m.value;if(n<=0)return;let i=se.value;i<=0||(e>=n-100?t(i):e<=100&&E.value<Date.now()-ix&&t(i,!0))}),I(se,t=>{if(t<=0||l.trimActive.value||r.value===`detections`||oe.value)return;let n=Math.floor(t/1e3)*1e3,i=dx(n,E.value,Date.now());i!==null&&e(i,n)});function o(e){if(fx.debug(`anchor watcher → anchor=${JSON.stringify(e?{speed:e.speed,startMs:e.startMs}:null)}, mode=${w.value.type}, rafId=${k}`),e&&e.speed>0){let t=w.value;if(t.type!==`play`&&t.type!==`trim`){let t=e.targetMs??e.startMs;fx.debug(`anchor watcher → external play detected, setting mode=play(target=${t})`),w.value={type:`play`,targetMs:t},J=performance.now()+500}k===null&&ge()}else if(e&&e.speed===0){if(e.targetMs!=null&&(j=(e.targetMs??e.startMs)<=Date.now()-ix),k===null){if(e.targetMs!=null){let t=w.value;t.type!==`play`&&t.type!==`trim`&&(fx.debug(`anchor watcher → external play (loading) detected, setting mode=play(target=${e.targetMs})`),w.value={type:`play`,targetMs:e.targetMs},J=performance.now()+500)}l.trimActive.value||me(e.startMs)}}else he()}I(()=>n.playbackAnchor.value,o),N(()=>o(n.playbackAnchor.value));let s=new Zb;I(()=>n.noData.value,e=>{if(!e){s.reset();return}if(n.mode.value!==`play`)return;let t=n.currentTimestamp.value>0?Math.floor(n.currentTimestamp.value/1e3):ce();s.onGap(t)}),I(()=>n.mode.value,e=>{e!==`play`&&s.reset()}),I(se,e=>{l.trimActive.value||n.noData.value&&n.mode.value===`play`&&s.check(e,a.value,performance.now())&&n.play(e*1e3,void 0,{seamless:!0})}),I(()=>n.mode.value,(e,t)=>{if(l.trimActive.value&&!B){if(e===`play`&&t!==`play`){if(K.value){n.pause();return}B=!0,n.play(l.trimStartMs.value*1e3),z.value=!0,w.value={type:`trim`,sub:`play`},ge(),B=!1}else e!==`play`&&t===`play`&&(z.value=!1,he(),w.value.type===`trim`&&(w.value={type:`trim`,sub:`idle`}))}}),I(l.trimActive,e=>{if(e)he();else{let e=n.playbackAnchor.value;e&&e.speed>0&&ge()}}),I(()=>n.livePausedAt.value,e=>{ae.value&&(E.value=Math.floor((e??Date.now())/1e3)*1e3)}),I(ae,e=>{if(e&&(E.value=Math.floor((n.livePausedAt.value??Date.now())/1e3)*1e3,n.isActive.value)){if(l.trimActive.value||Z.value)return;n.stop()}}),I(se,e=>{n&&(l.trimActive.value||performance.now()<J||(!Z.value||_.value)&&oe.value&&!ae.value&&Ee(e))});let{start:c,stop:u}=W(()=>{oe.value||w.value.type===`scroll`&&(x()===0?(fx.debug(`isScrolling watcher → scrolling STOPPED at live`),ee(),n.isActive.value&&n.stop(),w.value={type:`live`}):(fx.debug(`isScrolling watcher → scrolling STOPPED at non-live`),xe()))},150,{immediate:!1});I(oe,e=>{n&&(l.trimActive.value||(e?(u(),w.value.type!==`scroll`&&(fx.debug(`isScrolling watcher → scrolling STARTED`),be())):w.value.type===`scroll`&&c()))}),g(()=>{he()})}return F(()=>{if(!l.trimActive.value&&!n?.isPlaybackDriving.value&&n?.mode.value!==`pause`&&!oe.value&&(ae.value&&x()===0&&!n?.livePausedAt.value&&(E.value=Math.floor(Date.now()/1e3)*1e3),r.value===`detections`&&!ae.value&&!oe.value&&!Z.value)){let e=s.value,t=x();if(t>0&&e.length>0){let n=e[Math.min(Math.ceil(t/c.value)-1,e.length-1)];C(Math.max(0,t-n.pxPerSecond))}}},1e3,{immediate:!0}),D(()=>{r.value===`detections`&&(Y.value=se.value)}),M(()=>{he()}),{mode:w,currentTimeMs:se,getCurrentTimeMs:ce,nowMs:X,isLive:ae,isScrolling:oe,nvrDrivingScroll:Z,trimPlaying:z,enterLive:_e,enterPlay:ve,enterPause:ye,onScrollStart:be,onScrollStop:xe,onDetectionCardClick:Oe,onEventClick:ke,onTrimActivate:je,onTrimDeactivate:Me,onTrimScrub:Ne,onTrimDragStart:Pe,onTrimDragEnd:Fe,doScrub:Te,scrollToTime:me,handleZoomChange:Ie,handleSegmentChange:Le,pendingScrollPx:L,timeToScrollPx:ue,timeToDetectionScrollPx:pe}}var mx=new Set(Bn),hx=Bn.filter(e=>e!==`motion`&&e!==`audio`),gx=new Set([`motion`,`other_sound`,`line-crossing`]),_x=[`motion`,`other_sound`],vx=function(e){return e[e.HEIGHT=8]=`HEIGHT`,e[e.WIDTH=150]=`WIDTH`,e}({}),yx=Symbol(`TimelineFilter`);function bx(){return w(yx,void 0)??{hiddenTypes:e([..._x]),scope:e(`camera`),onlyMatches:e(!0)}}var xx=20,Sx=8,Cx={error:3,warning:2,success:1,info:0};function wx(e){return e.type===`camera_degraded`?`degraded`:e.severity}var Tx=4;function Ex(e,t,n,r,i){return{tint:!0,wide:!r,stripe:e!==`degraded`&&(!i||!t&&n<=Tx)}}function Dx(e,t,n){let r=e.sizePx-t;if(r<=0)return 0;let i=Math.max(e.startPx,n.startPx);return Math.min(e.startPx+e.sizePx,n.startPx+n.sizePx)<=i?0:Math.min(Math.max(i-e.startPx,0),r)}function Ox(e){let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}function kx(e,t){let n=e.duration??0;return n<0?Math.max(e.timestamp,t):n?e.timestamp+n:e.timestamp}function Ax(e,t){let n=t.labelMinPx??xx,r=t.clusterGapPx??Sx,i=(n+4)*t.timeMsPerPx,a=e.map(e=>{let r=kx(e,t.nowMs),i=t.toPx(e.timestamp),a=t.toPx(r);return{evt:e,endMs:r,topPx:i,endPx:a,labelBottomPx:a+Math.max(i-a,n)}}).sort((e,t)=>e.endPx-t.endPx),o=[];for(let e of a){let t=o[o.length-1];t&&e.endPx-t.labelBottomPx<=r?(t.members.push(e),t.topPx=Math.max(t.topPx,e.topPx),t.endPx=Math.min(t.endPx,e.endPx),t.labelBottomPx=Math.max(t.labelBottomPx,e.labelBottomPx)):o.push({members:[e],topPx:e.topPx,endPx:e.endPx,labelBottomPx:e.labelBottomPx})}let s=1/0;return o.map(e=>{let r=e.members,a=r.reduce((e,t)=>{let n=Cx[e.evt.severity]??0,r=Cx[t.evt.severity]??0;return r>n||r===n&&t.evt.timestamp>e.evt.timestamp?t:e},r[0]),o=e.topPx-e.endPx,c=Math.max(o,2),l=!1,u=a.evt.message;if(r.length>1){c=Math.max(o,n),l=!0;let e=Math.max(...r.map(e=>e.endMs))-Math.min(...r.map(e=>e.evt.timestamp)),i=t.cameraName?.(a.evt.cameraId);u=i?`${i} disrupted for ${Ox(e)}`:`Disrupted for ${Ox(e)}`,s=Math.min(...r.map(e=>e.evt.timestamp))}else o>=n?(l=!0,s=a.evt.timestamp):s-a.evt.timestamp>=i&&(c=n,l=!0,s=a.evt.timestamp);let d=o>0?c/o:0,f=t.multiCamera??!1,p=t.occupied??(()=>!1),m=t.recorded??(()=>!1),h=(t,n,r)=>{let i=e.endPx+t,a=i+n;return{offsetPx:t,sizePx:n,palette:r,...Ex(r,f,n,p(i,a),m(i,a))}},g=d?r.map(t=>h((t.endPx-e.endPx)*d,Math.max((t.topPx-t.endPx)*d,1),wx(t.evt))).sort((e,t)=>e.offsetPx-t.offsetPx):[h(0,c,wx(a.evt))],_=[...r].sort((e,t)=>e.evt.timestamp-t.evt.timestamp).map(e=>e.evt.message).join(` · `);return{...a.evt,message:u,tooltip:_,topPx:e.topPx,endPx:e.endPx,heightPx:c,showLabel:l,segments:g}})}var jx={damping:.95,velocityThreshold:.3,velocityStop:.05,overscrollDamping:.5},Mx=1e3/60,Nx=100,Px=.1,Fx=200,Ix=8;function Lx(e){let{minOffset:t,maxOffset:n,constants:r}=e,{offsetPx:i,velocity:a}=e;return i+=a,i<t?(i=t-(t-i)*r.overscrollDamping,a*=.5):i>n&&(i=n+(i-n)*r.overscrollDamping,a*=.5),a*=r.damping,Math.abs(a)<r.velocityStop?{offsetPx:zx(i,t,n),velocity:0,done:!0}:{offsetPx:i,velocity:a,done:!1}}function Rx(e,t){if(e.length<2)return 0;let n=e[0],r=e[e.length-1],i=r.t-n.t;if(i<=0)return 0;let a=(n.pos-r.pos)/i;return Math.abs(a)<t?0:a*Mx}function zx(e,t,n){return Math.max(t,Math.min(n,e))}function Bx(e,t,n){let r=1-.44999999999999996**(n/Mx),i=e+(t-e)*r;return Math.abs(t-i)<Px?t:i}function Vx(t){let{element:n,writeFn:r,readFn:i,maxOffsetPx:a}=t,o={...jx,...t.constants},s=e(!1),c=e(!1),l=e(!1),u=0,d=[],f=null,p=0,m=null,h=null,g=null,_=null,v=null,y=0,b=null;function x(){v!==null&&(cancelAnimationFrame(v),v=null),_=null,b=null,y=0}function S(e){if(v=null,!s.value||_===null)return;let t=i();b!==null&&Math.abs(t-b)>.5&&(_=zx(_+t-b,E(),a.value));let n=y>0?Math.min(e-y,100):Mx;y=e;let o=Bx(t,_,n);r(o),b=o,v=requestAnimationFrame(S)}let{start:C,stop:w}=W(()=>{l.value=!1,!s.value&&!c.value&&t.onInteractionEnd&&t.onInteractionEnd()},Fx,{immediate:!1});function T(){return(t.orientation?.value??`vertical`)===`vertical`?`y`:`x`}function E(){return t.minOffsetPx?.value??0}function O(e){return T()===`y`?e.clientY:-e.clientX}function k(){f!==null&&(cancelAnimationFrame(f),f=null);let e=c.value;c.value=!1,p=0,e&&t.onInteractionEnd&&!s.value&&t.onInteractionEnd()}function A(e){if(e.pointerType===`mouse`&&e.button!==0)return;let r=n.value;if(!r)return;let i=t.bottomIgnorePx?.value??0;if(i>0&&e.pointerType!==`mouse`&&window.innerHeight-e.clientY<=i)return;let a=s.value||c.value;f!==null&&(cancelAnimationFrame(f),f=null),c.value=!1,p=0,m=e.pointerId,x(),h=a?null:{x:e.clientX,y:e.clientY},u=O(e),d=[{pos:u,t:e.timeStamp}],r.setPointerCapture(e.pointerId),t.crossSwipe?.value&&!s.value?(g={x:e.clientX,y:e.clientY},a&&t.onInteractionEnd?.()):(s.value=!0,!a&&t.onInteractionStart&&t.onInteractionStart())}function j(e){let t=n.value;t&&t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),m=null}function M(e){if(e.pointerId!==m)return;if(g){let n=pg(e.clientX-g.x,e.clientY-g.y);if(n===`pending`)return;if(g=null,n!==`drag`){j(e),h=null,d=[],t.onCrossSwipe?.(n);return}s.value=!0,t.onInteractionStart?.()}if(!s.value)return;let n=O(e),r=u-n;for(_===null&&(_=i(),b=_),_=zx(_+r,E(),a.value),v===null&&(v=requestAnimationFrame(S)),u=n,d.push({pos:n,t:e.timeStamp});d.length>1&&e.timeStamp-d[0].t>Nx;)d.shift()}function N(e){if(e.pointerId!==m)return;if(g){g=null,j(e);let n=h;h=null,d=[],n&&Math.hypot(e.clientX-n.x,e.clientY-n.y)<=Ix&&t.onTap?.(e);return}if(!s.value)return;j(e),s.value=!1,_!==null&&r(zx(_,E(),a.value)),x();let n=h;if(h=null,n&&Math.hypot(e.clientX-n.x,e.clientY-n.y)<=Ix){d=[],t.onTap?.(e),t.onInteractionEnd?.();return}let i=Rx(d,o.velocityThreshold);d=[],i===0?t.onInteractionEnd&&t.onInteractionEnd():F(i)}function P(e){h=null,N(e)}function F(e){p=e,c.value=!0;let n=E(),s=t.flingFloorPx?.value??n,l=i()>=s?s:n;function u(){let e=Lx({offsetPx:i(),velocity:p,minOffset:l,maxOffset:a.value,constants:o});r(e.offsetPx),p=e.velocity,e.done?(f=null,c.value=!1,t.onInteractionEnd&&t.onInteractionEnd()):f=requestAnimationFrame(u)}f=requestAnimationFrame(u)}function I(e){e.preventDefault();let n=s.value||c.value||l.value;f!==null&&(cancelAnimationFrame(f),f=null),c.value=!1,p=0;let o=T()===`y`?e.deltaY:-e.deltaX;r(zx(i()+o,E(),a.value)),l.value=!0,C(),!n&&t.onInteractionStart&&t.onInteractionStart()}return D(e=>{let t=n.value;t&&(t.addEventListener(`pointerdown`,A),t.addEventListener(`pointermove`,M),t.addEventListener(`pointerup`,N),t.addEventListener(`pointercancel`,P),t.addEventListener(`wheel`,I,{passive:!1}),e(()=>{t.removeEventListener(`pointerdown`,A),t.removeEventListener(`pointermove`,M),t.removeEventListener(`pointerup`,N),t.removeEventListener(`pointercancel`,P),t.removeEventListener(`wheel`,I),k(),x(),g=null,w(),l.value=!1}))}),{dragActive:V(s),flingActive:V(c),wheelActive:V(l),cancelFling:k}}function Hx(e,t=`ddd., D. MMM. YY`){return typeof e==`number`&&(e=new Date(e)),J(e,t).value}function Ux(e){e||=new Date;let t=new Date(e);return t.setMilliseconds(0),t}function Wx(e){e||=new Date;let t=new Date(e);return t.setSeconds(0,0),t.setMilliseconds(0),t}function Gx(e=``){return e.startsWith(`data:`)||e.startsWith(`blob:`)||e.startsWith(`http:`)||e.startsWith(`https:`)?e:e||`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFIGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjMtMDktMDlUMTc6NTE6NDIrMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIzLTExLTA1VDE5OjQ1OjU0KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTExLTA1VDE5OjQ1OjU0KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4MjQxZmI0LTRhZDktNDA5OC1hMTU0LTc4OWFmMjQzNjkxYiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0ODI0MWZiNC00YWQ5LTQwOTgtYTE1NC03ODlhZjI0MzY5MWIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ODI0MWZiNC00YWQ5LTQwOTgtYTE1NC03ODlhZjI0MzY5MWIiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4MjQxZmI0LTRhZDktNDA5OC1hMTU0LTc4OWFmMjQzNjkxYiIgc3RFdnQ6d2hlbj0iMjAyMy0wOS0wOVQxNzo1MTo0MiswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+a0dRsAAAHudJREFUeJzt3Xt8VOWdP/DP95zJJJPrJJAEwjVck3ARE1AIoGDrBUGr7oJurfXS1m3tb912t/vb9vfrrnnVuvZi91e7trqt68+q2Cq9uKJopYoKSUREEAnhTqoQLiGQG7nMzDnf/SMEA84kmeTMPCfzfN958XpBzpnzfOeQ55PnnDnnPMTMEELoyVBdgBBCHQkAITQmASCExiQAhNCYBIAQGpMAEEJjEgBCaEwCQAiNSQAIoTEJACE0JgEghMYkAITQmASAEBqTABBCYxIAQmhMAkAIjUkACKExCQAhNCYBIITGJACE0JgEgBAakwAQQmMSAEJoTAJACI1JAAihMQkAITQmASCExiQAhNCYBIAQGpMAEEJjEgBCaEwCQAiNSQAIoTEJACE0JgEghMYkAITQmASAEBqTABBCYxIAQmhMAkAIjUkACKExCQAhNCYBIITGJACE0JgEgBAakwAQQmMe1QW4ARGpLkFEaePGjdmGkTyBmTOIkGSb3Gza9rHy8vIjTmyfmZ3YjOuRLm+0LxIA7ldVVZVjk7nKYL6SgYUA8iOs2grwu0zGG2SHnlu4cOGBwbSnS7+QAIAEgJu9/c47JaaNbwO0CuDkKF/OILwJGz9YuHD+a1G9UJN+IQEACQA32rBhm9+b0vUAGF+FA+eqGPgzm/T1xZdeundA62vSLyQAIAHgNpWV784D2b8FMMnhTXcS8O3y8vkP97eiLv1CAgASAG5SVbX5RgY/CyAlZo0QflY+/9JvEpEdaRVd+oV8DChcY1N19a0M/h2i7PyWZUXXEOPeyurNv4juRYlJRgCQEYAbVFdXf9ZmWgcgqa/1gsEgdtXUYNu293H8+DGcPn0azIyMjAyMHDkSJTNmYs6ci5GZmdlvmwT8a3n5/PvDLdOlX0gAQAJAtU2bNhWQ4dkGIC/SOsyM97a8i5deegnt7Wf63J5hGFi4aDGuvvoaJCf3+cGBzQauWTR//vpw7elAAgASAKpVVr3zAoDPRVre0dGBJ598AgcPdH+k3xUIoK29Ax2dXbAsG8wM0zSRnJSEtDQf0nzdRxBZfj/uvPNLGDNmTOTGGR8HAh0lS5cubTvv25r0CzkHIJSqqqq6Bn10/paWFjz26M9x8MABWJaFE42nMeuii/GThx7CzJkzz3VUy7LQ3tmJhsbTOHK8AV2BAJqbmvDYoz/HgQN9XAtEGJec7Ps/Tr+v4UICQChlw/hupGWWZeHpp55EfX09gqEQGptb8YMH/w3///FfYvmya/Ctb34j7OuCwRCONTSirb0DnZ2deOK/foWGhhN91IB7N7z33sghv5lhSAJAKFNZ+e486r6sN6yX1r6Iuro6hEIWTp5uwX8++nP81Y03nFs+qbAw4raZgZOnmnCmvQOBQACrn3k64qcFBKQlBaw7B/9Ohi8JAKEMk317pGXHjh1FZeUmMDNONbfg5//xU1yxZMl562zZurXfNhpPNyMYDOHIkSOorq46933DMDB+/DgUFU1Dbu5IEPi2wb+T4UsCQChDwPJIy9a/9hqYGa1n2vHlL38Jy66++rzlJxoa8P0HHuy3DftsgADAG6+/jkAgAADIzR2JsWMKkJOdjalTJiM5OXlWZWXlhKG8n+FIAkAosWnTe+MBTAy37MyZM/jwwx1gZhimB/d+/Z4Llrfjq/f8LzScPDmgtjo6uxAIBNHa2oJdu2oAdJ9c7AmD5uZmBAIBEHkuH/w7Gp4kAIQioZmRluyu3QVmRmdXAEVFRfD5fOeWnWxsxM23fgGb390SVWtt7R0AgNpduwAAHR2d2FlTi7379mPP3v1gZjDbMwbzToYzeSCIUIJMngwOf/3F/gP7AQDtHZ3Y/O4W/PDHD2HMmDHYu3cf1vz+D2hpaYm6vfbOTuQgE/v37wMAZGVloqS4CESEQCCIbds/gG1ZUwb/joYnCQChBDH5I11q09zUDAAIhkIIBoP42SNDv2w/FOr+BKCtrQ2WZcHj8Zy7AMz0mDAMA5Zl+Yfc0DAjASCUYKZkUPgIaG1tBQDYdsSb9Qal52PAtrY2mKaJ2to98KX60NTUhGAwCAC+PjeQgOQcgFCCDbRHWpaU1H0/kNOXaPdsz+v1wuv1YsyY0RhTMBqjRo06WxTa+nh5QpIRwBBswBLPkfzWYmK6GITpIM4Bsx9EAQIabOBDtrjytob396uu1W0M5pORDgEyMjMAAKZpAgg60h4RwTAMeDwe+Hw+5ORkn7tjcFR+Hurr69HZ2TWwjxUSiARAlBig3+SWXs1EN9dT6/UE5JwbyjIAEMDdfyUAZBBW55ftBtFzlsFPfLF+60fqqncP28Y+ijD+HJU/CrtqapCS7EV7R6cj7aUke7u3ffa3/cmTjcjKzIQv1YfGxlPo7OwCmAf0uLBEIocAUXgmv/TmZ/PLPmCDXgHhDgA5A3xpEZjvMy0ceCa/7LlnC8qKYljmsGAY9gcAwh7kl8zo/jQuNSX6hwLl5ebit6ufxssvvoCS4uJz3089e4dgSUn3tkOhEPbs3Yft23fg448PAwCIjO1RNzjMSQAMwOr8eZNW55euJ9BvAcwawqY8BKxiCx+uzpv7yLMFZVregAIA5eXlpwDsCLds3LjxyMnJgcdjIj01uvNyX7ztVixetBBzLpqNf/jmvQAAj9m9HSLC7IvmRHqpZVmBt6JqLAFIAPRjdV7p1YC9FaDPOrhZD4i/zhb2PTuqVMubUAAARC+E+7ZhGLjyqu5Lf/1ZGTCMgf+Y7t33yemWfXu7/57tzwQRobS0DPn5kaYT4DcXL158esANJQg5B9CH1flzbwH4GQBmjJrwM9MTq/PLygO+jL+7s+5NZw54h4mQgac8Fv4FYfZvaWkZqqoq8fFHHyFvRDaONTQOaJsvrn0Jp06dQlZmJl59bT2yMtOR5ktBSkoKrlm2LOLrCMZTg34jw5g8EQjhP256Nm/ulUz8Mvp5Rp2DXms7jhV/i63OnPYeJqqqNj/H4FXhlrW2tuDhh3+K5qYmdHYF0NB4GlYU1wb4M9Phz8wAEeHOu76E4uKS8CsyPvb7M6bMmDEjcO5bmvQLOQQI49mCspE28VOIX+cHgKsy8vmxOLbnCrZN30OEz/oyMjJx111fQlZWFlKSvSjIzz13LN+XlGQvRueNgD8zA6ZpYtWqWyJ3fgBs8Pd6d36dyAgAnx4BrB5V+hSY1Nwfzrjn1hNbH1XStiJVVe/8iIF/irS8tbUFTz31a9QdOgTg7OO/OjrRFQgiZNlgtrufCehNgi8lGd6zFxJlZWXh1i/chsLCPuYXIbxTPv/ShRfOEaBLv5AAwPkB8JvcuRfbBr8HdaOjMybjoltObB3UpJbD0bp165Kz/DlVAEojrcPM+HDHDrz66it9Pt4LAHw+Hy6/fCkWX3YZvF5vX6u2sW3OXbRo3p5w7elAAgDnB8Dq/NL1Dp/xjxoDz3/h+NabVdYQb5WVlZNBZhX6eDR4j6NH67Fz506cbGhAc3MzbNtCRkYmsrOzMW16ESZPnnz2KsI+WUx806IFC14Mt1CXfiEBgE8CYHXunKkwzD3ovohPJctkTNdpFAAA1dXVpTbTegz8AqvBsgn4Snn5/CciraBLv5CTgL2Z5k1Q3/kBwLSBW1UXEW8LFix4n23jMjA+jmEznQS6pa/OrxMJgF4YtERxCb0pPQxRZdGiS2oCyZ5SENbFYPN7bIvml5dfuiYG2x6WJAB6IeZLVdfQgwnzKjT9/1k6d+7JhQvmLyfQrQCOOLDJdhBVBLo65ixefOkHDmwvYcg5AHSfA/j1iIvGeDyew6pr6c0gq/Bvjm2vU12HSuvWrUvOzB5xJ4G/CsZFUb78CJietKyuhy+77LKGaF6oS7+QS4HPMk2P6x4IadvGdAB1qutQ6dprr+0C8BiAxyort8yEEbqKmBYyUAJgAj55ik8QQD2APQS8w2y8Xl4+b9OFn++L80kA9DB4aqSHVCpDNB3An1SX4RYLF87bCWAngH/v+d7zzz9v5ubmJi1dulSr+yicIgFwFjGNU13DpzBNU12C261atcoCEH7OL9EvLU8yhcOgPuaQVsRg7R5TLeJLAuAsYoxXXcOnMApUlyASmxwCnMORnhShkvtGJS5wbPZVaZ0B72wmnsPAGCIjl5ibGXSUyW6wGdun1L68U3Wdw4F8DIjujwFX55edAJCrupYLJSV5U1cdru5QXYdqH02/vsDqnk34RhDK0O/olY4CvJ4ZvyvcPfdlQkVUnwbo0i8kAACAiJ7NLwvAlSMiY/Ktx7ccVF2FKvtnfm6caYe+BzZuBXiwz2eoBeHH7eRbPaNmzYDu+9elX8g5AACrcy7NgCs7P0AccuOhSVwcKrnub03L2g2mO4bQ+QGgGIwnUu2ODw8VrVjiUHkJQQIAgJ3EI1TXEBFTluoS4q1mxkrvwaIVz4D5MQCpDm56Gghv1BWvuJ+xMlbPeRxWJAAAmEYo1refDhobhl91DfH0XllZUqrd8QJRzO6GJAa+W1fS8ZSEgAQAAIAsw7UBQAytRgAj2gt+BSDy43udwvh8XUn74zFvx+UkAADAsLNVlxCJbegTAHUly+8C+Pa4Nch0x6Hi5V+LW3suJAEAgG1y7TkAsm0tpqw+XHTjCGb6Ufxbpofqpl9XGP923UECAAAI7g0AomTVNcRDwAh9B1Dy/5DKBv97/6slJgkAACC49hCAwdHPkDnM1Jddl0rMKqdIu+EvRcvLFLavjAQAANgxfwjloDEn/gig64y9ErF/EGifmIx/Vtm+KhIAAIjce6LNoLjOTqQEgVaorgHgGw/OvF67i64kAAAwOXqxiaMYlNDXpG5YssTDpP4BqAx4YFth5yhMZBIAAMh2bwAkuglHM0sA+FXXAQDE9HnVNcSbBADcPQJIdIZpzVVdQy+XHJpzg191EfEkAQCAnb3eXETDNuaoLqEXg7qCC1UXEU8SAABIAkAZNthVzz1kGItV1xBPEgDdJABUYbjrKjzmeapLiCcJgG59ziEtYoNRYQCYqLqO8xAmqy4hniQAurlsQgA97J+yeQTcF75ja2asdFtNMSMB0M21+4FcN1uJc7xeT57qGsIwU+yOCaqLiBfX/uDHmWv3A7u4tqGybYxUXUM4puHCSWJiJGF/uKLk4v1ALq5taNiw3TgCADMyVNcQLwn7wxUl1+4HYnZtbUNlMLkzAGBLAAh3sIkS9rl1TO6bhwEASEYA2gmpLiASQuKOAEjNA0AGIlN1AfGSsD9cURrQZBFqJG4AgMmvuoRwCJSuuoZ4Sdwfrui4NgA4gU8CAuxXXUE4TEjYw64LJfAPVxTYvQFgcEL/H/lVFxAWJ3Lons+V02HFGxO7NgBscu/5CQf4VRcQTiKfd7mQBAAAGxxw73N3yFJdQaywS0+22RodAkgAACDmTtf2f9hRTWs9zLjyaczEFFRdQ7xIAACwmFvdesE9Awk5AtiwZIkHx+HKs+0ElgDQCze7dwSQmAFQeDw5l116F6YN954TcpoEAABmblFdQ0ScmMejtpGURy49uCEXfyzsNAkAAAC3uHUEQAk6LwDbnEvuHAAAQJfqAuJFAgAAs4sPAYgS8uEUJlE+u3WnEzWrLiFeJAAAsItHAMyckAHATHmAO/c6MZpU1xAvEgAAijPyGmtajjPceVLKlR+VDRlxnkv7P2Bzk+oS4kWbK576Mio1I2O0L30Lw41f7rxldsgYrnwWAADAMOQQQCs2d07PyE090t7iwlEAu/KxWUPFwASX7ehzyLKbVNcQLzICAGAY3O4hY2aBL3Oz6t/3Yb5GPI/E+yiQgEmqa4ikLSn1hOoa4kUCAAAznQGA4qy8EWBYzAwX/TFOjyx273B5EDYsWeIhwKUP3qTmGTVr2lRXES8SAADsswFggqZOTPNXM2y46Y8dDBSr3kdOGn8sdRK79fCT+KjqEuJJAgCACW7s+fvUzLwJRAgoH/j3+rINu0Tl/nEaGXSR6hoiYcYR1TXEkwQAALL5eM/fDWDclPTcahcM/c/9sW0k1AjAYGOW6hoiMYB61TXEkwQAgKQM41jvf09KH1FkEJ1R/Zu/5wvgGYp2TUwws3tHAIAcAuimYOvadgDnbggyQPmz/QXvqv7N3+vP7IoE+b86ewfgfNV1RER0UHUJ8ZQQP1QOOW8UMNbnn5dieupV//Y/+5Wd5Z84W9WOcdLBomtngtx7ERBZ9l7VNcSTBMA5dF4AMJB+Sc7EAy747Q9mBtnWUlV7xklk0BLVNfTFgLlHdQ3xJAFwzqc//sny+hbmeNN2Kf/9DwYzX69irziNmJaprqEPreP2vCjnAHTETAfCfNtYMKIQcMfFQYt/nJ7v2qHzQByac4MfwGdU19GHveTWWxRjRALgLMOwwwUAPKZZUpQ1apP6y4HYBMxV8d4vTqJA8CYA7r29maDV8B+QADjHBvZFWlaUOWq2lzzHVY8CwHxPPPeJ05jpi6pr6AszalXXEG8SAD0Ms6+zv9mX503dq/w8ALj4R+mjLo/bPnHQX4qWlwFwde0G0VbVNcSbBMBZk3a+eByMiHeBZXp9iyel576jehTAbN8fz/3iFJvoW6pr6E8wEHpPdQ3xJgHQCxF29LW8NGdCodcwG5WOARiLH0zPvyJe+8QJB4qunUXAX6uuo29cN3X/Kw2qq4g3CYBe7H4CgID8z4wu3qV6FADL/kUFJqbEa78MBQNkkPEz197994l3VRegggRAL2RznwEAABke3+Ji/+iNSkcB4One1LbvxGOfDFVdyYo7ACxRXEa/GKTd8B+QADifbWweyGoX+cfPy0tOVzsSsPn/Ppicc02sd8lQHCi6dhoYP1Vdx0AQY4vqGlSQAOhl4t61ewCcHsCqKUtHl2R4TY/K8wGmRXjm/pSswljvl8E4NvuqNJOM38OlMwBfoMvnDUgA6I4ABtOARgEGjHErxsz5yAA6FI4ERoCNVyrS0111hSCjwugIep9mYKbqWgaEqGrUjtfOqC5DBQmAT+F3Brpmipl08Q0T5u4yCF0KrxGcbgTNVyvg98dwp0Slrui9/wfgRtV1DBjbf1JdgioSABcg5rejWd9neMtuGDd3G4G6FI4ELiavvanClz0+VvtloA4VrbgPhHtV1xENgrFedQ2qSABc4IwntRJAVMPBVE/y/BvGz91GhKDCcwIzYIWqK5IyL4nRrunXoZIVFSBUqGp/MAg4OaG2bLvqOlSRALjAjJo1AQBRjQIAIN2TMn/lxPk7UjzmKYUhUACyN1V407+7Mo5zCfwwdWTB3unLHgXjvni16RQmvEaocOlE5bEnARAGMf48mNelGN6ylePLW3O8GftUHQ7YzEk28/3FSWmb/8WTHtNr778FpD3oy/6n68aU/ibJML8ay7ZixubXVJegEjFrdftzWETnT1K1v3j5TBP04WC3x0Bb1YndO/e01Kt/9h3jRRv84wdCHZuc2mSFzzfetujunKTMq1aMK80yyZjm1LbjLJDESQVjd/+x8cIFuvQLCQB8OgAA4FDxdfsBnjyEzdpHOk6//ef6Dy4J2VbqELbjlPdBeJKDeOEBdHwc7YsrgJSAmfoZk/grDCyfk124sXTkpHkEpMeg1vggrC3c9VLYJy3p0i8kABAxAH4A8D8Pdds27I/fPFrTcLDteOlQt+UQBngbs1FN4C0wjJqkIOpr0H58DWAB3Z29Mzl5rMfCJBs0j0DzAb4CQGpqUvKRz4295FCaJ3mR2rfhBP6bwtqXfxt2iSb9QgIA4QPgwIzr5hk2O3aDSFNX+5a1h7dM6bQC2U5tM56IKDBvxOSNc3IK5zAwQnU9DjjjSwrkR7oASJd+IQGA8AHAANUVrzgEYIJT7TDQdKitYcvG4zXzuqyA36ntxhIBXJw1rnpB3rQ8k8wpqutxCjNWT9r90hciL9ejX7j9Fk1lCOCDRL8j5n90cJv+Sem5VxamXd5c13b8zY3Hay/qcOmIwCAKFvvHbZmfO83vIbNcdT1OM4h/o7oGN5ARAMKPAACgbubyYrZoV6zaZaD1WPup96tP7h59oqPFFWfSM7ypjeUjptVOyBg1zXDxBB5D1NCYenTM3K1bg5FW0KVfSAAgcgAAQF3xio0MxPyEV9AK7dp35ljD9pOHJjUH2sbFur3efGZy04zssR+W+Mclp3l8ZYjjRURq0A8La9d+u681dOkXcgjQD2Z+HEQxD4Ak01NSkjkWJZljYdnWnvrO00f3NB9O/0vriWlddsjRW2oNMgKjfNm1M7LHNY1PHZmXbHqnA1jsZBsuZjGsR1UX4RYyAkDfI4D6sutSu9r5CAB/3Ao6n23Z9qGmYNuxkx2twWNdTSmNHS3+tmB7dluoK5fBEa/m9JnelrQk36lsb9qp0anZLfkp2d6s5NTcZMM7EeCkOL4HF+H/Lqx9+YZ+19KkX0gAoO8AAIBDxSt+CuDv41JMdCwArczcbhNbPd80mDxENAJunoRDFaYlhbvXvtXvapr0CwkA9B8A+2YvG+sJmgcgHWqYo82FtWsHdHm2Lv1CbgYagKk7XjkM4mdV1yGGxmZ8X3UNbiMBMFAh44cAtL1tNAFsn7R77cuqi3AbCYABKty7djdAL6iuQwySYX9Ht5l/B0ICIAoW7PsICKmuQ0TtrcKada+qLsKNJACiMKX25Z0M+pXqOkRUGKA+L/rRmVwIFCWPEfiuxd6bAeSorkUMAOGZiTVrB/ykZ93Ix4Do/2PAC9XNuP4fAPwkNtUIB7UaIRSN3/NifbQv1KVfyAhgEM4g+ZF0CtwNYLrqWkQfmP51/J4Xou78OpERAKIfAQDA4Vk3LrDBG5HwN84MW1tPePMWzN36y4h3/PVFl34hAYDBBQAAfDT7pn8DeFjM0quZLiajbMIHv68Z7AZ06RdyCDAEJ5JG3pcfPHklCHNV1yI+QeDvjB1C59eJjAAw+BEAAHw8a+UsMu0tAJKdq0gMFgOvjd0+a9lQJ/vQpV9IAGBoAQAAhy9e+TWAf+FQOWLwDpug0tHb1jQMdUO69AsJAAw9AADgSNmqn4H57xwoRwxOiAhLC7aucWQCFF36hZwDcEjBJP7mkQOYQkTLVNeiJ/r7gq3POTb7kS5kBABnRgAA0LDw+oxgl68SwCxHNigGhvCTgi3PfcvJTerSLyQA4FwAAMDR+bdMhGVvBGisYxsVffnDqC3FK52e4VeXfiEBAGcDAACOl9082TZpA4C4Pt1XQ6+HTOu6cdVrOpzesC79QgIAzgcAANSXf36CYdkbACp0fOMCAFcaPuuavDfXtMVk65r0CwkAxCYAAODYJbcVkmFtgIPTiwkAQCWlBGPW+QEJAK3EKgCA7nMCBpnrASTMvHoqMdM6tNOqUTueDjupp3Pt6NEvJAAQ2wAAgOYFK3MClPw8A5+JaUOJjvHr3EDqV2iQN/hE1ZQm/UICALEPAADgJUs8DYGxDxPRPTFvLPEwgIqRlU/fH6/n+unSLyQAEJ8A6NGw6Pa7AX4EgKYz80SthYA7Rm566o/xbFSXfiEBgPgGAAA0LLpjCRE/DUCuFejbNovNv87f9MTBeDesS7+QAED8AwAATn327iwOBH8E8N1xb9z9bIAeyUlL/9/0yn90qShAl34hAQA1AdDj1GV3XMuExwEarawIF2HggMnGXdlv/9fbSuvQpF9IAEBtAABA61W35QW6PI8S0U1KC1GrgwkPtXe2PhiLK/uipUu/kACA+gDo0XTFl6+wwQ+BcbHqWuKK+CUjZNzrf/vxQ6pL6aFLv5AAgHsCAAC4osJoevvw7QC+D6BAdT0x9gYbxn05f/6l627j1aVfSADAXQHQ49hVt6X5rJR/ZMI3wMhWXY+DmIF1JowHMl//z2rVxUSiS7+QAIA7A6DH2SC4nYm+AWCq6nqGIAjQH5nsB7PX/2q76mL6o0u/kACAuwOgB1dUGK1VR5eD8Q0GlgJwf9Hd6pjp8STTfiLtT788qrqYgdKlX0gAYHgEQG+nPnv3eI9BqwC6GXDlI8lPAPijwbwmbeHoDVTh7MM64kGXfiEBgOEXAL01X33PFAKvArAMwCUAvIpKqWXgDYP5D+lZjW/RmjWWojocoUu/kADA8A6A3vi6u1PbQsZ82OblAC8BYR4An/MtUQDgPQA2guktCnneSn/94ePOt6OOLv1CAgCJEwAX4ooKo7Pq5ATLY08HuITZmE7g6QDy0D29+QiEfzK0DaARwEkADQDqwKg1QHtCBmoy2nMP0psVobi9EQV06RcSAEjcABgIBqh5+df8Pf/OmpffPByP2Z2mS7+QABBCY4bqAoQQ6kgACKExCQAhNCYBIITGJACE0JgEgBAakwAQQmMSAEJoTAJACI1JAAihMQkAITQmASCExiQAhNCYBIAQGpMAEEJjEgBCaEwCQAiNSQAIoTEJACE0JgEghMYkAITQmASAEBqTABBCYxIAQmhMAkAIjUkACKExCQAhNCYBIITGJACE0JgEgBAakwAQQmMSAEJoTAJACI1JAAihMQkAITQmASCExiQAhNCYBIAQGpMAEEJjEgBCaEwCQAiNSQAIoTEJACE0JgEghMYkAITQmASAEBqTABBCYxIAQmjsfwBz/E2JBPfGuwAAAABJRU5ErkJggg==`}var Kx={key:0,class:`absolute h-1/2 max-h-[30px] aspect-square rounded-full animate-spin`,style:{border:`3px solid color-mix(in srgb, var(--text-color) 25%, transparent)`,"border-top-color":`var(--p-primary-color)`,"animation-duration":`0.9s`}},qx=[`src`,`alt`,`width`,`height`],Jx=[`src`,`alt`,`width`,`height`],Yx=ae({__name:`CuiImage`,props:{src:{},alt:{default:`Image`},width:{default:`100%`},height:{default:`100%`},imageStyle:{type:[Boolean,null,String,Object,Array]},imageClass:{type:[Boolean,null,String,Object,Array]},imageContainerClass:{type:[Boolean,null,String,Object,Array]},imageContainerStyle:{type:[Boolean,null,String,Object,Array]}},setup(t){let{src:n,width:r,height:i,imageStyle:a,imageClass:o,imageContainerClass:c,imageContainerStyle:l}=s(t),u=e(!1),d=e(!1),p=e(!1),m,g=h(()=>!!n.value&&!u.value&&!d.value&&p.value),v=h(()=>n.value?Gx(n.value):void 0),b=h(()=>Gx());function x(){u.value=!0,d.value=!1,clearTimeout(m),p.value=!1}function S(){u.value=!1,d.value=!0,clearTimeout(m),p.value=!1}function w(e){return e?typeof e==`number`?`${e}px`:e:`auto`}function T(e){if(!e)return!1;let t=new Image;return t.src=e,t.complete&&t.naturalWidth>0}return I(v,e=>{d.value=!1,clearTimeout(m),p.value=!1,u.value=T(e),e&&!u.value&&(m=setTimeout(()=>{p.value=!0},150))},{immediate:!0}),re(()=>clearTimeout(m)),(e,s)=>(G(),f(`div`,{class:Z([`w-full h-full flex items-center justify-center relative`,_(c)]),style:C(_(l))},[_(g)?(G(),f(`div`,Kx)):B(``,!0),A(H(`img`,{src:_(v),alt:t.alt,width:w(_(r)),height:w(_(i)),style:C([_(a),{width:w(_(r)),height:w(_(i))}]),class:Z(_(o)),decoding:`async`,onLoad:x,onError:S},null,46,qx),[[y,!_(g)&&!_(d)&&_(n)]]),_(d)||!_(n)?(G(),f(`img`,{key:1,src:_(b),alt:t.alt,width:_(r),height:_(i),class:`object-contain h-full`,decoding:`async`},null,8,Jx)):B(``,!0)],6))}}),Xx={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Zx(e,t){return G(),f(`svg`,Xx,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 20H8.5l-4.21-4.3a1 1 0 0 1 0-1.41l10-10a1 1 0 0 1 1.41 0l5 5a1 1 0 0 1 0 1.41L11.5 20m6.5-6.7L11.7 7`},null,-1)]])}var Qx=a({name:`tabler-eraser`,render:Zx}),$x={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function eS(e,t){return G(),f(`svg`,$x,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5l5-5m-5-7v12`},null,-1)]])}var tS=a({name:`tabler-download`,render:eS}),nS={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function rS(e,t){return G(),f(`svg`,nS,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 4h16v2.172a2 2 0 0 1-.586 1.414L15 12v7l-6 2v-8.5L4.52 7.572A2 2 0 0 1 4 6.227z`},null,-1)]])}var iS=a({name:`tabler-filter`,render:rS}),aS=ae({__name:`CuiTimelineActions`,props:{placement:{},type:{},showDate:{type:Boolean},mdBreakpoint:{type:Boolean},isScrolling:{type:Boolean},dateLabel:{},filterActive:{type:Boolean},exportAvailable:{type:Boolean},exportModeActive:{type:Boolean},deleteAvailable:{type:Boolean},deleteModeActive:{type:Boolean},segment:{}},emits:[`toggle-date`,`toggle-filter`,`toggle-export-mode`,`toggle-delete-mode`],setup(e,{emit:n}){let i=n,{t:a}=r();return(n,r)=>{let o=km,s=iS,c=tS,l=Qx,u=ne(`tooltip`);return e.placement===`top`?(G(),f(x,{key:0},[e.showDate&&e.type===`horizontal`?A((G(),t(_(Oe),{key:0,rounded:``,severity:`secondary`,disabled:e.isScrolling,class:`cui-button-small shadow-md pointer-events-auto shrink-0`,onClick:r[0]||=e=>i(`toggle-date`,e)},{icon:X(()=>[d(o,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[u,_(a)(`components.timeline.pick_date`),void 0,{bottom:!0}]]):B(``,!0),e.showDate&&e.type===`vertical`&&e.mdBreakpoint?A((G(),t(_(Oe),{key:1,severity:`secondary`,disabled:e.isScrolling,label:e.dateLabel,class:`cui-button-small shadow-md pointer-events-auto shrink-0`,onClick:r[1]||=e=>i(`toggle-date`,e)},{icon:X(()=>[d(o)]),_:1},8,[`disabled`,`label`])),[[u,_(a)(`components.timeline.pick_date`),void 0,{bottom:!0}]]):B(``,!0),e.type===`horizontal`?A((G(),t(_(Oe),{key:2,rounded:``,severity:e.filterActive?void 0:`secondary`,disabled:e.isScrolling,class:`cui-button-small shadow-md pointer-events-auto shrink-0`,onClick:r[2]||=e=>i(`toggle-filter`,e)},{icon:X(()=>[d(s,{width:`100%`,height:`100%`})]),_:1},8,[`severity`,`disabled`])),[[u,_(a)(`components.timeline.filter`),void 0,{bottom:!0}]]):B(``,!0),e.type===`horizontal`&&e.exportAvailable&&e.segment===`timeline`?A((G(),t(_(Oe),{key:3,rounded:``,severity:e.exportModeActive?void 0:`secondary`,disabled:e.isScrolling,class:`cui-button-small shadow-md pointer-events-auto shrink-0`,onClick:r[3]||=e=>i(`toggle-export-mode`)},{icon:X(()=>[d(c,{width:`100%`,height:`100%`})]),_:1},8,[`severity`,`disabled`])),[[u,_(a)(`components.player.export`),void 0,{bottom:!0}]]):B(``,!0),e.type===`horizontal`&&e.deleteAvailable&&e.segment===`timeline`?A((G(),t(_(Oe),{key:4,rounded:``,severity:e.deleteModeActive?`danger`:`secondary`,disabled:e.isScrolling,class:Z([`cui-button-small shadow-md pointer-events-auto shrink-0`,{"!text-red-500":!e.deleteModeActive}]),onClick:r[4]||=e=>i(`toggle-delete-mode`)},{icon:X(()=>[d(l,{width:`100%`,height:`100%`})]),_:1},8,[`severity`,`disabled`,`class`])),[[u,_(a)(`components.player.delete_range`),void 0,{bottom:!0}]]):B(``,!0)],64)):(G(),f(x,{key:1},[A((G(),t(_(Oe),{rounded:``,severity:e.filterActive?void 0:`secondary`,disabled:e.isScrolling,class:`cui-button-small shadow-md pointer-events-auto shrink-0`,onClick:r[5]||=e=>i(`toggle-filter`,e)},{icon:X(()=>[d(s,{width:`100%`,height:`100%`})]),_:1},8,[`severity`,`disabled`])),[[u,_(a)(`components.timeline.filter`),void 0,{top:!0}]]),e.exportAvailable&&e.segment===`timeline`?A((G(),t(_(Oe),{key:0,rounded:``,severity:e.exportModeActive?void 0:`secondary`,disabled:e.isScrolling,class:`cui-button-small shadow-md pointer-events-auto shrink-0`,onClick:r[6]||=e=>i(`toggle-export-mode`)},{icon:X(()=>[d(c,{width:`100%`,height:`100%`})]),_:1},8,[`severity`,`disabled`])),[[u,_(a)(`components.player.export`),void 0,{top:!0}]]):B(``,!0),e.deleteAvailable&&e.segment===`timeline`?A((G(),t(_(Oe),{key:1,rounded:``,severity:e.deleteModeActive?`danger`:`secondary`,disabled:e.isScrolling,class:Z([`cui-button-small shadow-md pointer-events-auto shrink-0`,{"!text-red-500":!e.deleteModeActive}]),onClick:r[7]||=e=>i(`toggle-delete-mode`)},{icon:X(()=>[d(l,{width:`100%`,height:`100%`})]),_:1},8,[`severity`,`disabled`,`class`])),[[u,_(a)(`components.player.delete_range`),void 0,{top:!0}]]):B(``,!0)],64))}}}),oS={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function sS(e,t){return G(),f(`svg`,oS,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`m6 9l6 6l6-6`},null,-1)]])}var cS=a({name:`tabler-chevron-down`,render:sS}),lS={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function uS(e,t){return G(),f(`svg`,lS,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M13 5h8m-8 4h5m-5 6h8m-8 4h5M3 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm0 10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z`},null,-1)]])}var dS=a({name:`tabler-list-details`,render:uS}),fS={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function pS(e,t){return G(),f(`svg`,fS,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 20a2 2 0 1 0 4 0a2 2 0 1 0-4 0m0 0H4m10 0h6m-8-5l-2-2H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-3z`},null,-1)]])}var mS=a({name:`tabler-timeline-event`,render:pS}),hS={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function gS(e,t){return G(),f(`svg`,hS,[...t[0]||=[H(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 11a3 3 0 1 0 6 0a3 3 0 0 0-6 0m8 5l-2.5-2.5M3 7V5a2 2 0 0 1 2-2h2M3 17v2a2 2 0 0 0 2 2h2M17 3h2a2 2 0 0 1 2 2v2m-4 14h2a2 2 0 0 0 2-2v-2`},null,-1)]])}var _S=a({name:`tabler-zoom-scan`,render:gS}),vS={class:`flex items-center gap-2`},yS=[`aria-label`],bS=[`aria-selected`,`aria-label`,`disabled`,`onClick`],xS={class:`cui-timeline-view-icons shadow-md pointer-events-auto shrink-0`},SS=[`aria-label`,`disabled`],CS=[`aria-label`],wS=[`aria-checked`,`onClick`],TS=[`aria-label`],ES=[`aria-selected`,`aria-label`,`disabled`,`onClick`],DS=ae({__name:`CuiTimelineViews`,props:l({form:{},views:{},findCount:{},disabled:{type:Boolean},appendTo:{}},{segment:{required:!0},segmentModifiers:{}}),emits:[`update:segment`],setup(e){let n=e,i=P(e,`segment`),a={timeline:mS,detections:dS,find:_S},{t:s}=r(),l=U(`menuRef`),u=h(()=>n.views.map(e=>({key:e,label:s(`views.camera.${e}`)})));function p(e){l.value?.toggle(e)}function m(e){i.value=e,l.value?.hide()}return(n,r)=>{let h=Ne,g=ke,v=cS,y=ne(`tooltip`);return e.form===`select`?(G(),t(g,{key:0,modelValue:i.value,"onUpdate:modelValue":r[0]||=e=>i.value=e,options:_(u),"option-label":`label`,"option-value":`key`,pt:{pcToggleButton:{root:{class:`w-full`}}},"allow-empty":!1,disabled:e.disabled,class:`flex justify-stretch pointer-events-auto`},{option:X(({option:n})=>[H(`span`,vS,[c(o(n.label)+` `,1),n.key===`find`&&e.findCount?(G(),t(h,{key:0,size:`small`,class:`rounded-full px-1.5`,value:String(e.findCount)},null,8,[`value`])):B(``,!0)])]),_:1},8,[`modelValue`,`options`,`disabled`])):e.form===`dots`?(G(),f(`div`,{key:1,role:`tablist`,"aria-label":_(s)(`components.timeline.views`),class:`flex items-center h-[35px] text-color pointer-events-auto`},[(G(!0),f(x,null,R(_(u),t=>(G(),f(`button`,{key:t.key,type:`button`,role:`tab`,"aria-selected":t.key===i.value,"aria-label":t.label,disabled:e.disabled,class:`cui-timeline-dot`,onClick:e=>i.value=t.key},[H(`span`,{class:Z({"is-active":t.key===i.value,"has-matches":t.key===`find`&&!!e.findCount})},null,2)],8,bS))),128))],8,yS)):e.form===`menu`?(G(),f(x,{key:2},[H(`div`,xS,[A((G(),f(`button`,{type:`button`,"aria-haspopup":`menu`,"aria-label":_(s)(`components.timeline.views`),disabled:e.disabled,class:`is-active`,onClick:p},[(G(),t(j(a[i.value]),{width:`18`,height:`18`})),i.value===`find`&&e.findCount?(G(),t(h,{key:0,size:`small`,severity:`secondary`,class:`rounded-full px-1.5`,value:String(e.findCount)},null,8,[`value`])):B(``,!0),d(v,{width:`14`,height:`14`})],8,SS)),[[y,_(s)(`components.timeline.views`),void 0,{bottom:!0}]])]),d(_(De),{ref_key:`menuRef`,ref:l,"append-to":e.appendTo??`body`,pt:{content:{class:`p-1`}}},{default:X(()=>[H(`div`,{role:`menu`,"aria-label":_(s)(`components.timeline.views`),class:`flex flex-col min-w-40`},[(G(!0),f(x,null,R(_(u),n=>(G(),f(`button`,{key:n.key,type:`button`,role:`menuitemradio`,"aria-checked":n.key===i.value,class:Z([`cui-timeline-view-item`,{"is-active":n.key===i.value}]),onClick:e=>m(n.key)},[(G(),t(j(a[n.key]),{width:`18`,height:`18`})),H(`span`,null,o(n.label),1),n.key===`find`&&e.findCount?(G(),t(h,{key:0,size:`small`,class:`rounded-full px-1.5 ml-auto`,value:String(e.findCount)},null,8,[`value`])):B(``,!0)],10,wS))),128))],8,CS)]),_:1},8,[`append-to`])],64)):(G(),f(`div`,{key:3,role:`tablist`,"aria-label":_(s)(`components.timeline.views`),class:`cui-timeline-view-icons shadow-md pointer-events-auto shrink-0`},[(G(!0),f(x,null,R(_(u),n=>A((G(),f(`button`,{key:n.key,type:`button`,role:`tab`,"aria-selected":n.key===i.value,"aria-label":n.label,disabled:e.disabled,class:Z({"is-active":n.key===i.value}),onClick:e=>i.value=n.key},[(G(),t(j(a[n.key]),{width:`18`,height:`18`})),n.key===`find`&&e.findCount?(G(),t(h,{key:0,size:`small`,severity:n.key===i.value?`secondary`:void 0,class:`rounded-full px-1.5`,value:String(e.findCount)},null,8,[`severity`,`value`])):B(``,!0)],10,ES)),[[y,n.label,void 0,{bottom:!0}]])),128))],8,TS))}}}),OS=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},kS=OS(DS,[[`__scopeId`,`data-v-b9b4fd8c`]]),AS={class:`text-[10px] font-medium text-white/80 leading-none truncate`},jS={class:`text-[10px] font-medium text-white/80 leading-none truncate`},MS=24,NS=50,PS=3,FS=6,IS=20,LS=ae({__name:`CuiTimelineTrimHandles`,props:{nowMs:{},timeMsPerPx:{},futureOffset:{},viewportHeight:{},contentHeight:{},orientation:{},viewportElement:{},startMs:{},endMs:{},readMotion:{type:Function},writeMotion:{type:Function},recordingDurationMs:{},variant:{}},emits:[`update:startMs`,`update:endMs`,`scrub`,`drag-start`,`drag-end`],setup(t,{emit:n}){let r=t,i=n,a=h(()=>r.variant===`delete`?`bg-red-500`:`bg-sky-500`),s=h(()=>r.orientation===`horizontal`),c=e(null),l=e(0),u=e(0),d=e(0),p=0,m=null,v=0;function y(e){return Math.round((r.nowMs-e)/r.timeMsPerPx+r.futureOffset)}let b=h(()=>y(r.endMs)-MS),x=h(()=>y(r.startMs)),S=h(()=>Math.max(0,x.value-b.value-MS)),w=h(()=>y(r.endMs)-MS),T=h(()=>y(r.startMs)),E=h(()=>Math.max(0,T.value-w.value-MS)),D=e(0),O=null,k=h(()=>b.value+MS+FS),A=h(()=>x.value-FS-IS),j=h(()=>{if(c.value===`start`)return A.value;if(c.value===`end`)return k.value;let e=e=>e-D.value>=0&&e-D.value<=r.viewportHeight-IS;return e(k.value)?k.value:e(A.value)?A.value:k.value});N(()=>{function e(){let t=r.readMotion();t!==D.value&&(D.value=t),O=requestAnimationFrame(e)}O=requestAnimationFrame(e)});function M(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function P(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${String(r).padStart(2,`0`)}m ${String(i).padStart(2,`0`)}s`:r>0?`${r}m ${String(i).padStart(2,`0`)}s`:`${i}s`}function F(){let e=v-l.value,t=r.readMotion(),n=t-p,a=((s.value?-e:e)+n)*r.timeMsPerPx,o=r.nowMs;if(c.value===`start`){let e=u.value-a,n=r.endMs-Qb,s=o-(r.viewportHeight-MS-r.futureOffset+t)*r.timeMsPerPx,c=Math.max(Math.min(e,n),s);i(`update:startMs`,c),i(`scrub`,c)}else if(c.value===`end`){let e=d.value-a,t=r.startMs+Qb,n=Math.min(Math.max(e,t),o);i(`update:endMs`,n),i(`scrub`,n)}}function I(e,t){c.value=t,l.value=s.value?e.clientX:e.clientY,v=l.value,u.value=r.startMs,d.value=r.endMs,p=r.readMotion(),e.target.setPointerCapture?.(e.pointerId),i(`scrub`,t===`start`?r.startMs:r.endMs),i(`drag-start`),window.addEventListener(`pointermove`,L),window.addEventListener(`pointerup`,R),z()}function L(e){v=s.value?e.clientX:e.clientY,F()}function R(){c.value=null,B(),i(`drag-end`),window.removeEventListener(`pointermove`,L),window.removeEventListener(`pointerup`,R)}function z(){B();function e(){let t=r.viewportElement;if(!t||!c.value)return;let n=t.getBoundingClientRect(),i=s.value?v-n.left:v-n.top,a=s.value?i>r.viewportHeight-NS:i<NS,o=s.value?i<NS:i>r.viewportHeight-NS,l=r.readMotion();a&&l>0?(r.writeMotion(Math.max(0,l-PS)),F()):o&&(r.writeMotion(l+PS),F()),m=requestAnimationFrame(e)}m=requestAnimationFrame(e)}function B(){m!==null&&(cancelAnimationFrame(m),m=null)}return g(()=>{O!==null&&cancelAnimationFrame(O),B(),window.removeEventListener(`pointermove`,L),window.removeEventListener(`pointerup`,R)}),(e,n)=>t.orientation===`horizontal`?(G(),f(`div`,{key:1,class:`absolute top-0 bottom-0 right-0 z-15 pointer-events-none`,style:C({width:`${t.contentHeight}px`})},[H(`div`,{class:`absolute top-0 bottom-0 right-0 bg-black/50`,style:C({width:`${Math.max(0,_(w))}px`})},null,4),H(`div`,{class:Z([`absolute top-0 bottom-0 flex items-center justify-center rounded-r cursor-ew-resize pointer-events-auto select-none touch-none`,_(a)]),style:C({right:`${_(w)}px`,width:`${MS}px`}),onPointerdown:n[2]||=ie(e=>I(e,`end`),[`stop`,`prevent`])},[...n[6]||=[H(`div`,{class:`w-[3px] h-8 rounded-full bg-white/50`},null,-1)]],38),H(`div`,{class:`absolute top-0 bottom-0 pointer-events-none`,style:C({right:`${_(w)+MS}px`,width:`${_(E)}px`})},[H(`div`,{class:Z([`absolute left-0 right-0 top-0 h-[3.5px]`,_(a)])},null,2),H(`div`,{class:Z([`absolute left-0 right-0 bottom-0 h-[3.5px]`,_(a)])},null,2),H(`span`,{class:Z([`absolute top-1.5 left-1/2 -translate-x-1/2 text-[10px] font-medium text-white/90 leading-none px-1.5 py-1 rounded-full whitespace-nowrap`,_(a)])},o(P(r.recordingDurationMs??r.endMs-r.startMs)),3)],4),H(`div`,{class:Z([`absolute top-0 bottom-0 flex items-center justify-center rounded-l cursor-ew-resize pointer-events-auto select-none touch-none`,_(a)]),style:C({right:`${_(T)}px`,width:`${MS}px`}),onPointerdown:n[3]||=ie(e=>I(e,`start`),[`stop`,`prevent`])},[...n[7]||=[H(`div`,{class:`w-[3px] h-8 rounded-full bg-white/50`},null,-1)]],38),H(`div`,{class:`absolute top-0 bottom-0 left-0 bg-black/50`,style:C({right:`${_(T)+MS}px`})},null,4)],4)):(G(),f(`div`,{key:0,class:`absolute left-0 right-0 top-0 z-15 pointer-events-none`,style:C({height:`${t.contentHeight}px`})},[H(`div`,{class:`absolute left-0 right-0 top-0 bg-black/50`,style:C({height:`${Math.max(0,_(b))}px`})},null,4),H(`div`,{class:Z([`absolute left-0 right-0 flex items-center justify-between rounded-t cursor-ns-resize pointer-events-auto select-none touch-none px-2`,_(a)]),style:C({top:`${_(b)}px`,height:`${MS}px`}),onPointerdown:n[0]||=ie(e=>I(e,`end`),[`stop`,`prevent`])},[H(`span`,AS,`End: `+o(M(r.endMs)),1),n[4]||=H(`div`,{class:`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-[3px] rounded-full bg-white/50`},null,-1)],38),H(`div`,{class:`absolute left-0 right-0 pointer-events-none`,style:C({top:`${_(b)+MS}px`,height:`${_(S)}px`})},[H(`div`,{class:Z([`absolute left-0 top-0 bottom-0 w-[3.5px]`,_(a)])},null,2),H(`div`,{class:Z([`absolute right-0 top-0 bottom-0 w-[3.5px]`,_(a)])},null,2)],4),H(`span`,{class:Z([`absolute left-1/2 -translate-x-1/2 text-[10px] font-medium text-white/90 leading-none px-1.5 py-1 rounded-full whitespace-nowrap pointer-events-none`,_(a)]),style:C({top:`${_(j)}px`})},o(P(r.recordingDurationMs??r.endMs-r.startMs)),7),H(`div`,{class:Z([`absolute left-0 right-0 flex items-center rounded-b cursor-ns-resize pointer-events-auto select-none touch-none px-2`,_(a)]),style:C({top:`${_(x)}px`,height:`${MS}px`}),onPointerdown:n[1]||=ie(e=>I(e,`start`),[`stop`,`prevent`])},[H(`span`,jS,`Start: `+o(M(r.startMs)),1),n[5]||=H(`div`,{class:`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-[3px] rounded-full bg-white/50`},null,-1)],38),H(`div`,{class:`absolute left-0 right-0 bg-black/50`,style:C({top:`${_(x)+MS}px`,bottom:0})},null,4)],4))}}),RS=80,zS=8;function BS(e,t){let n=[];for(let r of e){let e=r.types.every(e=>gx.has(e)),i=e&&r.isActive?Math.max(r.timestamp+r.duration*1e3,t.nowMs):r.timestamp+r.duration*1e3,a=t.toPx(r.timestamp),o=t.toPx(i),s=Math.max(a-o,zS);if(o>t.spacerPx||o+s<0)continue;let c=r.imageMs?t.toPx(r.imageMs):void 0,l=c===void 0?o+s/2:Math.min(Math.max(c,o),a);n.push({...r,topPx:l,barTopPx:o,durationPx:s,displayTypes:r.types.slice(0,2),extraCount:Math.max(0,r.types.length-2),showThumbnail:!1,isTriggerOnly:e,midMs:r.imageMs??r.timestamp+r.duration*500,rank:VS(r.types,t.hiddenTypes)})}return{items:n,markers:US(n,RS*t.timeMsPerPx),motionBars:WS(n.filter(e=>e.isTriggerOnly)),detectionBars:WS(n.filter(e=>!e.isTriggerOnly))}}function VS(e,t){let n;for(let r of e){if(t.has(r))continue;let e=r===`motion`?4:r===`other_sound`?3:r===`alarm_sound`?2:+!!mx.has(r);(n===void 0||e<n)&&(n=e)}return n}function HS(e,t){return e.rank===t.rank?e.midMs>t.midMs||e.midMs===t.midMs&&e.id>t.id:e.rank<t.rank}function US(e,t){let n=new Map;for(let r of e){if(r.rank===void 0)continue;let e=Math.floor(r.midMs/t),i=n.get(e);(!i||HS(r,i))&&n.set(e,r)}let r=[];for(let[e,i]of n){let a=n.get(e+1);if(a&&a.midMs-i.midMs<t&&!HS(i,a))continue;let o=n.get(e-1);o&&i.midMs-o.midMs<t&&HS(o,i)||(i.showThumbnail=!0,r.push(i))}return r.sort((e,t)=>t.midMs-e.midMs)}function WS(e){let t=e.map(e=>[e.barTopPx,e.barTopPx+e.durationPx]).sort((e,t)=>e[0]-t[0]),n=[],r=0,i=-1/0;for(let[e,a]of t)e<=i+1?i=Math.max(i,a):(i>-1/0&&n.push({topPx:r,heightPx:i-r}),r=e,i=a);return i>-1/0&&n.push({topPx:r,heightPx:i-r}),n}var GS={key:0,class:`w-full h-full flex items-center justify-center`},KS={key:1,class:`w-full h-full flex flex-col`},qS={key:0,class:`p-2 flex flex-col gap-2 border-b-[1px] border-color`},JS={key:0,class:`flex flex-row gap-6 items-center w-full`},YS={key:1,class:`w-full pr-3`},XS={class:`flex gap-2 items-center justify-between absolute z-21 left-0 w-full px-[calc(16px+0.5rem)] pointer-events-none top-2 h-[50px]`},ZS={key:2,class:`flex-1 min-w-0 h-full flex items-center pointer-events-auto`},QS={key:0,class:`h-full flex flex-1 items-center justify-center`},$S={key:1,class:`flex gap-2 items-end justify-between absolute z-21 bottom-safe-offset-2 left-0 w-full px-[calc(16px+0.5rem)] pointer-events-none`},eC={class:`flex flex-1 items-end justify-start h-[50px] gap-2`},tC={class:`absolute bottom-0 left-1/2 -translate-x-1/2 flex items-end h-[50px]`},nC={class:`flex flex-1 items-end justify-end`},rC={key:0,class:`text-xs font-semibold`},iC=[`dir`],aC=[`data-future-tick`],oC=[`width`],sC=[`width`,`height`,`rx`,`ry`],cC={class:`absolute pl-6 h-full w-full items-center flex`},lC={key:0,class:`text-xs leading-none w-[60px]`},uC={key:1,class:`flex flex-col items-center justify-end h-full`},dC={class:`absolute bottom-0 pb-6 h-full w-full items-center justify-end flex flex-col`},fC={key:0,class:`text-xs leading-none h-[12px]`},pC=[`height`],mC=[`width`,`height`,`rx`,`ry`],hC={key:0,class:`relative flex-1 flex justify-center min-w-0`,style:{marginLeft:`calc(16px + 0.25rem + 60px + 2rem + 8px - 2px)`}},gC={key:0,class:`absolute inset-x-0 top-0 flex items-center justify-end overflow-hidden py-1.5`,style:{bottom:`calc(16px + 0.25rem + 12px + 2rem + 8px - 2px)`}},_C={class:`flex items-center gap-1.5 shrink-0 px-2`},vC=[`title`],yC=[`onClick`],bC={class:`rounded-md bg-black overflow-hidden`,style:{border:`1px solid var(--timeline-event-thumb-border)`,"box-shadow":`var(--timeline-event-thumb-shadow)`,"aspect-ratio":`16/9`}},xC=[`onClick`],SC={class:`rounded-md bg-black overflow-hidden`,style:{border:`1px solid var(--timeline-event-thumb-border)`,"box-shadow":`var(--timeline-event-thumb-shadow)`,width:`64px`,height:`36px`}},CC={class:`flex flex-col items-center gap-1.5 shrink-0 py-2`},wC=[`title`],TC=[`data-detection-id`],EC={class:`flex flex-col gap-1 h-full`},DC={class:`flex-1 min-h-0 relative rounded-md overflow-hidden bg-black`},OC={key:2,class:`absolute top-1 left-1 max-w-[calc(100%-0.5rem)] truncate rounded px-1.5 py-0.5 text-[0.65rem] font-medium text-white bg-black/60`},kC={class:`flex items-center gap-1.5 text-xs leading-none min-w-0`},AC={class:`text-color font-medium truncate`},jC={class:`text-muted-color shrink-0 ml-auto`},MC=[`data-detection-id`],NC={class:`flex flex-row gap-3 p-3 h-full`},PC={class:`flex flex-col gap-0.5 shrink-0 w-[100px] justify-center`},FC={class:`text-sm font-medium text-color truncate`},IC={class:`text-sm text-muted-color`},LC={key:0,class:`text-xs text-color font-medium truncate`},RC={class:`text-xs text-muted-color`},zC={class:`flex gap-1.5 mt-1`},BC=[`title`],VC={class:`flex-1 min-w-0 relative`},HC={class:`w-full h-full rounded-md overflow-hidden bg-black`},UC={class:`relative flex flex-col items-center`},WC={key:0,class:`absolute -bottom-0.5 w-1 h-1 rounded-full bg-red-500`},GC={class:`flex justify-end gap-2 px-3 pb-3`},KC={class:`flex flex-col gap-1 min-w-[190px]`},qC={class:`text-xs font-semibold text-muted-color uppercase tracking-wide px-1 pb-1`},JC={class:`flex flex-col gap-1 max-h-[30vh] overflow-y-auto pr-1 overscroll-contain`},YC={class:`text-sm text-color capitalize`},XC={class:`text-xs font-semibold text-muted-color uppercase tracking-wide px-1 pt-3 pb-1`},ZC={class:`flex items-center gap-2.5 px-1 py-1 rounded-md cursor-pointer hover:bg-emphasis`},QC={class:`text-sm text-color`},$C={class:`flex items-center gap-2.5 px-1 py-1 rounded-md cursor-pointer hover:bg-emphasis`},ew={class:`text-sm text-color`},tw={class:`text-xs font-semibold text-muted-color uppercase tracking-wide px-1 pt-3 pb-1`},nw={class:`flex items-center gap-2.5 px-1 py-1 rounded-md cursor-pointer hover:bg-emphasis`},rw={class:`text-sm text-color`},iw={class:`text-xs font-semibold text-muted-color uppercase tracking-wide px-1 pt-3 pb-1`},aw={class:`flex items-center gap-2.5 px-1 py-1 rounded-md cursor-pointer hover:bg-emphasis`},ow={class:`text-sm text-color`},sw={key:0,class:`text-xs text-muted-color px-1`},cw=200,lw=175,uw=192,dw=5e3,fw=62,pw=`calc(env(safe-area-inset-bottom, 0px) + 0.5rem + 50px)`,mw=480,hw=2,gw=70,_w=1e4,vw=16,yw=18e5,bw=41,xw=OS(ae({__name:`CuiTimeline`,props:l({type:{default:`vertical`},flatCard:{type:Boolean},showDate:{type:Boolean,default:!0},showZoom:{type:Boolean,default:!0},views:{default:()=>[`timeline`,`detections`]},findCount:{},transparent:{type:Boolean,default:!1},overlayClass:{type:[Boolean,null,String,Object,Array]},overlayStyle:{type:[Boolean,null,String,Object,Array]},cardClass:{type:[Boolean,null,String,Object,Array],default:`h-full`},cardStyle:{type:[Boolean,null,String,Object,Array]},darkMode:{type:Boolean},hideOverlay:{type:Boolean},tickColor:{},cameraIds:{},eventCameraIds:{},cameraNames:{},initialTimestamp:{},localeSettings:{},trimMode:{type:Boolean},trimVariant:{},loading:{type:Boolean,default:!1},ignoreBottomSafeArea:{type:Boolean},mdBreakpoint:{type:Boolean,default:!1},zoneFilterActive:{type:Boolean},zoneHasRegions:{type:Boolean},zoneBoxMatcher:{},onlyEvents:{},exportAvailable:{type:Boolean},deleteAvailable:{type:Boolean}},{segment:{default:`timeline`},segmentModifiers:{}}),emits:l([`scrolling`,`trim-change`,`event-select`,`toggle-zone-filter`,`toggle-export-mode`,`toggle-delete-mode`],[`update:segment`]),setup(i,{expose:a,emit:l}){let u=i,g=l,v=P(i,`segment`),O=te(),{t:F,te:L,locale:z}=r(),V=w(Ab,void 0),ee=ey(),{hiddenTypes:W,scope:K,onlyMatches:q}=bx(),re=$f(),{type:J,flatCard:ae,showDate:oe,showZoom:se,transparent:ce,overlayClass:le,overlayStyle:ue,darkMode:de,hideOverlay:fe,cardClass:pe,cardStyle:me,tickColor:he,cameraIds:ge,eventCameraIds:_e,cameraNames:ve,initialTimestamp:ye,localeSettings:be,trimMode:xe,loading:Se,ignoreBottomSafeArea:Ce}=s(u),we=[`timeline`,`detections`,`find`],ke=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Ne=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Ie=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Le=U(`timelineRef`),Re=U(`viewportRef`),ze=U(`findRef`),Be=U(`datePickerRef`),Ve=U(`filterPopoverRef`),He=m(new Set),Ue=U(`dateLabelEl`),We=U(`timeLabelEl`),Ge=e(!1),Ke=e(4),qe=e(Ux()),Je=e(null),Ye=e(!1),Xe=n(Le),Ze=h(()=>we.filter(e=>u.views.includes(e)&&(e!==`find`||!!O.find))),Qe=h(()=>Ze.value.includes(v.value)?v.value:`timeline`),$e=h(()=>Ze.value.length>1),et=h(()=>J.value===`vertical`&&u.mdBreakpoint&&$e.value),tt=h(()=>Xe.width.value>0&&Xe.width.value<mw),nt=h(()=>J.value===`vertical`?`grid`:`strip`),rt=h(()=>J.value===`horizontal`&&Qe.value===`find`),it=h(()=>J.value===`vertical`?lw:uw),at=h(()=>{if(Qe.value===`timeline`||J.value!==`horizontal`&&Qe.value!==`find`)return`timeline-overlay-vertical`}),ot=h(()=>Ke.value===8),st=h(()=>re.value??`body`),ct=h(()=>u.showDate&&u.mdBreakpoint);function lt(){Ke.value<8&&(Ke.value=Math.min(8,Ke.value+hw))}function ut(){Ke.value>0&&(Ke.value=Math.max(0,Ke.value-hw))}let dt=U(`motionLayerRef`),ft=0,pt=p(0),mt=0;function ht(){return ft}let gt=new Map,_t=new Set;function vt(e,t){t?gt.set(e,t):gt.delete(e)}let yt=new Map,bt=new WeakMap;function xt(e,t){t?yt.set(e,t):yt.delete(e)}function St(e,t){let n=bt.get(e);return n===void 0&&(n=t?e.offsetHeight:e.offsetWidth,bt.set(e,n)),n}function Ct(e){if(yt.size===0)return;let t=J.value===`vertical`,n={startPx:e,sizePx:t?Xe.height.value:Xe.width.value},r=[];for(let e of Q.value.systemEvents){let i=yt.get(e.id);i&&r.push([i,Dx({startPx:e.endPx,sizePx:e.heightPx},St(i,t),n)])}for(let[e,n]of r)e.style.transform=t?`translate3d(0, ${n}px, 0)`:`translate3d(${-n}px, 0, 0)`}function wt(e){let t=new Set;for(let n of Q.value.markers)Math.abs(n.topPx-e-cw)<40&&t.add(n.id);for(let e of t)if(!_t.has(e)){let t=gt.get(e);t&&(t.classList.add(`scale-110`),t.classList.add(`timeline-thumb-active`))}for(let e of _t)if(!t.has(e)){let t=gt.get(e);t&&(t.classList.remove(`scale-110`),t.classList.remove(`timeline-thumb-active`))}_t=t}function Tt(e){let t=dt.value;if(!t)return;let n=window.devicePixelRatio||1,r=Math.round(e*n)/n;t.style.transform=J.value===`vertical`?`translate3d(0, ${-r}px, 0)`:`translate3d(${r}px, 0, 0)`,Ct(r)}function Et(e){let t=Dt.value,n=Math.max(0,Math.min(e,t));if(n===ft)return;ft=n,Tt(n),wt(n);let r=Ft.value,i=Math.floor(n/r);i!==mt&&(mt=i,pt.value=i*r)}let Dt=h(()=>{let e=J.value===`vertical`?Xe.height.value:Xe.width.value,t=Qe.value===`detections`?Vn.value:Bn.value;return Math.max(0,t-e)}),Ot=e(0);function kt(){if(typeof document>`u`)return 0;let e=document.createElement(`div`);e.style.cssText=`position:fixed;visibility:hidden;pointer-events:none;padding-bottom:env(safe-area-inset-bottom)`,document.body.appendChild(e);let t=parseFloat(getComputedStyle(e).paddingBottom)||0;return e.remove(),t}function At(){Ot.value=Ce.value?kt()+gw:0}I(Ce,At,{immediate:!0}),S(window,`resize`,At),S(window,`orientationchange`,At);let jt=h(()=>Math.max(_w/Rt.value.timeMsPerPx,vw)),Mt=h(()=>J.value===`vertical`&&u.mdBreakpoint&&$e.value&&!u.trimMode),Nt=Vx({element:h(()=>Qe.value===`find`?null:Re.value),writeFn:Et,readFn:ht,maxOffsetPx:Dt,orientation:J,bottomIgnorePx:Ot,flingFloorPx:jt,onTap:fn,crossSwipe:Mt,onCrossSwipe:vr});mg(ze,Mt,vr);let{dragActive:Pt}=Nt,Ft=h(()=>vx.HEIGHT+Ke.value),It=[{zoom:0,labelTick:5,bigTick:5,duration:6e5},{zoom:2,labelTick:15,bigTick:5,duration:9e5},{zoom:4,labelTick:16,bigTick:4,duration:12e4},{zoom:6,labelTick:15,bigTick:5,duration:6e4},{zoom:8,labelTick:30,bigTick:10,duration:3e4}];function Lt(e){let t=It.find(t=>t.zoom===e)??It[0],n=vx.HEIGHT+e;return t.duration/t.labelTick/n}let Rt=h(()=>{let e=It.find(e=>e.zoom===Ke.value)??It[0],t=e.labelTick,n=e.bigTick,r=e.duration,i=r/t;return{bigTickInterval:n,labelInterval:t,duration:r,timeMsPerTick:i,timeMsPerPx:i/Ft.value,pxPerSecond:Ft.value/(r/1e3/t)}}),zt=e(Date.now()),Bt=e(Date.now()),Vt=h(()=>_e.value??ge.value??[]),Ht=Ty({cameraIds:h(()=>ge.value??[]),eventCameraIds:Vt,currentTimeMs:zt,timeMsPerPx:h(()=>Rt.value.timeMsPerPx),viewportPx:h(()=>J.value===`vertical`?Xe.height.value:Xe.width.value),initialTimestamp:ye}),Ut=w(jb,void 0),Wt=new WeakSet;D(()=>{let e=[V?.contextSnapshot?.value??null];if(Ut)for(let t of Ut.value.values())e.push(t.contextSnapshot?.value??null);for(let t of e)t&&!Wt.has(t)&&(Wt.add(t),Ht.applySnapshot(t))});let Gt=zy({availableCameraIds:Vt,cameraIds:Vt,realtime:!0,pageSize:40,filter:()=>Nn()}),Kt=h(()=>Ht.recordings.value),qt=h(()=>Ht.events.value),Jt=h(()=>Ht.systemEvents.value),Yt=m(new Map),Xt=Symbol(`detectionCardPictures`),Zt=h(()=>Math.floor(cn.value/5e3)*5e3),Qt=h(()=>{let e=[];for(let t of Gt.events.value){if(!Mn({id:t.id,cameraId:t.cameraId}))continue;let n=!1;for(let[r,i]of(t.segments??[]).entries()){if(!i||Eg(i,W.value)||yn.value&&!Cn(i.detections)||!jn(`${t.id}:seg:${r}`))continue;n=!0;let a=_g(t,r)?Zt.value:i.lastSeen,o=Math.max((a-i.firstSeen)/1e3,1),s=Vg(t,i);e.push({id:`${t.id}:seg:${r}`,eventId:t.id,segIndex:r,timestamp:i.firstSeen,endTimeMs:a,duration:o,types:s,cameraId:t.cameraId,thumbnail:Yt.get(`${t.id}:seg:${r}`),topPx:0,pxPerSecond:0,displayTypes:s.slice(0,2),extraCount:Math.max(0,s.length-2),description:i.description})}!n&&!yn.value&&e.push(Pn(t))}e.sort((e,t)=>t.timestamp-e.timestamp),Jb(e,dw,e.some(e=>e.timestamp+dw>Date.now())?Zt.value:1/0);for(let[t,n]of e.entries())n.topPx=t*it.value,n.pxPerSecond=it.value*1e3/Yb(n);return e}),$t=rx(h(()=>zt.value),Bt,Kt),{trimActive:en,trimStartMs:tn,trimEndMs:nn,trimDurationMs:rn,trimRecordingDurationMs:an}=$t,on=px({nvr:V,segment:Qe,timeMsPerPx:h(()=>Rt.value.timeMsPerPx),recordings:Kt,isLoadedAt:Ht.isLoadedAt,detectionCards:Qt,detectionCardSize:it,trimState:$t,zoomLevel:Ke,writeMotion:Et,getMotionOffset:ht,motionBoundaryPx:pt,motionMaxOffsetPx:Dt,dragActive:Nt.dragActive,flingActive:Nt.flingActive,wheelActive:Nt.wheelActive}),{currentTimeMs:sn,nowMs:cn,isLive:ln,isScrolling:un,trimPlaying:dn}=on;function fn(e){if(Qe.value!==`detections`)return;let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-detection-id]`)?.getAttribute(`data-detection-id`);if(!t)return;let n=Qt.value.find(e=>e.id===t);n&&(on.onDetectionCardClick(n),g(`event-select`,{timestamp:n.timestamp,cameraId:n.cameraId}))}D(()=>{zt.value=sn.value,Bt.value=cn.value}),D(()=>{let e=sn.value,t=Ue.value,n=We.value;t&&(t.textContent=Hx(e,`ddd., D. MMM. YY`)),n&&(n.textContent=Hx(e,`HH:mm:ss`))});function pn(e){let t=ge.value??[];return!e.cameraId||t.length===0||t.includes(e.cameraId)}let mn=h(()=>new Set(W.value)),hn=h(()=>mn.value.size!==_x.length||_x.some(e=>!mn.value.has(e))),gn=h(()=>!!u.trimMode&&u.trimVariant!==`delete`),_n=h(()=>!!u.trimMode&&u.trimVariant===`delete`),vn=h(()=>!!u.zoneBoxMatcher),yn=h(()=>!!u.zoneFilterActive&&!!u.zoneHasRegions&&!!u.zoneBoxMatcher),bn=h(()=>!!u.onlyEvents),xn=h(()=>hn.value||!!u.zoneFilterActive||bn.value&&q.value),Sn=h(()=>({type:J.value,showDate:oe.value,mdBreakpoint:u.mdBreakpoint,isScrolling:un.value,dateLabel:lr.value,filterActive:xn.value,exportAvailable:u.exportAvailable,exportModeActive:gn.value,deleteAvailable:u.deleteAvailable,deleteModeActive:_n.value,segment:Qe.value}));function Cn(e){let t=u.zoneBoxMatcher;return!t||(e??[]).some(e=>e.box&&t(e.box))}function wn(e){if(!yn.value||!e)return!0;let t=/:seg:(\d+)$/.exec(e),n=ee.getEvent(e.replace(/:(trigger|seg:\d+)$/,``));return n?t?Cn(n.segments?.[Number(t[1])]?.detections):(n.segments??[]).some(e=>Cn(e?.detections)):!1}let Tn=[`motion`,`person`,`face`,`vehicle`,`license_plate`,`animal`,`alarm_sound`,`other_sound`,...hx],En=h(()=>(_e.value?.length??0)>1);function Dn(e){return!mn.value.has(e)}function On(e){W.value=Dn(e)?[...W.value,e]:W.value.filter(t=>t!==e)}function kn(e){let t=`components.timeline.type_${e}`;return L(t)?F(t):e.replace(/_/g,` `)}let An=h(()=>{if(!u.onlyEvents||!q.value)return;let e=new Set,t=new Set,n=new Set;for(let r of u.onlyEvents){let i=/^(.*):seg:\d+$/.exec(r);(i?t:e).add(r),n.add(i?i[1]:r)}return{whole:e,segments:t,touched:n}});function jn(e){let t=An.value;if(!t)return!0;if(!e)return!1;let n=e.replace(/:(trigger|seg:\d+)$/,``);return/:seg:\d+$/.test(e)?t.whole.has(n)||t.segments.has(e):t.touched.has(n)}function Mn(e){return!jn(e.id)||!(K.value===`all`||pn(e))?!1:wn(e.id)}function Nn(){let e=W.value.filter(e=>!_x.includes(e)),t=_x.filter(e=>!W.value.includes(e)),n=e=>e.length>0?Object.fromEntries(Vt.value.map(t=>[t,[...e]])):void 0;return{state:`ended`,hasDetections:!0,hiddenTypes:n(e),shownTypes:n(t)}}function Pn(e){let t=e.endTime??e.lastUpdate,n=wg(e).filter(e=>Dn(e));return{id:e.id,eventId:e.id,timestamp:e.startTime,endTimeMs:t,duration:Math.max((t-e.startTime)/1e3,1),types:n,cameraId:e.cameraId,thumbnail:Yt.get(e.id),topPx:0,pxPerSecond:0,displayTypes:n.slice(0,2),extraCount:Math.max(0,n.length-2)}}function Fn(e){if(!(Vt.value.length<2||!e.cameraId))return ve.value?.[e.cameraId]}let In=h(()=>{let e=sn.value;if(e)for(let t of qt.value){if(!Mn(t))continue;let n=t.timestamp,r=n+t.duration*1e3;if(e<n||e>r)continue;let i=t.id.replace(/:(trigger|seg:\d+)$/,``),a=ee.getEvent(i);if(a)return{id:a.id,cameraId:a.cameraId,startMs:a.startTime,endMs:a.endTime??a.lastUpdate??Date.now()}}}),Ln=h(()=>{let e=sn.value;if(e)for(let t of qt.value){if(!Mn(t))continue;let n=t.timestamp,r=n+t.duration*1e3;if(!(e<n||e>r)&&t.description)return t.description}}),Rn=h(()=>cw*Rt.value.timeMsPerPx),zn=h(()=>{let e=Math.ceil((yw+Rn.value)/Rt.value.timeMsPerTick),t=J.value===`vertical`?Xe.height.value:Xe.width.value,n=Math.ceil(t*2/Ft.value);return Math.max(e,n)}),Bn=h(()=>zn.value*Ft.value),Vn=h(()=>{let e=J.value===`vertical`?Xe.height.value:Xe.width.value;return Qt.value.length*it.value+e}),Hn=e(!1);N(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{Hn.value=!0})})});let Un=h(()=>{let e=cn.value,t=Rt.value;return Zn(e,t,n=>Math.round((e-n)/t.timeMsPerPx+cw),zn.value,Rn.value)}),Wn={ticks:[],recordings:[],events:[],markers:[],motionBars:[],detectionBars:[],systemEvents:[]},Q=h(()=>{let e=Un.value;if(!Hn.value)return{...Wn,ticks:e};let t=cn.value,n=Rt.value,r=Kt.value??[],i=(qt.value??[]).filter(Mn),a=Jt.value??[],o=e=>Math.round((t-e)/n.timeMsPerPx+cw),s=r.map(e=>{let n=o(e.liveTip?Math.max(e.endTime,t):e.endTime);return{topPx:n,heightPx:o(e.startTime)-n}}),{items:c,markers:l,motionBars:u,detectionBars:d}=BS(i,{toPx:o,nowMs:t,timeMsPerPx:n.timeMsPerPx,spacerPx:Bn.value,hiddenTypes:mn.value}),f=s.map(e=>({fromPx:e.topPx,toPx:e.topPx+e.heightPx})),p=[...f,...[...u,...d].map(e=>({fromPx:e.topPx,toPx:e.topPx+e.heightPx}))],m=(e,t,n)=>e.some(e=>e.fromPx<n&&e.toPx>t);return{ticks:e,recordings:s,events:c,markers:l,motionBars:u,detectionBars:d,systemEvents:Ax(a,{toPx:o,nowMs:t,timeMsPerPx:n.timeMsPerPx,cameraName:e=>e?ve.value?.[e]:void 0,multiCamera:(ge.value?.length??0)>1,occupied:(e,t)=>m(p,e,t),recorded:(e,t)=>m(f,e,t)})}}),$=h(()=>{let e=J.value===`vertical`?Xe.height.value:Xe.width.value;return e>0?e:1e3}),Gn=h(()=>Math.round($.value/2)),Kn=h(()=>Math.floor(pt.value/Gn.value)*Gn.value),qn=h(()=>Kn.value+Gn.value+$.value),Jn=h(()=>{let e=Q.value.ticks;if(e.length===0)return e;let t=2*Ft.value,n=Kn.value-t,r=qn.value+t;return e.filter(e=>e.position>=n&&e.position<=r)}),Yn=h(()=>{let e=2*Ft.value+bw,t=Kn.value-e,n=qn.value+e;return Q.value.markers.filter(e=>e.topPx>=t&&e.topPx<=n)});I(Yn,()=>{for(let e of _t)gt.get(e)?.classList.remove(`scale-110`,`timeline-thumb-active`);_t=new Set,wt(ft)},{flush:`post`});let Xn=h(()=>Q.value.markers.map(e=>e.id).sort().join(`,`));I(Xn,e=>{let t=pt.value+cw,n=new Map(Q.value.markers.map(e=>[e.id,Math.abs(e.topPx-t)])),r=e?e.split(`,`):[];r.sort((e,t)=>(n.get(e)??0)-(n.get(t)??0)),Ht.requestThumbnails(r)},{immediate:!0});function Zn(e,t,n,r,i){let a=t.timeMsPerTick,o=e+i,s=o-r*a,c=Math.ceil(s/a),l=Math.floor(o/a),u=[];for(let r=l;r>=c;r--){let i=r*a,o=n(i),s=i>e,c=r%t.labelInterval===0,l=r%t.bigTickInterval===0,d=new Date(i),f=`${String(d.getHours()).padStart(2,`0`)}:${String(d.getMinutes()).padStart(2,`0`)}`;Ke.value>=4&&(f+=`:${String(d.getSeconds()).padStart(2,`0`)}`),u.push({index:r,time:f,timestamp:i,position:o,isLabelTick:c,isMediumTick:l,isFutureTick:s})}return u}let Qn={motion:Ch,person:ag,face:mh,vehicle:Mh,animal:Fh,alarm_sound:ng,other_sound:cg,license_plate:Vh,contact:Rh,doorbell:Eh,switch:$h,light:kh,siren:qh,security_system:Wh,"line-crossing":dh,occupancy:Xm,smoke:nh,leak:qm,gas:Vm,carbonMonoxide:Mm,heat:Wm,cold:Fm,vibration:ch,tamper:ah,problem:$m,power:bh,lock:_h,garage:Rm},$n=Xh,er=h(()=>Xb(Qt.value,{startPx:Kn.value,endPx:qn.value,sizePx:it.value,leadPx:cw}));I([er,()=>ee.storeVersion.value,p_,Qe],([e,,,t])=>{if(t!==`detections`){h_(Xt,new Map);return}let n=new Map;for(let t of e){let e=Gt.events.value.find(e=>e.id===t.eventId);if(!e)continue;let r=n.get(e.id)??{event:e,needs:[]};r.needs.push(t.segIndex===void 0?{kind:`scene`}:{kind:`strip`,segIndex:t.segIndex}),n.set(e.id,r);let i=ee.getCachedThumbnails(t.eventId),a;i&&(a=t.segIndex===void 0?Ig(i.event):zg(i,e,`strip`,t.segIndex).url),a!==Yt.get(t.id)&&(a?Yt.set(t.id,a):Yt.delete(t.id))}h_(Xt,n)},{immediate:!0}),I([pt,Dt],([e,t])=>{Qe.value===`detections`&&Gt.hasMore.value&&t-e<300&&Gt.loadMore()});let tr=h(()=>Qe.value===`detections`&&Qt.value.length<Math.ceil((J.value===`vertical`?Xe.height.value:Xe.width.value)/it.value)+2&&Gt.hasMore.value);I([tr,()=>Gt.isLoading.value],([e,t])=>{e&&!t&&Gt.loadMore()});let{plugin:nr}=Zl(`@camera.ui/camera-ui-nvr`),rr=e(new Map),ir=new Set;I(nr,()=>{rr.value=new Map});async function ar(e,t){let n=`${e}-${t}`;if(rr.value.has(n)||ir.has(n))return;ir.add(n);let r=nr.value;if(!r)ir.delete(n);else try{let i=ge.value??[],a=await Promise.all(i.map(n=>r.getRecordingDays(n,e,t+1).catch(()=>[]))),o=new Set(a.flat());rr.value.set(n,o),rr.value=new Map(rr.value)}finally{ir.delete(n)}}function or(e,t,n){let r=`${e}-${t}`,i=rr.value.get(r);if(!i)return ar(e,t),!1;let a=`${e}-${String(t+1).padStart(2,`0`)}-${String(n).padStart(2,`0`)}`;return i.has(a)}let sr=h(()=>{let e={body:{class:`w-full h-full p-0 overflow-hidden`},content:{class:`h-full`},root:{class:{},style:{}}};if(typeof pe.value==`string`?e.root.class={...e.root.class,[pe.value]:!0}:typeof pe.value==`object`&&(e.root.class={...e.root.class,...pe.value}),typeof me.value==`string`){let t=me.value.split(`;`).map(e=>e.trim()).filter(e=>e.length>0).map(e=>{let[t,n]=e.split(`:`).map(e=>e.trim());return[t,n]}),n=Object.fromEntries(t);e.root.style={...e.root.style,...n}}else typeof me.value==`object`&&(e.root.style={...e.root.style,...me.value});return ae.value&&(e.root.class={...e.root.class,"!rounded-none !border-0":!0}),e}),cr=h(()=>{let e=qe.value.getDay(),t=qe.value.getMonth();return`${be.value?.dayNames?.[e]??ke[e]}, ${be.value?.monthNames?.[t]??Ne[t]} ${Hx(qe.value,`YY`)}`}),lr=h(()=>{let e=qe.value.getMonth(),t=be.value?.monthNamesShort?.[e]??Ie[e];return`${Hx(qe.value,`D`)}. ${t}`}),ur=h(()=>{if(Ge.value)return Wx()});function dr(e){let t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),a=Math.floor((r.getTime()-i.getTime())/864e5);if(a===0)return F(`components.timeline.today`);if(a===1)return F(`components.timeline.yesterday`);if(a<7){let e=t.getDay();return be.value?.dayNames?.[e]??ke[e]}let o=t.getMonth(),s=be.value?.monthNamesShort?.[o]??Ie[o];return`${t.getDate()}. ${s}`}function fr(e){return Ox(e*1e3)}function pr(e){switch(e){case`degraded`:return`bg-[var(--timeline-sys-degraded-bg)] border-[var(--timeline-sys-degraded-border)]`;case`info`:return`bg-[var(--timeline-sys-info-bg)] border-[var(--timeline-sys-info-border)]`;case`success`:return`bg-[var(--timeline-sys-success-bg)] border-[var(--timeline-sys-success-border)]`;case`warning`:return`bg-[var(--timeline-sys-warning-bg)] border-[var(--timeline-sys-warning-border)]`;case`error`:return`bg-[var(--timeline-sys-error-bg)] border-[var(--timeline-sys-error-border)]`;default:return`bg-[var(--timeline-sys-info-bg)] border-[var(--timeline-sys-info-border)]`}}function mr(e){switch(e){case`degraded`:return`border-[var(--timeline-sys-degraded-border)]`;case`info`:return`border-[var(--timeline-sys-info-border)]`;case`success`:return`border-[var(--timeline-sys-success-border)]`;case`warning`:return`border-[var(--timeline-sys-warning-border)]`;case`error`:return`border-[var(--timeline-sys-error-border)]`;default:return`border-[var(--timeline-sys-info-border)]`}}function hr(e){switch(e){case`degraded`:return`--timeline-sys-degraded-bg`;case`info`:return`--timeline-sys-info-bg`;case`success`:return`--timeline-sys-success-bg`;case`warning`:return`--timeline-sys-warning-bg`;case`error`:return`--timeline-sys-error-bg`;default:return`--timeline-sys-info-bg`}}function gr(e){switch(e){case`degraded`:return`--timeline-sys-degraded-border`;case`success`:return`--timeline-sys-success-border`;case`warning`:return`--timeline-sys-warning-border`;case`error`:return`--timeline-sys-error-border`;default:return`--timeline-sys-info-border`}}function _r(e){v.value=e}function vr(e){let t=Ze.value,n=t[t.indexOf(Qe.value)+(e===`next`?1:-1)];n&&_r(n)}function yr(e){let t=ze.value;!t||nt.value!==`strip`||Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),t.scrollLeft+=e.deltaY)}function br(e,t){on.onEventClick(e,t),g(`event-select`,{timestamp:e,cameraId:t})}function xr(){en.value||(on.enterLive(),qe.value=Wx(new Date(cn.value))),T(()=>{on.scrollToTime(cn.value)})}let Sr=!1;async function Cr(e,t){He.has(e)||(He.add(e),await T()),(e===`date`?Be:Ve).value?.toggle(t)}function wr(){Ge.value=!0,Je.value=new Date(qe.value)}function Tr(){let e=Je.value;Be.value?.hide(),!(!e||e.getTime()>Date.now())&&(Sr=!0,setTimeout(()=>{qe.value=e,setTimeout(()=>{Sr=!1},400)},0))}I(Ke,(e,t)=>{on.handleZoomChange(e,t,Lt)}),I(Qe,(e,t)=>{on.handleSegmentChange(e,t)}),I([Qe,Ze],([e,t])=>{e===`find`?Ye.value=!0:t.includes(`find`)||(Ye.value=!1)},{immediate:!0}),I(xe,(e,t)=>{if(e){let e=(J.value===`vertical`?Xe.height.value:Xe.width.value)*Rt.value.timeMsPerPx,t=Math.max(2500,e*.15),n=on.getCurrentTimeMs();on.onTrimActivate(n-t,n+t)}else t&&on.onTrimDeactivate()}),I([tn,nn],([e,t])=>{en.value&&g(`trim-change`,{startMs:e,endMs:t})}),I(qe,e=>{let t=Wx(e),n=Wx(new Date);t.getTime()>=n.getTime()?Et(0):(on.scrollToTime(e.getTime()),T(()=>{on.enterPlay(e.getTime())}))}),D(()=>{ln.value&&!Ge.value&&!Sr&&(qe.value=Wx(new Date(cn.value)))}),I([J,it],([,e],[,t])=>{Qe.value===`detections`&&t&&Et(ht()*e/t),on.scrollToTime(on.getCurrentTimeMs()),Tt(ht())}),I(un,(e,t)=>{if(t&&!e&&Ke.value>=6&&!ln.value){let e=Ft.value,t=ht(),n=Math.round(t/e)*e;Math.abs(n-t)>.5&&Et(n)}}),D(()=>{g(`scrolling`,un.value)}),I(be,()=>{be.value?.locale&&(z.value=be.value.locale)},{immediate:!0,deep:!0});let Er=!1;return I([()=>ye.value,()=>J.value===`vertical`?Xe.height.value:Xe.width.value],([e,t])=>{Er||!e||t<=0||(Er=!0,T(()=>on.scrollToTime(e)))},{immediate:!0}),I(dt,e=>{e&&Tt(ft)}),I(Q,()=>{bt=new WeakMap,Ct(ft)},{flush:`post`}),M(()=>{h_(Xt,new Map),ee.dispose()}),a({scrollToTime:on.scrollToTime,scrollToEvent:br,trimActive:en,trimStartMs:tn,trimEndMs:nn,trimDurationMs:rn,trimRecordingDurationMs:an,zoomLevel:Ke,zoomIn:lt,zoomOut:ut,currentEvent:In,currentEventDescription:Ln,currentTimeMs:sn,isLive:ln}),(e,n)=>{let r=Pe,a=km,s=Em,l=Fe,u=ne(`tooltip`);return G(),f(`div`,{class:Z({"dark-mode":_(de)})},[d(_(Me),{class:Z([`cui-card`,{"!bg-transparent !border-0":_(ce)}]),pt:_(sr)},{content:X(()=>[_(Se)?(G(),f(`div`,GS,[d(r,{class:`w-[32px] h-[32px]`,"stroke-width":`4`})])):(G(),f(`div`,KS,[_(J)===`vertical`&&!i.mdBreakpoint&&(_(oe)||_(se)||_($e))?(G(),f(`div`,qS,[_(oe)||_(se)?(G(),f(`div`,JS,[_(oe)?(G(),t(_(Oe),{key:0,text:``,disabled:_(un)||_(Qe)===`find`,severity:`secondary`,label:_(cr),class:`cui-button-small shrink-0 pointer-events-auto`,onClick:n[0]||=e=>Cr(`date`,e)},{icon:X(()=>[d(a)]),_:1},8,[`disabled`,`label`])):B(``,!0),_(se)?(G(),f(`div`,YS,[d(_(Ae),{modelValue:_(Ke),"onUpdate:modelValue":n[1]||=e=>b(Ke)?Ke.value=e:null,disabled:_(Qe)!==`timeline`,step:2,max:8,min:0,class:`flex-1 pointer-events-auto`},null,8,[`modelValue`,`disabled`])])):B(``,!0)])):B(``,!0),_($e)?(G(),t(kS,{key:1,form:`select`,segment:_(Qe),views:_(Ze),"find-count":i.findCount,disabled:_(en),"onUpdate:segment":_r},null,8,[`segment`,`views`,`find-count`,`disabled`])):B(``,!0)])):B(``,!0),H(`div`,{ref_key:`timelineRef`,ref:Le,class:`w-full h-full relative pointer-events-auto`,style:C({background:_(ce)?void 0:`var(--card-background)`})},[!_(fe)&&(!_(en)||_(J)===`horizontal`)?(G(),f(`div`,{key:0,class:Z([`absolute w-full h-full pointer-events-none z-10`,[_(at),_(le)]]),style:C([_(ue)])},null,6)):B(``,!0),H(`div`,XS,[H(`div`,{class:Z([`h-full flex flex-1 items-center justify-start gap-2 relative`,{"min-w-0":_(rt)}])},[_(J)===`horizontal`&&_($e)?(G(),t(kS,{key:0,form:_(tt)?`menu`:`icons`,segment:_(Qe),views:_(Ze),"find-count":i.findCount,disabled:_(en),"append-to":_(st),"onUpdate:segment":_r},null,8,[`form`,`segment`,`views`,`find-count`,`disabled`,`append-to`])):B(``,!0),_(Qe)===`find`?B(``,!0):(G(),t(aS,E({key:1},_(Sn),{placement:`top`,onToggleDate:n[2]||=e=>Cr(`date`,e),onToggleFilter:n[3]||=e=>Cr(`filter`,e),onToggleExportMode:n[4]||=e=>g(`toggle-export-mode`),onToggleDeleteMode:n[5]||=e=>g(`toggle-delete-mode`)}),null,16)),_(rt)?(G(),f(`div`,ZS,[k(e.$slots,`find`,{layout:`bar`},void 0,!0)])):B(``,!0),d(Y,{name:`fade`},{default:X(()=>[_(ot)&&!_(en)&&_(Qe)!==`find`?(G(),f(`span`,{key:0,class:Z([`text-[0.65rem] font-medium px-2 py-1 rounded-full shadow-md whitespace-nowrap shrink-0`,_(J)===`vertical`&&_(ct)?`absolute left-0 top-full -mt-1`:void 0]),style:{background:`color-mix(in srgb, var(--p-sky-500), transparent 20%)`,color:`white`}},o(_(F)(`components.timeline.fine_scrubbing`)),3)):B(``,!0)]),_:1})],2),_(rt)?B(``,!0):(G(),f(`div`,QS,[d(Y,{name:`fade`},{default:X(()=>[!_(ln)&&!_(en)&&_(J)===`vertical`&&_(Qe)!==`find`?(G(),t(_(Oe),{key:0,rounded:``,disabled:_(un),class:`cui-icon-md shadow-md pointer-events-auto`,onClick:xr},{icon:X(()=>[d(s,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])):B(``,!0)]),_:1})])),H(`div`,{class:Z(_(rt)?`contents`:`flex flex-1 items-center justify-end gap-2`)},[_(J)===`horizontal`?k(e.$slots,`bottom-right`,{},void 0,!0,0):B(``,!0),d(Y,{name:`fade`},{default:X(()=>[!_(ln)&&!_(en)&&_(Qe)!==`find`?(G(),f(x,{key:0},[_(J)===`vertical`?(G(),t(_(Oe),{key:0,fluid:``,severity:`secondary`,class:`flex items-center justify-center cui-button-small shadow-md align-middle p-2 !text-xs`},{default:X(()=>[H(`span`,{ref_key:`dateLabelEl`,ref:Ue},null,512)]),_:1})):(G(),t(_(Oe),{key:1,rounded:``,disabled:_(un),class:`cui-icon-md shadow-md pointer-events-auto rotate-90`,onClick:xr},{icon:X(()=>[d(s,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`]))],64)):B(``,!0)]),_:1})],2)]),_(J)===`vertical`?(G(),f(`div`,$S,[H(`div`,eC,[_(Qe)===`find`?B(``,!0):(G(),t(aS,E({key:0},_(Sn),{placement:`bottom`,onToggleFilter:n[6]||=e=>Cr(`filter`,e),onToggleExportMode:n[7]||=e=>g(`toggle-export-mode`),onToggleDeleteMode:n[8]||=e=>g(`toggle-delete-mode`)}),null,16))]),H(`div`,tC,[_(et)?(G(),t(kS,{key:0,form:`dots`,segment:_(Qe),views:_(Ze),"find-count":i.findCount,disabled:_(en),"onUpdate:segment":_r},null,8,[`segment`,`views`,`find-count`,`disabled`])):B(``,!0)]),H(`div`,nC,[k(e.$slots,`bottom-right`,{},void 0,!0)])])):B(``,!0),A(H(`div`,{class:Z([`absolute z-20 pointer-events-none`,{"bg-primary-500":_(ln)&&_(J)===`vertical`,"bg-sky-500":!_(ln)&&_(J)===`vertical`,"bg-gradient-to-t from-primary-500 to-transparent":_(ln)&&_(J)===`horizontal`,"bg-gradient-to-t from-sky-500 to-transparent":!_(ln)&&_(J)===`horizontal`,"h-[2px] w-full":_(J)===`vertical`,"w-[2px] h-full":_(J)===`horizontal`}]),style:C(_(J)===`vertical`?{top:`${cw}px`}:{right:`${cw}px`})},[H(`span`,{class:Z([`absolute rounded-xl text-white text-xs inline-flex items-center justify-center p-2`,{"bg-primary-500":_(ln),"bg-sky-500":!_(ln),"left-[calc(16px+0.25rem)] h-[32px] w-[60px] -top-[16px]":_(J)===`vertical`,"bottom-[calc(12px+0.25rem)] w-[60px] h-[32px] -left-[30px]":_(J)===`horizontal`}])},[_(ln)?(G(),f(`span`,rC,o(_(F)(`components.timeline.live`)),1)):(G(),f(`span`,{key:1,ref_key:`timeLabelEl`,ref:We,class:`text-xs font-semibold`},null,512))],2)],6),[[y,(!_(en)||_(dn))&&_(Qe)!==`find`]]),H(`div`,{ref_key:`viewportRef`,ref:Re,class:Z([`w-full h-full relative overflow-hidden overscroll-none`,{"select-none":_(Pt)}]),style:C({touchAction:_(Qe)===`find`?void 0:`none`,cursor:_(Qe)===`timeline`?_(Pt)?`grabbing`:`grab`:void 0}),dir:_(J)===`horizontal`?`rtl`:`ltr`},[_(Qe)===`timeline`?(G(),f(`div`,{ref_key:`motionLayerRef`,ref:dt,key:_(Ke),class:Z([`absolute inset-0`,{"h-full":_(J)===`horizontal`}]),style:{"will-change":`transform`},dir:`ltr`},[(G(!0),f(x,null,R(_(Jn),e=>(G(),f(`div`,{key:`tick-${e.timestamp}-${_(Ke)}`,class:Z([`absolute text-muted-color select-none`,{"w-full flex h-[2px]":_(J)===`vertical`,"h-full flex flex-col w-[2px]":_(J)===`horizontal`}]),style:C({[_(J)===`vertical`?`top`:`right`]:`${e.position}px`,color:_(he)}),"data-future-tick":e.isFutureTick},[_(J)===`vertical`?(G(),f(x,{key:0},[(G(),f(`svg`,{width:e.isLabelTick?16:e.isMediumTick?8:4,height:`2`,class:Z([`ml-1`,{"opacity-50":!e.isLabelTick}]),preserveAspectRatio:`xMidYMid meet`},[H(`rect`,{x:`0`,y:`0`,width:e.isLabelTick?16:e.isMediumTick?8:4,height:e.isLabelTick?2:1,fill:`currentColor`,rx:e.isLabelTick?1.5:.5,ry:e.isLabelTick?1.5:.5},null,8,sC)],10,oC)),H(`div`,cC,[e.isLabelTick?(G(),f(`span`,lC,o(e.time),1)):B(``,!0)])],64)):(G(),f(`div`,uC,[H(`div`,dC,[e.isLabelTick?(G(),f(`span`,fC,o(e.time),1)):B(``,!0)]),(G(),f(`svg`,{width:`2`,height:e.isLabelTick?16:e.isMediumTick?8:4,class:Z([`mb-1`,{"opacity-50":!e.isLabelTick}]),preserveAspectRatio:`xMidYMid meet`},[H(`rect`,{x:`0`,y:`0`,width:e.isLabelTick?2:1,height:e.isLabelTick?16:e.isMediumTick?8:4,fill:`currentColor`,rx:e.isLabelTick?1.5:.5,ry:e.isLabelTick?1.5:.5},null,8,mC)],10,pC))]))],14,aC))),128)),_(J)===`vertical`?(G(),f(`div`,{key:0,class:`absolute top-0 w-[8px] rounded-sm pointer-events-none`,style:C({left:`calc(16px + 0.25rem + 60px + 2rem)`,height:`${_(Bn)}px`,background:`var(--timeline-track-background)`})},null,4)):B(``,!0),_(J)===`horizontal`?(G(),f(`div`,{key:1,class:`absolute right-0 h-[8px] rounded-sm pointer-events-none`,style:C({bottom:`calc(16px + 0.25rem + 12px + 2rem)`,width:`${_(Bn)}px`,background:`var(--timeline-track-background)`})},null,4)):B(``,!0),_(J)===`vertical`&&_(Q).systemEvents.length?(G(),f(`div`,{key:2,class:`absolute top-0 left-0 right-0 pointer-events-none z-2`,style:C({height:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Q).systemEvents,e=>(G(),f(`div`,{key:`sys-v-${e.id}`,class:`absolute left-0 right-0 flex items-start justify-center overflow-hidden`,style:C({top:`${e.endPx}px`,height:`${e.heightPx}px`})},[(G(!0),f(x,null,R(e.segments,(e,t)=>(G(),f(`div`,{key:t,class:Z([`absolute left-0 border-l-2`,e.tint?pr(e.palette):mr(e.palette)]),style:C({top:`${e.offsetPx}px`,height:`${e.sizePx}px`,width:e.tint&&!e.wide?`calc(16px + 0.25rem + 60px + 2rem + 8px)`:`100%`})},null,6))),128)),e.showLabel?(G(),f(`div`,hC,[A((G(),f(`span`,{ref_for:!0,ref:t=>xt(e.id,t),class:`text-xs truncate max-w-full opacity-80 px-1 pt-0.5 pointer-events-auto`,style:{"will-change":`transform`}},[c(o(e.message),1)])),[[u,e.tooltip,void 0,{top:!0}]])])):B(``,!0)],4))),128))],4)):B(``,!0),_(J)===`vertical`&&_(Q).systemEvents.length?(G(),f(`div`,{key:3,class:`absolute top-0 left-0 right-0 pointer-events-none z-5`,style:C({height:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Q).systemEvents,e=>(G(),f(x,{key:`sys-vs-${e.id}`},[(G(!0),f(x,null,R(e.segments,(t,n)=>(G(),f(x,{key:n},[t.stripe?(G(),f(`div`,{key:0,class:`absolute w-[8px] rounded-sm`,style:C({top:`${e.endPx+t.offsetPx}px`,height:`${t.sizePx}px`,left:`calc(16px + 0.25rem + 60px + 2rem)`,background:`var(${gr(t.palette)})`})},null,4)):B(``,!0)],64))),128))],64))),128))],4)):B(``,!0),_(J)===`horizontal`&&_(Q).systemEvents.length?(G(),f(`div`,{key:4,class:`absolute right-0 top-0 bottom-0 pointer-events-none z-2`,style:C({width:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Q).systemEvents,e=>(G(),f(`div`,{key:`sys-h-${e.id}`,class:`absolute top-0 bottom-0 flex items-center justify-center overflow-hidden`,style:C({right:`${e.endPx}px`,width:`${e.heightPx}px`})},[(G(!0),f(x,null,R(e.segments,(e,t)=>(G(),f(`div`,{key:t,class:Z([`absolute top-0 bottom-0 border-b-2`,mr(e.palette)]),style:C({right:`${e.offsetPx}px`,width:`${e.sizePx}px`,background:e.tint?`linear-gradient(to top, var(${hr(e.palette)}), transparent)`:void 0})},null,6))),128)),e.showLabel?(G(),f(`div`,gC,[A((G(),f(`span`,{ref_for:!0,ref:t=>xt(e.id,t),class:`text-xs truncate max-h-full opacity-80 pointer-events-auto`,style:{"writing-mode":`vertical-rl`,"will-change":`transform`}},[c(o(e.message),1)])),[[u,e.tooltip,void 0,{top:!0}]])])):B(``,!0)],4))),128))],4)):B(``,!0),_(J)===`horizontal`&&_(Q).systemEvents.length?(G(),f(`div`,{key:5,class:`absolute right-0 top-0 bottom-0 pointer-events-none z-5`,style:C({width:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Q).systemEvents,e=>(G(),f(x,{key:`sys-hs-${e.id}`},[(G(!0),f(x,null,R(e.segments,(t,n)=>(G(),f(x,{key:n},[t.stripe?(G(),f(`div`,{key:0,class:`absolute h-[8px] rounded-sm`,style:C({right:`${e.endPx+t.offsetPx}px`,width:`${t.sizePx}px`,bottom:`calc(16px + 0.25rem + 12px + 2rem)`,background:`var(${gr(t.palette)})`})},null,4)):B(``,!0)],64))),128))],64))),128))],4)):B(``,!0),_(J)===`vertical`&&_(qt)?.length?(G(),f(`div`,{key:6,class:`absolute top-0 right-0 pointer-events-none z-3`,style:C({left:`calc(16px + 0.25rem + 60px + 2rem)`,height:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Yn),e=>(G(),f(`div`,{key:`line-v-${e.id}`,class:`absolute left-0 right-0 flex items-center -translate-y-1/2`,style:C({top:`${e.topPx}px`})},[n[20]||=H(`div`,{class:`flex-1 h-[1px]`,style:{background:`var(--timeline-event-line)`}},null,-1),H(`div`,_C,[(G(!0),f(x,null,R(e.displayTypes,(e,n)=>(G(),t(j(Qn[e]??_($n)),{key:`icon-${n}`,class:`w-4.5 h-4.5 shrink-0`,style:{color:`var(--timeline-event-icon)`}}))),128)),e.extraCount>0?(G(),f(`span`,{key:0,class:`text-xs shrink-0 opacity-60`,style:{color:`var(--timeline-event-icon)`},title:e.types.join(`, `)},`+`+o(e.extraCount),9,vC)):B(``,!0)]),n[21]||=H(`div`,{class:`flex-1 h-[1px]`,style:{background:`var(--timeline-event-line)`}},null,-1),H(`div`,{ref_for:!0,ref:t=>vt(e.id,t),class:`shrink-0 mr-5 relative pointer-events-auto cursor-pointer transition-transform duration-300 hover:scale-110`,onPointerdown:n[9]||=ie(()=>{},[`stop`]),onClick:t=>br(e.timestamp,e.cameraId)},[H(`div`,bC,[e.thumbnail?(G(),t(Yx,{key:0,src:e.thumbnail,width:`128px`,height:`72px`,"image-style":{objectFit:`cover`},"image-container-class":`w-full h-full`},null,8,[`src`])):(G(),t(l,{key:1,width:`128px`,height:`72px`}))])],40,yC)],4))),128))],4)):B(``,!0),_(J)===`horizontal`&&_(qt)?.length?(G(),f(`div`,{key:7,class:`absolute right-0 top-0 pointer-events-none z-3`,style:C({bottom:`calc(16px + 0.25rem + 12px + 2rem)`,width:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Yn),e=>(G(),f(`div`,{key:`line-h-${e.id}`,class:`absolute top-0 bottom-0 flex flex-col items-center translate-x-1/2`,style:C({right:`${e.topPx}px`})},[H(`div`,{ref_for:!0,ref:t=>vt(e.id,t),class:`shrink-0 mt-5 pointer-events-auto cursor-pointer relative transition-all duration-300 timeline-thumb-h`,onPointerdown:n[10]||=ie(()=>{},[`stop`]),onClick:t=>br(e.timestamp,e.cameraId)},[H(`div`,SC,[e.thumbnail?(G(),t(Yx,{key:0,src:e.thumbnail,width:`64px`,height:`36px`,"image-style":{objectFit:`cover`},"image-container-class":`w-full h-full`},null,8,[`src`])):(G(),t(l,{key:1,width:`64px`,height:`36px`}))])],40,xC),n[22]||=H(`div`,{class:`flex-1 w-[1px]`,style:{background:`var(--timeline-event-line)`}},null,-1),H(`div`,CC,[(G(!0),f(x,null,R(e.displayTypes,(e,n)=>(G(),t(j(Qn[e]??_($n)),{key:`icon-h-${n}`,class:`w-4.5 h-4.5 shrink-0`,style:{color:`var(--timeline-event-icon)`}}))),128)),e.extraCount>0?(G(),f(`span`,{key:0,class:`text-xs shrink-0 opacity-60`,style:{color:`var(--timeline-event-icon)`},title:e.types.join(`, `)},`+`+o(e.extraCount),9,wC)):B(``,!0)]),n[23]||=H(`div`,{class:`flex-1 w-[1px]`,style:{background:`var(--timeline-event-line)`}},null,-1)],4))),128))],4)):B(``,!0),_(J)===`vertical`&&_(Kt)?.length?(G(),f(`div`,{key:8,class:`absolute top-0 pointer-events-none z-1`,style:C({left:`calc(16px + 0.25rem + 60px + 2rem)`,height:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Q).recordings,(e,t)=>(G(),f(`div`,{key:t,class:`absolute w-[8px] rounded-sm`,style:C({top:`${e.topPx}px`,height:`${e.heightPx}px`,background:`var(--timeline-recording-bar)`})},null,4))),128))],4)):B(``,!0),_(J)===`horizontal`&&_(Kt)?.length?(G(),f(`div`,{key:9,class:`absolute right-0 h-[8px] pointer-events-none z-1`,style:C({bottom:`calc(16px + 0.25rem + 12px + 2rem)`,width:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Q).recordings,(e,t)=>(G(),f(`div`,{key:t,class:`absolute h-full rounded-sm`,style:C({right:`${e.topPx}px`,width:`${e.heightPx}px`,background:`var(--timeline-recording-bar)`})},null,4))),128))],4)):B(``,!0),_(J)===`vertical`&&_(qt)?.length?(G(),f(`div`,{key:10,class:`absolute top-0 pointer-events-none z-4`,style:C({left:`calc(16px + 0.25rem + 60px + 2rem)`,height:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Q).motionBars,(e,t)=>(G(),f(`div`,{key:`bar-motion-v-${t}`,class:`absolute w-[4px] ml-[2px] rounded-full`,style:C({top:`${e.topPx}px`,height:`${e.heightPx}px`,background:`var(--timeline-event-bar)`})},null,4))),128)),(G(!0),f(x,null,R(_(Q).detectionBars,(e,t)=>(G(),f(`div`,{key:`bar-det-v-${t}`,class:`absolute w-[8px] rounded-full`,style:C({top:`${e.topPx}px`,height:`${e.heightPx}px`,background:`var(--timeline-event-bar)`})},null,4))),128))],4)):B(``,!0),_(J)===`horizontal`&&_(qt)?.length?(G(),f(`div`,{key:11,class:`absolute right-0 h-[8px] pointer-events-none z-4`,style:C({bottom:`calc(16px + 0.25rem + 12px + 2rem)`,width:`${_(Bn)}px`})},[(G(!0),f(x,null,R(_(Q).motionBars,(e,t)=>(G(),f(`div`,{key:`bar-motion-h-${t}`,class:`absolute h-[4px] mt-[2px] rounded-full`,style:C({right:`${e.topPx}px`,width:`${e.heightPx}px`,background:`var(--timeline-event-bar)`})},null,4))),128)),(G(!0),f(x,null,R(_(Q).detectionBars,(e,t)=>(G(),f(`div`,{key:`bar-det-h-${t}`,class:`absolute h-full rounded-full`,style:C({right:`${e.topPx}px`,width:`${e.heightPx}px`,background:`var(--timeline-event-bar)`})},null,4))),128))],4)):B(``,!0),_(en)?(G(),t(LS,{key:12,orientation:_(J),"now-ms":_(cn),"time-ms-per-px":_(Rt).timeMsPerPx,"future-offset":cw,"viewport-height":_(J)===`vertical`?_(Xe).height.value:_(Xe).width.value,"content-height":_(Bn),"viewport-element":_(Re),"read-motion":ht,"write-motion":Et,"recording-duration-ms":_(an),variant:i.trimVariant,"start-ms":_(tn),"onUpdate:startMs":n[11]||=e=>b(tn)?tn.value=e:null,"end-ms":_(nn),"onUpdate:endMs":n[12]||=e=>b(nn)?nn.value=e:null,onScrub:_(on).onTrimScrub,onDragStart:_(on).onTrimDragStart,onDragEnd:_(on).onTrimDragEnd},null,8,[`orientation`,`now-ms`,`time-ms-per-px`,`viewport-height`,`content-height`,`viewport-element`,`recording-duration-ms`,`variant`,`start-ms`,`end-ms`,`onScrub`,`onDragStart`,`onDragEnd`])):B(``,!0)],2)):_(Qe)===`detections`?(G(),f(`div`,{key:1,ref_key:`motionLayerRef`,ref:dt,class:`absolute inset-0`,style:{"will-change":`transform`},dir:`ltr`},[_(J)===`horizontal`?(G(!0),f(x,{key:0},R(_(er),e=>(G(),f(`div`,{key:`det-h-${e.id}`,"data-detection-id":e.id,class:`absolute bottom-2 px-1 cursor-pointer`,style:C({right:`${e.topPx+cw}px`,width:`${uw}px`,top:`${fw}px`})},[H(`div`,EC,[H(`div`,DC,[e.thumbnail?(G(),t(Yx,{key:0,src:e.thumbnail,width:`100%`,"image-style":{objectFit:`cover`,width:`100%`,height:`100%`},"image-container-class":`w-full h-full`},null,8,[`src`])):(G(),t(l,{key:1,width:`100%`,height:`100%`})),Fn(e)?(G(),f(`span`,OC,o(Fn(e)),1)):B(``,!0)]),H(`div`,kC,[(G(!0),f(x,null,R(e.displayTypes,e=>(G(),t(j(Qn[e]??_($n)),{key:e,class:`w-3.5 h-3.5 shrink-0`,style:{color:`var(--timeline-event-icon)`}}))),128)),H(`span`,AC,o(dr(e.timestamp))+` `+o(_(Hx)(e.timestamp,`HH:mm`)),1),H(`span`,jC,o(fr(e.duration)),1)])])],12,TC))),128)):(G(!0),f(x,{key:1},R(_(er),e=>(G(),f(`div`,{key:`det-${e.id}`,"data-detection-id":e.id,class:`absolute w-full border-b-[1px] border-color cursor-pointer`,style:C({top:`${e.topPx+cw}px`,height:`${lw}px`})},[H(`div`,NC,[H(`div`,PC,[H(`span`,FC,o(dr(e.timestamp)),1),H(`span`,IC,o(_(Hx)(e.timestamp,`HH:mm`)),1),Fn(e)?(G(),f(`span`,LC,o(Fn(e)),1)):B(``,!0),H(`span`,RC,o(fr(e.duration)),1),H(`div`,zC,[(G(!0),f(x,null,R(e.displayTypes,e=>(G(),t(j(Qn[e]??_($n)),{key:e,class:`w-4 h-4 shrink-0`,style:{color:`var(--timeline-event-icon)`}}))),128)),e.extraCount>0?(G(),f(`span`,{key:0,class:`text-xs shrink-0 opacity-60`,style:{color:`var(--timeline-event-icon)`},title:[...new Set(e.types)].join(`, `)},`+`+o(e.extraCount),9,BC)):B(``,!0)])]),H(`div`,VC,[H(`div`,HC,[e.thumbnail?(G(),t(Yx,{key:0,src:e.thumbnail,width:`100%`,"image-style":{objectFit:`cover`,width:`100%`,height:`100%`},"image-container-class":`w-full h-full`},null,8,[`src`])):(G(),t(l,{key:1,width:`100%`,height:`100%`}))])])])],12,MC))),128))],512)):B(``,!0),_(Ye)?(G(),f(`div`,{key:2,ref_key:`findRef`,ref:ze,class:Z([`absolute inset-0 overscroll-contain`,[_(nt)===`grid`?`overflow-y-auto overflow-x-hidden`:`overflow-x-auto overflow-y-hidden`,{"invisible pointer-events-none":_(Qe)!==`find`}]]),style:C(_(nt)===`grid`?{touchAction:`pan-y`,paddingBottom:_(et)?pw:void 0}:{touchAction:`pan-x`,paddingTop:`${fw}px`}),dir:`ltr`,onWheel:yr},[k(e.$slots,`find`,{layout:_(nt)},void 0,!0)],38)):B(``,!0)],14,iC)],4)]))]),_:3},8,[`class`,`pt`]),_(He).has(`date`)?(G(),t(_(De),{key:0,ref_key:`datePickerRef`,ref:Be,"append-to":_(st),class:Z({"!fixed !inset-x-2 !top-[calc(env(safe-area-inset-top)+0.5rem)] !bottom-[calc(env(safe-area-inset-bottom)+0.5rem)] !m-auto h-fit w-fit":i.mdBreakpoint}),pt:{content:{class:`p-0`}},onShow:wr,onHide:n[15]||=e=>Ge.value=!1},{default:X(()=>[d(_(Ee),{modelValue:_(Je),"onUpdate:modelValue":n[13]||=e=>b(Je)?Je.value=e:null,inline:``,"hour-format":`12`,"show-time":``,"max-date":_(ur),"clear-button-props":{class:`hidden`},class:`hover:text-primary active:text-primary focus:text-primary text-muted-color`,updateModelType:`date`,"input-class":{"p-0":i.mdBreakpoint},pt:{pcInputText:{root:{class:`text-sm !text-color`}},inputIconContainer:{class:`transition-all text-current`},panel:{class:`border-none`}}},{date:X(({date:e})=>[H(`span`,UC,[c(o(e.day)+` `,1),or(e.year,e.month,e.day)?(G(),f(`span`,WC)):B(``,!0)])]),_:1},8,[`modelValue`,`max-date`,`input-class`]),H(`div`,GC,[d(_(Oe),{label:_(F)(`components.timeline.date_cancel`),severity:`secondary`,text:``,size:`small`,onClick:n[14]||=e=>_(Be)?.hide()},null,8,[`label`]),d(_(Oe),{label:_(F)(`components.timeline.date_apply`),size:`small`,onClick:Tr},null,8,[`label`])])]),_:1},8,[`append-to`,`class`])):B(``,!0),_(He).has(`filter`)?(G(),t(_(De),{key:1,ref_key:`filterPopoverRef`,ref:Ve,"append-to":_(st),pt:{content:{class:`p-3`}}},{default:X(()=>[H(`div`,KC,[H(`span`,qC,o(_(F)(`components.timeline.filter_events`)),1),H(`div`,JC,[(G(),f(x,null,R(Tn,e=>H(`label`,{key:e,class:`flex items-center gap-2.5 px-1 py-1 rounded-md cursor-pointer hover:bg-emphasis`},[d(_(je),{"model-value":Dn(e),binary:``,size:`small`,"onUpdate:modelValue":t=>On(e)},null,8,[`model-value`,`onUpdate:modelValue`]),(G(),t(j(Qn[e]??_($n)),{class:`w-4 h-4 shrink-0 text-muted-color`})),H(`span`,YC,o(kn(e)),1)])),64))]),_(En)?(G(),f(x,{key:0},[H(`span`,XC,o(_(F)(`components.timeline.filter_cameras`)),1),H(`label`,ZC,[d(_(Te),{modelValue:_(K),"onUpdate:modelValue":n[16]||=e=>b(K)?K.value=e:null,value:`camera`,size:`small`},null,8,[`modelValue`]),H(`span`,QC,o(_(F)(`components.timeline.filter_scope_camera`)),1)]),H(`label`,$C,[d(_(Te),{modelValue:_(K),"onUpdate:modelValue":n[17]||=e=>b(K)?K.value=e:null,value:`all`,size:`small`},null,8,[`modelValue`]),H(`span`,ew,o(_(F)(`components.timeline.filter_scope_all`)),1)])],64)):B(``,!0),_(bn)?(G(),f(x,{key:1},[H(`span`,tw,o(_(F)(`components.timeline.filter_search`)),1),H(`label`,nw,[d(_(je),{modelValue:_(q),"onUpdate:modelValue":n[18]||=e=>b(q)?q.value=e:null,binary:``,size:`small`},null,8,[`modelValue`]),H(`span`,rw,o(_(F)(`components.timeline.filter_search_matches`)),1)])],64)):B(``,!0),_(vn)?(G(),f(x,{key:2},[H(`span`,iw,o(_(F)(`components.timeline.filter_zone`)),1),H(`label`,aw,[d(_(je),{"model-value":!!i.zoneFilterActive,binary:``,size:`small`,"onUpdate:modelValue":n[19]||=e=>g(`toggle-zone-filter`)},null,8,[`model-value`]),H(`span`,ow,o(_(F)(`components.timeline.filter_zone_enable`)),1)]),i.zoneFilterActive?(G(),f(`span`,sw,o(_(F)(`components.timeline.filter_zone_hint`)),1)):B(``,!0)],64)):B(``,!0)])]),_:1},8,[`append-to`])):B(``,!0)],2)}}}),[[`__scopeId`,`data-v-b24dd2f7`]]);function Sw(){return Zl(`@camera.ui/camera-ui-nvr`,{lane:`bulk`})}var Cw=Symbol(`EventHoverPreview`),ww=12,Tw=16,Ew=2,Dw=15e5,Ow=15e5,kw=4,Aw=128e6,jw=1e4,Mw=.9,Nw=1.4,Pw=2,Fw=.3,Iw=1500,Lw=4e3;function Rw(e,t,n){let r=e,i=t;if(i-r<Lw){let e=Math.ceil((Lw-(i-r))/2);r-=e,i+=e,i>n&&(r-=i-n,i=n)}return{from:r,to:i}}function zw(e,t,n,r){let i=Math.max(1,e.width*t),a=Math.max(1,e.height*n),o=i*Nw,s=a*Nw;o/s>r?s=o/r:o=s*r;let c=n/Pw;s<c&&(s=c,o=s*r),o>t&&(o=t,s=o/r),s>n&&(s=n,o=s*r);let l=(e.x+e.width/2)*t,u=(e.y+e.height/2)*n;return{x:Math.min(Math.max(l-o/2,0),t-o),y:Math.min(Math.max(u-s/2,0),n-s),width:o,height:s}}function Bw(e,t,n,r){let i=0,a=0;for(let t of e)t.box?(i=Math.max(i,t.box.width),a=Math.max(a,t.box.height)):t.path&&(i=Math.max(i,Fw),a=Math.max(a,Fw));if(i<=0||a<=0)return null;let o=zw({x:.5-i/2,y:.5-a/2,width:i,height:a},t,n,r);return{width:o.width,height:o.height}}function Vw(e,t,n=Iw){for(let r of e)if(t>=r.fromMs-n&&t<=r.toMs+n)return r;return null}function Hw(e,t){if(e.length===0)return null;let n=e.find(e=>t>=e.fromMs&&t<=e.toMs);if(!n){n=e[0];let r=1/0;for(let i of e){let e=t<i.fromMs?i.fromMs-t:t-i.toMs;e<r&&(r=e,n=i)}}if(n.path){let e=Math.max(1,n.toMs-n.fromMs),r=Math.min(1,Math.max(0,(t-n.fromMs)/e));return{cx:n.path.enterX+(n.path.exitX-n.path.enterX)*r,cy:n.path.enterY+(n.path.exitY-n.path.enterY)*r}}return n.box?{cx:n.box.x+n.box.width/2,cy:n.box.y+n.box.height/2}:null}function Uw(e,t){let n=t*1e3;return{cameraId:e,startUs:n-Dw,endUs:n+Dw,count:1}}function Ww(e){let t=e.reduce((e,t)=>e+(t.endMs-t.startMs),0)||1;return e.map(e=>Math.max(Ew,Math.round(Tw*(e.endMs-e.startMs)/t)))}function Gw(e,t){let n=e??0;return n<=0?t:Math.min(Math.max(Math.floor(Ow/n),kw),t)}function Kw(e,t,n,r,i,a){if(n<=0||r<=0||e<=0||t<=0)return;let o=a??(e/t>n/r?t:e*r/n),s=r*i/o;return s<Mw?Math.round(e*s):void 0}function qw(e){return`${e.cameraId}:${e.startUs}:${e.endUs}:${e.count}`}function Jw(e,t){return{frames:[],cameraId:e,privacy:t,lastTsUs:-1/0,decoding:Promise.resolve(),settled:!1}}function Yw(e){return(e.frames??[]).reduce((e,t)=>e+t.frame.byteLength,0)}function Xw(e){return e.clientWidth>0&&e.clientHeight>0?e.clientWidth/e.clientHeight:1}function Zw(e){let t=window.devicePixelRatio||1;return{w:e.clientWidth*t,h:e.clientHeight*t}}function Qw(e,t){if(!e)return!0;let n=Zw(t);return n.w*Mw<=e.w&&n.h*Mw<=e.h}function $w(e){return e!==null&&clearTimeout(e),null}function eT(t){let n=t?.cacheSize??20,r=t?.hoverDelay??400,i=t?.posterDelay??200,a=t?.frameInterval??300,{plugin:o}=Sw(),{on:s,off:c}=Ns(),l=new Map,u=0,d=new Map,f=0,p=null,m=null,h=null,g=null,_=null,v=null,y=e(!1),b=e(`idle`),x=e(0),S=e(``);function C(e){return e.gen===f&&!e.timedOut}function w(){d.clear()}s(`reconnected`,w);function T(e){let t=qw(e),n=d.get(t);if(n)return n;let r=o.value;if(!r)return Promise.reject(Error(`nvr plugin not available`));let i=r.nvrPreviewFrames(e.cameraId,e.startUs,e.endUs,e.count).finally(()=>{d.get(t)===i&&d.delete(t)});return d.set(t,i),i}function E(e,t){let n=t.reduce((e,t)=>e+t.bm.width*t.bm.height*4,0);D(e.key),l.set(e.key,{frames:t,bytes:n,sizedFor:e.sizedFor}),u+=n,e.cached=!0,O()}function D(e){let t=l.get(e);if(t){l.delete(e),u-=t.bytes;for(let e of t.frames)e.bm.close()}}function O(){for(let e of l.keys()){if(l.size<=n&&u<=Aw)return;p?.cached&&p.key===e||D(e)}}function k(e,t){let{ctx:n,canvas:r,focus:i}=e;if(!n)return;x.value=t.tsMs,S.value=t.cameraId??e.cameraId;let a=t.privacy??e.privacy,o=t.bm.width,s=t.bm.height,c=i?Bw(i,o,s,Xw(r)):null,l=c&&i&&Vw(i,t.tsMs)&&i?Hw(i,t.tsMs):null;if(c&&l){let e=Math.min(Math.max(l.cx*o-c.width/2,0),o-c.width),i=Math.min(Math.max(l.cy*s-c.height/2,0),s-c.height);A(r,Math.round(c.width),Math.round(c.height)),n.drawImage(t.bm,e,i,c.width,c.height,0,0,r.width,r.height),j(n,o,s,{x:e,y:i},a)}else A(r,o,s),n.drawImage(t.bm,0,0),j(n,o,s,null,a)}function A(e,t,n){e.width!==t&&(e.width=t),e.height!==n&&(e.height=n)}function j(e,t,n,r,i){if(i.length!==0){e.fillStyle=`#000`;for(let a of i)if(!(a.points.length<3)){e.beginPath();for(let[i,[o,s]]of a.points.entries()){let a=o/100*t-(r?.x??0),c=s/100*n-(r?.y??0);i===0?e.moveTo(a,c):e.lineTo(a,c)}e.closePath(),e.fill()}}}function M(e){let t=[];for(let n of e.parts)if(t.push(...n.frames),!n.settled)break;return t}function N(e){return e.parts.every(e=>e.settled)}function P(e){if(_=null,!C(e))return;let t=M(e),n=e.idx+1;if(n>=t.length){if(!N(e)){e.waiting=!0;return}n=0}e.idx=n,v=requestAnimationFrame(()=>{v=null,C(e)&&(k(e,t[n]),_=window.setTimeout(()=>P(e),a))})}function F(e){if(!C(e))return;let t=M(e);if(e.drawn)e.waiting&&(e.idx+1<t.length||N(e))&&(e.waiting=!1,P(e));else{if(t.length===0)return;e.drawn=!0,e.idx=0,g=$w(g),y.value=!1,b.value=`playing`,k(e,t[0]),_=window.setTimeout(()=>P(e),a)}}function I(e,t,n){let r=e.focus?Bw(e.focus,t,n,Xw(e.canvas))?.height:void 0,i=Kw(t,n,e.canvas.clientWidth,e.canvas.clientHeight,window.devicePixelRatio||1,r);if(!i)return;let a=Zw(e.canvas);return e.sizedFor=e.sizedFor?{w:Math.min(e.sizedFor.w,a.w),h:Math.min(e.sizedFor.h,a.h)}:a,{resizeWidth:i,resizeQuality:`medium`}}async function L(e,t,n,r){try{if(!C(e))return;let i=r?await createImageBitmap(n,r):await createImageBitmap(n);if(!C(e)){i.close();return}t.frames.push({bm:i,tsMs:n.timestamp/1e3,cameraId:t.cameraId,privacy:t.privacy}),t.lastTsUs=n.timestamp,F(e)}catch{}finally{n.close()}}function R(e,t,n){let r=(n.frames??[]).filter(e=>e.ts>t.lastTsUs);if(!C(e)||r.length===0||!n.codecString)return Promise.resolve();let{decoderCodec:i,h264PatchLevel:a}=gb(n.codecString,n.width??0,n.height??0),o={codec:i,optimizeForLatency:!0};return n.width&&n.height&&(o.codedWidth=n.width,o.codedHeight=n.height),new Promise(n=>{let i=Promise.resolve(),s,c=!1,l=!1;function u(){if(!l){l=!0;try{d.close()}catch{}i.then(n)}}let d=cb(o.codec,{output:n=>{c||(c=!0,s=I(e,n.displayWidth,n.displayHeight));let r=s;i=i.then(()=>L(e,t,n,r))},error:()=>u()});try{d.configure(o);for(let e of r){let t=e.frame instanceof Uint8Array?e.frame:new Uint8Array(e.frame);(t.byteOffset!==0||t.buffer.byteLength!==t.byteLength)&&(t=new Uint8Array(t)),a!==null&&fb(t,a),d.decode(new EncodedVideoChunk({type:`key`,timestamp:e.ts,data:t}))}}catch{u();return}d.flush().catch(()=>{}).finally(u)})}function z(e,t){C(e)&&(t.settled=!0,N(e)&&B(e),F(e))}function B(e){let t=e.parts.flatMap(e=>e.frames);t.length===0?(g=$w(g),y.value=!1,b.value=`unavailable`):e.failed||E(e,t)}function V(e){g=null,C(e)&&!e.drawn&&(e.timedOut=!0,m=$w(m),h=$w(h),y.value=!1,b.value=`unavailable`)}function H(e){if(C(e)&&!e.sent&&e.posterSettled&&e.delayPassed){e.sent=!0,e.capped&&(e.requests[0].count=Gw(e.posterBytes,e.requests[0].count));for(let[t,n]of e.requests.entries()){let r=e.parts[t];T(n).then(t=>{C(e)&&(r.decoding=r.decoding.then(()=>R(e,r,t)).then(()=>z(e,r)))},()=>{C(e)&&(e.failed=!0,r.decoding=r.decoding.then(()=>z(e,r)))})}}}function ee(e,t){if(m=null,!C(e))return;y.value=!0,g=window.setTimeout(()=>V(e),jw);let n=e.parts[0];T(t).then(t=>{C(e)&&(e.posterBytes=Yw(t),n.decoding=R(e,n,t),e.posterSettled=!0,H(e))},()=>{C(e)&&(e.failed=!0,e.posterSettled=!0,H(e))})}function U(e,t,n,a){e.requests=n,a?e.delayPassed=!0:h=window.setTimeout(()=>{h=null,e.delayPassed=!0,H(e)},r),a||d.has(qw(t))?ee(e,t):m=window.setTimeout(()=>ee(e,t),i)}function W(e){let t=l.get(e.key);return!t||!Qw(t.sizedFor,e.canvas)?!1:(l.delete(e.key),l.set(e.key,t),e.parts=[{...Jw(),frames:t.frames,settled:!0}],e.cached=!0,e.drawn=!0,b.value=`playing`,P(e),!0)}function G(e){m=$w(m),h=$w(h),g=$w(g),_=$w(_),v!==null&&cancelAnimationFrame(v),v=null;let t=p;if(p=null,O(),t){if(!t.cached)for(let e of t.parts)for(let t of e.frames)t.bm.close();t.canvas!==e&&A(t.canvas,0,0)}}function te(e,t,n,r,i){G(e);let a={gen:++f,key:t,canvas:e,ctx:e.getContext(`2d`),cameraId:n,privacy:r,focus:i,parts:[],sizedFor:null,requests:[],capped:!1,posterBytes:0,posterSettled:!1,delayPassed:!1,sent:!1,failed:!1,timedOut:!1,cached:!1,drawn:!1,waiting:!1,idx:-1};return p=a,y.value=!1,b.value=`loading`,x.value=0,S.value=``,a}function K(e,t,n,r,i,a,o,s){if(!i||i<=r||typeof VideoDecoder>`u`){b.value=`unavailable`;return}let{from:c,to:l}=Rw(r,i,Date.now()),u=te(e,`${n}:${c}:${l}`,t,a??[],o??null);W(u)||(u.parts=[Jw()],u.capped=!0,U(u,Uw(t,c),[{cameraId:t,startUs:c*1e3,endUs:l*1e3,count:ww}],s?.immediate??!1))}function ne(e,t,n,r,i){let a=Date.now(),o=n.filter(e=>e.endMs>e.startMs).map(e=>{let{from:t,to:n}=Rw(e.startMs,e.endMs,a);return{cameraId:e.cameraId,startMs:t,endMs:n}});if(o.length===0||typeof VideoDecoder>`u`){b.value=`unavailable`;return}let s=te(e,`${t}:${o.map(e=>`${e.cameraId}:${e.startMs}:${e.endMs}`).join(`|`)}`,``,[],null);if(W(s))return;s.parts=o.map(e=>Jw(e.cameraId,r?.get(e.cameraId)??[]));let c=Ww(o),l=o.map((e,t)=>({cameraId:e.cameraId,startUs:e.startMs*1e3,endUs:e.endMs*1e3,count:c[t]}));U(s,Uw(o[0].cameraId,o[0].startMs),l,i?.immediate??!1)}function q(){++f,G(null),y.value=!1,b.value=`idle`,x.value=0,S.value=``}function re(){c(`reconnected`,w),q();for(let[,e]of l)for(let t of e.frames)t.bm.close();l.clear(),u=0}return{onHoverStart:K,onHoverStartSequence:ne,onHoverEnd:q,isLoading:y,status:b,previewTimeMs:x,previewCameraId:S,dispose:re}}var tT=320,nT=40,rT=60,iT=20,aT=500,oT=4,sT=4,cT=2e8,lT=3,uT=8;function dT(e,t){return!e||!t?uT:Math.min(uT,Math.max(lT,Math.floor(cT/(e*t*4))))}function fT(e,t,n,r,i=1/0){let a=e=>e.status!==`missing`&&!n.has(e.tick);if(!e.slice(t+1,t+3).some(a))return[];let o=[],s=0;for(let c=t+1;c<e.length&&o.length<r&&s<i;c++)n.has(e[c].tick)?s++:a(e[c])&&(o.push(e[c].tick),s++);return o}function pT(e){let t=new Map;for(let n of e){let e=n.frames[0];if(!e)continue;let r=`${n.codecString??``}|${n.width??0}|${n.height??0}`,i=t.get(r);i||(i=new Map,t.set(r,i));let a=i.get(e.ts);a?a.keep.push(...n.keep):i.set(e.ts,{...n,frames:[e],keep:[...n.keep]})}return[...t.values()].map(e=>[...e.values()])}function mT(){let{plugin:t}=Zl(`@camera.ui/camera-ui-nvr`),{plugin:n}=Sw(),r=e(),i=p([]),a=e(0),o=e(0),s=e(`idle`),c=e(`idle`),l=e(!1),u=h(()=>a.value+i.value.length<o.value),d=h(()=>a.value>0),f=0,m=0,g=0,_=``,v=``,y,b,x,S=Promise.resolve(),C=0,w=!1,T=!1,E=!1,D=uT,O=[],k=new Set,A=new Map,j=new Map,N=new Set;function P(){return t.value}function F(){return n.value??t.value}async function L(e,t,n){let c=++f;le(),T=!1,E=!1,_=e,v=t,y=n,s.value=`loading`;let l=P();if(!l){s.value=`unavailable`;return}let u=await B(l,{...z(n),config:!0},c);c===f&&(u?(r.value=u,o.value=u.total,u.ticks.length?(a.value=u.offset,i.value=hT(u.ticks),s.value=`ready`):s.value=`empty`):s.value=`unavailable`)}async function R(e){let t=++m,n=f,r=P();if(!r||s.value!==`ready`)return;let l=await B(r,z(e),n);t===m&&n===f&&l?.ticks.length&&(f++,ce(),o.value=l.total,a.value=l.offset,i.value=hT(l.ticks),c.value=`idle`)}function z(e){return e?{atMs:e,anchorIndex:iT,limit:rT}:{limit:rT}}async function B(e,t,n){if(!T)try{let r=await e.getEventTraceWindow(v,t);return n===f?gT(r):void 0}catch{if(n!==f)return;T=!0}return V(e,t,n)}async function V(e,t,n){let r=t.limit??rT,o=0,s=r;if(t.atMs?o=Math.max(0,await H(e,t.atMs)-(t.anchorIndex??0)):t.afterMs?o=a.value+i.value.length:t.beforeMs&&(s=Math.min(r,a.value),o=a.value-s),n!==f||s<=0)return;let[c,l]=await Promise.all([ee(e,o,s),t.config&&o>0?ee(e,0,1):void 0]);if(n===f&&c)return l?.config?{...c,config:l.config}:c}async function H(e,t){try{return Math.max(0,await e.getEventTraceOffset(v,t))}catch{return 0}}async function ee(e,t,n){try{return gT(await e.getEventTrace(v,t,n))}catch{return}}function U(){if(b)return b;let e=i.value[i.value.length-1];if(!u.value||!e)return Promise.resolve();let t=f,n=(async()=>{let n=P();if(!n)return;let r=await B(n,{afterMs:e.tick.tMs,limit:rT},t);t===f&&r&&(o.value=r.total,r.ticks.length===0?o.value=a.value+i.value.length:i.value=[...i.value,...hT(r.ticks)])})().finally(()=>{b===n&&(b=void 0)});return b=n,n}function W(){if(x)return x;let e=i.value[0];if(!d.value||!e)return Promise.resolve(0);let t=f,n=(async()=>{let n=P();if(!n)return 0;let r=await B(n,{beforeMs:e.tick.tMs,limit:rT},t);return t!==f||!r||(a.value=r.ticks.length?r.offset:0,r.ticks.length===0)?0:(i.value=[...hT(r.ticks),...i.value],r.ticks.length)})().finally(()=>{x===n&&(x=void 0)});return x=n,n}async function G(){let e=P();if(!e)return i.value.map(e=>e.tick);let t=Math.ceil(o.value/aT),n=[],r=0,a=t;return await Promise.all(Array.from({length:Math.min(oT,t)},async()=>{for(;r<a;){let t=r++,i=await ee(e,t*aT,aT);if(!i?.ticks.length){a=Math.min(a,t);return}n[t]=i.ticks}})),n.slice(0,a).flat()}function te(e,t){let n=f,r=i.value,a=[];for(let n=Math.max(0,e);n<=Math.min(r.length-1,t);n++){let e=r[n].tick;if(!k.has(e)&&(k.add(e),a.push(e),a.length>=nT))break}return a.length===0||(C++,c.value=`loading`,S=S.then(()=>K(a,n)).catch(()=>{}).finally(()=>{n===f&&(C--,!(C>0)&&c.value===`loading`&&(c.value=w&&!i.value.some(e=>e.thumb)?`unsupported`:`ready`))})),S}async function K(e,t){let n=F();if(!n||t!==f)return;let r=await ne(n,e);if(t!==f)return;if(!r){oe(e),i.value.every(e=>e.noThumb)&&(c.value=`nodata`);return}let a=new Set;for(let n of pT(r.chains)){let r=await ST(n,tT);if(t!==f){for(let e of r?.values()??[])e.close();return}if(!r){w=!0;continue}let o=new Map;for(let[t,i]of n.entries()){let n=r.get(t);if(n)for(let t of i.keep){let r=e[t.target];r&&o.set(r,n)}}let s=new Set;i.value=i.value.map(e=>{let t=o.get(e.tick);return!t||e.thumb?e:(s.add(t),a.add(e.tick),{...e,thumb:t})});for(let e of r.values())s.has(e)||e.close()}oe(e.filter(e=>!a.has(e)))}async function ne(e,t){let n=t.map(e=>({tMs:e.tMs}));if(!E)try{return _T(await e.nvrTraceStrip(_,n))}catch{E=!0}try{return _T(await e.nvrTraceFrames(_,n,`keyframe`))}catch{return}}async function q(e){O=[e,...O.filter(t=>t!==e)].slice(0,2);let t=f,n=i.value.find(t=>t.tick===e);if(n&&!(!A.has(e)&&n.status!==`missing`&&(await(j.get(e)??Y([e])),t!==f)))return J(e),A.get(e)}function re(e){return A.has(e)}function J(e){if(j.size>0)return;let t=i.value,n=t.findIndex(t=>t.tick===e);if(n<0)return;let r=O.filter(e=>A.has(e)&&t.findIndex(t=>t.tick===e)<=n).length,a=fT(t,n,A,sT,D-r);a.length>0&&Y(a)}function Y(e){let t=f,n=(async()=>{let n=F();if(!n)return;let{found:r,failed:i}=await X(n,e,()=>t===f);if(t!==f)return;let a=new Map;for(let t of e){if(i.has(t))continue;let e=r.get(t);a.set(t,e?e.exact?`exact`:`approx`:`missing`),e&&ae(t,e.bitmap)}se(a)})().finally(()=>{for(let t of e)j.get(t)===n&&j.delete(t)});for(let t of e)j.set(t,n);return n}async function ie(e){let t=F();if(!t||e.length===0)return new Map;let n=g;return(await X(t,e,()=>n===g)).found}async function X(e,t,n){let r=new Map,i=()=>{for(let e of r.values())e.bitmap.close();return{found:new Map,failed:new Set}},a=t;for(;a.length>0;){let t=a.map(e=>N.has(e.src??`high`)),o=await Z(e,a.map((e,n)=>t[n]?{tMs:e.tMs,src:`low`}:{tMs:e.tMs,rtp:e.rtp,src:e.src}));if(!n())return i();if(!o)return{found:r,failed:new Set(a)};let s=new Set;for(let e of _T(o)?.chains??[]){if(!n())return i();let o=await CT(e);if(!n()){for(let e of o?.values()??[])e.close();return i()}if(!o){N.add(e.role);for(let n of e.keep){let e=a[n.target],r=e?.src??`high`;e&&!t[n.target]&&r!==`low`&&(N.add(r),s.add(e))}continue}let c=new Set;for(let t of e.keep){let e=a[t.target],n=o.get(t.index);e&&n&&!r.has(e)&&(r.set(e,{bitmap:c.has(n)?await createImageBitmap(n):n,exact:t.exact}),c.add(n))}for(let e of o.values())c.has(e)||e.close()}if(!n())return i();s.size>0&&(l.value=!0),a=[...s]}return{found:r,failed:new Set}}async function Z(e,t){try{return await e.nvrTraceFrames(_,t,`exact`)}catch{return}}function ae(e,t){if(A.has(e)){t.close();return}if(A.set(e,t),D=dT(t.width,t.height),A.size<=D)return;let n=i.value,r=O[0]?n.findIndex(e=>e.tick===O[0]):-1,a=[...A.keys()].filter(e=>!O.includes(e)).map(e=>{let t=n.findIndex(t=>t.tick===e);return{tick:e,rank:t<r?n.length+r-t:t-r}}).sort((e,t)=>t.rank-e.rank);for(let e of a){if(A.size<=D)break;A.get(e.tick)?.close(),A.delete(e.tick)}}function oe(e){if(e.length===0)return;let t=new Set(e);i.value=i.value.map(e=>t.has(e.tick)&&!e.thumb?{...e,noThumb:!0}:e)}function se(e){let t;for(let[n,r]of i.value.entries()){let a=e.get(r.tick);a&&a!==r.status&&(t??=i.value.slice(),t[n]={...r,status:a})}t&&(i.value=t)}function ce(){vT(i.value);for(let e of A.values())e.close();A.clear(),j.clear(),O=[],k.clear(),C=0,S=Promise.resolve(),b=void 0,x=void 0}function le(){ce(),w=!1,N.clear(),i.value=[],a.value=0,o.value=0,r.value=void 0,c.value=`idle`,l.value=!1}function ue(){f++,g++,le(),s.value=`idle`}return I(t,e=>{e&&s.value===`unavailable`&&v&&L(_,v,y)}),M(ue),{trace:r,frames:i,baseOffset:a,total:o,hasMore:u,hasEarlier:d,status:s,framesStatus:c,codecFallback:l,load:L,loadMore:U,loadEarlier:W,jumpTo:R,allTicks:G,ensureFrames:te,fullFrame:q,hasFullFrame:re,exactFrames:ie,dispose:ue}}function hT(e){return e.map(e=>({tick:e,status:`pending`}))}function gT(e){let t=e.ticks??[];return{...e,ticks:t,total:e.total??t.length}}function _T(e){return e.noData||!e.chains?.length?void 0:e}function vT(e){let t=new Set;for(let n of e)n.thumb&&!t.has(n.thumb)&&(t.add(n.thumb),n.thumb.close())}function yT(e,t){let n=e.frame instanceof Uint8Array?e.frame:new Uint8Array(e.frame);return(n.byteOffset!==0||n.buffer.byteLength!==n.byteLength)&&(n=new Uint8Array(n)),t!==null&&fb(n,t),n}function bT(e){let{decoderCodec:t,h264PatchLevel:n}=gb(e.codecString??``,e.width??0,e.height??0),r={codec:t,optimizeForLatency:!0};return e.width&&e.height&&(r.codedWidth=e.width,r.codedHeight=e.height),{config:r,patchLevel:n}}function xT(e,t){return t&&e.width&&e.width>t?{resizeWidth:t,resizeQuality:`medium`}:void 0}async function ST(e,t){let n=e[0];if(!n?.codecString||typeof VideoDecoder>`u`)return null;let{config:r,patchLevel:i}=bT(n);if(!await mb(r))return null;let a=xT(n,t),o=new Map;for(let[t,n]of e.entries()){let e=n.frames[0];e&&o.set(e.ts,t)}let s=new Map,c=[],l=!1,u=cb(r.codec,{output:e=>{let t=o.get(e.timestamp);t===void 0?e.close():c.push(createImageBitmap(e,a).then(e=>{s.set(t,e)}).catch(()=>{}).finally(()=>e.close()))},error:()=>{l=!0}});try{u.configure(r);for(let t of e){let e=t.frames[0];e&&u.decode(new EncodedVideoChunk({type:`key`,timestamp:e.ts,data:yT(e,i)}))}await u.flush()}catch{l=!0}await Promise.all(c);try{u.close()}catch{}if(l)for(let[n,r]of e.entries()){if(s.has(n))continue;let e=(await CT(r,t))?.get(0);e&&s.set(n,e)}return s}async function CT(e,t){if(!e.codecString||!e.frames.length||typeof VideoDecoder>`u`)return null;let{config:n,patchLevel:r}=bT(e);if(!await mb(n))return null;let i=new Map;for(let t of e.keep){let n=e.frames[t.index];n&&i.set(n.ts,t.index)}let a=xT(e,t),o=new Map;return new Promise(t=>{let s=0,c=!1,l=!1;function u(){if(!l){l=!0;try{d.close()}catch{}t(o)}}let d=cb(n.codec,{output:async e=>{let t=i.get(e.timestamp);try{t!==void 0&&o.set(t,await createImageBitmap(e,a))}catch{}finally{e.close(),s--,c&&s===0&&u()}},error:()=>u()});d.configure(n);for(let t of e.frames)s++,d.decode(new EncodedVideoChunk({type:t.keyframe?`key`:`delta`,timestamp:t.ts,data:yT(t,r)}));c=!0,d.flush().catch(()=>{}).finally(()=>{s===0&&u()})})}var wT=24,TT=null;function ET(e){return new Promise((t,n)=>{let r,i,a=!1,o=!1,s=e=>{o||(o=!0,r?.(),i&&clearInterval(i),e())},c=e=>{e.error?s(()=>n(Error(e.error))):s(()=>t(e.updated))},l=e=>s(()=>n(e instanceof Error?e:Error(String(e))));e.onFacesRescan(e=>{a&&!e.running&&c(e)}).then(t=>(r=t,o&&t(),e.startFacesRescan())).then(t=>{a=!0,t.running?i=setInterval(()=>{e.getFacesRescanStatus().then(e=>{e.running||c(e)}).catch(l)},1e4):c(t)}).catch(l)})}var DT=new Map;function OT(t){let n=DT.get(t);return n||(n={knownFaces:e([]),unknownFaces:e([]),ignoredFaces:e([]),isLoading:e(!1),initialLoadDone:e(!1),inFlight:null,lastConnected:!1,lastPlugin:void 0,thumbGeneration:0,clusterOrder:new Map,clusterOrderNext:0},DT.set(t,n)),n}function kT(e=`@camera.ui/camera-ui-nvr`){let{isConnected:t}=Ns(),{plugin:n,isLoading:r}=Zl(e),i=OT(e),{knownFaces:a,unknownFaces:o,ignoredFaces:s,initialLoadDone:c}=i,l=i.isLoading;function u(){return n.value}function d(e=!1){if(i.inFlight)return i.inFlight;let t=u();if(!t)return Promise.resolve();e||(l.value=!0);let n=++i.thumbGeneration;return i.inFlight=(async()=>{try{let e=t.listKnownFaceMeta().then(e=>({faces:e,lazy:!0}),async()=>({faces:await t.listKnownFaces(),lazy:!1})),r,c=!0;try{r=await t.listUnknownFaceMeta(500)}catch{c=!1,r=await t.getUnknownFaces(500)}let l=await e;a.value=m(l.faces??[],a.value,p),o.value=m(r??[],o.value,f),l.lazy&&g(i,n,a,e=>e.name,e=>t.getKnownFaceThumbnails(e),!1),c&&g(i,n,o,f,e=>t.getUnknownFaceThumbnails(e));let u,d=!0;try{u=await t.listIgnoredFaceMeta()}catch{d=!1,u=await t.listIgnoredFaces().catch(()=>void 0)}s.value=m(u??[],s.value,f),d&&g(i,n,s,f,e=>t.getIgnoredFaceThumbnails(e))}catch{}finally{l.value=!1,c.value=!0,i.inFlight=null}})(),i.inFlight}function f(e){return e.id}function p(e){return`${e.name}:${e.updatedAt}`}function m(e,t,n){if(t.length===0)return e;let r=new Map;for(let e of t)e.thumbnail&&r.set(n(e),e.thumbnail);return r.size===0?e:e.map(e=>{if(e.thumbnail)return e;let t=r.get(n(e));return t?{...e,thumbnail:t}:e})}async function g(e,t,n,r,i,a=!0){let o=new Set;for(;;){if(t!==e.thumbGeneration)return;let s=n.value.filter(e=>!e.thumbnail&&!o.has(r(e))).map(r);if(s.length===0)return;let c=s.slice(0,wT);for(let e of c)o.add(e);await vv();try{if(t!==e.thumbGeneration)return;let o=await i(c);if(t!==e.thumbGeneration)return;let s=new Set(Object.keys(o??{}));if(s.size===0)return;if(n.value=n.value.map(e=>o[r(e)]?{...e,thumbnail:o[r(e)]}:e),a&&s.size<c.length){let e=new Set(c.filter(e=>!s.has(e)));n.value=n.value.filter(t=>!e.has(r(t)))}}catch{return}finally{yv()}}}async function _(e){try{await e()}catch(e){throw await d(!0),e}}let v=h(()=>{let e=new Map,t=[];for(let n of o.value)if(n.clusterId&&n.clusterId!==`excluded`){let t=e.get(n.clusterId);t||(t=[],e.set(n.clusterId,t)),t.push(n)}else t.push(n);let n=[];for(let[t,r]of e){let e=r.reduce((e,t)=>(e.confidence??0)>=(t.confidence??0)?e:t);n.push({clusterId:t,faces:r,bestThumbnail:e.thumbnail?Ig(e.thumbnail):void 0})}let r=i.clusterOrder,a=n.filter(e=>!r.has(e.clusterId)).sort((e,t)=>t.faces.length-e.faces.length);for(let e of a)r.set(e.clusterId,i.clusterOrderNext++);if(r.size>n.length+500){r.clear(),i.clusterOrderNext=0;for(let e of[...n].sort((e,t)=>t.faces.length-e.faces.length))r.set(e.clusterId,i.clusterOrderNext++)}return n.sort((e,t)=>(r.get(e.clusterId)??0)-(r.get(t.clusterId)??0)),{clusters:n,ungrouped:t}});return I([t,n,r],([e,t,n])=>{if(n)return;if(!t){c.value=!0;return}if(!e){i.lastConnected=!1;return}let r=!i.lastConnected||t!==i.lastPlugin,a=i.lastPlugin!==void 0;i.lastConnected=!0,i.lastPlugin=t,(!c.value||r)&&d(c.value&&a)},{immediate:!0}),{knownFaces:a,unknownFaces:o,ignoredFaces:s,clusteredUnknowns:v,isLoading:h(()=>l.value||!c.value),isAvailable:h(()=>!!n.value),refresh:d,getFaceImages:async e=>await u()?.getFaceImages?.(e)??[],listFaceImageMeta:async e=>await u()?.listFaceImageMeta(e)??[],loadFaceImageThumbnails:async(e,t,n)=>{let r=u();if(r)for(let i=0;i<t.length;i+=wT){await vv();try{n(await r.getFaceImageThumbnails(e,t.slice(i,i+wT)))}finally{yv()}}},removeFaceImage:async(e,t)=>{await u()?.removeFaceImage?.(e,t)},enrollFace:async(e,t)=>{await u()?.enrollFace?.(e,t)},enrollFromEvent:async(e,t)=>{o.value=o.value.filter(e=>e.id!==t);try{await u()?.enrollFromEvent?.(e,t)}finally{await d(!0)}},enrollCluster:async(e,t)=>{let n=new Set(t);o.value=o.value.filter(e=>!n.has(e.id));try{await u()?.enrollCluster?.(e,t)}finally{await d(!0)}},reassignEventFace:async(e,t,n,r,i)=>{let a=await u()?.reassignEventFace?.(e,t,n,r,i)??0;return a>0&&(Gv(e),d(!0)),a},rescanFaces:async()=>{let e=u();if(!e)return 0;TT??=ET(e).finally(()=>{TT=null});let t=await TT;return t>0&&(Ly(),Kv()),t},deleteFace:async e=>{a.value=a.value.filter(t=>t.name!==e),await _(()=>u()?.deleteFace?.(e))},deleteUnknownFace:async e=>{o.value=o.value.filter(t=>t.id!==e),await _(()=>u()?.deleteUnknownFace?.(e))},deleteUnknownFaces:async e=>{let t=new Set(e);o.value=o.value.filter(e=>!t.has(e.id)),await _(()=>u()?.deleteUnknownFaces?.(e))},deleteAllUnknownFaces:async()=>{o.value=[],await _(()=>u()?.deleteAllUnknownFaces?.())},deleteUnknownFacesByCluster:async e=>{o.value=o.value.filter(t=>t.clusterId!==e),await _(()=>u()?.deleteUnknownFacesByCluster?.(e))},deleteUngroupedUnknownFaces:async()=>{o.value=o.value.filter(e=>e.clusterId&&e.clusterId!==`excluded`),await _(()=>u()?.deleteUngroupedUnknownFaces?.())},removeFromCluster:async e=>{let t=o.value.find(t=>t.id===e);t&&(t.clusterId=`excluded`),await _(()=>u()?.removeFromCluster?.(e))},removeFacesFromCluster:async e=>{let t=new Set(e);for(let e of o.value)t.has(e.id)&&(e.clusterId=`excluded`);await _(()=>u()?.removeFacesFromCluster?.(e))},ignoreFaces:async e=>{let t=new Set(e);o.value=o.value.filter(e=>!t.has(e.id));try{await u()?.ignoreUnknownFaces?.(e)}finally{await d(!0)}},ignoreCluster:async e=>{o.value=o.value.filter(t=>t.clusterId!==e);try{await u()?.ignoreUnknownFacesByCluster?.(e)}finally{await d(!0)}},unignoreFaces:async e=>{let t=new Set(e);s.value=s.value.filter(e=>!t.has(e.id));try{await u()?.deleteIgnoredFaces?.(e)}finally{await d(!0)}}}}function AT(t,n){let r=n?.sourceRole,i=n?.activeIds,a=Ns(),o=gm(),s=p(new Map),c=new Map,l=[],u=new Map;function d(e){let t=u.get(e);return t||(t=new Zb,u.set(e,t)),t}function f(e){let t=i?.value;return!t||t.includes(e)}function m(){return[...s.value].filter(([e])=>f(e))}let g=e(`idle`),_=e(0),y=e(0),b=e(null),x=e(null),S=!1,C=e(1),w=e(!0),T=!0,{current:E,claim:D}=_b(),O=h(()=>{let e=m();return e.length!==0&&e.every(([,e])=>e.noData.value)}),k=h(()=>{let e=m();return e.length!==0&&e.every(([,e])=>e.playbackError.value)}),A=h(()=>{let e=m();return e.length!==0&&e.some(([,e])=>e.licenseRequired.value)}),j=h(()=>{let e=m();return e.length!==0&&e.every(([,e])=>e.unsupported.value)}),N=h(()=>{let e=m();return e.length!==0&&e.some(([,e])=>e.hasAudio.value)}),P=h(()=>{let e=m();return e.length!==0&&e.some(([,e])=>e.loading.value)}),L=h(()=>g.value!==`idle`),R=h(()=>g.value===`play`);function z(){let e=x.value;return e?e.startMs+(performance.now()-e.wallStart)*e.speed:0}function B(){let e=x.value;return g.value===`play`&&e&&e.speed>0?Math.round((e.startMs+(performance.now()-e.wallStart)*e.speed)*1e3):_.value||Math.floor(z()*1e3)}function V(e,t,n){g.value=`scrub`,S=!1,x.value=null,_.value=e;for(let[,r]of m())r.scrub(e,t,n)}function H(e,t,n){g.value=`scrub`,S=!1,x.value=null,_.value=e;for(let[,r]of m())r.fineScrub(e,t,n)}function ee(e,t){g.value=`play`,_.value=e,y.value=0,S=!0,x.value={startMs:Math.floor(e/1e3),wallStart:performance.now(),speed:0,targetMs:Math.floor(e/1e3)};for(let[,n]of m())n.speed.value=C.value,n.play(e,t)}function U(){let e=z();S=!1,x.value={startMs:e,wallStart:performance.now(),speed:0},g.value=`pause`;for(let[,e]of m())e.pause()}function W(){let e=x.value;e&&(x.value={startMs:e.startMs,wallStart:performance.now(),speed:C.value}),g.value=`play`;for(let[,e]of m())e.resume()}function G(){S=!1;for(let e of s.value.values())e.stop();g.value=`idle`,x.value=null,C.value=1,_.value=0,y.value=0}function te(e){let t=e/1e3;g.value===`play`&&(S=!0),x.value={startMs:t,wallStart:performance.now(),speed:0},_.value=e,y.value=0;for(let[,t]of m())t.seek(e)}function ne(e){let t=z();if(C.value=e,x.value={startMs:t,wallStart:performance.now(),speed:g.value===`play`&&!S?e:0},e!==1){w.value=!0;for(let[,t]of m())t.speed.value=e,t.muted.value=!0,t.setSpeed(e)}else{w.value=T;for(let[,t]of m())t.speed.value=e,t.setSpeed(e)}}let{resume:q,pause:re}=F(()=>{if(g.value!==`play`)return;let e=B(),t=Math.floor(e/1e3);for(let[n,r]of m())r.noData.value&&d(n).check(t,void 0,performance.now())&&(r.speed.value=C.value,r.play(e,void 0,{seamless:!0}));for(let[,e]of m())if(!e.noData.value){let t=Kb(e);if(t>0){_.value=t;break}}},2e3,{immediate:!1});function J(){for(let e of l)e();l.length=0;for(let[e,t]of s.value){let n=I(t.frameTimestamp,t=>{!S||!x.value||g.value!==`play`||t<=0||!f(e)||(S=!1,x.value={startMs:Math.floor(t/1e3),wallStart:performance.now(),speed:C.value},_.value=t,y.value=t)});l.push(n);let r=I(t.playbackAnchor,()=>{let e=x.value;S&&e&&g.value===`play`&&m().every(([,e])=>e.noData.value&&(e.playbackAnchor.value?.speed??0)>0)&&(S=!1,x.value={startMs:e.startMs,wallStart:performance.now(),speed:C.value})});l.push(r)}for(let[e,t]of s.value){let n=I(t.noData,(n,r)=>{if(g.value===`play`&&(r&&!n&&(d(e).reset(),t.currentTimestamp.value>0&&(_.value=t.currentTimestamp.value)),!r&&n)){let n=t.currentTimestamp.value||_.value||Math.floor(z()*1e3);d(e).onGap(Math.floor(n/1e3))}});l.push(n)}}I(t,(e,t)=>{let n=new Set(e),i=new Set(t??[]),l=new Map(s.value);for(let e of i)if(!n.has(e)){let t=l.get(e);t&&t.stop(),l.delete(e),u.delete(e);let n=c.get(e);n&&(n(),c.delete(e))}for(let e of n)if(!l.has(e)){let t=v(),n=t.run(()=>Gb(e,{managed:!0,sourceRole:r,cameraUi:a,nvrCtx:o}));l.set(e,n),c.set(e,()=>t.stop())}s.value=l},{immediate:!0}),I(s,()=>{J()},{immediate:!0}),i&&I(i,(e,t)=>{if(g.value===`idle`)return;let n=e?new Set(e):null,r=t?new Set(t):null,i=e=>!n||n.has(e),a=e=>!r||r.has(e);for(let[e,t]of s.value)if(a(e)&&!i(e))t.pause();else if(!a(e)&&i(e)){let n=B();if(d(e).reset(),n<=0)continue;g.value===`play`?(t.speed.value=C.value,t.play(n)):t.scrub(n,!0)}}),I(g,e=>{if(e===`play`)q();else{re();for(let e of u.values())e.reset()}}),I(w,e=>{C.value===1&&(T=e)}),M(()=>{for(let e of l)e();l.length=0;for(let e of s.value.values())e.stop();for(let e of c.values())e();c.clear()});let Y={mode:g,currentTimestamp:_,frameTimestamp:y,livePausedAt:b,playbackAnchor:x,noData:O,playbackError:k,licenseRequired:A,unsupported:j,playbackDegraded:e(null),contextSnapshot:p(null),loading:P,hasAudio:N,muted:w,containerRef:E,isActive:L,isPlaybackDriving:R,speed:C,sourceRole:e(``),effectiveRole:h(()=>m()[0]?.[1].effectiveRole.value??``),scrub:V,fineScrub:H,play:ee,pause:U,resume:W,stop:G,seek:te,setSpeed:ne,claimContainer:D,captureSnapshot:()=>Promise.resolve(null)};return K(Ab,Y),K(jb,s),{master:Y,controllers:s}}var jT=new ct(`SemanticSearch`);function MT(t=`@camera.ui/camera-ui-nvr`){let{plugin:n,isLoading:r}=Zl(t),i=fp(),a=ey(t),o=p(),s=e(!1),c=e(!1),l=e(!1),u=e(!1),d=0,f=``,m={},g=!1;function _(){return n.value}let v=h(()=>o.value?.matches??[]),y=h(()=>u.value&&!r.value);async function b(){try{let e=await i.getPluginsByInterface(Un.ClipDetection);u.value=e.length>0}catch{u.value=!1}}function x(e,t){let n=e.events??[];a.upsertEvents(n);let r=new Map(n.map(e=>[e.id,e])),i=t?o.value:void 0,s=[...i?.matches??[]],c=[...i?.events??[]],l=new Set(s.map(e=>e.eventId));for(let t of e.matches??[]){if(l.has(t.eventId))continue;l.add(t.eventId),s.push(t);let e=r.get(t.eventId);e&&c.push(e)}o.value={matches:s,events:c,hasMore:e.hasMore,truncated:e.truncated},a.pinEvents(l)}function S(e){l.value=String(e?.message??e).includes(`license verification required`),jT.error(`Semantic search failed:`,e)}async function C(e,t={}){let n=e.trim();if(!n){T();return}let r=_();if(!r)return;let i=++d;f=n,m=t,s.value=!0;try{let e=await r.searchEventsByTextQuery(n,{...t,offset:0});if(i!==d)return;x(e,!1),l.value=!1,c.value=!0}catch(e){i===d&&S(e)}finally{i===d&&(s.value=!1)}}async function w(){let e=o.value;if(!e?.hasMore||s.value||g)return;let t=_();if(!t)return;let n=d;g=!0;try{let r=await t.searchEventsByTextQuery(f,{...m,offset:e.matches.length});n===d&&x(r,!0)}catch(e){n===d&&S(e)}finally{g=!1}}function T(){d++,o.value=void 0,c.value=!1,s.value=!1,l.value=!1,a.pinEvents(new Set)}function E(e){let t=o.value;if(!t)return;let n=new Set(e);t.matches.some(e=>n.has(e.eventId))&&(o.value={...t,matches:t.matches.filter(e=>!n.has(e.eventId)),events:t.events.filter(e=>!n.has(e.id))})}let D=Wv(E);return I(n,e=>{e&&b()},{immediate:!0}),I(a.dataEpoch,()=>{T()}),M(()=>{D(),a.dispose()}),{results:v,result:o,isSearching:s,hasSearched:c,isAvailable:y,licenseRequired:l,search:C,loadMore:w,clear:T}}var NT=new ct(`SimilarSearch`);function PT(e=`@camera.ui/camera-ui-nvr`){let{plugin:t}=Zl(e),n=p([]),r=p(!1),i=p(!1),a=h(()=>!!t.value),o=0,s=[];async function c(e,a={}){let c=t.value;if(!c)return;let l=[e].flat(),u=++o;(l.length!==s.length||l.some((e,t)=>e!==s[t]))&&(n.value=[]),s=l,r.value=!0;try{let e=await Promise.all(l.map(e=>c.searchSimilarQuery(e,a)));if(u!==o)return;n.value=e,i.value=!1}catch(e){if(u!==o)return;String(e?.message??e).includes(`license verification required`)?(n.value=[],i.value=!0):NT.error(`Similar search failed:`,e)}finally{u===o&&(r.value=!1)}}function l(){o++,s=[],n.value=[],r.value=!1}return I(Hv(),()=>{l(),i.value=!1}),{results:n,isSearching:r,isAvailable:a,licenseRequired:i,search:c,clear:l}}var FT=.9,IT=.05;function LT(e,t){let n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y)),r=e.width*e.height+t.width*t.height-n;return r>0?n/r:0}function RT(e,t=.45){let n=[];for(let r of[...e].sort((e,t)=>t.confidence-e.confidence))n.every(e=>e.label!==r.label||LT(e.box,r.box)<=t)&&n.push(r);return n}function zT(e,t,n,r=[],i=0){let a=[];for(let o of new Set(e.map(e=>e.label))){let s=e.filter(e=>e.label===o),c=r.includes(o)?i:0,l=s.map((e,t)=>t),u=e=>{for(;l[e]!==e;)l[e]=l[l[e]],e=l[e];return e};for(let e=0;e<s.length;e++){let r=s[e].box;for(let i=e+1;i<s.length;i++){let a=s[i].box,o=Math.max(0,Math.min(r.x+r.width,a.x+a.width)-Math.max(r.x,a.x))*Math.max(0,Math.min(r.y+r.height,a.y+a.height)-Math.max(r.y,a.y)),d=Math.min(r.width*r.height,a.width*a.height),f=c<=0||d>0&&o/d>=c;if(Math.abs(r.x-a.x)<=n&&Math.abs(r.y-a.y)<=n){f&&(l[u(e)]=u(i));continue}if(o<=0)continue;if(c>0&&d>0&&o/d>=FT){let[t,n]=r.width*r.height<=a.width*a.height?[r,a]:[a,r],o=n.height*IT;if(Math.abs(t.y-n.y)<=o||Math.abs(t.y+t.height-n.y-n.height)<=o){l[u(e)]=u(i);continue}}let p=r.width*r.height+a.width*a.height-o;p>0&&o/p>t&&f&&(l[u(e)]=u(i))}}let d=new Map;s.forEach((e,t)=>{let n=u(t);d.set(n,[...d.get(n)??[],e])});for(let e of d.values()){let t=Math.max(0,Math.min(...e.map(e=>e.box.x))),n=Math.max(0,Math.min(...e.map(e=>e.box.y))),r=Math.min(1,Math.max(...e.map(e=>e.box.x+e.box.width))),i=Math.min(1,Math.max(...e.map(e=>e.box.y+e.box.height)));r<=t||i<=n||a.push({label:o,confidence:Math.max(...e.map(e=>e.confidence)),box:{x:t,y:n,width:r-t,height:i-n}})}}return a}function BT(e,t,n,r,i){let a=Math.floor(e.x*t),o=Math.floor(e.y*n),s=Math.floor(e.width*t),c=Math.floor(e.height*n),l=Math.floor(s*r),u=Math.floor(c*r),d=Math.max(0,a-l),f=Math.max(0,o-u),p=Math.min(t-d,s+2*l),m=Math.min(n-f,c+2*u);if(!(p<2||m<2)){if(!i)return{x:d,y:f,width:p,height:m};if(p/m<i){let e=Math.round(m*i)-p;d-=Math.floor(e/2),p+=e}else{let e=Math.round(p/i)-m;f-=Math.floor(e/2),m+=e}return d=Math.max(0,Math.min(d,t-p)),f=Math.max(0,Math.min(f,n-m)),{x:d,y:f,width:Math.min(p,t-d),height:Math.min(m,n-f)}}}function VT(e,t,n,r){return{x:(t.x+e.x*t.width)/n,y:(t.y+e.y*t.height)/r,width:e.width*t.width/n,height:e.height*t.height/r}}function HT(e,t,n,r){return{x:(e.x*n-t.x)/t.width,y:(e.y*r-t.y)/t.height,width:e.width*n/t.width,height:e.height*r/t.height}}function UT(e,t,n){let{box:r,width:i,height:a,data:o}=e;if(t<r.x||n<r.y||t>=r.x+r.width||n>=r.y+r.height)return 0;let s=Math.min(i-1,Math.floor((t-r.x)/r.width*i));return o[Math.min(a-1,Math.floor((n-r.y)/r.height*a))*i+s]??0}function WT(e,t){let n=-1;return t.forEach((r,i)=>{let a=r.x+r.width/2,o=r.y+r.height/2;a<e.x||a>e.x+e.width||o<e.y||o>e.y+e.height||(n<0||o<t[n].y+t[n].height/2)&&(n=i)}),n}var GT=.3,KT=.9,qT=4;function JT(e,t={}){let n=t.confidence??GT,r=t.ocrConfidence??KT,i=t.minLength??qT,a;for(let t of e){if(!t.plateText||t.confidence<n||t.ocrConfidence!==void 0&&t.ocrConfidence<r||t.plateText.toUpperCase().replace(/[^0-9A-Z]/g,``).length<i)continue;let e=t.ocrConfidence??t.confidence;(!a||e>a.confidence)&&(a={text:t.plateText,confidence:e})}return a?.text}var YT=new ct(`FrameSearch`),XT=.25,ZT=.45,QT=.3,$T=.85,eE=.5,tE=[.35,.6],nE=[.2,.12],rE=1280,iE=.1,aE=.25,oE=40,sE=2e4,cE=5e3,lE=new Set([`person`,`vehicle`]),uE=`rgb(114, 114, 114)`,dE=.15,fE=640,pE=700,mE=4,hE=127;function gE(e,t=`@camera.ui/camera-ui-nvr`){let n=()=>u(e)?.assignments,r=Zl(()=>n()?.object?.name??``),a=Zl(()=>n()?.objectAssist?.name??``),o=Zl(()=>n()?.face?.name??``),s=Zl(()=>n()?.faceEmbedder?.name??``),c=Zl(()=>n()?.licensePlate?.name??``),l=Zl(()=>n()?.clip?.name??``),d=Zl(()=>n()?.personEmbedder?.name??``),f=Zl(()=>n()?.segmenter?.name??``),{plugin:m}=Zl(t),{sensors:g}=Bu(()=>u(e)?.id),_=P(Q.Object,`object`),v=P(Q.Object,`objectAssist`),y=P(Q.Face,`face`),b=P(Q.LicensePlate,`licensePlate`),x=P(Q.Segmenter,`segmenter`),S=p(`idle`),C=p(),w=p([]),T,E,D=0;async function O(e){let t=++D;M(),C.value=void 0,w.value=[],S.value=`waiting`;try{let n=await createImageBitmap(e);if(t!==D){n.close();return}T={bitmap:n,width:n.width,height:n.height},await F(),t===D&&!N()&&(S.value=`noDetector`)}catch(e){YT.warn(`Reading the picture failed:`,e),t===D&&(S.value=`failed`)}}async function k(e,t){let n=T;if(!n)return;let r=++D;C.value=void 0,S.value=`scanning`;try{if(await F(),!N()){r===D&&(S.value=`noDetector`);return}let i=(await z(n,e,t)).slice(0,mE);if(r!==D)return;if(!i.length){S.value=`nothing`;return}let a=_E(f,Un.Segmentation)?AE(B(n,i)).then(e=>e??[]):Promise.resolve([]),o=await SE(a,pE);if(r!==D)return;let s=i.length>1?xE(o,e,t):0,c=i[s],l={label:c.label,box:c.box,mask:o?.[s]};return C.value={label:l.label,box:l.box,mask:l.mask},S.value=`reading`,l.mask||a.then(e=>{let t=e[s];t&&r===D&&C.value&&(l.mask=t,C.value={...C.value,mask:t})}),l.label===`person`?await Promise.all([V(n,l),H(n,l)]):await Promise.all([U(n,l),W(n,l)]),r===D?(C.value=bE(l),S.value=`ready`,C.value):void 0}catch(e){if(r!==D)return;YT.warn(`Reading the object failed:`,e),S.value=`failed`;return}}async function A(){let e=T;if(!e||(await F(),!N()))return[];let t=R(await I(e)).map(({label:e,box:t})=>({label:e,box:t}));return e===T?(w.value=t,t):[]}function j(){D++,M(),C.value=void 0,w.value=[],S.value=`idle`}function M(){T?.bitmap.close(),T=void 0,E=void 0}function N(){let e=_E(r,Un.ObjectDetection);if(e)return{plugin:e,settings:_};let t=_E(a,Un.ObjectDetection);return t?{plugin:t,settings:v}:void 0}function P(e,t){let r=h(()=>{let r=n()?.[t]?.id;return r?g.value.find(t=>t.type===e&&t.pluginId===r):void 0});return fd(()=>r.value?.id,()=>r.value?.pluginId)}async function F(){let e=n(),t=[[e?.object,r],[e?.objectAssist,a],[e?.face,o],[e?.faceEmbedder,s],[e?.licensePlate,c],[e?.clip,l],[e?.personEmbedder,d],[e?.segmenter,f]];await Promise.all(t.filter(([e])=>e?.name).map(([,e])=>ee(e.isLoading).toBe(!1,{timeout:cE})))}function I(e){return E?.frame!==e&&(E={frame:e,boxes:L(e,{x:0,y:0,width:e.width,height:e.height})}),E.boxes}async function L(e,t){let n=N();if(!n)return[];let r=Math.min(1,rE/Math.max(t.width,t.height)),i={width:Math.round(t.width*r),height:Math.round(t.height*r)};return((await AE(n.plugin.testObjectDetection?.(await DE(e.bitmap,t,i),i,yE(n.settings))))?.detections??[]).flatMap(n=>n.box&&n.confidence>=XT?[{label:n.label.toLowerCase(),confidence:n.confidence,box:VT(n.box,t,e.width,e.height)}]:[])}function R(t){let n=u(e)?.confidences??{};return zT(RT(t,ZT),QT,0,[`person`],$T).filter(e=>lE.has(e.label)&&e.confidence>=(n[e.label]??eE))}async function z(e,t,n){function r(r){let i=Math.max(2,Math.round(Math.min(e.width,e.height)*r));return{x:CE(Math.round(t*e.width-i/2),0,e.width-i),y:CE(Math.round(n*e.height-i/2),0,e.height-i),width:i,height:i}}function i(e){return e.filter(({box:e})=>t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height).sort((e,t)=>t.confidence-e.confidence||e.box.width*e.box.height-t.box.width*t.box.height)}let a=R(await I(e)),o=[],s=()=>i(R(o).filter(e=>!a.some(t=>t.label===e.label&&LT(t.box,e.box)>QT))),c=i(a);if(!c.length){for(let t of await Promise.all(tE.map(t=>L(e,r(t)))))o.push(...t);c=s()}for(let t of nE){if(c.length)break;o.push(...await L(e,r(t))),c=s()}return c}async function B(e,t){let n=_E(f,Un.Segmentation);if(!n?.segmentImages)return[];let r=t.map(t=>BT(t.box,e.width,e.height,dE,1)).flatMap((e,t)=>e?[{rect:e,index:t}]:[]),i=await Promise.all(r.map(async({rect:n,index:r})=>{let i=Math.min(1,fE/Math.max(n.width,n.height)),a={width:Math.round(n.width*i),height:Math.round(n.height*i)};return{image:await DE(e.bitmap,n,a),box:HT(t[r].box,n,e.width,e.height)}})),a=i.length?await AE(n.segmentImages(i,vE(x))):void 0,o=[];return a?.forEach((t,n)=>{let i=t?.mask,{rect:a,index:s}=r[n]??{};!i||!a||s===void 0||!i.width||!i.height||i.data.length<i.width*i.height||(o[s]={...i,box:VT(i.box,a,e.width,e.height)})}),o}async function V(t,n){let r=_E(o,Un.FaceDetection),i=_E(s,Un.FaceEmbedding);if(!r||!i)return;let a=BT(n.box,t.width,t.height,iE,1);if(!a)return;let c=await AE(r.testFaceDetection?.(await DE(t.bitmap,a),{width:a.width,height:a.height},yE(y))),l=u(e)?.faceConfidence??eE,d=[];for(let e of c?.detections??[])e.box&&e.confidence>=l&&d.push({label:`face`,confidence:e.confidence,box:VT(e.box,a,t.width,t.height)});let f=RT(d,ZT).map(e=>e.box),p=WT(n.box,f);if(p<0)return;let h=f[p];n.faceBox=h;let g=BT(h,t.width,t.height,aE,1);if(!g||h.width*t.width<oE)return;let[_]=await AE(i.embedFaceImages?.([await DE(t.bitmap,g)],{}))??[];if(!_?.embedding?.length)return;n.face=_.embedding,n.faceModel=_.embeddingModel;let v=m.value,[b]=await AE(v?.matchFaces([_.embedding],_.embeddingModel,u(e)?.faceSensitivity??`balanced`))??[];b?.identity&&(n.name=b.identity)}async function H(e,t){let n=_E(d,Un.PersonEmbedding),r=BT(t.box,e.width,e.height,0);if(!n||!r)return;let[i]=await AE(n.embedPersonImages?.([await DE(e.bitmap,r)],{}))??[];i?.embedding?.length&&(t.person=i.embedding,t.personModel=i.embeddingModel)}async function U(t,n){let r=_E(c,Un.LicensePlateDetection),i=BT(n.box,t.width,t.height,iE);if(!r||!i)return;let a=JT((await AE(r.testLicensePlateDetection?.(await DE(t.bitmap,i),{width:i.width,height:i.height},yE(b))))?.detections??[],u(e)?.plate);a&&(n.plate=a)}async function W(e,t){let n=_E(l,Un.ClipDetection),r=BT(t.box,e.width,e.height,iE);if(!n||!r)return;let i=await OE(e.bitmap,r),a=(await AE(n.embedImages?.([i],{})))?.[0]??await AE(n.testClipEmbedding?.(i,wE(r),{})),o=a?.embeddings?.[0]?.embedding;if(!a||!o?.length)return;t.clip=o,t.clipModel=a.embeddingModel;let s=m.value;if(!s)return;let[c]=await AE(s.classifyVehicles(a.embeddingModel,[o]))??[];t.color=c?.color||void 0,t.vehicleType=c?.vehicleType||void 0}return i(M),{status:S,object:C,objects:w,load:O,detectAll:A,pickAt:k,clear:j}}function _E(e,t){let n=e.contract.value;return n&&Jn(n,t)?e.plugin.value:void 0}function vE(e){return{...e.config.value?.config??{}}}function yE(e){return{...vE(e),threshold:XT}}function bE(e){let{faceModel:t,face:n,clipModel:r,clip:i,personModel:a,person:o,...s}=e,c;return e.label===`person`&&(e.name||n?.length||o?.length)?c={label:`person`,faceName:e.name,faceModel:t,face:n,personModel:a,person:o}:e.label===`vehicle`&&(e.plate||i?.length)&&(c={label:`vehicle`,plate:e.plate,clipModel:r,clip:i}),{...s,query:c}}function xE(e,t,n){let r=0,i=hE;return e?.forEach((e,a)=>{let o=e?UT(e,t,n):0;o>i&&(r=a,i=o)}),r}function SE(e,t){return Promise.race([e,new Promise(e=>setTimeout(e,t))])}function CE(e,t,n){return Math.max(t,Math.min(e,n))}function wE(e){let t=Math.max(e.width,e.height);return{width:t,height:t}}function TE(e,t){if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(e,t);let n=document.createElement(`canvas`);return n.width=e,n.height=t,n}async function EE(e){let t=e instanceof HTMLCanvasElement?await new Promise(t=>e.toBlob(t,`image/jpeg`,.92)):await e.convertToBlob({type:`image/jpeg`,quality:.92});return new Uint8Array(await(t??new Blob).arrayBuffer())}async function DE(e,t,n={width:t.width,height:t.height}){let r=TE(n.width,n.height);return r.getContext(`2d`)?.drawImage(e,t.x,t.y,t.width,t.height,0,0,n.width,n.height),EE(r)}async function OE(e,t){let{width:n}=wE(t),r=TE(n,n),i=r.getContext(`2d`);return i&&(i.fillStyle=uE,i.fillRect(0,0,n,n),i.drawImage(e,t.x,t.y,t.width,t.height,Math.floor((n-t.width)/2),Math.floor((n-t.height)/2),t.width,t.height)),EE(r)}function kE(e){return e?new Promise((t,n)=>{let r=setTimeout(()=>n(Error(`plugin call timed out`)),sE);e.then(e=>{clearTimeout(r),t(e)},e=>{clearTimeout(r),n(e)})}):Promise.resolve(void 0)}async function AE(e){try{return await kE(e)}catch(e){YT.debug(`Reading a detail failed:`,e);return}}var jE=new ct(`ClipReindex`),ME=e(),NE=e(!1),PE=h(()=>ME.value?.running===!0&&!ME.value?.total),FE=!1;function IE(e=`@camera.ui/camera-ui-nvr`){let{plugin:t}=Zl(e);function n(){return t.value}async function r(){let e=n();if(e&&!FE){FE=!0;try{await e.onClipReindex(e=>{ME.value=e}),i()}catch(e){FE=!1,jE.error(`Reindex subscription failed:`,e)}}}async function i(){let e=n();if(e){NE.value=!0;try{ME.value=await e.getClipReindexStatus()}catch(e){ME.value=void 0,jE.warn(`Reindex status unavailable:`,e)}finally{NE.value=!1}}}async function a(){let e=n();if(e){NE.value=!0;try{ME.value=await e.startClipReindex()}catch(e){jE.error(`Reindex start failed:`,e)}finally{NE.value=!1}}}async function o(){let e=n();if(e){NE.value=!0;try{await e.cancelClipReindex()}catch(e){jE.error(`Reindex cancel failed:`,e)}finally{NE.value=!1}}}return I(t,e=>{e?r():FE=!1},{immediate:!0}),{status:ME,isBusy:NE,checking:PE,refresh:i,start:a,cancel:o}}var LE=new ct(`FacesReindex`),RE=e(),zE=e(!1),BE=h(()=>RE.value?.running===!0&&!RE.value?.total),VE=!1,HE=0;function UE(e=`@camera.ui/camera-ui-nvr`){let{plugin:t}=Zl(e),n=kT(e);function r(){return t.value}async function i(){let e=r();if(e&&!VE){VE=!0;try{await e.onFacesReindex(e=>{let t=RE.value?.running===!0&&!e.running;HE++,RE.value=e,t&&n.refresh(!0)}),a()}catch(e){VE=!1,LE.error(`Reindex subscription failed:`,e)}}}async function a(){let e=r();if(e){zE.value=!0;try{RE.value=await e.getFacesReindexStatus()}catch(e){RE.value=void 0,LE.warn(`Reindex status unavailable:`,e)}finally{zE.value=!1}}}async function o(){let e=r();if(e){zE.value=!0;try{let t=HE,n=await e.startFacesReindex();HE===t&&(RE.value=n)}catch(e){LE.error(`Reindex start failed:`,e)}finally{zE.value=!1}}}async function s(){let e=r();if(e){zE.value=!0;try{await e.cancelFacesReindex()}catch(e){LE.error(`Reindex cancel failed:`,e)}finally{zE.value=!1}}}return I(t,e=>{e?i():VE=!1},{immediate:!0}),{status:RE,isBusy:zE,checking:BE,refresh:a,start:o,cancel:s}}var WE=6e4;function GE(){let{isConnected:t}=Ns(),{plugin:n,isLoading:r}=Zl(`@camera.ui/camera-ui-nvr`),i=e(),a=e(!1),o=e(!1);async function s(){let e=n.value;if(e){a.value=!0;try{i.value=await e.getStorageStats()}catch{}finally{a.value=!1,o.value=!0}}}let{pause:c,resume:l}=F(s,WE,{immediate:!1});return I([t,n,r],([e,t,n])=>{e&&t?(s(),l()):(c(),n||(o.value=!0))},{immediate:!0}),M(()=>c()),{stats:i,isLoading:h(()=>a.value||!o.value),refresh:s}}var KE=new ct(`TextAlerts`);function qE(t=`@camera.ui/camera-ui-nvr`){let{plugin:n}=Zl(t),r=e();function i(){return n.value}async function a(){let e=i();if(e)try{r.value=await e.listTextAlerts()}catch(e){r.value=void 0,KE.warn(`Text alerts unavailable:`,e)}}async function o(e,t){await i()?.setTextAlertEnabled(e,t),await a()}async function s(e,t){await i()?.setTextAlertModel(e,t??``),await a()}async function c(e){await i()?.deleteTextAlert(e),await a()}return I(n,e=>{e?a():r.value=void 0},{immediate:!0}),{alerts:r,refresh:a,setEnabled:o,setModel:s,remove:c}}export{jp as $,ii as $t,GE as A,Jt as An,ep as At,Ly as B,Fn as Bn,Bu as Bt,qE as C,Gn as Cn,qf as Ct,Bg as D,Hn as Dn,dp as Dt,Ig as E,Un as En,dd as Et,BT as F,fn as Fn,Gu as Ft,dm as G,rn as Gn,Si as Gt,ey as H,zt as Hn,xc as Ht,zy as I,xn as In,Ju as It,lm as J,yt as Jn,pi as Jt,pm as K,cn as Kn,yi as Kt,zg as L,On as Ln,Zl as Lt,Hv as M,Qt as Mn,qu as Mt,HT as N,tn as Nn,Wu as Nt,mT as O,Bn as On,Ns as Ot,AT as P,sn as Pn,wl as Pt,Rp as Q,dt as Qn,ri as Qt,UE as R,An as Rn,ud as Rt,qv as S,Jn as Sn,pd as St,IE as T,Q as Tn,dl as Tt,Cm as U,ln as Un,pp as Ut,Kb as V,zn as Vn,Wc as Vt,mm as W,Sn as Wn,$f as Wt,Gp as X,bt as Xn,si as Xt,cm as Y,Tt as Yn,di as Yt,Hp as Z,ct as Zn,oi as Zt,PT as _,$n as _n,fu as _t,kT as a,Lr as an,iu as at,VT as b,Kn as bn,uu as bt,gE as c,Tr as cn,vu as ct,Sm as d,vr as dn,lu as dt,Xr as en,Cp as et,xw as f,_r as fn,eu as ft,Ab as g,rr as gn,hu as gt,MT as h,nr as hn,ou as ht,yx as i,Br as in,nu as it,Gb as j,Zt as jn,Ku as jt,Gv as k,Kt as kn,Yu as kt,_x as l,xr as ln,mu as lt,jb as m,mr as mn,au as mt,ym as n,Gr as nn,xd as nt,gm as o,Fr as on,ru as ot,C_ as p,gr as pn,du as pt,fm as q,Ut as qn,hi as qt,vg as r,Ur as rn,su as rt,vm as s,jr as sn,cu as st,Cw as t,qr as tn,gp as tt,Pg as u,yr as un,_u as ut,Ng as v,Qn as vn,tu as vt,qb as w,$ as wn,Vu as wt,Vg as x,qn as xn,pu as xt,eT as y,Yn as yn,gu as yt,RT as z,Wt as zn,fd as zt};