@camera.ui/server 0.0.69 → 0.0.71-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1328) hide show
  1. package/CLAUDE.md +91 -0
  2. package/README.md +0 -24
  3. package/cupdate.config.txt +0 -1
  4. package/dist/interface/assets/404-CIsBB4A0.js +1 -0
  5. package/dist/interface/assets/About-CkxZb9D-.js +1 -0
  6. package/dist/interface/assets/Adminpanel-BrZ55JBx.js +1 -0
  7. package/dist/interface/assets/Automation-BKhuIS2v.js +2 -0
  8. package/dist/interface/assets/Automation-Csu8t0D7.css +1 -0
  9. package/dist/interface/assets/Automations-CzdnqGGU.js +1 -0
  10. package/dist/interface/assets/Camera-BhCDJE7I.css +1 -0
  11. package/dist/interface/assets/Camera-CU3aKdBR.js +2 -0
  12. package/dist/interface/assets/CameraConsole-D7KxwRxQ.js +7 -0
  13. package/dist/interface/assets/Cameras-807mspcl.css +1 -0
  14. package/dist/interface/assets/Cameras-DJcAfGpU.js +656 -0
  15. package/dist/interface/assets/Camview-ArBQ3nES.js +1 -0
  16. package/dist/interface/assets/Camview-Dd7DwMHG.css +1 -0
  17. package/dist/interface/assets/Config-D2ftkjl2.js +2 -0
  18. package/dist/interface/assets/Config-JgftUZFe.css +1 -0
  19. package/dist/interface/assets/ConfigActionCameraControl-94iyzBzJ.js +1 -0
  20. package/dist/interface/assets/ConfigActionDelay-DKhE0Xr8.js +1 -0
  21. package/dist/interface/assets/ConfigActionHttp-BbfN1UGF.js +1 -0
  22. package/dist/interface/assets/ConfigActionImageInput-P39gRfld.js +1 -0
  23. package/dist/interface/assets/ConfigActionNotification-CuDDnksK.js +1 -0
  24. package/dist/interface/assets/ConfigActionOutput-BIHvC1Z5.js +1 -0
  25. package/dist/interface/assets/ConfigActionPlugin-CDA53LwA.js +1 -0
  26. package/dist/interface/assets/ConfigActionSensor-BBkfWT_r.js +1 -0
  27. package/dist/interface/assets/ConfigActionSnapshot-C5enxVcl.js +1 -0
  28. package/dist/interface/assets/ConfigActionVariable-CVaOMoOi.js +1 -0
  29. package/dist/interface/assets/ConfigConditionIfElse-DiIOUqA5.js +1 -0
  30. package/dist/interface/assets/ConfigConditionSensorState-DBktbA8F.js +1 -0
  31. package/dist/interface/assets/ConfigConditionSwitch-DWqcQ3Ip.js +1 -0
  32. package/dist/interface/assets/ConfigConditionTime-BEaHclqa.js +1 -0
  33. package/dist/interface/assets/ConfigTriggerDetection-CRnZR91p.js +1 -0
  34. package/dist/interface/assets/ConfigTriggerGeofence-DODdJBZW.js +1 -0
  35. package/dist/interface/assets/ConfigTriggerManual-V8-5hrdl.js +1 -0
  36. package/dist/interface/assets/ConfigTriggerSchedule-CqID85d1.js +1 -0
  37. package/dist/interface/assets/ConfigTriggerSensor-DR6ifBrK.js +1 -0
  38. package/dist/interface/assets/ConfigTriggerSystem-K1ohOW18.js +1 -0
  39. package/dist/interface/assets/ConfigTriggerWebhook-Cmwu5IU4.js +1 -0
  40. package/dist/interface/assets/Console-IC7AOnvc.js +6 -0
  41. package/dist/interface/assets/CuiActionButton-Ba5wT-4n.js +1 -0
  42. package/dist/interface/assets/CuiAvatar-BtMXnhxd.css +1 -0
  43. package/dist/interface/assets/CuiAvatar-Bu4NixiB.js +1 -0
  44. package/dist/interface/assets/CuiBBoxPlayground-Cmbd4_qG.js +1 -0
  45. package/dist/interface/assets/CuiBBoxPlayground-EFkdOBvq.css +1 -0
  46. package/dist/interface/assets/CuiBottomSheet-BN5exkJm.js +1 -0
  47. package/dist/interface/assets/CuiBottomSheet-CHspaYgP.js +1 -0
  48. package/dist/interface/assets/CuiBottomSheet-DxQ6D_RM.css +1 -0
  49. package/dist/interface/assets/CuiCameraCard-C7eDwhgw.js +1 -0
  50. package/dist/interface/assets/CuiCameraCard-dNsAwlKS.css +1 -0
  51. package/dist/interface/assets/CuiCameraPipCard-C8Pg7xT9.js +1 -0
  52. package/dist/interface/assets/CuiCameraPipCard-D3o29_wc.css +1 -0
  53. package/dist/interface/assets/CuiCameraRecordings-CQHbo-_J.js +1 -0
  54. package/dist/interface/assets/CuiCameraRecordings-DM_o0Lya.css +1 -0
  55. package/dist/interface/assets/CuiCameraShares-DNuCgk4b.js +1 -0
  56. package/dist/interface/assets/CuiCameraSnapshot-BpUMwSoR.js +1 -0
  57. package/dist/interface/assets/CuiCameraTable-DQffvTtY.js +2 -0
  58. package/dist/interface/assets/CuiFloatingButton-RaxwbGht.js +1 -0
  59. package/dist/interface/assets/CuiImage-60jwFIqc.js +1 -0
  60. package/dist/interface/assets/CuiImage-Bxf7z2N4.css +1 -0
  61. package/dist/interface/assets/CuiMarkdownContent-M5v8bBmS.js +1 -0
  62. package/dist/interface/assets/CuiMenu-B4CHT2F_.js +1 -0
  63. package/dist/interface/assets/CuiMenu-BWUfWLQP.css +1 -0
  64. package/dist/interface/assets/CuiPluginCard-5ItfIe1Z.js +2 -0
  65. package/dist/interface/assets/CuiPluginCard-CTTsEM9M.css +1 -0
  66. package/dist/interface/assets/CuiPluginOAuthButton-BJRU2JBX.js +2 -0
  67. package/dist/interface/assets/CuiQRCode-CNeepRQw.js +1 -0
  68. package/dist/interface/assets/CuiQRCode-DfUba6JB.css +1 -0
  69. package/dist/interface/assets/CuiRecordingsGrid-CKHFeJlJ.js +1 -0
  70. package/dist/interface/assets/CuiRecordingsGrid-CZIZiEuT.css +1 -0
  71. package/dist/interface/assets/CuiSchema--yMBD996.css +1 -0
  72. package/dist/interface/assets/CuiSchema-CTRLO0uq.js +1 -0
  73. package/dist/interface/assets/CuiTopNavbarItem-CgaR_X1z.js +1 -0
  74. package/dist/interface/assets/CuiTopNavbarItem-w54CrODK.css +1 -0
  75. package/dist/interface/assets/CuiTopbarSlot-BDZoZ_yn.js +1 -0
  76. package/dist/interface/assets/Faces-JoBk1Mcv.js +1 -0
  77. package/dist/interface/assets/FirstSteps-CSMvd_p0.js +1 -0
  78. package/dist/interface/assets/Instances-DwNihvsL.js +1 -0
  79. package/dist/interface/assets/Menu-CUnOgtD5.js +1 -0
  80. package/dist/interface/assets/OAuthDeviceFlow-aUHpE7wP.js +1 -0
  81. package/dist/interface/assets/Plugin-DoxdkvWR.css +1 -0
  82. package/dist/interface/assets/Plugin-LjpUwn17.js +1 -0
  83. package/dist/interface/assets/PluginConsole-CvDWPKOs.js +7 -0
  84. package/dist/interface/assets/PluginSchema-DL7Bfd_U.js +1 -0
  85. package/dist/interface/assets/Plugins-B207FOsG.js +2 -0
  86. package/dist/interface/assets/Plugins-BPt1RSKT.css +1 -0
  87. package/dist/interface/assets/Recordings-Bt_GlPOK.css +1 -0
  88. package/dist/interface/assets/Recordings-adHTSogQ.js +1 -0
  89. package/dist/interface/assets/Settings-bwLTNAxX.css +1 -0
  90. package/dist/interface/assets/Settings-iBjUbXTH.js +1 -0
  91. package/dist/interface/assets/SettingsAccount-Ce0UnkLb.js +1 -0
  92. package/dist/interface/assets/SettingsAccount-DXKQY4Iz.css +1 -0
  93. package/dist/interface/assets/SettingsAccount-f2wkt4kx.js +1 -0
  94. package/dist/interface/assets/SettingsAppearance-2TfnSgkI.js +1 -0
  95. package/dist/interface/assets/SettingsAppearance-Dca237An.js +1 -0
  96. package/dist/interface/assets/SettingsBackup-Bh5x-GU_.js +1 -0
  97. package/dist/interface/assets/SettingsNotifications-BVmhorXq.js +2 -0
  98. package/dist/interface/assets/SettingsRecordings-dPUm5hma.js +1 -0
  99. package/dist/interface/assets/SettingsRemote-BcVzn2m3.js +1 -0
  100. package/dist/interface/assets/SettingsRemote-CjVK9pGg.css +1 -0
  101. package/dist/interface/assets/SettingsSystem-Dz76BUJ-.js +2 -0
  102. package/dist/interface/assets/SettingsUsers-Dzj--Rmf.js +1 -0
  103. package/dist/interface/assets/Terminal-BAMMh8Px.js +4 -0
  104. package/dist/interface/assets/Terminal-CrOfQJ-O.css +1 -0
  105. package/dist/interface/assets/VariableInput-D_-qKfZK.js +1 -0
  106. package/dist/interface/assets/VariableSuggestions-Br4yDsLZ.js +1 -0
  107. package/dist/interface/assets/VersionsHandler-CfNT3Yke.js +7 -0
  108. package/dist/interface/assets/Workers-D3jFWBjm.js +1 -0
  109. package/dist/interface/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
  110. package/dist/interface/assets/ace-BRyQJK-L.js +1 -0
  111. package/dist/interface/assets/ace.config-fXRdG20S.js +1 -0
  112. package/dist/interface/assets/alert-outline-D3FCIX7_.js +1 -0
  113. package/dist/interface/assets/api-BaywoTCE.js +2 -0
  114. package/dist/interface/assets/api-Cna9Poda.css +2 -0
  115. package/dist/interface/assets/api-DvuXV3Xb.js +1 -0
  116. package/dist/interface/assets/auth-Cu-pUvKk.js +1 -0
  117. package/dist/interface/assets/automation-CbEPnAW4.js +1 -0
  118. package/dist/interface/assets/automations-Bj3wF0wR.js +1 -0
  119. package/dist/interface/assets/automations-C6ssihoC.js +1 -0
  120. package/dist/interface/assets/back-filled-CvLD0CND.js +1 -0
  121. package/dist/interface/assets/backup-DK5aZBLo.js +1 -0
  122. package/dist/interface/assets/bell-outline-JZZKpcfS.js +1 -0
  123. package/dist/interface/assets/camera-preview-C7GT5VHo.png +0 -0
  124. package/dist/interface/assets/cameras-DQ28quQb.js +1 -0
  125. package/dist/interface/assets/cameras.schema-CDeB5JeE.js +1 -0
  126. package/dist/interface/assets/cctv-SQFfbBnL.js +1 -0
  127. package/dist/interface/assets/check-BQQidcYi.js +1 -0
  128. package/dist/interface/assets/chevron-down-Dd1qHXVA.js +1 -0
  129. package/dist/interface/assets/chevron-right-DOmJR2OL.js +1 -0
  130. package/dist/interface/assets/circular-connection-nKCVm4QI.js +1 -0
  131. package/dist/interface/assets/close-Dhjo4o57.js +1 -0
  132. package/dist/interface/assets/close-WdhW_91X.js +1 -0
  133. package/dist/interface/assets/close-circle-i5PrRG0X.js +1 -0
  134. package/dist/interface/assets/close-rounded-6nzLVPw0.js +1 -0
  135. package/dist/interface/assets/cloud-check-DeN6leiB.js +1 -0
  136. package/dist/interface/assets/cloud-outline-BHjUiP9q.js +1 -0
  137. package/dist/interface/assets/cloud-outline-BQddJElX.js +1 -0
  138. package/dist/interface/assets/cloudHandoff-DxhttWWd.js +1 -0
  139. package/dist/interface/assets/cog-Batjj1se.js +1 -0
  140. package/dist/interface/assets/copy-16-filled-DuAEBVEX.js +1 -0
  141. package/dist/interface/assets/copy-BeuZDsJN.js +1 -0
  142. package/dist/interface/assets/delete-DvMWXBFV.js +1 -0
  143. package/dist/interface/assets/dist-CcCNy5h7.js +1 -0
  144. package/dist/interface/assets/download-Cna5QEEj.js +1 -0
  145. package/dist/interface/assets/esm-B4Pd2w1t.js +1 -0
  146. package/dist/interface/assets/esm-B4l8-ACY.js +1 -0
  147. package/dist/interface/assets/esm-BE98HKPg.js +1 -0
  148. package/dist/interface/assets/esm-BNSLSv2m.js +1 -0
  149. package/dist/interface/assets/esm-BnT9fzsT.js +1 -0
  150. package/dist/interface/assets/esm-C-uLCRX1.js +1 -0
  151. package/dist/interface/assets/esm-C6JCcz6o.js +1 -0
  152. package/dist/interface/assets/esm-D5_rxfjE.js +1 -0
  153. package/dist/interface/assets/esm-D6ymjVa1.js +1 -0
  154. package/dist/interface/assets/esm-D8teZoG1.js +1 -0
  155. package/dist/interface/assets/esm-DnSGrmvg.js +1 -0
  156. package/dist/interface/assets/esm-DqkQVzkL.js +1 -0
  157. package/dist/interface/assets/esm-tnu6qUMk.js +1 -0
  158. package/dist/interface/assets/eventIcons-2hVCNchU.css +1 -0
  159. package/dist/interface/assets/eventIcons-DVykqtE5.js +1 -0
  160. package/dist/interface/assets/face-recognition-5Yp1IcUb.js +1 -0
  161. package/dist/interface/assets/github-37yEERpu.js +1 -0
  162. package/dist/interface/assets/grid-fill-BGU3gqir.js +1 -0
  163. package/dist/interface/assets/hasPermission-DIF0bX8u.js +1 -0
  164. package/dist/interface/assets/home-sSF_NnOu.js +1 -0
  165. package/dist/interface/assets/information-outline-fu18_QSH.js +1 -0
  166. package/dist/interface/assets/instances-DGPhZWRw.js +1 -0
  167. package/dist/interface/assets/lightbulb-outline-DWc53kV7.js +1 -0
  168. package/dist/interface/assets/locale-Bm1nXzqV.js +1 -0
  169. package/dist/interface/assets/main-BqVSZVz1.css +1 -0
  170. package/dist/interface/assets/main-D1gFWXGG.js +3 -0
  171. package/dist/interface/assets/microphone-ChDR4mkG.js +1 -0
  172. package/dist/interface/assets/native-Cq3ra8E-.js +1 -0
  173. package/dist/interface/assets/native-DfLBhmBo.js +1 -0
  174. package/dist/interface/assets/nodeDefinitions-BLSMZueH.js +1 -0
  175. package/dist/interface/assets/notifications-DNRzOl89.js +1 -0
  176. package/dist/interface/assets/play-solid-B_749j1A.js +1 -0
  177. package/dist/interface/assets/plugin-C1NakF2p.js +1 -0
  178. package/dist/interface/assets/plugins-DzRwEcA4.js +1 -0
  179. package/dist/interface/assets/plus-B5eEboLZ.js +1 -0
  180. package/dist/interface/assets/plus-Dis0MPt8.js +1 -0
  181. package/dist/interface/assets/power-CxGfHa98.js +1 -0
  182. package/dist/interface/assets/ring-resize-fOkdAS5R.js +1 -0
  183. package/dist/interface/assets/rolldown-runtime-CMxvf4Kt.js +1 -0
  184. package/dist/interface/assets/round-alt-arrow-left-bold-ekP_ATNV.js +1 -0
  185. package/dist/interface/assets/round-restart-alt-BWTTuG_j.js +1 -0
  186. package/dist/interface/assets/round-restart-alt-CJgRaJjF.css +1 -0
  187. package/dist/interface/assets/router-CuAn6JZ_.css +1 -0
  188. package/dist/interface/assets/router-DGyFln7e.js +2 -0
  189. package/dist/interface/assets/routerState-DMVeYr60.js +1 -0
  190. package/dist/interface/assets/search-YdrT6au7.js +1 -0
  191. package/dist/interface/assets/server-BWxbeZzY.js +1 -0
  192. package/dist/interface/assets/settings-D2-mWioF.js +1 -0
  193. package/dist/interface/assets/shares-BLuBJftj.js +1 -0
  194. package/dist/interface/assets/shield-check-DFR-xg-g.js +1 -0
  195. package/dist/interface/assets/terminal-BYi6cqd4.js +1 -0
  196. package/dist/interface/assets/theme-D08Upl8q.js +1 -0
  197. package/dist/interface/assets/trash-2-Du7oioNA.js +1 -0
  198. package/dist/interface/assets/trash-can-YTXLzAmt.js +1 -0
  199. package/dist/interface/assets/trash-fill-ZI3YYgNp.js +1 -0
  200. package/dist/interface/assets/types-B_isDU64.js +1 -0
  201. package/dist/interface/assets/types-BxFyoO54.js +1 -0
  202. package/dist/interface/assets/types-kxdn9XBW.js +1 -0
  203. package/dist/interface/assets/ui-aYGNqaHi.js +1 -0
  204. package/dist/interface/assets/upload-Chr4Uunq.js +1 -0
  205. package/dist/interface/assets/useBiometricCredentials-B-zA6b-X.js +1 -0
  206. package/dist/interface/assets/useCameraOptions-0w0LNh72.js +1 -0
  207. package/dist/interface/assets/useCuiCameraDrawer-Dn97MLFe.js +1 -0
  208. package/dist/interface/assets/useCuiDialog-BbkaNkQN.js +2 -0
  209. package/dist/interface/assets/useElectron-mh8HQUAI.js +1 -0
  210. package/dist/interface/assets/useFileDownload-g3sM8lp6.js +1 -0
  211. package/dist/interface/assets/useLogsSocket-CZld674d.js +4 -0
  212. package/dist/interface/assets/useLogsSocket-pqdh7jNG.css +1 -0
  213. package/dist/interface/assets/useSharedComposables-riqEUgwX.js +1 -0
  214. package/dist/interface/assets/useStreamStatus-2lguNuWT.js +1 -0
  215. package/dist/interface/assets/users.schema-CUZOYClB.js +1 -0
  216. package/dist/interface/assets/vendor-DmhYd_sB.js +22 -0
  217. package/dist/interface/assets/vendor-ace-B9YSA4ub.js +1085 -0
  218. package/dist/interface/assets/vendor-cameraui-DggYb17u.js +1976 -0
  219. package/dist/interface/assets/vendor-capacitor-IA6kwsx8.js +2 -0
  220. package/dist/interface/assets/vendor-chart-Dnlz1Jgy.js +3 -0
  221. package/dist/interface/assets/vendor-core-B6F-imJj.js +1 -0
  222. package/dist/interface/assets/vendor-dnd-Dp0ottZI.js +2 -0
  223. package/dist/interface/assets/vendor-draggabilly-C2ae3o70.js +1 -0
  224. package/dist/interface/assets/vendor-gridstack-Dxjc1EeA.js +3 -0
  225. package/dist/interface/assets/vendor-gridstack-Rg2RhwAc.css +1 -0
  226. package/dist/interface/assets/vendor-leaflet-B5L2Aw8Y.js +1 -0
  227. package/dist/interface/assets/vendor-leaflet-vh-t_kPv.css +1 -0
  228. package/dist/interface/assets/vendor-markdown-D3nVi7gw.js +15 -0
  229. package/dist/interface/assets/vendor-markdown-DtOhvyRx.css +1 -0
  230. package/dist/interface/assets/vendor-primevue--pcuf6kA.js +4289 -0
  231. package/dist/interface/assets/vendor-vueflow-CBuKPASC.js +26 -0
  232. package/dist/interface/assets/vendor-xterm-BrP-ENHg.css +1 -0
  233. package/dist/interface/assets/vendor-xterm-D8Z_h2U0.js +145 -0
  234. package/dist/interface/assets/vendor-zod-CmGeQCqy.js +127 -0
  235. package/dist/interface/assets/view-grid-96p9T-KQ.js +1 -0
  236. package/dist/interface/assets/view-grid-SdzaC3O_.css +1 -0
  237. package/dist/interface/assets/web-3Sh2qjiP.js +1 -0
  238. package/dist/interface/assets/web-B0BK4Q2M.js +1 -0
  239. package/dist/interface/assets/web-BjKL51lK-DzG2kK8Q.js +1 -0
  240. package/dist/interface/assets/web-COttRPza.js +1 -0
  241. package/dist/interface/assets/web-Ck1J3gUt.js +1 -0
  242. package/dist/interface/assets/web-DPxPmEOR.js +1 -0
  243. package/dist/interface/assets/web-DRprnZwc.js +1 -0
  244. package/dist/interface/assets/web-DusfFKJE.js +1 -0
  245. package/dist/interface/assets/web-U3ajDFzM.js +1 -0
  246. package/dist/interface/assets/web-jcLz0P7f.js +1 -0
  247. package/dist/interface/assets/web-tQAiC0W2.js +1 -0
  248. package/dist/interface/assets/web-x9pvmNMf.js +1 -0
  249. package/dist/interface/assets/workbox-window.prod.es5-DkzC-kEO.js +1 -0
  250. package/dist/interface/assets/worker-base-ybazWkNy.js +1337 -0
  251. package/dist/interface/assets/worker-yaml-crtWQpDN.js +5824 -0
  252. package/dist/interface/assets/zoom-in-zoFmMkYM.js +1 -0
  253. package/dist/interface/index.html +96 -45
  254. package/dist/interface/manifest.webmanifest +1 -1
  255. package/dist/interface/og-share.png +0 -0
  256. package/dist/interface/sw.js +1 -1
  257. package/dist/interface/workbox-5f44db27.js +1 -0
  258. package/dist/server/package.json +73 -79
  259. package/dist/server/requirements.txt +9 -14
  260. package/dist/server/src/_camera_ui_tools/camera_ui_common/__init__.py +19 -11
  261. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/__init__.py +23 -0
  262. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/object_path.py +35 -22
  263. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/promise.py +41 -0
  264. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/reactive.py +17 -14
  265. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/signal_handler.py +12 -4
  266. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/subscribed.py +15 -2
  267. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/task.py +9 -3
  268. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/thread.py +10 -2
  269. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/utils.py +21 -13
  270. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/__init__.py +8 -0
  271. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/logger.py +237 -99
  272. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/__init__.py +77 -0
  273. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/channel.py +321 -0
  274. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/chunking.py +290 -0
  275. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +1694 -0
  276. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/codec.py +73 -0
  277. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/decorators.py +307 -0
  278. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/errors.py +76 -0
  279. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/executor.py +29 -0
  280. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/handler.py +523 -0
  281. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/service.py +524 -0
  282. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/svcm.py +15 -0
  283. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +427 -0
  284. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/utils.py +332 -0
  285. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +515 -0
  286. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +173 -0
  287. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +256 -0
  288. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +135 -0
  289. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +432 -0
  290. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/enums.py +111 -0
  291. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/events.py +146 -0
  292. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +21 -0
  293. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/streaming.py +188 -0
  294. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/__init__.py +92 -0
  295. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +46 -0
  296. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_enums.py +9 -0
  297. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_wire.py +15 -0
  298. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/event_emitter.py +102 -0
  299. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/manager_rpc.py +27 -0
  300. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +89 -0
  301. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_triggers.py +4 -0
  302. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/shared_utils.py +73 -0
  303. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/streaming_internal.py +16 -0
  304. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +348 -0
  305. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/observable/__init__.py +557 -0
  306. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +104 -0
  307. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/api.py +137 -0
  308. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +164 -0
  309. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/helper.py +242 -0
  310. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +427 -0
  311. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +142 -0
  312. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/oauth.py +150 -0
  313. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +203 -0
  314. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/audio.py +241 -0
  315. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +551 -0
  316. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/battery.py +167 -0
  317. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/classifier.py +196 -0
  318. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/clip.py +67 -0
  319. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/contact.py +88 -0
  320. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/detection.py +60 -0
  321. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/doorbell.py +122 -0
  322. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +184 -0
  323. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/garage.py +174 -0
  324. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/humidity.py +79 -0
  325. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/leak.py +88 -0
  326. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/license_plate.py +186 -0
  327. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/light.py +157 -0
  328. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/lock.py +149 -0
  329. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/motion.py +203 -0
  330. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +210 -0
  331. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/occupancy.py +88 -0
  332. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/ptz.py +256 -0
  333. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/security_system.py +157 -0
  334. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/siren.py +150 -0
  335. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/smoke.py +88 -0
  336. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/spec.py +56 -0
  337. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/switch.py +107 -0
  338. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/temperature.py +80 -0
  339. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/storage/__init__.py +695 -0
  340. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/types.py +54 -0
  341. package/dist/server/src/api/controllers/api.controller.d.ts +2 -2
  342. package/dist/server/src/api/controllers/api.controller.js +3 -3
  343. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  344. package/dist/server/src/api/controllers/auth.controller.d.ts +20 -5
  345. package/dist/server/src/api/controllers/auth.controller.js +418 -134
  346. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  347. package/dist/server/src/api/controllers/automations.controller.d.ts +17 -0
  348. package/dist/server/src/api/controllers/automations.controller.js +146 -0
  349. package/dist/server/src/api/controllers/automations.controller.js.map +1 -0
  350. package/dist/server/src/api/controllers/backup.controller.js +0 -1
  351. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  352. package/dist/server/src/api/controllers/cameras.controller.d.ts +14 -5
  353. package/dist/server/src/api/controllers/cameras.controller.js +490 -69
  354. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  355. package/dist/server/src/api/controllers/config.controller.d.ts +2 -2
  356. package/dist/server/src/api/controllers/config.controller.js +2 -2
  357. package/dist/server/src/api/controllers/config.controller.js.map +1 -1
  358. package/dist/server/src/api/controllers/download.controller.d.ts +7 -0
  359. package/dist/server/src/api/controllers/download.controller.js +12 -0
  360. package/dist/server/src/api/controllers/download.controller.js.map +1 -0
  361. package/dist/server/src/api/controllers/files.controller.js.map +1 -1
  362. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
  363. package/dist/server/src/api/controllers/frameWorkers.controller.js +1 -1
  364. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  365. package/dist/server/src/api/controllers/instances.controller.d.ts +15 -0
  366. package/dist/server/src/api/controllers/instances.controller.js +100 -0
  367. package/dist/server/src/api/controllers/instances.controller.js.map +1 -0
  368. package/dist/server/src/api/controllers/notifications.controller.d.ts +15 -0
  369. package/dist/server/src/api/controllers/notifications.controller.js +121 -0
  370. package/dist/server/src/api/controllers/notifications.controller.js.map +1 -0
  371. package/dist/server/src/api/controllers/oauthCallback.controller.d.ts +15 -0
  372. package/dist/server/src/api/controllers/oauthCallback.controller.js +53 -0
  373. package/dist/server/src/api/controllers/oauthCallback.controller.js.map +1 -0
  374. package/dist/server/src/api/controllers/plugins.controller.d.ts +5 -9
  375. package/dist/server/src/api/controllers/plugins.controller.js +129 -246
  376. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  377. package/dist/server/src/api/controllers/remote.controller.d.ts +27 -0
  378. package/dist/server/src/api/controllers/remote.controller.js +247 -0
  379. package/dist/server/src/api/controllers/remote.controller.js.map +1 -0
  380. package/dist/server/src/api/controllers/server.controller.d.ts +24 -0
  381. package/dist/server/src/api/controllers/server.controller.js +236 -0
  382. package/dist/server/src/api/controllers/server.controller.js.map +1 -0
  383. package/dist/server/src/api/controllers/shares.controller.d.ts +12 -0
  384. package/dist/server/src/api/controllers/shares.controller.js +121 -0
  385. package/dist/server/src/api/controllers/shares.controller.js.map +1 -0
  386. package/dist/server/src/api/controllers/tunnel.controller.d.ts +9 -0
  387. package/dist/server/src/api/controllers/tunnel.controller.js +39 -0
  388. package/dist/server/src/api/controllers/tunnel.controller.js.map +1 -0
  389. package/dist/server/src/api/controllers/users.controller.d.ts +2 -2
  390. package/dist/server/src/api/controllers/users.controller.js +11 -2
  391. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  392. package/dist/server/src/api/controllers/workers.controller.d.ts +14 -0
  393. package/dist/server/src/api/controllers/workers.controller.js +69 -0
  394. package/dist/server/src/api/controllers/workers.controller.js.map +1 -0
  395. package/dist/server/src/api/database/checks.js +2 -2
  396. package/dist/server/src/api/database/checks.js.map +1 -1
  397. package/dist/server/src/api/database/constants.d.ts +10 -1
  398. package/dist/server/src/api/database/constants.js +10 -1
  399. package/dist/server/src/api/database/constants.js.map +1 -1
  400. package/dist/server/src/api/database/index.d.ts +24 -12
  401. package/dist/server/src/api/database/index.js +182 -126
  402. package/dist/server/src/api/database/index.js.map +1 -1
  403. package/dist/server/src/api/database/migration.d.ts +4 -13
  404. package/dist/server/src/api/database/migration.js +20 -80
  405. package/dist/server/src/api/database/migration.js.map +1 -1
  406. package/dist/server/src/api/database/migrations/index.d.ts +2 -0
  407. package/dist/server/src/api/database/migrations/index.js +24 -0
  408. package/dist/server/src/api/database/migrations/index.js.map +1 -0
  409. package/dist/server/src/api/database/migrations/types.d.ts +13 -0
  410. package/dist/server/src/api/database/migrations/types.js.map +1 -0
  411. package/dist/server/src/api/database/selfcheck.js +3 -0
  412. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  413. package/dist/server/src/api/database/types.d.ts +173 -28
  414. package/dist/server/src/api/index.d.ts +8 -2
  415. package/dist/server/src/api/index.js +122 -43
  416. package/dist/server/src/api/index.js.map +1 -1
  417. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +4 -4
  418. package/dist/server/src/api/middlewares/authPermission.middleware.js +8 -8
  419. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
  420. package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +5 -2
  421. package/dist/server/src/api/middlewares/authValidation.middleware.js +75 -114
  422. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
  423. package/dist/server/src/api/middlewares/pagination.middleware.d.ts +1 -1
  424. package/dist/server/src/api/middlewares/pagination.middleware.js +2 -2
  425. package/dist/server/src/api/middlewares/pagination.middleware.js.map +1 -1
  426. package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +2 -2
  427. package/dist/server/src/api/middlewares/socketAuth.middleware.js +5 -4
  428. package/dist/server/src/api/middlewares/socketAuth.middleware.js.map +1 -1
  429. package/dist/server/src/api/plugins/header.plugin.js +1 -1
  430. package/dist/server/src/api/plugins/header.plugin.js.map +1 -1
  431. package/dist/server/src/api/plugins/logger.plugin.js +13 -10
  432. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  433. package/dist/server/src/api/plugins/proxy.plugin.js +76 -105
  434. package/dist/server/src/api/plugins/proxy.plugin.js.map +1 -1
  435. package/dist/server/src/api/plugins/system.plugin.js.map +1 -1
  436. package/dist/server/src/api/plugins/useragent.plugin.d.ts +2 -2
  437. package/dist/server/src/api/plugins/useragent.plugin.js +2 -2
  438. package/dist/server/src/api/plugins/useragent.plugin.js.map +1 -1
  439. package/dist/server/src/api/routes/api.routes.js +18 -2
  440. package/dist/server/src/api/routes/api.routes.js.map +1 -1
  441. package/dist/server/src/api/routes/auth.routes.js +131 -9
  442. package/dist/server/src/api/routes/auth.routes.js.map +1 -1
  443. package/dist/server/src/api/routes/automations.routes.d.ts +2 -0
  444. package/dist/server/src/api/routes/automations.routes.js +128 -0
  445. package/dist/server/src/api/routes/automations.routes.js.map +1 -0
  446. package/dist/server/src/api/routes/backup.routes.js +6 -0
  447. package/dist/server/src/api/routes/backup.routes.js.map +1 -1
  448. package/dist/server/src/api/routes/cameras.routes.js +346 -33
  449. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  450. package/dist/server/src/api/routes/config.routes.js +26 -4
  451. package/dist/server/src/api/routes/config.routes.js.map +1 -1
  452. package/dist/server/src/api/routes/download.routes.d.ts +2 -0
  453. package/dist/server/src/api/routes/download.routes.js +16 -0
  454. package/dist/server/src/api/routes/download.routes.js.map +1 -0
  455. package/dist/server/src/api/routes/files.routes.js +7 -1
  456. package/dist/server/src/api/routes/files.routes.js.map +1 -1
  457. package/dist/server/src/api/routes/frameWorkers.routes.js +26 -4
  458. package/dist/server/src/api/routes/frameWorkers.routes.js.map +1 -1
  459. package/dist/server/src/api/routes/index.d.ts +1 -0
  460. package/dist/server/src/api/routes/index.js +23 -3
  461. package/dist/server/src/api/routes/index.js.map +1 -1
  462. package/dist/server/src/api/routes/instances.routes.d.ts +2 -0
  463. package/dist/server/src/api/routes/instances.routes.js +105 -0
  464. package/dist/server/src/api/routes/instances.routes.js.map +1 -0
  465. package/dist/server/src/api/routes/notifications.routes.d.ts +2 -0
  466. package/dist/server/src/api/routes/notifications.routes.js +102 -0
  467. package/dist/server/src/api/routes/notifications.routes.js.map +1 -0
  468. package/dist/server/src/api/routes/oauthCallback.routes.d.ts +2 -0
  469. package/dist/server/src/api/routes/oauthCallback.routes.js +17 -0
  470. package/dist/server/src/api/routes/oauthCallback.routes.js.map +1 -0
  471. package/dist/server/src/api/routes/plugins.routes.js +259 -95
  472. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  473. package/dist/server/src/api/routes/remote.routes.d.ts +2 -0
  474. package/dist/server/src/api/routes/remote.routes.js +164 -0
  475. package/dist/server/src/api/routes/remote.routes.js.map +1 -0
  476. package/dist/server/src/api/routes/server.routes.d.ts +2 -0
  477. package/dist/server/src/api/routes/server.routes.js +130 -0
  478. package/dist/server/src/api/routes/server.routes.js.map +1 -0
  479. package/dist/server/src/api/routes/shares.routes.d.ts +2 -0
  480. package/dist/server/src/api/routes/shares.routes.js +71 -0
  481. package/dist/server/src/api/routes/shares.routes.js.map +1 -0
  482. package/dist/server/src/api/routes/tunnel.routes.d.ts +2 -0
  483. package/dist/server/src/api/routes/tunnel.routes.js +14 -0
  484. package/dist/server/src/api/routes/tunnel.routes.js.map +1 -0
  485. package/dist/server/src/api/routes/users.routes.js +92 -12
  486. package/dist/server/src/api/routes/users.routes.js.map +1 -1
  487. package/dist/server/src/api/routes/workers.routes.d.ts +2 -0
  488. package/dist/server/src/api/routes/workers.routes.js +71 -0
  489. package/dist/server/src/api/routes/workers.routes.js.map +1 -0
  490. package/dist/server/src/api/schemas/auth.schema.d.ts +35 -0
  491. package/dist/server/src/api/schemas/auth.schema.js +37 -0
  492. package/dist/server/src/api/schemas/auth.schema.js.map +1 -0
  493. package/dist/server/src/api/schemas/automations.schema.d.ts +151 -0
  494. package/dist/server/src/api/schemas/automations.schema.js +84 -0
  495. package/dist/server/src/api/schemas/automations.schema.js.map +1 -0
  496. package/dist/server/src/api/schemas/backup.schema.d.ts +15 -190
  497. package/dist/server/src/api/schemas/backup.schema.js +5 -23
  498. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  499. package/dist/server/src/api/schemas/cameras.schema.d.ts +1062 -1647
  500. package/dist/server/src/api/schemas/cameras.schema.js +218 -49
  501. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  502. package/dist/server/src/api/schemas/common.schema.d.ts +7 -0
  503. package/dist/server/src/api/schemas/common.schema.js +7 -0
  504. package/dist/server/src/api/schemas/common.schema.js.map +1 -0
  505. package/dist/server/src/api/schemas/config.schema.d.ts +41 -79
  506. package/dist/server/src/api/schemas/config.schema.js +19 -1
  507. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  508. package/dist/server/src/api/schemas/download.schema.d.ts +5 -0
  509. package/dist/server/src/api/schemas/download.schema.js +5 -0
  510. package/dist/server/src/api/schemas/download.schema.js.map +1 -0
  511. package/dist/server/src/api/schemas/files.schema.d.ts +5 -0
  512. package/dist/server/src/api/schemas/files.schema.js +5 -0
  513. package/dist/server/src/api/schemas/files.schema.js.map +1 -0
  514. package/dist/server/src/api/schemas/frameWorkers.schema.d.ts +5 -0
  515. package/dist/server/src/api/schemas/frameWorkers.schema.js +5 -0
  516. package/dist/server/src/api/schemas/frameWorkers.schema.js.map +1 -0
  517. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +90 -640
  518. package/dist/server/src/api/schemas/go2rtc.schema.js +1 -16
  519. package/dist/server/src/api/schemas/go2rtc.schema.js.map +1 -1
  520. package/dist/server/src/api/schemas/instances.schema.d.ts +23 -0
  521. package/dist/server/src/api/schemas/instances.schema.js +24 -0
  522. package/dist/server/src/api/schemas/instances.schema.js.map +1 -0
  523. package/dist/server/src/api/schemas/notifications.schema.d.ts +26 -0
  524. package/dist/server/src/api/schemas/notifications.schema.js +25 -0
  525. package/dist/server/src/api/schemas/notifications.schema.js.map +1 -0
  526. package/dist/server/src/api/schemas/oauthCallback.schema.d.ts +11 -0
  527. package/dist/server/src/api/schemas/oauthCallback.schema.js +10 -0
  528. package/dist/server/src/api/schemas/oauthCallback.schema.js.map +1 -0
  529. package/dist/server/src/api/schemas/plugins.schema.d.ts +62 -59
  530. package/dist/server/src/api/schemas/plugins.schema.js +54 -81
  531. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  532. package/dist/server/src/api/schemas/remote.schema.d.ts +44 -0
  533. package/dist/server/src/api/schemas/remote.schema.js +80 -0
  534. package/dist/server/src/api/schemas/remote.schema.js.map +1 -0
  535. package/dist/server/src/api/schemas/server.schema.d.ts +9 -0
  536. package/dist/server/src/api/schemas/server.schema.js +12 -0
  537. package/dist/server/src/api/schemas/server.schema.js.map +1 -0
  538. package/dist/server/src/api/schemas/shares.schema.d.ts +21 -0
  539. package/dist/server/src/api/schemas/shares.schema.js +22 -0
  540. package/dist/server/src/api/schemas/shares.schema.js.map +1 -0
  541. package/dist/server/src/api/schemas/storage.schema.d.ts +5 -15
  542. package/dist/server/src/api/schemas/users.schema.d.ts +294 -786
  543. package/dist/server/src/api/schemas/users.schema.js +76 -39
  544. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  545. package/dist/server/src/api/schemas/workers.schema.d.ts +14 -0
  546. package/dist/server/src/api/schemas/workers.schema.js +12 -0
  547. package/dist/server/src/api/schemas/workers.schema.js.map +1 -0
  548. package/dist/server/src/api/services/auth.service.d.ts +27 -17
  549. package/dist/server/src/api/services/auth.service.js +106 -134
  550. package/dist/server/src/api/services/auth.service.js.map +1 -1
  551. package/dist/server/src/api/services/automations.service.d.ts +24 -0
  552. package/dist/server/src/api/services/automations.service.js +157 -0
  553. package/dist/server/src/api/services/automations.service.js.map +1 -0
  554. package/dist/server/src/api/services/backup.service.js +0 -5
  555. package/dist/server/src/api/services/backup.service.js.map +1 -1
  556. package/dist/server/src/api/services/cameras.service.d.ts +28 -15
  557. package/dist/server/src/api/services/cameras.service.js +532 -305
  558. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  559. package/dist/server/src/api/services/downloads.service.d.ts +9 -0
  560. package/dist/server/src/api/services/downloads.service.js +20 -0
  561. package/dist/server/src/api/services/downloads.service.js.map +1 -0
  562. package/dist/server/src/api/services/instances.service.d.ts +52 -0
  563. package/dist/server/src/api/services/instances.service.js +344 -0
  564. package/dist/server/src/api/services/instances.service.js.map +1 -0
  565. package/dist/server/src/api/services/notifications.service.d.ts +21 -0
  566. package/dist/server/src/api/services/notifications.service.js +48 -0
  567. package/dist/server/src/api/services/notifications.service.js.map +1 -0
  568. package/dist/server/src/api/services/plugins.service.js +31 -35
  569. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  570. package/dist/server/src/api/services/remote.service.d.ts +35 -0
  571. package/dist/server/src/api/services/remote.service.js +207 -0
  572. package/dist/server/src/api/services/remote.service.js.map +1 -0
  573. package/dist/server/src/api/services/server.service.d.ts +15 -0
  574. package/dist/server/src/api/services/server.service.js +75 -0
  575. package/dist/server/src/api/services/server.service.js.map +1 -0
  576. package/dist/server/src/api/services/shares.service.d.ts +46 -0
  577. package/dist/server/src/api/services/shares.service.js +233 -0
  578. package/dist/server/src/api/services/shares.service.js.map +1 -0
  579. package/dist/server/src/api/services/twoFactor.service.d.ts +22 -0
  580. package/dist/server/src/api/services/twoFactor.service.js +81 -0
  581. package/dist/server/src/api/services/twoFactor.service.js.map +1 -0
  582. package/dist/server/src/api/services/users.service.d.ts +9 -5
  583. package/dist/server/src/api/services/users.service.js +157 -121
  584. package/dist/server/src/api/services/users.service.js.map +1 -1
  585. package/dist/server/src/api/services/workers.service.d.ts +5 -0
  586. package/dist/server/src/api/services/workers.service.js +19 -0
  587. package/dist/server/src/api/services/workers.service.js.map +1 -0
  588. package/dist/server/src/api/types/index.d.ts +350 -133
  589. package/dist/server/src/api/types/index.js +5 -4
  590. package/dist/server/src/api/types/index.js.map +1 -1
  591. package/dist/server/src/api/utils/cert.js +1 -1
  592. package/dist/server/src/api/utils/cert.js.map +1 -1
  593. package/dist/server/src/api/utils/encryption.d.ts +5 -0
  594. package/dist/server/src/api/utils/encryption.js +25 -0
  595. package/dist/server/src/api/utils/encryption.js.map +1 -0
  596. package/dist/server/src/api/utils/plugin.d.ts +4 -0
  597. package/dist/server/src/api/utils/plugin.js +8 -0
  598. package/dist/server/src/api/utils/plugin.js.map +1 -0
  599. package/dist/server/src/api/utils/regex.d.ts +3 -0
  600. package/dist/server/src/api/utils/regex.js +4 -0
  601. package/dist/server/src/api/utils/regex.js.map +1 -0
  602. package/dist/server/src/api/utils/upload.d.ts +3 -0
  603. package/dist/server/src/api/utils/upload.js +23 -0
  604. package/dist/server/src/api/utils/upload.js.map +1 -0
  605. package/dist/server/src/api/websocket/index.js +18 -16
  606. package/dist/server/src/api/websocket/index.js.map +1 -1
  607. package/dist/server/src/api/websocket/nsp/cameras.d.ts +21 -0
  608. package/dist/server/src/api/websocket/nsp/cameras.js +152 -0
  609. package/dist/server/src/api/websocket/nsp/cameras.js.map +1 -0
  610. package/dist/server/src/api/websocket/nsp/logs.d.ts +1 -1
  611. package/dist/server/src/api/websocket/nsp/logs.js +65 -52
  612. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  613. package/dist/server/src/api/websocket/nsp/main.d.ts +4 -1
  614. package/dist/server/src/api/websocket/nsp/main.js +29 -1
  615. package/dist/server/src/api/websocket/nsp/main.js.map +1 -1
  616. package/dist/server/src/api/websocket/nsp/metrics.js +4 -4
  617. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  618. package/dist/server/src/api/websocket/nsp/notifications.d.ts +3 -3
  619. package/dist/server/src/api/websocket/nsp/notifications.js +10 -11
  620. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  621. package/dist/server/src/api/websocket/nsp/server.d.ts +4 -4
  622. package/dist/server/src/api/websocket/nsp/server.js +48 -27
  623. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  624. package/dist/server/src/api/websocket/nsp/status.d.ts +3 -3
  625. package/dist/server/src/api/websocket/nsp/status.js +3 -3
  626. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  627. package/dist/server/src/api/websocket/nsp/workers.d.ts +17 -0
  628. package/dist/server/src/api/websocket/nsp/workers.js +46 -0
  629. package/dist/server/src/api/websocket/nsp/workers.js.map +1 -0
  630. package/dist/server/src/api/websocket/types.d.ts +2 -1
  631. package/dist/server/src/api.d.ts +11 -16
  632. package/dist/server/src/api.js +62 -48
  633. package/dist/server/src/api.js.map +1 -1
  634. package/dist/server/src/automations/actions/cameraControl.d.ts +2 -0
  635. package/dist/server/src/automations/actions/cameraControl.js +35 -0
  636. package/dist/server/src/automations/actions/cameraControl.js.map +1 -0
  637. package/dist/server/src/automations/actions/delay.d.ts +2 -0
  638. package/dist/server/src/automations/actions/delay.js +8 -0
  639. package/dist/server/src/automations/actions/delay.js.map +1 -0
  640. package/dist/server/src/automations/actions/http.d.ts +2 -0
  641. package/dist/server/src/automations/actions/http.js +44 -0
  642. package/dist/server/src/automations/actions/http.js.map +1 -0
  643. package/dist/server/src/automations/actions/index.d.ts +4 -0
  644. package/dist/server/src/automations/actions/index.js +20 -0
  645. package/dist/server/src/automations/actions/index.js.map +1 -0
  646. package/dist/server/src/automations/actions/notification.d.ts +2 -0
  647. package/dist/server/src/automations/actions/notification.js +76 -0
  648. package/dist/server/src/automations/actions/notification.js.map +1 -0
  649. package/dist/server/src/automations/actions/plugin.d.ts +3 -0
  650. package/dist/server/src/automations/actions/plugin.js +73 -0
  651. package/dist/server/src/automations/actions/plugin.js.map +1 -0
  652. package/dist/server/src/automations/actions/sensor.d.ts +2 -0
  653. package/dist/server/src/automations/actions/sensor.js +17 -0
  654. package/dist/server/src/automations/actions/sensor.js.map +1 -0
  655. package/dist/server/src/automations/actions/snapshot.d.ts +2 -0
  656. package/dist/server/src/automations/actions/snapshot.js +20 -0
  657. package/dist/server/src/automations/actions/snapshot.js.map +1 -0
  658. package/dist/server/src/automations/actions/types.d.ts +14 -0
  659. package/dist/server/src/automations/actions/types.js.map +1 -0
  660. package/dist/server/src/automations/actions/variable.d.ts +2 -0
  661. package/dist/server/src/automations/actions/variable.js +17 -0
  662. package/dist/server/src/automations/actions/variable.js.map +1 -0
  663. package/dist/server/src/automations/conditions/ifelse.d.ts +3 -0
  664. package/dist/server/src/automations/conditions/ifelse.js +39 -0
  665. package/dist/server/src/automations/conditions/ifelse.js.map +1 -0
  666. package/dist/server/src/automations/conditions/index.d.ts +4 -0
  667. package/dist/server/src/automations/conditions/index.js +20 -0
  668. package/dist/server/src/automations/conditions/index.js.map +1 -0
  669. package/dist/server/src/automations/conditions/sensorState.d.ts +3 -0
  670. package/dist/server/src/automations/conditions/sensorState.js +21 -0
  671. package/dist/server/src/automations/conditions/sensorState.js.map +1 -0
  672. package/dist/server/src/automations/conditions/switch.d.ts +3 -0
  673. package/dist/server/src/automations/conditions/switch.js +9 -0
  674. package/dist/server/src/automations/conditions/switch.js.map +1 -0
  675. package/dist/server/src/automations/conditions/time.d.ts +3 -0
  676. package/dist/server/src/automations/conditions/time.js +24 -0
  677. package/dist/server/src/automations/conditions/time.js.map +1 -0
  678. package/dist/server/src/automations/conditions/types.d.ts +7 -0
  679. package/dist/server/src/automations/conditions/types.js.map +1 -0
  680. package/dist/server/src/automations/context.d.ts +48 -0
  681. package/dist/server/src/automations/context.js +146 -0
  682. package/dist/server/src/automations/context.js.map +1 -0
  683. package/dist/server/src/automations/engine.d.ts +35 -0
  684. package/dist/server/src/automations/engine.js +321 -0
  685. package/dist/server/src/automations/engine.js.map +1 -0
  686. package/dist/server/src/automations/haversine.d.ts +1 -0
  687. package/dist/server/src/automations/haversine.js +9 -0
  688. package/dist/server/src/automations/haversine.js.map +1 -0
  689. package/dist/server/src/automations/parseValue.d.ts +1 -0
  690. package/dist/server/src/automations/parseValue.js +11 -0
  691. package/dist/server/src/automations/parseValue.js.map +1 -0
  692. package/dist/server/src/automations/pluginMethodRegistry.d.ts +37 -0
  693. package/dist/server/src/automations/pluginMethodRegistry.js +162 -0
  694. package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -0
  695. package/dist/server/src/automations/runner.d.ts +23 -0
  696. package/dist/server/src/automations/runner.js +166 -0
  697. package/dist/server/src/automations/runner.js.map +1 -0
  698. package/dist/server/src/automations/triggers/detection.d.ts +3 -0
  699. package/dist/server/src/automations/triggers/detection.js +102 -0
  700. package/dist/server/src/automations/triggers/detection.js.map +1 -0
  701. package/dist/server/src/automations/triggers/geofence.d.ts +13 -0
  702. package/dist/server/src/automations/triggers/geofence.js +8 -0
  703. package/dist/server/src/automations/triggers/geofence.js.map +1 -0
  704. package/dist/server/src/automations/triggers/index.d.ts +9 -0
  705. package/dist/server/src/automations/triggers/index.js +7 -0
  706. package/dist/server/src/automations/triggers/index.js.map +1 -0
  707. package/dist/server/src/automations/triggers/schedule.d.ts +3 -0
  708. package/dist/server/src/automations/triggers/schedule.js +54 -0
  709. package/dist/server/src/automations/triggers/schedule.js.map +1 -0
  710. package/dist/server/src/automations/triggers/sensor.d.ts +3 -0
  711. package/dist/server/src/automations/triggers/sensor.js +44 -0
  712. package/dist/server/src/automations/triggers/sensor.js.map +1 -0
  713. package/dist/server/src/automations/triggers/system.d.ts +3 -0
  714. package/dist/server/src/automations/triggers/system.js +31 -0
  715. package/dist/server/src/automations/triggers/system.js.map +1 -0
  716. package/dist/server/src/automations/triggers/types.d.ts +12 -0
  717. package/dist/server/src/automations/triggers/types.js.map +1 -0
  718. package/dist/server/src/automations/triggers/webhook.d.ts +7 -0
  719. package/dist/server/src/automations/triggers/webhook.js +8 -0
  720. package/dist/server/src/automations/triggers/webhook.js.map +1 -0
  721. package/dist/server/src/automations/utilities/imageInput.d.ts +2 -0
  722. package/dist/server/src/automations/utilities/imageInput.js +139 -0
  723. package/dist/server/src/automations/utilities/imageInput.js.map +1 -0
  724. package/dist/server/src/automations/utilities/index.d.ts +2 -0
  725. package/dist/server/src/automations/utilities/index.js +7 -0
  726. package/dist/server/src/automations/utilities/index.js.map +1 -0
  727. package/dist/server/src/automations/utilities/output.d.ts +2 -0
  728. package/dist/server/src/automations/utilities/output.js +10 -0
  729. package/dist/server/src/automations/utilities/output.js.map +1 -0
  730. package/dist/server/src/camera/controller.d.ts +56 -45
  731. package/dist/server/src/camera/controller.js +468 -326
  732. package/dist/server/src/camera/controller.js.map +1 -1
  733. package/dist/server/src/camera/decoder/audio-source.d.ts +34 -0
  734. package/dist/server/src/camera/decoder/audio-source.js +170 -0
  735. package/dist/server/src/camera/decoder/audio-source.js.map +1 -0
  736. package/dist/server/src/camera/decoder/cascade-manager.d.ts +22 -0
  737. package/dist/server/src/camera/decoder/cascade-manager.js +82 -0
  738. package/dist/server/src/camera/decoder/cascade-manager.js.map +1 -0
  739. package/dist/server/src/camera/decoder/child.d.ts +28 -0
  740. package/dist/server/src/camera/decoder/child.js +187 -0
  741. package/dist/server/src/camera/decoder/child.js.map +1 -0
  742. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +142 -0
  743. package/dist/server/src/camera/decoder/detection-coordinator.js +1844 -0
  744. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -0
  745. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +41 -0
  746. package/dist/server/src/camera/decoder/detection-pipeline.js +216 -0
  747. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -0
  748. package/dist/server/src/camera/decoder/dwell-manager.d.ts +23 -0
  749. package/dist/server/src/camera/decoder/dwell-manager.js +82 -0
  750. package/dist/server/src/camera/decoder/dwell-manager.js.map +1 -0
  751. package/dist/server/src/camera/decoder/event-manager.d.ts +97 -0
  752. package/dist/server/src/camera/decoder/event-manager.js +674 -0
  753. package/dist/server/src/camera/decoder/event-manager.js.map +1 -0
  754. package/dist/server/src/camera/decoder/frame-scaler.d.ts +53 -0
  755. package/dist/server/src/camera/decoder/frame-scaler.js +136 -0
  756. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -0
  757. package/dist/server/src/camera/decoder/frame-source.d.ts +54 -0
  758. package/dist/server/src/camera/decoder/frame-source.js +341 -0
  759. package/dist/server/src/camera/decoder/frame-source.js.map +1 -0
  760. package/dist/server/src/camera/decoder/ptz-autotracker.d.ts +57 -0
  761. package/dist/server/src/camera/decoder/ptz-autotracker.js +369 -0
  762. package/dist/server/src/camera/decoder/ptz-autotracker.js.map +1 -0
  763. package/dist/server/src/camera/decoder/types.d.ts +7 -0
  764. package/dist/server/src/camera/decoder/types.js +6 -0
  765. package/dist/server/src/camera/decoder/types.js.map +1 -0
  766. package/dist/server/src/camera/decoder/worker.d.ts +48 -0
  767. package/dist/server/src/camera/decoder/worker.js +465 -0
  768. package/dist/server/src/camera/decoder/worker.js.map +1 -0
  769. package/dist/server/src/camera/index.d.ts +43 -59
  770. package/dist/server/src/camera/index.js +72 -438
  771. package/dist/server/src/camera/index.js.map +1 -1
  772. package/dist/server/src/camera/sensors/controller.d.ts +96 -0
  773. package/dist/server/src/camera/sensors/controller.js +517 -0
  774. package/dist/server/src/camera/sensors/controller.js.map +1 -0
  775. package/dist/server/src/camera/sensors/sensor.d.ts +34 -0
  776. package/dist/server/src/camera/sensors/sensor.js +176 -0
  777. package/dist/server/src/camera/sensors/sensor.js.map +1 -0
  778. package/dist/server/src/camera/sensors/types.d.ts +27 -0
  779. package/dist/server/src/camera/sensors/types.js +225 -0
  780. package/dist/server/src/camera/sensors/types.js.map +1 -0
  781. package/dist/server/src/camera/streaming/fmp4-session.d.ts +10 -12
  782. package/dist/server/src/camera/streaming/fmp4-session.js +162 -268
  783. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  784. package/dist/server/src/camera/streaming/rtp-session.d.ts +19 -0
  785. package/dist/server/src/camera/streaming/rtp-session.js +363 -0
  786. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -0
  787. package/dist/server/src/camera/utils/filter.d.ts +6 -0
  788. package/dist/server/src/camera/utils/filter.js +83 -0
  789. package/dist/server/src/camera/utils/filter.js.map +1 -0
  790. package/dist/server/src/camera/utils.d.ts +2 -7
  791. package/dist/server/src/camera/utils.js +53 -194
  792. package/dist/server/src/camera/utils.js.map +1 -1
  793. package/dist/server/src/go2rtc/api/index.d.ts +16 -0
  794. package/dist/server/src/go2rtc/api/index.js +33 -0
  795. package/dist/server/src/go2rtc/api/index.js.map +1 -0
  796. package/dist/server/src/go2rtc/api/instance.d.ts +7 -0
  797. package/dist/server/src/go2rtc/api/instance.js +49 -0
  798. package/dist/server/src/go2rtc/api/instance.js.map +1 -0
  799. package/dist/server/src/go2rtc/api/manager.d.ts +11 -0
  800. package/dist/server/src/go2rtc/api/manager.js +38 -0
  801. package/dist/server/src/go2rtc/api/manager.js.map +1 -0
  802. package/dist/server/src/go2rtc/api/routes/application.d.ts +9 -0
  803. package/dist/server/src/go2rtc/api/routes/application.js +40 -0
  804. package/dist/server/src/go2rtc/api/routes/application.js.map +1 -0
  805. package/dist/server/src/go2rtc/api/routes/config.d.ts +8 -0
  806. package/dist/server/src/go2rtc/api/routes/config.js +42 -0
  807. package/dist/server/src/go2rtc/api/routes/config.js.map +1 -0
  808. package/dist/server/src/go2rtc/api/routes/discover.d.ts +30 -0
  809. package/dist/server/src/go2rtc/api/routes/discover.js +158 -0
  810. package/dist/server/src/go2rtc/api/routes/discover.js.map +1 -0
  811. package/dist/server/src/go2rtc/api/routes/snapshot.d.ts +8 -0
  812. package/dist/server/src/go2rtc/api/routes/snapshot.js +34 -0
  813. package/dist/server/src/go2rtc/api/routes/snapshot.js.map +1 -0
  814. package/dist/server/src/go2rtc/api/routes/streams.d.ts +18 -0
  815. package/dist/server/src/go2rtc/api/routes/streams.js +161 -0
  816. package/dist/server/src/go2rtc/api/routes/streams.js.map +1 -0
  817. package/dist/server/src/go2rtc/index.d.ts +7 -2
  818. package/dist/server/src/go2rtc/index.js +52 -30
  819. package/dist/server/src/go2rtc/index.js.map +1 -1
  820. package/dist/server/src/go2rtc/types.d.ts +167 -1
  821. package/dist/server/src/go2rtc/types.js +3 -0
  822. package/dist/server/src/go2rtc/types.js.map +1 -1
  823. package/dist/server/src/internal-bus.d.ts +41 -0
  824. package/dist/server/src/internal-bus.js +19 -0
  825. package/dist/server/src/internal-bus.js.map +1 -0
  826. package/dist/server/src/main.d.ts +8 -2
  827. package/dist/server/src/main.js +110 -21
  828. package/dist/server/src/main.js.map +1 -1
  829. package/dist/server/src/manager/coreManager.d.ts +12 -9
  830. package/dist/server/src/manager/coreManager.js +45 -48
  831. package/dist/server/src/manager/coreManager.js.map +1 -1
  832. package/dist/server/src/manager/deviceManager.d.ts +10 -8
  833. package/dist/server/src/manager/deviceManager.js +31 -96
  834. package/dist/server/src/manager/deviceManager.js.map +1 -1
  835. package/dist/server/src/manager/discoveryManager.d.ts +73 -0
  836. package/dist/server/src/manager/discoveryManager.js +800 -0
  837. package/dist/server/src/manager/discoveryManager.js.map +1 -0
  838. package/dist/server/src/manager/downloadManager.d.ts +27 -0
  839. package/dist/server/src/manager/downloadManager.js +353 -0
  840. package/dist/server/src/manager/downloadManager.js.map +1 -0
  841. package/dist/server/src/manager/notificationManager.d.ts +37 -0
  842. package/dist/server/src/manager/notificationManager.js +334 -0
  843. package/dist/server/src/manager/notificationManager.js.map +1 -0
  844. package/dist/server/src/manager/terminalManager.d.ts +27 -0
  845. package/dist/server/src/manager/terminalManager.js +239 -0
  846. package/dist/server/src/manager/terminalManager.js.map +1 -0
  847. package/dist/server/src/manager/types.d.ts +39 -14
  848. package/dist/server/src/manager/types.js +12 -1
  849. package/dist/server/src/manager/types.js.map +1 -1
  850. package/dist/server/src/plugins/index.d.ts +9 -6
  851. package/dist/server/src/plugins/index.js +69 -52
  852. package/dist/server/src/plugins/index.js.map +1 -1
  853. package/dist/server/src/plugins/plugin.d.ts +16 -16
  854. package/dist/server/src/plugins/plugin.js +42 -36
  855. package/dist/server/src/plugins/plugin.js.map +1 -1
  856. package/dist/server/src/plugins/runtime/base.d.ts +5 -14
  857. package/dist/server/src/plugins/runtime/base.js +39 -111
  858. package/dist/server/src/plugins/runtime/base.js.map +1 -1
  859. package/dist/server/src/plugins/runtime/go/index.d.ts +7 -0
  860. package/dist/server/src/plugins/runtime/go/index.js +110 -0
  861. package/dist/server/src/plugins/runtime/go/index.js.map +1 -0
  862. package/dist/server/src/plugins/runtime/index.js +5 -1
  863. package/dist/server/src/plugins/runtime/index.js.map +1 -1
  864. package/dist/server/src/plugins/runtime/node/child.d.ts +7 -6
  865. package/dist/server/src/plugins/runtime/node/child.js +70 -38
  866. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  867. package/dist/server/src/plugins/runtime/node/index.d.ts +1 -0
  868. package/dist/server/src/plugins/runtime/node/index.js +31 -5
  869. package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
  870. package/dist/server/src/plugins/runtime/node/pluginApi.d.ts +9 -6
  871. package/dist/server/src/plugins/runtime/node/pluginApi.js +10 -4
  872. package/dist/server/src/plugins/runtime/node/pluginApi.js.map +1 -1
  873. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.d.ts +27 -15
  874. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +312 -173
  875. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  876. package/dist/server/src/plugins/runtime/node/proxy/coreManager.d.ts +7 -10
  877. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +28 -43
  878. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
  879. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.d.ts +7 -11
  880. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +40 -57
  881. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -1
  882. package/dist/server/src/plugins/runtime/node/proxy/downloadManager.d.ts +9 -0
  883. package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js +22 -0
  884. package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js.map +1 -0
  885. package/dist/server/src/plugins/runtime/node/proxy/notificationManager.d.ts +7 -0
  886. package/dist/server/src/plugins/runtime/node/proxy/notificationManager.js +20 -0
  887. package/dist/server/src/plugins/runtime/node/proxy/notificationManager.js.map +1 -0
  888. package/dist/server/src/plugins/runtime/node/proxy/sensor.d.ts +45 -0
  889. package/dist/server/src/plugins/runtime/node/proxy/sensor.js +149 -0
  890. package/dist/server/src/plugins/runtime/node/proxy/sensor.js.map +1 -0
  891. package/dist/server/src/plugins/runtime/node/storage.d.ts +6 -11
  892. package/dist/server/src/plugins/runtime/node/storage.js +69 -46
  893. package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
  894. package/dist/server/src/plugins/runtime/node/storageController.d.ts +10 -7
  895. package/dist/server/src/plugins/runtime/node/storageController.js +57 -17
  896. package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
  897. package/dist/server/src/plugins/runtime/python/camera/utils.py +105 -0
  898. package/dist/server/src/plugins/runtime/python/child.py +108 -68
  899. package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
  900. package/dist/server/src/plugins/runtime/python/namespaces.py +155 -60
  901. package/dist/server/src/plugins/runtime/python/plugin_api.py +72 -6
  902. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +592 -1522
  903. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +75 -76
  904. package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +81 -93
  905. package/dist/server/src/plugins/runtime/python/proxy/download_manager.py +33 -0
  906. package/dist/server/src/plugins/runtime/python/proxy/notification_manager.py +31 -0
  907. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +169 -0
  908. package/dist/server/src/plugins/runtime/python/rpc/typings.py +56 -0
  909. package/dist/server/src/plugins/runtime/python/schema.py +54 -19
  910. package/dist/server/src/plugins/runtime/python/storage.py +84 -66
  911. package/dist/server/src/plugins/runtime/python/storage_controller.py +132 -38
  912. package/dist/server/src/plugins/runtime/python/typings.py +78 -152
  913. package/dist/server/src/plugins/schema.d.ts +27 -26
  914. package/dist/server/src/plugins/schema.js +183 -103
  915. package/dist/server/src/plugins/schema.js.map +1 -1
  916. package/dist/server/src/plugins/types.d.ts +2 -14
  917. package/dist/server/src/plugins/types.js +0 -1
  918. package/dist/server/src/plugins/types.js.map +1 -1
  919. package/dist/server/src/plugins/worker.d.ts +7 -7
  920. package/dist/server/src/plugins/worker.js +37 -26
  921. package/dist/server/src/plugins/worker.js.map +1 -1
  922. package/dist/server/src/remote/api/credentialStore.d.ts +18 -0
  923. package/dist/server/src/remote/api/credentialStore.js +101 -0
  924. package/dist/server/src/remote/api/credentialStore.js.map +1 -0
  925. package/dist/server/src/remote/api/index.d.ts +9 -0
  926. package/dist/server/src/remote/api/index.js +16 -0
  927. package/dist/server/src/remote/api/index.js.map +1 -0
  928. package/dist/server/src/remote/api/instance.d.ts +9 -0
  929. package/dist/server/src/remote/api/instance.js +44 -0
  930. package/dist/server/src/remote/api/instance.js.map +1 -0
  931. package/dist/server/src/remote/api/routes/oauth.d.ts +23 -0
  932. package/dist/server/src/remote/api/routes/oauth.js +79 -0
  933. package/dist/server/src/remote/api/routes/oauth.js.map +1 -0
  934. package/dist/server/src/remote/api/routes/server.d.ts +20 -0
  935. package/dist/server/src/remote/api/routes/server.js +58 -0
  936. package/dist/server/src/remote/api/routes/server.js.map +1 -0
  937. package/dist/server/src/remote/index.d.ts +25 -0
  938. package/dist/server/src/remote/index.js +70 -0
  939. package/dist/server/src/remote/index.js.map +1 -0
  940. package/dist/server/src/remote/push.d.ts +15 -0
  941. package/dist/server/src/remote/push.js +85 -0
  942. package/dist/server/src/remote/push.js.map +1 -0
  943. package/dist/server/src/remote/services/cloudflare-managed.d.ts +42 -0
  944. package/dist/server/src/remote/services/cloudflare-managed.js +284 -0
  945. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -0
  946. package/dist/server/src/remote/services/cloudflare.d.ts +38 -0
  947. package/dist/server/src/remote/services/cloudflare.js +232 -0
  948. package/dist/server/src/remote/services/cloudflare.js.map +1 -0
  949. package/dist/server/src/remote/services/customDomain.d.ts +9 -0
  950. package/dist/server/src/remote/services/customDomain.js +40 -0
  951. package/dist/server/src/remote/services/customDomain.js.map +1 -0
  952. package/dist/server/src/remote/services/index.d.ts +43 -0
  953. package/dist/server/src/remote/services/index.js +285 -0
  954. package/dist/server/src/remote/services/index.js.map +1 -0
  955. package/dist/server/src/remote/services/upnp.js +2 -0
  956. package/dist/server/src/remote/services/upnp.js.map +1 -0
  957. package/dist/server/src/remote/tunnel/client.d.ts +38 -0
  958. package/dist/server/src/remote/tunnel/client.js +241 -0
  959. package/dist/server/src/remote/tunnel/client.js.map +1 -0
  960. package/dist/server/src/remote/tunnel/index.d.ts +15 -0
  961. package/dist/server/src/remote/tunnel/index.js +68 -0
  962. package/dist/server/src/remote/tunnel/index.js.map +1 -0
  963. package/dist/server/src/remote/types.d.ts +31 -0
  964. package/dist/server/src/remote/types.js +2 -0
  965. package/dist/server/src/remote/types.js.map +1 -0
  966. package/dist/server/src/rpc/index.d.ts +24 -25
  967. package/dist/server/src/rpc/index.js +93 -77
  968. package/dist/server/src/rpc/index.js.map +1 -1
  969. package/dist/server/src/rpc/interfaces/config.d.ts +74 -0
  970. package/dist/server/src/rpc/interfaces/config.js +2 -0
  971. package/dist/server/src/rpc/interfaces/config.js.map +1 -0
  972. package/dist/server/src/rpc/interfaces/core.d.ts +25 -0
  973. package/dist/server/src/rpc/interfaces/core.js +2 -0
  974. package/dist/server/src/rpc/interfaces/core.js.map +1 -0
  975. package/dist/server/src/rpc/interfaces/detection.d.ts +70 -0
  976. package/dist/server/src/rpc/interfaces/detection.js +2 -0
  977. package/dist/server/src/rpc/interfaces/detection.js.map +1 -0
  978. package/dist/server/src/rpc/interfaces/device.d.ts +62 -0
  979. package/dist/server/src/rpc/interfaces/device.js +2 -0
  980. package/dist/server/src/rpc/interfaces/device.js.map +1 -0
  981. package/dist/server/src/rpc/interfaces/discovery.d.ts +46 -0
  982. package/dist/server/src/rpc/interfaces/discovery.js +2 -0
  983. package/dist/server/src/rpc/interfaces/discovery.js.map +1 -0
  984. package/dist/server/src/rpc/interfaces/download.d.ts +22 -0
  985. package/dist/server/src/rpc/interfaces/download.js +2 -0
  986. package/dist/server/src/rpc/interfaces/download.js.map +1 -0
  987. package/dist/server/src/rpc/interfaces/frameworker.d.ts +12 -0
  988. package/dist/server/src/rpc/interfaces/frameworker.js +2 -0
  989. package/dist/server/src/rpc/interfaces/frameworker.js.map +1 -0
  990. package/dist/server/src/rpc/interfaces/notification.d.ts +6 -0
  991. package/dist/server/src/rpc/interfaces/notification.js +2 -0
  992. package/dist/server/src/rpc/interfaces/notification.js.map +1 -0
  993. package/dist/server/src/rpc/interfaces/sensor.d.ts +75 -0
  994. package/dist/server/src/rpc/interfaces/sensor.js +2 -0
  995. package/dist/server/src/rpc/interfaces/sensor.js.map +1 -0
  996. package/dist/server/src/rpc/interfaces/terminal.d.ts +34 -0
  997. package/dist/server/src/rpc/interfaces/terminal.js +2 -0
  998. package/dist/server/src/rpc/interfaces/terminal.js.map +1 -0
  999. package/dist/server/src/rpc/namespaces.d.ts +50 -2
  1000. package/dist/server/src/rpc/namespaces.js +70 -4
  1001. package/dist/server/src/rpc/namespaces.js.map +1 -1
  1002. package/dist/server/src/rpc/server.d.ts +22 -3
  1003. package/dist/server/src/rpc/server.js +110 -37
  1004. package/dist/server/src/rpc/server.js.map +1 -1
  1005. package/dist/server/src/rpc/utils.d.ts +2 -1
  1006. package/dist/server/src/rpc/utils.js +8 -0
  1007. package/dist/server/src/rpc/utils.js.map +1 -1
  1008. package/dist/server/src/services/config/constants.d.ts +7 -1
  1009. package/dist/server/src/services/config/constants.js +17 -2
  1010. package/dist/server/src/services/config/constants.js.map +1 -1
  1011. package/dist/server/src/services/config/defaults.js +3 -3
  1012. package/dist/server/src/services/config/defaults.js.map +1 -1
  1013. package/dist/server/src/services/config/index.d.ts +6 -43
  1014. package/dist/server/src/services/config/index.js +56 -108
  1015. package/dist/server/src/services/config/index.js.map +1 -1
  1016. package/dist/server/src/services/config/types.d.ts +14 -2
  1017. package/dist/server/src/services/config/types.js.map +1 -1
  1018. package/dist/server/src/services/logger/index.d.ts +13 -11
  1019. package/dist/server/src/services/logger/index.js +47 -50
  1020. package/dist/server/src/services/logger/index.js.map +1 -1
  1021. package/dist/server/src/services/logger/logManager.d.ts +35 -0
  1022. package/dist/server/src/services/logger/logManager.js +196 -0
  1023. package/dist/server/src/services/logger/logManager.js.map +1 -0
  1024. package/dist/server/src/services/logger/transports/fileTransport.d.ts +34 -0
  1025. package/dist/server/src/services/logger/transports/fileTransport.js +152 -0
  1026. package/dist/server/src/services/logger/transports/fileTransport.js.map +1 -0
  1027. package/dist/server/src/services/logger/transports/index.d.ts +1 -0
  1028. package/dist/server/src/services/logger/transports/index.js +2 -0
  1029. package/dist/server/src/services/logger/transports/index.js.map +1 -0
  1030. package/dist/server/src/types.d.ts +3 -0
  1031. package/dist/server/src/utils/camera.d.ts +4 -0
  1032. package/dist/server/src/utils/camera.js +79 -0
  1033. package/dist/server/src/utils/camera.js.map +1 -0
  1034. package/dist/server/src/utils/env.js +8 -0
  1035. package/dist/server/src/utils/env.js.map +1 -0
  1036. package/dist/server/src/utils/ipc.d.ts +1 -1
  1037. package/dist/server/src/utils/ipc.js +2 -2
  1038. package/dist/server/src/utils/ipc.js.map +1 -1
  1039. package/dist/server/src/utils/path.js +3 -3
  1040. package/dist/server/src/utils/path.js.map +1 -1
  1041. package/dist/server/src/utils/pythonInstaller.d.ts +2 -1
  1042. package/dist/server/src/utils/pythonInstaller.js +6 -6
  1043. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  1044. package/dist/server/src/workers/agent.d.ts +27 -0
  1045. package/dist/server/src/workers/agent.js +161 -0
  1046. package/dist/server/src/workers/agent.js.map +1 -0
  1047. package/dist/server/src/workers/capabilities/frame-decoding.d.ts +24 -0
  1048. package/dist/server/src/workers/capabilities/frame-decoding.js +180 -0
  1049. package/dist/server/src/workers/capabilities/frame-decoding.js.map +1 -0
  1050. package/dist/server/src/workers/capabilities/handler.d.ts +8 -0
  1051. package/dist/server/src/workers/capabilities/handler.js +2 -0
  1052. package/dist/server/src/workers/capabilities/handler.js.map +1 -0
  1053. package/dist/server/src/workers/manager.d.ts +31 -0
  1054. package/dist/server/src/workers/manager.js +260 -0
  1055. package/dist/server/src/workers/manager.js.map +1 -0
  1056. package/dist/server/src/workers/types.d.ts +59 -0
  1057. package/dist/server/src/workers/types.js +5 -0
  1058. package/dist/server/src/workers/types.js.map +1 -0
  1059. package/package.json +73 -79
  1060. package/dist/interface/assets/@xterm.DYP7pi_n.0.0.69.css +0 -32
  1061. package/dist/interface/assets/Adminpanel.BKek2EMH.0.0.69.css +0 -1
  1062. package/dist/interface/assets/Cameras.BDWZJqPN.0.0.69.css +0 -1
  1063. package/dist/interface/assets/Camview.Cvhuou6V.0.0.69.css +0 -1
  1064. package/dist/interface/assets/CuiConsole.DCYyxdVg.0.0.69.css +0 -1
  1065. package/dist/interface/assets/CuiPluginCard.yF8V0SZY.0.0.69.css +0 -1
  1066. package/dist/interface/assets/CuiTimeline.BkIwlYtw.0.0.69.css +0 -1
  1067. package/dist/interface/assets/Plugin.DJElsAn5.0.0.69.css +0 -1
  1068. package/dist/interface/assets/Plugins.BwPlcRrV.0.0.69.css +0 -1
  1069. package/dist/interface/assets/Settings.CkgfRkQr.0.0.69.css +0 -1
  1070. package/dist/interface/assets/SettingsAccount.CDZT7gN-.0.0.69.css +0 -1
  1071. package/dist/interface/assets/highlight.Ch2EwETz.0.0.69.css +0 -1
  1072. package/dist/interface/assets/main.BmO7mnW4.0.0.69.css +0 -1
  1073. package/dist/interface/assets/worker-base.jEXLGV2h.0.0.69.js +0 -1332
  1074. package/dist/interface/assets/worker-yaml.B3uUYINB.0.0.69.js +0 -5819
  1075. package/dist/interface/js/@babel.l0sNRNKZ.0.0.69.js +0 -1
  1076. package/dist/interface/js/@intlify.6ljJeWIl.0.0.69.js +0 -15
  1077. package/dist/interface/js/@kurkle.D8fDXNIl.0.0.69.js +0 -6
  1078. package/dist/interface/js/@primeuix.bRNqZjQz.0.0.69.js +0 -5889
  1079. package/dist/interface/js/@primevue.C5r50LKM.0.0.69.js +0 -57
  1080. package/dist/interface/js/@react-dnd.CcwRs9xb.0.0.69.js +0 -1
  1081. package/dist/interface/js/@socket.io.Dkula2eQ.0.0.69.js +0 -1
  1082. package/dist/interface/js/@tanstack.ESyaYTt8.0.0.69.js +0 -1
  1083. package/dist/interface/js/@vee-validate.CeUgfPaH.0.0.69.js +0 -5
  1084. package/dist/interface/js/@vue.BsSvBeCe.0.0.69.js +0 -17
  1085. package/dist/interface/js/@vueuse.NhwSnX_y.0.0.69.js +0 -1
  1086. package/dist/interface/js/@xterm.DHnCBlz-.0.0.69.js +0 -66
  1087. package/dist/interface/js/Adminpanel.CR_zSM68.0.0.69.js +0 -1
  1088. package/dist/interface/js/Camera.Cc2GMAQz.0.0.69.js +0 -1
  1089. package/dist/interface/js/Cameras.AVNvfmPx.0.0.69.js +0 -482
  1090. package/dist/interface/js/Cammesh.6TFnt2Jx.0.0.69.js +0 -1
  1091. package/dist/interface/js/Camview.CTs17jUK.0.0.69.js +0 -1
  1092. package/dist/interface/js/Config.BcnTMnwK.0.0.69.js +0 -2
  1093. package/dist/interface/js/Console.C2u30_a4.0.0.69.js +0 -4
  1094. package/dist/interface/js/CuiConsole.C_vx3eur.0.0.69.js +0 -1
  1095. package/dist/interface/js/CuiPluginCard.DXCSR91d.0.0.69.js +0 -4
  1096. package/dist/interface/js/CuiTimeline.D24_kazZ.0.0.69.js +0 -1
  1097. package/dist/interface/js/FirstSteps.DmFQyph_.0.0.69.js +0 -1
  1098. package/dist/interface/js/Plugin.DnLoseHB.0.0.69.js +0 -1
  1099. package/dist/interface/js/Plugins.D6nWkZe3.0.0.69.js +0 -1
  1100. package/dist/interface/js/Recordings.BGcye9TW.0.0.69.js +0 -1
  1101. package/dist/interface/js/Settings.CLR_jqKd.0.0.69.js +0 -1
  1102. package/dist/interface/js/SettingsAccount.D9QAC8hM.0.0.69.js +0 -1
  1103. package/dist/interface/js/SettingsAppearance.Dg_3Nbvy.0.0.69.js +0 -1
  1104. package/dist/interface/js/SettingsAppearance.vue_vue_type_script_setup_true_lang.DZQvbT2Y.0.0.69.js +0 -1
  1105. package/dist/interface/js/SettingsBackup.C35jy9a9.0.0.69.js +0 -1
  1106. package/dist/interface/js/SettingsRecordings.C5na6ke4.0.0.69.js +0 -1
  1107. package/dist/interface/js/SettingsRemote.BrU66scR.0.0.69.js +0 -1
  1108. package/dist/interface/js/SettingsSystem.DmU4H9b1.0.0.69.js +0 -1
  1109. package/dist/interface/js/SettingsUsers.DQN0jbzy.0.0.69.js +0 -1
  1110. package/dist/interface/js/VersionsHandler.vue_vue_type_script_setup_true_lang.Cyp9Qkwy.0.0.69.js +0 -4
  1111. package/dist/interface/js/ace-builds.D-7Qis2t.0.0.69.js +0 -1091
  1112. package/dist/interface/js/ace.config.ButjQxKc.0.0.69.js +0 -1
  1113. package/dist/interface/js/axios.lj9VQs0f.0.0.69.js +0 -6
  1114. package/dist/interface/js/backup.ZVXbFg1K.0.0.69.js +0 -1
  1115. package/dist/interface/js/birpc.l0sNRNKZ.0.0.69.js +0 -1
  1116. package/dist/interface/js/chart.js.Dz1J8kd4.0.0.69.js +0 -13
  1117. package/dist/interface/js/close-circle.DJNW4HfJ.0.0.69.js +0 -1
  1118. package/dist/interface/js/compare-versions.DqEOhma6.0.0.69.js +0 -1
  1119. package/dist/interface/js/dijkstrajs.C00ieaqj.0.0.69.js +0 -1
  1120. package/dist/interface/js/dnd-core.D_qG7vz7.0.0.69.js +0 -1
  1121. package/dist/interface/js/draggabilly.BoYjrLDK.0.0.69.js +0 -6
  1122. package/dist/interface/js/engine.io-client.B5m3FsEv.0.0.69.js +0 -1
  1123. package/dist/interface/js/engine.io-parser.BiEtp6m2.0.0.69.js +0 -1
  1124. package/dist/interface/js/entities.C20TfXL6.0.0.69.js +0 -1
  1125. package/dist/interface/js/ev-emitter.X5f1qa-c.0.0.69.js +0 -1
  1126. package/dist/interface/js/fast-deep-equal.IL3J8jAG.0.0.69.js +0 -1
  1127. package/dist/interface/js/get-size.D1dS-IaP.0.0.69.js +0 -5
  1128. package/dist/interface/js/highlight.js.BSQb76p3.0.0.69.js +0 -3
  1129. package/dist/interface/js/hookable.l0sNRNKZ.0.0.69.js +0 -1
  1130. package/dist/interface/js/linkify-it.DggZxsPz.0.0.69.js +0 -1
  1131. package/dist/interface/js/main.BNZUJnjG.0.0.69.js +0 -31
  1132. package/dist/interface/js/markdown-it.MLL3O76W.0.0.69.js +0 -15
  1133. package/dist/interface/js/mdurl.k9Sl0PQj.0.0.69.js +0 -2
  1134. package/dist/interface/js/nprogress.BYU1Y2h8.0.0.69.js +0 -2
  1135. package/dist/interface/js/perfect-debounce.l0sNRNKZ.0.0.69.js +0 -1
  1136. package/dist/interface/js/pinia.xXUM0Drf.0.0.69.js +0 -5
  1137. package/dist/interface/js/primelocale.Bga3dOQu.0.0.69.js +0 -1
  1138. package/dist/interface/js/primevue.CYqFPO0y.0.0.69.js +0 -142
  1139. package/dist/interface/js/punycode.js.Dj65hjkv.0.0.69.js +0 -1
  1140. package/dist/interface/js/qrcode.D3FbUuTi.0.0.69.js +0 -8
  1141. package/dist/interface/js/react-dnd-html5-backend.1HQjlkwI.0.0.69.js +0 -2
  1142. package/dist/interface/js/react-dnd-touch-backend.ChJx6T3S.0.0.69.js +0 -1
  1143. package/dist/interface/js/redux.BFxtlG_c.0.0.69.js +0 -1
  1144. package/dist/interface/js/refresh-rounded.DLelUEXh.0.0.69.js +0 -1
  1145. package/dist/interface/js/rxjs.AXKlNjX-.0.0.69.js +0 -3
  1146. package/dist/interface/js/socket.io-client.NZWSNJlD.0.0.69.js +0 -1
  1147. package/dist/interface/js/socket.io-parser.3CqTF9_v.0.0.69.js +0 -1
  1148. package/dist/interface/js/system.AeO3hneo.0.0.69.js +0 -1
  1149. package/dist/interface/js/trash-fill.CxzXm2nA.0.0.69.js +0 -1
  1150. package/dist/interface/js/tslib.9k7AwCpt.0.0.69.js +0 -1
  1151. package/dist/interface/js/uc.micro.kMc2yuuw.0.0.69.js +0 -1
  1152. package/dist/interface/js/unidragger.UylmBmyV.0.0.69.js +0 -5
  1153. package/dist/interface/js/uuid.C6aID195.0.0.69.js +0 -1
  1154. package/dist/interface/js/vee-validate.CXzK59HL.0.0.69.js +0 -5
  1155. package/dist/interface/js/vue-chartjs.Dr8dSHCc.0.0.69.js +0 -1
  1156. package/dist/interface/js/vue-i18n.BsJO9RBQ.0.0.69.js +0 -5
  1157. package/dist/interface/js/vue-inline-svg.1baioXR8.0.0.69.js +0 -1
  1158. package/dist/interface/js/vue-router.Cnp23wAe.0.0.69.js +0 -5
  1159. package/dist/interface/js/vue-zoomable.DMxVl9qH.0.0.69.js +0 -1
  1160. package/dist/interface/js/vue.l0sNRNKZ.0.0.69.js +0 -1
  1161. package/dist/interface/js/vue3-dnd.Cre7FigV.0.0.69.js +0 -1
  1162. package/dist/interface/js/zod.2bfLsWMZ.0.0.69.js +0 -1
  1163. package/dist/interface/js/zoom-out.BEqLMm84.0.0.69.js +0 -1
  1164. package/dist/interface/registerSW.js +0 -1
  1165. package/dist/interface/workbox-5ffe50d4.js +0 -1
  1166. package/dist/server/src/_camera_ui_tools/camera_ui_common/camera_utils/utils.py +0 -52
  1167. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/test.py +0 -116
  1168. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/__init__.py +0 -350
  1169. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/__init__.py +0 -0
  1170. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/base.py +0 -237
  1171. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/client.py +0 -256
  1172. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/connection.py +0 -784
  1173. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/errors.py +0 -745
  1174. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/messaging.py +0 -57
  1175. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc.py +0 -227
  1176. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc_generator.py +0 -584
  1177. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/constants.py +0 -96
  1178. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/typings.py +0 -218
  1179. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/__init__.py +0 -0
  1180. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/connection_state.py +0 -86
  1181. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/logger.py +0 -30
  1182. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/metrics.py +0 -152
  1183. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/packer.py +0 -20
  1184. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/routing.py +0 -75
  1185. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/rpc.py +0 -177
  1186. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/subscriptions.py +0 -24
  1187. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/tasks.py +0 -39
  1188. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/uid.py +0 -37
  1189. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/validate.py +0 -119
  1190. package/dist/server/src/_camera_ui_tools/camera_ui_types/__init__.py +0 -1369
  1191. package/dist/server/src/_camera_ui_tools/camera_ui_types/hybrid_observer.py +0 -338
  1192. package/dist/server/src/_camera_ui_tools/camera_ui_types/test.py +0 -196
  1193. package/dist/server/src/api/controllers/system.controller.d.ts +0 -24
  1194. package/dist/server/src/api/controllers/system.controller.js +0 -235
  1195. package/dist/server/src/api/controllers/system.controller.js.map +0 -1
  1196. package/dist/server/src/api/go2rtc/api/application.d.ts +0 -9
  1197. package/dist/server/src/api/go2rtc/api/application.js +0 -39
  1198. package/dist/server/src/api/go2rtc/api/application.js.map +0 -1
  1199. package/dist/server/src/api/go2rtc/api/config.d.ts +0 -8
  1200. package/dist/server/src/api/go2rtc/api/config.js +0 -44
  1201. package/dist/server/src/api/go2rtc/api/config.js.map +0 -1
  1202. package/dist/server/src/api/go2rtc/api/discover.d.ts +0 -30
  1203. package/dist/server/src/api/go2rtc/api/discover.js +0 -162
  1204. package/dist/server/src/api/go2rtc/api/discover.js.map +0 -1
  1205. package/dist/server/src/api/go2rtc/api/index.d.ts +0 -1
  1206. package/dist/server/src/api/go2rtc/api/index.js +0 -42
  1207. package/dist/server/src/api/go2rtc/api/index.js.map +0 -1
  1208. package/dist/server/src/api/go2rtc/api/snapshot.d.ts +0 -8
  1209. package/dist/server/src/api/go2rtc/api/snapshot.js +0 -34
  1210. package/dist/server/src/api/go2rtc/api/snapshot.js.map +0 -1
  1211. package/dist/server/src/api/go2rtc/api/streams.d.ts +0 -20
  1212. package/dist/server/src/api/go2rtc/api/streams.js +0 -190
  1213. package/dist/server/src/api/go2rtc/api/streams.js.map +0 -1
  1214. package/dist/server/src/api/go2rtc/index.d.ts +0 -16
  1215. package/dist/server/src/api/go2rtc/index.js +0 -33
  1216. package/dist/server/src/api/go2rtc/index.js.map +0 -1
  1217. package/dist/server/src/api/go2rtc/queue.d.ts +0 -10
  1218. package/dist/server/src/api/go2rtc/queue.js +0 -38
  1219. package/dist/server/src/api/go2rtc/queue.js.map +0 -1
  1220. package/dist/server/src/api/go2rtc/types.d.ts +0 -151
  1221. package/dist/server/src/api/go2rtc/types.js.map +0 -1
  1222. package/dist/server/src/api/routes/system.routes.d.ts +0 -2
  1223. package/dist/server/src/api/routes/system.routes.js +0 -86
  1224. package/dist/server/src/api/routes/system.routes.js.map +0 -1
  1225. package/dist/server/src/api/schemas/system.schema.d.ts +0 -185
  1226. package/dist/server/src/api/schemas/system.schema.js +0 -40
  1227. package/dist/server/src/api/schemas/system.schema.js.map +0 -1
  1228. package/dist/server/src/api/services/system.service.d.ts +0 -13
  1229. package/dist/server/src/api/services/system.service.js +0 -63
  1230. package/dist/server/src/api/services/system.service.js.map +0 -1
  1231. package/dist/server/src/camera/classes.d.ts +0 -2
  1232. package/dist/server/src/camera/classes.js +0 -24
  1233. package/dist/server/src/camera/classes.js.map +0 -1
  1234. package/dist/server/src/camera/device.d.ts +0 -34
  1235. package/dist/server/src/camera/device.js +0 -327
  1236. package/dist/server/src/camera/device.js.map +0 -1
  1237. package/dist/server/src/camera/frameWorker.d.ts +0 -46
  1238. package/dist/server/src/camera/frameWorker.js +0 -347
  1239. package/dist/server/src/camera/frameWorker.js.map +0 -1
  1240. package/dist/server/src/camera/interfaces.d.ts +0 -17
  1241. package/dist/server/src/camera/interfaces.js +0 -99
  1242. package/dist/server/src/camera/interfaces.js.map +0 -1
  1243. package/dist/server/src/camera/iou.d.ts +0 -2
  1244. package/dist/server/src/camera/iou.js +0 -122
  1245. package/dist/server/src/camera/iou.js.map +0 -1
  1246. package/dist/server/src/camera/polygon.d.ts +0 -4
  1247. package/dist/server/src/camera/polygon.js +0 -192
  1248. package/dist/server/src/camera/polygon.js.map +0 -1
  1249. package/dist/server/src/camera/python/__init__.py +0 -0
  1250. package/dist/server/src/camera/python/classes.py +0 -41
  1251. package/dist/server/src/camera/python/interfaces.py +0 -131
  1252. package/dist/server/src/camera/python/iou.py +0 -158
  1253. package/dist/server/src/camera/python/polygon.py +0 -230
  1254. package/dist/server/src/camera/python/typings.py +0 -50
  1255. package/dist/server/src/camera/python/video_frame.py +0 -143
  1256. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -26
  1257. package/dist/server/src/camera/streaming/peer-connection.js +0 -213
  1258. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  1259. package/dist/server/src/camera/streaming/rtsp-session.d.ts +0 -19
  1260. package/dist/server/src/camera/streaming/rtsp-session.js +0 -196
  1261. package/dist/server/src/camera/streaming/rtsp-session.js.map +0 -1
  1262. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -44
  1263. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -177
  1264. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  1265. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -19
  1266. package/dist/server/src/camera/streaming/werift-session.js +0 -246
  1267. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  1268. package/dist/server/src/camera/types.d.ts +0 -17
  1269. package/dist/server/src/camera/types.js.map +0 -1
  1270. package/dist/server/src/camera/videoFrame.d.ts +0 -18
  1271. package/dist/server/src/camera/videoFrame.js +0 -88
  1272. package/dist/server/src/camera/videoFrame.js.map +0 -1
  1273. package/dist/server/src/cloud/index.d.ts +0 -12
  1274. package/dist/server/src/cloud/index.js +0 -49
  1275. package/dist/server/src/cloud/index.js.map +0 -1
  1276. package/dist/server/src/cloud/remote/cloudflare.d.ts +0 -7
  1277. package/dist/server/src/cloud/remote/cloudflare.js +0 -12
  1278. package/dist/server/src/cloud/remote/cloudflare.js.map +0 -1
  1279. package/dist/server/src/cloud/remote/upnp.d.ts +0 -7
  1280. package/dist/server/src/cloud/remote/upnp.js +0 -12
  1281. package/dist/server/src/cloud/remote/upnp.js.map +0 -1
  1282. package/dist/server/src/cloud/remote/utils.d.ts +0 -3
  1283. package/dist/server/src/cloud/remote/utils.js +0 -21
  1284. package/dist/server/src/cloud/remote/utils.js.map +0 -1
  1285. package/dist/server/src/cloud/types.d.ts +0 -15
  1286. package/dist/server/src/cloud/types.js +0 -11
  1287. package/dist/server/src/cloud/types.js.map +0 -1
  1288. package/dist/server/src/decoder/child.js +0 -748
  1289. package/dist/server/src/decoder/child.js.map +0 -1
  1290. package/dist/server/src/decoder/imageUtils.d.ts +0 -21
  1291. package/dist/server/src/decoder/imageUtils.js +0 -204
  1292. package/dist/server/src/decoder/imageUtils.js.map +0 -1
  1293. package/dist/server/src/decoder/manager.d.ts +0 -19
  1294. package/dist/server/src/decoder/manager.js +0 -208
  1295. package/dist/server/src/decoder/manager.js.map +0 -1
  1296. package/dist/server/src/decoder/python/__init__.py +0 -0
  1297. package/dist/server/src/decoder/python/child.py +0 -902
  1298. package/dist/server/src/decoder/python/image_utils.py +0 -196
  1299. package/dist/server/src/decoder/python/pool.py +0 -45
  1300. package/dist/server/src/decoder/python/typings.py +0 -57
  1301. package/dist/server/src/decoder/python/utils.py +0 -70
  1302. package/dist/server/src/decoder/types.d.ts +0 -23
  1303. package/dist/server/src/decoder/types.js.map +0 -1
  1304. package/dist/server/src/decoder/utils.d.ts +0 -13
  1305. package/dist/server/src/decoder/utils.js +0 -45
  1306. package/dist/server/src/decoder/utils.js.map +0 -1
  1307. package/dist/server/src/decoder/wasm/build/decoder.d.ts +0 -43
  1308. package/dist/server/src/decoder/wasm/build/decoder.js +0 -108
  1309. package/dist/server/src/decoder/wasm/build/decoder.wasm +0 -0
  1310. package/dist/server/src/decoder/worker.js +0 -79
  1311. package/dist/server/src/decoder/worker.js.map +0 -1
  1312. package/dist/server/src/plugins/runtime/node/plugin.d.ts +0 -24
  1313. package/dist/server/src/plugins/runtime/node/plugin.js +0 -128
  1314. package/dist/server/src/plugins/runtime/node/plugin.js.map +0 -1
  1315. package/dist/server/src/plugins/runtime/python/plugin.py +0 -155
  1316. package/dist/server/src/rpc/types.d.ts +0 -112
  1317. package/dist/server/src/rpc/types.js.map +0 -1
  1318. /package/dist/interface/assets/{SettingsBackup.CX0rT0QJ.0.0.69.css → SettingsBackup-CX0rT0QJ.css} +0 -0
  1319. /package/dist/interface/assets/{logo-512.DLKVOU2S.0.0.69.png → error-256-DLKVOU2S.png} +0 -0
  1320. /package/dist/interface/assets/{logo-256.BCQk9H1-.0.0.69.png → logo-256-BCQk9H1-.png} +0 -0
  1321. /package/dist/interface/assets/{logo.DmEiRk0z.0.0.69.png → logo-DmEiRk0z.png} +0 -0
  1322. /package/dist/interface/assets/{mode-yaml.CIYL8U3d.0.0.69.js → mode-yaml-CIYL8U3d.js} +0 -0
  1323. /package/dist/server/src/api/{go2rtc → database/migrations}/types.js +0 -0
  1324. /package/dist/server/src/{camera → automations/actions}/types.js +0 -0
  1325. /package/dist/server/src/{decoder → automations/conditions}/types.js +0 -0
  1326. /package/dist/server/src/{rpc → automations/triggers}/types.js +0 -0
  1327. /package/dist/server/src/{decoder/child.d.ts → remote/services/upnp.d.ts} +0 -0
  1328. /package/dist/server/src/{decoder/worker.d.ts → utils/env.d.ts} +0 -0
@@ -1 +0,0 @@
1
- .plugin-list[data-v-d266e35f]{display:flex;flex-direction:column;gap:.75rem}.plugin-list-item[data-v-d266e35f]{display:flex;flex-direction:column;padding:1rem;border-radius:var(--border-radius-md);background:var(--card-background);border:1px solid var(--border-color-inner);position:relative;overflow:hidden}.plugin-list-item[data-v-d266e35f]:hover:not(.in-progress){border-color:var(--text-primary-color);box-shadow:var(--shadow-sm)}.plugin-list-item[data-v-d266e35f]:hover .plugin-description{display:block}.plugin-list-item[data-v-d266e35f]:before:not(.in-progress){content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--text-primary-color);opacity:0;transition:opacity var(--transition-duration) ease}.plugin-list-item[data-v-d266e35f]:hover:before{opacity:1}.plugin-info[data-v-d266e35f]{flex:1;margin-bottom:1rem;display:flex;flex-direction:column}.plugin-description[data-v-d266e35f]{font-size:.875rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem;color:var(--text-color);transition:.3s ease all}.plugin-meta[data-v-d266e35f]{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:var(--text-muted-color);margin-top:auto}.plugin-meta-item[data-v-d266e35f]{display:flex;align-items:center;gap:.25rem}.meta-label[data-v-d266e35f]{font-weight:500}.plugin-actions[data-v-d266e35f]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px dashed var(--border-color-inner);width:100%}
@@ -1 +0,0 @@
1
- .subnavitem-button[data-v-2c8eafde]{background:var(--button-secondary-background);border-color:transparent}.subnavitem-button[data-v-2c8eafde]:hover,.subnavitem-button.active[data-v-2c8eafde]{background:var(--button-secondary-hover-background);border-color:transparent}.subnavitem-button[data-v-2c8eafde]:active{background:var(--button-secondary-active-background);border-color:transparent}.cui-subnavbar[data-v-dca09f7c]{background:var(--subnavbar-background);border-right-style:solid;border-right-color:var(--border-color)}
@@ -1 +0,0 @@
1
- .image-upload[data-v-841a4fb6]{position:absolute;right:30px;top:-15px;border:6px solid var(--ground-background)}
@@ -1 +0,0 @@
1
- pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1e1e1e;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta .hljs-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}
@@ -1 +0,0 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:InterVariable,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-900:oklch(39.6% .141 25.723);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-500:oklch(72.3% .219 149.579);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-500:oklch(62.3% .214 259.815);--color-gray-500:oklch(55.1% .027 264.364);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-2xl:40px;--blur-3xl:64px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:"liga" 1,"calt" 1,"cv06" 1,"cv11" 1;--default-font-variation-settings:"wght" 500;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!pointer-events-auto{pointer-events:auto!important}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-top-\[3px\]{top:-3px}.-top-\[16px\]{top:-16px}.top-0{top:calc(var(--spacing)*0)}.top-0\.5{top:calc(var(--spacing)*.5)}.top-1{top:calc(var(--spacing)*1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[7px\]{top:7px}.top-\[10px\]{top:10px}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-14{right:calc(var(--spacing)*14)}.right-\[10px\]{right:10px}.right-safe-offset-2{right:calc(env(safe-area-inset-right) + .5rem)}.right-safe-offset-5{right:calc(env(safe-area-inset-right) + 1.25rem)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-0\.5{bottom:calc(var(--spacing)*.5)}.bottom-1{bottom:calc(var(--spacing)*1)}.bottom-1\/2{bottom:50%}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-10{bottom:calc(var(--spacing)*10)}.bottom-\[calc\(12px\+0\.25rem\)\]{bottom:calc(12px + .25rem)}.bottom-safe-offset-2{bottom:calc(env(safe-area-inset-bottom) + .5rem)}.-left-\[30px\]{left:-30px}.left-0{left:calc(var(--spacing)*0)}.left-1{left:calc(var(--spacing)*1)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-\[7px\]{left:7px}.left-\[31px\]{left:31px}.left-\[50\%\]{left:50%}.left-\[calc\(16px\+0\.25rem\)\]{left:calc(16px + .25rem)}.left-auto{left:auto}.isolate{isolation:isolate}.\!z-0{z-index:0!important}.-z-1{z-index:-1}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-6{z-index:6}.z-7{z-index:7}.z-10{z-index:10}.z-20{z-index:20}.z-21{z-index:21}.z-50{z-index:50}.z-\[99999\]{z-index:99999}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.container{width:100%}@media (min-width:450px){.container{max-width:450px}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.\!m-0{margin:calc(var(--spacing)*0)!important}.m-0{margin:calc(var(--spacing)*0)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-0{margin-block:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-7{margin-top:calc(var(--spacing)*7)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-15{margin-top:calc(var(--spacing)*15)}.mt-\[5px\]{margin-top:5px}.mt-\[25px\]{margin-top:25px}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.\!mb-8{margin-bottom:calc(var(--spacing)*8)!important}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-\[1px\]{margin-bottom:1px}.mb-\[calc\(12px\+2rem\)\]{margin-bottom:calc(12px + 2rem)}.\!ml-8{margin-left:calc(var(--spacing)*8)!important}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-10{margin-left:calc(var(--spacing)*10)}.ml-\[calc\(60px\+2rem\)\]{margin-left:calc(60px + 2rem)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.\!h-\[1px\]{height:1px!important}.\!h-\[70px\]{height:70px!important}.\!h-\[220px\]{height:220px!important}.\!h-\[auto\],.\!h-auto{height:auto!important}.\!h-full{height:100%!important}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-15{height:calc(var(--spacing)*15)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-36{height:calc(var(--spacing)*36)}.h-48{height:calc(var(--spacing)*48)}.h-\[2px\]{height:2px}.h-\[8px\]{height:8px}.h-\[10px\]{height:10px}.h-\[12px\]{height:12px}.h-\[15px\]{height:15px}.h-\[20px\]{height:20px}.h-\[24px\]{height:24px}.h-\[30px\]{height:30px}.h-\[32px\]{height:32px}.h-\[45px\]{height:45px}.h-\[50\%\]{height:50%}.h-\[50px\]{height:50px}.h-\[55px\]{height:55px}.h-\[60px\]{height:60px}.h-\[65px\]{height:65px}.h-\[70px\]{height:70px}.h-\[120px\]{height:120px}.h-\[140px\]{height:140px}.h-\[165px\]{height:165px}.h-\[171px\]{height:171px}.h-\[220px\]{height:220px}.h-\[calc\(40px\+1rem\)\]{height:calc(40px + 1rem)}.h-\[calc\(100\%-65px\)\]{height:calc(100% - 65px)}.h-\[calc\(100\%-70px-1\.25rem\)\]{height:calc(100% - 70px - 1.25rem)}.h-full{height:100%}.h-min{height:min-content}.max-h-7{max-height:calc(var(--spacing)*7)}.max-h-\[30px\]{max-height:30px}.max-h-\[42px\]{max-height:42px}.max-h-full{max-height:100%}.min-h-7{min-height:calc(var(--spacing)*7)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-\[30px\]{min-height:30px}.\!w-auto{width:auto!important}.\!w-full{width:100%!important}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-15{width:calc(var(--spacing)*15)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-\[2px\]{width:2px}.w-\[8px\]{width:8px}.w-\[10px\]{width:10px}.w-\[15px\]{width:15px}.w-\[18rem\]{width:18rem}.w-\[20rem\]{width:20rem}.w-\[24px\]{width:24px}.w-\[30px\]{width:30px}.w-\[50\%\]{width:50%}.w-\[50px\]{width:50px}.w-\[60px\]{width:60px}.w-\[140px\]{width:140px}.w-\[200px\]{width:200px}.w-\[300px\]{width:300px}.w-dvw{width:100dvw}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5{max-width:calc(var(--spacing)*5)}.max-w-40{max-width:calc(var(--spacing)*40)}.max-w-100{max-width:calc(var(--spacing)*100)}.max-w-\[30px\]{max-width:30px}.max-w-\[200px\]{max-width:200px}.max-w-\[375px\]{max-width:375px}.max-w-full{max-width:100%}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-3{min-width:calc(var(--spacing)*3)}.min-w-6{min-width:calc(var(--spacing)*6)}.min-w-20{min-width:calc(var(--spacing)*20)}.min-w-30{min-width:calc(var(--spacing)*30)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-\[8px\]{min-width:8px}.min-w-\[250px\]{min-width:250px}.min-w-\[300px\]{min-width:300px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.table-fixed{table-layout:fixed}.origin-center{transform-origin:50%}.-translate-x-1\/2,.-translate-x-\[50\%\]{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\[5px\]{--tw-translate-y: -5px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2{--tw-translate-y: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[5px\]{--tw-translate-y:5px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-150{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-\[inherit\]{cursor:inherit}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-normal{justify-content:normal}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-10{gap:calc(var(--spacing)*10)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.self-end{align-self:flex-end}.justify-self-center{justify-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.\!rounded-md{border-radius:var(--radius-md)!important}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[1px\]{border-style:var(--tw-border-style);border-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-\[1px\]{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r-\[1px\]{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-\[1px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-\[1px\]{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.\!border-red-900{border-color:var(--color-red-900)!important}.border-primary-500\/30{border-color:var(--p-primary-500)}@supports (color:color-mix(in lab,red,red)){.border-primary-500\/30{border-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-500) 100%,transparent)30%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.\!bg-primary-500\/10{background-color:var(--p-primary-500)!important}@supports (color:color-mix(in lab,red,red)){.\!bg-primary-500\/10{background-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-500) 100%,transparent)10%,transparent)!important}}.\!bg-transparent{background-color:#0000!important}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-current{background-color:currentColor}.bg-gray-500{background-color:var(--color-gray-500)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-primary{background-color:var(--p-primary-color)}@supports (color:color-mix(in lab,red,red)){.bg-primary{background-color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)}}.bg-primary-500{background-color:var(--p-primary-500)}@supports (color:color-mix(in lab,red,red)){.bg-primary-500{background-color:color-mix(in srgb,var(--p-primary-500) 100%,transparent)}}.bg-primary-500\/20{background-color:var(--p-primary-500)}@supports (color:color-mix(in lab,red,red)){.bg-primary-500\/20{background-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-500) 100%,transparent)20%,transparent)}}.bg-primary-600{background-color:var(--p-primary-600)}@supports (color:color-mix(in lab,red,red)){.bg-primary-600{background-color:color-mix(in srgb,var(--p-primary-600) 100%,transparent)}}.bg-primary\/10{background-color:var(--p-primary-color)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-color) 100%,transparent)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-white\/30{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-none{background-image:none}.from-primary-500{--tw-gradient-from:var(--p-primary-500)}@supports (color:color-mix(in lab,red,red)){.from-primary-500{--tw-gradient-from:color-mix(in srgb,var(--p-primary-500) 100% ,transparent)}}.from-primary-500{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-500{--tw-gradient-from:var(--color-sky-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-white{fill:var(--color-white)}.\!stroke-sky-500{stroke:var(--color-sky-500)!important}.object-contain{object-fit:contain}.object-fill{object-fit:fill}.\!p-0{padding:calc(var(--spacing)*0)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-10{padding:calc(var(--spacing)*10)}.\!px-0{padding-inline:calc(var(--spacing)*0)!important}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-\[0\.9rem\]{padding-inline:.9rem}.px-\[calc\(16px\+0\.5rem\)\]{padding-inline:calc(16px + .5rem)}.\!py-3{padding-block:calc(var(--spacing)*3)!important}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.p-safe{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-\[55px\]{padding-top:55px}.pt-\[calc\(40px\+2rem\)\]{padding-top:calc(40px + 2rem)}.pt-safe{padding-top:env(safe-area-inset-top)}.px-safe{padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-safe{padding-right:env(safe-area-inset-right)}.pr-safe-offset-2{padding-right:calc(env(safe-area-inset-right) + .5rem)}.\!pb-0{padding-bottom:calc(var(--spacing)*0)!important}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}.pb-safe-offset-1{padding-bottom:calc(env(safe-area-inset-bottom) + .25rem)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-7{padding-left:calc(var(--spacing)*7)}.pl-safe{padding-left:env(safe-area-inset-left)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.\!text-xs{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.\!font-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.\!text-color{color:var(--p-text-color)!important}.\!text-primary{color:var(--p-primary-color)!important}@supports (color:color-mix(in lab,red,red)){.\!text-primary{color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)!important}}.text-blue-500{color:var(--color-blue-500)}.text-color{color:var(--p-text-color)}.text-current{color:currentColor}.text-green-500{color:var(--color-green-500)}.text-muted-color{color:var(--p-text-muted-color)}.text-primary{color:var(--p-primary-color)}@supports (color:color-mix(in lab,red,red)){.text-primary{color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)}}.text-red-500{color:var(--color-red-500)}.text-sky-500{color:var(--color-sky-500)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.uppercase{text-transform:uppercase}.\!opacity-20{opacity:.2!important}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/30{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)30%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-black\/50{--tw-shadow-color:#00000080}@supports (color:color-mix(in lab,red,red)){.shadow-black\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)50%,transparent)var(--tw-shadow-alpha),transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.not-hover\:text-surface-400:not(:hover){color:var(--p-surface-400)}@supports (color:color-mix(in lab,red,red)){.not-hover\:text-surface-400:not(:hover){color:color-mix(in srgb,var(--p-surface-400) 100%,transparent)}}@media not all and (hover:hover){.not-hover\:text-surface-400{color:var(--p-surface-400)}@supports (color:color-mix(in lab,red,red)){.not-hover\:text-surface-400{color:color-mix(in srgb,var(--p-surface-400) 100%,transparent)}}}@media not all and (min-width:48rem){.not-md\:px-0{padding-inline:calc(var(--spacing)*0)}.not-md\:pb-safe-offset-5{padding-bottom:calc(env(safe-area-inset-bottom) + 1.25rem)}}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:\!bg-primary-500\/10:hover{background-color:var(--p-primary-500)!important}@supports (color:color-mix(in lab,red,red)){.hover\:\!bg-primary-500\/10:hover{background-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-500) 100%,transparent)10%,transparent)!important}}.hover\:\!text-color:hover{color:var(--p-text-color)!important}.hover\:\!text-primary:hover{color:var(--p-primary-color)!important}@supports (color:color-mix(in lab,red,red)){.hover\:\!text-primary:hover{color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)!important}}.hover\:text-primary:hover{color:var(--p-primary-color)}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary:hover{color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)}}.hover\:opacity-100:hover{opacity:1}}.focus\:scale-105:focus{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.focus\:\!bg-primary-500\/10:focus{background-color:var(--p-primary-500)!important}@supports (color:color-mix(in lab,red,red)){.focus\:\!bg-primary-500\/10:focus{background-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-500) 100%,transparent)10%,transparent)!important}}.focus\:\!text-color:focus{color:var(--p-text-color)!important}.focus\:\!text-primary:focus{color:var(--p-primary-color)!important}@supports (color:color-mix(in lab,red,red)){.focus\:\!text-primary:focus{color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)!important}}.focus\:text-primary:focus{color:var(--p-primary-color)}@supports (color:color-mix(in lab,red,red)){.focus\:text-primary:focus{color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)}}.focus\:opacity-100:focus{opacity:1}.active\:scale-105:active{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:cursor-grabbing:active{cursor:grabbing}.active\:\!bg-primary-500\/10:active{background-color:var(--p-primary-500)!important}@supports (color:color-mix(in lab,red,red)){.active\:\!bg-primary-500\/10:active{background-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-500) 100%,transparent)10%,transparent)!important}}.active\:\!text-color:active{color:var(--p-text-color)!important}.active\:\!text-primary:active{color:var(--p-primary-color)!important}@supports (color:color-mix(in lab,red,red)){.active\:\!text-primary:active{color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)!important}}.active\:text-primary:active{color:var(--p-primary-color)}@supports (color:color-mix(in lab,red,red)){.active\:text-primary:active{color:color-mix(in srgb,var(--p-primary-color) 100%,transparent)}}.active\:opacity-100:active{opacity:1}@media (min-width:40rem){.sm\:w-\[400px\]{width:400px}.sm\:p-0{padding:calc(var(--spacing)*0)}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:pl-0{padding-left:calc(var(--spacing)*0)}}@media (min-width:48rem){.md\:col-span-1{grid-column:span 1/span 1}.md\:row-span-3{grid-row:span 3/span 3}.md\:my-4{margin-block:calc(var(--spacing)*4)}.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:mr-0{margin-right:calc(var(--spacing)*0)}.md\:ml-auto{margin-left:auto}.md\:\!hidden{display:none!important}.md\:block{display:block}.md\:\!h-full{height:100%!important}.md\:h-\[50vh\]{height:50vh}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:max-h-\[350px\]{max-height:350px}.md\:max-h-\[450px\]{max-height:450px}.md\:w-\[400px\]{width:400px}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-6{gap:calc(var(--spacing)*6)}.md\:rounded-2xl{border-radius:var(--radius-2xl)}.md\:border-\[1px\]{border-style:var(--tw-border-style);border-width:1px}.md\:border-r-\[1px\]{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-l-\[1px\]{border-left-style:var(--tw-border-style);border-left-width:1px}.md\:\!pl-0{padding-left:calc(var(--spacing)*0)!important}.md\:opacity-100{opacity:1}.md\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:64rem){.lg\:fixed{position:fixed}.lg\:right-safe-offset-2{right:calc(env(safe-area-inset-right) + .5rem)}.lg\:bottom-safe-offset-2{bottom:calc(env(safe-area-inset-bottom) + .5rem)}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:gap-2{gap:calc(var(--spacing)*2)}}.font-thin{font-variation-settings:"wght" 100}.font-extralight{font-variation-settings:"wght" 200}.font-light{font-variation-settings:"wght" 300}.font-normal{font-variation-settings:"wght" 400}.font-medium{font-variation-settings:"wght" 500}.font-semibold{font-variation-settings:"wght" 600}.font-bold{font-variation-settings:"wght" 700}.font-extrabold{font-variation-settings:"wght" 800}.font-black{font-variation-settings:"wght" 900}.w-fill{width:-webkit-fill-available;width:-moz-available;width:fill-available}.h-fill{height:-webkit-fill-available;height:-moz-available;height:fill-available}}@keyframes enter{0%{opacity:var(--p-enter-opacity,1);transform:translate3d(var(--p-enter-translate-x,0),var(--p-enter-translate-y,0),0)scale3d(var(--p-enter-scale,1),var(--p-enter-scale,1),var(--p-enter-scale,1))rotate(var(--p-enter-rotate,0))}}@keyframes leave{to{opacity:var(--p-leave-opacity,1);transform:translate3d(var(--p-leave-translate-x,0),var(--p-leave-translate-y,0),0)scale3d(var(--p-leave-scale,1),var(--p-leave-scale,1),var(--p-leave-scale,1))rotate(var(--p-leave-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}#nprogress{pointer-events:none}#nprogress .bar{background:#df2a4c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #df2a4c,0 0 5px #df2a4c;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gradient-blur{position:absolute;z-index:1;inset:auto 0 0 0;pointer-events:none;top:0;left:0;width:100%;height:100%}.gradient-blur>div,.gradient-blur:before,.gradient-blur:after{position:absolute;top:0;right:0;bottom:0;left:0}.gradient-blur:before{content:"";z-index:1;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);mask:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 12.5%,rgba(0,0,0,1) 25%,rgba(0,0,0,0) 37.5%)}.gradient-blur>div:nth-of-type(1){z-index:2;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);mask:linear-gradient(to bottom,rgba(0,0,0,0) 12.5%,rgba(0,0,0,1) 25%,rgba(0,0,0,1) 37.5%,rgba(0,0,0,0) 50%)}.gradient-blur>div:nth-of-type(2){z-index:3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);mask:linear-gradient(to bottom,rgba(0,0,0,0) 25%,rgba(0,0,0,1) 37.5%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 62.5%)}.gradient-blur>div:nth-of-type(3){z-index:4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);mask:linear-gradient(to bottom,rgba(0,0,0,0) 37.5%,rgba(0,0,0,1) 50%,rgba(0,0,0,1) 62.5%,rgba(0,0,0,0) 75%)}.gradient-blur>div:nth-of-type(4){z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);mask:linear-gradient(to bottom,rgba(0,0,0,0) 50%,rgba(0,0,0,1) 62.5%,rgba(0,0,0,1) 75%,rgba(0,0,0,0) 87.5%)}.gradient-blur>div:nth-of-type(5){z-index:6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);mask:linear-gradient(to bottom,rgba(0,0,0,0) 62.5%,rgba(0,0,0,1) 75%,rgba(0,0,0,1) 87.5%,rgba(0,0,0,0) 100%)}.gradient-blur>div:nth-of-type(6){z-index:7;-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);mask:linear-gradient(to bottom,rgba(0,0,0,0) 75%,rgba(0,0,0,1) 87.5%,rgba(0,0,0,1) 100%)}.gradient-blur:after{content:"";z-index:8;-webkit-backdrop-filter:blur(64px);backdrop-filter:blur(64px);mask:linear-gradient(to bottom,rgba(0,0,0,0) 87.5%,rgba(0,0,0,1) 100%)}@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2?v=4.1) format("woff2")}@font-feature-values InterVariable{@character-variant{cv01:1;cv02:2;cv03:3;cv04:4;cv05:5;cv06:6;cv07:7;cv08:8;cv09:9;cv10:10;cv11:11;cv12:12;cv13:13;alt-1:1;alt-3:9;open-4:2;open-6:3;open-9:4;lc-l-with-tail:5;simplified-u:6;alt-double-s:7;uc-i-with-serif:8;uc-g-with-spur:10;single-story-a:11;compact-lc-f:12;compact-lc-t:13}@styleset{ss01:1;ss02:2;ss03:3;ss04:4;ss05:5;ss06:6;ss07:7;ss08:8;open-digits:1;disambiguation:2;disambiguation-except-zero:4;round-quotes-and-commas:3;square-punctuation:7;square-quotes:8;circled-characters:5;squared-characters:6}}*{scrollbar-width:none;-ms-overflow-style:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}*::-webkit-scrollbar{display:none}html,body,#app{min-height:100dvh;min-width:100vw;background:var(--ground-background);color:var(--p-text-color);scrollbar-width:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media all and (display-mode: standalone){#app{min-height:100vh}}html::-webkit-scrollbar,body::-webkit-scrollbar,#app::-webkit-scrollbar{display:none;width:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:1px solid var(--p-inputtext-border-color);-webkit-text-fill-color:var(--p-text-color);-webkit-box-shadow:0 0 0px 1000px var(--p-inputtext-background) inset;transition:background-color 5000s ease-in-out 0s}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--text-color);font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--text-primary-color);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:1.5em}.markdown-body mark{background-color:#fff8c5;color:#1f2328}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:transparent}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 40px}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--border-color);height:.25em;padding:0;margin:24px 0;background-color:var(--border-color);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-moz-appearance:button;appearance:button;-webkit-appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#6e7781;opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body details:not([open])>*:not(summary){display:none!important}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#1f2328;vertical-align:middle;background-color:#f6f8fa;border:solid 1px rgba(175,184,193,.2);border-bottom-color:#afb8c133;border-radius:6px;box-shadow:inset 0 -1px #afb8c133}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.3em}.markdown-body h3{font-weight:600;font-size:1.15em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:var(--text-primary-color)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--text-primary-color);border-left:.25em solid #d0d7de}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body .color-fg-accent{color:#0969da!important}.markdown-body .color-fg-attention{color:#9a6700!important}.markdown-body .color-fg-done{color:#8250df!important}.markdown-body .flex-items-center{align-items:center!important}.markdown-body .d-inline-flex{display:inline-flex!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#d1242f}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1f2328;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #d0d7de}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#fff;border-top:1px solid var(--border-color)}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #d0d7de}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#1f2328}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#afb8c133;border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:var(--text-color);background-color:#313131;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--text-primary-color);border-top:1px solid #d0d7de}.markdown-body .footnotes ol{padding-left:16px}.markdown-body .footnotes ol ul{display:inline-block;padding-left:16px;margin-top:16px}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid #0969da;border-radius:6px}.markdown-body .footnotes li:target{color:#1f2328}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:#6e7781}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0550ae}.markdown-body .pl-e,.markdown-body .pl-en{color:#6639ba}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:#24292f}.markdown-body .pl-ent{color:#116329}.markdown-body .pl-k{color:#cf222e}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#0a3069}.markdown-body .pl-v,.markdown-body .pl-smw{color:#953800}.markdown-body .pl-bu{color:#82071e}.markdown-body .pl-ii{color:#f6f8fa;background-color:#82071e}.markdown-body .pl-c2{color:#f6f8fa;background-color:#cf222e}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#116329}.markdown-body .pl-ml{color:#3b2300}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#0550ae}.markdown-body .pl-mi{font-style:italic;color:#24292f}.markdown-body .pl-mb{font-weight:700;color:#24292f}.markdown-body .pl-md{color:#82071e;background-color:#ffebe9}.markdown-body .pl-mi1{color:#116329;background-color:#dafbe1}.markdown-body .pl-mc{color:#953800;background-color:#ffd8b5}.markdown-body .pl-mi2{color:#eaeef2;background-color:#0550ae}.markdown-body .pl-mdr{font-weight:700;color:#8250df}.markdown-body .pl-ba{color:#57606a}.markdown-body .pl-sg{color:#8c959f}.markdown-body .pl-corl{text-decoration:underline;color:#0a3069}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:4px}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list{position:relative}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body .QueryBuilder .qb-entity{color:#6639ba}.markdown-body .QueryBuilder .qb-constant{color:#0550ae}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:0 1em;margin-bottom:16px;color:inherit;border-left:.25em solid #d0d7de}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#0969da}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8250df}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9a6700}.markdown-body table{border-color:gray;border-spacing:0;border-collapse:collapse;width:100%;overflow:auto}.markdown-body thead{display:table-header-group;vertical-align:middle;border-color:inherit}.markdown-body table tr{display:table-row;vertical-align:inherit;border-color:inherit;border-top:1px solid var(--border-color)}.markdown-body table tr:nth-child(2n){background-color:var(--border-color)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--border-color)}.markdown-body ol{list-style:decimal}.markdown-body ol ul,.markdown-body ul li ul{list-style:circle}.markdown-body ol li ol li ul,.markdown-body ol li ul li ul,.markdown-body ul li ul li ul{list-style:square}.markdown-body ul{list-style:unset}:root{--text-primary-color: var(--p-primary-color);--surface-0: var(--p-surface-0);--surface-50: var(--p-surface-50);--surface-100: var(--p-surface-100);--surface-200: var(--p-surface-200);--surface-300: var(--p-surface-300);--surface-400: var(--p-surface-400);--surface-500: var(--p-surface-500);--surface-600: var(--p-surface-600);--surface-700: var(--p-surface-700);--surface-800: var(--p-surface-800);--surface-900: var(--p-surface-900);--surface-950: var(--p-surface-950);--primary-50: var(--p-primary-50);--primary-100: var(--p-primary-100);--primary-200: var(--p-primary-200);--primary-300: var(--p-primary-300);--primary-400: var(--p-primary-400);--primary-500: var(--p-primary-500);--primary-600: var(--p-primary-600);--primary-700: var(--p-primary-700);--primary-800: var(--p-primary-800);--primary-900: var(--p-primary-900);--primary-950: var(--p-primary-950);--secondary-50: var(--p-slate-50);--secondary-100: var(--p-slate-100);--secondary-200: var(--p-slate-200);--secondary-300: var(--p-slate-300);--secondary-400: var(--p-slate-400);--secondary-500: var(--p-slate-500);--secondary-600: var(--p-slate-600);--secondary-700: var(--p-slate-700);--secondary-800: var(--p-slate-800);--secondary-900: var(--p-slate-900);--secondary-950: var(--p-slate-950);--success-color: var(--p-green-500);--info-color: var(--p-blue-500);--warning-color: var(--p-amber-500);--danger-color: var(--p-red-500);--success-light: var(--p-green-100);--info-light: var(--p-blue-100);--warning-light: var(--p-amber-100);--danger-light: var(--p-red-100);--success-dark: var(--p-green-700);--info-dark: var(--p-blue-700);--warning-dark: var(--p-amber-700);--danger-dark: var(--p-red-700);--border-radius-none: var(--p-border-radius-none);--border-radius-xs: var(--p-border-radius-xs);--border-radius-sm: var(--p-border-radius-sm);--border-radius-md: var(--p-border-radius-md);--border-radius-lg: var(--p-border-radius-lg);--border-radius-xl: var(--p-border-radius-xl);--border-base-color: #232323;--transition-duration: var(--p-transition-duration)}[data-mode=light]{--border-color: var(--p-surface-200);--border-color-inner: var(--p-surface-300);--bottombar-background: var(--p-surface-0);--camera-toolbar-background: var(--p-surface-0);--content-background: var(--p-surface-50);--ground-background: var(--p-surface-50);--navbar-background: #0d0d0d;--navbar-border-color: #131313;--subnavbar-background: var(--p-surface-0);--topbar-background: var(--p-surface-0);--sidebar-background: var(--p-surface-50);--card-background: var(--p-surface-0);--card-inner-background: var(--p-surface-50);--expanded-row-background: #f7f8fa;--drawer-background: var(--p-surface-0);--tooltip-background: var(--p-surface-800);--sidebar-view-background: #1a1a1a;--chip-background: var(--p-surface-100);--chip-background-active: var(--p-surface-300);--chip-background-hover: var(--p-surface-200);--text-color: var(--p-surface-700);--text-color-faded: var(--p-surface-500);--text-muted-color: var(--p-surface-500);--text-passive-color: var(--p-surface-400);--text-inverted-color: var(--p-surface-0);--text-primary-color: var(--p-primary-500);--text-primary-hover-color: var(--p-primary-700);--text-secondary-color: var(--p-surface-500);--text-secondary-hover-color: var(--p-surface-700);--text-success-color: var(--p-green-600);--text-info-color: var(--p-blue-600);--text-warning-color: var(--p-amber-600);--text-danger-color: var(--p-red-600);--button-primary-background: var(--p-primary-500);--button-primary-hover-background: var(--p-primary-600);--button-primary-active-background: var(--p-primary-700);--button-secondary-background: transparent;--button-secondary-hover-background: var(--p-slate-100);--button-secondary-active-background: var(--p-slate-200);--button-contrast-background: transparent;--button-contrast-hover-background: var(--p-slate-100);--button-contrast-active-background: var(--p-slate-200);--table-row-odd-background: var(--p-surface-50);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--p-button-danger-background: var(--p-red-600);--p-button-danger-border-color: var(--p-red-600);--p-button-danger-hover-background: var(--p-red-700);--p-button-danger-hover-border-color: var(--p-red-700);--p-button-danger-active-background: var(--p-red-800);--p-button-danger-active-border-color: var(--p-red-800);--p-button-success-background: var(--p-green-600);--p-button-success-border-color: var(--p-green-600);--p-button-success-hover-background: var(--p-green-700);--p-button-success-hover-border-color: var(--p-green-700);--p-button-success-active-background: var(--p-green-800);--p-button-success-active-border-color: var(--p-green-800);--timeline-overlay-rgb: 255, 255, 255;--timeline-scale-background: var(--p-surface-400)}[data-mode=dark],.dark-mode{--border-color: var(--p-surface-800);--border-color-inner: var(--p-surface-700);--bottombar-background: var(--p-surface-900);--camera-toolbar-background: var(--p-surface-900);--content-background: var(--p-surface-925);--ground-background: var(--p-surface-1000);--navbar-background: #0d0d0d;--navbar-border-color: #131313;--subnavbar-background: var(--p-surface-925);--topbar-background: var(--p-surface-900);--sidebar-background: var(--p-surface-950);--card-background: var(--p-surface-900);--card-inner-background: var(--p-surface-925);--expanded-row-background: #131313;--drawer-background: var(--p-surface-900);--tooltip-background: var(--p-surface-800);--sidebar-view-background: #1a1a1a;--chip-background: var(--p-surface-700);--chip-background-active: var(--p-surface-500);--chip-background-hover: var(--p-surface-600);--text-color: var(--p-surface-0);--text-color-faded: var(--p-surface-200);--text-muted-color: var(--p-surface-400);--text-passive-color: var(--p-surface-500);--text-inverted-color: var(--p-surface-900);--text-primary-color: var(--p-primary-500);--text-primary-hover-color: var(--p-primary-300);--text-secondary-color: var(--p-surface-300);--text-secondary-hover-color: var(--p-surface-100);--text-success-color: var(--p-green-400);--text-info-color: var(--p-blue-400);--text-warning-color: var(--p-amber-400);--text-danger-color: var(--p-red-400);--button-primary-background: var(--p-primary-500);--button-primary-hover-background: var(--p-primary-600);--button-primary-active-background: var(--p-primary-700);--button-secondary-background: transparent;--button-secondary-hover-background: var(--p-surface-900);--button-secondary-active-background: var(--p-surface-850);--button-contrast-background: transparent;--button-contrast-hover-background: var(--p-surface-800);--button-contrast-active-background: var(--p-surface-700);--table-row-odd-background: var(--p-surface-850);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 8px 10px -6px rgba(0, 0, 0, .3);--p-button-danger-background: var(--p-red-500);--p-button-danger-border-color: var(--p-red-500);--p-button-danger-hover-background: var(--p-red-400);--p-button-danger-hover-border-color: var(--p-red-400);--p-button-danger-active-background: var(--p-red-300);--p-button-danger-active-border-color: var(--p-red-300);--p-button-success-background: var(--p-green-500);--p-button-success-border-color: var(--p-green-500);--p-button-success-hover-background: var(--p-green-400);--p-button-success-hover-border-color: var(--p-green-400);--p-button-success-active-background: var(--p-green-300);--p-button-success-active-border-color: var(--p-green-300);--timeline-overlay-rgb: 20, 20, 20;--timeline-scale-background: var(--p-surface-500)}.fade-enter-active,.fade-leave-active{transition-duration:.15s;transition-property:all;transition-timing-function:ease-in-out;transition-delay:.05s}.fade-enter,.fade-leave-active,.fade-leave,.fade-enter-active{opacity:0}.fade-enter-to{opacity:1}.fade-2-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-2-enter-from,.fade-2-leave-to{opacity:0}.fade-2-enter-to,.fade-2-leave-from{opacity:1}.fade-slow-enter-active{transition-duration:.7s;transition-property:all;transition-timing-function:ease-in-out;transition-delay:0s}.fade-slow-leave-active{transition-duration:0s;transition-property:all;transition-timing-function:ease-in-out;transition-delay:0s}.fade-slow-enter,.fade-slow-leave-active,.fade-slow-leave,.fade-slow-enter-active{opacity:0}.fade-slow-enter-to{opacity:1}.fade-absolute-enter-active,.fade-absolute-leave-active{transition:opacity .15s ease}.fade-absolute-enter-from,.fade-absolute-leave-to{opacity:0}.fade-absolute-enter-active{transition-delay:.35s}.slide-up-enter-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-out;transition-delay:0s}.slide-up-leave-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-in;transition-delay:0s}.slide-up-enter-from,.slide-up-leave-to{transform:translateY(20px);opacity:0}.slide-down-enter-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-out;transition-delay:0s}.slide-down-leave-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-in;transition-delay:0s}.slide-down-enter-from,.slide-down-leave-to{transform:translateY(-20px);opacity:0}.slide-left-enter-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-out;transition-delay:0s}.slide-left-leave-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-in;transition-delay:0s}.slide-left-enter-from,.slide-left-leave-to{transform:translate(20px);opacity:0}.slide-right-enter-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-out;transition-delay:0s}.slide-right-leave-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-in;transition-delay:0s}.slide-right-enter-from,.slide-right-leave-to{transform:translate(-20px);opacity:0}.scale-enter-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-out;transition-delay:0s}.scale-leave-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-in;transition-delay:0s}.scale-enter-from,.scale-leave-to{transform:scale(.9);opacity:0}.bounce-enter-active{animation:bounce-in .5s}.bounce-leave-active{animation:bounce-in .5s reverse}@keyframes bounce-in{0%{transform:scale(.9);opacity:0}50%{transform:scale(1.05);opacity:.5}to{transform:scale(1);opacity:1}}.rotate-enter-active{transition-duration:.5s;transition-property:all;transition-timing-function:ease-out;transition-delay:0s}.rotate-leave-active{transition-duration:.5s;transition-property:all;transition-timing-function:ease-in;transition-delay:0s}.rotate-enter-from,.rotate-leave-to{transform:rotate(-10deg);opacity:0}.flip-h-enter-active{animation:flip-horizontal .6s}.flip-h-leave-active{animation:flip-horizontal .6s reverse}@keyframes flip-horizontal{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}.flip-v-enter-active{animation:flip-vertical .6s}.flip-v-leave-active{animation:flip-vertical .6s reverse}@keyframes flip-vertical{0%{transform:rotateX(90deg);opacity:0}to{transform:rotateX(0);opacity:1}}.fade-scale-enter-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-out;transition-delay:0s}.fade-scale-leave-active{transition-duration:.3s;transition-property:all;transition-timing-function:ease-in;transition-delay:0s}.fade-scale-enter-from,.fade-scale-leave-to{transform:scale(1.1);opacity:0}/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.draggable-region{app-region:drag;-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.non-draggable-region{app-region:no-drag;-webkit-app-region:no-drag}.page-title{margin-bottom:calc(var(--spacing,.25rem)*3);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--p-text-color);font-variation-settings:"wght" 700;display:block}.card-title{margin-bottom:calc(var(--spacing,.25rem)*1);margin-left:calc(var(--spacing,.25rem)*2);--tw-font-weight:var(--font-weight-bold,700);font-size:.8rem;font-weight:var(--font-weight-bold,700);text-transform:uppercase;font-variation-settings:"wght" 700;color:var(--text-muted-color);display:block}.cui-rounded-corner{border-radius:var(--radius-xl,.75rem)}.field-gap{gap:calc(var(--spacing,.25rem)*1)}.cui-label{--tw-font-weight:var(--font-weight-semibold,600);font-size:12px;font-weight:var(--font-weight-semibold,600);text-transform:uppercase;color:var(--text-secondary-color);font-variation-settings:"wght" 600}.cui-input-hint,.cui-input-error{padding-inline:calc(var(--spacing,.25rem)*1)}.cui-input-hint,.cui-input-hint>.p-message-content>.p-message-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--text-muted-color);font-variation-settings:"wght" 500}.cui-input-error,.cui-input-error>.p-message-content>.p-message-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-red-500,oklch(63.7% .237 25.331));font-variation-settings:"wght" 500}.field-checkbox-gap,.field-switch-gap{gap:calc(var(--spacing,.25rem)*1)}.cui-label-checkbox,.cui-label-switch{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--text-secondary-color);font-variation-settings:"wght" 600}.cui-input-checkbox-hint,.cui-input-checkbox-error{padding-left:25px}.cui-input-switch-hint,.cui-input-switch-error{padding-left:calc(var(--spacing,.25rem)*0)}.cui-input-checkbox-hint,.cui-input-switch-hint,.cui-input-checkbox-hint>.p-message-content>.p-message-text,.cui-input-switch-hint>.p-message-content>.p-message-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--text-muted-color);font-variation-settings:"wght" 500}.cui-input-checkbox-error,.cui-input-switch-error,.cui-input-checkbox-error>.p-message-content>.p-message-text,.cui-input-switch-error>.p-message-content>.p-message-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-red-500,oklch(63.7% .237 25.331));font-variation-settings:"wght" 500}.cui-card{border-radius:var(--radius-xl,.75rem);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);width:100%;height:100%;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border:1px solid var(--border-color);position:relative;overflow:hidden}.cui-icon-xs{height:calc(var(--spacing,.25rem)*5);width:calc(var(--spacing,.25rem)*5);padding:calc(var(--spacing,.25rem)*1)}.cui-icon-sm{height:calc(var(--spacing,.25rem)*6);width:calc(var(--spacing,.25rem)*6);padding:calc(var(--spacing,.25rem)*1)}.cui-icon-md{height:calc(var(--spacing,.25rem)*7);width:calc(var(--spacing,.25rem)*7);padding:calc(var(--spacing,.25rem)*1)}.cui-icon-lg{height:calc(var(--spacing,.25rem)*8);width:calc(var(--spacing,.25rem)*8);padding:calc(var(--spacing,.25rem)*1)}.cui-icon-xl{height:calc(var(--spacing,.25rem)*9);width:calc(var(--spacing,.25rem)*9);padding:calc(var(--spacing,.25rem)*1)}.cui-icon-2xl{height:calc(var(--spacing,.25rem)*10);width:calc(var(--spacing,.25rem)*10);padding:calc(var(--spacing,.25rem)*1)}.cui-icon-3xl{height:calc(var(--spacing,.25rem)*12);width:calc(var(--spacing,.25rem)*12);padding:calc(var(--spacing,.25rem)*1)}.cui-icon-4xl{height:calc(var(--spacing,.25rem)*14);width:calc(var(--spacing,.25rem)*14);padding:calc(var(--spacing,.25rem)*1)}.cui-button,.cui-button-small,.cui-button-medium,.cui-button-large{border-radius:var(--radius-xl,.75rem)}.cui-button-small{height:35px;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}.cui-button-medium{height:40px;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}.cui-button-large{height:48px;font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}.cui-list-item{border-bottom:1px solid var(--border-color);padding:.25rem 0}.cui-list-item:last-child{border-bottom:none;padding-bottom:0}.bg-color{background-color:var(--text-color)}.ground-background{background:var(--ground-background)}.content-background{background:var(--content-background)}.card-background{background:var(--card-background)}.navbar-background{background:var(--navbar-background)}.sidebar-background{background:var(--sidebar-background)}.topbar-background{background:var(--topbar-background)}.subnavbar-background{background:var(--subnavbar-background)}.bottombar-background{background:var(--bottombar-background)}.drawer-background{background:var(--drawer-background)}.camera-toolbar-background{background:var(--camera-toolbar-background)}.sidebar-view-background{background:var(--sidebar-view-background)}.bg-muted{background-color:var(--text-muted-color)}.bg-surface-0{background-color:var(--surface-0)}.bg-surface-50{background-color:var(--surface-50)}.bg-surface-100{background-color:var(--surface-100)}.bg-surface-200{background-color:var(--surface-200)}.bg-surface-300{background-color:var(--surface-300)}.bg-surface-400{background-color:var(--surface-400)}.bg-surface-500{background-color:var(--surface-500)}.bg-surface-600{background-color:var(--surface-600)}.bg-surface-700{background-color:var(--surface-700)}.bg-surface-800{background-color:var(--surface-800)}.bg-surface-900{background-color:var(--surface-900)}.bg-surface-950{background-color:var(--surface-950)}.bg-primary-50{background-color:var(--primary-50)}.bg-primary-100{background-color:var(--primary-100)}.bg-primary-200{background-color:var(--primary-200)}.bg-primary-300{background-color:var(--primary-300)}.bg-primary-400{background-color:var(--primary-400)}.bg-primary-500{background-color:var(--primary-500)}.bg-primary-600{background-color:var(--primary-600)}.bg-primary-700{background-color:var(--primary-700)}.bg-primary-800{background-color:var(--primary-800)}.bg-primary-900{background-color:var(--primary-900)}.bg-primary-950{background-color:var(--primary-950)}.bg-secondary-50{background-color:var(--secondary-50)}.bg-secondary-100{background-color:var(--secondary-100)}.bg-secondary-200{background-color:var(--secondary-200)}.bg-secondary-300{background-color:var(--secondary-300)}.bg-secondary-400{background-color:var(--secondary-400)}.bg-secondary-500{background-color:var(--secondary-500)}.bg-secondary-600{background-color:var(--secondary-600)}.bg-secondary-700{background-color:var(--secondary-700)}.bg-secondary-800{background-color:var(--secondary-800)}.bg-secondary-900{background-color:var(--secondary-900)}.bg-secondary-950{background-color:var(--secondary-950)}.bg-success{background-color:var(--success-color)}.bg-info{background-color:var(--info-color)}.bg-warning{background-color:var(--warning-color)}.bg-danger{background-color:var(--danger-color)}.bg-success-light{background-color:var(--success-light)}.bg-info-light{background-color:var(--info-light)}.bg-warning-light{background-color:var(--warning-light)}.bg-danger-light{background-color:var(--danger-light)}.text-color{color:var(--text-color)}.text-color-faded{color:var(--text-color-faded)}.text-muted{color:var(--text-muted-color)}.text-inverted{color:var(--text-inverted-color)}.text-primary{color:var(--text-primary-color)}.text-primary-hover:hover{color:var(--text-primary-hover-color)}.text-secondary{color:var(--text-secondary-color)}.text-secondary-hover:hover{color:var(--text-secondary-hover-color)}.text-success{color:var(--text-success-color)}.text-info{color:var(--text-info-color)}.text-warning{color:var(--text-warning-color)}.text-danger{color:var(--text-danger-color)}.text-surface-0{color:var(--surface-0)}.text-surface-50{color:var(--surface-50)}.text-surface-100{color:var(--surface-100)}.text-surface-200{color:var(--surface-200)}.text-surface-300{color:var(--surface-300)}.text-surface-400{color:var(--surface-400)}.text-surface-500{color:var(--surface-500)}.text-surface-600{color:var(--surface-600)}.text-surface-700{color:var(--surface-700)}.text-surface-800{color:var(--surface-800)}.text-surface-900{color:var(--surface-900)}.text-surface-950{color:var(--surface-950)}.text-primary-50{color:var(--primary-50)}.text-primary-100{color:var(--primary-100)}.text-primary-200{color:var(--primary-200)}.text-primary-300{color:var(--primary-300)}.text-primary-400{color:var(--primary-400)}.text-primary-500{color:var(--primary-500)}.text-primary-600{color:var(--primary-600)}.text-primary-700{color:var(--primary-700)}.text-primary-800{color:var(--primary-800)}.text-primary-900{color:var(--primary-900)}.text-primary-950{color:var(--primary-950)}.text-secondary-50{color:var(--secondary-50)}.text-secondary-100{color:var(--secondary-100)}.text-secondary-200{color:var(--secondary-200)}.text-secondary-300{color:var(--secondary-300)}.text-secondary-400{color:var(--secondary-400)}.text-secondary-500{color:var(--secondary-500)}.text-secondary-600{color:var(--secondary-600)}.text-secondary-700{color:var(--secondary-700)}.text-secondary-800{color:var(--secondary-800)}.text-secondary-900{color:var(--secondary-900)}.text-secondary-950{color:var(--secondary-950)}.card-border{border:1px solid var(--border-color)}.border-color{border-color:var(--border-color)}.border-base-color{border-color:var(--border-base-color)}.border-right-color{border-right:1px solid var(--border-color)}.border-left-color{border-left:1px solid var(--border-color)}.border-top-color{border-top:1px solid var(--border-color)}.border-bottom-color{border-bottom:1px solid var(--border-color)}.border-color-inner{border-color:var(--border-color-inner)}.border-primary{border-color:var(--text-primary-color)}.border-secondary{border-color:var(--text-secondary-color)}.border-success{border-color:var(--success-color)}.border-info{border-color:var(--info-color)}.border-warning{border-color:var(--warning-color)}.border-danger{border-color:var(--danger-color)}.text-shadow{text-shadow:0 1px 2px #000}.text-shadow-sm{text-shadow:0 1px 1px #000000b3}.text-shadow-none{text-shadow:none}.transition-default{transition:all var(--transition-duration)ease-in-out}.transition-fast{transition:all calc(var(--transition-duration)*.5)ease-in-out}.transition-slow{transition:all calc(var(--transition-duration)*2)ease-in-out}.disable-overflow-scroll{overscroll-behavior:none;-webkit-overflow-scrolling:none;-ms-scroll-chaining:none}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0;display:none}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--surface-400)transparent}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:var(--surface-400);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--surface-500)}.file-upload-box{border-radius:var(--radius-xl,.75rem);min-height:200px;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-image:url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='10' ry='10' stroke='%238B8B8B63' stroke-width='5' stroke-dasharray='6%2c 14' stroke-dashoffset='23' stroke-linecap='round'/%3e%3c/svg%3e");justify-content:center;align-items:center;display:flex}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.close-button[data-v-8dab6fc2],.minify-button[data-v-8dab6fc2],.expand-button[data-v-8dab6fc2],.disabled-button[data-v-8dab6fc2]{width:12px;height:12px;border-radius:20px;transition:.2s all ease-in-out;-webkit-app-region:no-drag}.close-button[data-v-8dab6fc2]:hover,.minify-button[data-v-8dab6fc2]:hover,.expand-button[data-v-8dab6fc2]:hover,.disabled-button[data-v-8dab6fc2]:hover{cursor:default}.close-button[data-v-8dab6fc2]{background-color:#ff5954;border:0px solid #df302a}.close-button[data-v-8dab6fc2]:active{background-color:#d63f3a;border:0px solid #c12e26}.minify-button[data-v-8dab6fc2]{background-color:#fdbd30;border:0px solid #c18b17}.minify-button[data-v-8dab6fc2]:active{background-color:#c18b17;border:0px solid #a27613}.expand-button[data-v-8dab6fc2]{background-color:#00ca3b;border:0px solid #02a934}.expand-button[data-v-8dab6fc2]:active{background-color:#02a934;border:0px solid #028b2b}.disabled-button[data-v-8dab6fc2]{background-color:#3d3d3d;border:0px solid #282828}img[data-v-6696d637]{transition:opacity .3s ease}img[v-show=false][data-v-6696d637]{opacity:0}.avatar-border[data-v-82af9e29]{border:1px solid #272727}.navitem-active[data-v-13c365f7]{background:var(--p-button-text-primary-active-background);border-color:transparent}.cui-bottombar[data-v-78d01fd3]:before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(to bottom,rgba(0,0,0,.05),transparent)}.notification-menu{left:auto!important;right:calc(env(safe-area-inset-right,0px) + .5rem)!important;top:calc(env(safe-area-inset-top,0px) + 3.3rem)!important}.listitem-button[data-v-115e51ef]{background:var(--button-contrast-background);border-color:transparent;color:var(--p-button-text-secondary-color)}.listitem-button[data-v-115e51ef]:hover:not(.disabled),.listitem-button.active[data-v-115e51ef]:not(.disabled){background:var(--button-contrast-hover-background);border-color:transparent;color:var(--p-button-text-secondary-color)}.listitem-button[data-v-115e51ef]:active:not(.disabled){background:var(--button-contrast-active-background);border-color:transparent;color:var(--p-button-text-secondary-color)}.profile-menu{left:calc(env(safe-area-inset-right,0px) + .5rem)!important;top:calc(env(safe-area-inset-top,0px) + 3.3rem)!important}.cui-topbar[data-v-162b131f]{background:var(--topbar-background);border-bottom:1px solid var(--border-color)}.cui-chip[data-v-3b79f904]{background-color:var(--chip-background);transition:padding .2s ease,background-color .2s ease}.cui-chip[data-v-3b79f904]:hover:not(.cui-chip-disabled):not(.cui-chip-selected){background-color:var(--chip-background-hover)}.cui-chip[data-v-3b79f904]:active:not(.cui-chip-disabled):not(.cui-chip-selected){background-color:var(--chip-background-active)}.cui-chip-selected[data-v-3b79f904]{background-color:var(--primary-500);color:#fff}.cui-chip-disabled[data-v-3b79f904]{opacity:.6;cursor:not-allowed}.cui-chip-small[data-v-3b79f904]{font-size:.8rem}.cui-chip-medium[data-v-3b79f904]{font-size:.9rem}.cui-chip-large[data-v-3b79f904]{font-size:1rem}.zones-container[data-v-bcfe05d5]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.7}.polygon-container[data-v-bcfe05d5]{position:absolute}.polygon-container .polygon[data-v-bcfe05d5]{stroke-width:2;cursor:pointer}.polygon-container .polygon.selected[data-v-bcfe05d5]{stroke-width:2}.polygon-container .polygon.dash[data-v-bcfe05d5]{stroke-dasharray:5,5}.polygon-container .polygon-exclude[data-v-bcfe05d5]{stroke-width:2;cursor:pointer}.polygon-container .polygon-exclude.selected[data-v-bcfe05d5]{stroke-width:2}.polygon-container .polygon-exclude.dash[data-v-bcfe05d5]{stroke-dasharray:5,5}.polygon-container .polygon-privacy[data-v-bcfe05d5]{stroke-width:2;cursor:pointer}.polygon-container .polygon-privacy.selected[data-v-bcfe05d5]{stroke-width:2}.polygon-container .polygon-privacy.dash[data-v-bcfe05d5]{stroke-dasharray:5,5}.polygon-container .polygon-privacy-exclude[data-v-bcfe05d5]{stroke-width:2;cursor:pointer}.polygon-container .polygon-privacy-exclude.selected[data-v-bcfe05d5]{stroke-width:2}.polygon-container .polygon-privacy-exclude.dash[data-v-bcfe05d5]{stroke-dasharray:5,5}.polygon-container path.selected[data-v-bcfe05d5]{stroke-width:2}.polygon-container path.dash[data-v-bcfe05d5]{stroke-dasharray:5,5}.bbox-container[data-v-870e7d93]{position:absolute;top:2.2px;left:0;width:100%;height:100%;pointer-events:none}.bbox-corners[data-v-870e7d93]{position:absolute;pointer-events:none}.corner-lines[data-v-870e7d93]{position:absolute;width:var(--corner-size);height:var(--corner-size)}.corner-lines .line[data-v-870e7d93]{position:absolute;background-color:var(--corner-color)}.line.horizontal[data-v-870e7d93]{height:2px;width:100%}.line.vertical[data-v-870e7d93]{width:2px;height:100%}.corner-lines.tl[data-v-870e7d93]{top:0;left:0}.corner-lines.tr[data-v-870e7d93]{top:0;right:0;transform:scaleX(-1)}.corner-lines.bl[data-v-870e7d93]{bottom:0;left:0;transform:scaleY(-1)}.corner-lines.br[data-v-870e7d93]{bottom:0;right:0;transform:scale(-1)}.label[data-v-870e7d93]{position:absolute;top:2.2px;left:0;display:flex;align-items:center;color:#fff;font-weight:700;white-space:nowrap;border-radius:6px 6px 6px 0;transform:translateY(-100%);transition:all .2s ease-in-out}.label.label-bottom[data-v-870e7d93]{top:calc(100% - 2.2px);transform:translateY(0);border-radius:0 6px 6px}.label.label-right[data-v-870e7d93]{left:auto;right:0;flex-direction:row-reverse;border-radius:6px 0 0 6px}.label.label-right.label-bottom[data-v-870e7d93]{border-radius:6px 0 0 6px}.label-text[data-v-870e7d93]{margin-right:4px}.label.label-right .label-text[data-v-870e7d93]{margin-right:0;margin-left:4px}.confidence[data-v-870e7d93]{opacity:.9;line-height:normal}.shortcut-container[data-v-98006b6f]{position:absolute;top:0;left:0;width:100%;height:100%}.draggable[data-v-98006b6f]{background:transparent!important}.draggable.is-dragging[data-v-98006b6f]{opacity:.7}.snapshot-hover-container[data-v-98006b6f]{width:250px;background:#000}.shortcut-menu[data-v-98006b6f]{width:200px;height:100%;background:var(--background-card);border-radius:10px;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(1,1fr);gap:10px;padding:10px}.shortcut-menu-item[data-v-98006b6f]{width:100%;height:100%;background:#000;border-radius:5px;overflow:hidden;cursor:pointer}.timeline-overlay{background:linear-gradient(180deg,#0000,#000c 50%)!important}.active[data-v-d46f07f8]{background:var(--p-button-text-contrast-active-background)!important;border-color:transparent!important;color:var(--p-button-text-contrast-color)!important}.camera-card-info-box[data-v-d46f07f8]{background:#df2a4cc7;border:1px solid #331419;padding:.5rem;border-radius:.5rem;font-size:.9rem}.playground-container[data-v-51a8517c]{justify-content:center;flex:1;position:relative;z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}@media (min-width: 800px){.playground-container[data-v-51a8517c]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-51a8517c]{position:relative}.playground-container .playground:hover .handle[data-v-51a8517c]{opacity:1}.playground-container .playground.customizing[data-v-51a8517c]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-51a8517c]{opacity:1}.playground-container .playground .custom-notice[data-v-51a8517c]{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;right:0;bottom:1rem;pointer-events:none;opacity:0;transition:background .25s;background:#fff0}.playground-container .playground .custom-notice div[data-v-51a8517c]{width:100%;text-align:center;background:#ffffffe6;padding:1rem;margin:0 2rem;transition:opacity .25s;border-radius:2px;box-shadow:0 1px 2px #100a0926;opacity:1}.playground-container .playground .custom-notice div .touchy[data-v-51a8517c]:after{content:"Click"}.playground-container .playground .sandbox[data-v-51a8517c]{position:relative;touch-action:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0}.playground-container .playground .sandbox .shadowboard[data-v-51a8517c]{position:absolute;z-index:11;top:10px;left:10px;right:10px;bottom:10px;background:#df2a4c4d center center;background-size:cover}.playground-container .playground .sandbox .shadowboard[data-v-51a8517c]{pointer-events:none;opacity:0;transition:opacity .375s}.playground-container .playground .sandbox .shadowboard.on[data-v-51a8517c]{opacity:0}.playground-container .playground.customizing .handle[data-v-51a8517c]{pointer-events:none}.handles[data-v-51a8517c]{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10}.handles .clipboard[data-v-51a8517c]{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.handles .clipboard .polygon-container[data-v-51a8517c]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-51a8517c]{stroke-width:2}.handles .clipboard .polygon-container path.dash[data-v-51a8517c]{stroke-dasharray:5,5}.handles .delete-point[data-v-51a8517c],.handles .handle[data-v-51a8517c]{position:absolute;width:20px;height:20px;z-index:2}.handles .handle[data-v-51a8517c]{border-radius:50%;box-shadow:#fff inset 0 0 0 10px;opacity:.8;transition:opacity .25s}.handles .handle.is-dragging[data-v-51a8517c],.handles .handle.is-pointer-down[data-v-51a8517c]{z-index:100;box-shadow:#d0d0d0 inset 0 0 0 10px;cursor:none;transition:box-shadow 0s}.handles .handle.draggable[data-v-51a8517c]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-51a8517c]{transform:scale3d(.9,.9,.9);transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;opacity:1}.handles .handle[data-v-51a8517c]:after{display:block;content:"";position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px}.handles .handle .delete-point[data-v-51a8517c]{position:absolute;left:22px;top:0;width:25px;padding-left:5px;border-radius:3px;background:#d3d0c9;transform:scale3d(0,0,0);transform-origin:left center;cursor:pointer;opacity:.75;clip-path:polygon(25% 0,100% 1%,100% 100%,25% 100%,0 50%);transition:transform .25s,opacity .25s}.handles .handle .delete-point[data-v-51a8517c]:after{display:block;content:"";position:absolute;top:4px;left:9px;right:4px;bottom:4px;background:#100a09;clip-path:polygon(20% 10%,10% 20%,40% 50%,10% 80%,20% 90%,50% 60%,80% 90%,90% 80%,60% 50%,90% 20%,80% 10%,50% 40%)}.zone-buttons[data-v-51a8517c]{min-width:100%}.camera-info[data-v-95baba33]{padding:.5rem 0;height:55px;border-bottom:1px solid var(--border-color)}.camera-info[data-v-95baba33]:last-child{border-bottom:none}.loader[data-v-d2a6a09b]{background:var(--ground-background);width:100dvw;min-width:100dvw;max-width:100dvw;height:100dvh;min-height:100dvh;max-height:100dvh}div[data-v-d2a6a09b] .cameraLens{-webkit-animation:lensMove-d2a6a09b .8s cubic-bezier(.47,1.84,.21,.8) forwards,lensRotate-d2a6a09b .8s ease-in-out .4s forwards,lensMoveBack-d2a6a09b .6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards;-moz-animation:lensMove-d2a6a09b .8s cubic-bezier(.47,1.84,.21,.8) forwards,lensRotate-d2a6a09b .8s ease-in-out .4s forwards,lensMoveBack-d2a6a09b .6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards;-o-animation:lensMove-d2a6a09b .8s cubic-bezier(.47,1.84,.21,.8) forwards,lensRotate-d2a6a09b .8s ease-in-out .4s forwards,lensMoveBack-d2a6a09b .6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards;animation:lensMove-d2a6a09b .8s cubic-bezier(.47,1.84,.21,.8) forwards,lensRotate-d2a6a09b .8s ease-in-out .4s forwards,lensMoveBack-d2a6a09b .6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards;-webkit-transform-origin:35% 55%;-moz-transform-origin:35% 55%;-o-transform-origin:35% 55%;transform-origin:35% 55%}div[data-v-d2a6a09b] .cameraLetter{-moz-animation:letterScale-d2a6a09b .4s cubic-bezier(.47,1.84,.21,.8) forwards,letterScaleBack-d2a6a09b .4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards;-o-animation:letterScale-d2a6a09b .4s cubic-bezier(.47,1.84,.21,.8) forwards,letterScaleBack-d2a6a09b .4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards;-webkit-animation:letterScale-d2a6a09b .4s cubic-bezier(.47,1.84,.21,.8) forwards,letterScaleBack-d2a6a09b .4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards;animation:letterScale-d2a6a09b .4s cubic-bezier(.47,1.84,.21,.8) forwards,letterScaleBack-d2a6a09b .4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards;-webkit-transform-origin:center;-moz-transform-origin:center;-o-transform-origin:center;transform-origin:center}@keyframes letterScale-d2a6a09b{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-o-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);-moz-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}}@keyframes letterScaleBack-d2a6a09b{0%{-webkit-transform:scale(.8);-moz-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(1);-moz-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@keyframes lensMove-d2a6a09b{0%{-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0)}to{-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes lensMoveBack-d2a6a09b{0%{-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}to{-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0)}}@keyframes lensRotate-d2a6a09b{0%{-webkit-transform:translateY(-40px) rotate(0deg);-moz-transform:translateY(-40px) rotate(0deg);-o-transform:translateY(-40px) rotate(0deg);transform:translateY(-40px) rotate(0)}to{-webkit-transform:translateY(-40px) rotate(-360deg);-moz-transform:translateY(-40px) rotate(-360deg);-o-transform:translateY(-40px) rotate(-360deg);transform:translateY(-40px) rotate(-360deg)}}.p-progressspinner-circle{stroke:var(--primary-500)!important}.p-button-loading .p-button-label{display:none!important}.p-datatable.p-datatable-striped .p-datatable-tbody>tr.p-row-odd{background-color:var(--table-row-odd-background)}.p-inputtext.p-invalid,.p-select.p-invalid,.p-checkbox.p-invalid>.p-checkbox-box,.p-toggleswitch.p-invalid>.p-toggleswitch-slider,.p-autocomplete.p-invalid .p-autocomplete-input-multiple{border-color:#ff1c20}.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle{background-color:#fff}.p-toggleswitch.p-disabled{opacity:.5}.p-toggleswitch.p-disabled .p-toggleswitch-handle{background:var(--p-toggleswitch-handle-background)}.p-dialog-maximized>.p-dialog-footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1.25rem)}.p-accordionpanel{border-color:var(--border-color)}.p-popover:before{border-width:0}.p-popover:after{border-width:0}.p-datepicker-time-picker{padding:.5rem 0}.p-dialog-content{display:flex;flex-direction:column;height:100%;padding:0}.fixed-bg[data-v-9eabf359]{position:fixed;top:calc(-10px - env(safe-area-inset-top,0px));left:calc(-10px - env(safe-area-inset-left,0px));right:calc(-10px - env(safe-area-inset-right,0px));bottom:calc(-10px - env(safe-area-inset-bottom,0px));z-index:0}