@camstack/addon-pipeline-orchestrator 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,11 +17,11 @@ __d(function(g,r,_i,a,_m,_e,_d){
17
17
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
18
18
  _e.read=function(o,t,h,M,f){var w,p,i=8*f-M-1,n=(1<<i)-1,N=n>>1,e=-7,u=h?f-1:0,s=h?-1:1,c=o[t+u];for(u+=s,w=c&(1<<-e)-1,c>>=-e,e+=i;e>0;w=256*w+o[t+u],u+=s,e-=8);for(p=w&(1<<-e)-1,w>>=-e,e+=M;e>0;p=256*p+o[t+u],u+=s,e-=8);if(0===w)w=1-N;else{if(w===n)return p?NaN:1/0*(c?-1:1);p+=Math.pow(2,M),w-=N}return(c?-1:1)*p*Math.pow(2,w-M)},_e.write=function(o,t,h,M,f,w){var p,i,n,N=8*w-f-1,e=(1<<N)-1,u=e>>1,s=23===f?Math.pow(2,-24)-Math.pow(2,-77):0,c=M?0:w-1,l=M?1:-1,d=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,p=e):(p=Math.floor(Math.log(t)/Math.LN2),t*(n=Math.pow(2,-p))<1&&(p--,n*=2),(t+=p+u>=1?s/n:s*Math.pow(2,1-u))*n>=2&&(p++,n/=2),p+u>=e?(i=0,p=e):p+u>=1?(i=(t*n-1)*Math.pow(2,f),p+=u):(i=t*Math.pow(2,u-1)*Math.pow(2,f),p=0));f>=8;o[h+c]=255&i,c+=l,i/=256,f-=8);for(p=p<<f|i,N+=f;N>0;o[h+c]=255&p,c+=l,p/=256,N-=8);o[h+c-l]|=128*d}},3,[]);
19
19
  __d(function(g,r,i,a,m,e,d){"use strict";r(d[0])},4,[5]);
20
- __d(function(g,r,i,a,m,e,d){"use strict";r(d[0]);var n=r(d[1]);(0,r(d[2]).renderRootComponent)(n.App)},5,[6,9,3598]);
20
+ __d(function(g,r,i,a,m,e,d){"use strict";r(d[0]);var n=r(d[1]);(0,r(d[2]).renderRootComponent)(n.App)},5,[6,9,3601]);
21
21
  __d(function(g,r,i,a,m,e,d){"use strict";r(d[0]),r(d[1])},6,[7,8]);
22
22
  __d(function(g,r,i,a,m,e,d){},7,[]);
23
23
  __d(function(g,r,i,a,m,e,d){const _='undefined'==typeof window;globalThis.__webpack_chunk_load__=_=>g[`${__METRO_GLOBAL_PREFIX__}__loadBundleAsync`](_),globalThis.__webpack_require__=o=>{const t=ErrorUtils.reportFatalError;_&&(ErrorUtils.reportFatalError=_=>{throw _});try{return g[`${__METRO_GLOBAL_PREFIX__}__r`](o)}finally{_&&(ErrorUtils.reportFatalError=t)}}},8,[]);
24
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(){return(0,t.jsx)(c.Head.Provider,{children:(0,t.jsx)(n.ExpoRoot,{context:o.ctx})})};const t=r(d[0]),o=r(d[1]);r(d[2]);const n=r(d[3]),c=r(d[4]);r(d[5])},9,[10,12,17,746,3592,3597]);
24
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.App=function(){return(0,t.jsx)(c.Head.Provider,{children:(0,t.jsx)(n.ExpoRoot,{context:o.ctx})})};const t=r(d[0]),o=r(d[1]);r(d[2]);const n=r(d[3]),c=r(d[4]);r(d[5])},9,[10,12,17,746,3595,3600]);
25
25
  __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},10,[11]);
26
26
  __d(function(g,r,i,a,m,e,d){
27
27
  /**
@@ -35,7 +35,7 @@ __d(function(g,r,i,a,m,e,d){
35
35
  */
36
36
  "use strict";var n=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function o(t,o,f){var l=null;if(void 0!==f&&(l=""+f),void 0!==o.key&&(l=""+o.key),"key"in o)for(var y in f={},o)"key"!==y&&(f[y]=o[y]);else f=o;return o=f.ref,{$$typeof:n,type:t,key:l,ref:void 0!==o?o:null,props:f}}e.Fragment=t,e.jsx=o,e.jsxs=o},11,[]);
37
37
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ctx",{enumerable:!0,get:function(){return t}});const t=r(d[0])},12,[13]);
38
- __d(function(g,r,i,a,m,e,d){const t=Object.defineProperties({},{"./(app)/(tabs)/_layout.tsx":{enumerable:!0,get:()=>r(d[0])},"./(app)/(tabs)/cameras.tsx":{enumerable:!0,get:()=>r(d[1])},"./(app)/(tabs)/events.tsx":{enumerable:!0,get:()=>r(d[2])},"./(app)/(tabs)/grids.tsx":{enumerable:!0,get:()=>r(d[3])},"./(app)/(tabs)/settings.tsx":{enumerable:!0,get:()=>r(d[4])},"./(app)/_layout.tsx":{enumerable:!0,get:()=>r(d[5])},"./(app)/camera/[id].tsx":{enumerable:!0,get:()=>r(d[6])},"./(app)/exports.tsx":{enumerable:!0,get:()=>r(d[7])},"./(app)/grid/[id]/edit.tsx":{enumerable:!0,get:()=>r(d[8])},"./(app)/grid/[id]/index.tsx":{enumerable:!0,get:()=>r(d[9])},"./(app)/grid/adhoc.tsx":{enumerable:!0,get:()=>r(d[10])},"./(app)/settings/cameras.tsx":{enumerable:!0,get:()=>r(d[11])},"./_layout.tsx":{enumerable:!0,get:()=>r(d[12])},"./index.tsx":{enumerable:!0,get:()=>r(d[13])}});function n(n){return t[n]}n.keys=function(){return Object.keys(t)},n.resolve=function(t){throw new Error('Unimplemented Metro module context functionality')},m.exports=n},13,[14,2592,3386,3401,3418,3426,3427,3534,3536,3537,3550,3551,3576,3583]);
38
+ __d(function(g,r,i,a,m,e,d){const t=Object.defineProperties({},{"./(app)/(tabs)/_layout.tsx":{enumerable:!0,get:()=>r(d[0])},"./(app)/(tabs)/cameras.tsx":{enumerable:!0,get:()=>r(d[1])},"./(app)/(tabs)/events.tsx":{enumerable:!0,get:()=>r(d[2])},"./(app)/(tabs)/grids.tsx":{enumerable:!0,get:()=>r(d[3])},"./(app)/(tabs)/settings.tsx":{enumerable:!0,get:()=>r(d[4])},"./(app)/_layout.tsx":{enumerable:!0,get:()=>r(d[5])},"./(app)/camera/[id].tsx":{enumerable:!0,get:()=>r(d[6])},"./(app)/exports.tsx":{enumerable:!0,get:()=>r(d[7])},"./(app)/grid/[id]/edit.tsx":{enumerable:!0,get:()=>r(d[8])},"./(app)/grid/[id]/index.tsx":{enumerable:!0,get:()=>r(d[9])},"./(app)/grid/adhoc.tsx":{enumerable:!0,get:()=>r(d[10])},"./(app)/settings/cameras.tsx":{enumerable:!0,get:()=>r(d[11])},"./_layout.tsx":{enumerable:!0,get:()=>r(d[12])},"./index.tsx":{enumerable:!0,get:()=>r(d[13])}});function n(n){return t[n]}n.keys=function(){return Object.keys(t)},n.resolve=function(t){throw new Error('Unimplemented Metro module context functionality')},m.exports=n},13,[14,2592,3386,3401,3418,3426,3427,3537,3539,3540,3553,3554,3579,3586]);
39
39
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.TabsNavigator,{}),o[0]=u):u=o[0],u}},14,[15,19,10]);
40
40
  __d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},15,[16]);
41
41
  __d(function(g,r,i,a,m,e,d){
@@ -405,7 +405,7 @@ __d(function(g,r,i,_a,m,_e,_d){'use strict';m.exports=function(e,n,o,t,a,f,s,d){
405
405
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t}});var t={}},324,[]);
406
406
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.installOnUIRuntime=function(t){const o=globalThis?.expo?.installOnUIRuntime;if(!o)throw Error("Native method to install Expo Modules on the worklets UI runtime wasn't found in `expo-modules-core`.");o(t)}},325,[]);
407
407
  __d(function(g,r,i,a,m,e,d){"use strict";var t,n,o;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AppOwnership",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"ExecutionEnvironment",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"UserInterfaceIdiom",{enumerable:!0,get:function(){return o}}),(function(t){t.Expo="expo"})(t||(t={})),(function(t){t.Bare="bare",t.Standalone="standalone",t.StoreClient="storeClient"})(n||(n={})),(function(t){t.Handset="handset",t.Tablet="tablet",t.Desktop="desktop",t.TV="tv",t.Unsupported="unsupported"})(o||(o={}))},326,[]);
408
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);const n=(Date.now()+'-'+Math.floor(1e9*Math.random())).toString();function o(){if('undefined'!=typeof navigator&&'string'==typeof navigator.userAgent){const t=navigator.userAgent.toLowerCase();if(t.includes('edge'))return'Edge';if(t.includes('edg'))return'Chromium Edge';if(t.includes('opr')&&'opr'in window&&window.opr)return'Opera';if(t.includes('chrome')&&'chrome'in window&&window.chrome)return'Chrome';if(t.includes('trident'))return'IE';if(t.includes('firefox'))return'Firefox';if(t.includes('safari'))return'Safari'}}var s={get appOwnership(){return null},get executionEnvironment(){return t.ExecutionEnvironment.Bare},get sessionId(){return n},get isHeadless(){return'undefined'==typeof navigator||/\bHeadlessChrome\//.test(navigator.userAgent)},get expoVersion(){return this.manifest.sdkVersion||null},get linkingUri(){return'undefined'!=typeof location?location.origin:''},get expoRuntimeVersion(){return this.expoVersion},get deviceName(){return o()},get systemFonts(){return[]},get statusBarHeight(){return 0},get deviceYearClass(){return null},get manifest(){return"{\"name\":\"CamStack\",\"slug\":\"camstack\",\"version\":\"1.0.176\",\"sdkVersion\":\"57.0.0\",\"platforms\":[\"ios\",\"android\",\"web\"],\"runtimeVersion\":\"1.0.171\",\"orientation\":\"default\",\"icon\":\"./assets/images/icon.png\",\"scheme\":\"camstack\",\"userInterfaceStyle\":\"automatic\",\"web\":{\"output\":\"single\",\"favicon\":\"./assets/images/favicon.png\",\"shortName\":\"CamStack\",\"backgroundColor\":\"#e67e22\",\"name\":\"CamStack\"},\"experiments\":{\"typedRoutes\":true,\"reactCompiler\":true,\"baseUrl\":\"/viewer/camstack\"},\"extra\":{\"router\":{\"root\":\"app\"},\"eas\":{\"projectId\":\"8fb06894-6375-41ff-959f-1a22a03dbd73\"}},\"updates\":{\"url\":\"https://u.expo.dev/8fb06894-6375-41ff-959f-1a22a03dbd73\"},\"owner\":\"zentik-notifier\"}"},get manifest2(){return null},get experienceUrl(){return'undefined'!=typeof location?location.origin:''},get debugMode(){return!1},getWebViewUserAgentAsync:async()=>'undefined'!=typeof navigator?navigator.userAgent:null}},327,[326]);
408
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);const n=(Date.now()+'-'+Math.floor(1e9*Math.random())).toString();function o(){if('undefined'!=typeof navigator&&'string'==typeof navigator.userAgent){const t=navigator.userAgent.toLowerCase();if(t.includes('edge'))return'Edge';if(t.includes('edg'))return'Chromium Edge';if(t.includes('opr')&&'opr'in window&&window.opr)return'Opera';if(t.includes('chrome')&&'chrome'in window&&window.chrome)return'Chrome';if(t.includes('trident'))return'IE';if(t.includes('firefox'))return'Firefox';if(t.includes('safari'))return'Safari'}}var s={get appOwnership(){return null},get executionEnvironment(){return t.ExecutionEnvironment.Bare},get sessionId(){return n},get isHeadless(){return'undefined'==typeof navigator||/\bHeadlessChrome\//.test(navigator.userAgent)},get expoVersion(){return this.manifest.sdkVersion||null},get linkingUri(){return'undefined'!=typeof location?location.origin:''},get expoRuntimeVersion(){return this.expoVersion},get deviceName(){return o()},get systemFonts(){return[]},get statusBarHeight(){return 0},get deviceYearClass(){return null},get manifest(){return"{\"name\":\"CamStack\",\"slug\":\"camstack\",\"version\":\"1.0.177\",\"sdkVersion\":\"57.0.0\",\"platforms\":[\"ios\",\"android\",\"web\"],\"runtimeVersion\":\"1.0.171\",\"orientation\":\"default\",\"icon\":\"./assets/images/icon.png\",\"scheme\":\"camstack\",\"userInterfaceStyle\":\"automatic\",\"web\":{\"output\":\"single\",\"favicon\":\"./assets/images/favicon.png\",\"shortName\":\"CamStack\",\"backgroundColor\":\"#e67e22\",\"name\":\"CamStack\"},\"experiments\":{\"typedRoutes\":true,\"reactCompiler\":true,\"baseUrl\":\"/viewer/camstack\"},\"extra\":{\"router\":{\"root\":\"app\"},\"eas\":{\"projectId\":\"8fb06894-6375-41ff-959f-1a22a03dbd73\"}},\"updates\":{\"url\":\"https://u.expo.dev/8fb06894-6375-41ff-959f-1a22a03dbd73\"},\"owner\":\"zentik-notifier\"}"},get manifest2(){return null},get experienceUrl(){return'undefined'!=typeof location?location.origin:''},get debugMode(){return!1},getWebViewUserAgentAsync:async()=>'undefined'!=typeof navigator?navigator.userAgent:null}},327,[326]);
409
409
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SITEMAP_ROUTE_NAME=e.NOT_FOUND_ROUTE_NAME=e.INTERNAL_SLOT_NAME=void 0,e.INTERNAL_SLOT_NAME='__root',e.NOT_FOUND_ROUTE_NAME='+not-found',e.SITEMAP_ROUTE_NAME='_sitemap'},328,[]);
410
410
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.useCurrentRouteInfo=function(){const n=(0,u.useStateForPath)();return(0,t.useMemo)(()=>n?(0,o.getCachedRouteInfo)(n):void 0,[n])};const t=r(d[0]),o=r(d[1]),u=r(d[2])},329,[17,330,338]);
411
411
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.routeInfoSubscribe=e.routeInfoSubscribers=void 0,e.getCachedRouteInfo=function(s){let u=o.get(s);if(!u){u=(0,t.getRouteInfoFromState)(s);const f=JSON.stringify(u),c=n.get(f);c?u=c:n.set(f,u),o.set(s,u)}return u},e.setCachedRouteInfo=function(t,s){o.set(t,s),n.set(JSON.stringify(s),s)};const t=r(d[0]),o=new WeakMap,n=new Map;e.routeInfoSubscribers=new Set;e.routeInfoSubscribe=t=>(e.routeInfoSubscribers.add(t),()=>{e.routeInfoSubscribers.delete(t)})},330,[331]);
@@ -15542,7 +15542,7 @@ __d(function(g,r,i,a,m,e,d){'use strict';const t=r(d[0]),{hasOwnProperty:n}=Obje
15542
15542
  __d(function(g,r,i,a,m,e,d){'use strict';m.exports=t=>{if('[object Object]'!==Object.prototype.toString.call(t))return!1;const o=Object.getPrototypeOf(t);return null===o||o===Object.prototype}},3137,[]);
15543
15543
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useAsyncStorage=function(e){return{getItem:(...t)=>u.default.getItem(e,...t),setItem:(...t)=>u.default.setItem(e,...t),mergeItem:(...t)=>u.default.mergeItem(e,...t),removeItem:(...t)=>u.default.removeItem(e,...t)}};var e,t=r(d[0]),u=(e=t)&&e.__esModule?e:{default:e}},3138,[3134]);
15544
15544
  __d(function(_g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"DETECTION_MACRO_CLASSES",{enumerable:!0,get:function(){return o}}),Object.defineProperty(_e,"GRID_HIGHLIGHT_DEFAULTS",{enumerable:!0,get:function(){return u}}),_e.withHighlightDefaults=function(e){return Object.assign({},u,e??{})},Object.defineProperty(_e,"GRIDS_STORAGE_KEY",{enumerable:!0,get:function(){return c}}),Object.defineProperty(_e,"GRID_OPTION_DEFAULTS",{enumerable:!0,get:function(){return f}}),_e.resolveGridOptions=function(e,t=f){return{showName:e?.showName??t.showName,quality:e?.quality??t.quality,layout:e?.layout??t.layout}},_e.visibleGridCameraIds=function(e){if(!e.hiddenCameraIds||0===e.hiddenCameraIds.length)return e.cameraIds;const t=new Set(e.hiddenCameraIds);return e.cameraIds.filter(e=>!t.has(e))},_e.createGridEntry=l,_e.renameGridEntry=g,_e.setGridCamerasEntry=y,_e.addGridCameraEntry=h,_e.removeGridCameraEntry=I,_e.setGridCameraHiddenEntry=p,_e.reorderGridCamerasEntry=b,_e.setGridOptionsEntry=O,_e.setGridHighlightEntry=C,_e.setGridAudioInitialEntry=S,_e.setAllGridAudioEntry=j,_e.deleteGridEntry=w,_e.parseGrids=E,_e.isGridLayout=N,_e.generateGridId=D,Object.defineProperty(_e,"useGridStore",{enumerable:!0,get:function(){return P}});var e,t=r(d[0]),n=r(d[1]),s=(e=n)&&e.__esModule?e:{default:e};const o=['person','vehicle','animal','face','plate'],u={motion:!0,audio:'off',audioDb:-30,audioHoldSec:3,detection:!1,detectionHoldSec:3,detectionClasses:[],clusterLabel:'icon'};const c='@camstack/v2/grids',f={showName:!1,quality:'auto',layout:'auto'};function l(e,t,n,s){return[...e,{id:n,name:t.trim()||s,cameraIds:[]}]}function g(e,t,n){const s=n.trim();return s?e.map(e=>e.id===t?Object.assign({},e,{name:s}):e):e}function y(e,t,n){const s=Array.from(new Set(n)),o=new Set(s);return e.map(e=>e.id===t?Object.assign({},e,{cameraIds:s,hiddenCameraIds:G(e.hiddenCameraIds,o)}):e)}function h(e,t,n){return e.map(e=>e.id!==t||e.cameraIds.includes(n)?e:Object.assign({},e,{cameraIds:[...e.cameraIds,n]}))}function I(e,t,n){return e.map(e=>{if(e.id!==t||!e.cameraIds.includes(n))return e;const s=e.cameraIds.filter(e=>e!==n);return Object.assign({},e,{cameraIds:s,hiddenCameraIds:G(e.hiddenCameraIds,new Set(s))})})}function p(e,t,n,s){return e.map(e=>{if(e.id!==t)return e;const o=new Set(e.hiddenCameraIds??[]);if(s){if(!e.cameraIds.includes(n)||o.has(n))return e;o.add(n)}else{if(!o.has(n))return e;o.delete(n)}return Object.assign({},e,{hiddenCameraIds:e.cameraIds.filter(e=>o.has(e))})})}function G(e,t){if(!e||0===e.length)return;const n=e.filter(e=>t.has(e));return n.length>0?n:void 0}function b(e,t,n){return e.map(e=>{if(e.id!==t)return e;const s=new Set(e.cameraIds),o=new Set,u=[];for(const e of n)s.has(e)&&!o.has(e)&&(u.push(e),o.add(e));for(const t of e.cameraIds)o.has(t)||u.push(t);return Object.assign({},e,{cameraIds:u})})}function O(e,t,n){return e.map(e=>e.id===t?Object.assign({},e,{options:Object.assign({},e.options,n)}):e)}function C(e,t,n){return e.map(e=>e.id===t?Object.assign({},e,{highlight:n}):e)}function S(e,t,n,s){return e.map(e=>{if(e.id!==t)return e;const o=new Set(e.audioOnIds??[]);s?o.add(n):o.delete(n);const u=[...o];return Object.assign({},e,{audioOnIds:u.length>0?u:void 0})})}function j(e,t,n,s){return e.map(e=>{if(e.id!==t)return e;const o=s?[...new Set(n)]:[];return Object.assign({},e,{audioOnIds:o.length>0?o:void 0})})}function w(e,t){return e.filter(e=>e.id!==t)}function E(e){if(!e)return[];try{const t=JSON.parse(e);return Array.isArray(t)?t.filter(v):[]}catch{return[]}}function v(e){if('object'!=typeof e||null===e)return!1;const t=e;return'string'==typeof t.id&&'string'==typeof t.name&&Array.isArray(t.cameraIds)&&t.cameraIds.every(e=>'number'==typeof e)&&A(t.hiddenCameraIds)&&A(t.audioOnIds)&&_(t.options)}function A(e){return void 0===e||Array.isArray(e)&&e.every(e=>'number'==typeof e)}function _(e){if(void 0===e)return!0;if('object'!=typeof e||null===e)return!1;const t=e,n=void 0===t.showName||'boolean'==typeof t.showName,s=void 0===t.quality||'string'==typeof t.quality&&['auto','high','medium','low'].includes(t.quality),o=N(t.layout);return n&&s&&o}function N(e){return void 0===e||'auto'===e||'number'==typeof e&&Number.isFinite(e)&&e>=1}let H=0;function D(){return H=(H+1)%1e6,`grid_${Date.now().toString(36)}_${H.toString(36)}_${Math.random().toString(36).slice(2,8)}`}function q(e){s.default.setItem(c,JSON.stringify(e)).catch(e=>{console.error('[grid-store] persist failed',e)})}const P=(0,t.create)((e,t)=>({grids:[],hydrated:!1,hydrate:async()=>{if(!t().hydrated)try{const t=await s.default.getItem(c);e({grids:E(t),hydrated:!0})}catch(t){console.error('[grid-store] hydrate failed',t),e({hydrated:!0})}},createGrid:(n,s)=>{const o=D(),u=l(t().grids,n,o,s);return e({grids:u}),q(u),o},renameGrid:(n,s)=>{const o=g(t().grids,n,s);e({grids:o}),q(o)},setGridCameras:(n,s)=>{const o=y(t().grids,n,s);e({grids:o}),q(o)},addGridCamera:(n,s)=>{const o=h(t().grids,n,s);e({grids:o}),q(o)},removeGridCamera:(n,s)=>{const o=I(t().grids,n,s);e({grids:o}),q(o)},reorderGridCameras:(n,s)=>{const o=b(t().grids,n,s);e({grids:o}),q(o)},setGridCameraHidden:(n,s,o)=>{const u=p(t().grids,n,s,o);e({grids:u}),q(u)},setGridOptions:(n,s)=>{const o=O(t().grids,n,s);e({grids:o}),q(o)},setGridHighlight:(n,s)=>{const o=C(t().grids,n,s);e({grids:o}),q(o)},setGridAudioInitial:(n,s,o)=>{const u=S(t().grids,n,s,o);e({grids:u}),q(u)},setAllGridAudio:(n,s,o)=>{const u=j(t().grids,n,s,o);e({grids:u}),q(u)},deleteGrid:n=>{const s=w(t().grids,n);e({grids:s}),q(s)},importGrids:n=>{if(0===n.length)return;const s=n.map(e=>Object.assign({},e,{id:D()})),o=[...t().grids,...s];e({grids:o}),q(o)}}))},3139,[2706,3133]);
15545
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"COLUMNS_MIN",{enumerable:!0,get:function(){return c}}),Object.defineProperty(_e,"COLUMNS_MAX",{enumerable:!0,get:function(){return u}}),Object.defineProperty(_e,"REEL_THUMB_SIZES",{enumerable:!0,get:function(){return h}}),Object.defineProperty(_e,"REEL_THUMB_SIZE_PX",{enumerable:!0,get:function(){return b}}),_e.reelThumbSizePx=function(e){return b[e]??b.small},Object.defineProperty(_e,"GRID_DENSITIES",{enumerable:!0,get:function(){return f}}),Object.defineProperty(_e,"TILE_LABEL_STYLES",{enumerable:!0,get:function(){return p}}),Object.defineProperty(_e,"GRID_DENSITY_TILE_PX",{enumerable:!0,get:function(){return O}}),_e.densityColumns=function(e,t){if(!Number.isFinite(e)||e<=0)return 1;const n=O[t]??O.medium;return Math.max(1,Math.floor(e/n))},Object.defineProperty(_e,"MOTION_HOLD_SECONDS",{enumerable:!0,get:function(){return S}}),Object.defineProperty(_e,"MOTION_HOLD_MIN",{enumerable:!0,get:function(){return y}}),Object.defineProperty(_e,"MOTION_HOLD_MAX",{enumerable:!0,get:function(){return j}}),_e.clampMotionHoldSec=I,Object.defineProperty(_e,"DEFAULT_COLUMNS",{enumerable:!0,get:function(){return P}}),_e.clampColumns=function(e){if(!Number.isFinite(e))return P;const t=Math.floor(e);return Math.min(u,Math.max(c,t))},Object.defineProperty(_e,"DEFAULTS",{enumerable:!0,get:function(){return E}}),Object.defineProperty(_e,"SETTINGS_STORAGE_KEY",{enumerable:!0,get:function(){return M}}),_e.setGridDefaultEntry=_,_e.setStreamDefaultEntry=C,_e.setAdvancedEntry=T,Object.defineProperty(_e,"THICKNESS_MIN",{enumerable:!0,get:function(){return N}}),Object.defineProperty(_e,"THICKNESS_MAX",{enumerable:!0,get:function(){return L}}),_e.clampThickness=w,_e.setHighlightAppearanceEntry=v,Object.defineProperty(_e,"CARD_WIDTH_FRACTION_MIN",{enumerable:!0,get:function(){return D}}),Object.defineProperty(_e,"CARD_WIDTH_FRACTION_MAX",{enumerable:!0,get:function(){return F}}),_e.clampCardWidthFraction=H,_e.clampIndicatorPositionPct=z,_e.clampMinImportance=A,Object.defineProperty(_e,"MIN_IMPORTANCE_CHOICES",{enumerable:!0,get:function(){return x}}),_e.setClusterEntry=R,Object.defineProperty(_e,"TIMELINE_DENSITY_PRESETS",{enumerable:!0,get:function(){return W}}),Object.defineProperty(_e,"TIMELINE_DENSITY_PRESET_ORDER",{enumerable:!0,get:function(){return k}}),_e.matchTimelineDensityPreset=function(e){for(const t of k){const n=W[t];if(Math.abs(e.gapPercent-n.gapPercent)<U&&Math.abs(e.cardWidthFraction-n.cardWidthFraction)<U)return t}return null},_e.setEventsEntry=G,_e.setHapticsEntry=X,_e.resetSettingsEntry=Y,_e.isStreamQuality=function(e){return'string'==typeof e&&l.includes(e)},_e.isReelThumbSize=J,_e.isGridDensity=Z,_e.isTileLabelStyle=Q,_e.parseSettings=$,Object.defineProperty(_e,"useSettingsStore",{enumerable:!0,get:function(){return V}});var e,t=r(d[0]),n=r(d[1]),s=(e=n)&&e.__esModule?e:{default:e},o=r(d[2]);const c=1,u=6,l=['auto','high','mid','low'],h=['small','medium','large'],b=Object.freeze({small:80,medium:106,large:132});const f=['compact','medium','large'],p=['icon','text'],O=Object.freeze({compact:104,medium:148,large:200});const S=[0,2,3,5,8],y=0,j=30;function I(e){return Number.isFinite(e)?Math.min(j,Math.max(y,Math.round(e))):E.grid.motionHoldSec}const P=2;const E=Object.freeze({grid:Object.freeze({motionHoldSec:3}),stream:Object.freeze({audioOnOpen:!1,pinchExpandsHeight:!1}),advanced:Object.freeze({debugMode:!1}),highlight:Object.freeze({motionColor:'#DC2626',audioColor:'#3B82F6',detectionColor:'#22C55E',thickness:3}),clusters:Object.freeze({gapPercent:10,cardWidthFraction:.6,indicatorPositionPct:20,showImportance:!0,showClass:!0,minImportance:0}),events:Object.freeze({reelThumbSize:'small',gridDensity:'medium',reelShowLabels:!0,reelLabelStyle:'text',reelShowImportance:!0,tileShowLabels:!0,tileShowImportance:!0,tileShowCameraName:!0,tileLabelStyle:'text'}),haptics:Object.freeze(Object.assign({},o.HAPTICS_DEFAULTS))}),M='@camstack/v2/settings';function _(e,t,n){const s='motionHoldSec'===t?I(n):n;return Object.assign({},e,{grid:Object.assign({},e.grid,{[t]:s})})}function C(e,t,n){return Object.assign({},e,{stream:Object.assign({},e.stream,{[t]:n})})}function T(e,t,n){return Object.assign({},e,{advanced:Object.assign({},e.advanced,{[t]:n})})}const N=1,L=8;function w(e){return Number.isFinite(e)?Math.min(L,Math.max(N,Math.floor(e))):E.highlight.thickness}function v(e,t,n){const s='thickness'===t?w(n):n;return Object.assign({},e,{highlight:Object.assign({},e.highlight,{[t]:s})})}const D=.4,F=.9;function H(e){if(!Number.isFinite(e))return E.clusters.cardWidthFraction;const t=Math.min(F,Math.max(D,e));return Math.round(100*t)/100}function z(e){return Number.isFinite(e)?Math.min(100,Math.max(0,Math.round(e))):E.clusters.indicatorPositionPct}function A(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}const x=[0,.1,.25,.5,.75];function R(e,t,n){const s='indicatorPositionPct'===t?z(n):'minImportance'===t?A(n):'cardWidthFraction'===t?H(n):n;return Object.assign({},e,{clusters:Object.assign({},e.clusters,{[t]:s})})}const W=Object.freeze({compact:Object.freeze({gapPercent:2,cardWidthFraction:.48}),medium:Object.freeze({gapPercent:10,cardWidthFraction:.6}),wide:Object.freeze({gapPercent:22,cardWidthFraction:.72})}),k=['compact','medium','wide'],U=.001;function G(e,t,n){return Object.assign({},e,{events:Object.assign({},e.events,{[t]:n})})}function X(e,t,n){return Object.assign({},e,{haptics:Object.assign({},e.haptics,{[t]:n})})}function Y(){return{grid:Object.assign({},E.grid),stream:Object.assign({},E.stream),advanced:Object.assign({},E.advanced),highlight:Object.assign({},E.highlight),clusters:Object.assign({},E.clusters),events:Object.assign({},E.events),haptics:Object.assign({},E.haptics)}}function B(e,t){return'boolean'==typeof e?e:t}function K(e,t){return'number'==typeof e&&Number.isFinite(e)?e:t}function J(e){return'string'==typeof e&&h.includes(e)}function Z(e){return'string'==typeof e&&f.includes(e)}function Q(e){return'string'==typeof e&&p.includes(e)}function $(e){if(!e)return Y();let t;try{const n=JSON.parse(e);if('object'!=typeof n||null===n)return Y();t=n}catch{return Y()}const n=t.grid??{},s=t.stream??{},o=t.advanced??{},c=t.highlight??{},u=t.clusters??{},l=t.events??{},h=t.haptics??{},b=(e,t)=>'string'==typeof e&&/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)?e:t;return{grid:{motionHoldSec:I(K(n.motionHoldSec,E.grid.motionHoldSec))},stream:{audioOnOpen:B(s.audioOnOpen,E.stream.audioOnOpen),pinchExpandsHeight:B(s.pinchExpandsHeight,E.stream.pinchExpandsHeight)},advanced:{debugMode:B(o.debugMode,E.advanced.debugMode)},highlight:{motionColor:b(c.motionColor,E.highlight.motionColor),audioColor:b(c.audioColor,E.highlight.audioColor),detectionColor:b(c.detectionColor,E.highlight.detectionColor),thickness:w(K(c.thickness,E.highlight.thickness))},clusters:{gapPercent:K(u.gapPercent,E.clusters.gapPercent),cardWidthFraction:H(K(u.cardWidthFraction,E.clusters.cardWidthFraction)),indicatorPositionPct:z(K(u.indicatorPositionPct,E.clusters.indicatorPositionPct)),showImportance:B(u.showImportance,E.clusters.showImportance),showClass:B(u.showClass,E.clusters.showClass),minImportance:A(K(u.minImportance,E.clusters.minImportance))},events:{reelThumbSize:J(l.reelThumbSize)?l.reelThumbSize:E.events.reelThumbSize,gridDensity:Z(l.gridDensity)?l.gridDensity:E.events.gridDensity,reelShowLabels:B(l.reelShowLabels,E.events.reelShowLabels),reelLabelStyle:Q(l.reelLabelStyle)?l.reelLabelStyle:E.events.reelLabelStyle,reelShowImportance:B(l.reelShowImportance,E.events.reelShowImportance),tileShowLabels:B(l.tileShowLabels,E.events.tileShowLabels),tileShowImportance:B(l.tileShowImportance,E.events.tileShowImportance),tileShowCameraName:B(l.tileShowCameraName,E.events.tileShowCameraName),tileLabelStyle:Q(l.tileLabelStyle)?l.tileLabelStyle:E.events.tileLabelStyle},haptics:{enabled:B(h.enabled,E.haptics.enabled),motion:B(h.motion,E.haptics.motion),detection:B(h.detection,E.haptics.detection),person:B(h.person,E.haptics.person)}}}function q(e){s.default.setItem(M,JSON.stringify(e)).catch(e=>{console.error('[settings-store] persist failed',e)})}const V=(0,t.create)((e,t)=>({settings:Y(),hydrated:!1,hydrate:async()=>{if(!t().hydrated)try{const t=await s.default.getItem(M);e({settings:$(t),hydrated:!0})}catch(t){console.error('[settings-store] hydrate failed',t),e({hydrated:!0})}},setGridDefault:(n,s)=>{const o=_(t().settings,n,s);e({settings:o}),q(o)},setStreamDefault:(n,s)=>{const o=C(t().settings,n,s);e({settings:o}),q(o)},setAdvanced:(n,s)=>{const o=T(t().settings,n,s);e({settings:o}),q(o)},setHighlightAppearance:(n,s)=>{const o=v(t().settings,n,s);e({settings:o}),q(o)},setCluster:(n,s)=>{const o=R(t().settings,n,s);e({settings:o}),q(o)},setEvents:(n,s)=>{const o=G(t().settings,n,s);e({settings:o}),q(o)},setHaptics:(n,s)=>{const o=X(t().settings,n,s);e({settings:o}),q(o)},resetSettings:()=>{const t=Y();e({settings:t}),q(t)}}))},3140,[2706,3133,3141]);
15545
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"COLUMNS_MIN",{enumerable:!0,get:function(){return o}}),Object.defineProperty(_e,"COLUMNS_MAX",{enumerable:!0,get:function(){return l}}),Object.defineProperty(_e,"REEL_THUMB_SIZES",{enumerable:!0,get:function(){return h}}),Object.defineProperty(_e,"REEL_THUMB_SIZE_PX",{enumerable:!0,get:function(){return b}}),_e.reelThumbSizePx=function(e){return b[e]??b.small},Object.defineProperty(_e,"GRID_DENSITIES",{enumerable:!0,get:function(){return f}}),Object.defineProperty(_e,"TILE_LABEL_STYLES",{enumerable:!0,get:function(){return p}}),Object.defineProperty(_e,"GRID_DENSITY_TILE_PX",{enumerable:!0,get:function(){return O}}),_e.densityColumns=function(e,t){if(!Number.isFinite(e)||e<=0)return 1;const n=O[t]??O.medium;return Math.max(1,Math.floor(e/n))},Object.defineProperty(_e,"MOTION_HOLD_SECONDS",{enumerable:!0,get:function(){return S}}),Object.defineProperty(_e,"MOTION_HOLD_MIN",{enumerable:!0,get:function(){return y}}),Object.defineProperty(_e,"MOTION_HOLD_MAX",{enumerable:!0,get:function(){return j}}),_e.clampMotionHoldSec=I,Object.defineProperty(_e,"DEFAULT_COLUMNS",{enumerable:!0,get:function(){return E}}),_e.clampColumns=function(e){if(!Number.isFinite(e))return E;const t=Math.floor(e);return Math.min(l,Math.max(o,t))},Object.defineProperty(_e,"DEFAULTS",{enumerable:!0,get:function(){return M}}),Object.defineProperty(_e,"SETTINGS_STORAGE_KEY",{enumerable:!0,get:function(){return _}}),_e.setGridDefaultEntry=C,_e.setStreamDefaultEntry=T,_e.setAdvancedEntry=P,Object.defineProperty(_e,"THICKNESS_MIN",{enumerable:!0,get:function(){return L}}),Object.defineProperty(_e,"THICKNESS_MAX",{enumerable:!0,get:function(){return N}}),_e.clampThickness=w,_e.setHighlightAppearanceEntry=v,Object.defineProperty(_e,"CARD_WIDTH_FRACTION_MIN",{enumerable:!0,get:function(){return D}}),Object.defineProperty(_e,"CARD_WIDTH_FRACTION_MAX",{enumerable:!0,get:function(){return F}}),_e.clampCardWidthFraction=H,_e.clampMinImportance=z,Object.defineProperty(_e,"MIN_IMPORTANCE_CHOICES",{enumerable:!0,get:function(){return A}}),_e.setClusterEntry=R,Object.defineProperty(_e,"TIMELINE_DENSITY_PRESETS",{enumerable:!0,get:function(){return x}}),Object.defineProperty(_e,"TIMELINE_DENSITY_PRESET_ORDER",{enumerable:!0,get:function(){return W}}),_e.matchTimelineDensityPreset=function(e){for(const t of W){const n=x[t];if(Math.abs(e.gapPercent-n.gapPercent)<k&&Math.abs(e.cardWidthFraction-n.cardWidthFraction)<k)return t}return null},_e.setEventsEntry=U,_e.setHapticsEntry=G,_e.resetSettingsEntry=X,_e.isStreamQuality=function(e){return'string'==typeof e&&u.includes(e)},_e.isReelThumbSize=K,_e.isGridDensity=J,_e.isTileLabelStyle=Z,_e.parseSettings=Q,Object.defineProperty(_e,"useSettingsStore",{enumerable:!0,get:function(){return q}});var e,t=r(d[0]),n=r(d[1]),s=(e=n)&&e.__esModule?e:{default:e},c=r(d[2]);const o=1,l=6,u=['auto','high','mid','low'],h=['small','medium','large'],b=Object.freeze({small:80,medium:106,large:132});const f=['compact','medium','large'],p=['icon','text'],O=Object.freeze({compact:104,medium:148,large:200});const S=[0,2,3,5,8],y=0,j=30;function I(e){return Number.isFinite(e)?Math.min(j,Math.max(y,Math.round(e))):M.grid.motionHoldSec}const E=2;const M=Object.freeze({grid:Object.freeze({motionHoldSec:3}),stream:Object.freeze({audioOnOpen:!1,pinchExpandsHeight:!1}),advanced:Object.freeze({debugMode:!1}),highlight:Object.freeze({motionColor:'#DC2626',audioColor:'#3B82F6',detectionColor:'#22C55E',thickness:3}),clusters:Object.freeze({gapPercent:10,cardWidthFraction:.6,showImportance:!0,showClass:!0,minImportance:0}),events:Object.freeze({reelThumbSize:'small',gridDensity:'medium',reelShowLabels:!0,reelLabelStyle:'text',reelShowImportance:!0,tileShowLabels:!0,tileShowImportance:!0,tileShowCameraName:!0,tileLabelStyle:'text'}),haptics:Object.freeze(Object.assign({},c.HAPTICS_DEFAULTS))}),_='@camstack/v2/settings';function C(e,t,n){const s='motionHoldSec'===t?I(n):n;return Object.assign({},e,{grid:Object.assign({},e.grid,{[t]:s})})}function T(e,t,n){return Object.assign({},e,{stream:Object.assign({},e.stream,{[t]:n})})}function P(e,t,n){return Object.assign({},e,{advanced:Object.assign({},e.advanced,{[t]:n})})}const L=1,N=8;function w(e){return Number.isFinite(e)?Math.min(N,Math.max(L,Math.floor(e))):M.highlight.thickness}function v(e,t,n){const s='thickness'===t?w(n):n;return Object.assign({},e,{highlight:Object.assign({},e.highlight,{[t]:s})})}const D=.4,F=.9;function H(e){if(!Number.isFinite(e))return M.clusters.cardWidthFraction;const t=Math.min(F,Math.max(D,e));return Math.round(100*t)/100}function z(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}const A=[0,.1,.25,.5,.75];function R(e,t,n){const s='minImportance'===t?z(n):'cardWidthFraction'===t?H(n):n;return Object.assign({},e,{clusters:Object.assign({},e.clusters,{[t]:s})})}const x=Object.freeze({compact:Object.freeze({gapPercent:2,cardWidthFraction:.48}),medium:Object.freeze({gapPercent:10,cardWidthFraction:.6}),wide:Object.freeze({gapPercent:22,cardWidthFraction:.72})}),W=['compact','medium','wide'],k=.001;function U(e,t,n){return Object.assign({},e,{events:Object.assign({},e.events,{[t]:n})})}function G(e,t,n){return Object.assign({},e,{haptics:Object.assign({},e.haptics,{[t]:n})})}function X(){return{grid:Object.assign({},M.grid),stream:Object.assign({},M.stream),advanced:Object.assign({},M.advanced),highlight:Object.assign({},M.highlight),clusters:Object.assign({},M.clusters),events:Object.assign({},M.events),haptics:Object.assign({},M.haptics)}}function Y(e,t){return'boolean'==typeof e?e:t}function B(e,t){return'number'==typeof e&&Number.isFinite(e)?e:t}function K(e){return'string'==typeof e&&h.includes(e)}function J(e){return'string'==typeof e&&f.includes(e)}function Z(e){return'string'==typeof e&&p.includes(e)}function Q(e){if(!e)return X();let t;try{const n=JSON.parse(e);if('object'!=typeof n||null===n)return X();t=n}catch{return X()}const n=t.grid??{},s=t.stream??{},c=t.advanced??{},o=t.highlight??{},l=t.clusters??{},u=t.events??{},h=t.haptics??{},b=(e,t)=>'string'==typeof e&&/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)?e:t;return{grid:{motionHoldSec:I(B(n.motionHoldSec,M.grid.motionHoldSec))},stream:{audioOnOpen:Y(s.audioOnOpen,M.stream.audioOnOpen),pinchExpandsHeight:Y(s.pinchExpandsHeight,M.stream.pinchExpandsHeight)},advanced:{debugMode:Y(c.debugMode,M.advanced.debugMode)},highlight:{motionColor:b(o.motionColor,M.highlight.motionColor),audioColor:b(o.audioColor,M.highlight.audioColor),detectionColor:b(o.detectionColor,M.highlight.detectionColor),thickness:w(B(o.thickness,M.highlight.thickness))},clusters:{gapPercent:B(l.gapPercent,M.clusters.gapPercent),cardWidthFraction:H(B(l.cardWidthFraction,M.clusters.cardWidthFraction)),showImportance:Y(l.showImportance,M.clusters.showImportance),showClass:Y(l.showClass,M.clusters.showClass),minImportance:z(B(l.minImportance,M.clusters.minImportance))},events:{reelThumbSize:K(u.reelThumbSize)?u.reelThumbSize:M.events.reelThumbSize,gridDensity:J(u.gridDensity)?u.gridDensity:M.events.gridDensity,reelShowLabels:Y(u.reelShowLabels,M.events.reelShowLabels),reelLabelStyle:Z(u.reelLabelStyle)?u.reelLabelStyle:M.events.reelLabelStyle,reelShowImportance:Y(u.reelShowImportance,M.events.reelShowImportance),tileShowLabels:Y(u.tileShowLabels,M.events.tileShowLabels),tileShowImportance:Y(u.tileShowImportance,M.events.tileShowImportance),tileShowCameraName:Y(u.tileShowCameraName,M.events.tileShowCameraName),tileLabelStyle:Z(u.tileLabelStyle)?u.tileLabelStyle:M.events.tileLabelStyle},haptics:{enabled:Y(h.enabled,M.haptics.enabled),motion:Y(h.motion,M.haptics.motion),detection:Y(h.detection,M.haptics.detection),person:Y(h.person,M.haptics.person)}}}function $(e){s.default.setItem(_,JSON.stringify(e)).catch(e=>{console.error('[settings-store] persist failed',e)})}const q=(0,t.create)((e,t)=>({settings:X(),hydrated:!1,hydrate:async()=>{if(!t().hydrated)try{const t=await s.default.getItem(_);e({settings:Q(t),hydrated:!0})}catch(t){console.error('[settings-store] hydrate failed',t),e({hydrated:!0})}},setGridDefault:(n,s)=>{const c=C(t().settings,n,s);e({settings:c}),$(c)},setStreamDefault:(n,s)=>{const c=T(t().settings,n,s);e({settings:c}),$(c)},setAdvanced:(n,s)=>{const c=P(t().settings,n,s);e({settings:c}),$(c)},setHighlightAppearance:(n,s)=>{const c=v(t().settings,n,s);e({settings:c}),$(c)},setCluster:(n,s)=>{const c=R(t().settings,n,s);e({settings:c}),$(c)},setEvents:(n,s)=>{const c=U(t().settings,n,s);e({settings:c}),$(c)},setHaptics:(n,s)=>{const c=G(t().settings,n,s);e({settings:c}),$(c)},resetSettings:()=>{const t=X();e({settings:t}),$(t)}}))},3140,[2706,3133,3141]);
15546
15546
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"HAPTIC_EVENT_KINDS",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"HAPTICS_DEFAULTS",{enumerable:!0,get:function(){return t}}),e.hapticKindForEvent=o,e.isHapticEventEnabled=c,Object.defineProperty(e,"HAPTIC_MIN_INTERVAL_MS",{enumerable:!0,get:function(){return u}}),e.canFireHaptic=s,e.isForegroundActive=function(n){return'active'===n},e.detectionEventKind=function(n,t){return t||n.some(n=>'person'===n.toLowerCase())?'person':'detection'},e.resolveHaptic=function(n,t,f,p,l=u){return c(n,t)&&s(f,p,l)?o(t):null};const n=['motion','detection','person'],t={enabled:!1,motion:!0,detection:!0,person:!0};function o(n){switch(n){case'motion':return'selection';case'detection':return'impact-light';case'person':return'notification'}}function c(n,t){if(!n.enabled)return!1;switch(t){case'motion':return n.motion;case'detection':return n.detection;case'person':return n.person}}const u=2e3;function s(n,t,o=u){return n<=0||t-n>=o}},3141,[]);
15547
15547
  __d(function(g,_r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ALL_BAR_KINDS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"HEATMAP_BINS",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"ZOOM_LEVELS",{enumerable:!0,get:function(){return i}}),Object.defineProperty(e,"DEFAULT_ZOOM_INDEX",{enumerable:!0,get:function(){return r}}),e.clampZoomIndex=u,e.buildHeatmapBins=function(t){const o=new Date(t),i=new Date(o);i.setHours(0,0,0,0);const r=(t-i.getTime())/864e5,u=Math.min(47,Math.floor(r*n));return Array.from({length:n},(t,n)=>{const o=n<=u?s[n]:void 0;return{motion:o?o.motion:0,audio:o?o.audio:0,recorded:n>=c&&n<=u}})},e.heatmapCursorFraction=function(t){const n=new Date(t);n.setHours(0,0,0,0);return Math.min(1,Math.max(0,(t-n.getTime())/864e5))},e.snapTopTickMs=M,e.rowsPerSpan=h,e.buildTimelineRowsAtZoom=b,e.buildTimelineRowsPage=function(t,n,o,r=h(n)){const{rowMinutes:s}=i[u(n)],c=6e4*s,f=M(t,n),l=Math.max(0,Math.floor(o)),b=Math.max(1,Math.floor(r)),w=l*b;return Array.from({length:b},(t,n)=>p(f-(w+n)*c))},e.buildTimelineRows=function(t){return b(t,r)},e.isFilterAll=w,e.filterTimelineRows=function(t,n){return w(n)?t:t.map(t=>Object.assign({},t,{bars:t.bars.filter(t=>n.has(t.kind))}))},e.filterHeatmapBins=function(t,n){if(w(n))return t;const o=n.has('motion'),i=n.has('audio');return t.map(t=>Object.assign({},t,{motion:o?t.motion:0,audio:i?t.audio:0}))},Object.defineProperty(e,"TIMELINE_ROW_HEIGHT",{enumerable:!0,get:function(){return H}});const t=['motion','audio'],n=48,o=60,i=[{rowMinutes:30,spanHours:12},{rowMinutes:15,spanHours:9},{rowMinutes:5,spanHours:6},{rowMinutes:1,spanHours:2}],r=2;function u(t){return t<0?0:t>i.length-1?i.length-1:Math.floor(t)}const s={14:{motion:.35,audio:0},16:{motion:.7,audio:.2},17:{motion:.9,audio:.5},24:{motion:.45,audio:0},30:{motion:.6,audio:.15},36:{motion:.85,audio:.7},37:{motion:1,audio:.9},38:{motion:.75,audio:.4},39:{motion:.55,audio:.25},40:{motion:.3,audio:0}},c=12;function f(t){return String(t).padStart(2,'0')}function l(t){const n=2654435761*t%1e3/1e3;if(n<.45)return[];const o=[{offsetFrac:.05+.4*n,widthFrac:.18+.25*n,intensity:.4+.6*n,kind:'motion'}];return n>.78&&o.push({offsetFrac:.55+.8*(n-.78),widthFrac:.1+.12*n,intensity:.5+2*(n-.78),kind:'audio'}),o}function M(t,n){const{rowMinutes:o}=i[u(n)],r=new Date(t),s=Math.floor(r.getMinutes()/o)*o;return r.setMinutes(s,0,0),r.getTime()}function h(t){const{rowMinutes:n,spanHours:r}=i[u(t)];return Math.round(r*o/n)}function p(t){const n=new Date(t),i=n.getHours(),r=n.getMinutes(),u=i*o+r;return{id:`row-${t}`,tickMs:t,hourLabel:`${f(i)}:${f(r)}`,isFullHour:0===r,bars:l(u)}}function b(t,n){const{rowMinutes:o}=i[u(n)],r=M(t,n),s=6e4*o,c=h(n);return Array.from({length:c},(t,n)=>p(r-n*s))}function w(n){return 0===n.size||n.size>=t.length}const H=34},3142,[]);
15548
15548
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSnapshot=function(o,y){const S=(0,t.c)(23),{controller:b,state:v}=(0,s.useConnection)(),{token:p}=(0,u.useServer)(),_=y&&"connected"===v,[I,q]=(0,n.useState)(h);let C,E,M;S[0]!==_?(C=()=>{if(!_)return;q(f());const t=setInterval(()=>q(f()),l);return()=>clearInterval(t)},E=[_],S[0]=_,S[1]=C,S[2]=E):(C=S[1],E=S[2]);if((0,n.useEffect)(C,E),S[3]!==I||S[4]!==_||S[5]!==b||S[6]!==o){const t=_?b.getSystem()?.serverUrl??null:null;M=null!==t&&o>0?(0,c.buildSnapshotMediaUrl)(t,o,{bucket:I}):null,S[3]=I,S[4]=_,S[5]=b,S[6]=o,S[7]=M}else M=S[7];const U=M,[$,j]=(0,n.useState)(!1),[k,w]=(0,n.useState)(!1),D=(0,n.useRef)(!1);let L,O,z;S[8]===Symbol.for("react.memo_cache_sentinel")?(L=()=>{D.current=!1,j(!1),w(!1)},S[8]=L):L=S[8];S[9]!==o?(O=[o],S[9]=o,S[10]=O):O=S[10];(0,n.useEffect)(L,O),S[11]!==p||S[12]!==U?(z=p&&U?{Authorization:`Bearer ${p}`}:void 0,S[11]=p,S[12]=U,S[13]=z):z=S[13];const A=z;let B,F,K;S[14]!==A?(B=A?{headers:A}:{},S[14]=A,S[15]=B):B=S[15];S[16]===Symbol.for("react.memo_cache_sentinel")?(F=()=>{D.current=!0,j(!0),w(!1)},K=()=>{D.current||w(!0)},S[16]=F,S[17]=K):(F=S[16],K=S[17]);const P=null!==U&&!$&&!k,Q=k&&!$;let R;S[18]!==Q||S[19]!==B||S[20]!==P||S[21]!==U?(R=Object.assign({uri:U},B,{onLoad:F,onError:K,isLoading:P,failed:Q}),S[18]=Q,S[19]=B,S[20]=P,S[21]=U,S[22]=R):R=S[22];return R},e.useSnapshotDataUri=function(t,n){const{controller:u,state:c}=(0,s.useConnection)();return(0,o.useQuery)({queryKey:['v2','snapshot-data',t],enabled:n&&'connected'===c,refetchInterval:l,queryFn:async()=>{const n=u.getSystem();if(!n)return null;try{const o=await n.trpcClient.snapshot.getSnapshot.query({deviceId:t});return o?.base64?`data:${o.contentType};base64,${o.base64}`:null}catch{return null}}}).data??null};var t=r(d[0]),n=r(d[1]),o=r(d[2]),s=r(d[3]),u=r(d[4]),c=r(d[5]);const l=3e4;function f(){return Math.floor(Date.now()/l)}function h(){return f()}},3143,[15,17,3081,2594,3144,3150]);
@@ -15795,7 +15795,7 @@ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e
15795
15795
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"FaceAssignSheet",{enumerable:!0,get:function(){return j}});var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),y=e(r(d[8])),p=e(r(d[9])),b=e(r(d[10])),x=r(d[11]),h=r(d[12]),v=r(d[13]),I=r(d[14]),S=r(d[15]),C=r(d[16]),A=r(d[17]),P=r(d[18]);const j=(0,o.memo)(function(e){const b=(0,t.c)(156),{face:j,onClose:N}=e,{colors:B}=(0,S.useTheme)(),{t:G}=(0,h.useTranslation)(),w=(0,x.useSafeAreaInsets)(),T=null!==j,{data:z,isLoading:F}=(0,A.useIdentities)(T);let D;b[0]!==z?(D=void 0===z?[]:z,b[0]=z,b[1]=D):D=b[1];const U=D,M=(0,A.useAssignFace)(),L=(0,A.useUnassignFace)(),W=(0,A.useUnassignAllForIdentity)(),H=(0,A.useCreateIdentity)(),[V,_]=(0,o.useState)(""),[E,O]=(0,o.useState)(null),X=M.isPending||L.isPending||W.isPending||H.isPending;let $;b[2]!==N?($=()=>{_(""),O(null),N()},b[2]=N,b[3]=$):$=b[3];const q=$;let J;b[4]!==M||b[5]!==X||b[6]!==q||b[7]!==j||b[8]!==G?(J=async e=>{if(j&&!X){O(null);try{await M.mutateAsync({faceId:j.faceId,identityId:e}),q()}catch{O(G("v2.tracks.assignFailed"))}}},b[4]=M,b[5]=X,b[6]=q,b[7]=j,b[8]=G,b[9]=J):J=b[9];const K=J;let Q;b[10]!==X||b[11]!==q||b[12]!==j||b[13]!==G||b[14]!==L?(Q=async()=>{if(j&&!X){O(null);try{await L.mutateAsync({faceId:j.faceId}),q()}catch{O(G("v2.tracks.disassociateFailed"))}}},b[10]=X,b[11]=q,b[12]=j,b[13]=G,b[14]=L,b[15]=Q):Q=b[15];const Y=Q;let Z;b[16]!==X||b[17]!==Y||b[18]!==j||b[19]!==G?(Z=()=>{j&&!X&&n.default.alert(G("v2.tracks.removePersonConfirmTitle"),G("v2.tracks.removePersonConfirmBody"),[{text:G("v2.settings.cancel"),style:"cancel"},{text:G("v2.tracks.removePerson"),style:"destructive",onPress:()=>{Y()}}])},b[16]=X,b[17]=Y,b[18]=j,b[19]=G,b[20]=Z):Z=b[20];const ee=Z;let te;b[21]!==X||b[22]!==q||b[23]!==j||b[24]!==G||b[25]!==W?(te=async()=>{const e=j?.identityId;if(j&&void 0!==e&&!X){O(null);try{await W.mutateAsync({identityId:e}),q()}catch{O(G("v2.tracks.disassociateAllFailed"))}}},b[21]=X,b[22]=q,b[23]=j,b[24]=G,b[25]=W,b[26]=te):te=b[26];const re=te;let oe;b[27]!==X||b[28]!==re||b[29]!==j||b[30]!==G?(oe=()=>{const e=j?.identityId;j&&void 0!==e&&!X&&n.default.alert(G("v2.tracks.removePersonAllConfirmTitle"),G("v2.tracks.removePersonAllConfirmBody"),[{text:G("v2.settings.cancel"),style:"cancel"},{text:G("v2.tracks.removePersonAll"),style:"destructive",onPress:()=>{re()}}])},b[27]=X,b[28]=re,b[29]=j,b[30]=G,b[31]=oe):oe=b[31];const ne=oe;let se;b[32]!==M||b[33]!==X||b[34]!==q||b[35]!==H||b[36]!==j||b[37]!==V||b[38]!==G?(se=async()=>{const e=V.trim();if(j&&!X&&0!==e.length){O(null);try{const t=await H.mutateAsync({name:e});await M.mutateAsync({faceId:j.faceId,identityId:t.id}),q()}catch{O(G("v2.tracks.assignFailed"))}}},b[32]=M,b[33]=X,b[34]=q,b[35]=H,b[36]=j,b[37]=V,b[38]=G,b[39]=se):se=b[39];const ae=se;let ie,le,de,ce,ue,ge,fe,me,ye,pe,be,xe;b[40]!==q?(ie=(0,P.jsx)(f.default,{style:R.scrim,onPress:q,accessibilityRole:"button"}),b[40]=q,b[41]=ie):ie=b[41],b[42]!==B.backgroundElevated?(le=[R.sheet,{backgroundColor:B.backgroundElevated}],b[42]=B.backgroundElevated,b[43]=le):le=b[43],b[44]!==B.foreground?(de=[R.title,{color:B.foreground}],b[44]=B.foreground,b[45]=de):de=b[45],b[46]!==G?(ce=G("v2.tracks.assignFaceTitle"),b[46]=G,b[47]=ce):ce=b[47],b[48]!==de||b[49]!==ce?(ue=(0,P.jsx)(c.default,{style:de,children:ce}),b[48]=de,b[49]=ce,b[50]=ue):ue=b[50],b[51]!==B.surface?(ge=[R.iconBtn,{backgroundColor:B.surface}],b[51]=B.surface,b[52]=ge):ge=b[52],b[53]!==B.foreground?(fe=(0,P.jsx)(v.X,{size:18,color:B.foreground}),b[53]=B.foreground,b[54]=fe):fe=b[54],b[55]!==q||b[56]!==ge||b[57]!==fe?(me=(0,P.jsx)(f.default,{onPress:q,hitSlop:10,style:ge,children:fe}),b[55]=q,b[56]=ge,b[57]=fe,b[58]=me):me=b[58],b[59]!==ue||b[60]!==me?(ye=(0,P.jsxs)(l.default,{style:R.header,children:[ue,me]}),b[59]=ue,b[60]=me,b[61]=ye):ye=b[61],b[62]!==X||b[63]!==B.danger||b[64]!==B.foregroundMuted||b[65]!==B.surface||b[66]!==ee||b[67]!==j||b[68]!==G?(pe=j?.base64?(0,P.jsxs)(l.default,{style:R.faceRow,children:[(0,P.jsx)(I.Image,{source:{uri:`data:image/jpeg;base64,${j.base64}`},style:[R.faceCrop,{backgroundColor:B.surface}],contentFit:"cover"}),(0,P.jsx)(c.default,{style:[R.faceHint,{color:B.foregroundMuted}],children:j.identityName??G("v2.tracks.notAssigned")}),j.assigned?(0,P.jsxs)(f.default,{onPress:ee,disabled:X,accessibilityRole:"button",accessibilityLabel:G("v2.tracks.removePerson"),style:[R.removeBtn,{backgroundColor:B.danger+"22",opacity:X?.5:1}],children:[(0,P.jsx)(v.UserRoundX,{size:16,color:B.danger}),(0,P.jsx)(c.default,{style:[R.removeBtnText,{color:B.danger}],children:G("v2.tracks.removePerson")})]}):null]}):null,b[62]=X,b[63]=B.danger,b[64]=B.foregroundMuted,b[65]=B.surface,b[66]=ee,b[67]=j,b[68]=G,b[69]=pe):pe=b[69],b[70]!==X||b[71]!==B.danger||b[72]!==ne||b[73]!==j||b[74]!==G?(be=j?.assigned&&void 0!==j.identityId?(0,P.jsxs)(f.default,{onPress:ne,disabled:X,accessibilityRole:"button",accessibilityLabel:G("v2.tracks.removePersonAll"),style:[R.removeAllBtn,{borderColor:B.danger,opacity:X?.5:1}],children:[(0,P.jsx)(v.Users,{size:16,color:B.danger}),(0,P.jsx)(c.default,{style:[R.removeAllBtnText,{color:B.danger}],children:G("v2.tracks.removePersonAll")})]}):null,b[70]=X,b[71]=B.danger,b[72]=ne,b[73]=j,b[74]=G,b[75]=be):be=b[75],b[76]!==G?(xe=G("v2.tracks.newPersonPlaceholder"),b[76]=G,b[77]=xe):xe=b[77];const he=!X;let ve,Ie,Se,Ce;b[78]!==B.foreground||b[79]!==B.surface?(ve=[R.input,{backgroundColor:B.surface,color:B.foreground}],b[78]=B.foreground,b[79]=B.surface,b[80]=ve):ve=b[80],b[81]!==B.foregroundSubtle||b[82]!==V||b[83]!==xe||b[84]!==he||b[85]!==ve?(Ie=(0,P.jsx)(u.default,{value:V,onChangeText:_,placeholder:xe,placeholderTextColor:B.foregroundSubtle,editable:he,style:ve}),b[81]=B.foregroundSubtle,b[82]=V,b[83]=xe,b[84]=he,b[85]=ve,b[86]=Ie):Ie=b[86],b[87]!==ae?(Se=()=>{ae()},b[87]=ae,b[88]=Se):Se=b[88],b[89]!==X||b[90]!==V?(Ce=X||0===V.trim().length,b[89]=X,b[90]=V,b[91]=Ce):Ce=b[91];const Ae=X||0===V.trim().length?.5:1;let Pe,je,ke,Re,Ne,Be,Ge,we,Te,ze,Fe,De;b[92]!==B.primary||b[93]!==Ae?(Pe=[R.createBtn,{backgroundColor:B.primary,opacity:Ae}],b[92]=B.primary,b[93]=Ae,b[94]=Pe):Pe=b[94],b[95]!==G?(je=G("v2.tracks.createAndAssign"),b[95]=G,b[96]=je):je=b[96],b[97]!==B.primaryForeground?(ke=(0,P.jsx)(v.UserRoundPlus,{size:16,color:B.primaryForeground}),b[97]=B.primaryForeground,b[98]=ke):ke=b[98],b[99]!==B.primaryForeground?(Re=[R.createBtnText,{color:B.primaryForeground}],b[99]=B.primaryForeground,b[100]=Re):Re=b[100],b[101]!==G?(Ne=G("v2.tracks.createAndAssign"),b[101]=G,b[102]=Ne):Ne=b[102],b[103]!==Re||b[104]!==Ne?(Be=(0,P.jsx)(c.default,{style:Re,children:Ne}),b[103]=Re,b[104]=Ne,b[105]=Be):Be=b[105],b[106]!==Se||b[107]!==Ce||b[108]!==Pe||b[109]!==je||b[110]!==ke||b[111]!==Be?(Ge=(0,P.jsxs)(f.default,{onPress:Se,disabled:Ce,style:Pe,accessibilityRole:"button",accessibilityLabel:je,children:[ke,Be]}),b[106]=Se,b[107]=Ce,b[108]=Pe,b[109]=je,b[110]=ke,b[111]=Be,b[112]=Ge):Ge=b[112],b[113]!==Ie||b[114]!==Ge?(we=(0,P.jsxs)(l.default,{style:R.createRow,children:[Ie,Ge]}),b[113]=Ie,b[114]=Ge,b[115]=we):we=b[115],b[116]!==B.danger||b[117]!==E?(Te=null!==E?(0,P.jsx)(c.default,{style:[R.error,{color:B.danger}],children:E}):null,b[116]=B.danger,b[117]=E,b[118]=Te):Te=b[118],b[119]!==B.foregroundSubtle?(ze=[R.sectionLabel,{color:B.foregroundSubtle}],b[119]=B.foregroundSubtle,b[120]=ze):ze=b[120],b[121]!==G?(Fe=G("v2.tracks.existingPersons"),b[121]=G,b[122]=Fe):Fe=b[122],b[123]!==ze||b[124]!==Fe?(De=(0,P.jsx)(c.default,{style:ze,children:Fe}),b[123]=ze,b[124]=Fe,b[125]=De):De=b[125];const Ue=w.bottom+C.SPACING.md;let Me,Le,We,He,Ve,Ee;return b[126]!==Ue?(Me={paddingBottom:Ue},b[126]=Ue,b[127]=Me):Me=b[127],b[128]!==K||b[129]!==X||b[130]!==B.foregroundMuted||b[131]!==B.primary||b[132]!==j?.identityId||b[133]!==F||b[134]!==U||b[135]!==G?(Le=F?(0,P.jsx)(p.default,{color:B.primary,style:R.loader}):0===U.length?(0,P.jsx)(c.default,{style:[R.empty,{color:B.foregroundMuted}],children:G("v2.tracks.noPersons")}):U.map(e=>(0,P.jsx)(k,{person:e,current:j?.identityId===e.id,disabled:X,onPress:()=>{K(e.id)}},e.id)),b[128]=K,b[129]=X,b[130]=B.foregroundMuted,b[131]=B.primary,b[132]=j?.identityId,b[133]=F,b[134]=U,b[135]=G,b[136]=Le):Le=b[136],b[137]!==Me||b[138]!==Le?(We=(0,P.jsx)(y.default,{style:R.list,contentContainerStyle:Me,children:Le}),b[137]=Me,b[138]=Le,b[139]=We):We=b[139],b[140]!==le||b[141]!==ye||b[142]!==pe||b[143]!==be||b[144]!==we||b[145]!==Te||b[146]!==De||b[147]!==We?(He=(0,P.jsxs)(l.default,{style:le,children:[ye,pe,be,we,Te,De,We]}),b[140]=le,b[141]=ye,b[142]=pe,b[143]=be,b[144]=we,b[145]=Te,b[146]=De,b[147]=We,b[148]=He):He=b[148],b[149]!==ie||b[150]!==He?(Ve=(0,P.jsxs)(l.default,{style:R.backdrop,children:[ie,He]}),b[149]=ie,b[150]=He,b[151]=Ve):Ve=b[151],b[152]!==q||b[153]!==Ve||b[154]!==T?(Ee=(0,P.jsx)(s.default,{visible:T,animationType:"slide",transparent:!0,onRequestClose:q,children:Ve}),b[152]=q,b[153]=Ve,b[154]=T,b[155]=Ee):Ee=b[155],Ee}),k=(0,o.memo)(function(e){const o=(0,t.c)(30),{person:n,current:s,disabled:u,onPress:y}=e,{colors:p}=(0,S.useTheme)(),b=u||s,x=s?p.primary+"22":"transparent";let h,C,A,j,k,N,B,G,w;return o[0]!==x?(h=[R.personRow,{backgroundColor:x}],o[0]=x,o[1]=h):h=o[1],o[2]!==p.foregroundMuted||o[3]!==p.surface||o[4]!==n.coverBase64?(C=n.coverBase64?(0,P.jsx)(I.Image,{source:{uri:`data:image/jpeg;base64,${n.coverBase64}`},style:[R.avatar,{backgroundColor:p.surface}],contentFit:"cover"}):(0,P.jsx)(l.default,{style:[R.avatar,R.avatarEmpty,{backgroundColor:p.surface}],children:(0,P.jsx)(v.UserRound,{size:18,color:p.foregroundMuted})}),o[2]=p.foregroundMuted,o[3]=p.surface,o[4]=n.coverBase64,o[5]=C):C=o[5],o[6]!==p.foreground?(A=[R.personName,{color:p.foreground}],o[6]=p.foreground,o[7]=A):A=o[7],o[8]!==n.name||o[9]!==A?(j=(0,P.jsx)(c.default,{numberOfLines:1,style:A,children:n.name}),o[8]=n.name,o[9]=A,o[10]=j):j=o[10],o[11]!==p.foregroundSubtle?(k=[R.personCount,{color:p.foregroundSubtle}],o[11]=p.foregroundSubtle,o[12]=k):k=o[12],o[13]!==n.sampleCount||o[14]!==k?(N=(0,P.jsx)(c.default,{style:k,children:n.sampleCount}),o[13]=n.sampleCount,o[14]=k,o[15]=N):N=o[15],o[16]!==j||o[17]!==N?(B=(0,P.jsxs)(l.default,{style:R.personText,children:[j,N]}),o[16]=j,o[17]=N,o[18]=B):B=o[18],o[19]!==p.primary||o[20]!==s?(G=s?(0,P.jsx)(v.Check,{size:18,color:p.primary}):null,o[19]=p.primary,o[20]=s,o[21]=G):G=o[21],o[22]!==y||o[23]!==n.name||o[24]!==b||o[25]!==G||o[26]!==h||o[27]!==C||o[28]!==B?(w=(0,P.jsxs)(f.default,{onPress:y,disabled:b,accessibilityRole:"button",accessibilityLabel:n.name,style:h,children:[C,B,G]}),o[22]=y,o[23]=n.name,o[24]=b,o[25]=G,o[26]=h,o[27]=C,o[28]=B,o[29]=w):w=o[29],w}),R=b.default.create({backdrop:{flex:1,justifyContent:'flex-end'},scrim:{position:'absolute',top:0,left:0,right:0,bottom:0,backgroundColor:'rgba(0,0,0,0.5)'},sheet:{maxHeight:'80%',borderTopLeftRadius:C.RADIUS.xl,borderTopRightRadius:C.RADIUS.xl,paddingHorizontal:C.SPACING.md,paddingTop:C.SPACING.md},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingBottom:C.SPACING.sm},title:{fontSize:18,fontWeight:'700'},iconBtn:{width:32,height:32,borderRadius:C.RADIUS.md,alignItems:'center',justifyContent:'center'},faceRow:{flexDirection:'row',alignItems:'center',gap:C.SPACING.md,paddingBottom:C.SPACING.sm},faceCrop:{width:56,height:56,borderRadius:C.RADIUS.md},faceHint:{flex:1,fontSize:13,fontWeight:'500'},removeBtn:{flexDirection:'row',alignItems:'center',gap:4,paddingHorizontal:C.SPACING.md,paddingVertical:C.SPACING.sm,borderRadius:C.RADIUS.md},removeBtnText:{fontSize:13,fontWeight:'700'},removeAllBtn:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:C.SPACING.xs,paddingVertical:C.SPACING.sm,borderRadius:C.RADIUS.md,borderWidth:1,marginBottom:C.SPACING.sm},removeAllBtnText:{fontSize:13,fontWeight:'700'},createRow:{flexDirection:'row',gap:C.SPACING.sm,alignItems:'center'},input:{flex:1,borderRadius:C.RADIUS.md,paddingHorizontal:C.SPACING.sm,paddingVertical:C.SPACING.sm,fontSize:14},createBtn:{flexDirection:'row',alignItems:'center',gap:4,paddingHorizontal:C.SPACING.md,paddingVertical:C.SPACING.sm+2,borderRadius:C.RADIUS.md},createBtnText:{fontSize:13,fontWeight:'700'},error:{fontSize:12,fontWeight:'600',marginTop:C.SPACING.xs},sectionLabel:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.4,marginTop:C.SPACING.md,marginBottom:C.SPACING.xs},list:{flexGrow:0},loader:{marginVertical:C.SPACING.lg},empty:{fontSize:13,paddingVertical:C.SPACING.md},personRow:{flexDirection:'row',alignItems:'center',gap:C.SPACING.md,paddingVertical:C.SPACING.sm,paddingHorizontal:C.SPACING.sm,borderRadius:C.RADIUS.md},avatar:{width:40,height:40,borderRadius:20},avatarEmpty:{alignItems:'center',justifyContent:'center'},personText:{flex:1},personName:{fontSize:15,fontWeight:'600'},personCount:{fontSize:11}})},3374,[15,17,133,245,20,112,262,252,147,240,33,466,786,813,3053,2587,2589,3375,10]);
15796
15796
  __d(function(g,r,i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.toFaceInfo=c,e.toIdentity=o,e.sortIdentities=u,e.collectFaceIdsForIdentity=l,e.toMassUnassignResult=y,e.useTrackFace=function(o,u,l){const y=(0,t.c)(11),{controller:I,state:v}=(0,a.useConnection)();let p;y[0]!==o||y[1]!==u?(p=["v2",f,o,u],y[0]=o,y[1]=u,y[2]=p):p=y[2];const w=l&&"connected"===v;let C,h;y[3]!==I||y[4]!==o||y[5]!==u?(C=async()=>{const t=I.getSystem();if(!t)return null;return c(await(0,s.capQuery)(t.trpcClient,"faceGallery","getFaceByTrack",{deviceId:o,trackId:u}))},y[3]=I,y[4]=o,y[5]=u,y[6]=C):C=y[6];y[7]!==p||y[8]!==w||y[9]!==C?(h={queryKey:p,enabled:w,staleTime:3e4,queryFn:C},y[7]=p,y[8]=w,y[9]=C,y[10]=h):h=y[10];return(0,n.useQuery)(h)},e.useIdentities=function(c){const l=(0,t.c)(6),{controller:y,state:f}=(0,a.useConnection)();let v;l[0]===Symbol.for("react.memo_cache_sentinel")?(v=["v2",I],l[0]=v):v=l[0];const p=c&&"connected"===f;let w,C;l[1]!==y?(w=async()=>{const t=y.getSystem();if(!t)return[];const n=await(0,s.capQuery)(t.trpcClient,"faceGallery","listIdentities");if(!Array.isArray(n))return[];const a=[];for(const t of n){const n=o(t);null!==n&&a.push(n)}return u(a)},l[1]=y,l[2]=w):w=l[2];l[3]!==p||l[4]!==w?(C={queryKey:v,enabled:p,staleTime:3e4,queryFn:w},l[3]=p,l[4]=w,l[5]=C):C=l[5];return(0,n.useQuery)(C)},e.useAssignFace=function(){const s=(0,t.c)(7),{controller:c}=(0,a.useConnection)(),o=(0,n.useQueryClient)();let u,l,y;s[0]!==c?(u=async t=>{const{faceId:n,identityId:a}=t,s=c.getSystem();if(!s)throw new Error("not connected");await p(s.trpcClient,"faceGallery","assignFace",{faceId:n,identityId:a})},s[0]=c,s[1]=u):u=s[1];s[2]!==o?(l=async()=>{await o.invalidateQueries({queryKey:["v2",f]}),await o.invalidateQueries({queryKey:["v2",I]}),await o.invalidateQueries({queryKey:["v2",v]})},s[2]=o,s[3]=l):l=s[3];s[4]!==u||s[5]!==l?(y={mutationFn:u,onSuccess:l},s[4]=u,s[5]=l,s[6]=y):y=s[6];return(0,n.useMutation)(y)},e.useUnassignFace=function(){const s=(0,t.c)(7),{controller:c}=(0,a.useConnection)(),o=(0,n.useQueryClient)();let u,l,y;s[0]!==c?(u=async t=>{const{faceId:n}=t,a=c.getSystem();if(!a)throw new Error("not connected");await p(a.trpcClient,"faceGallery","unassignFace",{faceId:n})},s[0]=c,s[1]=u):u=s[1];s[2]!==o?(l=async()=>{await o.invalidateQueries({queryKey:["v2",f]}),await o.invalidateQueries({queryKey:["v2",I]}),await o.invalidateQueries({queryKey:["v2",v]})},s[2]=o,s[3]=l):l=s[3];s[4]!==u||s[5]!==l?(y={mutationFn:u,onSuccess:l},s[4]=u,s[5]=l,s[6]=y):y=s[6];return(0,n.useMutation)(y)},e.useUnassignAllForIdentity=function(){const c=(0,t.c)(7),{controller:o}=(0,a.useConnection)(),u=(0,n.useQueryClient)();let w,C,h;c[0]!==o?(w=async t=>{const{identityId:n}=t,a=o.getSystem();if(!a)throw new Error("not connected");const c=a.trpcClient,u=l(await(0,s.capQuery)(c,"faceGallery","listRecentFaces",{filter:"all"}),n);if(0===u.length)return{unassigned:0,failed:[]};return y(await p(a.trpcClient,"faceGallery","unassignFaces",{faceIds:u}))},c[0]=o,c[1]=w):w=c[1];c[2]!==u?(C=async()=>{await u.invalidateQueries({queryKey:["v2",f]}),await u.invalidateQueries({queryKey:["v2",I]}),await u.invalidateQueries({queryKey:["v2",v]})},c[2]=u,c[3]=C):C=c[3];c[4]!==w||c[5]!==C?(h={mutationFn:w,onSuccess:C},c[4]=w,c[5]=C,c[6]=h):h=c[6];return(0,n.useMutation)(h)},e.useCreateIdentity=function(){const s=(0,t.c)(7),{controller:c}=(0,a.useConnection)(),u=(0,n.useQueryClient)();let l,y,f;s[0]!==c?(l=async t=>{const{name:n}=t,a=c.getSystem();if(!a)throw new Error("not connected");const s=o(await p(a.trpcClient,"faceGallery","createIdentity",{name:n}));if(null===s)throw new Error("createIdentity failed");return s},s[0]=c,s[1]=l):l=s[1];s[2]!==u?(y=async()=>{await u.invalidateQueries({queryKey:["v2",I]})},s[2]=u,s[3]=y):y=s[3];s[4]!==l||s[5]!==y?(f={mutationFn:l,onSuccess:y},s[4]=l,s[5]=y,s[6]=f):f=s[6];return(0,n.useMutation)(f)};var t=r(d[0]),n=r(d[1]),a=r(d[2]),s=r(d[3]);function c(t){return(0,s.isRecord)(t)?'string'!=typeof t.faceId||0===t.faceId.length||'number'!=typeof t.deviceId||'string'!=typeof t.trackId||0===t.trackId.length?null:{faceId:t.faceId,deviceId:t.deviceId,trackId:t.trackId,timestamp:'number'==typeof t.timestamp?t.timestamp:0,assigned:!0===t.assigned,identityId:'string'==typeof t.recognizedIdentityId&&t.recognizedIdentityId.length>0?t.recognizedIdentityId:void 0,identityName:'string'==typeof t.identityName&&t.identityName.length>0?t.identityName:void 0,base64:'string'==typeof t.base64&&t.base64.length>0?t.base64:void 0}:null}function o(t){return(0,s.isRecord)(t)?'string'!=typeof t.id||0===t.id.length||'string'!=typeof t.name||0===t.name.length?null:{id:t.id,name:t.name,sampleCount:'number'==typeof t.sampleCount?t.sampleCount:0,coverBase64:'string'==typeof t.coverBase64&&t.coverBase64.length>0?t.coverBase64:void 0}:null}function u(t){return[...t].sort((t,n)=>t.name.toLowerCase().localeCompare(n.name.toLowerCase()))}function l(t,n){if(!Array.isArray(t)||0===n.length)return[];const a=[];for(const s of t){const t=c(s);null!==t&&t.identityId===n&&a.push(t.faceId)}return a}function y(t){if(!(0,s.isRecord)(t))return{unassigned:0,failed:[]};return{unassigned:'number'==typeof t.unassigned?t.unassigned:0,failed:Array.isArray(t.failed)?t.failed.filter(t=>'string'==typeof t):[]}}const f='track-face',I='face-identities',v='tracks-feed';async function p(t,n,a,c){const o=t[n],u=(0,s.isRecord)(o)||'function'==typeof o?o[a]:void 0,l=null!=u?u.mutate:void 0;if('function'!=typeof l)throw new Error(`${n}.${a} unavailable`);return await l(c)}},3375,[15,3081,2594,3162]);
15797
15797
  __d(function(g,r,i,a,_m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TrackMetadataSheet",{enumerable:!0,get:function(){return j}});var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),b=r(d[8]),m=r(d[9]),y=r(d[10]),p=r(d[11]),k=r(d[12]),v=r(d[13]),h=r(d[14]);function S(e){return`${new Date(e).toLocaleString()} (${e})`}function x(e,t,o){return[{key:'trackId',label:o('v2.tracks.meta.trackId'),value:e.trackId},{key:'bestEventId',label:o('v2.tracks.meta.eventId'),value:e.bestEventId},{key:'deviceId',label:o('v2.tracks.meta.deviceId'),value:String(e.deviceId)},{key:'camera',label:o('v2.tracks.meta.camera'),value:e.cameraName},{key:'className',label:o('v2.tracks.meta.className'),value:e.className},...void 0!==e.label?[{key:'label',label:o('v2.tracks.meta.label'),value:e.label}]:[],{key:'firstSeen',label:o('v2.tracks.meta.firstSeen'),value:S(e.firstSeen),copyValue:String(e.firstSeen)},{key:'lastSeen',label:o('v2.tracks.meta.lastSeen'),value:S(e.lastSeen),copyValue:String(e.lastSeen)},{key:'state',label:o('v2.tracks.meta.state'),value:e.state},...'number'==typeof e.importance?[{key:'importance',label:o('v2.tracks.meta.importance'),value:`${Math.round(100*e.importance)}%`,copyValue:String(e.importance)}]:[],...void 0!==e.importanceReason?[{key:'reason',label:o('v2.tracks.reason'),value:e.importanceReason}]:[],...'number'==typeof t?[{key:'confidence',label:o('v2.tracks.meta.confidence'),value:`${Math.round(100*t)}%`,copyValue:String(t)}]:[],...e.zonesVisited.length>0?[{key:'zones',label:o('v2.tracks.zones'),value:e.zonesVisited.join(', ')}]:[],...e.audioLabels.length>0?[{key:'audio',label:o('v2.tracks.audio'),value:e.audioLabels.join(', ')}]:[]]}const j=(0,o.memo)(function(e){const o=(0,t.c)(47),{track:f,confidence:v,mediaKeys:S,onClose:j}=e,{colors:I}=(0,p.useTheme)(),{t:R}=(0,m.useTranslation)(),A=(0,b.useSafeAreaInsets)(),P=null!==f;let V,z,N,M,B,L,G,D,E;o[0]!==j?(V=(0,h.jsx)(c.default,{style:C.scrim,onPress:j,accessibilityRole:"button"}),o[0]=j,o[1]=V):V=o[1],o[2]!==I.backgroundElevated?(z=[C.sheet,{backgroundColor:I.backgroundElevated}],o[2]=I.backgroundElevated,o[3]=z):z=o[3],o[4]!==I.foreground?(N=[C.title,{color:I.foreground}],o[4]=I.foreground,o[5]=N):N=o[5],o[6]!==R?(M=R("v2.tracks.metadata"),o[6]=R,o[7]=M):M=o[7],o[8]!==N||o[9]!==M?(B=(0,h.jsx)(s.default,{style:N,children:M}),o[8]=N,o[9]=M,o[10]=B):B=o[10],o[11]!==I.surface?(L=[C.iconBtn,{backgroundColor:I.surface}],o[11]=I.surface,o[12]=L):L=o[12],o[13]!==I.foreground?(G=(0,h.jsx)(y.X,{size:18,color:I.foreground}),o[13]=I.foreground,o[14]=G):G=o[14],o[15]!==j||o[16]!==L||o[17]!==G?(D=(0,h.jsx)(c.default,{onPress:j,hitSlop:10,style:L,children:G}),o[15]=j,o[16]=L,o[17]=G,o[18]=D):D=o[18],o[19]!==B||o[20]!==D?(E=(0,h.jsxs)(n.default,{style:C.header,children:[B,D]}),o[19]=B,o[20]=D,o[21]=E):E=o[21];const _=A.bottom+k.SPACING.md;let W,U,$,H,K,O,q;return o[22]!==_?(W={paddingBottom:_},o[22]=_,o[23]=W):W=o[23],o[24]!==v||o[25]!==R||o[26]!==f?(U=null!==f?x(f,v,R).map(T):null,o[24]=v,o[25]=R,o[26]=f,o[27]=U):U=o[27],o[28]!==I.foregroundSubtle||o[29]!==S||o[30]!==R?($=S.length>0?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s.default,{style:[C.sectionLabel,{color:I.foregroundSubtle}],children:R("v2.tracks.meta.mediaKeys")}),S.map(w)]}):null,o[28]=I.foregroundSubtle,o[29]=S,o[30]=R,o[31]=$):$=o[31],o[32]!==W||o[33]!==U||o[34]!==$?(H=(0,h.jsxs)(u.default,{contentContainerStyle:W,children:[U,$]}),o[32]=W,o[33]=U,o[34]=$,o[35]=H):H=o[35],o[36]!==E||o[37]!==H||o[38]!==z?(K=(0,h.jsxs)(n.default,{style:z,children:[E,H]}),o[36]=E,o[37]=H,o[38]=z,o[39]=K):K=o[39],o[40]!==K||o[41]!==V?(O=(0,h.jsxs)(n.default,{style:C.backdrop,children:[V,K]}),o[40]=K,o[41]=V,o[42]=O):O=o[42],o[43]!==j||o[44]!==P||o[45]!==O?(q=(0,h.jsx)(l.default,{visible:P,animationType:"slide",transparent:!0,onRequestClose:j,children:O}),o[43]=j,o[44]=P,o[45]=O,o[46]=q):q=o[46],q}),I=(0,o.memo)(function(e){const l=(0,t.c)(40),{label:u,value:f,copyValue:b}=e,{colors:k}=(0,p.useTheme)(),{t:S}=(0,m.useTranslation)(),[x,j]=(0,o.useState)(!1);let I,T,w;l[0]!==x?(I=()=>{if(!x)return;const e=setTimeout(()=>j(!1),1500);return()=>clearTimeout(e)},T=[x],l[0]=x,l[1]=I,l[2]=T):(I=l[1],T=l[2]),(0,o.useEffect)(I,T),l[3]!==b?(w=async()=>{await(0,v.copyText)(b)&&j(!0)},l[3]=b,l[4]=w):w=l[4];const R=w;let A,P,V,z,N,M,B,L,G,D,E,_;return l[5]!==k.borderSubtle?(A=[C.row,{borderBottomColor:k.borderSubtle}],l[5]=k.borderSubtle,l[6]=A):A=l[6],l[7]!==k.foregroundMuted?(P=[C.rowLabel,{color:k.foregroundMuted}],l[7]=k.foregroundMuted,l[8]=P):P=l[8],l[9]!==u||l[10]!==P?(V=(0,h.jsx)(s.default,{style:P,children:u}),l[9]=u,l[10]=P,l[11]=V):V=l[11],l[12]!==k.foreground?(z=[C.rowValue,{color:k.foreground}],l[12]=k.foreground,l[13]=z):z=l[13],l[14]!==z||l[15]!==f?(N=(0,h.jsx)(s.default,{selectable:!0,style:z,children:f}),l[14]=z,l[15]=f,l[16]=N):N=l[16],l[17]!==V||l[18]!==N?(M=(0,h.jsxs)(n.default,{style:C.rowText,children:[V,N]}),l[17]=V,l[18]=N,l[19]=M):M=l[19],l[20]!==R?(B=()=>{R()},l[20]=R,l[21]=B):B=l[21],l[22]!==x||l[23]!==S?(L=S(x?"v2.tracks.copied":"v2.tracks.copy"),l[22]=x,l[23]=S,l[24]=L):L=l[24],l[25]!==k.surface?(G=[C.copyBtn,{backgroundColor:k.surface}],l[25]=k.surface,l[26]=G):G=l[26],l[27]!==k.foregroundMuted||l[28]!==k.success||l[29]!==x?(D=x?(0,h.jsx)(y.Check,{size:14,color:k.success}):(0,h.jsx)(y.Copy,{size:14,color:k.foregroundMuted}),l[27]=k.foregroundMuted,l[28]=k.success,l[29]=x,l[30]=D):D=l[30],l[31]!==B||l[32]!==L||l[33]!==G||l[34]!==D?(E=(0,h.jsx)(c.default,{onPress:B,hitSlop:8,accessibilityRole:"button",accessibilityLabel:L,style:G,children:D}),l[31]=B,l[32]=L,l[33]=G,l[34]=D,l[35]=E):E=l[35],l[36]!==E||l[37]!==A||l[38]!==M?(_=(0,h.jsxs)(n.default,{style:A,children:[M,E]}),l[36]=E,l[37]=A,l[38]=M,l[39]=_):_=l[39],_}),C=f.default.create({backdrop:{flex:1,justifyContent:'flex-end'},scrim:{position:'absolute',top:0,left:0,right:0,bottom:0,backgroundColor:'rgba(0,0,0,0.5)'},sheet:{maxHeight:'80%',borderTopLeftRadius:k.RADIUS.xl,borderTopRightRadius:k.RADIUS.xl,paddingHorizontal:k.SPACING.md,paddingTop:k.SPACING.md},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingBottom:k.SPACING.sm},title:{fontSize:18,fontWeight:'700'},iconBtn:{width:32,height:32,borderRadius:k.RADIUS.md,alignItems:'center',justifyContent:'center'},sectionLabel:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.4,marginTop:k.SPACING.md,marginBottom:k.SPACING.xs},row:{flexDirection:'row',alignItems:'center',gap:k.SPACING.sm,paddingVertical:k.SPACING.sm,borderBottomWidth:f.default.hairlineWidth},rowText:{flex:1},rowLabel:{fontSize:11,fontWeight:'600',textTransform:'uppercase',letterSpacing:.3},rowValue:{fontSize:13,marginTop:1},copyBtn:{width:30,height:30,borderRadius:k.RADIUS.md,alignItems:'center',justifyContent:'center'}});function T(e){return(0,h.jsx)(I,{label:e.label,value:e.value,copyValue:e.copyValue??e.value},e.key)}function w(e){return(0,h.jsx)(I,{label:e.kind,value:e.key,copyValue:e.key},e.key)}},3376,[15,17,245,20,112,252,147,33,466,786,813,2587,2589,3377,10]);
15798
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.copyText=async function(t){if(null==t)return!1;const n='string'==typeof t?t:String(t);try{{const t='undefined'!=typeof navigator?navigator.clipboard:void 0;return!!t?.writeText&&(await t.writeText(n),!0)}}catch{return!1}},r(d[0])},3377,{"0":136,"1":3599,"2":3378,"paths":{"3599":"/viewer/camstack/_expo/static/js/web/Clipboard-2b3a3b41457cedb4c92b5b20a05806d2.js"}});
15798
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.copyText=async function(t){if(null==t)return!1;const n='string'==typeof t?t:String(t);try{{const t='undefined'!=typeof navigator?navigator.clipboard:void 0;return!!t?.writeText&&(await t.writeText(n),!0)}}catch{return!1}},r(d[0])},3377,{"0":136,"1":3602,"2":3378,"paths":{"3602":"/viewer/camstack/_expo/static/js/web/Clipboard-8c2e39d6e1b6f27aa4883a842ef017f8.js"}});
15799
15799
  __d(function(g,r,i,a,m,e,d){m.exports=r(d[0])},3378,[3379]);
15800
15800
  __d(function(g,r,i,a,m,e,d){function n(n,t){const o=globalThis[`${__METRO_GLOBAL_PREFIX__??''}__loadBundleAsync`];if(null!=o){const s=String(n);if(null!=t){const n=t[s];if(null!=n)return o(n)}}}function t(t,o,s){const u=()=>r.importAll(t,s);try{return u()}catch(s){const c=n(t,o);if(null!=c)return c.then(u);throw s}const c=n(t,o);return null!=c?c.then(u):u()}function o(n,o,s){const u=t(n,o,s);return u instanceof Promise?{_result:u,then:(n,t)=>u.then(n,t)}:{_result:u,then:(n,t)=>Promise.resolve(u).then(n,t)}}o.unstable_importMaybeSync=function(n,o){return t(n,o)},o.prefetch=function(t,o,s){n(t,o)?.then(()=>{},()=>{})},o.unstable_resolve=function(n,t){if(!t)throw new Error('Bundle splitting is required for Web Worker imports');const o=t[n];if(!o)throw new Error('Worker import is missing from split bundle paths: '+o);return o},o.unstable_createWorker=function(n,t){if('undefined'==typeof crossOriginIsolated||!crossOriginIsolated)return new Worker(n,t);try{const s=(o=n,`\n const ASYNC_WORKER_BASE = ${JSON.stringify(o)};\n const IMPORT_SCRIPTS = importScripts;\n const FETCH = fetch;\n const fromBaseURL = (input) => new URL(input, ASYNC_WORKER_BASE).href;\n self.fetch = function(input, init) {\n return FETCH(typeof input === 'string' ? fromBaseURL(input) : input, init);\n };\n self.importScripts = function(...urls) {\n return IMPORT_SCRIPTS.apply(self, urls.map(fromBaseURL));\n };\n importScripts(ASYNC_WORKER_BASE);\n `);return n=URL.createObjectURL(new Blob([s],{type:'text/javascript'})),new Worker(n,t)}finally{URL.revokeObjectURL(n)}var o},m.exports=o},3379,[]);
15801
15801
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useTrackDetailMedia=function(u,k,y){const v=(0,t.c)(26),{controller:f,state:p}=(0,l.useConnection)(),b=k??"none",M=y??"none";let _;v[0]!==u||v[1]!==b||v[2]!==M?(_=["v2","analytics","track-detail-media",u,b,M],v[0]=u,v[1]=b,v[2]=M,v[3]=_):_=v[3];const F="connected"===p&&null!==k;let T,h;v[4]!==k||v[5]!==f||v[6]!==y?(T=async()=>{const t=f.getSystem();if(!t||null===k)return{event:[],track:[]};const n=t.trpcClient,[l,o]=await Promise.all([(0,c.capQuery)(n,"pipelineAnalytics","getEventMedia",{eventId:k}),null!==y?(0,c.capQuery)(n,"pipelineAnalytics","getTrackMedia",{trackId:y}):Promise.resolve(null)]);return{event:(0,s.parseMediaFiles)(l),track:(0,s.parseMediaFiles)(o)}},v[4]=k,v[5]=f,v[6]=y,v[7]=T):T=v[7];v[8]!==_||v[9]!==F||v[10]!==T?(h={queryKey:_,enabled:F,staleTime:6e4,queryFn:T},v[8]=_,v[9]=F,v[10]=T,v[11]=h):h=v[11];const S=(0,n.useQuery)(h);let I;e:{if(!S.data){I=o;break e}let t;v[12]!==S.data.event||v[13]!==S.data.track?(t=(0,s.resolveTrackDetailImages)(S.data.event,S.data.track),v[12]=S.data.event,v[13]=S.data.track,v[14]=t):t=v[14],I=t}const L=I;let P;e:{if(!S.data){let t;v[15]===Symbol.for("react.memo_cache_sentinel")?(t=[],v[15]=t):t=v[15],P=t;break e}let t;if(v[16]!==S.data.event||v[17]!==S.data.track){const n=new Set;t=[];for(const l of[...S.data.event,...S.data.track])n.has(l.key)||(n.add(l.key),t.push({key:l.key,kind:l.kind}));v[16]=S.data.event,v[17]=S.data.track,v[18]=t}else t=v[18];P=t}const Q=P;let U;v[19]!==S.data?(U=S.data?(0,s.buildTrackGallery)(S.data.event,S.data.track):[],v[19]=S.data,v[20]=U):U=v[20];const j=U;let q;v[21]!==j||v[22]!==L||v[23]!==Q||v[24]!==S.isLoading?(q=Object.assign({},L,{loading:S.isLoading,mediaKeys:Q,gallery:j}),v[21]=j,v[22]=L,v[23]=Q,v[24]=S.isLoading,v[25]=q):q=v[25];return q};var t=r(d[0]);r(d[1]);var n=r(d[2]),l=r(d[3]),c=r(d[4]),s=r(d[5]);const o={cropUri:null,fullFrameUri:null,fullFrameBoxedUri:null,hasServerBoxed:!1}},3380,[15,17,3081,2594,3162,3237]);
@@ -15846,7 +15846,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";var A,I;Object.defineProperty(e,'__esMo
15846
15846
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.clearAppCache=async function(e){try{e.clear()}catch(e){console.error('[clear-cache] react-query clear failed',e)}try{await l.Image.clearMemoryCache(),await l.Image.clearDiskCache()}catch(e){console.error('[clear-cache] image cache clear failed',e)}try{const e=(await t.default.getAllKeys()).filter(e=>o.some(c=>e.startsWith(c)));e.length>0&&await t.default.multiRemove(e)}catch(e){console.error('[clear-cache] AsyncStorage cache clear failed',e)}};var e,c=r(d[0]),t=(e=c)&&e.__esModule?e:{default:e},l=r(d[1]);const o=['@camstack/v2/cache/','@camstack/v2/snapshot/']},3425,[3133,3053]);
15847
15847
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var n=r(d[0]);r(d[1]);var t=r(d[2]),o=r(d[3]),c=r(d[4]),s=r(d[5]);function l(){const l=(0,n.c)(13),{server:u,token:f,initialCandidates:v,onEndpointsDiscovered:h,clearToken:_,persistToken:k}=(0,o.useServer)(),p=u?.serverUrl;let b;l[0]!==v||l[1]!==h||l[2]!==p||l[3]!==f?(b=p?{serverUrl:p,token:f??void 0,candidates:v.length>0?[...v]:[p],onEndpointsDiscovered:h}:null,l[0]=v,l[1]=h,l[2]=p,l[3]=f,l[4]=b):b=l[4];const j=b;if(!u||!f||!j){let n;return l[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(t.Redirect,{href:"/"}),l[5]=n):n=l[5],n}let S,y,x;return l[6]!==_?(S=()=>{_()},l[6]=_,l[7]=S):S=l[7],l[8]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(t.Stack,{screenOptions:{headerShown:!1}}),l[8]=y):y=l[8],l[9]!==j||l[10]!==k||l[11]!==S?(x=(0,s.jsx)(c.ConnectionProvider,{config:j,onUnauthorized:S,onTokenRefreshed:k,children:y}),l[9]=j,l[10]=k,l[11]=S,l[12]=x):x=l[12],x}},3426,[15,17,743,3144,2594,10]);
15848
15848
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]);function l(){const l=(0,t.c)(5),{id:o,at:s}=(0,n.useLocalSearchParams)(),b=Number(o),f=void 0!==s?Number(s):Number.NaN;if(!Number.isFinite(b))return null;let N,v;return l[0]!==f?(N=Number.isFinite(f)&&f>0?f:void 0,l[0]=f,l[1]=N):N=l[1],l[2]!==b||l[3]!==N?(v=(0,c.jsx)(u.CameraDetailScreen,{deviceId:b,initialSeekMs:N},b),l[2]=b,l[3]=N,l[4]=v):v=l[4],v}},3427,[15,743,3428,10]);
15849
- __d(function(g,r,i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function t(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraDetailScreen=function({deviceId:e,initialSeekMs:t}){const{t:o}=(0,h.useTranslation)(),T=(0,_.useRouter)(),{colors:X,mode:We}=(0,O.useTheme)(),Be=(0,m.useSafeAreaInsets)(),{width:Ae,height:Pe}=(0,d.default)(),{controller:Le}=(0,ae.useConnection)(),{name:Re,features:Me,online:ze,disabled:Fe}=ke(e),{settings:Ge,hydrated:Je}=(0,oe.useSettings)(),Ve=Me.includes(ee.FEATURE.ptz),Ke=Me.includes(ee.FEATURE.twoWayAudio),qe=Me.includes(ee.FEATURE.doorbell),Ye=(0,ge.useCameraPrefsStore)(t=>t.prefs.byId[e]?.quality),Ne=(0,ge.useCameraPrefsStore)(e=>e.setCameraQuality),[Ze,$e]=(0,n.useState)(Ye??'auto'),Qe=(0,n.useRef)(!1);(0,n.useEffect)(()=>{Ye&&!Qe.current&&(Qe.current=!0,$e(Ye))},[Ye]);const Ue=(0,n.useMemo)(()=>(0,fe.qualityToTarget)(Ze),[Ze]),Xe=(0,n.useCallback)(t=>{$e(t),Ne(e,t)},[e,Ne]),[et,tt]=(0,n.useState)(null),at=(0,n.useCallback)(e=>tt(t=>t===e?null:e),[]),ot=(0,n.useCallback)(()=>tt(null),[]),nt='quality'===et,it=(0,n.useCallback)(()=>at('quality'),[at]),lt=ot,st=(0,ne.useMotionHighlight)(e,!0);(0,ce.useEventHaptics)([e],!0);const rt=(0,ge.useCameraPrefsStore)(t=>t.prefs.byId[e]?.highlight),ut=(0,n.useMemo)(()=>(0,me.withHighlightDefaults)(rt),[rt]),ct=(0,ge.useCameraPrefsStore)(e=>e.setCameraHighlight),dt=(0,ge.useCameraPrefsStore)(e=>e.hydrate);(0,n.useEffect)(()=>{dt()},[dt]);const ht=(0,ue.useDetections)(e,ut.detection&&!0),gt=ut.detection&&ht.boxes.some(e=>0===ut.detectionClasses.length||ut.detectionClasses.includes(e.label)),_t=(0,he.useHeld)(gt,1e3*ut.detectionHoldSec),mt=(0,de.useAudioActive)(e,ut.audio,ut.audioDb),ft=(0,he.useHeld)('off'!==ut.audio&&mt,1e3*ut.audioHoldSec),pt=_t?'detection':ft?'audio':ut.motion&&st?'motion':null,vt=(0,n.useMemo)(()=>Object.assign({enabled:!0},ut,{appearance:Ge.highlight,motionHoldSec:Ge.grid.motionHoldSec}),[ut,Ge.highlight,Ge.grid.motionHoldSec]),[St,Ct]=(0,n.useState)(!1),bt=(0,n.useCallback)(()=>Ct(e=>!e),[]),[xt,kt]=(0,n.useState)(1),[Et,Ot]=(0,n.useState)(!1),Tt=(0,n.useRef)(null),[Ht,yt]=(0,n.useState)(0),wt=(0,n.useMemo)(()=>({scrubStart:()=>Tt.current?.scrubStart(),scrubTo:e=>Tt.current?.scrubTo(e),scrubCommit:e=>Tt.current?.scrubCommit(e),seek:e=>Tt.current?.seek(e),goLive:()=>{Tt.current?.goLive(),yt(e=>e+1),Ot(!1),kt(1)}}),[]),jt=(0,k.usePlaybackMachine)(wt),Dt='live'!==jt.state.mode,It=(0,n.useCallback)(()=>{Ot(e=>(Tt.current?.setRate(e?xt:0),!e))},[xt]),Wt=(0,n.useCallback)(e=>{kt(e),Et||Tt.current?.setRate(e)},[Et]),Bt=(0,n.useCallback)(e=>{Et||(Tt.current?.setRate(0),Ot(!0)),Tt.current?.stepFrame(e)},[Et]),At=(0,n.useRef)(t??null),Pt=(0,n.useCallback)(e=>{jt.reportEmbedState(e);const t=At.current;null!==t&&(At.current=null,jt.seek(t,'cluster'))},[jt]),[Lt,Rt]=(0,n.useState)(!0),Mt=(0,n.useRef)(!1);(0,n.useEffect)(()=>{Je&&!Mt.current&&(Mt.current=!0,Rt(!Ge.stream.audioOnOpen))},[Je,Ge.stream.audioOnOpen]);const zt='ptz'===et,Ft='devices'===et,Gt='export'===et,Jt='switcher'===et,Vt='menu'===et,[Kt,qt]=(0,n.useState)(!1),[Yt,Nt]=(0,n.useState)(()=>Date.now()),[Zt,$t]=(0,n.useState)(!1),[Qt,Ut]=(0,n.useState)(!1),[Xt,ea]=(0,n.useState)(!1),[ta,aa]=(0,n.useState)(!1),[oa,na]=(0,n.useState)(!1),[ia,la]=(0,n.useState)(!1),[sa,ra]=(0,n.useState)(!1),[ua,ca]=(0,n.useState)(!0),[da,ha]=(0,n.useState)(null),[ga,_a]=(0,n.useState)(!1),[ma,fa]=(0,n.useState)(e);ma!==e&&(fa(e),ha(null),_a(!1));const pa=(0,n.useCallback)(()=>_a(!0),[]),va=(0,n.useCallback)(()=>ha(null),[]),Sa=(0,n.useCallback)(e=>{ha(e),_a(!1)},[]),Ca=(0,n.useCallback)(()=>_a(!1),[]),ba=(0,n.useCallback)(()=>Rt(e=>!e),[]),xa=(0,n.useCallback)(()=>at('ptz'),[at]),ka=(0,n.useCallback)(()=>at('devices'),[at]),Ea=(0,n.useCallback)(()=>at('switcher'),[at]),Oa=(0,n.useCallback)(t=>{ot(),t!==e&&T.replace(`/camera/${t}`)},[T,e,ot]),Ta=(0,n.useCallback)(e=>{ot(),T.push(`/grid/adhoc?devices=${(0,N.serializeAdhocDeviceIds)(e)}`)},[T,ot]),Ha=(0,n.useCallback)(()=>$t(e=>!e),[]),ya=(0,n.useCallback)(()=>at('menu'),[at]),wa=ot,ja=(0,n.useCallback)(()=>aa(e=>!e),[]),Da=(0,n.useCallback)(()=>na(e=>!e),[]),Ia=(0,n.useCallback)(()=>at('export'),[at]),Wa=ot,Ba=(0,n.useCallback)(()=>{ot(),Nt((0,k.selectActiveEpoch)(jt.state)??Date.now()),qt(!0)},[jt.state,ot]),Aa=(0,n.useCallback)(()=>qt(!1),[]),Pa=(0,n.useCallback)(()=>{qt(!1),T.push('/exports')},[T]),La=(0,n.useCallback)(()=>ca(e=>!e),[]),Ra=(0,n.useCallback)(()=>ca(!1),[]),Ma=(0,n.useCallback)(()=>Tt.current?.startPip(),[]),za=(0,n.useCallback)(()=>Tt.current?.getStats()??Promise.resolve(null),[]),{talking:Fa,error:Ga,toggle:Ja}=(0,w.useIntercom)(e);(0,n.useEffect)(()=>{Ga&&u.default.alert(o('v2.cameraDetail.talk'),o('v2.cameraDetail.talkFailed'))},[Ga,o]);const Va=(0,$.useWideDetailLayout)(),Ka=Ae>Pe,qa=ia||Ka&&!Va,[Ya,Na]=(0,n.useState)(null),Za=(0,n.useCallback)(e=>{Na(e.nativeEvent.layout.width)},[]),$a=(0,n.useMemo)(()=>(0,U.computeWideDetailSizes)({containerWidth:Ya??Ae,viewportHeight:Pe}),[Ya,Ae,Pe]),Qa=(0,n.useMemo)(()=>9*Ae/16,[Ae]),Ua=(0,n.useMemo)(()=>Pe*ve,[Pe]),Xa=(0,y.useStreamZoom)(),eo=Xa.resetZoom;(0,n.useEffect)(()=>{eo()},[qa,eo]);const to=(0,n.useCallback)(()=>T.back(),[T]),ao=(0,n.useMemo)(()=>{const e=p.Gesture.Tap().numberOfTaps(1).onEnd((function({_worklet_6602635544675_init_data:e,runOnJS:t,onToggleControls:o}){const n=function(){t(o)()};return n.__closure={runOnJS:t,onToggleControls:o},n.__workletHash=6602635544675,n.__initData=e,n})({_worklet_6602635544675_init_data:Ee,runOnJS:v.runOnJS,onToggleControls:La})),t=p.Gesture.Tap().numberOfTaps(2).onEnd((function({_worklet_2914560570860_init_data:e,runOnJS:t,zoom:o}){const n=function(){t(o.resetZoom)()};return n.__closure={runOnJS:t,zoom:o},n.__workletHash=2914560570860,n.__initData=e,n})({_worklet_2914560570860_init_data:Oe,runOnJS:v.runOnJS,zoom:Xa})),o=p.Gesture.Exclusive(t,e),n=p.Gesture.Pan().minPointers(2).onEnd((function({_worklet_928138019551_init_data:e,BACK_SWIPE_DISTANCE:t,BACK_SWIPE_VELOCITY:o,runOnJS:n,onSwipeBack:l}){const s=function(e){e.translationY>t&&e.velocityY>o&&n(l)()};return s.__closure={BACK_SWIPE_DISTANCE:t,BACK_SWIPE_VELOCITY:o,runOnJS:n,onSwipeBack:l},s.__workletHash=928138019551,s.__initData=e,s})({_worklet_928138019551_init_data:Te,BACK_SWIPE_DISTANCE:Ce,BACK_SWIPE_VELOCITY:be,runOnJS:v.runOnJS,onSwipeBack:to}));return p.Gesture.Simultaneous(Xa.composeWith(n),o)},[Xa,La,to]),oo=Ge.stream.pinchExpandsHeight,no=(0,v.useDerivedValue)((function({_worklet_4062045311480_init_data:e,pinchExpandsHeight:t,defaultHeight:o,interpolate:n,zoom:l,HEIGHT_GROW_SCALE:s,maxHeight:u,Extrapolation:c}){const d=function(){return t?n(l.scale.value,[1,s],[o,u],c.CLAMP):o};return d.__closure={pinchExpandsHeight:t,defaultHeight:o,interpolate:n,zoom:l,HEIGHT_GROW_SCALE:s,maxHeight:u,Extrapolation:c},d.__workletHash=4062045311480,d.__initData=e,d})({_worklet_4062045311480_init_data:He,pinchExpandsHeight:oo,defaultHeight:Qa,interpolate:v.interpolate,zoom:Xa,HEIGHT_GROW_SCALE:Se,maxHeight:Ua,Extrapolation:v.Extrapolation}),[Qa,Ua,oo]),io=(0,v.useAnimatedStyle)((function({_worklet_8575313032359_init_data:e,liveBoxHeight:t}){const o=()=>({height:t.value});return o.__closure={liveBoxHeight:t},o.__workletHash=8575313032359,o.__initData=e,o})({_worklet_8575313032359_init_data:ye,liveBoxHeight:no})),lo=(0,v.useAnimatedStyle)((function({_worklet_15146728279256_init_data:e,liveBoxHeight:t,winWidth:o}){const n=function(){const e=t.value,n=Math.max(o,16*e/9);return{position:'absolute',top:0,left:(o-n)/2,width:n,height:e}};return n.__closure={liveBoxHeight:t,winWidth:o},n.__workletHash=0xdc69f5bccd8,n.__initData=e,n})({_worklet_15146728279256_init_data:we,liveBoxHeight:no,winWidth:Ae}),[Ae]),so=(0,v.useDerivedValue)((function({_worklet_12291157125883_init_data:e,isWideDetail:t,insets:o,TOOLBAR_HEIGHT:n,liveBoxHeight:l}){const s=()=>t?o.top+n:o.top+l.value+n;return s.__closure={isWideDetail:t,insets:o,TOOLBAR_HEIGHT:n,liveBoxHeight:l},s.__workletHash=0xb2dc20deafb,s.__initData=e,s})({_worklet_12291157125883_init_data:je,isWideDetail:Va,insets:Be,TOOLBAR_HEIGHT:xe,liveBoxHeight:no}),[Be.top,Va]),{ref:ro,isFullscreen:uo,toggle:co}=(0,x.useWebFullscreen)(),ho=(0,n.useCallback)(()=>{co()},[co]);(0,n.useEffect)(()=>{la(uo)},[uo]),(0,n.useEffect)(()=>{},[ia]);const go=(0,n.useCallback)(async()=>{const t=Le.getSystem();if(t){ra(!0);try{const n=await t.trpcClient.snapshot.getSnapshot.query({deviceId:e,force:!0});if(!n?.base64)return void u.default.alert(o('v2.cameraDetail.snapshot'),o('v2.cameraDetail.snapshotFailed'));const l=n.contentType.includes('png')?'png':'jpg',s=`${C.cacheDirectory}snapshot-${e}-${Date.now()}.${l}`;await C.writeAsStringAsync(s,n.base64,{encoding:C.EncodingType.Base64}),await b.isAvailableAsync()&&await b.shareAsync(s,{mimeType:n.contentType})}catch{u.default.alert(o('v2.cameraDetail.snapshot'),o('v2.cameraDetail.snapshotFailed'))}finally{ra(!1)}}},[Le,e,o]),_o=(0,n.useCallback)(()=>{ot(),go()},[go,ot]),mo=(0,k.selectPlaybackStatus)(jt.state),fo=mo.isLive&&!St,po=((0,n.useMemo)(()=>fo?vt:Object.assign({},vt,{enabled:!1,motion:!1,detection:!1,audio:'off'}),[vt,fo]),(0,n.useCallback)(()=>{const e=(0,E.jogTarget)(jt.state.playhead,-1);null!=e&&jt.seek(e,'timeline')},[jt])),vo=(0,n.useCallback)(()=>{const e=(0,E.jogTarget)(jt.state.playhead,1);null!=e&&jt.seek(e,'timeline')},[jt]),So=(0,pe.jsx)(S.default.View,{style:qa?Ie.videoWrapFull:Va?[Ie.videoWrap,{width:$a.streamWidth,height:$a.streamHeight}]:oo?[Ie.videoWrap,io]:[Ie.videoWrap,{height:Qa}],children:(0,pe.jsxs)(l.default,{style:Ie.videoContent,children:[(0,pe.jsxs)(S.default.View,{style:qa||Va?[c.default.absoluteFill,Xa.videoStyle]:[lo,Xa.videoStyle],children:[St&&!Dt?(0,pe.jsx)(De,{deviceId:e}):(0,pe.jsx)(H.LiveView,{ref:Tt,deviceId:e,muted:Lt,target:Ue,showStats:ta&&!1,highlight:void 0,onPlaybackState:Pt,onPosition:jt.reportPosition},Ht),Zt&&fo?(0,pe.jsx)(V.MotionBoxesOverlay,{deviceId:e,enabled:Zt}):null,oa&&fo?(0,pe.jsx)(K.AudioLevelMeter,{deviceId:e,enabled:oa}):null]}),(0,pe.jsx)(p.GestureDetector,{gesture:ao,children:(0,pe.jsx)(S.default.View,{style:c.default.absoluteFill,onLayout:Xa.onLayout})}),null===da||ga?null:(0,pe.jsx)(Y.ZoneActiveOverlay,{zone:da}),'seeking'===jt.state.mode?(0,pe.jsx)(W.ScrubPlayerPreview,{deviceId:e,atMs:(0,k.selectActiveEpoch)(jt.state)}):null,'gap'===jt.state.mode?(0,pe.jsxs)(l.default,{pointerEvents:"none",style:[c.default.absoluteFill,Ie.noRecOverlay],children:[(0,pe.jsx)(te.VideoOff,{size:28,color:"#9aa0a6"}),(0,pe.jsx)(s.default,{style:Ie.noRecTitle,children:o('v2.theater.noRecording')}),(0,pe.jsx)(s.default,{style:Ie.noRecHint,children:o('v2.theater.noRecordingHint')})]}):null,pt&&fo?(0,pe.jsx)(l.default,{pointerEvents:"none",style:[c.default.absoluteFill,{borderWidth:Ge.highlight.thickness,borderColor:'motion'===pt?Ge.highlight.motionColor:'audio'===pt?Ge.highlight.audioColor:Ge.highlight.detectionColor}]}):null,ua?(0,pe.jsxs)(l.default,{style:Ie.nameTag,pointerEvents:"none",children:[(0,pe.jsx)(le.CameraStatusDot,{deviceId:e,online:ze,disabled:Fe,size:9}),(0,pe.jsx)(s.default,{style:Ie.nameText,numberOfLines:1,children:Re})]}):null,st&&fo?(0,pe.jsx)(ie.MotionBadge,{}):null,(0,pe.jsx)(re.DoorbellBadge,{deviceId:e,enabled:qe}),(0,pe.jsx)(se.OccupancyBadge,{deviceId:e,enabled:mo.isLive&&!St}),ua&&!mo.isLive?(0,pe.jsx)(l.default,{style:Ie.jogRow,children:(0,pe.jsx)(D.RecordedTransportBar,{rate:xt,paused:Et,onJogBack:po,onJogForward:vo,onStepFrame:Bt,onSelectRate:Wt})}):null,ta?(0,pe.jsx)(J.StreamStatsOverlay,{getStats:za}):null,(0,pe.jsx)(j.StreamOverlayControls,{visible:ua,onRequestHide:Ra,paused:Dt?Et:St,onTogglePause:Dt?It:bt,muted:Lt,onToggleMute:ba,hasTwoWayAudio:Ke,talking:Fa,onToggleTalk:Ja,onStartPip:Ma,fullscreen:ia,onToggleFullscreen:ho}),ga?(0,pe.jsx)(q.ZoneDrawOverlay,{zone:da,onConfirm:Sa,onCancel:Ca}):null]})}),Co=Va?'right':void 0,bo=Va?$a.railWidth:void 0,xo=(0,pe.jsx)(Z.TheaterTimeline,{deviceId:e,hideBack:Va,name:Re,onBack:()=>T.back(),hasPtz:Ve,ptzOpen:zt,onTogglePtz:xa,devicesOpen:Ft,onToggleDevices:ka,menuOpen:Vt,onToggleMenu:ya,exportMenuOpen:Gt,onToggleExportMenu:Ia,snapshotBusy:sa,quality:Ze,qualityOpen:nt,onToggleQuality:it,mode:jt.state.mode,activeEpoch:(0,k.selectActiveEpoch)(jt.state),onSeek:jt.seek,onScrubBegin:jt.beginScrub,onScrubMove:jt.moveScrub,onScrubCommit:jt.commitScrub,onGoLive:jt.goLive,zoneRect:da,onRequestZoneDraw:pa,onClearZone:va,onPickCamera:Ea});return(0,pe.jsxs)(l.default,{ref:ro,onLayout:Za,style:{flex:1,backgroundColor:X.background,paddingTop:qa?0:Be.top},children:[(0,pe.jsx)(f.StatusBar,{hidden:qa,style:qa||'dark'===We?'light':'dark'}),qa?So:Va?(0,pe.jsx)(Q.WideDetailLayout,{railWidth:$a.railWidth,stream:So,timeline:xo}):(0,pe.jsxs)(pe.Fragment,{children:[So,xo]}),zt?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.ptz.title'),onClose:xa,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(B.PtzControls,{deviceId:e,hasFeature:Ve})}):null,Ft?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.cameraDetail.devices'),onClose:ka,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(P.DevicesPanel,{deviceId:e})}):null,Jt?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.cameraSwitcher.title'),onClose:Ea,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(L.CameraSwitcherPanel,{currentId:e,onSwitch:Oa,onOpenGrid:Ta})}):null,Vt?(0,pe.jsx)(R.CameraMenuPanel,{boundingBoxesOn:Zt,onToggleBoundingBoxes:Ha,statsOn:ta,onToggleStats:ja,audioMeterOn:oa,onToggleAudioMeter:Da,highlight:ut,onSetHighlight:t=>ct(e,Object.assign({},ut,t)),onOpenStorage:()=>{ot(),Ut(!0)},onOpenEvents:()=>{ot(),ea(!0)},onClose:wa,topOffset:so,align:Co,maxWidth:bo}):null,nt?(0,pe.jsx)(I.QualityPicker,{value:Ze,onChange:Xe,onClose:lt,topOffset:so,align:Co,maxWidth:bo}):null,Gt?(0,pe.jsx)(z.ExportActionsPanel,{onSnapshot:_o,snapshotBusy:sa,onOpenExport:Ba,onClose:Wa,topOffset:so,align:Co,maxWidth:bo}):null,(0,pe.jsx)(M.ExportModal,{visible:Kt,deviceId:e,anchorEpoch:Yt,onClose:Aa,onCreated:Pa}),(0,pe.jsx)(F.StorageManagementModal,{visible:Qt,deviceId:e,cameraName:Re,onClose:()=>Ut(!1)}),(0,pe.jsx)(G.EventsManagementModal,{visible:Xt,deviceId:e,cameraName:Re,onClose:()=>ea(!1)})]})};var o=r(_d[0]),n=r(_d[1]),l=e(r(_d[2])),s=e(r(_d[3])),u=e(r(_d[4])),c=e(r(_d[5])),d=e(r(_d[6]));r(_d[7]);var h=r(_d[8]),_=r(_d[9]),m=r(_d[10]),f=r(_d[11]),p=r(_d[12]),v=r(_d[13]),S=e(v),C=(t(r(_d[14])),t(r(_d[15]))),b=t(r(_d[16])),x=r(_d[17]),k=r(_d[18]),E=r(_d[19]),O=r(_d[20]),T=r(_d[21]),H=r(_d[22]),y=r(_d[23]),w=r(_d[24]),j=r(_d[25]),D=r(_d[26]),I=r(_d[27]),W=r(_d[28]),B=r(_d[29]),A=r(_d[30]),P=r(_d[31]),L=r(_d[32]),R=r(_d[33]),M=r(_d[34]),z=r(_d[35]),F=r(_d[36]),G=r(_d[37]),J=r(_d[38]),V=r(_d[39]),K=r(_d[40]),q=r(_d[41]),Y=r(_d[42]),N=r(_d[43]),Z=r(_d[44]),$=r(_d[45]),Q=r(_d[46]),U=r(_d[47]),X=r(_d[48]),ee=r(_d[49]),te=r(_d[50]),ae=r(_d[51]),oe=r(_d[52]),ne=r(_d[53]),ie=r(_d[54]),le=r(_d[55]),se=r(_d[56]),re=r(_d[57]),ue=r(_d[58]),ce=r(_d[59]),de=r(_d[60]),he=r(_d[61]),ge=r(_d[62]),me=r(_d[63]),fe=r(_d[64]),pe=r(_d[65]);const ve=.5,Se=2.5,Ce=80,be=400,xe=47;function ke(e){const t=(0,o.c)(18),{t:n}=(0,h.useTranslation)(),{data:l}=(0,ee.useCameras)();let s;t[0]!==l?(s=void 0===l?[]:l,t[0]=l,t[1]=s):s=t[1];const u=s;let c;if(t[2]!==u||t[3]!==e){let o;t[5]!==e?(o=t=>t.id===e,t[5]=e,t[6]=o):o=t[6],c=u.find(o),t[2]=u,t[3]=e,t[4]=c}else c=t[4];const d=c;let _,m;t[7]!==d?.name||t[8]!==e||t[9]!==n?(_=d?.name??n("v2.cameraDetail.fallbackName",{id:e}),t[7]=d?.name,t[8]=e,t[9]=n,t[10]=_):_=t[10],t[11]!==d?.features?(m=d?.features??[],t[11]=d?.features,t[12]=m):m=t[12];const f=d?.online??!1,p=d?.disabled??!1;let v;return t[13]!==_||t[14]!==m||t[15]!==f||t[16]!==p?(v={name:_,features:m,online:f,disabled:p},t[13]=_,t[14]=m,t[15]=f,t[16]=p,t[17]=v):v=t[17],v}const Ee={code:"function CameraDetailScreenTsx1(){const{runOnJS,onToggleControls}=this.__closure;runOnJS(onToggleControls)();}"},Oe={code:"function CameraDetailScreenTsx2(){const{runOnJS,zoom}=this.__closure;runOnJS(zoom.resetZoom)();}"},Te={code:"function CameraDetailScreenTsx3(e_0){const{BACK_SWIPE_DISTANCE,BACK_SWIPE_VELOCITY,runOnJS,onSwipeBack}=this.__closure;if(e_0.translationY>BACK_SWIPE_DISTANCE&&e_0.velocityY>BACK_SWIPE_VELOCITY){runOnJS(onSwipeBack)();}}"},He={code:"function CameraDetailScreenTsx4(){const{pinchExpandsHeight,defaultHeight,interpolate,zoom,HEIGHT_GROW_SCALE,maxHeight,Extrapolation}=this.__closure;if(!pinchExpandsHeight)return defaultHeight;return interpolate(zoom.scale.value,[1,HEIGHT_GROW_SCALE],[defaultHeight,maxHeight],Extrapolation.CLAMP);}"},ye={code:"function CameraDetailScreenTsx5(){const{liveBoxHeight}=this.__closure;return{height:liveBoxHeight.value};}"},we={code:"function CameraDetailScreenTsx6(){const{liveBoxHeight,winWidth}=this.__closure;const h=liveBoxHeight.value;const coverWidth=Math.max(winWidth,h*16/9);return{position:'absolute',top:0,left:(winWidth-coverWidth)/2,width:coverWidth,height:h};}"},je={code:"function CameraDetailScreenTsx7(){const{isWideDetail,insets,TOOLBAR_HEIGHT,liveBoxHeight}=this.__closure;return isWideDetail?insets.top+TOOLBAR_HEIGHT:insets.top+liveBoxHeight.value+TOOLBAR_HEIGHT;}"};function De(e){const t=(0,o.c)(7),{deviceId:n}=e,{uri:s,headers:u,onLoad:d,onError:h}=(0,X.useSnapshot)(n,!0);let _,m;return t[0]!==u||t[1]!==h||t[2]!==d||t[3]!==s?(_=s?(0,pe.jsx)(T.Image,{source:u?{uri:s,headers:u}:{uri:s},style:c.default.absoluteFill,contentFit:"cover",cachePolicy:"memory-disk",onLoad:d,onError:h}):null,t[0]=u,t[1]=h,t[2]=d,t[3]=s,t[4]=_):_=t[4],t[5]!==_?(m=(0,pe.jsx)(l.default,{style:Ie.poster,children:_}),t[5]=_,t[6]=m):m=t[6],m}const Ie=c.default.create({videoWrap:{position:'relative',width:'100%',overflow:'hidden',backgroundColor:'#000'},videoWrapFull:Object.assign({},c.default.absoluteFill,{zIndex:50,backgroundColor:'#000'}),videoContent:{flex:1,overflow:'hidden'},noRecOverlay:{alignItems:'center',justifyContent:'center',gap:6,backgroundColor:'rgba(0,0,0,0.55)'},noRecTitle:{color:'#e8eaed',fontSize:15,fontWeight:'600'},noRecHint:{color:'#9aa0a6',fontSize:12},poster:{flex:1,backgroundColor:'#000'},nameTag:{position:'absolute',top:8,left:8,maxWidth:'70%',flexDirection:'row',alignItems:'center',gap:6,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:'#00000080'},nameText:{color:'#fafaf9',fontSize:13,fontWeight:'600'},jogRow:{position:'absolute',bottom:56,alignSelf:'center'}})},3428,[15,17,20,112,133,33,277,136,786,743,466,3429,3241,2714,3431,3434,3439,3443,3444,3445,2587,3053,3446,3454,3455,3456,3457,3459,3462,3466,3460,3468,3485,3486,3487,3491,3492,3494,3495,3496,3497,3500,3502,3503,3504,2590,3525,3526,3143,3080,813,2594,3177,3156,3527,3158,3164,3528,3385,3530,3498,3532,3132,3139,3533,10]);
15849
+ __d(function(g,r,i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function t(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraDetailScreen=function({deviceId:e,initialSeekMs:t}){const{t:o}=(0,h.useTranslation)(),T=(0,_.useRouter)(),{colors:X,mode:We}=(0,O.useTheme)(),Be=(0,m.useSafeAreaInsets)(),{width:Ae,height:Pe}=(0,d.default)(),{controller:Le}=(0,ae.useConnection)(),{name:Re,features:Me,online:ze,disabled:Fe}=ke(e),{settings:Ge,hydrated:Je}=(0,oe.useSettings)(),Ve=Me.includes(ee.FEATURE.ptz),Ke=Me.includes(ee.FEATURE.twoWayAudio),qe=Me.includes(ee.FEATURE.doorbell),Ye=(0,ge.useCameraPrefsStore)(t=>t.prefs.byId[e]?.quality),Ne=(0,ge.useCameraPrefsStore)(e=>e.setCameraQuality),[Ze,$e]=(0,n.useState)(Ye??'auto'),Qe=(0,n.useRef)(!1);(0,n.useEffect)(()=>{Ye&&!Qe.current&&(Qe.current=!0,$e(Ye))},[Ye]);const Ue=(0,n.useMemo)(()=>(0,fe.qualityToTarget)(Ze),[Ze]),Xe=(0,n.useCallback)(t=>{$e(t),Ne(e,t)},[e,Ne]),[et,tt]=(0,n.useState)(null),at=(0,n.useCallback)(e=>tt(t=>t===e?null:e),[]),ot=(0,n.useCallback)(()=>tt(null),[]),nt='quality'===et,it=(0,n.useCallback)(()=>at('quality'),[at]),lt=ot,st=(0,ne.useMotionHighlight)(e,!0);(0,ce.useEventHaptics)([e],!0);const rt=(0,ge.useCameraPrefsStore)(t=>t.prefs.byId[e]?.highlight),ut=(0,n.useMemo)(()=>(0,me.withHighlightDefaults)(rt),[rt]),ct=(0,ge.useCameraPrefsStore)(e=>e.setCameraHighlight),dt=(0,ge.useCameraPrefsStore)(e=>e.hydrate);(0,n.useEffect)(()=>{dt()},[dt]);const ht=(0,ue.useDetections)(e,ut.detection&&!0),gt=ut.detection&&ht.boxes.some(e=>0===ut.detectionClasses.length||ut.detectionClasses.includes(e.label)),_t=(0,he.useHeld)(gt,1e3*ut.detectionHoldSec),mt=(0,de.useAudioActive)(e,ut.audio,ut.audioDb),ft=(0,he.useHeld)('off'!==ut.audio&&mt,1e3*ut.audioHoldSec),pt=_t?'detection':ft?'audio':ut.motion&&st?'motion':null,vt=(0,n.useMemo)(()=>Object.assign({enabled:!0},ut,{appearance:Ge.highlight,motionHoldSec:Ge.grid.motionHoldSec}),[ut,Ge.highlight,Ge.grid.motionHoldSec]),[St,Ct]=(0,n.useState)(!1),bt=(0,n.useCallback)(()=>Ct(e=>!e),[]),[xt,kt]=(0,n.useState)(1),[Et,Ot]=(0,n.useState)(!1),Tt=(0,n.useRef)(null),[Ht,yt]=(0,n.useState)(0),wt=(0,n.useMemo)(()=>({scrubStart:()=>Tt.current?.scrubStart(),scrubTo:e=>Tt.current?.scrubTo(e),scrubCommit:e=>Tt.current?.scrubCommit(e),seek:e=>Tt.current?.seek(e),goLive:()=>{Tt.current?.goLive(),yt(e=>e+1),Ot(!1),kt(1)}}),[]),jt=(0,k.usePlaybackMachine)(wt),Dt='live'!==jt.state.mode,It=(0,n.useCallback)(()=>{Ot(e=>(Tt.current?.setRate(e?xt:0),!e))},[xt]),Wt=(0,n.useCallback)(e=>{kt(e),Et||Tt.current?.setRate(e)},[Et]),Bt=(0,n.useCallback)(e=>{Et||(Tt.current?.setRate(0),Ot(!0)),Tt.current?.stepFrame(e)},[Et]),At=(0,n.useRef)(t??null),Pt=(0,n.useCallback)(e=>{jt.reportEmbedState(e);const t=At.current;null!==t&&(At.current=null,jt.seek(t,'cluster'))},[jt]),[Lt,Rt]=(0,n.useState)(!0),Mt=(0,n.useRef)(!1);(0,n.useEffect)(()=>{Je&&!Mt.current&&(Mt.current=!0,Rt(!Ge.stream.audioOnOpen))},[Je,Ge.stream.audioOnOpen]);const zt='ptz'===et,Ft='devices'===et,Gt='export'===et,Jt='switcher'===et,Vt='menu'===et,[Kt,qt]=(0,n.useState)(!1),[Yt,Nt]=(0,n.useState)(()=>Date.now()),[Zt,$t]=(0,n.useState)(!1),[Qt,Ut]=(0,n.useState)(!1),[Xt,ea]=(0,n.useState)(!1),[ta,aa]=(0,n.useState)(!1),[oa,na]=(0,n.useState)('off'),[ia,la]=(0,n.useState)(!1),[sa,ra]=(0,n.useState)(!1),[ua,ca]=(0,n.useState)(!0),[da,ha]=(0,n.useState)(null),[ga,_a]=(0,n.useState)(!1),[ma,fa]=(0,n.useState)(e);ma!==e&&(fa(e),ha(null),_a(!1));const pa=(0,n.useCallback)(()=>_a(!0),[]),va=(0,n.useCallback)(()=>ha(null),[]),Sa=(0,n.useCallback)(e=>{ha(e),_a(!1)},[]),Ca=(0,n.useCallback)(()=>_a(!1),[]),ba=(0,n.useCallback)(()=>Rt(e=>!e),[]),xa=(0,n.useCallback)(()=>at('ptz'),[at]),ka=(0,n.useCallback)(()=>at('devices'),[at]),Ea=(0,n.useCallback)(()=>at('switcher'),[at]),Oa=(0,n.useCallback)(t=>{ot(),t!==e&&T.replace(`/camera/${t}`)},[T,e,ot]),Ta=(0,n.useCallback)(e=>{ot(),T.push(`/grid/adhoc?devices=${(0,N.serializeAdhocDeviceIds)(e)}`)},[T,ot]),Ha=(0,n.useCallback)(()=>$t(e=>!e),[]),ya=(0,n.useCallback)(()=>at('menu'),[at]),wa=ot,ja=(0,n.useCallback)(()=>aa(e=>!e),[]),Da=(0,n.useCallback)(e=>na(e),[]),Ia=(0,n.useCallback)(()=>at('export'),[at]),Wa=ot,Ba=(0,n.useCallback)(()=>{ot(),Nt((0,k.selectActiveEpoch)(jt.state)??Date.now()),qt(!0)},[jt.state,ot]),Aa=(0,n.useCallback)(()=>qt(!1),[]),Pa=(0,n.useCallback)(()=>{qt(!1),T.push('/exports')},[T]),La=(0,n.useCallback)(()=>ca(e=>!e),[]),Ra=(0,n.useCallback)(()=>ca(!1),[]),Ma=(0,n.useCallback)(()=>Tt.current?.startPip(),[]),za=(0,n.useCallback)(()=>Tt.current?.getStats()??Promise.resolve(null),[]),{talking:Fa,error:Ga,toggle:Ja}=(0,w.useIntercom)(e);(0,n.useEffect)(()=>{Ga&&u.default.alert(o('v2.cameraDetail.talk'),o('v2.cameraDetail.talkFailed'))},[Ga,o]);const Va=(0,$.useWideDetailLayout)(),Ka=Ae>Pe,qa=ia||Ka&&!Va,[Ya,Na]=(0,n.useState)(null),Za=(0,n.useCallback)(e=>{Na(e.nativeEvent.layout.width)},[]),$a=(0,n.useMemo)(()=>(0,U.computeWideDetailSizes)({containerWidth:Ya??Ae,viewportHeight:Pe}),[Ya,Ae,Pe]),Qa=(0,n.useMemo)(()=>9*Ae/16,[Ae]),Ua=(0,n.useMemo)(()=>Pe*ve,[Pe]),Xa=(0,y.useStreamZoom)(),eo=Xa.resetZoom;(0,n.useEffect)(()=>{eo()},[qa,eo]);const to=(0,n.useCallback)(()=>T.back(),[T]),ao=(0,n.useMemo)(()=>{const e=p.Gesture.Tap().numberOfTaps(1).onEnd((function({_worklet_6602635544675_init_data:e,runOnJS:t,onToggleControls:o}){const n=function(){t(o)()};return n.__closure={runOnJS:t,onToggleControls:o},n.__workletHash=6602635544675,n.__initData=e,n})({_worklet_6602635544675_init_data:Ee,runOnJS:v.runOnJS,onToggleControls:La})),t=p.Gesture.Tap().numberOfTaps(2).onEnd((function({_worklet_2914560570860_init_data:e,runOnJS:t,zoom:o}){const n=function(){t(o.resetZoom)()};return n.__closure={runOnJS:t,zoom:o},n.__workletHash=2914560570860,n.__initData=e,n})({_worklet_2914560570860_init_data:Oe,runOnJS:v.runOnJS,zoom:Xa})),o=p.Gesture.Exclusive(t,e),n=p.Gesture.Pan().minPointers(2).onEnd((function({_worklet_928138019551_init_data:e,BACK_SWIPE_DISTANCE:t,BACK_SWIPE_VELOCITY:o,runOnJS:n,onSwipeBack:l}){const s=function(e){e.translationY>t&&e.velocityY>o&&n(l)()};return s.__closure={BACK_SWIPE_DISTANCE:t,BACK_SWIPE_VELOCITY:o,runOnJS:n,onSwipeBack:l},s.__workletHash=928138019551,s.__initData=e,s})({_worklet_928138019551_init_data:Te,BACK_SWIPE_DISTANCE:Ce,BACK_SWIPE_VELOCITY:be,runOnJS:v.runOnJS,onSwipeBack:to}));return p.Gesture.Simultaneous(Xa.composeWith(n),o)},[Xa,La,to]),oo=Ge.stream.pinchExpandsHeight,no=(0,v.useDerivedValue)((function({_worklet_4062045311480_init_data:e,pinchExpandsHeight:t,defaultHeight:o,interpolate:n,zoom:l,HEIGHT_GROW_SCALE:s,maxHeight:u,Extrapolation:c}){const d=function(){return t?n(l.scale.value,[1,s],[o,u],c.CLAMP):o};return d.__closure={pinchExpandsHeight:t,defaultHeight:o,interpolate:n,zoom:l,HEIGHT_GROW_SCALE:s,maxHeight:u,Extrapolation:c},d.__workletHash=4062045311480,d.__initData=e,d})({_worklet_4062045311480_init_data:He,pinchExpandsHeight:oo,defaultHeight:Qa,interpolate:v.interpolate,zoom:Xa,HEIGHT_GROW_SCALE:Se,maxHeight:Ua,Extrapolation:v.Extrapolation}),[Qa,Ua,oo]),io=(0,v.useAnimatedStyle)((function({_worklet_8575313032359_init_data:e,liveBoxHeight:t}){const o=()=>({height:t.value});return o.__closure={liveBoxHeight:t},o.__workletHash=8575313032359,o.__initData=e,o})({_worklet_8575313032359_init_data:ye,liveBoxHeight:no})),lo=(0,v.useAnimatedStyle)((function({_worklet_15146728279256_init_data:e,liveBoxHeight:t,winWidth:o}){const n=function(){const e=t.value,n=Math.max(o,16*e/9);return{position:'absolute',top:0,left:(o-n)/2,width:n,height:e}};return n.__closure={liveBoxHeight:t,winWidth:o},n.__workletHash=0xdc69f5bccd8,n.__initData=e,n})({_worklet_15146728279256_init_data:we,liveBoxHeight:no,winWidth:Ae}),[Ae]),so=(0,v.useDerivedValue)((function({_worklet_12291157125883_init_data:e,isWideDetail:t,insets:o,TOOLBAR_HEIGHT:n,liveBoxHeight:l}){const s=()=>t?o.top+n:o.top+l.value+n;return s.__closure={isWideDetail:t,insets:o,TOOLBAR_HEIGHT:n,liveBoxHeight:l},s.__workletHash=0xb2dc20deafb,s.__initData=e,s})({_worklet_12291157125883_init_data:je,isWideDetail:Va,insets:Be,TOOLBAR_HEIGHT:xe,liveBoxHeight:no}),[Be.top,Va]),{ref:ro,isFullscreen:uo,toggle:co}=(0,x.useWebFullscreen)(),ho=(0,n.useCallback)(()=>{co()},[co]);(0,n.useEffect)(()=>{la(uo)},[uo]),(0,n.useEffect)(()=>{},[ia]);const go=(0,n.useCallback)(async()=>{const t=Le.getSystem();if(t){ra(!0);try{const n=await t.trpcClient.snapshot.getSnapshot.query({deviceId:e,force:!0});if(!n?.base64)return void u.default.alert(o('v2.cameraDetail.snapshot'),o('v2.cameraDetail.snapshotFailed'));const l=n.contentType.includes('png')?'png':'jpg',s=`${C.cacheDirectory}snapshot-${e}-${Date.now()}.${l}`;await C.writeAsStringAsync(s,n.base64,{encoding:C.EncodingType.Base64}),await b.isAvailableAsync()&&await b.shareAsync(s,{mimeType:n.contentType})}catch{u.default.alert(o('v2.cameraDetail.snapshot'),o('v2.cameraDetail.snapshotFailed'))}finally{ra(!1)}}},[Le,e,o]),_o=(0,n.useCallback)(()=>{ot(),go()},[go,ot]),mo=(0,k.selectPlaybackStatus)(jt.state),fo=mo.isLive&&!St,po=((0,n.useMemo)(()=>fo?vt:Object.assign({},vt,{enabled:!1,motion:!1,detection:!1,audio:'off'}),[vt,fo]),(0,n.useCallback)(()=>{const e=(0,E.jogTarget)(jt.state.playhead,-1);null!=e&&jt.seek(e,'timeline')},[jt])),vo=(0,n.useCallback)(()=>{const e=(0,E.jogTarget)(jt.state.playhead,1);null!=e&&jt.seek(e,'timeline')},[jt]),So=(0,pe.jsx)(S.default.View,{style:qa?Ie.videoWrapFull:Va?[Ie.videoWrap,{width:$a.streamWidth,height:$a.streamHeight}]:oo?[Ie.videoWrap,io]:[Ie.videoWrap,{height:Qa}],children:(0,pe.jsxs)(l.default,{style:Ie.videoContent,children:[(0,pe.jsxs)(S.default.View,{style:qa||Va?[c.default.absoluteFill,Xa.videoStyle]:[lo,Xa.videoStyle],children:[St&&!Dt?(0,pe.jsx)(De,{deviceId:e}):(0,pe.jsx)(H.LiveView,{ref:Tt,deviceId:e,muted:Lt,target:Ue,showStats:ta&&!1,highlight:void 0,onPlaybackState:Pt,onPosition:jt.reportPosition},Ht),Zt&&fo?(0,pe.jsx)(V.MotionBoxesOverlay,{deviceId:e,enabled:Zt}):null,'off'!==oa&&fo?(0,pe.jsx)(K.AudioLevelMeter,{deviceId:e,position:oa}):null]}),(0,pe.jsx)(p.GestureDetector,{gesture:ao,children:(0,pe.jsx)(S.default.View,{style:c.default.absoluteFill,onLayout:Xa.onLayout})}),null===da||ga?null:(0,pe.jsx)(Y.ZoneActiveOverlay,{zone:da}),'seeking'===jt.state.mode?(0,pe.jsx)(W.ScrubPlayerPreview,{deviceId:e,atMs:(0,k.selectActiveEpoch)(jt.state)}):null,'gap'===jt.state.mode?(0,pe.jsxs)(l.default,{pointerEvents:"none",style:[c.default.absoluteFill,Ie.noRecOverlay],children:[(0,pe.jsx)(te.VideoOff,{size:28,color:"#9aa0a6"}),(0,pe.jsx)(s.default,{style:Ie.noRecTitle,children:o('v2.theater.noRecording')}),(0,pe.jsx)(s.default,{style:Ie.noRecHint,children:o('v2.theater.noRecordingHint')})]}):null,pt&&fo?(0,pe.jsx)(l.default,{pointerEvents:"none",style:[c.default.absoluteFill,{borderWidth:Ge.highlight.thickness,borderColor:'motion'===pt?Ge.highlight.motionColor:'audio'===pt?Ge.highlight.audioColor:Ge.highlight.detectionColor}]}):null,ua?(0,pe.jsxs)(l.default,{style:Ie.nameTag,pointerEvents:"none",children:[(0,pe.jsx)(le.CameraStatusDot,{deviceId:e,online:ze,disabled:Fe,size:9}),(0,pe.jsx)(s.default,{style:Ie.nameText,numberOfLines:1,children:Re})]}):null,st&&fo?(0,pe.jsx)(ie.MotionBadge,{}):null,(0,pe.jsx)(re.DoorbellBadge,{deviceId:e,enabled:qe}),(0,pe.jsx)(se.OccupancyBadge,{deviceId:e,enabled:mo.isLive&&!St}),ua&&!mo.isLive?(0,pe.jsx)(l.default,{style:Ie.jogRow,children:(0,pe.jsx)(D.RecordedTransportBar,{rate:xt,paused:Et,onJogBack:po,onJogForward:vo,onStepFrame:Bt,onSelectRate:Wt})}):null,ta?(0,pe.jsx)(J.StreamStatsOverlay,{getStats:za}):null,(0,pe.jsx)(j.StreamOverlayControls,{visible:ua,onRequestHide:Ra,paused:Dt?Et:St,onTogglePause:Dt?It:bt,muted:Lt,onToggleMute:ba,hasTwoWayAudio:Ke,talking:Fa,onToggleTalk:Ja,onStartPip:Ma,fullscreen:ia,onToggleFullscreen:ho}),ga?(0,pe.jsx)(q.ZoneDrawOverlay,{zone:da,onConfirm:Sa,onCancel:Ca}):null]})}),Co=Va?'right':void 0,bo=Va?$a.railWidth:void 0,xo=(0,pe.jsx)(Z.TheaterTimeline,{deviceId:e,hideBack:Va,name:Re,onBack:()=>T.back(),hasPtz:Ve,ptzOpen:zt,onTogglePtz:xa,devicesOpen:Ft,onToggleDevices:ka,menuOpen:Vt,onToggleMenu:ya,exportMenuOpen:Gt,onToggleExportMenu:Ia,snapshotBusy:sa,quality:Ze,qualityOpen:nt,onToggleQuality:it,mode:jt.state.mode,activeEpoch:(0,k.selectActiveEpoch)(jt.state),onSeek:jt.seek,onScrubBegin:jt.beginScrub,onScrubMove:jt.moveScrub,onScrubCommit:jt.commitScrub,onGoLive:jt.goLive,zoneRect:da,onRequestZoneDraw:pa,onClearZone:va,onPickCamera:Ea});return(0,pe.jsxs)(l.default,{ref:ro,onLayout:Za,style:{flex:1,backgroundColor:X.background,paddingTop:qa?0:Be.top},children:[(0,pe.jsx)(f.StatusBar,{hidden:qa,style:qa||'dark'===We?'light':'dark'}),qa?So:Va?(0,pe.jsx)(Q.WideDetailLayout,{railWidth:$a.railWidth,stream:So,timeline:xo}):(0,pe.jsxs)(pe.Fragment,{children:[So,xo]}),zt?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.ptz.title'),onClose:xa,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(B.PtzControls,{deviceId:e,hasFeature:Ve})}):null,Ft?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.cameraDetail.devices'),onClose:ka,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(P.DevicesPanel,{deviceId:e})}):null,Jt?(0,pe.jsx)(A.FloatingPanel,{title:o('v2.cameraSwitcher.title'),onClose:Ea,closeLabel:o('v2.cameraDetail.close'),topOffset:so,align:Co,maxWidth:bo,children:(0,pe.jsx)(L.CameraSwitcherPanel,{currentId:e,onSwitch:Oa,onOpenGrid:Ta})}):null,Vt?(0,pe.jsx)(R.CameraMenuPanel,{boundingBoxesOn:Zt,onToggleBoundingBoxes:Ha,statsOn:ta,onToggleStats:ja,audioPosition:oa,onSetAudioPosition:Da,highlight:ut,onSetHighlight:t=>ct(e,Object.assign({},ut,t)),onOpenStorage:()=>{ot(),Ut(!0)},onOpenEvents:()=>{ot(),ea(!0)},onClose:wa,topOffset:so,align:Co,maxWidth:bo}):null,nt?(0,pe.jsx)(I.QualityPicker,{value:Ze,onChange:Xe,onClose:lt,topOffset:so,align:Co,maxWidth:bo}):null,Gt?(0,pe.jsx)(z.ExportActionsPanel,{onSnapshot:_o,snapshotBusy:sa,onOpenExport:Ba,onClose:Wa,topOffset:so,align:Co,maxWidth:bo}):null,(0,pe.jsx)(M.ExportModal,{visible:Kt,deviceId:e,anchorEpoch:Yt,onClose:Aa,onCreated:Pa}),(0,pe.jsx)(F.StorageManagementModal,{visible:Qt,deviceId:e,cameraName:Re,onClose:()=>Ut(!1)}),(0,pe.jsx)(G.EventsManagementModal,{visible:Xt,deviceId:e,cameraName:Re,onClose:()=>ea(!1)})]})};var o=r(_d[0]),n=r(_d[1]),l=e(r(_d[2])),s=e(r(_d[3])),u=e(r(_d[4])),c=e(r(_d[5])),d=e(r(_d[6]));r(_d[7]);var h=r(_d[8]),_=r(_d[9]),m=r(_d[10]),f=r(_d[11]),p=r(_d[12]),v=r(_d[13]),S=e(v),C=(t(r(_d[14])),t(r(_d[15]))),b=t(r(_d[16])),x=r(_d[17]),k=r(_d[18]),E=r(_d[19]),O=r(_d[20]),T=r(_d[21]),H=r(_d[22]),y=r(_d[23]),w=r(_d[24]),j=r(_d[25]),D=r(_d[26]),I=r(_d[27]),W=r(_d[28]),B=r(_d[29]),A=r(_d[30]),P=r(_d[31]),L=r(_d[32]),R=r(_d[33]),M=r(_d[34]),z=r(_d[35]),F=r(_d[36]),G=r(_d[37]),J=r(_d[38]),V=r(_d[39]),K=r(_d[40]),q=r(_d[41]),Y=r(_d[42]),N=r(_d[43]),Z=r(_d[44]),$=r(_d[45]),Q=r(_d[46]),U=r(_d[47]),X=r(_d[48]),ee=r(_d[49]),te=r(_d[50]),ae=r(_d[51]),oe=r(_d[52]),ne=r(_d[53]),ie=r(_d[54]),le=r(_d[55]),se=r(_d[56]),re=r(_d[57]),ue=r(_d[58]),ce=r(_d[59]),de=r(_d[60]),he=r(_d[61]),ge=r(_d[62]),me=r(_d[63]),fe=r(_d[64]),pe=r(_d[65]);const ve=.5,Se=2.5,Ce=80,be=400,xe=47;function ke(e){const t=(0,o.c)(18),{t:n}=(0,h.useTranslation)(),{data:l}=(0,ee.useCameras)();let s;t[0]!==l?(s=void 0===l?[]:l,t[0]=l,t[1]=s):s=t[1];const u=s;let c;if(t[2]!==u||t[3]!==e){let o;t[5]!==e?(o=t=>t.id===e,t[5]=e,t[6]=o):o=t[6],c=u.find(o),t[2]=u,t[3]=e,t[4]=c}else c=t[4];const d=c;let _,m;t[7]!==d?.name||t[8]!==e||t[9]!==n?(_=d?.name??n("v2.cameraDetail.fallbackName",{id:e}),t[7]=d?.name,t[8]=e,t[9]=n,t[10]=_):_=t[10],t[11]!==d?.features?(m=d?.features??[],t[11]=d?.features,t[12]=m):m=t[12];const f=d?.online??!1,p=d?.disabled??!1;let v;return t[13]!==_||t[14]!==m||t[15]!==f||t[16]!==p?(v={name:_,features:m,online:f,disabled:p},t[13]=_,t[14]=m,t[15]=f,t[16]=p,t[17]=v):v=t[17],v}const Ee={code:"function CameraDetailScreenTsx1(){const{runOnJS,onToggleControls}=this.__closure;runOnJS(onToggleControls)();}"},Oe={code:"function CameraDetailScreenTsx2(){const{runOnJS,zoom}=this.__closure;runOnJS(zoom.resetZoom)();}"},Te={code:"function CameraDetailScreenTsx3(e_0){const{BACK_SWIPE_DISTANCE,BACK_SWIPE_VELOCITY,runOnJS,onSwipeBack}=this.__closure;if(e_0.translationY>BACK_SWIPE_DISTANCE&&e_0.velocityY>BACK_SWIPE_VELOCITY){runOnJS(onSwipeBack)();}}"},He={code:"function CameraDetailScreenTsx4(){const{pinchExpandsHeight,defaultHeight,interpolate,zoom,HEIGHT_GROW_SCALE,maxHeight,Extrapolation}=this.__closure;if(!pinchExpandsHeight)return defaultHeight;return interpolate(zoom.scale.value,[1,HEIGHT_GROW_SCALE],[defaultHeight,maxHeight],Extrapolation.CLAMP);}"},ye={code:"function CameraDetailScreenTsx5(){const{liveBoxHeight}=this.__closure;return{height:liveBoxHeight.value};}"},we={code:"function CameraDetailScreenTsx6(){const{liveBoxHeight,winWidth}=this.__closure;const h=liveBoxHeight.value;const coverWidth=Math.max(winWidth,h*16/9);return{position:'absolute',top:0,left:(winWidth-coverWidth)/2,width:coverWidth,height:h};}"},je={code:"function CameraDetailScreenTsx7(){const{isWideDetail,insets,TOOLBAR_HEIGHT,liveBoxHeight}=this.__closure;return isWideDetail?insets.top+TOOLBAR_HEIGHT:insets.top+liveBoxHeight.value+TOOLBAR_HEIGHT;}"};function De(e){const t=(0,o.c)(7),{deviceId:n}=e,{uri:s,headers:u,onLoad:d,onError:h}=(0,X.useSnapshot)(n,!0);let _,m;return t[0]!==u||t[1]!==h||t[2]!==d||t[3]!==s?(_=s?(0,pe.jsx)(T.Image,{source:u?{uri:s,headers:u}:{uri:s},style:c.default.absoluteFill,contentFit:"cover",cachePolicy:"memory-disk",onLoad:d,onError:h}):null,t[0]=u,t[1]=h,t[2]=d,t[3]=s,t[4]=_):_=t[4],t[5]!==_?(m=(0,pe.jsx)(l.default,{style:Ie.poster,children:_}),t[5]=_,t[6]=m):m=t[6],m}const Ie=c.default.create({videoWrap:{position:'relative',width:'100%',overflow:'hidden',backgroundColor:'#000'},videoWrapFull:Object.assign({},c.default.absoluteFill,{zIndex:50,backgroundColor:'#000'}),videoContent:{flex:1,overflow:'hidden'},noRecOverlay:{alignItems:'center',justifyContent:'center',gap:6,backgroundColor:'rgba(0,0,0,0.55)'},noRecTitle:{color:'#e8eaed',fontSize:15,fontWeight:'600'},noRecHint:{color:'#9aa0a6',fontSize:12},poster:{flex:1,backgroundColor:'#000'},nameTag:{position:'absolute',top:8,left:8,maxWidth:'70%',flexDirection:'row',alignItems:'center',gap:6,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:'#00000080'},nameText:{color:'#fafaf9',fontSize:13,fontWeight:'600'},jogRow:{position:'absolute',bottom:56,alignSelf:'center'}})},3428,[15,17,20,112,133,33,277,136,786,743,466,3429,3241,2714,3431,3434,3439,3443,3444,3445,2587,3053,3446,3454,3455,3456,3457,3459,3462,3466,3460,3468,3487,3488,3490,3494,3495,3497,3498,3499,3500,3503,3505,3506,3507,2590,3528,3529,3143,3080,813,2594,3177,3156,3530,3158,3164,3531,3385,3533,3501,3535,3132,3139,3536,10]);
15850
15850
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"StatusBar",{enumerable:!0,get:function(){return t.StatusBar}}),Object.defineProperty(e,"setStatusBarStyle",{enumerable:!0,get:function(){return t.setStatusBarStyle}}),Object.defineProperty(e,"setStatusBarHidden",{enumerable:!0,get:function(){return t.setStatusBarHidden}});var t=r(d[0])},3429,[3430]);
15851
15851
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StatusBar=s,Object.defineProperty(_e,"setStatusBarStyle",{enumerable:!0,get:function(){return c}}),Object.defineProperty(_e,"setStatusBarHidden",{enumerable:!0,get:function(){return f}});var t=e(r(d[0])),n=e(r(d[1])),u=e(r(d[2])),l=e(r(d[3])),o=r(d[4]);function s({style:e,hideTransitionAnimation:n,animated:s,hidden:c}){const f=(0,l.default)(),y=t.default.useMemo(()=>h(e,f),[e,f]);return(0,o.jsx)(u.default,{animated:s,hidden:c,barStyle:y,showHideTransition:'none'===n?void 0:n})}s.setStyle=(e,t)=>u.default.setBarStyle(h(e),t);const c=s.setStyle;s.setHidden=(e,t)=>u.default.setHidden(e,t);const f=s.setHidden;function h(e="auto",t=n.default?.getColorScheme()??'light'){t||(t='light');let u=e;return'auto'===e?u='light'===t?'dark':'light':'inverted'===e&&(u='light'===t?'light':'dark'),'light'===u?'light-content':'dark-content'}},3430,[17,222,259,275,10]);
15852
15852
  __d(function(g,r,_i,a,m,_e,d){"use strict";function n(n){return n&&n.__esModule?n:{default:n}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"Orientation",{enumerable:!0,get:function(){return i.Orientation}}),Object.defineProperty(_e,"OrientationLock",{enumerable:!0,get:function(){return i.OrientationLock}}),Object.defineProperty(_e,"WebOrientationLock",{enumerable:!0,get:function(){return i.WebOrientationLock}}),Object.defineProperty(_e,"WebOrientation",{enumerable:!0,get:function(){return i.WebOrientation}}),Object.defineProperty(_e,"SizeClassIOS",{enumerable:!0,get:function(){return i.SizeClassIOS}}),_e.lockAsync=async function(n){if(!t.default.lockAsync)throw new e.UnavailabilityError('ScreenOrientation','lockAsync');if(!Object.values(i.OrientationLock).includes(n))throw new TypeError(`Invalid Orientation Lock: ${n}`);if(n===i.OrientationLock.OTHER)return;await t.default.lockAsync(n),c=n},_e.lockPlatformAsync=async function(n){if(!t.default.lockPlatformAsync)throw new e.UnavailabilityError('ScreenOrientation','lockPlatformAsync');const{screenOrientationConstantAndroid:o,screenOrientationArrayIOS:s,screenOrientationLockWeb:l}=n;let u;if(l){if(!Object.values(i.WebOrientationLock).includes(l))throw new TypeError(`Invalid Web Orientation Lock: ${l}`);u=l}if(!u)throw new TypeError('lockPlatformAsync cannot be called with undefined option properties');await t.default.lockPlatformAsync(u),c=i.OrientationLock.OTHER},_e.unlockAsync=async function(){if(!t.default.lockAsync)throw new e.UnavailabilityError('ScreenOrientation','lockAsync');await t.default.lockAsync(i.OrientationLock.DEFAULT)},_e.getOrientationAsync=s,_e.getOrientationLockAsync=l,_e.getPlatformOrientationLockAsync=async function(){return{screenOrientationLockWeb:await t.default.getPlatformOrientationLockAsync()}},_e.supportsOrientationLockAsync=async function(n){if(!t.default.supportsOrientationLockAsync)throw new e.UnavailabilityError('ScreenOrientation','supportsOrientationLockAsync');if(!Object.values(i.OrientationLock).includes(n))throw new TypeError(`Invalid Orientation Lock: ${n}`);return await t.default.supportsOrientationLockAsync(n)},_e.addOrientationChangeListener=function(n){if('function'!=typeof n)throw new TypeError(`addOrientationChangeListener cannot be called with ${n}`);const e=u(n);return o.push(e),e},_e.removeOrientationChangeListeners=function(){let n=o.length;for(;n--;){const e=o[n];e?.remove(),o.pop()}},_e.removeOrientationChangeListener=function(n){if(!n||!n.remove)throw new TypeError("Must pass in a valid subscription");n.remove(),o=o.filter(e=>e!==n)};var e=r(d[0]),t=(n(r(d[1])),n(r(d[2]))),i=r(d[3]);let o=[],c=i.OrientationLock.UNKNOWN;async function s(){if(!t.default.getOrientationAsync)throw new e.UnavailabilityError('ScreenOrientation','getOrientationAsync');return await t.default.getOrientationAsync()}async function l(){return t.default.getOrientationLockAsync?await t.default.getOrientationLockAsync():c}function u(n){return t.default.addListener('expoDidUpdateDimensions',async e=>{n(e)})}},3431,[289,148,3432,3433]);
@@ -15878,7 +15878,7 @@ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?
15878
15878
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.RecordedTransportBar=function(e){const c=(0,t.c)(51),{rate:p,paused:h,onJogBack:x,onJogForward:S,onStepFrame:R,onSelectRate:_}=e,{t:v}=(0,u.useTranslation)(),[B,T]=(0,l.useState)(!1),I=1!==p;let k;c[0]!==h?(k=(0,f.shouldShowStepControls)(h),c[0]=h,c[1]=k):k=c[1];const A=k;let L,P,C,z,w,H;c[2]===Symbol.for("react.memo_cache_sentinel")?(L=(0,b.jsx)(o.default,{style:j.jogText,children:"\u221210s"}),c[2]=L):L=c[2];c[3]!==x?(P=(0,b.jsx)(s.default,{onPress:x,style:j.jogButton,accessibilityRole:"button",accessibilityLabel:"-10s",children:L}),c[3]=x,c[4]=P):P=c[4];c[5]!==R||c[6]!==A||c[7]!==v?(C=A?(0,b.jsx)(s.default,{onPress:()=>R(-1),style:j.jogButton,accessibilityRole:"button",accessibilityLabel:v("v2.playback.prevFrame"),children:(0,b.jsx)(o.default,{style:j.jogText,children:"\u2039|"})}):null,c[5]=R,c[6]=A,c[7]=v,c[8]=C):C=c[8];c[9]!==C?(z=(0,b.jsx)(n.default,{style:j.stepSlot,children:C}),c[9]=C,c[10]=z):z=c[10];c[11]!==I||c[12]!==B||c[13]!==_||c[14]!==p||c[15]!==v?(w=B?(0,b.jsxs)(n.default,{style:j.menu,accessibilityRole:"menu",children:[f.PLAYBACK_RATE_OPTIONS.map(e=>{const t=e===p;return(0,b.jsx)(s.default,{onPress:()=>{_(e),T(!1)},style:[j.menuItem,t?j.menuItemActive:null],accessibilityRole:"menuitem",accessibilityState:{selected:t},accessibilityLabel:(0,f.formatRateLabel)(e),children:(0,b.jsx)(o.default,{style:j.menuItemText,children:(0,f.formatRateLabel)(e)})},e)}),(0,b.jsx)(o.default,{style:j.menuHint,children:v(I?"v2.playback.audioMuted":"v2.playback.audioOn")})]}):null,c[11]=I,c[12]=B,c[13]=_,c[14]=p,c[15]=v,c[16]=w):w=c[16];c[17]===Symbol.for("react.memo_cache_sentinel")?(H=()=>T(y),c[17]=H):H=c[17];const V=1!==p?j.jogButtonActive:null;let W,F,O,M;c[18]!==V?(W=[j.jogButton,V],c[18]=V,c[19]=W):W=c[19];c[20]!==B?(F={expanded:B},c[20]=B,c[21]=F):F=c[21];c[22]!==v?(O=v("v2.playback.speed"),c[22]=v,c[23]=O):O=c[23];c[24]!==p?(M=(0,f.formatRateLabel)(p),c[24]=p,c[25]=M):M=c[25];const J=`${M} \u25be`;let D,E,K,N,Y,$,q,G;c[26]!==J?(D=(0,b.jsx)(o.default,{style:j.jogText,children:J}),c[26]=J,c[27]=D):D=c[27];c[28]!==F||c[29]!==O||c[30]!==D||c[31]!==W?(E=(0,b.jsx)(s.default,{onPress:H,style:W,accessibilityRole:"button",accessibilityState:F,accessibilityLabel:O,children:D}),c[28]=F,c[29]=O,c[30]=D,c[31]=W,c[32]=E):E=c[32];c[33]!==E||c[34]!==w?(K=(0,b.jsxs)(n.default,{style:j.speedAnchor,children:[w,E]}),c[33]=E,c[34]=w,c[35]=K):K=c[35];c[36]!==R||c[37]!==A||c[38]!==v?(N=A?(0,b.jsx)(s.default,{onPress:()=>R(1),style:j.jogButton,accessibilityRole:"button",accessibilityLabel:v("v2.playback.nextFrame"),children:(0,b.jsx)(o.default,{style:j.jogText,children:"|\u203a"})}):null,c[36]=R,c[37]=A,c[38]=v,c[39]=N):N=c[39];c[40]!==N?(Y=(0,b.jsx)(n.default,{style:j.stepSlot,children:N}),c[40]=N,c[41]=Y):Y=c[41];c[42]===Symbol.for("react.memo_cache_sentinel")?($=(0,b.jsx)(o.default,{style:j.jogText,children:"+10s"}),c[42]=$):$=c[42];c[43]!==S?(q=(0,b.jsx)(s.default,{onPress:S,style:j.jogButton,accessibilityRole:"button",accessibilityLabel:"+10s",children:$}),c[43]=S,c[44]=q):q=c[44];c[45]!==K||c[46]!==Y||c[47]!==q||c[48]!==P||c[49]!==z?(G=(0,b.jsxs)(n.default,{style:j.row,children:[P,z,K,Y,q]}),c[45]=K,c[46]=Y,c[47]=q,c[48]=P,c[49]=z,c[50]=G):G=c[50];return G};var t=r(d[0]),l=r(d[1]),n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),f=r(d[7]),b=r(d[8]);function y(e){return!e}const j=c.default.create({row:{flexDirection:'row',alignItems:'center',gap:10},jogButton:{paddingHorizontal:12,paddingVertical:6,borderRadius:14,backgroundColor:'#00000099'},jogButtonActive:{backgroundColor:'rgba(59,130,246,0.85)'},jogText:{color:'#ffffff',fontSize:12,fontWeight:'700',fontVariant:['tabular-nums']},stepSlot:{minWidth:44,alignItems:'center',justifyContent:'center'},speedAnchor:{position:'relative',alignItems:'center'},menu:{position:'absolute',bottom:'100%',marginBottom:8,alignSelf:'center',minWidth:96,paddingVertical:4,borderRadius:12,backgroundColor:'#000000cc'},menuItem:{paddingHorizontal:14,paddingVertical:8,alignItems:'center'},menuItemActive:{backgroundColor:'rgba(59,130,246,0.85)'},menuItemText:{color:'#ffffff',fontSize:13,fontWeight:'700',fontVariant:['tabular-nums']},menuHint:{color:'#d4d4d8',fontSize:10,fontWeight:'600',textAlign:'center',paddingHorizontal:10,paddingTop:4,paddingBottom:2}})},3457,[15,17,20,112,252,33,786,3458,10]);
15879
15879
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PLAYBACK_RATE_OPTIONS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"MIN_PLAYBACK_RATE",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"MAX_PLAYBACK_RATE",{enumerable:!0,get:function(){return u}}),e.formatRateLabel=function(t){return`${t}\xd7`},e.shouldShowStepControls=function(t){return t},e.isSupportedPlaybackRate=function(t){return Number.isFinite(t)&&t>=n&&t<=u};const t=[.25,.5,1,1.5,2,4],n=.25,u=4},3458,[]);
15880
15880
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.QualityPicker=function(h){const v=(0,t.c)(21),{value:f,onChange:p,onClose:y,topOffset:C,align:b,maxWidth:x}=h,{t:_}=(0,l.useTranslation)();let j;v[0]!==_?(j=c.map(t=>({value:t,label:_((0,s.qualityLabelKey)(t))})),v[0]=_,v[1]=j):j=v[1];const O=j;let P,q,L,W,k;v[2]!==_?(P=_("v2.theater.quality"),v[2]=_,v[3]=P):P=v[3];v[4]!==_?(q=_("v2.cameraDetail.close"),v[4]=_,v[5]=q):q=v[5];v[6]!==p||v[7]!==y?(L=t=>{p(t),y()},v[6]=p,v[7]=y,v[8]=L):L=v[8];v[9]!==O||v[10]!==L||v[11]!==f?(W=(0,u.jsx)(o.SegmentedControl,{options:O,value:f,onChange:L}),v[9]=O,v[10]=L,v[11]=f,v[12]=W):W=v[12];v[13]!==b||v[14]!==x||v[15]!==y||v[16]!==P||v[17]!==q||v[18]!==W||v[19]!==C?(k=(0,u.jsx)(n.FloatingPanel,{title:P,onClose:y,closeLabel:q,topOffset:C,align:b,maxWidth:x,children:W}),v[13]=b,v[14]=x,v[15]=y,v[16]=P,v[17]=q,v[18]=W,v[19]=C,v[20]=k):k=v[20];return k};var t=r(d[0]);r(d[1]);var l=r(d[2]),n=r(d[3]),o=r(d[4]),s=r(d[5]),u=r(d[6]);const c=['auto','high','mid','low']},3459,[15,17,786,3460,3176,3461,10]);
15881
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.FloatingPanel=function(e){const c=(0,t.c)(38),{title:S,onClose:C,closeLabel:G,topOffset:y,align:O,maxWidth:M,children:v}=e,E=void 0===O?"center":O,{colors:j}=(0,b.useTheme)(),{height:T}=(0,f.default)(),k=(0,h.useSafeAreaInsets)(),L=(0,u.useAnimatedStyle)((function({_worklet_4446473903605_init_data:e,topOffset:t}){const o=()=>({top:t.value});return o.__closure={topOffset:t},o.__workletHash=4446473903605,o.__initData=e,o})({_worklet_4446473903605_init_data:N,topOffset:y})),W=(0,u.useAnimatedStyle)((function({_worklet_13270622034148_init_data:e,MIN_PANEL_HEIGHT:t,windowHeight:o,topOffset:n,insets:s,SPACING:l}){const c=()=>({maxHeight:Math.max(t,o-n.value-s.bottom-l.sm-l.lg)});return c.__closure={MIN_PANEL_HEIGHT:t,windowHeight:o,topOffset:n,insets:s,SPACING:l},c.__workletHash=0xc11ceb658e4,c.__initData=e,c})({_worklet_13270622034148_init_data:P,MIN_PANEL_HEIGHT:x,windowHeight:T,topOffset:y,insets:k,SPACING:p.SPACING})),R="right"===E?H.anchorRight:null;let z,B,D,V,F,U,X,q,J,K,Q,Y,Z;c[0]!==L||c[1]!==R?(z=[H.anchor,R,L],c[0]=L,c[1]=R,c[2]=z):z=c[2];c[3]!==M?(B=void 0!==M?{maxWidth:M}:null,c[3]=M,c[4]=B):B=c[4];c[5]!==j.border||c[6]!==j.surface?(D={backgroundColor:j.surface,borderColor:j.border},c[5]=j.border,c[6]=j.surface,c[7]=D):D=c[7];c[8]!==W||c[9]!==B||c[10]!==D?(V=[H.card,B,W,D],c[8]=W,c[9]=B,c[10]=D,c[11]=V):V=c[11];c[12]!==j.border?(F=[H.header,{borderBottomColor:j.border}],c[12]=j.border,c[13]=F):F=c[13];c[14]!==j.foreground?(U=[H.title,{color:j.foreground}],c[14]=j.foreground,c[15]=U):U=c[15];c[16]!==U||c[17]!==S?(X=(0,w.jsx)(n.default,{style:U,numberOfLines:1,children:S}),c[16]=U,c[17]=S,c[18]=X):X=c[18];c[19]!==j.foregroundMuted?(q=(0,w.jsx)(I.X,{size:18,color:j.foregroundMuted}),c[19]=j.foregroundMuted,c[20]=q):q=c[20];c[21]!==G||c[22]!==C||c[23]!==q?(J=(0,w.jsx)(s.default,{onPress:C,hitSlop:8,accessibilityLabel:G,style:A,children:q}),c[21]=G,c[22]=C,c[23]=q,c[24]=J):J=c[24];c[25]!==J||c[26]!==F||c[27]!==X?(K=(0,w.jsxs)(o.default,{style:F,children:[X,J]}),c[25]=J,c[26]=F,c[27]=X,c[28]=K):K=c[28];c[29]!==v?(Q=(0,w.jsx)(l.default,{style:H.scroll,contentContainerStyle:H.body,showsVerticalScrollIndicator:!0,children:v}),c[29]=v,c[30]=Q):Q=c[30];c[31]!==K||c[32]!==Q||c[33]!==V?(Y=(0,w.jsxs)(_.default.View,{style:V,children:[K,Q]}),c[31]=K,c[32]=Q,c[33]=V,c[34]=Y):Y=c[34];c[35]!==Y||c[36]!==z?(Z=(0,w.jsx)(_.default.View,{style:z,pointerEvents:"box-none",children:Y}),c[35]=Y,c[36]=z,c[37]=Z):Z=c[37];return Z};var t=r(d[0]);r(d[1]);var o=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),c=e(r(d[6])),f=e(r(d[7])),u=r(d[8]),_=e(u),h=r(d[9]),I=r(d[10]),b=r(d[11]),p=r(d[12]),w=r(d[13]);const x=160,N={code:"function FloatingPanelTsx1(){const{topOffset}=this.__closure;return{top:topOffset.value};}"},P={code:"function FloatingPanelTsx2(){const{MIN_PANEL_HEIGHT,windowHeight,topOffset,insets,SPACING}=this.__closure;return{maxHeight:Math.max(MIN_PANEL_HEIGHT,windowHeight-topOffset.value-insets.bottom-SPACING.sm-SPACING.lg)};}"};function A(e){const{pressed:t}=e;return[H.closeBtn,{opacity:t?.6:1}]}const H=c.default.create({anchor:{position:'absolute',left:0,right:0,alignItems:'center',paddingHorizontal:p.SPACING.md},anchorRight:{alignItems:'flex-end'},card:{width:'100%',maxWidth:420,marginTop:p.SPACING.sm,borderRadius:p.RADIUS.xl,borderWidth:1,overflow:'hidden'},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:p.SPACING.lg,paddingVertical:p.SPACING.md,borderBottomWidth:1},title:{fontSize:14,fontWeight:'700',flex:1},closeBtn:{width:32,height:32,borderRadius:16,alignItems:'center',justifyContent:'center'},scroll:{flexShrink:1},body:{padding:p.SPACING.md}})},3460,[15,17,20,112,252,147,33,277,2714,466,813,2587,2589,10]);
15881
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.FloatingPanel=function(e){const c=(0,t.c)(38),{title:S,onClose:C,closeLabel:G,topOffset:y,align:O,maxWidth:v,children:M}=e,E=void 0===O?"center":O,{colors:j}=(0,b.useTheme)(),{height:T}=(0,f.default)(),k=(0,h.useSafeAreaInsets)(),L=(0,u.useAnimatedStyle)((function({_worklet_4446473903605_init_data:e,topOffset:t}){const o=()=>({top:t.value});return o.__closure={topOffset:t},o.__workletHash=4446473903605,o.__initData=e,o})({_worklet_4446473903605_init_data:N,topOffset:y})),W=(0,u.useAnimatedStyle)((function({_worklet_13270622034148_init_data:e,MIN_PANEL_HEIGHT:t,windowHeight:o,topOffset:n,insets:s,SPACING:l}){const c=()=>({maxHeight:Math.max(t,o-n.value-s.bottom-l.sm-l.lg)});return c.__closure={MIN_PANEL_HEIGHT:t,windowHeight:o,topOffset:n,insets:s,SPACING:l},c.__workletHash=0xc11ceb658e4,c.__initData=e,c})({_worklet_13270622034148_init_data:P,MIN_PANEL_HEIGHT:x,windowHeight:T,topOffset:y,insets:k,SPACING:p.SPACING})),z="right"===E?H.anchorRight:null;let R,B,D,V,F,U,X,q,J,K,Q,Y,Z;c[0]!==L||c[1]!==z?(R=[H.anchor,z,L],c[0]=L,c[1]=z,c[2]=R):R=c[2];c[3]!==v?(B=void 0!==v?{maxWidth:v}:null,c[3]=v,c[4]=B):B=c[4];c[5]!==j.border||c[6]!==j.surface?(D={backgroundColor:j.surface,borderColor:j.border},c[5]=j.border,c[6]=j.surface,c[7]=D):D=c[7];c[8]!==W||c[9]!==B||c[10]!==D?(V=[H.card,B,W,D],c[8]=W,c[9]=B,c[10]=D,c[11]=V):V=c[11];c[12]!==j.border?(F=[H.header,{borderBottomColor:j.border}],c[12]=j.border,c[13]=F):F=c[13];c[14]!==j.foreground?(U=[H.title,{color:j.foreground}],c[14]=j.foreground,c[15]=U):U=c[15];c[16]!==U||c[17]!==S?(X=(0,w.jsx)(n.default,{style:U,numberOfLines:1,children:S}),c[16]=U,c[17]=S,c[18]=X):X=c[18];c[19]!==j.foregroundMuted?(q=(0,w.jsx)(I.X,{size:18,color:j.foregroundMuted}),c[19]=j.foregroundMuted,c[20]=q):q=c[20];c[21]!==G||c[22]!==C||c[23]!==q?(J=(0,w.jsx)(s.default,{onPress:C,hitSlop:8,accessibilityLabel:G,style:A,children:q}),c[21]=G,c[22]=C,c[23]=q,c[24]=J):J=c[24];c[25]!==J||c[26]!==F||c[27]!==X?(K=(0,w.jsxs)(o.default,{style:F,children:[X,J]}),c[25]=J,c[26]=F,c[27]=X,c[28]=K):K=c[28];c[29]!==M?(Q=(0,w.jsx)(l.default,{style:H.scroll,contentContainerStyle:H.body,showsVerticalScrollIndicator:!0,children:M}),c[29]=M,c[30]=Q):Q=c[30];c[31]!==K||c[32]!==Q||c[33]!==V?(Y=(0,w.jsxs)(_.default.View,{style:V,children:[K,Q]}),c[31]=K,c[32]=Q,c[33]=V,c[34]=Y):Y=c[34];c[35]!==Y||c[36]!==R?(Z=(0,w.jsx)(_.default.View,{style:R,pointerEvents:"box-none",children:Y}),c[35]=Y,c[36]=R,c[37]=Z):Z=c[37];return Z};var t=r(d[0]);r(d[1]);var o=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),c=e(r(d[6])),f=e(r(d[7])),u=r(d[8]),_=e(u),h=r(d[9]),I=r(d[10]),b=r(d[11]),p=r(d[12]),w=r(d[13]);const x=160,N={code:"function FloatingPanelTsx1(){const{topOffset}=this.__closure;return{top:topOffset.value};}"},P={code:"function FloatingPanelTsx2(){const{MIN_PANEL_HEIGHT,windowHeight,topOffset,insets,SPACING}=this.__closure;return{maxHeight:Math.max(MIN_PANEL_HEIGHT,windowHeight-topOffset.value-insets.bottom-SPACING.sm-SPACING.lg)};}"};function A(e){const{pressed:t}=e;return[H.closeBtn,{opacity:t?.6:1}]}const H=c.default.create({anchor:{position:'absolute',left:0,right:0,alignItems:'center',paddingHorizontal:p.SPACING.md,zIndex:30,elevation:30},anchorRight:{alignItems:'flex-end'},card:{width:'100%',maxWidth:420,marginTop:p.SPACING.sm,borderRadius:p.RADIUS.xl,borderWidth:1,overflow:'hidden'},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:p.SPACING.lg,paddingVertical:p.SPACING.md,borderBottomWidth:1},title:{fontSize:14,fontWeight:'700',flex:1},closeBtn:{width:32,height:32,borderRadius:16,alignItems:'center',justifyContent:'center'},scroll:{flexShrink:1},body:{padding:p.SPACING.md}})},3460,[15,17,20,112,252,147,33,277,2714,466,813,2587,2589,10]);
15882
15882
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.qualityLabelKey=function(t){switch(t){case'auto':return'v2.settings.qualityAuto';case'high':return'v2.settings.qualityHigh';case'mid':return'v2.settings.qualityMid';case'low':return'v2.settings.qualityLow'}}},3461,[]);
15883
15883
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ScrubPlayerPreview=function({deviceId:e,atMs:n}){const[f,v]=(0,t.useState)(0),p=(0,s.useScrubThumbnail)(e,n),{token:b}=(0,o.useServer)(),U=(0,t.useRef)(null);null!==p&&(U.current={deviceId:e,result:p});const w=p??(U.current?.deviceId===e?U.current.result:null),[I,j]=(0,t.useState)(null),x=(0,t.useRef)(null);null!==w&&(x.current={deviceId:e,entry:w});const S=I?.deviceId===e?I.entry:null,P=(0,c.planScrubPreview)(S,w);(0,t.useEffect)(()=>{null!==w&&j(t=>t?.deviceId===e&&t.entry.sheetUrl===w.sheetUrl&&t.entry!==w?{deviceId:e,entry:w}:t)},[w,e]);const[_,k]=(0,t.useState)(null),M=(0,t.useRef)(null),W=b?{Authorization:`Bearer ${b}`}:void 0,A=e=>{const t=x.current;t&&t.entry.sheetUrl===e&&(null!==S&&S.sheetUrl!==e&&k(S),j(t))};if(null===P.show&&null===P.preloadUrl)return null;const C=P.show;M.current=C?.sheetUrl??null;const E=(e,t)=>{const n=f/e.thumb.tileWidth;return(0,h.jsx)(l.default,{style:[y.tileWindow,{width:f,height:e.thumb.tileHeight*n}],children:(0,h.jsx)(u.Image,{source:W?{uri:e.sheetUrl,headers:W}:{uri:e.sheetUrl},style:{position:'absolute',width:e.thumb.sheetWidth*n,height:e.thumb.sheetHeight*n,left:-e.thumb.x*n,top:-e.thumb.y*n},contentFit:"fill",cachePolicy:"memory-disk",onDisplay:t})})};return(0,h.jsxs)(l.default,{style:[y.cover,null!==C?y.coverActive:null],pointerEvents:"none",onLayout:e=>{const t=Math.round(e.nativeEvent.layout.width);v(e=>e===t?e:t)},children:[null!==_&&f>0?(0,h.jsx)(l.default,{style:y.layer,children:E(_)}):null,null!==C&&f>0?(0,h.jsx)(l.default,{style:y.layer,children:E(C,()=>{M.current===C.sheetUrl&&k(null)})}):null,null!==P.preloadUrl?(0,h.jsx)(u.Image,{source:W?{uri:P.preloadUrl,headers:W}:{uri:P.preloadUrl},style:y.preload,cachePolicy:"memory-disk",onLoad:()=>A(P.preloadUrl)}):null]})};var t=r(d[0]),l=e(r(d[1])),n=e(r(d[2])),u=r(d[3]),o=r(d[4]),s=r(d[5]),c=r(d[6]),h=r(d[7]);const y=n.default.create({cover:{position:'absolute',top:0,left:0,right:0,bottom:0,alignItems:'center',justifyContent:'center'},coverActive:{backgroundColor:'#000'},layer:{position:'absolute',top:0,left:0,right:0,bottom:0,alignItems:'center',justifyContent:'center'},tileWindow:{overflow:'hidden'},preload:{position:'absolute',width:1,height:1,opacity:0}})},3462,[17,20,33,3053,3144,3463,3465,10]);
15884
15884
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useScrubThumbnail=function(c,b){const y=(0,t.c)(33),{controller:w,state:S}=(0,u.useConnection)(),{token:x}=(0,s.useServer)();let U;y[0]!==w||y[1]!==S?(U="connected"===S?w.getSystem()?.serverUrl??null:null,y[0]=w,y[1]=S,y[2]=U):U=y[2];const _=U;let I;y[3]!==b?(I=null!==b?(0,o.windowStartFor)(b):null,y[3]=b,y[4]=I):I=y[4];const T=I;let p;y[5]!==c||y[6]!==T?(p=["scrub-thumb-index",c,T],y[5]=c,y[6]=T,y[7]=p):p=y[7];const v=null!==_&&null!==T;let M,B;y[8]!==b||y[9]!==c||y[10]!==_||y[11]!==x?(M=async()=>null===_||null===b?null:h((0,o.buildIndexUrl)(_,c,b),x),y[8]=b,y[9]=c,y[10]=_,y[11]=x,y[12]=M):M=y[12];y[13]!==p||y[14]!==v||y[15]!==M?(B={queryKey:p,enabled:v,staleTime:1/0,gcTime:6e5,retry:!1,queryFn:M},y[13]=p,y[14]=v,y[15]=M,y[16]=B):B=y[16];const W=(0,n.useQuery)(B).data??null;let $,k,O;y[17]!==c||y[18]!==W||y[19]!==_||y[20]!==x||y[21]!==T?($=()=>{null!==W&&null!==_&&null!==T&&f(_,x,c,T)},k=[W,_,x,c,T],y[17]=c,y[18]=W,y[19]=_,y[20]=x,y[21]=T,y[22]=$,y[23]=k):($=y[22],k=y[23]);if((0,l.useEffect)($,k),null===W||null===_||null===b)return null;y[24]!==b||y[25]!==W?(O=(0,o.selectThumb)(W,b),y[24]=b,y[25]=W,y[26]=O):O=y[26];const j=O;if(null===j)return null;let q,z;y[27]!==W||y[28]!==_?(q=(0,o.buildSheetUrl)(_,W),y[27]=W,y[28]=_,y[29]=q):q=y[29];y[30]!==q||y[31]!==j?(z={sheetUrl:q,thumb:j},y[30]=q,y[31]=j,y[32]=z):z=y[32];return z};var t=r(d[0]),l=r(d[1]),n=r(d[2]),u=r(d[3]),s=r(d[4]),c=r(d[5]),o=r(d[6]);async function h(t,l){const n={};l&&(n.Authorization=`Bearer ${l}`);try{const l=await fetch(t,{headers:n});if(!l.ok)return c.log.debug('scrub-thumb','index miss',{url:t,status:l.status}),null;const u=await l.json(),s=(0,o.parseThumbnailIndex)(u);return c.log.debug('scrub-thumb','index hit',{url:t,tiles:s?.tiles.length??-1}),s}catch(l){return c.log.warn('scrub-thumb','index fetch failed',{url:t,error:l instanceof Error?l.message:String(l)}),null}}const b=new Set;function f(t,l,n,u){for(const s of[u-o.THUMB_WINDOW_MS,u+o.THUMB_WINDOW_MS]){const u=`${n}:${s}`;b.has(u)||(b.add(u),(async()=>{const f=await h((0,o.buildIndexUrl)(t,n,s),l);if(null!==f)try{const{Image:u}=await r(d[8])(d[7],d.paths,"expo-image"),h={};l&&(h.Authorization=`Bearer ${l}`),await u.prefetch((0,o.buildSheetUrl)(t,f),{headers:h,cachePolicy:'disk'}),c.log.debug('scrub-thumb','neighbor sheet prefetched',{deviceId:n,ws:s})}catch{b.delete(u)}else b.delete(u)})())}}},3463,{"0":15,"1":17,"2":3081,"3":2594,"4":3144,"5":2705,"6":3464,"7":3053,"8":3378,"paths":{}});
@@ -15886,7 +15886,7 @@ __d(function(g,r,_i,a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',
15886
15886
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.planScrubPreview=function(l,n){if(null===n)return{show:l,preloadUrl:null};if(null!==l&&l.sheetUrl===n.sheetUrl)return{show:n,preloadUrl:null};return{show:l,preloadUrl:n.sheetUrl}}},3465,[]);
15887
15887
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.PtzControls=function(e){const l=(0,o.c)(63),{deviceId:p,hasFeature:j}=e,{t:P}=(0,c.useTranslation)(),{colors:y}=(0,f.useTheme)(),z=(0,h.usePtz)(p,j);if(!j||!z.available){let e,o,t;return l[0]!==y.foregroundSubtle?(e=[v.notAvailable,{color:y.foregroundSubtle}],l[0]=y.foregroundSubtle,l[1]=e):e=l[1],l[2]!==P?(o=P("v2.ptz.notAvailable"),l[2]=P,l[3]=o):o=l[3],l[4]!==e||l[5]!==o?(t=(0,b.jsx)(s.default,{style:e,children:o}),l[4]=e,l[5]=o,l[6]=t):t=l[6],t}const{options:C}=z,I=C?.hasPan??!1,w=C?.hasTilt??!1,A=C?.hasZoom??!1;let _,L,R,D,G;l[7]===Symbol.for("react.memo_cache_sentinel")?(_=(0,b.jsx)(S,{}),l[7]=_):_=l[7];l[8]!==w||l[9]!==z.tiltUp?(L=w?(0,b.jsx)(x,{icon:u.ChevronUp,onPress:z.tiltUp}):(0,b.jsx)(S,{}),l[8]=w,l[9]=z.tiltUp,l[10]=L):L=l[10];l[11]===Symbol.for("react.memo_cache_sentinel")?(R=(0,b.jsx)(S,{}),l[11]=R):R=l[11];l[12]!==L?(D=(0,b.jsxs)(t.default,{style:v.dpadRow,children:[_,L,R]}),l[12]=L,l[13]=D):D=l[13];l[14]!==I||l[15]!==z.panLeft?(G=I?(0,b.jsx)(x,{icon:u.ChevronLeft,onPress:z.panLeft}):(0,b.jsx)(S,{}),l[14]=I,l[15]=z.panLeft,l[16]=G):G=l[16];const H=z.goHome;let N,k,T,E,U,W,O,B,M,V,F,Z,q,J;l[17]!==P?(N=P("v2.ptz.home"),l[17]=P,l[18]=N):N=l[18];l[19]!==y.foregroundSubtle?(k=(0,b.jsx)(u.Home,{size:16,color:y.foregroundSubtle}),l[19]=y.foregroundSubtle,l[20]=k):k=l[20];l[21]!==z.goHome||l[22]!==N||l[23]!==k?(T=(0,b.jsx)(n.default,{onPress:H,style:v.homeBtn,accessibilityLabel:N,children:k}),l[21]=z.goHome,l[22]=N,l[23]=k,l[24]=T):T=l[24];l[25]!==I||l[26]!==z.panRight?(E=I?(0,b.jsx)(x,{icon:u.ChevronRight,onPress:z.panRight}):(0,b.jsx)(S,{}),l[25]=I,l[26]=z.panRight,l[27]=E):E=l[27];l[28]!==E||l[29]!==G||l[30]!==T?(U=(0,b.jsxs)(t.default,{style:v.dpadRow,children:[G,T,E]}),l[28]=E,l[29]=G,l[30]=T,l[31]=U):U=l[31];l[32]===Symbol.for("react.memo_cache_sentinel")?(W=(0,b.jsx)(S,{}),l[32]=W):W=l[32];l[33]!==w||l[34]!==z.tiltDown?(O=w?(0,b.jsx)(x,{icon:u.ChevronDown,onPress:z.tiltDown}):(0,b.jsx)(S,{}),l[33]=w,l[34]=z.tiltDown,l[35]=O):O=l[35];l[36]===Symbol.for("react.memo_cache_sentinel")?(B=(0,b.jsx)(S,{}),l[36]=B):B=l[36];l[37]!==O?(M=(0,b.jsxs)(t.default,{style:v.dpadRow,children:[W,O,B]}),l[37]=O,l[38]=M):M=l[38];l[39]!==U||l[40]!==M||l[41]!==D?(V=(0,b.jsxs)(t.default,{style:v.dpad,children:[D,U,M]}),l[39]=U,l[40]=M,l[41]=D,l[42]=V):V=l[42];l[43]!==y.foregroundSubtle||l[44]!==A||l[45]!==z.zoomIn||l[46]!==z.zoomOut||l[47]!==P?(F=A?(0,b.jsxs)(t.default,{style:v.zoomCol,children:[(0,b.jsx)(x,{icon:u.Plus,onPress:z.zoomIn}),(0,b.jsx)(s.default,{style:[v.zoomLabel,{color:y.foregroundSubtle}],children:P("v2.ptz.zoom")}),(0,b.jsx)(x,{icon:u.Minus,onPress:z.zoomOut})]}):null,l[43]=y.foregroundSubtle,l[44]=A,l[45]=z.zoomIn,l[46]=z.zoomOut,l[47]=P,l[48]=F):F=l[48];l[49]!==V||l[50]!==F?(Z=(0,b.jsxs)(t.default,{style:v.row,children:[V,F]}),l[49]=V,l[50]=F,l[51]=Z):Z=l[51];l[52]!==y.backgroundElevated||l[53]!==y.border||l[54]!==y.foreground||l[55]!==y.foregroundSubtle||l[56]!==y.surfaceHover||l[57]!==z||l[58]!==P?(q=z.supportsPresets?(0,b.jsxs)(t.default,{style:v.presets,children:[(0,b.jsx)(s.default,{style:[v.presetsLabel,{color:y.foregroundSubtle}],children:P("v2.ptz.presets")}),z.presets.length>0?(0,b.jsx)(t.default,{style:v.presetList,children:z.presets.map(e=>(0,b.jsxs)(n.default,{onPress:()=>z.goToPreset(e.id),accessibilityLabel:e.name,style:e=>{const{pressed:o}=e;return[v.presetChip,{backgroundColor:o?y.surfaceHover:y.backgroundElevated,borderColor:y.border}]},children:[(0,b.jsx)(u.MapPin,{size:12,color:y.foregroundSubtle}),(0,b.jsx)(s.default,{style:[v.presetText,{color:y.foreground}],numberOfLines:1,children:e.name})]},e.id))}):(0,b.jsx)(s.default,{style:[v.notAvailable,{color:y.foregroundSubtle}],children:P("v2.ptz.noPresets")})]}):null,l[52]=y.backgroundElevated,l[53]=y.border,l[54]=y.foreground,l[55]=y.foregroundSubtle,l[56]=y.surfaceHover,l[57]=z,l[58]=P,l[59]=q):q=l[59];l[60]!==Z||l[61]!==q?(J=(0,b.jsxs)(t.default,{style:v.container,children:[Z,q]}),l[60]=Z,l[61]=q,l[62]=J):J=l[62];return J};var o=r(d[0]);r(d[1]);var t=e(r(d[2])),s=e(r(d[3])),n=e(r(d[4])),l=e(r(d[5])),c=r(d[6]),u=r(d[7]),f=r(d[8]),p=r(d[9]),h=r(d[10]),b=r(d[11]);function x(e){const t=(0,o.c)(13),{icon:s,onPress:l,disabled:c}=e,{colors:u}=(0,f.useTheme)();let p;t[0]!==u.backgroundElevated||t[1]!==u.border||t[2]!==u.surfaceHover||t[3]!==c?(p=e=>{const{pressed:o}=e;return[v.padBtn,{backgroundColor:o?u.surfaceHover:u.backgroundElevated,borderColor:u.border,opacity:c?.3:1}]},t[0]=u.backgroundElevated,t[1]=u.border,t[2]=u.surfaceHover,t[3]=c,t[4]=p):p=t[4];const h=c?u.foregroundDisabled:u.foreground;let x,S;return t[5]!==s||t[6]!==h?(x=(0,b.jsx)(s,{size:20,color:h}),t[5]=s,t[6]=h,t[7]=x):x=t[7],t[8]!==c||t[9]!==l||t[10]!==p||t[11]!==x?(S=(0,b.jsx)(n.default,{onPress:l,disabled:c,style:p,children:x}),t[8]=c,t[9]=l,t[10]=p,t[11]=x,t[12]=S):S=t[12],S}const S=()=>{const e=(0,o.c)(1);let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,b.jsx)(t.default,{style:v.spacer}),e[0]=s):s=e[0],s};const j=44,v=l.default.create({container:{alignItems:'center',gap:p.SPACING.md},notAvailable:{fontSize:12,paddingVertical:p.SPACING.sm,textAlign:'center'},row:{flexDirection:'row',alignItems:'center',gap:p.SPACING['2xl']},dpad:{gap:p.SPACING.sm},dpadRow:{flexDirection:'row',gap:p.SPACING.sm},padBtn:{width:j,height:j,borderRadius:p.RADIUS.md,borderWidth:1,alignItems:'center',justifyContent:'center'},spacer:{width:j,height:j},homeBtn:{width:j,height:j,alignItems:'center',justifyContent:'center'},zoomCol:{alignItems:'center',gap:p.SPACING.sm},zoomLabel:{fontSize:11},presets:{alignSelf:'stretch',gap:p.SPACING.sm},presetsLabel:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.5},presetList:{flexDirection:'row',flexWrap:'wrap',gap:p.SPACING.sm},presetChip:{flexDirection:'row',alignItems:'center',gap:p.SPACING.xs+2,maxWidth:'100%',paddingHorizontal:p.SPACING.md,paddingVertical:p.SPACING.sm,borderRadius:p.RADIUS.md,borderWidth:1},presetText:{fontSize:12,fontWeight:'600',flexShrink:1}})},3466,[15,17,20,112,252,33,786,813,2587,2589,3467,10]);
15888
15888
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.usePtz=function(z,f){const h=(0,t.c)(47),{controller:P,state:I}=(0,s.useConnection)();let q;h[0]!==z?(q=["v2","ptz","options",z],h[0]=z,h[1]=q):q=h[1];const C=f&&"connected"===I;let b,S;h[2]!==P||h[3]!==z?(b=async()=>{const t=P.getSystem();if(!t)return null;try{return await t.trpcClient.ptz.getOptions.query({deviceId:z})}catch{return null}},h[2]=P,h[3]=z,h[4]=b):b=h[4];h[5]!==q||h[6]!==C||h[7]!==b?(S={queryKey:q,enabled:C,staleTime:3e5,queryFn:b},h[5]=q,h[6]=C,h[7]=b,h[8]=S):S=h[8];const T=(0,n.useQuery)(S);let O;h[9]!==P||h[10]!==z?(O=t=>{const n=P.getSystem();n&&n.trpcClient.ptz.move.mutate(Object.assign({deviceId:z},t)).catch(y)},h[9]=P,h[10]=z,h[11]=O):O=h[11];const _=O;let w;h[12]!==P||h[13]!==z?(w=()=>{const t=P.getSystem();t&&t.trpcClient.ptz.goHome.mutate({deviceId:z}).catch(p)},h[12]=P,h[13]=z,h[14]=w):w=h[14];const j=w,F=T.data??null,H=F?.supportsPresets??!1;let K;h[15]!==z?(K=["v2","ptz","presets",z],h[15]=z,h[16]=K):K=h[16];const Q=f&&"connected"===I&&H;let D,L;h[17]!==P||h[18]!==z?(D=async()=>{const t=P.getSystem();if(!t)return[];try{return await t.trpcClient.ptz.getPresets.query({deviceId:z})}catch{return[]}},h[17]=P,h[18]=z,h[19]=D):D=h[19];h[20]!==K||h[21]!==Q||h[22]!==D?(L={queryKey:K,enabled:Q,staleTime:3e5,queryFn:D},h[20]=K,h[21]=Q,h[22]=D,h[23]=L):L=h[23];const M=(0,n.useQuery)(L);let R;h[24]!==P||h[25]!==z?(R=t=>{const n=P.getSystem();n&&n.trpcClient.ptz.goToPreset.mutate({deviceId:z,presetId:t}).catch(l)},h[24]=P,h[25]=z,h[26]=R):R=h[26];const U=R,Z=M.data??v,k=null!==F&&(F.hasPan||F.hasTilt||F.hasZoom);let x,A,B,E,G,J,N;h[27]!==_?(x=()=>_({pan:-.3}),A=()=>_({pan:o}),B=()=>_({tilt:c}),E=()=>_({tilt:-.3}),G=()=>_({zoom:u}),J=()=>_({zoom:-.2}),h[27]=_,h[28]=x,h[29]=A,h[30]=B,h[31]=E,h[32]=G,h[33]=J):(x=h[28],A=h[29],B=h[30],E=h[31],G=h[32],J=h[33]);h[34]!==k||h[35]!==j||h[36]!==U||h[37]!==F||h[38]!==Z||h[39]!==H||h[40]!==x||h[41]!==A||h[42]!==B||h[43]!==E||h[44]!==G||h[45]!==J?(N={options:F,available:k,supportsPresets:H,presets:Z,panLeft:x,panRight:A,tiltUp:B,tiltDown:E,zoomIn:G,zoomOut:J,goHome:j,goToPreset:U},h[34]=k,h[35]=j,h[36]=U,h[37]=F,h[38]=Z,h[39]=H,h[40]=x,h[41]=A,h[42]=B,h[43]=E,h[44]=G,h[45]=J,h[46]=N):N=h[46];return N};var t=r(d[0]);r(d[1]);var n=r(d[2]),s=r(d[3]);const o=.3,c=.3,u=.2;function l(){}function p(){}function y(){}const v=[]},3467,[15,17,3081,2594]);
15889
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.DevicesPanel=function(e){const o=(0,t.c)(31),{deviceId:u}=e,{t:h}=(0,c.useTranslation)(),{colors:j}=(0,f.useTheme)(),{data:A,isLoading:I}=(0,p.useLinkedDevices)(u),{data:w}=(0,y.useCameras)();let k,_,P,D,L,G;if(o[0]!==j||o[1]!==A||o[2]!==u||o[3]!==I||o[4]!==h||o[5]!==w){L=Symbol.for("react.early_return_sentinel");e:{const e=void 0===w?[]:w,t=e.find(e=>e.id===u)?.name;if(I&&!A){let e;o[11]!==j.primary?(e=(0,S.jsx)(n.default,{style:C.center,children:(0,S.jsx)(s.default,{color:j.primary})}),o[11]=j.primary,o[12]=e):e=o[12],L=e;break e}const c=A?.devices??[];if(0===c.length){let e,t,n;o[13]!==j.foregroundSubtle?(e=[C.empty,{color:j.foregroundSubtle}],o[13]=j.foregroundSubtle,o[14]=e):e=o[14],o[15]!==h?(t=h("v2.cameraDetail.devicesEmpty"),o[15]=h,o[16]=t):t=o[16],o[17]!==e||o[18]!==t?(n=(0,S.jsx)(l.default,{style:e,children:t}),o[17]=e,o[18]=t,o[19]=n):n=o[19],L=n;break e}let f;o[20]!==A||o[21]!==h?(f="linked"===A?.source&&null!==A.mode?h("auto"===A.mode?"v2.cameraDetail.linkedModeAuto":"v2.cameraDetail.linkedModeManual"):null,o[20]=A,o[21]=h,o[22]=f):f=o[22];const p=f;k=n.default,_=C.list,o[23]!==j||o[24]!==p?(P=null!==p&&(0,S.jsx)(l.default,{style:[C.modeCaption,{color:j.foregroundSubtle}],children:p}),o[23]=j,o[24]=p,o[25]=P):P=o[25],D=c.map(e=>{const o=v(e.type),s=e.online?j.primary:j.foregroundSubtle,c=x(e.name,t);return(0,S.jsxs)(n.default,{style:[C.row,{borderBottomColor:j.borderSubtle}],children:[(0,S.jsx)(n.default,{style:[C.iconWrap,{backgroundColor:j.backgroundElevated}],children:(0,S.jsx)(o,{size:18,color:s})}),(0,S.jsxs)(n.default,{style:C.label,children:[(0,S.jsx)(l.default,{style:[C.name,{color:j.foreground}],numberOfLines:1,children:c}),null!==e.location&&(0,S.jsx)(l.default,{style:[C.location,{color:j.foregroundSubtle}],numberOfLines:1,children:e.location})]}),(0,S.jsx)(n.default,{style:C.control,children:(0,S.jsx)(b.AccessoryControl,{device:e})})]},e.id)})}o[0]=j,o[1]=A,o[2]=u,o[3]=I,o[4]=h,o[5]=w,o[6]=k,o[7]=_,o[8]=P,o[9]=D,o[10]=L}else k=o[6],_=o[7],P=o[8],D=o[9],L=o[10];if(L!==Symbol.for("react.early_return_sentinel"))return L;o[26]!==k||o[27]!==_||o[28]!==P||o[29]!==D?(G=(0,S.jsxs)(k,{style:_,children:[P,D]}),o[26]=k,o[27]=_,o[28]=P,o[29]=D,o[30]=G):G=o[30];return G};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),l=e(r(d[3])),o=e(r(d[4])),s=e(r(d[5])),c=r(d[6]),u=r(d[7]),f=r(d[8]),h=r(d[9]),p=r(d[10]),y=r(d[11]),b=r(d[12]),S=r(d[13]);function x(e,t){if(!t)return e;const n=e.toLowerCase(),l=t.toLowerCase();if(n.startsWith(l)){const n=e.slice(t.length).trim();if(n.length>0)return n}return e}function v(e){switch(e){case'light':return u.Lightbulb;case'siren':return u.Bell;case'lock':return u.DoorOpen;case'media-player':return u.Volume2;case'switch':return u.ToggleRight;case'thermostat':case'water-heater':case'humidifier':return u.Thermometer;case'sensor':case'presence':return u.Activity;case'cover':case'valve':return u.Blinds;case'fan':return u.Fan;case'alarm-panel':return u.ShieldAlert;default:return u.Cpu}}const C=o.default.create({center:{paddingVertical:h.SPACING.lg,alignItems:'center'},empty:{fontSize:13,paddingVertical:h.SPACING.md,textAlign:'center'},list:{gap:h.SPACING.xs},row:{flexDirection:'row',alignItems:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.sm,borderBottomWidth:o.default.hairlineWidth},iconWrap:{width:36,height:36,borderRadius:10,alignItems:'center',justifyContent:'center'},label:{flex:1,gap:2},name:{fontSize:14,fontWeight:'500'},location:{fontSize:11},modeCaption:{fontSize:11,paddingBottom:h.SPACING.xs},statusLine:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm},dot:{width:7,height:7,borderRadius:4},type:{fontSize:12,fontWeight:'500'},control:{flexShrink:0}})},3468,[15,17,20,112,33,240,786,813,2587,2589,3469,3080,3471,10]);
15889
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.DevicesPanel=function(e){const l=(0,t.c)(31),{deviceId:u}=e,{t:h}=(0,c.useTranslation)(),{colors:A}=(0,f.useTheme)(),{data:I,isLoading:w}=(0,y.useLinkedDevices)(u),{data:k}=(0,p.useCameras)();let _,P,D,L,G,N;if(l[0]!==A||l[1]!==I||l[2]!==u||l[3]!==w||l[4]!==h||l[5]!==k){G=Symbol.for("react.early_return_sentinel");e:{const e=void 0===k?[]:k,t=e.find(e=>e.id===u)?.name;if(w&&!I){let e;l[11]!==A.primary?(e=(0,x.jsx)(n.default,{style:j.center,children:(0,x.jsx)(s.default,{color:A.primary})}),l[11]=A.primary,l[12]=e):e=l[12],G=e;break e}const c=I?.devices??[];if(0===c.length){let e,t,n;l[13]!==A.foregroundSubtle?(e=[j.empty,{color:A.foregroundSubtle}],l[13]=A.foregroundSubtle,l[14]=e):e=l[14],l[15]!==h?(t=h("v2.cameraDetail.devicesEmpty"),l[15]=h,l[16]=t):t=l[16],l[17]!==e||l[18]!==t?(n=(0,x.jsx)(o.default,{style:e,children:t}),l[17]=e,l[18]=t,l[19]=n):n=l[19],G=n;break e}let f;l[20]!==I||l[21]!==h?(f="linked"===I?.source&&null!==I.mode?h("auto"===I.mode?"v2.cameraDetail.linkedModeAuto":"v2.cameraDetail.linkedModeManual"):null,l[20]=I,l[21]=h,l[22]=f):f=l[22];const y=f;_=n.default,P=j.list,l[23]!==A||l[24]!==y?(D=null!==y&&(0,x.jsx)(o.default,{style:[j.modeCaption,{color:A.foregroundSubtle}],children:y}),l[23]=A,l[24]=y,l[25]=D):D=l[25],L=c.map(e=>{const l=v(e.type),s=e.online?A.primary:A.foregroundSubtle,c=C(e.name,t);return(0,x.jsxs)(n.default,{style:[j.row,{borderBottomColor:A.borderSubtle}],children:[(0,x.jsx)(n.default,{style:[j.iconWrap,{backgroundColor:A.backgroundElevated}],children:(0,x.jsx)(l,{size:18,color:s})}),(0,x.jsxs)(n.default,{style:j.label,children:[(0,x.jsx)(o.default,{style:[j.name,{color:A.foreground}],numberOfLines:1,children:c}),null!==e.location&&(0,x.jsx)(o.default,{style:[j.location,{color:A.foregroundSubtle}],numberOfLines:1,children:e.location})]}),(0,x.jsx)(n.default,{style:j.control,children:"container"===e.type?(0,x.jsx)(S.ContainerAccessoryControl,{containerId:e.id}):(0,x.jsx)(b.AccessoryControl,{device:e})})]},e.id)})}l[0]=A,l[1]=I,l[2]=u,l[3]=w,l[4]=h,l[5]=k,l[6]=_,l[7]=P,l[8]=D,l[9]=L,l[10]=G}else _=l[6],P=l[7],D=l[8],L=l[9],G=l[10];if(G!==Symbol.for("react.early_return_sentinel"))return G;l[26]!==_||l[27]!==P||l[28]!==D||l[29]!==L?(N=(0,x.jsxs)(_,{style:P,children:[D,L]}),l[26]=_,l[27]=P,l[28]=D,l[29]=L,l[30]=N):N=l[30];return N};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),l=e(r(d[4])),s=e(r(d[5])),c=r(d[6]),u=r(d[7]),f=r(d[8]),h=r(d[9]),y=r(d[10]),p=r(d[11]),b=r(d[12]),S=r(d[13]),x=r(d[14]);function C(e,t){if(!t)return e;const n=e.toLowerCase(),o=t.toLowerCase();if(n.startsWith(o)){const n=e.slice(t.length).trim();if(n.length>0)return n}return e}function v(e){switch(e){case'light':return u.Lightbulb;case'siren':return u.Bell;case'lock':return u.DoorOpen;case'media-player':return u.Volume2;case'switch':return u.ToggleRight;case'thermostat':case'water-heater':case'humidifier':return u.Thermometer;case'sensor':case'presence':return u.Activity;case'cover':case'valve':return u.Blinds;case'fan':return u.Fan;case'alarm-panel':return u.ShieldAlert;default:return u.Cpu}}const j=l.default.create({center:{paddingVertical:h.SPACING.lg,alignItems:'center'},empty:{fontSize:13,paddingVertical:h.SPACING.md,textAlign:'center'},list:{gap:h.SPACING.xs},row:{flexDirection:'row',alignItems:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.sm,borderBottomWidth:l.default.hairlineWidth},iconWrap:{width:36,height:36,borderRadius:10,alignItems:'center',justifyContent:'center'},label:{flex:1,gap:2},name:{fontSize:14,fontWeight:'500'},location:{fontSize:11},modeCaption:{fontSize:11,paddingBottom:h.SPACING.xs},statusLine:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm},dot:{width:7,height:7,borderRadius:4},type:{fontSize:12,fontWeight:'500'},control:{flexShrink:0}})},3468,[15,17,20,112,33,240,786,813,2587,2589,3469,3080,3471,3485,10]);
15890
15890
  __d(function(g,r,_i,_a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"EMPTY_LINKED_DEVICES",{enumerable:!0,get:function(){return o}}),_e.parseLinkedDevices=s,_e.enrichLinkedEntries=u,_e.sortDevicesByName=l,_e.resolveLinkedDevicesData=f,_e.useLinkedDevices=function(a){const s=(0,e.c)(9),{controller:u,state:l}=(0,t.useConnection)();let d;s[0]!==a?(d=["v2","linked-devices",a],s[0]=a,s[1]=d):d=s[1];const h="connected"===l;let D,I;s[2]!==u||s[3]!==a?(D=async()=>{const e=u.getSystem();return e?f({fetchLinked:()=>(0,i.capQuery)(e.trpcClient,"deviceManager","getLinkedDevices",{deviceId:a}),fetchChildren:async()=>{const n=await e.trpcClient.deviceManager.getChildren.query({parentDeviceId:a});return(Array.isArray(n)?n:[]).map(c.toAccessory).filter(p)},fetchDeviceInfos:async()=>(await e.trpcClient.deviceManager.listAll.query({})).map(y)}):o},s[2]=u,s[3]=a,s[4]=D):D=s[4];s[5]!==d||s[6]!==h||s[7]!==D?(I={queryKey:d,enabled:h,staleTime:v,refetchInterval:v,queryFn:D},s[5]=d,s[6]=h,s[7]=D,s[8]=I):I=s[8];return(0,n.useQuery)(I)};var e=r(_d[0]),n=r(_d[1]),t=r(_d[2]),i=r(_d[3]),c=r(_d[4]);const o={source:'children',mode:null,devices:[]};function a(e){if(!(0,i.isRecord)(e))return null;const{deviceId:n,name:t,location:o}=e;return'number'!=typeof n?null:{deviceId:n,name:'string'==typeof t&&t.trim()?t.trim():`Device #${n}`,location:'string'==typeof o&&o.length>0?o:null,features:(0,c.toFeatures)(e.features)}}function s(e){if(!(0,i.isRecord)(e))return null;const{mode:n,devices:t}=e;if('auto'!==n&&'manual'!==n)return null;if(!Array.isArray(t))return null;return{mode:n,entries:t.map(a).filter(e=>null!==e)}}function u(e,n){const t=new Map(n.map(e=>[e.id,e]));return e.map(e=>{const n=t.get(e.deviceId);return{id:e.deviceId,name:e.name,type:n?.type??'',online:n?.online??!0,features:e.features,location:e.location}})}function l(e){return[...e].sort((e,n)=>e.name.localeCompare(n.name,void 0,{sensitivity:'base'}))}function d(e){return Object.assign({},e,{location:null})}async function f(e){const n=s(await e.fetchLinked().catch(()=>null));if(null===n){return{source:'children',mode:null,devices:l((await e.fetchChildren().catch(()=>[])).map(d))}}const t=await e.fetchDeviceInfos().catch(()=>[]);return{source:'linked',mode:n.mode,devices:l(u(n.entries,t))}}const v=3e4;function y(e){return{id:e.id,type:e.type,online:e.online}}function p(e){return null!==e}},3469,[15,3081,2594,3162,3470]);
15891
15891
  __d(function(g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.toFeatures=o,_e.toAccessory=u,_e.useAccessories=function(o){const{controller:c,state:a}=(0,t.useConnection)();return(0,e.useQuery)({queryKey:['v2','accessories',o],enabled:'connected'===a,refetchInterval:n,queryFn:async()=>{const e=c.getSystem();if(!e)return[];try{const t=await e.trpcClient.deviceManager.getChildren.query({parentDeviceId:o}),n=Array.isArray(t)?t:[];for(const e of n)s(e)&&console.warn('[accessories] child',e.id,'type=',String(e.type),'keys=',Object.keys(e).join(','),'features=',JSON.stringify(e.features));return n.map(u).filter(e=>null!==e)}catch(e){return console.warn('[accessories] error device',o,e instanceof Error?e.message:String(e)),[]}}})};var e=r(d[0]),t=r(d[1]);const n=15e3;function s(e){return'object'==typeof e&&null!==e}function o(e){if(!Array.isArray(e))return c;const t=e.filter(e=>'string'==typeof e&&e.length>0);return t.length>0?t:c}const c=[];function u(e){if(!s(e))return null;const{id:t,name:n,type:c,online:u,features:a}=e;return'number'!=typeof t||'string'!=typeof c?null:{id:t,name:'string'==typeof n&&n.trim()?n.trim():`Device #${t}`,type:c,online:!0===u,features:o(a)}}},3470,[3081,2594]);
15892
15892
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.AccessoryControl=function(e){const s=(0,t.c)(13),{device:o}=e,u=(0,l.pickAccessoryControl)(o);if(!(0,l.hasMotionTrigger)(o.features)){let e;return s[0]!==o?(e=(0,b.jsx)(O,{device:o}),s[0]=o,s[1]=e):e=s[1],e}if("none"===u.kind){let e;return s[2]!==o.id||s[3]!==o.online?(e=(0,b.jsx)(c.MotionTriggerToggle,{deviceId:o.id,online:o.online}),s[2]=o.id,s[3]=o.online,s[4]=e):e=s[4],e}let j,C,x;s[5]!==o.id||s[6]!==o.online?(j=(0,b.jsx)(c.MotionTriggerToggle,{deviceId:o.id,online:o.online}),s[5]=o.id,s[6]=o.online,s[7]=j):j=s[7];s[8]!==o?(C=(0,b.jsx)(O,{device:o}),s[8]=o,s[9]=C):C=s[9];s[10]!==j||s[11]!==C?(x=(0,b.jsxs)(n.default,{style:v.row,children:[j,C]}),s[10]=j,s[11]=C,s[12]=x):x=s[12];return x};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),s=e(r(d[3])),o=r(d[4]),l=r(d[5]),c=r(d[6]),u=r(d[7]),j=r(d[8]),C=r(d[9]),x=r(d[10]),b=r(d[11]);function O(e){const n=(0,t.c)(46),{device:s}=e;let o;n[0]!==s?(o=(0,l.pickAccessoryControl)(s),n[0]=s,n[1]=o):o=n[1];const c=o;let O;n[2]!==s.id||n[3]!==s.online?(O={deviceId:s.id,online:s.online},n[2]=s.id,n[3]=s.online,n[4]=O):O=n[4];const v=O;switch(c.kind){case"cover":{let e;return n[5]!==v?(e=(0,b.jsx)(u.CoverControl,Object.assign({},v,{capKey:"cover"})),n[5]=v,n[6]=e):e=n[6],e}case"valve":{let e;return n[7]!==v?(e=(0,b.jsx)(u.CoverControl,Object.assign({},v,{capKey:"valve"})),n[7]=v,n[8]=e):e=n[8],e}case"lock":{let e;return n[9]!==v?(e=(0,b.jsx)(u.LockControl,Object.assign({},v)),n[9]=v,n[10]=e):e=n[10],e}case"alarm":{let e;return n[11]!==v?(e=(0,b.jsx)(u.AlarmControl,Object.assign({},v)),n[11]=v,n[12]=e):e=n[12],e}case"climate":{let e;return n[13]!==v?(e=(0,b.jsx)(u.ClimateControl,Object.assign({},v)),n[13]=v,n[14]=e):e=n[14],e}case"fan":{let e;return n[15]!==v?(e=(0,b.jsx)(u.FanControl,Object.assign({},v)),n[15]=v,n[16]=e):e=n[16],e}case"brightness":{let e;return n[17]!==v?(e=(0,b.jsx)(u.BrightnessControl,Object.assign({},v)),n[17]=v,n[18]=e):e=n[18],e}case"switch":{let e;return n[19]!==v?(e=(0,b.jsx)(u.SwitchControl,Object.assign({},v)),n[19]=v,n[20]=e):e=n[20],e}case"button":{let e;return n[21]!==v?(e=(0,b.jsx)(u.ButtonControl,Object.assign({},v)),n[21]=v,n[22]=e):e=n[22],e}case"media-player":{let e;return n[23]!==v?(e=(0,b.jsx)(j.MediaPlayerControl,Object.assign({},v)),n[23]=v,n[24]=e):e=n[24],e}case"vacuum":{let e;return n[25]!==v?(e=(0,b.jsx)(j.VacuumControl,Object.assign({},v)),n[25]=v,n[26]=e):e=n[26],e}case"lawn-mower":{let e;return n[27]!==v?(e=(0,b.jsx)(j.LawnMowerControl,Object.assign({},v)),n[27]=v,n[28]=e):e=n[28],e}case"pet-feeder":{let e;return n[29]!==v?(e=(0,b.jsx)(j.PetFeederControl,Object.assign({},v)),n[29]=v,n[30]=e):e=n[30],e}case"humidifier":{let e;return n[31]!==v?(e=(0,b.jsx)(C.HumidifierControl,Object.assign({},v)),n[31]=v,n[32]=e):e=n[32],e}case"water-heater":{let e;return n[33]!==v?(e=(0,b.jsx)(C.WaterHeaterControl,Object.assign({},v)),n[33]=v,n[34]=e):e=n[34],e}case"update":{let e;return n[35]!==v?(e=(0,b.jsx)(x.UpdateControl,Object.assign({},v)),n[35]=v,n[36]=e):e=n[36],e}case"weather":{let e;return n[37]!==v?(e=(0,b.jsx)(x.WeatherControl,Object.assign({},v)),n[37]=v,n[38]=e):e=n[38],e}case"image":{let e;return n[39]!==v?(e=(0,b.jsx)(x.ImageControl,Object.assign({},v)),n[39]=v,n[40]=e):e=n[40],e}case"input":{let e;return n[41]!==v?(e=(0,b.jsx)(x.InputControl,Object.assign({},v)),n[41]=v,n[42]=e):e=n[42],e}case"sensor":{let e;return n[43]!==v||n[44]!==c.sensorFeature?(e=c.sensorFeature?(0,b.jsx)(u.SensorValueControl,Object.assign({},v,{feature:c.sensorFeature})):null,n[43]=v,n[44]=c.sensorFeature,n[45]=e):e=n[45],e}case"none":return null;default:return c.kind}}const v=s.default.create({row:{flexDirection:'row',alignItems:'center',gap:o.SPACING.sm}})},3471,[15,17,20,33,2589,3472,3473,3477,3480,3482,3484,10]);
@@ -15903,120 +15903,123 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
15903
15903
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.HumidifierControl=function(e){const s=(0,t.c)(49),{deviceId:f,online:C}=e,{t:w}=(0,l.useTranslation)(),{colors:I}=(0,c.useTheme)(),_=(0,p.useHumidifierStatus)(f,C),S=(0,h.useCapMutator)(f),M=_.data,P=M?.on??!1,B=M?.targetHumidity??null,L=M?.minHumidity??j,O=M?.maxHumidity??T;let D;s[0]!==S||s[1]!==P||s[2]!==_?(D=async()=>{await S.run("humidifier","setOn",{on:!P}),_.refetch()},s[0]=S,s[1]=P,s[2]=_,s[3]=D):D=s[3];const W=D;let U;s[4]!==O||s[5]!==L||s[6]!==S||s[7]!==_||s[8]!==B?(U=async e=>{await S.run("humidifier","setTargetHumidity",{humidity:(0,x.stepValue)(B,e,y,L,O)}),_.refetch()},s[4]=O,s[5]=L,s[6]=S,s[7]=_,s[8]=B,s[9]=U):U=s[9];const A=U;if(_.isLoading&&!M){let e;return s[10]===Symbol.for("react.memo_cache_sentinel")?(e=(0,v.jsx)(b.ControlSpinner,{}),s[10]=e):e=s[10],e}const N=!C||S.pending;let V,z,F,G;s[11]!==P||s[12]!==w?(V=w(P?"v2.accessories.off":"v2.accessories.on"),s[11]=P,s[12]=w,s[13]=V):V=s[13];s[14]!==W?(z=()=>{W()},s[14]=W,s[15]=z):z=s[15];s[16]!==N||s[17]!==P||s[18]!==V||s[19]!==z?(F=(0,v.jsx)(b.IconButton,{icon:u.Power,label:V,active:P,disabled:N,onPress:z}),s[16]=N,s[17]=P,s[18]=V,s[19]=z,s[20]=F):F=s[20];s[21]!==w?(G=w("v2.accessories.dimDown"),s[21]=w,s[22]=G):G=s[22];const $=N||null===B;let k,q,E,J,K,Q;s[23]!==A?(k=()=>{A(-1)},s[23]=A,s[24]=k):k=s[24];s[25]!==G||s[26]!==$||s[27]!==k?(q=(0,v.jsx)(b.IconButton,{icon:u.ChevronDown,label:G,disabled:$,onPress:k}),s[25]=G,s[26]=$,s[27]=k,s[28]=q):q=s[28];s[29]!==I.foreground?(E=[H.readout,{color:I.foreground}],s[29]=I.foreground,s[30]=E):E=s[30];s[31]!==B?(J=null!==B?`${Math.round(B)}%`:"--",s[31]=B,s[32]=J):J=s[32];s[33]!==E||s[34]!==J?(K=(0,v.jsx)(o.default,{style:E,numberOfLines:1,children:J}),s[33]=E,s[34]=J,s[35]=K):K=s[35];s[36]!==w?(Q=w("v2.accessories.dimUp"),s[36]=w,s[37]=Q):Q=s[37];const R=N||null===B;let X,Y,Z;s[38]!==A?(X=()=>{A(1)},s[38]=A,s[39]=X):X=s[39];s[40]!==Q||s[41]!==R||s[42]!==X?(Y=(0,v.jsx)(b.IconButton,{icon:u.ChevronUp,label:Q,disabled:R,onPress:X}),s[40]=Q,s[41]=R,s[42]=X,s[43]=Y):Y=s[43];s[44]!==K||s[45]!==Y||s[46]!==F||s[47]!==q?(Z=(0,v.jsxs)(n.default,{style:H.cluster,children:[F,q,K,Y]}),s[44]=K,s[45]=Y,s[46]=F,s[47]=q,s[48]=Z):Z=s[48];return Z},_e.WaterHeaterControl=function(e){const s=(0,t.c)(36),{deviceId:f,online:y}=e,{t:j}=(0,l.useTranslation)(),{colors:T}=(0,c.useTheme)(),S=(0,p.useWaterHeaterStatus)(f,y),M=(0,h.useCapMutator)(f),P=S.data,B=P?.targetTemp??null,L=P?.minTemp??w,O=P?.maxTemp??I;let D;s[0]!==O||s[1]!==L||s[2]!==M||s[3]!==S||s[4]!==B?(D=async e=>{await M.run("waterHeater","setTargetTemp",{temp:(0,x.stepValue)(B,e,C,L,O)}),S.refetch()},s[0]=O,s[1]=L,s[2]=M,s[3]=S,s[4]=B,s[5]=D):D=s[5];const W=D;if(S.isLoading&&!P){let e;return s[6]===Symbol.for("react.memo_cache_sentinel")?(e=(0,v.jsx)(b.ControlSpinner,{}),s[6]=e):e=s[6],e}const U=!y||M.pending,A=_;let N,V;s[7]!==T.foregroundMuted||s[8]!==P?(N=null!=P?.currentTemp?(0,v.jsx)(o.default,{style:[H.readout,{color:T.foregroundMuted}],numberOfLines:1,children:A(P.currentTemp)}):null,s[7]=T.foregroundMuted,s[8]=P,s[9]=N):N=s[9];s[10]!==j?(V=j("v2.accessories.cooler"),s[10]=j,s[11]=V):V=s[11];const z=U||null===B;let F,G,$;s[12]!==W?(F=()=>{W(-1)},s[12]=W,s[13]=F):F=s[13];s[14]!==V||s[15]!==z||s[16]!==F?(G=(0,v.jsx)(b.IconButton,{icon:u.ChevronDown,label:V,disabled:z,onPress:F}),s[14]=V,s[15]=z,s[16]=F,s[17]=G):G=s[17];s[18]!==T.foreground?($=[H.readout,{color:T.foreground}],s[18]=T.foreground,s[19]=$):$=s[19];const k=null!==B?A(B):"--";let q,E;s[20]!==$||s[21]!==k?(q=(0,v.jsx)(o.default,{style:$,numberOfLines:1,children:k}),s[20]=$,s[21]=k,s[22]=q):q=s[22];s[23]!==j?(E=j("v2.accessories.warmer"),s[23]=j,s[24]=E):E=s[24];const J=U||null===B;let K,Q,R;s[25]!==W?(K=()=>{W(1)},s[25]=W,s[26]=K):K=s[26];s[27]!==E||s[28]!==J||s[29]!==K?(Q=(0,v.jsx)(b.IconButton,{icon:u.ChevronUp,label:E,disabled:J,onPress:K}),s[27]=E,s[28]=J,s[29]=K,s[30]=Q):Q=s[30];s[31]!==Q||s[32]!==N||s[33]!==G||s[34]!==q?(R=(0,v.jsxs)(n.default,{style:H.cluster,children:[N,G,q,Q]}),s[31]=Q,s[32]=N,s[33]=G,s[34]=q,s[35]=R):R=s[35];return R};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),l=r(d[5]),u=r(d[6]),c=r(d[7]),f=r(d[8]),h=r(d[9]),p=r(d[10]),b=r(d[11]),x=r(d[12]),v=r(d[13]);const y=5,j=0,T=100,C=.5,w=30,I=80;function _(e){return(Number.isInteger(e)?String(e):e.toFixed(1))+"\xb0"}const H=s.default.create({cluster:{flexDirection:'row',alignItems:'center',gap:f.SPACING.sm},readout:{fontSize:12,fontWeight:'600',minWidth:34,textAlign:'center'}})},3482,[15,17,20,112,33,786,813,2587,2589,3474,3481,3476,3483,10]);
15904
15904
  __d(function(g,r,i,a,m,e,d){"use strict";function n(n,t,u){return Math.max(t,Math.min(u,n))}Object.defineProperty(e,'__esModule',{value:!0}),e.clampRange=n,e.stepValue=function(t,u,c,o,f){return l=n((t??o)+u*(c>0?c:1),o,f),Math.round(100*l)/100;var l},e.nextInList=function(n,t){if(0===t.length)return n;const u=t.indexOf(n);return-1===u?t[0]:t[(u+1)%t.length]}},3483,[]);
15905
15905
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.UpdateControl=function(e){const n=(0,t.c)(22),{deviceId:s,online:l}=e,{t:h}=(0,u.useTranslation)(),{colors:y}=(0,f.useTheme)(),C=(0,v.useUpdateStatus)(s,l),j=(0,p.useCapMutator)(s),S=C.data;let I;n[0]!==j||n[1]!==C?(I=async()=>{await j.run("update","installUpdate",{}),C.refetch()},n[0]=j,n[1]=C,n[2]=I):I=n[2];const P=I;if(C.isLoading&&!S){let e;return n[3]===Symbol.for("react.memo_cache_sentinel")?(e=(0,x.jsx)(b.ControlSpinner,{}),n[3]=e):e=n[3],e}const L=!l||j.pending||(S?.inProgress??!1);if(S?.updatable){let e;n[4]!==S.inProgress||n[5]!==h?(e=S.inProgress?h("v2.accessories.installing"):h("v2.accessories.install"),n[4]=S.inProgress,n[5]=h,n[6]=e):e=n[6];const t=S.inProgress?c.RefreshCw:c.Download;let o,s;return n[7]!==P?(o=()=>{P()},n[7]=P,n[8]=o):o=n[8],n[9]!==L||n[10]!==e||n[11]!==t||n[12]!==o?(s=(0,x.jsx)(b.PillButton,{label:e,icon:t,active:!0,disabled:L,onPress:o}),n[9]=L,n[10]=e,n[11]=t,n[12]=o,n[13]=s):s=n[13],s}let M,w,T;n[14]!==y.foregroundMuted?(M=[_.readonly,{color:y.foregroundMuted}],n[14]=y.foregroundMuted,n[15]=M):M=n[15];n[16]!==S?.currentVersion||n[17]!==h?(w=S?.currentVersion??h("v2.accessories.upToDate"),n[16]=S?.currentVersion,n[17]=h,n[18]=w):w=n[18];n[19]!==M||n[20]!==w?(T=(0,x.jsx)(o.default,{style:M,numberOfLines:1,children:w}),n[19]=M,n[20]=w,n[21]=T):T=n[21];return T},_e.WeatherControl=function(e){const n=(0,t.c)(12),{deviceId:s,online:l}=e,{colors:u}=(0,f.useTheme)(),c=(0,v.useWeatherStatus)(s,l),h=c.data;if(c.isLoading&&!h){let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,x.jsx)(b.ControlSpinner,{}),n[0]=e):e=n[0],e}if(!h)return null;let p;n[1]!==h.temperature||n[2]!==h.temperatureUnit?(p=null!==h.temperature?`${Math.round(h.temperature)}${h.temperatureUnit??"\xb0"}`:"",n[1]=h.temperature,n[2]=h.temperatureUnit,n[3]=p):p=n[3];const y=p,C=h.condition??"";let j;n[4]!==C||n[5]!==y?(j=[y,C].filter(I),n[4]=C,n[5]=y,n[6]=j):j=n[6];const S=j.join(" \xb7 ");if(!S)return null;let P,L;n[7]!==u.foreground?(P=[_.readonly,{color:u.foreground}],n[7]=u.foreground,n[8]=P):P=n[8];n[9]!==P||n[10]!==S?(L=(0,x.jsx)(o.default,{style:P,numberOfLines:1,children:S}),n[9]=P,n[10]=S,n[11]=L):L=n[11];return L},_e.ImageControl=function(e){const n=(0,t.c)(8),{deviceId:o,online:l}=e,{colors:u}=(0,f.useTheme)(),c=(0,v.useImageStatus)(o,l),h=c.data?.url??null;if(c.isLoading&&!c.data){let e;return n[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,x.jsx)(b.ControlSpinner,{}),n[0]=e):e=n[0],e}if(!h)return null;let p,y,C;n[1]!==h?(p={uri:h},n[1]=h,n[2]=p):p=n[2];n[3]!==u.border?(y=[_.thumb,{borderColor:u.border}],n[3]=u.border,n[4]=y):y=n[4];n[5]!==p||n[6]!==y?(C=(0,x.jsx)(s.default,{source:p,style:y,resizeMode:"cover",accessibilityIgnoresInvertColors:!0}),n[5]=p,n[6]=y,n[7]=C):C=n[7];return C},_e.InputControl=function(e){const s=(0,t.c)(48),{deviceId:l,online:h}=e,{t:I}=(0,u.useTranslation)(),{colors:P}=(0,f.useTheme)(),L=(0,v.useControlStatus)(l,h),M=(0,p.useCapMutator)(l),w=L.data;let T;s[0]!==w||s[1]!==M||s[2]!==L?(T=async e=>{if(!w||"number"!=typeof w.value)return;const t=(0,y.stepValue)(w.value,e,w.step??S,w.min??C,w.max??j);await M.run("control","setValue",{control:{kind:"numeric",value:t}}),L.refetch()},s[0]=w,s[1]=M,s[2]=L,s[3]=T):T=s[3];const U=T;let W;s[4]!==w||s[5]!==M||s[6]!==L?(W=async()=>{if(!w||"string"!=typeof w.value||0===w.options.length)return;const e=(0,y.nextInList)(w.value,w.options);e!==w.value&&(await M.run("control","setValue",{control:{kind:"select",value:e}}),L.refetch())},s[4]=w,s[5]=M,s[6]=L,s[7]=W):W=s[7];const V=W;if(L.isLoading&&!w){let e;return s[8]===Symbol.for("react.memo_cache_sentinel")?(e=(0,x.jsx)(b.ControlSpinner,{}),s[8]=e):e=s[8],e}if(!w)return null;const O=!h||M.pending;if("numeric"===w.kind&&"number"==typeof w.value){const e=w.unit?` ${w.unit}`:"";let t,l,u,f;s[9]!==I?(t=I("v2.accessories.decrease"),s[9]=I,s[10]=t):t=s[10],s[11]!==U?(l=()=>{U(-1)},s[11]=U,s[12]=l):l=s[12],s[13]!==O||s[14]!==t||s[15]!==l?(u=(0,x.jsx)(b.IconButton,{icon:c.ChevronDown,label:t,disabled:O,onPress:l}),s[13]=O,s[14]=t,s[15]=l,s[16]=u):u=s[16],s[17]!==P.foreground?(f=[_.readout,{color:P.foreground}],s[17]=P.foreground,s[18]=f):f=s[18];const h=`${w.value}${e}`;let p,v,y,C,j;return s[19]!==f||s[20]!==h?(p=(0,x.jsx)(o.default,{style:f,numberOfLines:1,children:h}),s[19]=f,s[20]=h,s[21]=p):p=s[21],s[22]!==I?(v=I("v2.accessories.increase"),s[22]=I,s[23]=v):v=s[23],s[24]!==U?(y=()=>{U(1)},s[24]=U,s[25]=y):y=s[25],s[26]!==O||s[27]!==y||s[28]!==v?(C=(0,x.jsx)(b.IconButton,{icon:c.ChevronUp,label:v,disabled:O,onPress:y}),s[26]=O,s[27]=y,s[28]=v,s[29]=C):C=s[29],s[30]!==C||s[31]!==u||s[32]!==p?(j=(0,x.jsxs)(n.default,{style:_.cluster,children:[u,p,C]}),s[30]=C,s[31]=u,s[32]=p,s[33]=j):j=s[33],j}if("select"===w.kind&&"string"==typeof w.value){let e;s[34]!==w.value||s[35]!==I?(e=w.value||I("v2.accessories.select"),s[34]=w.value,s[35]=I,s[36]=e):e=s[36];const t=O||w.options.length<=1;let n,o;return s[37]!==V?(n=()=>{V()},s[37]=V,s[38]=n):n=s[38],s[39]!==e||s[40]!==t||s[41]!==n?(o=(0,x.jsx)(b.PillButton,{label:e,active:!0,disabled:t,onPress:n}),s[39]=e,s[40]=t,s[41]=n,s[42]=o):o=s[42],o}let $;s[43]!==P.foreground?($=[_.readonly,{color:P.foreground}],s[43]=P.foreground,s[44]=$):$=s[44];const k=String(w.value);let B;s[45]!==$||s[46]!==k?(B=(0,x.jsx)(o.default,{style:$,numberOfLines:1,children:k}),s[45]=$,s[46]=k,s[47]=B):B=s[47];return B};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),u=r(d[6]),c=r(d[7]),f=r(d[8]),h=r(d[9]),p=r(d[10]),v=r(d[11]),b=r(d[12]),y=r(d[13]),x=r(d[14]);const C=0,j=100,S=1;function I(e){return e.length>0}const _=l.default.create({cluster:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm},readout:{fontSize:12,fontWeight:'600',minWidth:40,textAlign:'center'},readonly:{fontSize:14,fontWeight:'600'},thumb:{width:44,height:28,borderRadius:6,borderWidth:l.default.hairlineWidth}})},3484,[15,17,20,112,192,33,786,813,2587,2589,3474,3481,3476,3483,10]);
15906
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraSwitcherPanel=function(e){const u=(0,t.c)(45),{currentId:S,onSwitch:I,onOpenGrid:w}=e,{t:P}=(0,h.useTranslation)(),{colors:A}=(0,y.useTheme)(),{data:G,isLoading:_}=(0,p.useCameras)();let k;u[0]!==G?(k=void 0===G?[]:G,u[0]=G,u[1]=k):k=u[1];const z=k;let D;u[2]===Symbol.for("react.memo_cache_sentinel")?(D=new Set,u[2]=D):D=u[2];const[N,R]=(0,o.useState)(D),v=N.size>0;let B;u[3]===Symbol.for("react.memo_cache_sentinel")?(B=e=>R(t=>{const o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o}),u[3]=B):B=u[3];const V=B;let W;if(u[4]!==z||u[5]!==N){let e;u[7]!==N?(e=e=>N.has(e.id),u[7]=N,u[8]=e):e=u[8],W=z.filter(e).map(C),u[4]=z,u[5]=N,u[6]=W}else W=u[6];const L=W,T=L.length>=2;if(_&&0===z.length){let e;return u[9]!==A.primary?(e=(0,x.jsx)(n.default,{style:j.center,children:(0,x.jsx)(f.default,{color:A.primary})}),u[9]=A.primary,u[10]=e):e=u[10],e}if(0===z.length){let e,t,o;return u[11]!==A.foregroundSubtle?(e=[j.empty,{color:A.foregroundSubtle}],u[11]=A.foregroundSubtle,u[12]=e):e=u[12],u[13]!==P?(t=P("v2.cameraSwitcher.empty"),u[13]=P,u[14]=t):t=u[14],u[15]!==e||u[16]!==t?(o=(0,x.jsx)(l.default,{style:e,children:t}),u[15]=e,u[16]=t,u[17]=o):o=u[17],o}let O,q,F,H;if(u[18]!==z||u[19]!==A||u[20]!==S||u[21]!==I||u[22]!==N||u[23]!==v||u[24]!==P){let e;u[26]!==A||u[27]!==S||u[28]!==I||u[29]!==N||u[30]!==v||u[31]!==P?(e=e=>{const t=e.id===S,o=N.has(e.id);return(0,x.jsxs)(s.default,{onPress:()=>v?V(e.id):I(e.id),accessibilityRole:"button",accessibilityState:{selected:t},style:[j.row,{borderBottomColor:A.borderSubtle},t&&{backgroundColor:`${A.primary}14`}],children:[(0,x.jsx)(s.default,{onPress:()=>V(e.id),hitSlop:8,accessibilityRole:"checkbox",accessibilityState:{checked:o},accessibilityLabel:P("v2.cameraSwitcher.selectA11y",{name:e.name}),children:o?(0,x.jsx)(b.CheckSquare,{size:18,color:A.primary}):(0,x.jsx)(b.Square,{size:18,color:A.foregroundSubtle})}),(0,x.jsx)(n.default,{style:[j.onlineDot,{backgroundColor:e.online?A.success:A.foregroundSubtle}]}),(0,x.jsx)(l.default,{style:[j.name,{color:t?A.primary:A.foreground},t&&j.nameCurrent],numberOfLines:1,children:e.name}),t?(0,x.jsx)(b.Check,{size:16,color:A.primary}):null]},e.id)},u[26]=A,u[27]=S,u[28]=I,u[29]=N,u[30]=v,u[31]=P,u[32]=e):e=u[32],O=z.map(e),u[18]=z,u[19]=A,u[20]=S,u[21]=I,u[22]=N,u[23]=v,u[24]=P,u[25]=O}else O=u[25];u[33]!==O?(q=(0,x.jsx)(c.default,{style:j.list,showsVerticalScrollIndicator:!1,children:O}),u[33]=O,u[34]=q):q=u[34];u[35]!==T||u[36]!==A||u[37]!==w||u[38]!==L||u[39]!==v||u[40]!==P?(F=v?(0,x.jsxs)(s.default,{onPress:()=>{T&&w(L)},disabled:!T,accessibilityRole:"button",accessibilityState:{disabled:!T},style:[j.gridButton,T?{backgroundColor:A.primary}:{backgroundColor:A.backgroundElevated}],children:[(0,x.jsx)(b.LayoutGrid,{size:15,color:T?A.primaryForeground:A.foregroundDisabled}),(0,x.jsx)(l.default,{style:[j.gridButtonText,{color:T?A.primaryForeground:A.foregroundDisabled}],children:P("v2.cameraSwitcher.openGrid",{n:L.length})})]}):null,u[35]=T,u[36]=A,u[37]=w,u[38]=L,u[39]=v,u[40]=P,u[41]=F):F=u[41];u[42]!==q||u[43]!==F?(H=(0,x.jsxs)(n.default,{style:j.body,children:[q,F]}),u[42]=q,u[43]=F,u[44]=H):H=u[44];return H};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),h=r(d[8]),b=r(d[9]),y=r(d[10]),S=r(d[11]),p=r(d[12]),x=r(d[13]);function C(e){return e.id}const j=u.default.create({center:{paddingVertical:S.SPACING.lg,alignItems:'center'},empty:{fontSize:13,paddingVertical:S.SPACING.md,textAlign:'center'},body:{gap:S.SPACING.sm},list:{maxHeight:360},row:{flexDirection:'row',alignItems:'center',gap:S.SPACING.md,paddingVertical:S.SPACING.sm+2,paddingHorizontal:S.SPACING.sm,borderBottomWidth:u.default.hairlineWidth,borderRadius:S.RADIUS.sm},onlineDot:{width:7,height:7,borderRadius:4},name:{flex:1,fontSize:14,fontWeight:'500'},nameCurrent:{fontWeight:'700'},gridButton:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:S.SPACING.sm,paddingVertical:S.SPACING.md,borderRadius:S.RADIUS.md},gridButtonText:{fontSize:13,fontWeight:'600'}})},3485,[15,17,20,112,252,147,33,240,786,813,2587,2589,3080,10]);
15907
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraMenuPanel=function(e){const n=(0,o.c)(117),{boundingBoxesOn:s,onToggleBoundingBoxes:l,statsOn:h,onToggleStats:y,audioMeterOn:R,onToggleAudioMeter:L,highlight:A,onSetHighlight:E,onOpenStorage:_,onOpenEvents:N,onClose:D,topOffset:O,align:V,maxWidth:W}=e,{t:z}=(0,u.useTranslation)(),{colors:B}=(0,f.useTheme)(),{settings:G,setCluster:k}=(0,M.useSettings)();let H;n[0]!==G.clusters?(H=(0,C.matchTimelineDensityPreset)(G.clusters),n[0]=G.clusters,n[1]=H):H=n[1];const F=H;let Y;n[2]!==z?(Y=C.TIMELINE_DENSITY_PRESET_ORDER.map(e=>({value:e,label:z(`v2.cameraMenu.density_${e}`)})),n[2]=z,n[3]=Y):Y=n[3];const q=Y;let U;n[4]!==k?(U=e=>{if("custom"===e)return;const o=C.TIMELINE_DENSITY_PRESETS[e];k("gapPercent",o.gapPercent),k("cardWidthFraction",o.cardWidthFraction)},n[4]=k,n[5]=U):U=n[5];const $=U;let J,K,Q,X,Z,ee,oe,te,ne,se,re;n[6]!==z?(J=z("v2.cameraMenu.title"),n[6]=z,n[7]=J):J=n[7];n[8]!==z?(K=z("v2.cameraDetail.close"),n[8]=z,n[9]=K):K=n[9];n[10]!==z?(Q=z("v2.cameraMenu.boundingBoxes"),n[10]=z,n[11]=Q):Q=n[11];n[12]!==s||n[13]!==l||n[14]!==Q?(X=(0,P.jsx)(b.PanelToggleRow,{icon:c.SquareDashed,label:Q,value:s,onValueChange:l}),n[12]=s,n[13]=l,n[14]=Q,n[15]=X):X=n[15];n[16]!==z?(Z=z("v2.cameraMenu.streamStats"),n[16]=z,n[17]=Z):Z=n[17];n[18]!==y||n[19]!==h||n[20]!==Z?(ee=(0,P.jsx)(b.PanelToggleRow,{icon:c.Activity,label:Z,value:h,onValueChange:y}),n[18]=y,n[19]=h,n[20]=Z,n[21]=ee):ee=n[21];n[22]!==z?(oe=z("v2.cameraMenu.audioLevel"),n[22]=z,n[23]=oe):oe=n[23];n[24]!==R||n[25]!==L||n[26]!==oe?(te=(0,P.jsx)(b.PanelToggleRow,{icon:c.AudioLines,label:oe,value:R,onValueChange:L}),n[24]=R,n[25]=L,n[26]=oe,n[27]=te):te=n[27];n[28]!==B.foregroundMuted?(ne=[I.sectionLabel,{color:B.foregroundMuted}],n[28]=B.foregroundMuted,n[29]=ne):ne=n[29];n[30]!==z?(se=z("v2.cameraMenu.densityTitle"),n[30]=z,n[31]=se):se=n[31];n[32]!==ne||n[33]!==se?(re=(0,P.jsx)(t.default,{style:ne,children:se}),n[32]=ne,n[33]=se,n[34]=re):re=n[34];const le=F??"custom";let ae,ie,ue,ce,de,ge,fe,he,me,xe,be,pe,Me,Ce,Pe,ve,we,Se,je,Te,Ie,ye,Re;n[35]!==$||n[36]!==q||n[37]!==le?(ae=(0,P.jsx)(p.SegmentedControl,{options:q,value:le,onChange:$}),n[35]=$,n[36]=q,n[37]=le,n[38]=ae):ae=n[38];n[39]!==B.foregroundMuted||n[40]!==F||n[41]!==z?(ie=null===F?(0,P.jsx)(t.default,{style:[I.densityCustom,{color:B.foregroundMuted}],children:z("v2.cameraMenu.densityCustom")}):null,n[39]=B.foregroundMuted,n[40]=F,n[41]=z,n[42]=ie):ie=n[42];n[43]!==z?(ue=z("v2.cameraMenu.indicatorPosition"),n[43]=z,n[44]=ue):ue=n[44];n[45]!==k?(ce=e=>k("indicatorPositionPct",e),n[45]=k,n[46]=ce):ce=n[46];n[47]!==G.clusters.indicatorPositionPct||n[48]!==ue||n[49]!==ce?(de=(0,P.jsx)(T,{icon:c.Crosshair,label:ue,value:G.clusters.indicatorPositionPct,min:v,max:w,step:S,suffix:"%",onChange:ce}),n[47]=G.clusters.indicatorPositionPct,n[48]=ue,n[49]=ce,n[50]=de):de=n[50];n[51]!==z?(ge=z("v2.cameraMenu.showImportance"),n[51]=z,n[52]=ge):ge=n[52];n[53]!==k||n[54]!==G.clusters.showImportance?(fe=()=>k("showImportance",!G.clusters.showImportance),n[53]=k,n[54]=G.clusters.showImportance,n[55]=fe):fe=n[55];n[56]!==G.clusters.showImportance||n[57]!==ge||n[58]!==fe?(he=(0,P.jsx)(b.PanelToggleRow,{icon:c.Layers,label:ge,value:G.clusters.showImportance,onValueChange:fe}),n[56]=G.clusters.showImportance,n[57]=ge,n[58]=fe,n[59]=he):he=n[59];n[60]!==z?(me=z("v2.cameraMenu.showClass"),n[60]=z,n[61]=me):me=n[61];n[62]!==k||n[63]!==G.clusters.showClass?(xe=()=>k("showClass",!G.clusters.showClass),n[62]=k,n[63]=G.clusters.showClass,n[64]=xe):xe=n[64];n[65]!==G.clusters.showClass||n[66]!==me||n[67]!==xe?(be=(0,P.jsx)(b.PanelToggleRow,{icon:c.List,label:me,value:G.clusters.showClass,onValueChange:xe}),n[65]=G.clusters.showClass,n[66]=me,n[67]=xe,n[68]=be):be=n[68];n[69]!==B.foregroundMuted?(pe=[I.sectionLabel,{color:B.foregroundMuted}],n[69]=B.foregroundMuted,n[70]=pe):pe=n[70];n[71]!==z?(Me=z("v2.gridBuilder.highlightTitle"),n[71]=z,n[72]=Me):Me=n[72];n[73]!==pe||n[74]!==Me?(Ce=(0,P.jsx)(t.default,{style:pe,children:Me}),n[73]=pe,n[74]=Me,n[75]=Ce):Ce=n[75];n[76]!==A||n[77]!==E?(Pe=(0,P.jsx)(b.HighlightTriggerRows,{highlight:A,onSetHighlight:E}),n[76]=A,n[77]=E,n[78]=Pe):Pe=n[78];n[79]!==B.foregroundMuted?(ve=[I.sectionLabel,{color:B.foregroundMuted}],n[79]=B.foregroundMuted,n[80]=ve):ve=n[80];n[81]!==z?(we=z("v2.cameraMenu.managementTitle"),n[81]=z,n[82]=we):we=n[82];n[83]!==ve||n[84]!==we?(Se=(0,P.jsx)(t.default,{style:ve,children:we}),n[83]=ve,n[84]=we,n[85]=Se):Se=n[85];n[86]!==z?(je=z("v2.storage.title"),n[86]=z,n[87]=je):je=n[87];n[88]!==_||n[89]!==je?(Te=(0,P.jsx)(j,{icon:c.HardDrive,label:je,onPress:_}),n[88]=_,n[89]=je,n[90]=Te):Te=n[90];n[91]!==z?(Ie=z("v2.eventsMgmt.title"),n[91]=z,n[92]=Ie):Ie=n[92];n[93]!==N||n[94]!==Ie?(ye=(0,P.jsx)(j,{icon:c.ListTree,label:Ie,onPress:N}),n[93]=N,n[94]=Ie,n[95]=ye):ye=n[95];n[96]!==V||n[97]!==W||n[98]!==D||n[99]!==te||n[100]!==re||n[101]!==ae||n[102]!==ie||n[103]!==de||n[104]!==he||n[105]!==be||n[106]!==Ce||n[107]!==Pe||n[108]!==Se||n[109]!==Te||n[110]!==ye||n[111]!==J||n[112]!==K||n[113]!==X||n[114]!==ee||n[115]!==O?(Re=(0,P.jsxs)(x.FloatingPanel,{title:J,onClose:D,closeLabel:K,topOffset:O,align:V,maxWidth:W,children:[X,ee,te,re,ae,ie,de,he,be,Ce,Pe,Se,Te,ye]}),n[96]=V,n[97]=W,n[98]=D,n[99]=te,n[100]=re,n[101]=ae,n[102]=ie,n[103]=de,n[104]=he,n[105]=be,n[106]=Ce,n[107]=Pe,n[108]=Se,n[109]=Te,n[110]=ye,n[111]=J,n[112]=K,n[113]=X,n[114]=ee,n[115]=O,n[116]=Re):Re=n[116];return Re};var o=r(d[0]);r(d[1]);var t=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),u=r(d[6]),c=r(d[7]),f=r(d[8]),h=r(d[9]),x=r(d[10]),b=r(d[11]),p=r(d[12]),M=r(d[13]),C=r(d[14]),P=r(d[15]);const v=0,w=100,S=5;function j(e){const s=(0,o.c)(15),{icon:l,label:u,onPress:h}=e,{colors:x}=(0,f.useTheme)();let b,p,M,C,v;return s[0]!==l||s[1]!==x.foregroundMuted?(b=(0,P.jsx)(l,{size:18,color:x.foregroundMuted}),s[0]=l,s[1]=x.foregroundMuted,s[2]=b):b=s[2],s[3]!==x.foreground?(p=[I.actionLabel,{color:x.foreground}],s[3]=x.foreground,s[4]=p):p=s[4],s[5]!==u||s[6]!==p?(M=(0,P.jsx)(t.default,{style:p,children:u}),s[5]=u,s[6]=p,s[7]=M):M=s[7],s[8]!==x.foregroundSubtle?(C=(0,P.jsx)(c.ChevronRight,{size:18,color:x.foregroundSubtle}),s[8]=x.foregroundSubtle,s[9]=C):C=s[9],s[10]!==h||s[11]!==b||s[12]!==M||s[13]!==C?(v=(0,P.jsxs)(n.default,{accessibilityRole:"button",onPress:h,style:I.actionRow,children:[b,M,C]}),s[10]=h,s[11]=b,s[12]=M,s[13]=C,s[14]=v):v=s[14],v}function T(e){const l=(0,o.c)(42),{icon:u,label:h,value:x,min:b,max:p,step:M,suffix:C,onChange:v}=e,{colors:w}=(0,f.useTheme)(),S=x>b,j=x<p;let T;l[0]!==w.background||l[1]!==w.border||l[2]!==w.foreground?(T=(e,o,t)=>(0,P.jsx)(n.default,{accessibilityRole:"button",disabled:!e,onPress:t,style:[I.stepBtn,{borderColor:w.border,backgroundColor:w.background,opacity:e?1:.4}],children:(0,P.jsx)(o,{size:15,color:w.foreground})}),l[0]=w.background,l[1]=w.border,l[2]=w.foreground,l[3]=T):T=l[3];const y=T;let R,L,A,E,_,N;l[4]!==u||l[5]!==w.foregroundMuted?(R=(0,P.jsx)(u,{size:18,color:w.foregroundMuted}),l[4]=u,l[5]=w.foregroundMuted,l[6]=R):R=l[6],l[7]!==w.foreground?(L=[I.stepperLabel,{color:w.foreground}],l[7]=w.foreground,l[8]=L):L=l[8],l[9]!==h||l[10]!==L?(A=(0,P.jsx)(t.default,{style:L,numberOfLines:1,children:h}),l[9]=h,l[10]=L,l[11]=A):A=l[11],l[12]!==b||l[13]!==v||l[14]!==M||l[15]!==x?(E=()=>v(Math.max(b,x-M)),l[12]=b,l[13]=v,l[14]=M,l[15]=x,l[16]=E):E=l[16],l[17]!==S||l[18]!==y||l[19]!==E?(_=y(S,c.Minus,E),l[17]=S,l[18]=y,l[19]=E,l[20]=_):_=l[20],l[21]!==w.foreground?(N=[I.stepperValue,{color:w.foreground}],l[21]=w.foreground,l[22]=N):N=l[22];const D=C??"";let O,V,W,z;return l[23]!==N||l[24]!==D||l[25]!==x?(O=(0,P.jsxs)(t.default,{style:N,children:[x,D]}),l[23]=N,l[24]=D,l[25]=x,l[26]=O):O=l[26],l[27]!==p||l[28]!==v||l[29]!==M||l[30]!==x?(V=()=>v(Math.min(p,x+M)),l[27]=p,l[28]=v,l[29]=M,l[30]=x,l[31]=V):V=l[31],l[32]!==j||l[33]!==y||l[34]!==V?(W=y(j,c.Plus,V),l[32]=j,l[33]=y,l[34]=V,l[35]=W):W=l[35],l[36]!==W||l[37]!==R||l[38]!==A||l[39]!==_||l[40]!==O?(z=(0,P.jsxs)(s.default,{style:I.stepperRow,children:[R,A,_,O,W]}),l[36]=W,l[37]=R,l[38]=A,l[39]=_,l[40]=O,l[41]=z):z=l[41],z}const I=l.default.create({sectionLabel:{fontSize:12,fontWeight:'600',paddingTop:h.SPACING.sm,paddingBottom:h.SPACING.xs},densityCustom:{fontSize:11,paddingTop:h.SPACING.xs},actionRow:{flexDirection:'row',alignItems:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.xs},actionLabel:{flex:1,fontSize:14,fontWeight:'500'},stepperRow:{flexDirection:'row',alignItems:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.xs},stepperLabel:{flex:1,fontSize:14,fontWeight:'500'},stepperValue:{minWidth:44,textAlign:'center',fontSize:14,fontWeight:'600',fontVariant:['tabular-nums']},stepBtn:{width:30,height:30,alignItems:'center',justifyContent:'center',borderRadius:h.RADIUS.md,borderWidth:1}})},3486,[15,17,112,252,20,33,786,813,2587,2589,3460,3408,3176,3177,3140,10]);
15908
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportModal=function(e){const f=(0,t.c)(182),{t:V}=(0,x.useTranslation)(),{colors:L}=(0,v.useTheme)(),[H,U]=(0,o.useState)(k),[q,O]=(0,o.useState)(1),[X,$]=(0,o.useState)(!1),[J,K]=(0,o.useState)(2e3),[Q,Y]=(0,o.useState)(!1),[Z,ee]=(0,o.useState)(T),[te,oe]=(0,o.useState)(!1),[le,re]=(0,o.useState)(null),ne=e.anchorEpoch,se=ne-H,{data:ie}=(0,y.useRecordingProfiles)(e.deviceId,se,ne,e.visible);let de;f[0]!==ie?(de=void 0===ie?[]:ie,f[0]=ie,f[1]=de):de=f[1];const ae=de,ce=le??ae[0]??null,ue=(0,C.useCreateExport)();let fe;f[2]!==q||f[3]!==X?(fe=N(X,q),f[2]=q,f[3]=X,f[4]=fe):fe=f[4];const pe=fe,xe=null===ce||ue.isPending;let ge;f[5]!==J||f[6]!==pe||f[7]!==ue||f[8]!==te||f[9]!==ce||f[10]!==se||f[11]!==Q||f[12]!==Z||f[13]!==e||f[14]!==q||f[15]!==V||f[16]!==X||f[17]!==ne?(ge=async()=>{if(null===ce)return;const t=X?{timelapse:{everyMs:J,outputFps:G},includeAudio:!1,maxLifeMs:Z,deleteAfterDownload:te}:{speed:q,includeAudio:pe&&Q,maxLifeMs:Z,deleteAfterDownload:te};try{await ue.mutateAsync({deviceId:e.deviceId,profile:ce,fromMs:se,toMs:ne,options:t}),e.onCreated()}catch(e){const t=e;p.default.alert(V("v2.exports.title"),t instanceof Error?t.message:V("v2.exports.createFailed"))}},f[5]=J,f[6]=pe,f[7]=ue,f[8]=te,f[9]=ce,f[10]=se,f[11]=Q,f[12]=Z,f[13]=e,f[14]=q,f[15]=V,f[16]=X,f[17]=ne,f[18]=ge):ge=f[18];const be=ge;let ve,he,Se,me;f[19]!==V?(ve=V("v2.exports.life24h"),f[19]=V,f[20]=ve):ve=f[20];f[21]!==V?(he=V("v2.exports.life7d"),f[21]=V,f[22]=he):he=f[22];f[23]!==V?(Se=V("v2.exports.life30d"),f[23]=V,f[24]=Se):Se=f[24];f[25]!==ve||f[26]!==he||f[27]!==Se?(me={[D[0]]:ve,[D[1]]:he,[D[2]]:Se},f[25]=ve,f[26]=he,f[27]=Se,f[28]=me):me=f[28];const je=me,ye=e.visible,Ce=e.onClose;let Ie,we,Ae,Pe,Me,Re,De,ke,Te,Ge,Ne,ze,Fe,We,Be;f[29]!==L.background?(Ie={flex:1,backgroundColor:L.background},f[29]=L.background,f[30]=Ie):Ie=f[30];f[31]!==L.border?(we=[E.header,{borderBottomColor:L.border}],f[31]=L.border,f[32]=we):we=f[32];f[33]!==L.foreground?(Ae={color:L.foreground,fontSize:17,fontWeight:"700"},f[33]=L.foreground,f[34]=Ae):Ae=f[34];f[35]!==V?(Pe=V("v2.exports.title"),f[35]=V,f[36]=Pe):Pe=f[36];f[37]!==Ae||f[38]!==Pe?(Me=(0,A.jsx)(s.default,{style:Ae,children:Pe}),f[37]=Ae,f[38]=Pe,f[39]=Me):Me=f[39];f[40]!==L.foregroundMuted?(Re=(0,A.jsx)(b.X,{size:22,color:L.foregroundMuted}),f[40]=L.foregroundMuted,f[41]=Re):Re=f[41];f[42]!==e.onClose||f[43]!==Re?(De=(0,A.jsx)(c.default,{accessibilityRole:"button",onPress:e.onClose,hitSlop:8,children:Re}),f[42]=e.onClose,f[43]=Re,f[44]=De):De=f[44];f[45]!==we||f[46]!==Me||f[47]!==De?(ke=(0,A.jsxs)(n.default,{style:we,children:[Me,De]}),f[45]=we,f[46]=Me,f[47]=De,f[48]=ke):ke=f[48];f[49]===Symbol.for("react.memo_cache_sentinel")?(Te={padding:h.SPACING.xl,gap:h.SPACING["2xl"],paddingBottom:h.SPACING["3xl"]},f[49]=Te):Te=f[49];f[50]!==V?(Ge=V("v2.exports.range"),f[50]=V,f[51]=Ge):Ge=f[51];f[52]===Symbol.for("react.memo_cache_sentinel")?(Ne=P.map(W),f[52]=Ne):Ne=f[52];f[53]!==H?(ze=(0,A.jsx)(B,{options:Ne,value:H,onChange:U}),f[53]=H,f[54]=ze):ze=f[54];f[55]!==L.foregroundMuted?(Fe=[E.rangeText,{color:L.foregroundMuted}],f[55]=L.foregroundMuted,f[56]=Fe):Fe=f[56];f[57]!==se||f[58]!==ne?(We=(0,I.rangeLabel)(se,ne),f[57]=se,f[58]=ne,f[59]=We):We=f[59];f[60]!==Fe||f[61]!==We?(Be=(0,A.jsx)(s.default,{style:Fe,children:We}),f[60]=Fe,f[61]=We,f[62]=Be):Be=f[62];const Ee=e.deviceId;let Ve,Le;f[63]!==V?(Ve=V("v2.exports.rangeStart"),f[63]=V,f[64]=Ve):Ve=f[64];f[65]!==se||f[66]!==e.deviceId||f[67]!==Ve?(Le=(0,A.jsx)(w.ExportFramePreview,{deviceId:Ee,atMs:se,caption:Ve}),f[65]=se,f[66]=e.deviceId,f[67]=Ve,f[68]=Le):Le=f[68];const He=e.deviceId;let Ue,qe,Oe,Xe,$e,Je,Ke,Qe,Ye,Ze;f[69]!==V?(Ue=V("v2.exports.rangeEnd"),f[69]=V,f[70]=Ue):Ue=f[70];f[71]!==e.deviceId||f[72]!==Ue||f[73]!==ne?(qe=(0,A.jsx)(w.ExportFramePreview,{deviceId:He,atMs:ne,caption:Ue}),f[71]=e.deviceId,f[72]=Ue,f[73]=ne,f[74]=qe):qe=f[74];f[75]!==Le||f[76]!==qe?(Oe=(0,A.jsxs)(n.default,{style:E.previewRow,children:[Le,qe]}),f[75]=Le,f[76]=qe,f[77]=Oe):Oe=f[77];f[78]!==ze||f[79]!==Be||f[80]!==Oe?(Xe=(0,A.jsxs)(n.default,{style:E.block,children:[ze,Be,Oe]}),f[78]=ze,f[79]=Be,f[80]=Oe,f[81]=Xe):Xe=f[81];f[82]!==Ge||f[83]!==Xe?($e=(0,A.jsx)(S.Section,{title:Ge,children:Xe}),f[82]=Ge,f[83]=Xe,f[84]=$e):$e=f[84];f[85]!==L.foregroundSubtle||f[86]!==ce||f[87]!==ae||f[88]!==V?(Je=ae.length>0?(0,A.jsx)(S.Section,{title:V("v2.exports.profile"),children:(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:ae.map(F),value:ce,onChange:re})})}):(0,A.jsx)(S.Section,{title:V("v2.exports.profile"),children:(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(s.default,{style:{color:L.foregroundSubtle,fontSize:13},children:V("v2.exports.noFootage")})})}),f[85]=L.foregroundSubtle,f[86]=ce,f[87]=ae,f[88]=V,f[89]=Je):Je=f[89];f[90]!==V?(Ke=V("v2.exports.speed"),f[90]=V,f[91]=Ke):Ke=f[91];f[92]===Symbol.for("react.memo_cache_sentinel")?(Qe=M.map(z),f[92]=Qe):Qe=f[92];f[93]!==q||f[94]!==X?(Ye=(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:Qe,value:q,onChange:O,disabled:X})}),f[93]=q,f[94]=X,f[95]=Ye):Ye=f[95];f[96]!==V?(Ze=V("v2.exports.timelapse"),f[96]=V,f[97]=Ze):Ze=f[97];const et=!X;let tt,ot,lt,rt,nt,st;f[98]!==Ze||f[99]!==et||f[100]!==X?(tt=(0,A.jsx)(j.ToggleRow,{label:Ze,value:X,onValueChange:$,last:et}),f[98]=Ze,f[99]=et,f[100]=X,f[101]=tt):tt=f[101];f[102]!==J||f[103]!==L.borderSubtle||f[104]!==L.foregroundMuted||f[105]!==V||f[106]!==X?(ot=X?(0,A.jsxs)(n.default,{style:[E.block,{borderTopWidth:1,borderTopColor:L.borderSubtle}],children:[(0,A.jsx)(s.default,{style:[E.subLabel,{color:L.foregroundMuted}],children:V("v2.exports.cadence")}),(0,A.jsx)(B,{options:R.map(_),value:J,onChange:K})]}):null,f[102]=J,f[103]=L.borderSubtle,f[104]=L.foregroundMuted,f[105]=V,f[106]=X,f[107]=ot):ot=f[107];f[108]!==Ke||f[109]!==Ye||f[110]!==tt||f[111]!==ot?(lt=(0,A.jsxs)(S.Section,{title:Ke,children:[Ye,tt,ot]}),f[108]=Ke,f[109]=Ye,f[110]=tt,f[111]=ot,f[112]=lt):lt=f[112];f[113]!==V?(rt=V("v2.exports.audio"),f[113]=V,f[114]=rt):rt=f[114];f[115]!==V?(nt=V("v2.exports.includeAudio"),f[115]=V,f[116]=nt):nt=f[116];f[117]!==pe||f[118]!==V?(st=pe?void 0:V("v2.exports.audioUnavailable"),f[117]=pe,f[118]=V,f[119]=st):st=f[119];const it=pe&&Q,dt=!pe;let at,ct,ut,ft,pt,xt,gt,bt,vt,ht;f[120]!==nt||f[121]!==st||f[122]!==it||f[123]!==dt?(at=(0,A.jsx)(j.ToggleRow,{label:nt,description:st,value:it,onValueChange:Y,disabled:dt,last:!0}),f[120]=nt,f[121]=st,f[122]=it,f[123]=dt,f[124]=at):at=f[124];f[125]!==rt||f[126]!==at?(ct=(0,A.jsx)(S.Section,{title:rt,children:at}),f[125]=rt,f[126]=at,f[127]=ct):ct=f[127];f[128]!==V?(ut=V("v2.exports.retention"),f[128]=V,f[129]=ut):ut=f[129];f[130]!==je?(ft=D.map(e=>({value:e,label:je[e]})),f[130]=je,f[131]=ft):ft=f[131];f[132]!==Z||f[133]!==ft?(pt=(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:ft,value:Z,onChange:ee})}),f[132]=Z,f[133]=ft,f[134]=pt):pt=f[134];f[135]!==V?(xt=V("v2.exports.deleteAfterDownload"),f[135]=V,f[136]=xt):xt=f[136];f[137]!==V?(gt=V("v2.exports.deleteAfterDownloadHint"),f[137]=V,f[138]=gt):gt=f[138];f[139]!==te||f[140]!==xt||f[141]!==gt?(bt=(0,A.jsx)(j.ToggleRow,{label:xt,description:gt,value:te,onValueChange:oe,last:!0}),f[139]=te,f[140]=xt,f[141]=gt,f[142]=bt):bt=f[142];f[143]!==ut||f[144]!==pt||f[145]!==bt?(vt=(0,A.jsxs)(S.Section,{title:ut,children:[pt,bt]}),f[143]=ut,f[144]=pt,f[145]=bt,f[146]=vt):vt=f[146];f[147]!==be?(ht=()=>{be()},f[147]=be,f[148]=ht):ht=f[148];const St=xe?L.surfaceHover:L.primary;let mt;f[149]!==St?(mt=[E.exportBtn,{backgroundColor:St}],f[149]=St,f[150]=mt):mt=f[150];const jt=xe?L.foregroundDisabled:L.primaryForeground;let yt;f[151]!==jt?(yt=(0,A.jsx)(b.Download,{size:18,color:jt}),f[151]=jt,f[152]=yt):yt=f[152];const Ct=xe?L.foregroundDisabled:L.primaryForeground;let It,wt,At,Pt,Mt,Rt,Dt;f[153]!==Ct?(It=[E.exportBtnText,{color:Ct}],f[153]=Ct,f[154]=It):It=f[154];f[155]!==ue.isPending||f[156]!==V?(wt=ue.isPending?V("v2.exports.creating"):V("v2.exports.createAction"),f[155]=ue.isPending,f[156]=V,f[157]=wt):wt=f[157];f[158]!==It||f[159]!==wt?(At=(0,A.jsx)(s.default,{style:It,children:wt}),f[158]=It,f[159]=wt,f[160]=At):At=f[160];f[161]!==xe||f[162]!==ht||f[163]!==mt||f[164]!==yt||f[165]!==At?(Pt=(0,A.jsxs)(c.default,{accessibilityRole:"button",disabled:xe,onPress:ht,style:mt,children:[yt,At]}),f[161]=xe,f[162]=ht,f[163]=mt,f[164]=yt,f[165]=At,f[166]=Pt):Pt=f[166];f[167]!==$e||f[168]!==Je||f[169]!==lt||f[170]!==ct||f[171]!==vt||f[172]!==Pt?(Mt=(0,A.jsxs)(u.default,{contentContainerStyle:Te,children:[$e,Je,lt,ct,vt,Pt]}),f[167]=$e,f[168]=Je,f[169]=lt,f[170]=ct,f[171]=vt,f[172]=Pt,f[173]=Mt):Mt=f[173];f[174]!==Ie||f[175]!==ke||f[176]!==Mt?(Rt=(0,A.jsxs)(n.default,{style:Ie,children:[ke,Mt]}),f[174]=Ie,f[175]=ke,f[176]=Mt,f[177]=Rt):Rt=f[177];f[178]!==e.onClose||f[179]!==e.visible||f[180]!==Rt?(Dt=(0,A.jsx)(l.default,{visible:ye,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:Ce,children:Rt}),f[178]=e.onClose,f[179]=e.visible,f[180]=Rt,f[181]=Dt):Dt=f[181];return Dt};var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),p=e(r(d[8])),x=r(d[9]),b=r(d[10]),v=r(d[11]),h=r(d[12]),S=r(d[13]),j=r(d[14]),y=r(d[15]),C=r(d[16]),I=r(d[17]),w=r(d[18]),A=r(d[19]);const P=[6e4,3e5,9e5,18e5,36e5],M=[.25,.5,1,2,4,8],R=[1e3,2e3,5e3,1e4],D=[864e5,6048e5,2592e6],k=3e5,T=6048e5,G=30;function N(e,t){return!e&&t>=.5&&t<=2}function _(e){return{value:e,label:(0,I.formatDuration)(e)}}function z(e){return{value:e,label:`${e}\xd7`}}function F(e){return{value:e,label:e}}function W(e){return{value:e,label:(0,I.formatDuration)(e)}}function B(e){const o=(0,t.c)(13),{options:l,value:u,onChange:f,disabled:p}=e,x=void 0!==p&&p,{colors:b}=(0,v.useTheme)();let h,S;if(o[0]!==b||o[1]!==x||o[2]!==f||o[3]!==l||o[4]!==u){let e;o[6]!==b||o[7]!==x||o[8]!==f||o[9]!==u?(e=e=>{const t=e.value===u;return(0,A.jsx)(c.default,{accessibilityRole:"button",accessibilityState:{selected:t,disabled:x},disabled:x,onPress:()=>f(e.value),style:[E.chip,{backgroundColor:t?b.primary:b.background,borderColor:t?b.primary:b.border,opacity:x?.4:1}],children:(0,A.jsx)(s.default,{style:{color:t?b.primaryForeground:b.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:e.label})},String(e.value))},o[6]=b,o[7]=x,o[8]=f,o[9]=u,o[10]=e):e=o[10],h=l.map(e),o[0]=b,o[1]=x,o[2]=f,o[3]=l,o[4]=u,o[5]=h}else h=o[5];return o[11]!==h?(S=(0,A.jsx)(n.default,{style:E.chipRow,children:h}),o[11]=h,o[12]=S):S=o[12],S}const E=f.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:h.SPACING.xl,borderBottomWidth:1},block:{padding:h.SPACING.xl,gap:h.SPACING.md},subLabel:{fontSize:13,fontWeight:'500'},rangeText:{fontSize:13,fontVariant:['tabular-nums']},previewRow:{flexDirection:'row',gap:h.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:h.SPACING.md},chip:{paddingHorizontal:h.SPACING.lg,paddingVertical:h.SPACING.md,borderRadius:h.RADIUS.lg,borderWidth:1},exportBtn:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.lg,borderRadius:h.RADIUS.lg},exportBtnText:{fontSize:15,fontWeight:'700'}})},3487,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3174,3159,3488,3489,3490,10]);
15909
- __d(function(g,_r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.toExportRecord=y,_e.isExportActive=v,_e.useExportsList=function(t){const u=(0,e.c)(9),{controller:l,state:p}=(0,n.useConnection)(),f=t??"all";let y;u[0]!==f?(y=[...c,"list",f],u[0]=f,u[1]=y):y=u[1];const v="connected"===p;let E,w;u[2]!==l||u[3]!==t?(E=async()=>{const e=l.getSystem();if(!e)return[];const r=void 0!==t?{deviceId:t}:{},n=x(await(0,o.capQuery)(e.trpcClient,"recordingExport","listExports",r));return s.log.info("exports","listExports",{deviceId:t??null,count:n.length}),n},u[2]=l,u[3]=t,u[4]=E):E=u[4];u[5]!==y||u[6]!==v||u[7]!==E?(w={queryKey:y,enabled:v,staleTime:5e3,refetchInterval:b,queryFn:E},u[5]=y,u[6]=v,u[7]=E,u[8]=w):w=u[8];return(0,r.useQuery)(w)},_e.useExport=function(t,s){const u=(0,e.c)(9),l=void 0===s||s,{controller:p,state:f}=(0,n.useConnection)(),x=t??"";let v;u[0]!==x?(v=[...c,"one",x],u[0]=x,u[1]=v):v=u[1];const E=l&&null!==t&&"connected"===f;let b,A;u[2]!==p||u[3]!==t?(b=async()=>{const e=p.getSystem();if(!e||null===t)return null;return y(await(0,o.capQuery)(e.trpcClient,"recordingExport","getExport",{exportId:t}))},u[2]=p,u[3]=t,u[4]=b):b=u[4];u[5]!==v||u[6]!==E||u[7]!==b?(A={queryKey:v,enabled:E,refetchInterval:w,queryFn:b},u[5]=v,u[6]=E,u[7]=b,u[8]=A):A=u[8];return(0,r.useQuery)(A)},_e.useCreateExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","createExport",Object.assign({},e)))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useCancelExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","cancelExport",{exportId:e}))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useDeleteExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","deleteExport",{exportId:e}))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useResolveDownloadUrl=function(){const t=(0,e.c)(2),{controller:r}=(0,n.useConnection)();let s;t[0]!==r?(s=async e=>{const t=r.getSystem();if(!t)return null;const n=await(0,o.capQuery)(t.trpcClient,"recordingExport","getDownloadUrl",{exportId:e});if(!(0,o.isRecord)(n)||"string"!=typeof n.url||0===n.url.length)return null;const s=n.url;if(s.startsWith("http://")||s.startsWith("https://"))return s;const c=t.serverUrl.replace(/\/$/,"");return s.startsWith("/")?`${c}${s}`:`${c}/${s}`},t[0]=r,t[1]=s):s=t[1];return s},_e.useExportEvents=function(){const s=(0,e.c)(6),{controller:u,state:l}=(0,n.useConnection)(),p=(0,r.useQueryClient)();let f;s[0]===Symbol.for("react.memo_cache_sentinel")?(f={},s[0]=f):f=s[0];const[y,x]=(0,t.useState)(f);let v,E;s[1]!==l||s[2]!==u||s[3]!==p?(v=()=>{if("connected"!==l)return;const e=u.getSystem();if(!e)return;const t=A,r=e=>r=>{const n=t(r);null!==n&&x(t=>Object.assign({},t,{[n]:{progressPct:null,state:e}})),p.invalidateQueries({queryKey:c})},n=[e.subscribeEvent("recording.export.progress",e=>{const r=t(e);if(null===r)return;const n=(0,o.isRecord)(e)&&"number"==typeof e.progressPct?e.progressPct:null;x(e=>Object.assign({},e,{[r]:{progressPct:n,state:"rendering"}}))}),e.subscribeEvent("recording.export.completed",r("ready")),e.subscribeEvent("recording.export.failed",r("failed"))];return()=>{for(const e of n)e();x({})}},E=[u,l,p],s[1]=l,s[2]=u,s[3]=p,s[4]=v,s[5]=E):(v=s[4],E=s[5]);return(0,t.useEffect)(v,E),y};var e=_r(d[0]),t=_r(d[1]),r=_r(d[2]),n=_r(d[3]),o=_r(d[4]),s=_r(d[5]);const c=['v2','exports'],u=new Set(['queued','rendering','ready','failed','expired','deleted']);function l(e){return'string'==typeof e&&u.has(e)?e:'failed'}function p(e){return'number'==typeof e?e:null}function f(e){if((0,o.isRecord)(e)&&'number'==typeof e.everyMs)return{everyMs:e.everyMs,outputFps:'number'==typeof e.outputFps?e.outputFps:void 0}}function y(e){if(!(0,o.isRecord)(e))return null;const{id:t,deviceId:r,profile:n,fromMs:s,toMs:c}=e;return'string'!=typeof t||'number'!=typeof r?null:{id:t,deviceId:r,profile:'string'==typeof n?n:'unknown',fromMs:'number'==typeof s?s:0,toMs:'number'==typeof c?c:0,options:(u=e.options,(0,o.isRecord)(u)?{speed:'number'==typeof u.speed?u.speed:void 0,timelapse:f(u.timelapse),includeAudio:!0===u.includeAudio,maxLifeMs:'number'==typeof u.maxLifeMs?u.maxLifeMs:0,deleteAfterDownload:!0===u.deleteAfterDownload,title:'string'==typeof u.title?u.title:void 0}:{includeAudio:!1,maxLifeMs:0,deleteAfterDownload:!1}),state:l(e.state),progressPct:p(e.progressPct),fileBytes:p(e.fileBytes),expiresAt:'number'==typeof e.expiresAt?e.expiresAt:0,deleteAfterDownload:!0===e.deleteAfterDownload,downloadedAt:p(e.downloadedAt),createdAt:'number'==typeof e.createdAt?e.createdAt:0,createdBy:'string'==typeof e.createdBy?e.createdBy:'',error:'string'==typeof e.error?e.error:null};var u}function x(e){if(!Array.isArray(e))return[];const t=[];for(const r of e){const e=y(r);e&&t.push(e)}return t}function v(e){return'queued'===e.state||'rendering'===e.state}const E=2e3;function b(e){return!!(e.state.data??[]).some(v)&&E}function w(e){const t=e.state.data;return!(!t||!v(t))&&E}function A(e){return(0,o.isRecord)(e)?"string"==typeof e.exportId?e.exportId:"string"==typeof e.id?e.id:null:null}},3488,[15,17,3081,2594,3162,2705]);
15910
- __d(function(g,r,i,a,_m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.formatBytes=function(t){if(null===t||t<=0)return'\u2014';const n=['B','KB','MB','GB','TB'];let o=t,s=0;for(;o>=1024&&s<n.length-1;)o/=1024,s+=1;return`${o>=100||0===s?Math.round(o):o.toFixed(1)} ${n[s]}`},e.formatDuration=s,e.rangeLabel=function(t,n){const o=new Date(t).toLocaleDateString(void 0,{day:'numeric',month:'short'}),c=new Date(t).toDateString()===new Date(n).toDateString()?u(n):`${new Date(n).toLocaleDateString(void 0,{day:'numeric',month:'short'})} ${u(n)}`;return`${o}, ${u(t)} \u2192 ${c} (${s(n-t)})`},e.variantLabel=function(t,n){let o;if(void 0!==t.timelapse)o=n('v2.exports.variantTimelapse');else{const s=t.speed??1;o=1===s?n('v2.exports.variantRegular'):n(s>1?'v2.exports.variantAccelerated':'v2.exports.variantSlow',{speed:s})}return void 0===t.timelapse&&t.includeAudio?`${o} \xb7 ${n('v2.exports.withAudio')}`:o},e.expiryLabel=function(s,u,c){const l=s-u;return l<=0?c('v2.exports.expired'):l>=o?c('v2.exports.expiresInDays',{count:Math.floor(l/o)}):l>=n?c('v2.exports.expiresInHours',{count:Math.floor(l/n)}):c('v2.exports.expiresInMinutes',{count:Math.max(1,Math.floor(l/t))})},e.stateLabel=function(t,n){return n(`v2.exports.state.${t}`)},e.effectiveProgress=function(t,n){return'rendering'!==t.state&&'queued'!==t.state?null:'number'==typeof n?Math.max(0,Math.min(100,n)):'number'==typeof t.progressPct?Math.max(0,Math.min(100,t.progressPct)):null};const t=6e4,n=36e5,o=864e5;function s(t){if(t<=0)return'0s';const n=Math.round(t/1e3),o=Math.floor(n/3600),s=Math.floor(n%3600/60),u=n%60;return o>0?`${o}h ${String(s).padStart(2,'0')}m`:s>0?`${s}m ${String(u).padStart(2,'0')}s`:`${u}s`}function u(t){return new Date(t).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'})}},3489,[]);
15911
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportFramePreview=function(e){const l=(0,t.c)(32),{deviceId:y,atMs:j,caption:p}=e,{colors:w}=(0,b.useTheme)(),{token:_}=(0,f.useServer)(),[I,M]=(0,o.useState)(0),W=(0,h.useScrubThumbnail)(y,j);let C;l[0]!==_?(C=_?{Authorization:`Bearer ${_}`}:void 0,l[0]=_,l[1]=C):C=l[1];const H=C,z=null!==W&&I>0?I/W.thumb.tileWidth:0,L=null!==W?W.thumb.tileHeight*z:0;let O,P,k,A,R,T,U,D,E,F;l[2]!==w.foregroundMuted?(O=[x.caption,{color:w.foregroundMuted}],l[2]=w.foregroundMuted,l[3]=O):O=l[3];l[4]!==p||l[5]!==O?(P=(0,S.jsx)(u.default,{style:O,numberOfLines:1,children:p}),l[4]=p,l[5]=O,l[6]=P):P=l[6];l[7]!==w.border||l[8]!==w.surfaceHover?(k=[x.frame,{backgroundColor:w.surfaceHover,borderColor:w.border}],l[7]=w.border,l[8]=w.surfaceHover,l[9]=k):k=l[9];l[10]===Symbol.for("react.memo_cache_sentinel")?(A=e=>{const t=Math.round(e.nativeEvent.layout.width);M(e=>e===t?e:t)},l[10]=A):A=l[10];l[11]!==I||l[12]!==w.foregroundSubtle||l[13]!==H||l[14]!==W||l[15]!==z||l[16]!==L?(R=null!==W&&I>0?(0,S.jsx)(n.default,{style:[x.tileWindow,{width:I,height:L}],children:(0,S.jsx)(s.Image,{source:H?{uri:W.sheetUrl,headers:H}:{uri:W.sheetUrl},style:{position:"absolute",width:W.thumb.sheetWidth*z,height:W.thumb.sheetHeight*z,left:-W.thumb.x*z,top:-W.thumb.y*z},contentFit:"fill",cachePolicy:"memory-disk"})}):(0,S.jsx)(n.default,{style:x.placeholder,children:(0,S.jsx)(c.ImageOff,{size:20,color:w.foregroundSubtle})}),l[11]=I,l[12]=w.foregroundSubtle,l[13]=H,l[14]=W,l[15]=z,l[16]=L,l[17]=R):R=l[17];l[18]!==k||l[19]!==R?(T=(0,S.jsx)(n.default,{style:k,onLayout:A,children:R}),l[18]=k,l[19]=R,l[20]=T):T=l[20];l[21]!==w.foregroundSubtle?(U=[x.time,{color:w.foregroundSubtle}],l[21]=w.foregroundSubtle,l[22]=U):U=l[22];l[23]!==j?(D=v(j),l[23]=j,l[24]=D):D=l[24];l[25]!==U||l[26]!==D?(E=(0,S.jsx)(u.default,{style:U,numberOfLines:1,children:D}),l[25]=U,l[26]=D,l[27]=E):E=l[27];l[28]!==E||l[29]!==P||l[30]!==T?(F=(0,S.jsxs)(n.default,{style:x.col,children:[P,T,E]}),l[28]=E,l[29]=P,l[30]=T,l[31]=F):F=l[31];return F};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),u=e(r(d[3])),l=e(r(d[4])),s=r(d[5]),c=r(d[6]),f=r(d[7]),h=r(d[8]),b=r(d[9]),y=r(d[10]),S=r(d[11]);function v(e){return new Date(e).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit',second:'2-digit'})}const x=l.default.create({col:{flex:1,gap:y.SPACING.xs},caption:{fontSize:11,fontWeight:'600'},frame:{width:'100%',aspectRatio:1.7777777777777777,borderRadius:y.RADIUS.md,borderWidth:1,overflow:'hidden',alignItems:'center',justifyContent:'center'},tileWindow:{overflow:'hidden'},placeholder:{alignItems:'center',justifyContent:'center'},time:{fontSize:11,fontVariant:['tabular-nums']}})},3490,[15,17,20,112,33,3053,813,3144,3463,2587,2589,10]);
15912
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportActionsPanel=function(e){const t=(0,o.c)(24),{onSnapshot:n,snapshotBusy:s,onOpenExport:l,onClose:f,topOffset:b,align:j,maxWidth:v}=e,{t:P}=(0,u.useTranslation)();let y,M,S,A,_,C,w;t[0]!==P?(y=P("v2.exportActions.title"),t[0]=P,t[1]=y):y=t[1];t[2]!==P?(M=P("v2.cameraDetail.close"),t[2]=P,t[3]=M):M=t[3];t[4]!==P?(S=P("v2.cameraDetail.snapshot"),t[4]=P,t[5]=S):S=t[5];t[6]!==n||t[7]!==s||t[8]!==S?(A=(0,p.jsx)(h,{icon:c.Aperture,label:S,busy:s,onPress:n}),t[6]=n,t[7]=s,t[8]=S,t[9]=A):A=t[9];t[10]!==P?(_=P("v2.exportActions.recordingExport"),t[10]=P,t[11]=_):_=t[11];t[12]!==l||t[13]!==_?(C=(0,p.jsx)(h,{icon:c.Download,label:_,onPress:l}),t[12]=l,t[13]=_,t[14]=C):C=t[14];t[15]!==j||t[16]!==v||t[17]!==f||t[18]!==y||t[19]!==M||t[20]!==A||t[21]!==C||t[22]!==b?(w=(0,p.jsxs)(x.FloatingPanel,{title:y,onClose:f,closeLabel:M,topOffset:b,align:j,maxWidth:v,children:[A,C]}),t[15]=j,t[16]=v,t[17]=f,t[18]=y,t[19]=M,t[20]=A,t[21]=C,t[22]=b,t[23]=w):w=t[23];return w};var o=r(d[0]);r(d[1]);var t=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),u=r(d[6]),c=r(d[7]),f=r(d[8]),b=r(d[9]),x=r(d[10]),p=r(d[11]);function h(e){const s=(0,o.c)(19),{icon:u,label:b,busy:x,onPress:h}=e,v=void 0!==x&&x,{colors:P}=(0,f.useTheme)();let y,M,S,A,_;return s[0]!==u||s[1]!==P.foregroundMuted?(y=(0,p.jsx)(u,{size:18,color:P.foregroundMuted}),s[0]=u,s[1]=P.foregroundMuted,s[2]=y):y=s[2],s[3]!==P.foreground?(M=[j.actionLabel,{color:P.foreground}],s[3]=P.foreground,s[4]=M):M=s[4],s[5]!==b||s[6]!==M?(S=(0,p.jsx)(t.default,{style:M,children:b}),s[5]=b,s[6]=M,s[7]=S):S=s[7],s[8]!==v||s[9]!==P.foregroundMuted||s[10]!==P.foregroundSubtle?(A=v?(0,p.jsx)(l.default,{size:"small",color:P.foregroundMuted}):(0,p.jsx)(c.ChevronRight,{size:18,color:P.foregroundSubtle}),s[8]=v,s[9]=P.foregroundMuted,s[10]=P.foregroundSubtle,s[11]=A):A=s[11],s[12]!==v||s[13]!==b||s[14]!==h||s[15]!==y||s[16]!==S||s[17]!==A?(_=(0,p.jsxs)(n.default,{accessibilityRole:"button",accessibilityLabel:b,disabled:v,onPress:h,style:j.actionRow,children:[y,S,A]}),s[12]=v,s[13]=b,s[14]=h,s[15]=y,s[16]=S,s[17]=A,s[18]=_):_=s[18],_}const j=s.default.create({actionRow:{flexDirection:'row',alignItems:'center',gap:b.SPACING.md,paddingVertical:b.SPACING.sm},actionLabel:{flex:1,fontSize:14,fontWeight:'500'}})},3491,[15,17,112,252,33,240,786,813,2587,2589,3460,10]);
15913
- __d(function(g,_r,_i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StorageManagementModal=function(e){const i=(0,t.c)(110),{visible:B,deviceId:j,cameraName:w,onClose:P}=e,{t:A}=(0,u.useTranslation)(),{colors:I}=(0,y.useTheme)(),[R,D]=(0,o.useState)(k[0].key),M=(0,h.useStorageUsage)(B),T=(0,h.usePruneFootage)(),N=(0,h.useDeleteFootprint)(),G=T.isPending||N.isPending;let _;i[0]!==j||i[1]!==M.data?.devices?(_=M.data?.devices.find(e=>e.deviceId===j),i[0]=j,i[1]=M.data?.devices,i[2]=_):_=i[2];const L=_,F=L?.usedBytes??0;let U;i[3]!==R?(U=k.find(e=>e.key===R)??k[0],i[3]=R,i[4]=U):U=i[4];const V=U;let W;i[5]!==w||i[6]!==j||i[7]!==T||i[8]!==A?(W=()=>{c.default.alert(A("v2.storage.pruneConfirmTitle","Apply retention?"),A("v2.storage.pruneConfirmBody",{defaultValue:"Delete footage on {{name}} that exceeds its retention policy.",name:w}),[{text:A("v2.storage.cancel","Cancel"),style:"cancel"},{text:A("v2.storage.pruneAction","Apply"),onPress:()=>{T.mutate({deviceId:j,reason:"manual"},{onSuccess:e=>c.default.alert(A("v2.storage.title","Storage"),A("v2.storage.pruneResult",{defaultValue:"Reclaimed {{bytes}} ({{buckets}} segments).",bytes:(0,x.formatBytes)(e?.reclaimedBytes??0),buckets:e?.deletedBuckets??0})),onError:e=>c.default.alert(A("v2.storage.title","Storage"),e.message)})}}])},i[5]=w,i[6]=j,i[7]=T,i[8]=A,i[9]=W):W=i[9];const z=W;let $;i[10]!==w||i[11]!==N||i[12]!==j||i[13]!==V||i[14]!==A?($=()=>{const e=Date.now(),t=null===V.ms?{deviceId:j}:{deviceId:j,fromMs:e-V.ms,toMs:e};c.default.alert(A("v2.storage.deleteConfirmTitle","Delete footage?"),A("v2.storage.deleteConfirmBody",{defaultValue:"Permanently delete {{range}} of footage on {{name}}. This cannot be undone.",range:A(`v2.storage.${V.key}`),name:w}),[{text:A("v2.storage.cancel","Cancel"),style:"cancel"},{text:A("v2.storage.deleteAction","Delete"),style:"destructive",onPress:()=>{N.mutate(t,{onSuccess:e=>c.default.alert(A("v2.storage.title","Storage"),A("v2.storage.deleteResult",{defaultValue:"Reclaimed {{bytes}} ({{buckets}} segments).",bytes:(0,x.formatBytes)(e?.reclaimedBytes??0),buckets:e?.deletedBuckets??0})),onError:e=>c.default.alert(A("v2.storage.title","Storage"),e.message)})}}])},i[10]=w,i[11]=N,i[12]=j,i[13]=V,i[14]=A,i[15]=$):$=i[15];const E=$;let H,q,O,X,J,K,Q,Y,Z,ee,te,oe,ae,le,re,se,ne,de,ie,ce;i[16]!==I.background?(H={flex:1,backgroundColor:I.background},i[16]=I.background,i[17]=H):H=i[17];i[18]!==I.border?(q=[C.header,{borderBottomColor:I.border}],i[18]=I.border,i[19]=q):q=i[19];i[20]!==I.foreground?(O={color:I.foreground,fontSize:17,fontWeight:"700"},i[20]=I.foreground,i[21]=O):O=i[21];i[22]!==A?(X=A("v2.storage.title","Storage"),i[22]=A,i[23]=X):X=i[23];i[24]!==O||i[25]!==X?(J=(0,S.jsx)(s.default,{style:O,children:X}),i[24]=O,i[25]=X,i[26]=J):J=i[26];i[27]!==I.foregroundMuted?(K=(0,S.jsx)(f.X,{size:22,color:I.foregroundMuted}),i[27]=I.foregroundMuted,i[28]=K):K=i[28];i[29]!==P||i[30]!==K?(Q=(0,S.jsx)(n.default,{accessibilityRole:"button",onPress:P,hitSlop:8,children:K}),i[29]=P,i[30]=K,i[31]=Q):Q=i[31];i[32]!==Q||i[33]!==q||i[34]!==J?(Y=(0,S.jsxs)(r.default,{style:q,children:[J,Q]}),i[32]=Q,i[33]=q,i[34]=J,i[35]=Y):Y=i[35];i[36]===Symbol.for("react.memo_cache_sentinel")?(Z={padding:b.SPACING.xl,gap:b.SPACING["2xl"],paddingBottom:b.SPACING["3xl"]},i[36]=Z):Z=i[36];i[37]!==A?(ee=A("v2.storage.usageTitle","Usage"),i[37]=A,i[38]=ee):ee=i[38];i[39]!==F||i[40]!==M.isLoading?(te=M.isLoading?"\u2026":(0,x.formatBytes)(F),i[39]=F,i[40]=M.isLoading,i[41]=te):te=i[41];i[42]!==w||i[43]!==te?(oe=(0,S.jsx)(p.Row,{label:w,value:te,icon:f.HardDrive}),i[42]=w,i[43]=te,i[44]=oe):oe=i[44];i[45]!==A?(ae=A("v2.storage.nodeTotal","Node total"),i[45]=A,i[46]=ae):ae=i[46];i[47]!==M.data?.totalUsedBytes||i[48]!==M.isLoading?(le=M.isLoading?"\u2026":(0,x.formatBytes)(M.data?.totalUsedBytes??0),i[47]=M.data?.totalUsedBytes,i[48]=M.isLoading,i[49]=le):le=i[49];i[50]!==ae||i[51]!==le?(re=(0,S.jsx)(p.Row,{label:ae,value:le}),i[50]=ae,i[51]=le,i[52]=re):re=i[52];i[53]!==M.data?.locations?(se=M.data?.locations??[],i[53]=M.data?.locations,i[54]=se):se=i[54];if(i[55]!==A||i[56]!==se||i[57]!==M.data?.locations){let e;i[59]!==A||i[60]!==M.data?.locations?(e=(e,t)=>(0,S.jsx)(p.Row,{label:e.locationId??A("v2.storage.defaultLocation","Default location"),value:null!==e.availableBytes?A("v2.storage.locationFree",{defaultValue:"{{free}} free",free:(0,x.formatBytes)(e.availableBytes)}):(0,x.formatBytes)(e.usedBytes),last:t===(M.data?.locations.length??0)-1},e.locationId??`loc-${t}`),i[59]=A,i[60]=M.data?.locations,i[61]=e):e=i[61],ne=se.map(e),i[55]=A,i[56]=se,i[57]=M.data?.locations,i[58]=ne}else ne=i[58];i[62]!==ee||i[63]!==oe||i[64]!==re||i[65]!==ne?(de=(0,S.jsxs)(v.Section,{title:ee,children:[oe,re,ne]}),i[62]=ee,i[63]=oe,i[64]=re,i[65]=ne,i[66]=de):de=i[66];i[67]!==A?(ie=A("v2.storage.retentionTitle","Retention"),i[67]=A,i[68]=ie):ie=i[68];i[69]!==A?(ce=A("v2.storage.pruneAction","Apply retention now"),i[69]=A,i[70]=ce):ce=i[70];const ue=G?void 0:z;let ge,fe,ye,me,be,ve;i[71]!==ce||i[72]!==ue?(ge=(0,S.jsx)(p.Row,{label:ce,icon:f.Timer,onPress:ue,last:!0}),i[71]=ce,i[72]=ue,i[73]=ge):ge=i[73];i[74]!==ie||i[75]!==ge?(fe=(0,S.jsx)(v.Section,{title:ie,children:ge}),i[74]=ie,i[75]=ge,i[76]=fe):fe=i[76];i[77]!==A?(ye=A("v2.storage.deleteTitle","Delete footage"),i[77]=A,i[78]=ye):ye=i[78];i[79]!==I.background||i[80]!==I.border||i[81]!==I.foregroundMuted||i[82]!==I.primary||i[83]!==I.primaryForeground||i[84]!==A||i[85]!==R?(me=k.map(e=>{const t=e.key===R;return(0,S.jsx)(n.default,{accessibilityRole:"button",accessibilityState:{selected:t},onPress:()=>D(e.key),style:[C.chip,{backgroundColor:t?I.primary:I.background,borderColor:t?I.primary:I.border}],children:(0,S.jsx)(s.default,{style:{color:t?I.primaryForeground:I.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:A(`v2.storage.${e.key}`)})},e.key)}),i[79]=I.background,i[80]=I.border,i[81]=I.foregroundMuted,i[82]=I.primary,i[83]=I.primaryForeground,i[84]=A,i[85]=R,i[86]=me):me=i[86];i[87]!==me?(be=(0,S.jsx)(r.default,{style:C.block,children:(0,S.jsx)(r.default,{style:C.chipRow,children:me})}),i[87]=me,i[88]=be):be=i[88];i[89]!==A?(ve=A("v2.storage.deleteAction","Delete"),i[89]=A,i[90]=ve):ve=i[90];const pe=G?void 0:E;let xe,he,Se,ke,Ce;i[91]!==ve||i[92]!==pe?(xe=(0,S.jsx)(p.Row,{label:ve,icon:f.Trash2,danger:!0,onPress:pe,last:!0}),i[91]=ve,i[92]=pe,i[93]=xe):xe=i[93];i[94]!==ye||i[95]!==be||i[96]!==xe?(he=(0,S.jsxs)(v.Section,{title:ye,children:[be,xe]}),i[94]=ye,i[95]=be,i[96]=xe,i[97]=he):he=i[97];i[98]!==de||i[99]!==fe||i[100]!==he?(Se=(0,S.jsxs)(d.default,{contentContainerStyle:Z,children:[de,fe,he]}),i[98]=de,i[99]=fe,i[100]=he,i[101]=Se):Se=i[101];i[102]!==Y||i[103]!==Se||i[104]!==H?(ke=(0,S.jsxs)(r.default,{style:H,children:[Y,Se]}),i[102]=Y,i[103]=Se,i[104]=H,i[105]=ke):ke=i[105];i[106]!==P||i[107]!==ke||i[108]!==B?(Ce=(0,S.jsx)(l.default,{visible:B,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:P,children:ke}),i[106]=P,i[107]=ke,i[108]=B,i[109]=Ce):Ce=i[109];return Ce};var t=_r(_d[0]),o=_r(_d[1]),l=e(_r(_d[2])),r=e(_r(_d[3])),s=e(_r(_d[4])),n=e(_r(_d[5])),d=e(_r(_d[6])),i=e(_r(_d[7])),c=e(_r(_d[8])),u=_r(_d[9]),f=_r(_d[10]),y=_r(_d[11]),b=_r(_d[12]),v=_r(_d[13]),p=_r(_d[14]),x=_r(_d[15]),h=_r(_d[16]),S=_r(_d[17]);const k=[{key:'window24h',ms:864e5},{key:'window7d',ms:6048e5},{key:'window30d',ms:2592e6},{key:'windowAll',ms:null}];const C=i.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:b.SPACING.xl,borderBottomWidth:1},block:{padding:b.SPACING.xl,gap:b.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:b.SPACING.md},chip:{paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.md,borderRadius:b.RADIUS.lg,borderWidth:1}})},3492,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3417,3489,3493,10]);
15914
- __d(function(g,r,i,a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useStorageUsage=function(u){const d=(0,t.c)(5),y=void 0===u||u,{controller:v,state:p}=(0,o.useConnection)(),B=y&&"connected"===p;let w,I;d[0]!==v?(w=async()=>{const t=v.getSystem();if(!t)return null;const n=l(await(0,s.capQuery)(t.trpcClient,"recording","getStorageUsage",{}));return c.log.info("storage","getStorageUsage",{devices:n?.devices.length??0}),n},d[0]=v,d[1]=w):w=d[1];d[2]!==B||d[3]!==w?(I={queryKey:f,enabled:B,staleTime:1e4,queryFn:w},d[2]=B,d[3]=w,d[4]=I):I=d[4];return(0,n.useQuery)(I)},e.usePruneFootage=function(){const c=(0,t.c)(7),{controller:l}=(0,o.useConnection)(),y=(0,n.useQueryClient)();let v,p,B;c[0]!==l?(v=async t=>{const{deviceId:n,reason:o}=t,c=l.getSystem();if(!c)throw new Error("not connected");const y={deviceId:n};void 0!==o&&(y.reason=o);const v=await(0,s.capMutate)(c.trpcClient,"recording","pruneFootage",y);return(0,s.isRecord)(v)?{floorMs:d(v.floorMs),deletedBuckets:u(v.deletedBuckets),reclaimedBytes:u(v.reclaimedBytes)}:null},c[0]=l,c[1]=v):v=c[1];c[2]!==y?(p=()=>{y.invalidateQueries({queryKey:f})},c[2]=y,c[3]=p):p=c[3];c[4]!==v||c[5]!==p?(B={mutationFn:v,onSuccess:p},c[4]=v,c[5]=p,c[6]=B):B=c[6];return(0,n.useMutation)(B)},e.useDeleteFootprint=function(){const c=(0,t.c)(7),{controller:d}=(0,o.useConnection)(),l=(0,n.useQueryClient)();let y,v,p;c[0]!==d?(y=async t=>{const{deviceId:n,fromMs:o,toMs:c}=t,l=d.getSystem();if(!l)throw new Error("not connected");const y={deviceId:n};void 0!==o&&(y.fromMs=o),void 0!==c&&(y.toMs=c);const v=await(0,s.capMutate)(l.trpcClient,"recording","deleteFootprint",y);return(0,s.isRecord)(v)?{deletedBuckets:u(v.deletedBuckets),reclaimedBytes:u(v.reclaimedBytes)}:null},c[0]=d,c[1]=y):y=c[1];c[2]!==l?(v=()=>{l.invalidateQueries({queryKey:f})},c[2]=l,c[3]=v):v=c[3];c[4]!==y||c[5]!==v?(p={mutationFn:y,onSuccess:v},c[4]=y,c[5]=v,c[6]=p):p=c[6];return(0,n.useMutation)(p)},e.useEventStoreFootprint=function(u){const d=(0,t.c)(5),l=void 0===u||u,{controller:v,state:f}=(0,o.useConnection)(),B=l&&"connected"===f;let w,I;d[0]!==v?(w=async()=>{const t=v.getSystem();if(!t)return null;const n=y(await(0,s.capQuery)(t.trpcClient,"pipelineAnalytics","getEventStoreFootprint",{}));return c.log.info("events","getEventStoreFootprint",{devices:n?.devices.length??0}),n},d[0]=v,d[1]=w):w=d[1];d[2]!==B||d[3]!==w?(I={queryKey:p,enabled:B,staleTime:1e4,queryFn:w},d[2]=B,d[3]=w,d[4]=I):I=d[4];return(0,n.useQuery)(I)},e.usePruneEvents=function(){const c=(0,t.c)(7),{controller:u}=(0,o.useConnection)(),d=(0,n.useQueryClient)();let l,y,f;c[0]!==u?(l=async t=>{const{olderThanMs:n,reason:o}=t,c=u.getSystem();if(!c)throw new Error("not connected");const d={olderThanMs:n};void 0!==o&&(d.reason=o);return v(await(0,s.capMutate)(c.trpcClient,"pipelineAnalytics","pruneEvents",d))},c[0]=u,c[1]=l):l=c[1];c[2]!==d?(y=()=>{d.invalidateQueries({queryKey:p})},c[2]=d,c[3]=y):y=c[3];c[4]!==l||c[5]!==y?(f={mutationFn:l,onSuccess:y},c[4]=l,c[5]=y,c[6]=f):f=c[6];return(0,n.useMutation)(f)},e.useDeleteDeviceEvents=function(){const c=(0,t.c)(7),{controller:u}=(0,o.useConnection)(),d=(0,n.useQueryClient)();let l,y,f;c[0]!==u?(l=async t=>{const n=u.getSystem();if(!n)throw new Error("not connected");return v(await(0,s.capMutate)(n.trpcClient,"pipelineAnalytics","deleteDeviceEvents",{deviceId:t}))},c[0]=u,c[1]=l):l=c[1];c[2]!==d?(y=()=>{d.invalidateQueries({queryKey:p})},c[2]=d,c[3]=y):y=c[3];c[4]!==l||c[5]!==y?(f={mutationFn:l,onSuccess:y},c[4]=l,c[5]=y,c[6]=f):f=c[6];return(0,n.useMutation)(f)};var t=r(_d[0]),n=r(_d[1]),o=r(_d[2]),s=r(_d[3]),c=r(_d[4]);function u(t){return'number'==typeof t&&Number.isFinite(t)?t:0}function d(t){return'number'==typeof t&&Number.isFinite(t)?t:null}function l(t){if(!(0,s.isRecord)(t))return null;const n=[];if(Array.isArray(t.devices))for(const o of t.devices)(0,s.isRecord)(o)&&'number'==typeof o.deviceId&&n.push({deviceId:o.deviceId,usedBytes:u(o.usedBytes)});const o=[];if(Array.isArray(t.locations))for(const n of t.locations)(0,s.isRecord)(n)&&o.push({locationId:'string'==typeof n.locationId?n.locationId:null,usedBytes:u(n.usedBytes),availableBytes:d(n.availableBytes),totalBytes:d(n.totalBytes)});return{nodeId:'string'==typeof t.nodeId?t.nodeId:'',totalUsedBytes:u(t.totalUsedBytes),devices:n,locations:o}}function y(t){if(!(0,s.isRecord)(t))return null;const n=[];if(Array.isArray(t.devices))for(const o of t.devices)(0,s.isRecord)(o)&&'number'==typeof o.deviceId&&n.push({deviceId:o.deviceId,rows:u(o.rows),bytes:u(o.bytes)});return{totalRows:u(t.totalRows),totalBytes:u(t.totalBytes),devices:n}}function v(t){return(0,s.isRecord)(t)?{motion:u(t.motion),object:u(t.object),audio:u(t.audio)}:{motion:0,object:0,audio:0}}const f=['v2','storage-usage'],p=['v2','event-footprint']},3493,[15,3081,2594,3162,2705]);
15915
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.EventsManagementModal=function(e){const c=(0,t.c)(112),{visible:k,deviceId:A,cameraName:R,onClose:T}=e,{t:D}=(0,f.useTranslation)(),{colors:I}=(0,b.useTheme)(),[B,E]=(0,n.useState)(P[1].key),N=(0,S.useEventStoreFootprint)(k),G=(0,S.usePruneEvents)(),L=(0,S.useDeleteDeviceEvents)(),_=G.isPending||L.isPending;let V;c[0]!==A||c[1]!==N.data?.devices?(V=N.data?.devices.find(e=>e.deviceId===A),c[0]=A,c[1]=N.data?.devices,c[2]=V):V=c[2];const z=V;let F;c[3]!==B?(F=P.find(e=>e.key===B)??P[1],c[3]=B,c[4]=F):F=c[4];const W=F;let H;c[5]!==G||c[6]!==W||c[7]!==D?(H=()=>{const e=Date.now()-W.ms;v.default.alert(D("v2.eventsMgmt.pruneConfirmTitle","Prune old events?"),D("v2.eventsMgmt.pruneConfirmBody",{defaultValue:"Delete events older than {{range}} across ALL cameras. This cannot be undone.",range:D(`v2.eventsMgmt.${W.key}`)}),[{text:D("v2.eventsMgmt.cancel","Cancel"),style:"cancel"},{text:D("v2.eventsMgmt.pruneAction","Prune"),style:"destructive",onPress:()=>{G.mutate({olderThanMs:e,reason:"manual"},{onSuccess:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),D("v2.eventsMgmt.pruneResult",{defaultValue:"Deleted {{count}} events.",count:w(e)})),onError:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),e.message)})}}])},c[5]=G,c[6]=W,c[7]=D,c[8]=H):H=c[8];const $=H;let q;c[9]!==R||c[10]!==L||c[11]!==A||c[12]!==D?(q=()=>{v.default.alert(D("v2.eventsMgmt.deleteConfirmTitle","Delete all events?"),D("v2.eventsMgmt.deleteConfirmBody",{defaultValue:"Permanently delete every event for {{name}}. This cannot be undone.",name:R}),[{text:D("v2.eventsMgmt.cancel","Cancel"),style:"cancel"},{text:D("v2.eventsMgmt.deleteAction","Delete"),style:"destructive",onPress:()=>{L.mutate(A,{onSuccess:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),D("v2.eventsMgmt.deleteResult",{defaultValue:"Deleted {{count}} events.",count:w(e)})),onError:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),e.message)})}}])},c[9]=R,c[10]=L,c[11]=A,c[12]=D,c[13]=q):q=c[13];const O=q;let U,X,J,K,Q,Y,Z,ee,te,ne,oe,se,re,le,ae,de,ie,ue,ce,ve,ge,me,fe,ye;c[14]!==I.background?(U={flex:1,backgroundColor:I.background},c[14]=I.background,c[15]=U):U=c[15];c[16]!==I.border?(X=[j.header,{borderBottomColor:I.border}],c[16]=I.border,c[17]=X):X=c[17];c[18]!==I.foreground?(J={color:I.foreground,fontSize:17,fontWeight:"700"},c[18]=I.foreground,c[19]=J):J=c[19];c[20]!==D?(K=D("v2.eventsMgmt.title","Events"),c[20]=D,c[21]=K):K=c[21];c[22]!==J||c[23]!==K?(Q=(0,C.jsx)(l.default,{style:J,children:K}),c[22]=J,c[23]=K,c[24]=Q):Q=c[24];c[25]!==I.foregroundMuted?(Y=(0,C.jsx)(y.X,{size:22,color:I.foregroundMuted}),c[25]=I.foregroundMuted,c[26]=Y):Y=c[26];c[27]!==T||c[28]!==Y?(Z=(0,C.jsx)(d.default,{accessibilityRole:"button",onPress:T,hitSlop:8,children:Y}),c[27]=T,c[28]=Y,c[29]=Z):Z=c[29];c[30]!==Z||c[31]!==X||c[32]!==Q?(ee=(0,C.jsxs)(s.default,{style:X,children:[Q,Z]}),c[30]=Z,c[31]=X,c[32]=Q,c[33]=ee):ee=c[33];c[34]===Symbol.for("react.memo_cache_sentinel")?(te={padding:p.SPACING.xl,gap:p.SPACING["2xl"],paddingBottom:p.SPACING["3xl"]},c[34]=te):te=c[34];c[35]!==D?(ne=D("v2.eventsMgmt.footprintTitle","Footprint"),c[35]=D,c[36]=ne):ne=c[36];c[37]!==z?.bytes||c[38]!==z?.rows||c[39]!==N.isLoading||c[40]!==D?(oe=N.isLoading?"\u2026":D("v2.eventsMgmt.rowsBytes",{defaultValue:"{{rows}} events \xb7 {{bytes}}",rows:z?.rows??0,bytes:(0,x.formatBytes)(z?.bytes??0)}),c[37]=z?.bytes,c[38]=z?.rows,c[39]=N.isLoading,c[40]=D,c[41]=oe):oe=c[41];c[42]!==R||c[43]!==oe?(se=(0,C.jsx)(M.Row,{label:R,value:oe,icon:y.ListTree}),c[42]=R,c[43]=oe,c[44]=se):se=c[44];c[45]!==D?(re=D("v2.eventsMgmt.clusterTotal","Cluster total"),c[45]=D,c[46]=re):re=c[46];c[47]!==N.data?.totalBytes||c[48]!==N.data?.totalRows||c[49]!==N.isLoading||c[50]!==D?(le=N.isLoading?"\u2026":D("v2.eventsMgmt.rowsBytes",{defaultValue:"{{rows}} events \xb7 {{bytes}}",rows:N.data?.totalRows??0,bytes:(0,x.formatBytes)(N.data?.totalBytes??0)}),c[47]=N.data?.totalBytes,c[48]=N.data?.totalRows,c[49]=N.isLoading,c[50]=D,c[51]=le):le=c[51];c[52]!==re||c[53]!==le?(ae=(0,C.jsx)(M.Row,{label:re,value:le,last:!0}),c[52]=re,c[53]=le,c[54]=ae):ae=c[54];c[55]!==ne||c[56]!==se||c[57]!==ae?(de=(0,C.jsxs)(h.Section,{title:ne,children:[se,ae]}),c[55]=ne,c[56]=se,c[57]=ae,c[58]=de):de=c[58];c[59]!==D?(ie=D("v2.eventsMgmt.pruneTitle","Prune older than"),c[59]=D,c[60]=ie):ie=c[60];c[61]!==I.background||c[62]!==I.border||c[63]!==I.foregroundMuted||c[64]!==I.primary||c[65]!==I.primaryForeground||c[66]!==B||c[67]!==D?(ue=P.map(e=>{const t=e.key===B;return(0,C.jsx)(d.default,{accessibilityRole:"button",accessibilityState:{selected:t},onPress:()=>E(e.key),style:[j.chip,{backgroundColor:t?I.primary:I.background,borderColor:t?I.primary:I.border}],children:(0,C.jsx)(l.default,{style:{color:t?I.primaryForeground:I.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:D(`v2.eventsMgmt.${e.key}`)})},e.key)}),c[61]=I.background,c[62]=I.border,c[63]=I.foregroundMuted,c[64]=I.primary,c[65]=I.primaryForeground,c[66]=B,c[67]=D,c[68]=ue):ue=c[68];c[69]!==ue?(ce=(0,C.jsx)(s.default,{style:j.chipRow,children:ue}),c[69]=ue,c[70]=ce):ce=c[70];c[71]!==I.foregroundSubtle?(ve=[j.hint,{color:I.foregroundSubtle}],c[71]=I.foregroundSubtle,c[72]=ve):ve=c[72];c[73]!==D?(ge=D("v2.eventsMgmt.pruneHint","Applies to all cameras."),c[73]=D,c[74]=ge):ge=c[74];c[75]!==ve||c[76]!==ge?(me=(0,C.jsx)(l.default,{style:ve,children:ge}),c[75]=ve,c[76]=ge,c[77]=me):me=c[77];c[78]!==ce||c[79]!==me?(fe=(0,C.jsxs)(s.default,{style:j.block,children:[ce,me]}),c[78]=ce,c[79]=me,c[80]=fe):fe=c[80];c[81]!==D?(ye=D("v2.eventsMgmt.pruneAction","Prune"),c[81]=D,c[82]=ye):ye=c[82];const be=_?void 0:$;let pe,he,Me,xe;c[83]!==ye||c[84]!==be?(pe=(0,C.jsx)(M.Row,{label:ye,icon:y.Timer,danger:!0,onPress:be,last:!0}),c[83]=ye,c[84]=be,c[85]=pe):pe=c[85];c[86]!==ie||c[87]!==fe||c[88]!==pe?(he=(0,C.jsxs)(h.Section,{title:ie,children:[fe,pe]}),c[86]=ie,c[87]=fe,c[88]=pe,c[89]=he):he=c[89];c[90]!==D?(Me=D("v2.eventsMgmt.deleteTitle","Delete camera events"),c[90]=D,c[91]=Me):Me=c[91];c[92]!==D?(xe=D("v2.eventsMgmt.deleteAction","Delete all events for this camera"),c[92]=D,c[93]=xe):xe=c[93];const Se=_?void 0:O;let Ce,Pe,we,je,ke;c[94]!==xe||c[95]!==Se?(Ce=(0,C.jsx)(M.Row,{label:xe,icon:y.Trash2,danger:!0,onPress:Se,last:!0}),c[94]=xe,c[95]=Se,c[96]=Ce):Ce=c[96];c[97]!==Me||c[98]!==Ce?(Pe=(0,C.jsx)(h.Section,{title:Me,children:Ce}),c[97]=Me,c[98]=Ce,c[99]=Pe):Pe=c[99];c[100]!==de||c[101]!==he||c[102]!==Pe?(we=(0,C.jsxs)(u.default,{contentContainerStyle:te,children:[de,he,Pe]}),c[100]=de,c[101]=he,c[102]=Pe,c[103]=we):we=c[103];c[104]!==ee||c[105]!==we||c[106]!==U?(je=(0,C.jsxs)(s.default,{style:U,children:[ee,we]}),c[104]=ee,c[105]=we,c[106]=U,c[107]=je):je=c[107];c[108]!==T||c[109]!==je||c[110]!==k?(ke=(0,C.jsx)(o.default,{visible:k,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:T,children:je}),c[108]=T,c[109]=je,c[110]=k,c[111]=ke):ke=c[111];return ke};var t=r(_d[0]),n=r(_d[1]),o=e(r(_d[2])),s=e(r(_d[3])),l=e(r(_d[4])),d=e(r(_d[5])),u=e(r(_d[6])),c=e(r(_d[7])),v=e(r(_d[8])),f=r(_d[9]),y=r(_d[10]),b=r(_d[11]),p=r(_d[12]),h=r(_d[13]),M=r(_d[14]),x=r(_d[15]),S=r(_d[16]),C=r(_d[17]);const P=[{key:'older24h',ms:864e5},{key:'older7d',ms:6048e5},{key:'older30d',ms:2592e6}];function w(e){return e.motion+e.object+e.audio}const j=c.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:p.SPACING.xl,borderBottomWidth:1},block:{padding:p.SPACING.xl,gap:p.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:p.SPACING.md},chip:{paddingHorizontal:p.SPACING.lg,paddingVertical:p.SPACING.md,borderRadius:p.RADIUS.lg,borderWidth:1},hint:{fontSize:12}})},3494,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3417,3489,3493,10]);
15916
- __d(function(g,_r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StreamStatsOverlay=function(t){const n=(0,e.c)(55),{getStats:b}=t,{t:h}=(0,r.useTranslation)(),[y,j]=(0,l.useState)(null);let S,x,k,w,z,_,W,M;n[0]!==b?(S=()=>{let t=!0;const e=async()=>{const e=await b().catch(p);t&&j(e)};e();const l=setInterval(()=>{e()},u);return()=>{t=!1,clearInterval(l)}},x=[b],n[0]=b,n[1]=S,n[2]=x):(S=n[1],x=n[2]);if((0,l.useEffect)(S,x),n[3]!==y||n[4]!==h){if(k=[],y){if(y.resolution){let t,e;n[6]!==h?(t=h("v2.stats.resolution"),n[6]=h,n[7]=t):t=n[7],n[8]!==y.resolution||n[9]!==t?(e={label:t,value:y.resolution},n[8]=y.resolution,n[9]=t,n[10]=e):e=n[10],k.push(e)}if(void 0!==y.fps){let t;n[11]!==h?(t=h("v2.stats.fps"),n[11]=h,n[12]=t):t=n[12];const e=String(y.fps);let l;n[13]!==t||n[14]!==e?(l={label:t,value:e},n[13]=t,n[14]=e,n[15]=l):l=n[15],k.push(l)}if(void 0!==y.bitrateKbps){let t;n[16]!==h?(t=h("v2.stats.bitrate"),n[16]=h,n[17]=t):t=n[17];const e=`${y.bitrateKbps} kbps`;let l;n[18]!==t||n[19]!==e?(l={label:t,value:e},n[18]=t,n[19]=e,n[20]=l):l=n[20],k.push(l)}if(void 0!==y.packetsLost){let t;n[21]!==h?(t=h("v2.stats.packetLoss"),n[21]=h,n[22]=t):t=n[22];const e=String(y.packetsLost);let l;n[23]!==t||n[24]!==e?(l={label:t,value:e},n[23]=t,n[24]=e,n[25]=l):l=n[25],k.push(l)}if(void 0!==y.jitterMs){let t;n[26]!==h?(t=h("v2.stats.jitter"),n[26]=h,n[27]=t):t=n[27];const e=`${y.jitterMs} ms`;let l;n[28]!==t||n[29]!==e?(l={label:t,value:e},n[28]=t,n[29]=e,n[30]=l):l=n[30],k.push(l)}if(y.codec){let t,e;n[31]!==h?(t=h("v2.stats.codec"),n[31]=h,n[32]=t):t=n[32],n[33]!==y.codec||n[34]!==t?(e={label:t,value:y.codec},n[33]=y.codec,n[34]=t,n[35]=e):e=n[35],k.push(e)}if("playback"===y.source&&(void 0!==y.dropped||void 0!==y.total)){let t;n[36]!==h?(t=h("v2.stats.frames"),n[36]=h,n[37]=t):t=n[37];const e=`${y.dropped??0}/${y.total??0}`;let l;n[38]!==t||n[39]!==e?(l={label:t,value:e},n[38]=t,n[39]=e,n[40]=l):l=n[40],k.push(l)}}n[3]=y,n[4]=h,n[5]=k}else k=n[5];n[41]!==h?(w=h("v2.stats.title"),n[41]=h,n[42]=w):w=n[42];n[43]!==w?(z=(0,c.jsx)(o.default,{style:v.title,children:w}),n[43]=w,n[44]=z):z=n[44];n[45]!==k||n[46]!==h?(_=0===k.length?(0,c.jsx)(o.default,{style:v.dim,children:h("v2.stats.waiting")}):k.map(f),n[45]=k,n[46]=h,n[47]=_):_=n[47];n[48]!==y?.source||n[49]!==h?(W="playback"===y?.source?(0,c.jsx)(o.default,{style:v.hint,children:h("v2.stats.playbackHint")}):null,n[48]=y?.source,n[49]=h,n[50]=W):W=n[50];n[51]!==z||n[52]!==_||n[53]!==W?(M=(0,c.jsxs)(s.default,{style:v.panel,pointerEvents:"none",children:[z,_,W]}),n[51]=z,n[52]=_,n[53]=W,n[54]=M):M=n[54];return M};var e=_r(d[0]),l=_r(d[1]),s=t(_r(d[2])),o=t(_r(d[3])),n=t(_r(d[4])),r=_r(d[5]),c=_r(d[6]);const u=1e3;function f(t){return(0,c.jsxs)(s.default,{style:v.row,children:[(0,c.jsx)(o.default,{style:v.label,children:t.label}),(0,c.jsx)(o.default,{style:v.value,children:t.value})]},t.label)}function p(){return null}const v=n.default.create({panel:{position:'absolute',top:36,left:8,minWidth:150,maxWidth:220,paddingHorizontal:10,paddingVertical:8,borderRadius:8,backgroundColor:'#000000b3'},title:{color:'#f59e42',fontSize:10,fontWeight:'800',letterSpacing:.5,marginBottom:4,textTransform:'uppercase'},row:{flexDirection:'row',justifyContent:'space-between',gap:12,paddingVertical:1},label:{color:'#a8a29e',fontSize:11},value:{color:'#fafaf9',fontSize:11,fontWeight:'600',fontVariant:['tabular-nums']},dim:{color:'#a8a29e',fontSize:11},hint:{color:'#78716c',fontSize:9,marginTop:4,maxWidth:200}})},3495,[15,17,20,112,33,786,10]);
15917
- __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.MotionBoxesOverlay=function(e){const u=(0,t.c)(8),{deviceId:x,enabled:y}=e,{boxes:w}=(0,h.useDetections)(x,y);let S;u[0]===Symbol.for("react.memo_cache_sentinel")?(S={width:0,height:0},u[0]=S):S=u[0];const[_,p]=(0,l.useState)(S);let v;u[1]===Symbol.for("react.memo_cache_sentinel")?(v=e=>{const{width:t,height:l}=e.nativeEvent.layout;p(e=>e.width===t&&e.height===l?e:{width:t,height:l})},u[1]=v):v=u[1];const j=v;let M,$;u[2]!==w||u[3]!==_.height||u[4]!==_.width?(M=_.width>0&&_.height>0?w.map((e,t)=>{const l=e.x1*_.width,s=e.y1*_.height,h=(e.x2-e.x1)*_.width,u=(e.y2-e.y1)*_.height;if(h<=0||u<=0)return null;const x=(0,c.getClassColor)(e.label),y=Math.round(100*e.score),w=void 0!==e.name?`${e.name} ${y}%`:`${e.label} ${y}%`,S=`${e.label}-${t}`,p=Math.max(24,_.width-l);return(0,f.jsxs)(o.default.Fragment,{children:[(0,f.jsx)(i.default,{style:[b.box,e.detail?b.detailBox:null,{borderColor:x,left:l,top:s,width:h,height:u}]}),(0,f.jsx)(i.default,{style:[b.label,{backgroundColor:x,left:l,top:Math.max(0,s-18),maxWidth:p}],children:(0,f.jsx)(n.default,{style:b.labelText,numberOfLines:1,adjustsFontSizeToFit:!0,minimumFontScale:.6,children:w})})]},S)}):null,u[2]=w,u[3]=_.height,u[4]=_.width,u[5]=M):M=u[5];u[6]!==M?($=(0,f.jsx)(i.default,{style:s.default.absoluteFill,pointerEvents:"none",onLayout:j,children:M}),u[6]=M,u[7]=$):$=u[7];return $};var t=r(d[0]),l=r(d[1]),o=e(l),i=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),h=r(d[5]),u=r(d[6]),c=r(d[7]),f=r(d[8]);const b=s.default.create({box:{position:'absolute',borderWidth:2,borderRadius:u.RADIUS.sm},detailBox:{borderWidth:1,borderStyle:'dashed'},label:{position:'absolute',alignSelf:'flex-start',paddingHorizontal:5,paddingVertical:1,borderRadius:u.RADIUS.sm},labelText:{fontSize:10,fontWeight:'700',color:'#ffffff'}})},3496,[15,17,20,112,33,3385,2589,3232,10]);
15918
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.AudioLevelMeter=function(e){const t=(0,n.c)(13),{deviceId:u,enabled:A}=e,{colors:I}=(0,s.useTheme)(),S=(0,l.useAudioLevel)(u,A),p=(0,c.dbfsToLevel)(S);if(!A)return null;let v;t[0]!==I.danger||t[1]!==I.success||t[2]!==I.warning?(v=e=>e>=c.AUDIO_LEVEL_STEPS-1?I.danger:e>=c.AUDIO_LEVEL_STEPS-2?I.warning:I.success,t[0]=I.danger,t[1]=I.success,t[2]=I.warning,t[3]=v):v=t[3];const D=v,E=`${I.background}B3`;let L,P,h;t[4]!==E?(L=[_.container,{backgroundColor:E}],t[4]=E,t[5]=L):L=t[5];t[6]!==I.foregroundDisabled||t[7]!==p||t[8]!==D?(P=b.map((e,n)=>{const t=n<p;return(0,f.jsx)(o.default,{style:[_.segment,{height:e,backgroundColor:t?D(n):I.foregroundDisabled,opacity:t?1:.35}]},n)}),t[6]=I.foregroundDisabled,t[7]=p,t[8]=D,t[9]=P):P=t[9];t[10]!==L||t[11]!==P?(h=(0,f.jsx)(o.default,{style:L,pointerEvents:"none",children:P}),t[10]=L,t[11]=P,t[12]=h):h=t[12];return h};var n=r(d[0]);r(d[1]);var o=e(r(d[2])),t=e(r(d[3])),s=r(d[4]),u=r(d[5]),l=r(d[6]),c=r(d[7]),f=r(d[8]);const b=[10,14,18,22,26];const _=t.default.create({container:{position:'absolute',right:u.SPACING.md,bottom:u.SPACING.md,flexDirection:'row',alignItems:'flex-end',gap:3,paddingHorizontal:u.SPACING.sm,paddingVertical:u.SPACING.xs,borderRadius:u.RADIUS.md},segment:{width:4,borderRadius:2}})},3497,[15,17,20,33,2587,2589,3498,3499,10]);
15919
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AUDIO_CATEGORY",{enumerable:!0,get:function(){return c}}),e.parseAudioEvent=s,e.useAudioLevel=function(o,l){const f=(0,t.c)(6),{controller:b,state:v}=(0,u.useConnection)(),[I,y]=(0,n.useState)(null);let p,A;f[0]!==v||f[1]!==b||f[2]!==o||f[3]!==l?(p=()=>{if(!l||"connected"!==v)return void y(null);const t=b.getSystem();if(!t)return;const n=t.subscribeEvent(c,t=>{const n=s(t);n&&n.deviceId===o&&y(n.dbfs)});return()=>{n(),y(null)}},A=[b,v,o,l],f[0]=v,f[1]=b,f[2]=o,f[3]=l,f[4]=p,f[5]=A):(p=f[4],A=f[5]);return(0,n.useEffect)(p,A),I},e.useAudioActive=function(o,l,f){const b=(0,t.c)(7),{controller:v,state:I}=(0,u.useConnection)(),[y,p]=(0,n.useState)(!1);let A,E;b[0]!==I||b[1]!==v||b[2]!==f||b[3]!==o||b[4]!==l?(A=()=>{if("off"===l||"connected"!==I)return void p(!1);const t=v.getSystem();if(!t)return;const n=t.subscribeEvent(c,t=>{const n=s(t);if(!n||n.deviceId!==o)return;const u="sensor"===l?n.hasDetection:(n.dbfs??Number.NEGATIVE_INFINITY)>=f;p(u)});return()=>{n(),p(!1)}},E=[v,I,o,l,f],b[0]=I,b[1]=v,b[2]=f,b[3]=o,b[4]=l,b[5]=A,b[6]=E):(A=b[5],E=b[6]);return(0,n.useEffect)(A,E),y};var t=r(d[0]),n=r(d[1]),u=r(d[2]);const c='pipeline.audio-inference-result';function o(t){return'object'==typeof t&&null!==t}function s(t){if(!o(t))return null;const n=t.data;if(!o(n))return null;const u=n.frame;if(!o(u))return null;const c='number'==typeof n.deviceId?n.deviceId:'number'==typeof u.deviceId?u.deviceId:null;if(null===c)return null;const s=u.level,l=o(s)&&'number'==typeof s.dbfs?s.dbfs:null,f=u.detections;return{deviceId:c,dbfs:l,hasDetection:Array.isArray(f)&&f.length>0}}},3498,[15,17,2594]);
15920
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AUDIO_LEVEL_THRESHOLDS_DBFS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AUDIO_LEVEL_STEPS",{enumerable:!0,get:function(){return n}}),e.dbfsToLevel=function(n){if(null===n||!Number.isFinite(n))return 0;let u=0;for(const o of t)n>=o&&(u+=1);return u};const t=[-50,-40,-30,-20,-10],n=t.length},3499,[]);
15921
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ZoneDrawOverlay",{enumerable:!0,get:function(){return S}});var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),h=r(d[7]),b=r(d[8]),f=r(d[9]),y=r(d[10]);const p='#ffffff',x='rgba(0, 0, 0, 0.55)',S=(0,n.memo)(function(e){const b=(0,t.c)(61),{zone:p,onConfirm:x,onCancel:S}=e,{t:_}=(0,u.useTranslation)(),{colors:R}=(0,h.useTheme)();let P;b[0]===Symbol.for("react.memo_cache_sentinel")?(P={width:0,height:0},b[0]=P):P=b[0];const[j,I]=(0,n.useState)(P),[z,A]=(0,n.useState)(p);let G;b[1]===Symbol.for("react.memo_cache_sentinel")?(G={x:0,y:0},b[1]=G):G=b[1];const E=(0,n.useRef)(G);let N;b[2]===Symbol.for("react.memo_cache_sentinel")?(N=e=>{const{width:t,height:n}=e.nativeEvent.layout;I({width:t,height:n})},b[2]=N):N=b[2];const T=N;let W;b[3]===Symbol.for("react.memo_cache_sentinel")?(W=e=>{E.current={x:e.nativeEvent.locationX,y:e.nativeEvent.locationY}},b[3]=W):W=b[3];const D=W;let k;b[4]!==j.height||b[5]!==j.width?(k=e=>{const t=(0,f.dragToRect)(E.current.x,E.current.y,e.nativeEvent.locationX,e.nativeEvent.locationY,j.width,j.height);null!==t&&A(t)},b[4]=j.height,b[5]=j.width,b[6]=k):k=b[6];const M=k;let U;b[7]!==z?(U=null!==z&&(0,f.isZoneUsable)(z),b[7]=z,b[8]=U):U=b[8];const H=U;let O;b[9]!==z||b[10]!==x?(O=()=>{null!==z&&(0,f.isZoneUsable)(z)&&x(z)},b[9]=z,b[10]=x,b[11]=O):O=b[11];const Z=O;let F,V,X,Y,L,$,q,B;b[12]===Symbol.for("react.memo_cache_sentinel")?(F=[c.default.absoluteFill,v.container],b[12]=F):F=b[12],b[13]!==_?(V=_("v2.theater.zoneHint"),b[13]=_,b[14]=V):V=b[14],b[15]!==V?(X=(0,y.jsx)(o.default,{style:v.hintWrap,pointerEvents:"none",children:(0,y.jsx)(o.default,{style:v.hintPill,children:(0,y.jsx)(l.default,{style:v.hintText,children:V})})}),b[15]=V,b[16]=X):X=b[16],b[17]!==j.height||b[18]!==j.width||b[19]!==R||b[20]!==z?(Y=null!==z&&j.width>0?(0,y.jsx)(o.default,{pointerEvents:"none",style:[v.zoneRect,{borderColor:R.warning,backgroundColor:`${R.warning}26`,left:z.x*j.width,top:z.y*j.height,width:z.w*j.width,height:z.h*j.height}]}):null,b[17]=j.height,b[18]=j.width,b[19]=R,b[20]=z,b[21]=Y):Y=b[21],b[22]!==_?(L=_("v2.theater.zoneCancel"),b[22]=_,b[23]=L):L=b[23],b[24]!==L?($=(0,y.jsx)(l.default,{style:v.buttonText,children:L}),b[24]=L,b[25]=$):$=b[25],b[26]!==S||b[27]!==$?(q=(0,y.jsx)(s.default,{style:v.button,onPress:S,accessibilityRole:"button",children:$}),b[26]=S,b[27]=$,b[28]=q):q=b[28],b[29]!==R||b[30]!==H?(B=H&&{backgroundColor:R.primary,borderColor:R.primary},b[29]=R,b[30]=H,b[31]=B):B=b[31];const J=!H&&v.buttonDisabled;let K;b[32]!==B||b[33]!==J?(K=[v.button,B,J],b[32]=B,b[33]=J,b[34]=K):K=b[34];const Q=!H,ee=!H;let te,ne,oe,ie,re,le,ae,se;return b[35]!==ee?(te={disabled:ee},b[35]=ee,b[36]=te):te=b[36],b[37]!==R||b[38]!==H?(ne=H&&{color:R.primaryForeground},b[37]=R,b[38]=H,b[39]=ne):ne=b[39],b[40]!==ne?(oe=[v.buttonText,ne],b[40]=ne,b[41]=oe):oe=b[41],b[42]!==_?(ie=_("v2.theater.zoneConfirm"),b[42]=_,b[43]=ie):ie=b[43],b[44]!==oe||b[45]!==ie?(re=(0,y.jsx)(l.default,{style:oe,children:ie}),b[44]=oe,b[45]=ie,b[46]=re):re=b[46],b[47]!==Z||b[48]!==K||b[49]!==Q||b[50]!==te||b[51]!==re?(le=(0,y.jsx)(s.default,{style:K,onPress:Z,disabled:Q,accessibilityRole:"button",accessibilityState:te,children:re}),b[47]=Z,b[48]=K,b[49]=Q,b[50]=te,b[51]=re,b[52]=le):le=b[52],b[53]!==q||b[54]!==le?(ae=(0,y.jsxs)(o.default,{style:v.actions,pointerEvents:"box-none",children:[q,le]}),b[53]=q,b[54]=le,b[55]=ae):ae=b[55],b[56]!==M||b[57]!==X||b[58]!==Y||b[59]!==ae?(se=(0,y.jsxs)(o.default,{style:F,onLayout:T,onStartShouldSetResponder:C,onMoveShouldSetResponder:w,onResponderGrant:D,onResponderMove:M,children:[X,Y,ae]}),b[56]=M,b[57]=X,b[58]=Y,b[59]=ae,b[60]=se):se=b[60],se}),v=c.default.create({container:{zIndex:60,backgroundColor:'rgba(0, 0, 0, 0.25)'},hintWrap:{position:'absolute',top:b.SPACING.md,left:0,right:0,alignItems:'center'},hintPill:{backgroundColor:x,paddingHorizontal:b.SPACING.md,paddingVertical:b.SPACING.xs+2,borderRadius:b.RADIUS.lg,maxWidth:'90%'},hintText:{color:p,fontSize:11,fontWeight:'600',textAlign:'center'},zoneRect:{position:'absolute',borderWidth:2,borderRadius:2},actions:{position:'absolute',right:b.SPACING.md,bottom:b.SPACING.md,flexDirection:'row',gap:b.SPACING.md},button:{backgroundColor:x,borderColor:'rgba(255, 255, 255, 0.35)',borderWidth:1,paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.sm+2,borderRadius:b.RADIUS.lg},buttonDisabled:{opacity:.5},buttonText:{color:p,fontSize:12,fontWeight:'700'}});function C(){return!0}function w(){return!0}},3500,[15,17,20,112,252,33,786,2587,2589,3501,10]);
15922
- __d(function(g,r,i,_a,m,_e,d){"use strict";function n(n,t){return n.x<t.x+t.w&&t.x<n.x+n.w&&n.y<t.y+t.h&&t.y<n.y+n.h}function t(n,t){return t.w<=0||t.h<=0?null:{x:n.x/t.w,y:n.y/t.h,w:n.w/t.w,h:n.h/t.h}}function e(n){let t=0,e=0;for(const o of n)for(const n of o)n.x+n.w>t&&(t=n.x+n.w),n.y+n.h>e&&(e=n.y+n.h);return t>0&&e>0?{w:t,h:e}:null}function o(n){return'object'==typeof n&&null!==n&&!Array.isArray(n)}function u(n){if(!o(n))return null;const{x:t,y:e,w:u,h:f}=n;return'number'!=typeof t||'number'!=typeof e||'number'!=typeof u||'number'!=typeof f?null:u>0&&f>0?{x:t,y:e,w:u,h:f}:null}function f(e,o,u){if(void 0===e||0===e.length)return!0;for(const f of e){const e=t(f,o);if(null!==e&&n(e,u))return!0}return!1}Object.defineProperty(_e,'__esModule',{value:!0}),_e.rectsIntersect=n,_e.normalizeRect=t,_e.estimateFrameSize=e,_e.parsePositionBoxes=function(n){if(!o(n)||!Array.isArray(n.positions))return[];const t=[];for(const e of n.positions){if(!o(e))continue;const n=u(e.bbox);null!==n&&t.push(n)}return t},_e.trackMatchesZone=f,_e.filterEventsByZone=function(n,t){if(null===t)return n;const o=e(n.map(n=>n.positionBoxes??[]));return null===o?n:n.filter(n=>f(n.positionBoxes,o,t))},Object.defineProperty(_e,"MIN_ZONE_FRACTION",{enumerable:!0,get:function(){return s}}),_e.dragToRect=function(n,t,e,o,u,f){if(u<=0||f<=0)return null;const s=n=>Math.min(1,Math.max(0,n)),c=s(Math.min(n,e)/u),l=s(Math.min(t,o)/f),a=s(Math.max(n,e)/u),h=s(Math.max(t,o)/f);return{x:c,y:l,w:a-c,h:h-l}},_e.isZoneUsable=function(n){return n.w>=s&&n.h>=s};const s=.02},3501,[]);
15923
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ZoneActiveOverlay",{enumerable:!0,get:function(){return u}});var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),h=e(r(d[3])),l=r(d[4]),c=r(d[5]);const u=(0,o.memo)(function(e){const u=(0,t.c)(9),{zone:f}=e,{colors:w}=(0,l.useTheme)();let b;u[0]===Symbol.for("react.memo_cache_sentinel")?(b={width:0,height:0},u[0]=b):b=u[0];const[y,_]=(0,o.useState)(b);let v;u[1]===Symbol.for("react.memo_cache_sentinel")?(v=e=>{const{width:t,height:o}=e.nativeEvent.layout;_({width:t,height:o})},u[1]=v):v=u[1];const p=v;let j,x;return u[2]!==y.height||u[3]!==y.width||u[4]!==w||u[5]!==f?(j=y.width>0&&y.height>0?(0,c.jsx)(n.default,{style:[s.zoneRect,{borderColor:w.warning,backgroundColor:`${w.warning}14`,left:f.x*y.width,top:f.y*y.height,width:f.w*y.width,height:f.h*y.height}]}):null,u[2]=y.height,u[3]=y.width,u[4]=w,u[5]=f,u[6]=j):j=u[6],u[7]!==j?(x=(0,c.jsx)(n.default,{style:h.default.absoluteFill,onLayout:p,pointerEvents:"none",children:j}),u[7]=j,u[8]=x):x=u[8],x}),s=h.default.create({zoneRect:{position:'absolute',borderWidth:1.5,borderRadius:2}})},3502,[15,17,20,33,2587,10]);
15924
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.serializeAdhocDeviceIds=function(t){return t.filter(t=>Number.isInteger(t)&&t>0).join(',')},e.parseAdhocDeviceIds=function(t){if(void 0===t)return[];const n='string'==typeof t?t:t.join(','),o=new Set,s=[];for(const t of n.split(',')){const n=Number(t.trim());Number.isInteger(n)&&n>0&&!o.has(n)&&(o.add(n),s.push(n))}return s}},3503,[]);
15925
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TheaterTimeline",{enumerable:!0,get:function(){return Y}});var t=r(_d[0]),o=e(r(_d[1])),n=e(r(_d[2])),s=e(r(_d[3])),l=e(r(_d[4])),c=r(_d[5]),u=r(_d[6]),d=r(_d[7]),f=r(_d[8]),h=r(_d[9]),p=r(_d[10]),v=r(_d[11]),b=r(_d[12]),M=r(_d[13]),C=r(_d[14]),T=r(_d[15]),S=r(_d[16]),x=r(_d[17]),y=r(_d[18]),I=r(_d[19]),P=r(_d[20]),k=r(_d[21]),L=r(_d[22]),D=r(_d[23]),E=r(_d[24]),w=r(_d[25]),A=r(_d[26]),R=r(_d[27]),O=r(_d[28]),j=r(_d[29]),z=r(_d[30]),B=r(_d[31]),F=r(_d[32]),W=r(_d[33]),_=r(_d[34]),K=r(_d[35]),Z=r(_d[36]),H=r(_d[37]),N=r(_d[38]),G=r(_d[39]);const q=864e5,V=h.SPACING.lg+36+h.SPACING.md,U='#ffffff',Y=(0,t.memo)(function(e){const{t:s}=(0,c.useTranslation)(),{colors:Y}=(0,f.useTheme)(),X=(0,u.useSafeAreaInsets)(),[$,J]=(0,t.useState)(()=>Date.now());(0,t.useEffect)(()=>{const e=setInterval(()=>J(Date.now()),1e3);return()=>clearInterval(e)},[]);const ee=(0,B.useSettings)().settings.clusters,[te,oe]=(0,t.useState)(T.DEFAULT_ZOOM_INDEX),ne=te<T.ZOOM_LEVELS.length-1,re=te>0,ie=(0,t.useCallback)(()=>oe(e=>(0,T.clampZoomIndex)(e+1)),[]),ae=(0,t.useCallback)(()=>oe(e=>(0,T.clampZoomIndex)(e-1)),[]),[se,le]=(0,t.useState)(0),[ce,ue]=(0,t.useState)(0),[de,me]=(0,t.useState)(0),ge=(0,t.useCallback)(e=>{const{height:t,width:o}=e.nativeEvent.layout;t>0&&ue(t),o>0&&me(o)},[]),fe=(0,t.useMemo)(()=>(0,y.indicatorOffsetPx)(ce,ee.indicatorPositionPct),[ce,ee.indicatorPositionPct]),he=(0,t.useRef)(fe),pe=(0,t.useRef)(ce);(0,t.useEffect)(()=>{he.current=fe,pe.current=ce},[fe,ce]);const ve=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.timelineKinds),be=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.timelineClasses),Me=(0,F.useCameraPrefsStore)(e=>e.setCameraTimelineKinds),Ce=(0,F.useCameraPrefsStore)(e=>e.setCameraTimelineClasses),Te=(0,F.useCameraPrefsStore)(e=>e.toggleCameraTimelineKind),Se=(0,F.useCameraPrefsStore)(e=>e.toggleCameraTimelineClass),xe=(0,F.useCameraPrefsStore)(e=>e.hydrate);(0,t.useEffect)(()=>{xe()},[xe]);const ye=(0,t.useMemo)(()=>new Set(ve??T.ALL_BAR_KINDS),[ve]),Ie=(0,t.useMemo)(()=>new Set(be??[]),[be]),[Pe,ke]=(0,t.useState)(!1),Le=!(0,T.isFilterAll)(ye)||Ie.size>0,De=(0,w.useEventKinds)([e.deviceId]),Ee=(0,t.useMemo)(()=>(0,A.classToMacroMap)(De.data??[]),[De.data]),we=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.highlight),Ae=(0,t.useMemo)(()=>(0,R.withHighlightDefaults)(we).clusterLabel,[we]),Re=(0,t.useCallback)(()=>ke(e=>!e),[]),Oe=(0,t.useCallback)(()=>{Me(e.deviceId,[...T.ALL_BAR_KINDS]),Ce(e.deviceId,[])},[Me,Ce,e.deviceId]),je=(0,t.useCallback)(t=>Te(e.deviceId,t),[Te,e.deviceId]),ze=(0,t.useCallback)(t=>Se(e.deviceId,t),[Se,e.deviceId]),Be=e.zoneRect,Fe=$,We='live'===e.mode,Ke=e.activeEpoch??$,Ze=(0,t.useMemo)(()=>{const e=new Date(Ke);return e.setHours(0,0,0,0),e.getTime()},[Ke]),He=(0,t.useMemo)(()=>({from:Ze,to:Ze+q}),[Ze]),[Ne,Ge]=(0,t.useState)(1),qe=Ze-(Ne-1)*q,Ve=(0,t.useRef)(1);(0,t.useEffect)(()=>{Ve.current=Ne},[Ne]);const Ue=(0,t.useRef)(qe);(0,t.useEffect)(()=>{Ue.current=qe},[qe]);const Ye=(0,t.useRef)(0);(0,t.useEffect)(()=>{Ge(1)},[Ze]);const Qe=(0,t.useMemo)(()=>{const e=new Date($);return e.setHours(0,0,0,0),e.getTime()},[$]),[Xe,$e]=(0,t.useState)(!1),[Je,et]=(0,t.useState)(Ze),{fromMs:tt,toMs:ot}=(0,t.useMemo)(()=>(0,j.monthBoundsForMs)(Je),[Je]),{data:nt}=(0,P.useDaysWithRecordings)(e.deviceId,tt,ot,Xe),rt=e.onSeek,it=(0,t.useCallback)(()=>{rt((0,z.dayAtSameTime)(Ke,Ze-q,$),'timeline')},[rt,Ke,Ze,$]),at=(0,t.useCallback)(()=>{Ze>=Qe||rt((0,z.dayAtSameTime)(Ke,Ze+q,$),'timeline')},[rt,Ke,Ze,Qe,$]),st=(0,t.useCallback)(()=>{et(Ze),$e(!0)},[Ze]),lt=(0,t.useCallback)(e=>{$e(!1),rt((0,z.dayAtSameTime)(Ke,e,$),'timeline')},[rt,Ke,$]),ct=(0,t.useCallback)(e=>{et(t=>{const o=new Date(t);return new Date(o.getFullYear(),o.getMonth()+e,1,0,0,0,0).getTime()})},[]),{data:ut=[]}=(0,W.useDeviceTracks)(e.deviceId,qe,He.to),dt=(0,t.useMemo)(()=>{const e=ee.minImportance;return e<=0?ut:ut.filter(t=>(0,_.passesImportanceFilter)(t.importance,e))},[ut,ee.minImportance]),mt=(0,t.useMemo)(()=>{const e=new Set;for(const t of dt)t.className.length>0&&e.add(t.className);return[...(0,A.collapseToMacro)([...e],Ee)].sort()},[dt,Ee]),gt=(0,T.isFilterAll)(ye),ft=(0,t.useMemo)(()=>(0,E.filterEventsByZone)(dt,Be),[dt,Be]),ht=(0,t.useMemo)(()=>(0,D.filterDetectionsByKind)(ft,ye,Ie,Ee),[ft,ye,Ie,Ee]),pt=(0,K.useTimelineActivity)(e.deviceId,qe,He.to),vt=(0,t.useMemo)(()=>de>0?Math.round(de*ee.cardWidthFraction):0,[de,ee.cardWidthFraction]),bt=(0,t.useMemo)(()=>vt>0?Math.round(.5625*vt):0,[vt]),{sizePx:Mt,gapPx:Ct}=(0,t.useMemo)(()=>{const e=Math.max(8,bt);return{sizePx:e,gapPx:ee.gapPercent/100*e}},[bt,ee.gapPercent]),Tt=(0,t.useMemo)(()=>(0,Z.clusterByZoom)(ht,{topMs:Fe,zoomIndex:te,sizePx:Mt,gapPx:Ct}),[ht,Fe,te,Mt,Ct]),St=Tt.filter(e=>e.topPx>=se-80-e.heightPx&&e.topPx<=se+ce+80).length;(0,t.useEffect)(()=>{const t=e=>new Date(e).toLocaleTimeString(),o=dt.map(e=>e.timestamp);L.log.info('theater:clusters','render state',{deviceId:e.deviceId,objectEvents:dt.length,objectEventRange:o.length>0?{first:t(Math.min(...o)),last:t(Math.max(...o))}:null,clusters:Tt.length,clusterSpans:Tt.slice(0,8).map(e=>({s:t(e.startMs),e:t(e.endMs),n:e.events.length,topPx:Math.round(e.topPx)})),visibleClusters:St,activity:{recording:pt.recording.length,motion:pt.motion.length,audio:pt.audio.length},geometry:{cardWidth:vt,viewportHeight:ce,listWrapWidth:de,scrollOffsetY:se,sizePx:Mt,gapPx:Ct,zoomIndex:te},dayWindow:He})},[e.deviceId,dt,Tt,St,pt.recording.length,pt.motion.length,pt.audio.length,vt,ce,de,se,Mt,Ct,te,He]);const{data:xt=[]}=(0,P.useRecordingAvailability)(e.deviceId,He.from,He.to,!0);(0,t.useEffect)(()=>{L.log.info('timeline','coverage',{deviceId:e.deviceId,count:xt.length})},[e.deviceId,xt.length]);const yt=(0,t.useMemo)(()=>{const t=e.activeEpoch;return null===t?(0,T.heatmapCursorFraction)($):(0,x.epochToDayFraction)(t,He.from,He.to)},[e.activeEpoch,He,$]),It=(0,t.useRef)(null),[Pt,kt]=(0,t.useState)(null),Lt=(0,t.useRef)(0),Dt=(0,t.useRef)(!1),Et=(0,t.useRef)(null),wt=(0,t.useRef)(null),At=(0,t.useRef)(We);At.current=We;const Rt=(0,t.useRef)(!1),Ot=(0,t.useRef)(0),jt=(0,t.useRef)(null),zt=(0,t.useCallback)(()=>{Rt.current=!1,jt.current&&(clearTimeout(jt.current),jt.current=null)},[]),Bt=(0,t.useCallback)((e,t)=>{Rt.current=!0,Ot.current=e,jt.current&&clearTimeout(jt.current),jt.current=setTimeout(()=>{Rt.current=!1,jt.current=null},500),It.current?.scrollToOffset({offset:e,animated:t})},[]),Ft=(0,t.useCallback)(t=>{const o=t.nativeEvent.contentOffset.y;le(o);const n=he.current,s=pe.current,l=(0,S.epochToOffset)(Ue.current,Fe,te);if(o>=n+Math.max(s,l)-s-s)if(Ve.current<30)Ge(e=>Math.min(30,e+1));else{const t=Date.now();t-Ye.current>=5e3&&(Ye.current=t,L.log.info('theater','back-scroll capped at MAX_LOOKBACK_DAYS',{deviceId:e.deviceId,days:30}))}if(Rt.current)return void(Math.abs(o-Ot.current)<=2&&zt());const c=Math.round((0,S.offsetToEpoch)(o,Fe,te)),u=Fe-c;if((0,I.atLiveEdge)(u,15e3))return Et.current&&(clearTimeout(Et.current),Et.current=null),wt.current=null,Dt.current=!1,void(At.current||(L.log.debug('theater:live-edge','go-live (scrolled into live edge)',{behindLiveMs:u,epoch:c,topMs:Fe}),e.onGoLive()));Dt.current||(Dt.current=!0,Et.current&&(clearTimeout(Et.current),Et.current=null),e.onScrubBegin('timeline'));const d=Date.now();d-Lt.current<100||(Lt.current=d,wt.current=c,e.onScrubMove(c,'timeline'),Et.current&&clearTimeout(Et.current),Et.current=setTimeout(()=>{Et.current=null;const t=wt.current;null!=t&&(e.onScrubCommit(t,'timeline'),Dt.current=!1)},220))},[Fe,te,e,zt]),Wt=(0,t.useCallback)(()=>{Bt(0,!0),e.onGoLive()},[e,Bt]);(0,t.useEffect)(()=>{if('playback'!==e.mode)return;const t=e.activeEpoch;if(null===t)return;const o=(0,S.epochToOffset)(t,Fe,te);Bt(o,!1)},[e.mode,e.activeEpoch,Fe,te,Bt]);const _t=(0,t.useCallback)(t=>{L.log.info('theater:clusters','tap',{epoch:t.representative.timestamp,topPx:Math.round(t.topPx)}),e.onSeek(t.representative.timestamp,'cluster')},[e]),Kt=(0,t.useCallback)(e=>{kt(e)},[]),Zt=(0,t.useCallback)(t=>{e.onSeek(t,'cluster'),kt(null)},[e]),Ht=(0,t.useCallback)(e=>(0,x.dayFractionToEpoch)(e,He.from,He.to),[He.from,He.to]),Nt=(0,t.useCallback)(e=>{const t=Ht(e);L.log.debug('timeline','heatmap seek',{fraction:e,snapped:t}),rt(t,'heatmap')},[Ht,rt]),Gt=e.onScrubBegin,qt=e.onScrubMove,Vt=e.onScrubCommit,Ut=(0,t.useCallback)(()=>Gt('heatmap'),[Gt]),Yt=(0,t.useCallback)(e=>{const t=Ht(e);L.log.debug('timeline','heatmap scrub',{fraction:e,snapped:t}),qt(t,'heatmap')},[Ht,qt]),Qt=(0,t.useCallback)(e=>{const t=Ht(e);L.log.debug('timeline','heatmap scrubEnd',{fraction:e,snapped:t}),Vt(t,'heatmap')},[Ht,Vt]),Xt=gt||ye.has('motion'),$t=gt||ye.has('audio'),Jt=(0,t.useMemo)(()=>Xt?ht:[],[Xt,ht]),eo=(0,t.useMemo)(()=>{const e=(0,D.objectEventsToHeatmapBins)(Jt,Ze);return $t?(0,D.mergeAudioIntoHeatmapBins)(e,pt.audio,Ze):e},[Jt,Ze,$t,pt.audio]),to=(0,t.useMemo)(()=>(0,D.objectEventsToHeatmapHighlights)(Jt,Ze),[Jt,Ze]),oo=(0,t.useMemo)(()=>e.activeEpoch??$,[e.activeEpoch,$]),no=(0,t.useMemo)(()=>new Date(oo).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit',second:'2-digit'}),[oo]);return(0,G.jsxs)(o.default,{style:[Q.container,{backgroundColor:Y.background}],children:[(0,G.jsx)(p.TimelineToolbarInline,{onBack:e.onBack,hideBack:e.hideBack,dateLabel:(0,z.dateLabel)(Ze,$,s),onPrevDay:it,onOpenDatePicker:st,onNextDay:at,nextDayDisabled:Ze>=Qe,hasPtz:e.hasPtz,ptzOpen:e.ptzOpen,onTogglePtz:e.onTogglePtz,devicesOpen:e.devicesOpen,onToggleDevices:e.onToggleDevices,menuOpen:e.menuOpen,onToggleMenu:e.onToggleMenu,qualityOpen:e.qualityOpen,onToggleQuality:e.onToggleQuality,qualityLabel:s((0,v.qualityLabelKey)(e.quality)),exportMenuOpen:e.exportMenuOpen,onToggleExportMenu:e.onToggleExportMenu,snapshotBusy:e.snapshotBusy,exportMenuLabel:s('v2.exportActions.title')}),(0,G.jsx)(b.HeatmapBar,{bins:eo,cursorFraction:yt,eventMarkers:to,coverage:xt,dayStartMs:He.from,dayEndMs:He.to,onSeekFraction:Nt,onScrubStart:Ut,onScrubFraction:Yt,onScrubEnd:Qt}),We?(0,G.jsxs)(o.default,{style:[Q.livePill,{backgroundColor:`${Y.live}26`}],children:[(0,G.jsx)(o.default,{style:[Q.liveDot,{backgroundColor:Y.live}]}),(0,G.jsx)(n.default,{style:[Q.liveText,{color:Y.live}],children:s('v2.theater.live')})]}):(0,G.jsxs)(l.default,{style:[Q.goLivePill,{backgroundColor:Y.danger}],onPress:Wt,accessibilityRole:"button",accessibilityLabel:s('v2.theater.goToLive'),children:[(0,G.jsx)(d.ArrowUp,{size:13,color:U}),(0,G.jsx)(n.default,{style:[Q.goLiveText,{color:U}],children:s('v2.theater.goToLive')})]}),(0,G.jsxs)(o.default,{style:Q.listWrap,onLayout:ge,children:[(0,G.jsx)(N.TimelineScroller,{ref:It,topMs:Fe,zoomIndex:te,dayWindow:{from:qe,to:He.to},clusters:Tt,activity:pt,showMotionLane:Xt,showAudioLane:$t,cardWidth:vt,viewportHeight:ce,indicatorOffsetPx:fe,isLive:We,onScroll:Ft,onClusterPress:_t,onClusterOpenDetail:Kt,clusterLabel:Ae,eventKinds:De.data}),ce>0?(0,G.jsxs)(o.default,{style:[Q.indicator,{top:fe}],pointerEvents:"none",children:[(0,G.jsx)(o.default,{style:[Q.indicatorLine,{backgroundColor:We?Y.live:Y.danger}]}),(0,G.jsx)(o.default,{style:[Q.indicatorPill,{backgroundColor:We?Y.live:Y.danger}],children:(0,G.jsx)(n.default,{style:[Q.indicatorLabel,h.TABULAR,{color:U}],children:We?s('v2.theater.live'):no})})]}):null,Pe?(0,G.jsx)(C.TimelineFilterPanel,{filter:ye,onToggleKind:je,classes:mt,classFilter:Ie,onToggleClass:ze,onReset:Oe,eventKinds:De.data,bottomInset:X.bottom+V}):null,(0,G.jsx)(M.TimelineFabControls,{onZoomIn:ie,onZoomOut:ae,onFilter:Re,onZoneFilter:null!==Be?e.onClearZone:e.onRequestZoneDraw,onPickCamera:e.onPickCamera,canZoomIn:ne,canZoomOut:re,filterActive:Le,filterOpen:Pe,zoneActive:null!==Be,bottomInset:X.bottom})]}),(0,G.jsx)(O.DatePickerModal,{visible:Xe,monthAnchorMs:Je,selectedDayMs:Ze,daysSet:nt??new Set,nowMs:$,onChangeMonth:ct,onPick:lt,onClose:()=>$e(!1)}),(0,G.jsx)(H.ClusterDetailModal,{deviceId:e.deviceId,cluster:Pt,onSeek:Zt,onClose:()=>kt(null),seekAvailable:null===Pt||'absent'!==(0,k.recordingKnownAt)(xt,He.from,He.to,Pt.representative.timestamp)})]})}),Q=s.default.create({container:{flex:1},livePill:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:5},liveDot:{width:6,height:6,borderRadius:3},liveText:{fontSize:11,fontWeight:'700'},goLivePill:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:5},goLiveText:{fontSize:11,fontWeight:'700'},listWrap:{flex:1,position:'relative'},indicator:{position:'absolute',left:0,right:0,flexDirection:'row',alignItems:'center',paddingLeft:h.SPACING.md},indicatorLine:{position:'absolute',left:0,right:0,height:1.5},indicatorPill:{paddingHorizontal:h.SPACING.sm,paddingVertical:1,borderRadius:4},indicatorLabel:{fontSize:10,fontWeight:'700',letterSpacing:.3},drawerHandle:{position:'absolute',left:0,top:'50%',marginTop:-16,width:16,height:32,borderTopRightRadius:8,borderBottomRightRadius:8,borderWidth:1,borderLeftWidth:0,alignItems:'center',justifyContent:'center'},scrollIndicatorTrack:{position:'absolute',right:2,top:h.SPACING.lg,bottom:h.SPACING.lg,width:3,alignItems:'center'},scrollIndicatorThumb:{width:3,height:48,borderRadius:2,opacity:.7}})},3504,[17,20,112,33,252,786,466,813,2587,2589,3505,3461,3506,3508,3509,3142,3510,3507,3511,3512,3159,3160,2705,3231,3501,3168,3169,3139,3513,3514,3515,3177,3132,3516,3237,3517,3519,3520,3522,10]);
15926
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineToolbarInline",{enumerable:!0,get:function(){return b}});var o=r(d[0]),n=r(d[1]),t=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=e(r(d[5])),c=e(r(d[6])),p=r(d[7]),f=r(d[8]),y=r(d[9]),x=r(d[10]),h=r(d[11]);const b=(0,n.memo)(function(e){const n=(0,o.c)(109),{t:u}=(0,p.useTranslation)(),{colors:x}=(0,y.useTheme)();let b;n[0]!==x.primary?(b=e=>[P.iconBtn,{backgroundColor:e?x.primary:"transparent"}],n[0]=x.primary,n[1]=b):b=n[1];const O=b;let j;n[2]!==x.foregroundMuted||n[3]!==x.primaryForeground?(j=e=>e?x.primaryForeground:x.foregroundMuted,n[2]=x.foregroundMuted,n[3]=x.primaryForeground,n[4]=j):j=n[4];const z=j;let S,D,M,T,v,C,k,I,B,L,A;n[5]!==x.background||n[6]!==x.border?(S=[P.container,{backgroundColor:x.background,borderBottomColor:x.border}],n[5]=x.background,n[6]=x.border,n[7]=S):S=n[7],n[8]!==x.foreground||n[9]!==e.hideBack||n[10]!==e.onBack||n[11]!==u?(D=e.hideBack?null:(0,h.jsx)(s.default,{style:P.backBtn,onPress:e.onBack,hitSlop:6,accessibilityLabel:u("v2.common.back"),children:(0,h.jsx)(f.ArrowLeft,{size:18,color:x.foreground})}),n[8]=x.foreground,n[9]=e.hideBack,n[10]=e.onBack,n[11]=u,n[12]=D):D=n[12],n[13]!==x.foregroundMuted?(M=(0,h.jsx)(f.ChevronLeft,{size:16,color:x.foregroundMuted}),n[13]=x.foregroundMuted,n[14]=M):M=n[14],n[15]!==e.onPrevDay||n[16]!==M?(T=(0,h.jsx)(s.default,{style:P.dateArrow,onPress:e.onPrevDay,hitSlop:6,children:M}),n[15]=e.onPrevDay,n[16]=M,n[17]=T):T=n[17],n[18]!==x.surface?(v=[P.datePill,{backgroundColor:x.surface}],n[18]=x.surface,n[19]=v):v=n[19],n[20]!==x.foregroundSubtle?(C=(0,h.jsx)(f.Calendar,{size:12,color:x.foregroundSubtle}),n[20]=x.foregroundSubtle,n[21]=C):C=n[21],n[22]!==x.foreground?(k=[P.dateText,{color:x.foreground}],n[22]=x.foreground,n[23]=k):k=n[23],n[24]!==e.dateLabel||n[25]!==k?(I=(0,h.jsx)(l.default,{style:k,children:e.dateLabel}),n[24]=e.dateLabel,n[25]=k,n[26]=I):I=n[26],n[27]!==x.foregroundSubtle?(B=(0,h.jsx)(f.ChevronDown,{size:10,color:x.foregroundSubtle}),n[27]=x.foregroundSubtle,n[28]=B):B=n[28],n[29]!==B||n[30]!==v||n[31]!==C||n[32]!==I?(L=(0,h.jsxs)(t.default,{style:v,children:[C,I,B]}),n[29]=B,n[30]=v,n[31]=C,n[32]=I,n[33]=L):L=n[33],n[34]!==e.onOpenDatePicker||n[35]!==L?(A=(0,h.jsx)(s.default,{onPress:e.onOpenDatePicker,children:L}),n[34]=e.onOpenDatePicker,n[35]=L,n[36]=A):A=n[36];const q=e.nextDayDisabled?x.foregroundSubtle:x.foregroundMuted;let w,N,G,_,R,E;n[37]!==q?(w=(0,h.jsx)(f.ChevronRight,{size:16,color:q}),n[37]=q,n[38]=w):w=n[38],n[39]!==e.nextDayDisabled||n[40]!==e.onNextDay||n[41]!==w?(N=(0,h.jsx)(s.default,{style:P.dateArrow,onPress:e.onNextDay,disabled:e.nextDayDisabled,hitSlop:6,children:w}),n[39]=e.nextDayDisabled,n[40]=e.onNextDay,n[41]=w,n[42]=N):N=n[42],n[43]===Symbol.for("react.memo_cache_sentinel")?(G=(0,h.jsx)(t.default,{style:P.spacer}),n[43]=G):G=n[43],n[44]!==O||n[45]!==z||n[46]!==e.exportMenuLabel||n[47]!==e.exportMenuOpen||n[48]!==e.onToggleExportMenu||n[49]!==e.snapshotBusy?(_=e.onToggleExportMenu?(0,h.jsx)(s.default,{style:O(e.exportMenuOpen),onPress:e.onToggleExportMenu,hitSlop:6,accessibilityLabel:e.exportMenuLabel,children:e.snapshotBusy?(0,h.jsx)(c.default,{size:"small",color:z(e.exportMenuOpen)}):(0,h.jsx)(f.Camera,{size:14,color:z(e.exportMenuOpen)})}):null,n[44]=O,n[45]=z,n[46]=e.exportMenuLabel,n[47]=e.exportMenuOpen,n[48]=e.onToggleExportMenu,n[49]=e.snapshotBusy,n[50]=_):_=n[50],n[51]!==O||n[52]!==z||n[53]!==e.hasPtz||n[54]!==e.onTogglePtz||n[55]!==e.ptzOpen?(R=e.hasPtz&&e.onTogglePtz?(0,h.jsx)(s.default,{style:O(e.ptzOpen),onPress:e.onTogglePtz,hitSlop:6,children:(0,h.jsx)(f.Move,{size:14,color:z(e.ptzOpen)})}):null,n[51]=O,n[52]=z,n[53]=e.hasPtz,n[54]=e.onTogglePtz,n[55]=e.ptzOpen,n[56]=R):R=n[56],n[57]!==O||n[58]!==e.devicesOpen?(E=O(e.devicesOpen),n[57]=O,n[58]=e.devicesOpen,n[59]=E):E=n[59];const W=e.onToggleDevices;let F,H,Q,U;n[60]!==z||n[61]!==e.devicesOpen?(F=z(e.devicesOpen),n[60]=z,n[61]=e.devicesOpen,n[62]=F):F=n[62],n[63]!==F?(H=(0,h.jsx)(f.LayoutGrid,{size:14,color:F}),n[63]=F,n[64]=H):H=n[64],n[65]!==e.onToggleDevices||n[66]!==E||n[67]!==H?(Q=(0,h.jsx)(s.default,{style:E,onPress:W,hitSlop:6,children:H}),n[65]=e.onToggleDevices,n[66]=E,n[67]=H,n[68]=Q):Q=n[68],n[69]!==O||n[70]!==e.menuOpen?(U=O(e.menuOpen),n[69]=O,n[70]=e.menuOpen,n[71]=U):U=n[71];const V=e.onToggleMenu;let J,K,X,Y;n[72]!==z||n[73]!==e.menuOpen?(J=z(e.menuOpen),n[72]=z,n[73]=e.menuOpen,n[74]=J):J=n[74],n[75]!==J?(K=(0,h.jsx)(f.List,{size:14,color:J}),n[75]=J,n[76]=K):K=n[76],n[77]!==e.onToggleMenu||n[78]!==U||n[79]!==K?(X=(0,h.jsx)(s.default,{style:U,onPress:V,hitSlop:6,children:K}),n[77]=e.onToggleMenu,n[78]=U,n[79]=K,n[80]=X):X=n[80],n[81]!==O||n[82]!==e.qualityOpen?(Y=O(e.qualityOpen),n[81]=O,n[82]=e.qualityOpen,n[83]=Y):Y=n[83];const Z=e.onToggleQuality;let $,ee,oe,ne,te,re;return n[84]!==z||n[85]!==e.qualityOpen?($=z(e.qualityOpen),n[84]=z,n[85]=e.qualityOpen,n[86]=$):$=n[86],n[87]!==$?(ee=[P.qualityText,{color:$}],n[87]=$,n[88]=ee):ee=n[88],n[89]!==e.qualityLabel||n[90]!==ee?(oe=(0,h.jsx)(l.default,{style:ee,children:e.qualityLabel}),n[89]=e.qualityLabel,n[90]=ee,n[91]=oe):oe=n[91],n[92]!==e.onToggleQuality||n[93]!==Y||n[94]!==oe?(ne=(0,h.jsx)(s.default,{style:Y,onPress:Z,hitSlop:6,children:oe}),n[92]=e.onToggleQuality,n[93]=Y,n[94]=oe,n[95]=ne):ne=n[95],n[96]!==A||n[97]!==N||n[98]!==_||n[99]!==R||n[100]!==Q||n[101]!==X||n[102]!==D||n[103]!==ne||n[104]!==T?(te=(0,h.jsxs)(t.default,{style:P.row,children:[D,T,A,N,G,_,R,Q,X,ne]}),n[96]=A,n[97]=N,n[98]=_,n[99]=R,n[100]=Q,n[101]=X,n[102]=D,n[103]=ne,n[104]=T,n[105]=te):te=n[105],n[106]!==S||n[107]!==te?(re=(0,h.jsx)(t.default,{style:S,children:te}),n[106]=S,n[107]=te,n[108]=re):re=n[108],re}),P=u.default.create({container:{borderBottomWidth:1,zIndex:20},row:{flexDirection:'row',alignItems:'center',gap:x.SPACING.xs,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.sm+2},backBtn:{width:30,height:30,borderRadius:15,alignItems:'center',justifyContent:'center'},dateArrow:{width:28,height:28,borderRadius:14,alignItems:'center',justifyContent:'center'},datePill:{flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.xs+2,borderRadius:x.RADIUS.lg},dateText:{fontSize:12,fontWeight:'600'},spacer:{flex:1},iconBtn:{minWidth:30,height:30,paddingHorizontal:x.SPACING.sm,borderRadius:x.RADIUS.lg,alignItems:'center',justifyContent:'center'},qualityText:{fontSize:10,fontWeight:'700'}})},3505,[15,17,20,112,252,33,240,786,813,2587,2589,10]);
15927
- __d(function(g,_r,_i,_a,_m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"HeatmapBar",{enumerable:!0,get:function(){return p}});var e=_r(d[0]),n=_r(d[1]),o=t(_r(d[2])),r=t(_r(d[3])),a=_r(d[4]),i=_r(d[5]),c=_r(d[6]),s=_r(d[7]),l=_r(d[8]);function u(t,e,n){const o=n-e;if(o<=0)return[];const r=[];for(const a of t){const t=Math.max(a.startMs,e),i=Math.min(a.endMs,n);i<=t||r.push({leftPct:(t-e)/o*100,widthPct:(i-t)/o*100})}return r}function f(t){const e=t.length;if(0===e)return[];const n=[];let o=-1;for(let r=0;r<e;r++){const a=t[r].recorded;a&&o<0&&(o=r);if((!a||r===e-1)&&o>=0){const t=a?r:r-1;n.push({leftPct:o/e*100,widthPct:(t-o+1)/e*100}),o=-1}}return n}const p=(0,n.memo)(function(t){const r=(0,e.c)(45),{bins:c,cursorFraction:p,eventMarkers:v,coverage:y,dayStartMs:M,dayEndMs:x,onSeekFraction:R,onScrubStart:S,onScrubFraction:_,onScrubEnd:E}=t,{colors:k}=(0,a.useTheme)(),j=(0,n.useRef)(0),C=(0,n.useRef)(0),O=(0,n.useRef)(!1),w=!(!R&&!_);let P;t:{if(y&&void 0!==M&&void 0!==x){let t;r[0]!==y||r[1]!==x||r[2]!==M?(t=u(y,M,x),r[0]=y,r[1]=x,r[2]=M,r[3]=t):t=r[3],P=t;break t}let t;r[4]!==c?(t=f(c),r[4]=c,r[5]=t):t=r[5],P=t}const F=P;let H;r[6]===Symbol.for("react.memo_cache_sentinel")?(H=t=>{j.current=t.nativeEvent.layout.width},r[6]=H):H=r[6];const L=H;let X;r[7]===Symbol.for("react.memo_cache_sentinel")?(X=t=>(0,i.pointerFraction)(t.nativeEvent.locationX,j.current),r[7]=X):X=r[7];const $=X;let B;r[8]!==w?(B=t=>{C.current=t.nativeEvent.locationX,O.current=!1,s.log.debug("heatmap","grant",{interactive:w,x:t.nativeEvent.locationX})},r[8]=w,r[9]=B):B=r[9];const I=B;let z;r[10]!==_||r[11]!==S?(z=t=>{if(!O.current&&Math.abs(t.nativeEvent.locationX-C.current)>8&&(O.current=!0,S?.()),!O.current)return;const e=$(t);null!==e&&_?.(e)},r[10]=_,r[11]=S,r[12]=z):z=r[12];const D=z;let T;r[13]!==E||r[14]!==R?(T=t=>{const e=$(t);s.log.debug("heatmap","release",{moved:O.current,fraction:e}),null!==e&&(O.current?E?.(e):R?.(e))},r[13]=E,r[14]=R,r[15]=T):T=r[15];const W=T;let A,G,N,U,q,J;if(r[16]!==w?(A=()=>w,G=()=>w,r[16]=w,r[17]=A,r[18]=G):(A=r[17],G=r[18]),r[19]!==k.border||r[20]!==k.surface?(N=[b.bar,{backgroundColor:k.surface,borderBottomColor:k.border}],r[19]=k.border,r[20]=k.surface,r[21]=N):N=r[21],r[22]!==k.danger||r[23]!==F){let t;r[25]!==k.danger?(t=(t,e)=>(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.recording,{left:`${t.leftPct}%`,width:`${t.widthPct}%`,backgroundColor:k.danger}]},`rec-${e}`),r[25]=k.danger,r[26]=t):t=r[26],U=F.map(t),r[22]=k.danger,r[23]=F,r[24]=U}else U=r[24];r[27]!==c?(q=c.map(m),r[27]=c,r[28]=q):q=r[28],r[29]!==v?(J=v?.map(h),r[29]=v,r[30]=J):J=r[30];const K=100*p+"%";let Q,V;return r[31]!==k.primary||r[32]!==K?(Q=(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.cursor,{left:K,backgroundColor:k.primary}]}),r[31]=k.primary,r[32]=K,r[33]=Q):Q=r[33],r[34]!==I||r[35]!==D||r[36]!==W||r[37]!==U||r[38]!==q||r[39]!==J||r[40]!==Q||r[41]!==A||r[42]!==G||r[43]!==N?(V=(0,l.jsxs)(o.default,{onLayout:L,onStartShouldSetResponder:A,onMoveShouldSetResponder:G,onResponderGrant:I,onResponderMove:D,onResponderRelease:W,style:N,children:[U,q,J,Q]}),r[34]=I,r[35]=D,r[36]=W,r[37]=U,r[38]=q,r[39]=J,r[40]=Q,r[41]=A,r[42]=G,r[43]=N,r[44]=V):V=r[44],V}),b=r.default.create({bar:{flexDirection:'row',height:28,borderBottomWidth:1,alignItems:'flex-end',paddingHorizontal:2},bin:{flex:1,height:'100%',justifyContent:'flex-end',paddingHorizontal:.5},recording:{position:'absolute',top:0,bottom:0,minWidth:2,opacity:.15},fill:{borderRadius:1,minHeight:2},cursor:{position:'absolute',top:0,bottom:0,width:2,opacity:.85},eventMarker:{position:'absolute',top:1,bottom:1,width:2,marginLeft:-1,borderRadius:1,opacity:.95}});function m(t,e){const n=t.audio>0,r=n?t.audio:t.motion,a=t.motion>0||n,i=n?c.AUDIO_COLOR:c.MOTION_COLOR;return(0,l.jsx)(o.default,{pointerEvents:"none",style:b.bin,children:(0,l.jsx)(o.default,{style:[b.fill,{height:`${a?Math.max(15,100*r):0}%`,backgroundColor:a?i:"transparent",opacity:a?.5+.5*r:0}]})},e)}function h(t){return(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.eventMarker,{left:100*t.fraction+"%",backgroundColor:t.color}]},t.id)}},3506,[15,17,20,33,2587,3507,3231,2705,10]);
15928
- __d(function(g,r,i,a,m,e,d){"use strict";function n(n){return Math.max(0,Math.min(1,n))}Object.defineProperty(e,'__esModule',{value:!0}),e.dayFractionToEpoch=function(t,o,u){const c=u-o;return Math.round(o+n(t)*c)},e.epochToDayFraction=function(t,o,u){const c=u-o;return c<=0?0:n((t-o)/c)},e.pointerFraction=function(t,o){return!Number.isFinite(t)||!Number.isFinite(o)||o<=0?null:n(t/o)}},3507,[]);
15929
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineFabControls",{enumerable:!0,get:function(){return y}});var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=r(d[5]),u=r(d[6]),b=r(d[7]),f=r(d[8]);const y=(0,t.memo)(function(e){const t=(0,o.c)(72),{onZoomIn:l,onZoomOut:y,onFilter:j,onZoneFilter:x,onPickCamera:p,canZoomIn:C,canZoomOut:S,filterActive:v,filterOpen:P,zoneActive:w,bottomInset:I}=e,z=void 0===C||C,F=void 0===S||S,k=void 0!==v&&v,D=void 0!==P&&P,O=void 0!==w&&w,_=void 0===I?0:I,{colors:R}=(0,u.useTheme)();let Z;t[0]!==R.border||t[1]!==R.surface?(Z={backgroundColor:R.surface,borderColor:R.border},t[0]=R.border,t[1]=R.surface,t[2]=Z):Z=t[2];const A=Z,M=k||D,G=b.SPACING.lg+_;let N;t[3]!==G?(N=[h.stack,{bottom:G}],t[3]=G,t[4]=N):N=t[4];const T=!z&&h.fabDisabled;let E;t[5]!==A||t[6]!==T?(E=[h.fab,A,T],t[5]=A,t[6]=T,t[7]=E):E=t[7];const V=!z,W=!z;let q;t[8]!==W?(q={disabled:W},t[8]=W,t[9]=q):q=t[9];const B=z?R.foreground:R.foregroundDisabled;let H,J;t[10]!==B?(H=(0,f.jsx)(c.Plus,{size:18,color:B}),t[10]=B,t[11]=H):H=t[11],t[12]!==l||t[13]!==E||t[14]!==V||t[15]!==q||t[16]!==H?(J=(0,f.jsx)(s.default,{style:E,onPress:l,disabled:V,hitSlop:4,accessibilityRole:"button",accessibilityState:q,children:H}),t[12]=l,t[13]=E,t[14]=V,t[15]=q,t[16]=H,t[17]=J):J=t[17];const K=!F&&h.fabDisabled;let L;t[18]!==A||t[19]!==K?(L=[h.fab,A,K],t[18]=A,t[19]=K,t[20]=L):L=t[20];const Q=!F,U=!F;let X;t[21]!==U?(X={disabled:U},t[21]=U,t[22]=X):X=t[22];const Y=F?R.foreground:R.foregroundDisabled;let $,ee,oe,te;t[23]!==Y?($=(0,f.jsx)(c.Minus,{size:18,color:Y}),t[23]=Y,t[24]=$):$=t[24],t[25]!==y||t[26]!==L||t[27]!==Q||t[28]!==X||t[29]!==$?(ee=(0,f.jsx)(s.default,{style:L,onPress:y,disabled:Q,hitSlop:4,accessibilityRole:"button",accessibilityState:X,children:$}),t[25]=y,t[26]=L,t[27]=Q,t[28]=X,t[29]=$,t[30]=ee):ee=t[30],t[31]!==A||t[32]!==R.warning||t[33]!==M?(oe=[h.fab,M?{backgroundColor:R.warning,borderColor:R.warning}:A],t[31]=A,t[32]=R.warning,t[33]=M,t[34]=oe):oe=t[34],t[35]!==M?(te={selected:M},t[35]=M,t[36]=te):te=t[36];const re=M?R.primaryForeground:R.foreground;let ne,ie,se,le;t[37]!==re?(ne=(0,f.jsx)(c.Filter,{size:14,color:re}),t[37]=re,t[38]=ne):ne=t[38],t[39]!==j||t[40]!==oe||t[41]!==te||t[42]!==ne?(ie=(0,f.jsx)(s.default,{style:oe,onPress:j,hitSlop:4,accessibilityRole:"button",accessibilityState:te,children:ne}),t[39]=j,t[40]=oe,t[41]=te,t[42]=ne,t[43]=ie):ie=t[43],t[44]!==A||t[45]!==R.warning||t[46]!==O?(se=[h.fab,O?{backgroundColor:R.warning,borderColor:R.warning}:A],t[44]=A,t[45]=R.warning,t[46]=O,t[47]=se):se=t[47],t[48]!==O?(le={selected:O},t[48]=O,t[49]=le):le=t[49];const ae=O?R.primaryForeground:R.foreground;let ce,de,ue,be,fe,ge;return t[50]!==ae?(ce=(0,f.jsx)(c.Scan,{size:14,color:ae}),t[50]=ae,t[51]=ce):ce=t[51],t[52]!==x||t[53]!==se||t[54]!==le||t[55]!==ce?(de=(0,f.jsx)(s.default,{style:se,onPress:x,hitSlop:4,accessibilityRole:"button",accessibilityState:le,children:ce}),t[52]=x,t[53]=se,t[54]=le,t[55]=ce,t[56]=de):de=t[56],t[57]!==A?(ue=[h.fab,A],t[57]=A,t[58]=ue):ue=t[58],t[59]!==R.foreground?(be=(0,f.jsx)(c.Video,{size:14,color:R.foreground}),t[59]=R.foreground,t[60]=be):be=t[60],t[61]!==p||t[62]!==ue||t[63]!==be?(fe=(0,f.jsx)(s.default,{style:ue,onPress:p,hitSlop:4,children:be}),t[61]=p,t[62]=ue,t[63]=be,t[64]=fe):fe=t[64],t[65]!==J||t[66]!==ee||t[67]!==ie||t[68]!==de||t[69]!==fe||t[70]!==N?(ge=(0,f.jsx)(n.default,{style:h.container,pointerEvents:"box-none",children:(0,f.jsxs)(n.default,{style:N,children:[J,ee,ie,de,fe]})}),t[65]=J,t[66]=ee,t[67]=ie,t[68]=de,t[69]=fe,t[70]=N,t[71]=ge):ge=t[71],ge}),h=l.default.create({container:Object.assign({},l.default.absoluteFill,{zIndex:12}),stack:{position:'absolute',left:0,right:0,flexDirection:'row',justifyContent:'center',alignItems:'center',gap:b.SPACING.md},fab:{width:36,height:36,borderRadius:18,borderWidth:1,alignItems:'center',justifyContent:'center'},fabDisabled:{opacity:.4}})},3508,[15,17,20,252,33,813,2587,2589,10]);
15930
- __d(function(g,r,i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineFilterPanel",{enumerable:!0,get:function(){return v}});var o=r(_d[0]),t=r(_d[1]),d=e(r(_d[2])),l=e(r(_d[3])),n=e(r(_d[4])),s=e(r(_d[5])),u=r(_d[6]),c=r(_d[7]),f=r(_d[8]),b=r(_d[9]),p=r(_d[10]),h=r(_d[11]),m=r(_d[12]),x=r(_d[13]),y=r(_d[14]);const C={motion:p.MOTION_COLOR,audio:p.AUDIO_COLOR},v=(0,t.memo)(function(e){const t=(0,o.c)(61),{filter:s,onToggleKind:b,classes:p,classFilter:v,onToggleClass:S,onReset:M,eventKinds:j,bottomInset:A}=e,{t:k}=(0,u.useTranslation)(),{colors:P}=(0,f.useTheme)();let E;t[0]!==s?(E=(0,x.isFilterAll)(s),t[0]=s,t[1]=E):E=t[1];const R=E,_=R&&0===v.size;let O;if(t[2]!==j){O=new Map;for(const e of j??[])O.set(e.kind,e);t[2]=j,t[3]=O}else O=t[3];const T=O;let N,z;t[4]!==A||t[5]!==P.border||t[6]!==P.surface?(N=[I.panel,{bottom:A,backgroundColor:P.surface,borderColor:P.border}],t[4]=A,t[5]=P.border,t[6]=P.surface,t[7]=N):N=t[7],t[8]!==_?(z={selected:_},t[8]=_,t[9]=z):z=t[9];const F=_?P.primary:P.backgroundElevated,G=_?P.primary:P.border;let D;t[10]!==F||t[11]!==G?(D=[I.chip,{backgroundColor:F,borderColor:G}],t[10]=F,t[11]=G,t[12]=D):D=t[12];const L=_?P.primaryForeground:P.foregroundMuted;let K;t[13]!==L?(K=(0,y.jsx)(c.ListFilter,{size:13,color:L}),t[13]=L,t[14]=K):K=t[14];const w=_?P.primaryForeground:P.foregroundMuted;let W,U,$,V,B,H,q;if(t[15]!==w?(W=[I.chipText,{color:w}],t[15]=w,t[16]=W):W=t[16],t[17]!==k?(U=k("v2.theater.filterAll"),t[17]=k,t[18]=U):U=t[18],t[19]!==W||t[20]!==U?($=(0,y.jsx)(l.default,{style:W,children:U}),t[19]=W,t[20]=U,t[21]=$):$=t[21],t[22]!==M||t[23]!==$||t[24]!==z||t[25]!==D||t[26]!==K?(V=(0,y.jsxs)(n.default,{onPress:M,hitSlop:4,accessibilityRole:"button",accessibilityState:z,style:D,children:[K,$]}),t[22]=M,t[23]=$,t[24]=z,t[25]=D,t[26]=K,t[27]=V):V=t[27],t[28]!==P.backgroundElevated||t[29]!==P.border||t[30]!==P.foreground||t[31]!==P.foregroundMuted||t[32]!==s||t[33]!==R||t[34]!==b||t[35]!==k?(B=x.ALL_BAR_KINDS.map(e=>{const o=!R&&s.has(e),t="audio"===e?c.Volume2:c.Activity,d=C[e];return(0,y.jsxs)(n.default,{onPress:()=>b(e),hitSlop:4,accessibilityRole:"button",accessibilityState:{selected:o},style:[I.chip,{backgroundColor:o?`${d}26`:P.backgroundElevated,borderColor:o?d:P.border}],children:[(0,y.jsx)(t,{size:13,color:o?d:P.foregroundMuted}),(0,y.jsx)(l.default,{style:[I.chipText,{color:o?P.foreground:P.foregroundMuted}],children:k(`v2.theater.filter_${e}`)})]},e)}),t[28]=P.backgroundElevated,t[29]=P.border,t[30]=P.foreground,t[31]=P.foregroundMuted,t[32]=s,t[33]=R,t[34]=b,t[35]=k,t[36]=B):B=t[36],t[37]!==v||t[38]!==p||t[39]!==P.backgroundElevated||t[40]!==P.border||t[41]!==P.foreground||t[42]!==P.foregroundMuted||t[43]!==T||t[44]!==S||t[45]!==k){let e;t[47]!==v||t[48]!==P.backgroundElevated||t[49]!==P.border||t[50]!==P.foreground||t[51]!==P.foregroundMuted||t[52]!==T||t[53]!==S||t[54]!==k?(e=e=>{const o=v.has(e),t=T.get(e),d=t?.color??(0,h.getClassColor)(e),s=t?(0,m.resolveEventKindIcon)(t.iconId):null,u=t?(0,m.eventKindLabel)(t,k):e;return(0,y.jsxs)(n.default,{onPress:()=>S(e),hitSlop:4,accessibilityRole:"button",accessibilityState:{selected:o},style:[I.chip,{backgroundColor:o?`${d}26`:P.backgroundElevated,borderColor:o?d:P.border}],children:[s?(0,y.jsx)(s,{size:13,color:o?d:P.foregroundMuted}):null,(0,y.jsx)(l.default,{style:[I.chipText,{color:o?P.foreground:P.foregroundMuted}],children:u})]},e)},t[47]=v,t[48]=P.backgroundElevated,t[49]=P.border,t[50]=P.foreground,t[51]=P.foregroundMuted,t[52]=T,t[53]=S,t[54]=k,t[55]=e):e=t[55],H=p.map(e),t[37]=v,t[38]=p,t[39]=P.backgroundElevated,t[40]=P.border,t[41]=P.foreground,t[42]=P.foregroundMuted,t[43]=T,t[44]=S,t[45]=k,t[46]=H}else H=t[46];return t[56]!==V||t[57]!==B||t[58]!==H||t[59]!==N?(q=(0,y.jsx)(d.default,{style:I.container,pointerEvents:"box-none",children:(0,y.jsxs)(d.default,{style:N,children:[V,B,H]})}),t[56]=V,t[57]=B,t[58]=H,t[59]=N,t[60]=q):q=t[60],q}),I=s.default.create({container:Object.assign({},s.default.absoluteFill,{zIndex:11}),panel:{position:'absolute',left:b.SPACING.md,right:b.SPACING.md,flexDirection:'row',flexWrap:'wrap',justifyContent:'center',gap:b.SPACING.sm,padding:b.SPACING.md,borderWidth:1,borderRadius:b.RADIUS.xl},chip:{flexDirection:'row',alignItems:'center',gap:b.SPACING.xs+2,paddingHorizontal:b.SPACING.md,paddingVertical:b.SPACING.sm+1,borderRadius:b.RADIUS.lg,borderWidth:1},chipText:{fontSize:12,fontWeight:'600'}})},3509,[15,17,20,112,252,33,786,813,2587,2589,3231,3232,3170,3142,10]);
15931
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.pxPerHour=n,e.offsetToEpoch=function(o,u,c){const f=o/n(c);return Math.round(u-f*t)},e.epochToOffset=function(o,u,c){const f=(u-o)/t;return Math.max(0,f*n(c))};var o=r(d[0]);const t=36e5;function n(t){return 60/o.ZOOM_LEVELS[(0,o.clampZoomIndex)(t)].rowMinutes*o.TIMELINE_ROW_HEIGHT}},3510,[3142]);
15932
- __d(function(g,r,i,a,m,e,d){"use strict";function t(t){return Number.isFinite(t)?Math.min(100,Math.max(0,t)):0}Object.defineProperty(e,'__esModule',{value:!0}),e.indicatorOffsetPx=function(n,u){return!Number.isFinite(n)||n<=0?0:Math.round(n*t(u)/100)}},3511,[]);
15933
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.atLiveEdge=function(t,n){return t<=n}},3512,[]);
15934
- __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"DatePickerModal",{enumerable:!0,get:function(){return p}});var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),i=e(r(d[4])),s=e(r(d[5])),c=r(d[6]),u=r(d[7]),h=r(d[8]),f=r(d[9]),y=r(d[10]),b=r(d[11]);const p=(0,t.memo)(function(e){const{t:s}=(0,c.useTranslation)(),{colors:f}=(0,h.useTheme)(),p=new Date(e.monthAnchorMs),j=(0,t.useMemo)(()=>(0,y.buildMonthGrid)(p.getFullYear(),p.getMonth(),e.nowMs),[p.getFullYear(),p.getMonth(),e.nowMs]),w=p.toLocaleDateString(void 0,{month:'long',year:'numeric'}),C=new Date(e.nowMs);return C.setHours(0,0,0,0),(0,b.jsx)(o.default,{visible:e.visible,transparent:!0,animationType:"fade",onRequestClose:e.onClose,children:(0,b.jsx)(i.default,{style:x.backdrop,onPress:e.onClose,children:(0,b.jsxs)(i.default,{style:[x.card,{backgroundColor:f.background,borderColor:f.border}],children:[(0,b.jsxs)(n.default,{style:x.header,children:[(0,b.jsx)(i.default,{style:x.navBtn,onPress:()=>e.onChangeMonth(-1),hitSlop:8,children:(0,b.jsx)(u.ChevronLeft,{size:18,color:f.foregroundMuted})}),(0,b.jsx)(l.default,{style:[x.title,{color:f.foreground}],children:w}),(0,b.jsx)(i.default,{style:x.navBtn,onPress:()=>e.onChangeMonth(1),hitSlop:8,children:(0,b.jsx)(u.ChevronRight,{size:18,color:f.foregroundMuted})})]}),(0,b.jsx)(n.default,{style:x.weekRow,children:['L','M','M','G','V','S','D'].map((e,t)=>(0,b.jsx)(l.default,{style:[x.weekday,{color:f.foregroundSubtle}],children:e},t))}),(0,b.jsx)(n.default,{style:x.grid,children:j.map(t=>{const o=e.daysSet.has(t.epoch),s=t.epoch===e.selectedDayMs,c=t.epoch===C.getTime();return(0,b.jsxs)(i.default,{style:[x.cell,s&&{backgroundColor:f.primary},!s&&c&&{borderColor:f.primary,borderWidth:1}],disabled:t.isFuture,onPress:()=>e.onPick(t.epoch),children:[(0,b.jsx)(l.default,{style:[x.cellText,{color:t.isFuture?f.foregroundSubtle:s?f.primaryForeground:t.inMonth?f.foreground:f.foregroundMuted}],children:new Date(t.epoch).getDate()}),o&&!s?(0,b.jsx)(n.default,{style:[x.dot,{backgroundColor:f.primary}]}):null]},t.epoch)})}),(0,b.jsx)(l.default,{style:[x.hint,{color:f.foregroundSubtle}],children:s('v2.theater.selectDate')})]})})})}),x=s.default.create({backdrop:{flex:1,backgroundColor:'rgba(0,0,0,0.5)',alignItems:'center',justifyContent:'center'},card:{width:280+2*f.SPACING.md,borderRadius:f.RADIUS.lg,borderWidth:1,padding:f.SPACING.md},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',marginBottom:f.SPACING.sm},navBtn:{width:32,height:32,alignItems:'center',justifyContent:'center'},title:{fontSize:15,fontWeight:'700',textTransform:'capitalize'},weekRow:{flexDirection:'row'},weekday:{width:40,textAlign:'center',fontSize:11,fontWeight:'600'},grid:{flexDirection:'row',flexWrap:'wrap'},cell:{width:40,height:40,alignItems:'center',justifyContent:'center',borderRadius:f.RADIUS.md},cellText:{fontSize:13,fontWeight:'600'},dot:{width:4,height:4,borderRadius:2,marginTop:2},hint:{fontSize:11,textAlign:'center',marginTop:f.SPACING.sm}})},3513,[17,245,20,112,252,33,786,813,2587,2589,3514,10]);
15935
- __d(function(g,r,_i,a,m,e,_d){"use strict";function t(t,n){return{fromMs:new Date(t,n,1,0,0,0,0).getTime(),toMs:new Date(t,n+1,1,0,0,0,0).getTime()}}Object.defineProperty(e,'__esModule',{value:!0}),e.monthBounds=t,e.monthBoundsForMs=function(n){const o=new Date(n);return t(o.getFullYear(),o.getMonth())},e.buildMonthGrid=function(t,n,o){const u=(new Date(t,n,1,0,0,0,0).getDay()+6)%7,s=new Date(o);s.setHours(0,0,0,0);const i=[];for(let o=0;o<42;o++){const c=new Date(t,n,1-u+o,0,0,0,0);i.push({epoch:c.getTime(),inMonth:c.getMonth()===n,isFuture:c.getTime()>s.getTime()})}return i}},3514,[]);
15936
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.dayAtSameTime=function(t,n,o){const s=new Date(t),c=new Date(n);c.setHours(s.getHours(),s.getMinutes(),s.getSeconds(),s.getMilliseconds());const u=c.getTime();return u>o?o:u},e.dateLabel=function(n,o,s){const c=new Date(n);c.setHours(0,0,0,0);const u=new Date(o);u.setHours(0,0,0,0);const y=Math.round((u.getTime()-c.getTime())/t);return 0===y?s('v2.theater.today'):1===y?s('v2.theater.yesterday'):new Date(n).toLocaleDateString(void 0,{weekday:'short',day:'numeric',month:'short'})};const t=864e5},3515,[]);
15937
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.trackToTimelineEvent=p,e.timelineEventToTrackSummary=function(t,n,s=""){return Object.assign({trackId:t.trackId??t.id,deviceId:n,cameraName:s,className:t.className},void 0!==t.label?{label:t.label}:{},void 0!==t.importance?{importance:t.importance}:{},{firstSeen:t.timestamp,lastSeen:t.endTimestamp??t.timestamp,state:'idle',active:!1,zonesVisited:[],audioLabels:void 0!==t.audioLabels?[...t.audioLabels]:[],bestEventId:t.id})},e.useDeviceTracks=function(b,y,f){const k=(0,t.c)(13),{controller:T,state:I}=(0,s.useConnection)();let S;k[0]!==b||k[1]!==y||k[2]!==f?(S=["v2","analytics","device-tracks",b,y,f],k[0]=b,k[1]=y,k[2]=f,k[3]=S):S=k[3];const L="connected"===I;let h,N;k[4]!==T||k[5]!==b||k[6]!==y||k[7]!==f?(h=async()=>{const t=T.getSystem();if(!t)return[];const n=await(0,o.capQuery)(t.trpcClient,"pipelineAnalytics","listTracks",{deviceId:b,since:y,until:f,limit:v});if(!Array.isArray(n))return[];const s=[];for(const t of n){const n=(0,l.toTrackSummary)(t,"");null!==n&&s.push(p(n,(0,u.parsePositionBoxes)(t)))}return c.log.info("device-tracks","listTracks",{deviceId:b,count:s.length}),s},k[4]=T,k[5]=b,k[6]=y,k[7]=f,k[8]=h):h=k[8];k[9]!==S||k[10]!==L||k[11]!==h?(N={queryKey:S,enabled:L,staleTime:3e4,refetchInterval:3e4,queryFn:h},k[9]=S,k[10]=L,k[11]=h,k[12]=N):N=k[12];return(0,n.useQuery)(N)};var t=r(d[0]),n=r(d[1]),s=r(d[2]),c=r(d[3]),o=r(d[4]),l=r(d[5]),u=r(d[6]);const v=500;function p(t,n){return Object.assign({id:t.bestEventId,timestamp:t.firstSeen,endTimestamp:t.lastSeen,className:t.className,label:t.label,importance:t.importance,trackId:t.trackId},t.audioLabels.length>0?{audioLabels:t.audioLabels}:{},void 0!==n&&n.length>0?{positionBoxes:n}:{})}},3516,[15,3081,2594,2705,3162,3237,3501]);
15938
- __d(function(g,_r,i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useTimelineActivity=function(f,M,p){const b=(0,t.c)(13),{controller:v,state:h}=(0,s.useConnection)();let A;b[0]!==f||b[1]!==M||b[2]!==p?(A=["v2","analytics","activity",f,M,p],b[0]=f,b[1]=M,b[2]=p,b[3]=A):A=b[3];const k="connected"===h;let R,E;b[4]!==v||b[5]!==f||b[6]!==M||b[7]!==p?(R=async()=>{const t=v.getSystem();if(!t)return r.log.warn("timeline-activity","no system (not connected)"),a;const n=t.trpcClient,s=(0,c.pickBucketMs)(M,p),b=Math.round(Math.abs(p-M)/s),[h,A,k]=await Promise.all([(0,o.capQuery)(n,"pipelineAnalytics","getEventDensity",{deviceId:f,since:M,until:p,bucketMs:s}),(0,o.capQuery)(n,"pipelineAnalytics","getAudioEvents",{deviceId:f,since:M,until:p,limit:1e3}),(0,o.capQuery)(n,"recording","getAvailability",{deviceId:f,fromMs:M,toMs:p})]),R=y(h),E=l(A),I=u(k),Q=(0,c.densityToMotionBuckets)(R,s),S=(0,c.audioEventsToBuckets)(E,M,s,b);return r.log.info("timeline-activity","fetched",{deviceId:f,densityRows:R.length,audioEvents:E.length,recordingRanges:I.length,bucketCount:b}),{recording:I,motion:Q,audio:S}},b[4]=v,b[5]=f,b[6]=M,b[7]=p,b[8]=R):R=b[8];b[9]!==A||b[10]!==k||b[11]!==R?(E={queryKey:A,enabled:k,staleTime:3e4,queryFn:R},b[9]=A,b[10]=k,b[11]=R,b[12]=E):E=b[12];return(0,n.useQuery)(E).data??a};var t=_r(d[0]),n=_r(d[1]),s=_r(d[2]),r=_r(d[3]),o=_r(d[4]),c=_r(d[5]);const a={recording:[],motion:[],audio:[]};function u(t){if(!(0,o.isRecord)(t)||!Array.isArray(t.ranges))return[];const n=[];for(const s of t.ranges)(0,o.isRecord)(s)&&'number'==typeof s.startMs&&'number'==typeof s.endMs&&s.endMs>s.startMs&&n.push({startMs:s.startMs,endMs:s.endMs});n.sort((t,n)=>t.startMs-n.startMs);const s=[];for(const t of n){const n=s[s.length-1];void 0!==n&&t.startMs<=n.endMs?t.endMs>n.endMs&&(s[s.length-1]={startMs:n.startMs,endMs:t.endMs}):s.push({startMs:t.startMs,endMs:t.endMs})}return s}function y(t){if(!Array.isArray(t))return[];const n=[];for(const s of t)(0,o.isRecord)(s)&&'number'==typeof s.bucketStart&&'number'==typeof s.motion&&n.push({bucketStart:s.bucketStart,motion:s.motion});return n}function l(t){if(!Array.isArray(t))return[];const n=[];for(const s of t)(0,o.isRecord)(s)&&'number'==typeof s.timestamp&&'number'==typeof s.dbfs&&n.push({timestamp:s.timestamp,dbfs:s.dbfs});return n}},3517,[15,3081,2594,2705,3162,3518]);
15939
- __d(function(g,_r,_i,a,_m,e,d){"use strict";function t(t,n=-60,o=0){const s=(t-n)/(o-n);return Math.min(1,Math.max(0,s))}Object.defineProperty(e,'__esModule',{value:!0}),e.dbfsToUnit=t,e.densityToMotionBuckets=function(t,n){if(0===t.length)return[];const o=t.reduce((t,n)=>Math.max(t,n.motion),0);return t.map(t=>({startMs:t.bucketStart,endMs:t.bucketStart+n,intensity:o>0?Math.min(1,Math.max(0,t.motion/o)):0}))},e.audioEventsToBuckets=function(n,o,s,i){const r=Array.from({length:i},()=>{});for(const t of n){const n=Math.floor((t.timestamp-o)/s);if(n<0||n>=i)continue;const c=r[n];r[n]=void 0===c?t.dbfs:Math.max(c,t.dbfs)}return r.map((n,i)=>({startMs:o+i*s,endMs:o+(i+1)*s,intensity:void 0!==n?t(n):0}))},e.pickBucketMs=function(t,s,i=240){const r=Math.abs(s-t),c=Math.round(r/i);return Math.min(o,Math.max(n,c))};const n=5e3,o=36e5},3518,[]);
15940
- __d(function(_g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.dedupeFragmentItems=p,_e.pickRepresentative=h,_e.clusterByZoom=function(t,{topMs:n,zoomIndex:s,sizePx:o,gapPx:a},c){if(0===t.length)return[];const l=[...t].sort((e,t)=>t.timestamp-e.timestamp),u=[];let f=[],b=0;function M(){if(0===f.length)return;const e=h(f,c),t=[...new Set(f.map(e=>e.className))],n=[...new Set(f.map(e=>e.label).filter(e=>'string'==typeof e&&e.length>0))],s=f.map(e=>e.timestamp);u.push({id:e.id,events:f,carouselEvents:p(f),representative:e,classes:t,labels:n,startMs:Math.min(...s),endMs:Math.max(...s),topPx:b,heightPx:o}),f=[]}for(const t of l){const c=(0,e.epochToOffset)(t.timestamp,n,s);0===f.length?(b=c,f.push(t)):(c<b+o+a||(M(),b=c),f.push(t))}return M(),u};var e=r(d[0]);const t=['label','person','vehicle','animal'],n={vehicle:['car','truck','bus','motorcycle'],animal:['dog','cat','bird']};function s(e){return'label'===e?[]:void 0!==n[e]?n[e]:[e]}function o(e,t){if('label'===t)return'string'==typeof e.label&&e.label.length>0;return s(t).includes(e.className)}const a=45e3,c=2e3;function l(e){return{start:e.timestamp,end:e.endTimestamp??e.timestamp}}function u(e,t){const{start:n}=l(t);return n>=e-c&&n<=e+a}function f(e,t){const n=e.importance??0,s=t.importance??0;return s>n?t:n>s?e:l(t).end>=l(e).end?t:e}function p(e){if(e.length<=1)return[...e];const t=new Map,n=[...e].sort((e,t)=>e.timestamp-t.timestamp);for(const e of n){const n=t.get(e.className)??[];let s;for(const t of n)u(t.endMs,e)&&(void 0===s||t.endMs>s.endMs)&&(s=t);void 0!==s?(s.best=f(s.best,e),s.endMs=Math.max(s.endMs,l(e).end)):n.push({best:e,endMs:l(e).end}),t.set(e.className,n)}const s=new Set;for(const e of t.values())for(const t of e)s.add(t.best);return e.filter(e=>s.has(e))}function h(e,n=t){for(const t of n){const n=e.find(e=>o(e,t));if(void 0!==n)return n}return e.reduce((e,t)=>t.timestamp>e.timestamp?t:e,e[0])}},3519,[3510]);
15941
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterDetailModal",{enumerable:!0,get:function(){return b}});var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),c=r(d[6]),f=r(d[7]),p=r(d[8]);const b=(0,o.memo)(function(e){const o=(0,t.c)(16),{deviceId:s,cluster:b,onSeek:v,onClose:C,seekAvailable:_}=e,{colors:j}=(0,c.useTheme)(),y=(0,u.useSafeAreaInsets)(),x=null!==b,h=j.background+"F2";let A,I,M,S;return o[0]!==y.top||o[1]!==h?(A=[k.backdrop,{backgroundColor:h,paddingTop:y.top}],o[0]=y.top,o[1]=h,o[2]=A):A=o[2],o[3]!==b||o[4]!==s||o[5]!==C||o[6]!==v||o[7]!==_?(I=(0,p.jsx)(f.ClusterDetailBody,{deviceId:s,cluster:b,onSeek:v,onClose:C,seekAvailable:_}),o[3]=b,o[4]=s,o[5]=C,o[6]=v,o[7]=_,o[8]=I):I=o[8],o[9]!==A||o[10]!==I?(M=(0,p.jsx)(n.default,{style:A,children:I}),o[9]=A,o[10]=I,o[11]=M):M=o[11],o[12]!==C||o[13]!==x||o[14]!==M?(S=(0,p.jsx)(l.default,{visible:x,animationType:"slide",transparent:!0,onRequestClose:C,children:M}),o[12]=C,o[13]=x,o[14]=M,o[15]=S):S=o[15],S}),k=s.default.create({backdrop:{flex:1}})},3520,[15,17,245,20,33,466,2587,3521,10]);
15942
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterDetailBody",{enumerable:!0,get:function(){return C}});var t=r(d[0]),l=r(d[1]),n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=r(d[7]),h=r(d[8]),p=r(d[9]),x=r(d[10]),y=r(d[11]),k=r(d[12]),I=r(d[13]),b=r(d[14]);function j(e){return e.trackId??e.id}const C=(0,l.memo)(function(e){const u=(0,t.c)(32),{deviceId:x,cluster:C,onSeek:v,onClose:w,bottomInset:A,seekAvailable:P}=e,R=void 0===P||P,{colors:_}=(0,p.useTheme)(),{t:N}=(0,h.useTranslation)();let T;e:{if(null===C){let e;u[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],u[0]=e):e=u[0],T=e;break e}const e=C.carouselEvents.length>0?C.carouselEvents:C.events;let t;u[1]!==e?(t=[...e],u[1]=e,u[2]=t):t=u[2],T=t}const E=T,[G,z]=(0,l.useState)(null);let B,D,M;u[3]!==E?(B=()=>{z(e=>null!==e&&E.some(t=>j(t)===e)?e:void 0!==E[0]?j(E[0]):null)},D=[E],u[3]=E,u[4]=B,u[5]=D):(B=u[4],D=u[5]),(0,l.useEffect)(B,D),u[6]!==G||u[7]!==E?(M=E.find(e=>j(e)===G)??E[0]??null,u[6]=G,u[7]=E,u[8]=M):M=u[8];const F=M;let L;u[9]!==x||u[10]!==F?(L=null!==F?(0,I.timelineEventToTrackSummary)(F,x):null,u[9]=x,u[10]=F,u[11]=L):L=u[11];const O=L;let H,U,V,W,X;return u[12]!==_||u[13]!==F||u[14]!==E?(H=E.length>1?(0,b.jsx)(c.default,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:S.trackRow,style:S.trackRowFlex,children:E.map(e=>{const t=j(e),l=t===(null!==F?j(F):null);return(0,b.jsxs)(s.default,{onPress:()=>z(t),style:S.trackChip,children:[(0,b.jsx)(n.default,{style:[S.chipImage,{borderColor:l?_.primary:"transparent",borderWidth:l?2:0}],children:(0,b.jsx)(y.EventThumb,{event:e,width:56,height:56})}),(0,b.jsx)(o.default,{numberOfLines:1,style:[S.trackChipLabel,{color:l?_.foreground:_.foregroundMuted}],children:(c=e,c.label??c.className)})]},t);var c})}):(0,b.jsx)(n.default,{style:S.trackRowFlex}),u[12]=_,u[13]=F,u[14]=E,u[15]=H):H=u[15],u[16]!==_||u[17]!==w?(U=w?(0,b.jsx)(s.default,{onPress:w,hitSlop:10,style:[S.iconBtn,{backgroundColor:_.surface}],children:(0,b.jsx)(f.X,{size:20,color:_.foreground})}):null,u[16]=_,u[17]=w,u[18]=U):U=u[18],u[19]!==H||u[20]!==U?(V=(0,b.jsxs)(n.default,{style:S.pickerBar,children:[H,U]}),u[19]=H,u[20]=U,u[21]=V):V=u[21],u[22]!==A||u[23]!==_||u[24]!==v||u[25]!==R||u[26]!==O||u[27]!==N?(W=null!==O?(0,b.jsx)(k.TrackDetailView,{track:O,onSeek:R?v:void 0,bottomInset:A}):(0,b.jsx)(n.default,{style:S.empty,children:(0,b.jsx)(o.default,{style:{color:_.foregroundMuted},children:N("v2.theater.detailEmpty")})}),u[22]=A,u[23]=_,u[24]=v,u[25]=R,u[26]=O,u[27]=N,u[28]=W):W=u[28],u[29]!==W||u[30]!==V?(X=(0,b.jsxs)(n.default,{style:S.root,children:[V,W]}),u[29]=W,u[30]=V,u[31]=X):X=u[31],X}),S=u.default.create({root:{flex:1},pickerBar:{flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingTop:x.SPACING.sm},trackRowFlex:{flex:1},trackRow:{gap:x.SPACING.sm,paddingVertical:x.SPACING.xs,paddingRight:x.SPACING.md,alignItems:'center'},trackChip:{width:56,alignItems:'center',gap:2},chipImage:{width:56,height:56,borderRadius:x.RADIUS.md,overflow:'hidden'},trackChipLabel:{fontSize:10,maxWidth:64,textAlign:'center'},iconBtn:{width:36,height:36,borderRadius:x.RADIUS.md,alignItems:'center',justifyContent:'center'},empty:{flex:1,alignItems:'center',justifyContent:'center'}})},3521,[15,17,20,112,252,147,33,813,786,2587,2589,3373,3239,3516,10]);
15943
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineScroller",{enumerable:!0,get:function(){return L}});var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),f=r(d[7]),h=r(d[8]),p=r(d[9]),v=r(d[10]),x=r(d[11]),y=r(d[12]),b=r(d[13]);const S=36e5,C=h.SPACING.sm+3+h.SPACING.xs;function w(e,t,o,l){const{rowMinutes:n}=p.ZOOM_LEVELS[(0,p.clampZoomIndex)(l)],s=6e4*n,c=[];let u=Math.ceil((e+o)/s)*s;for(;u>=t;)c.push(u),u-=s;return c}const L=(0,o.memo)((0,o.forwardRef)(function(e,c){const p=(0,t.c)(72),{topMs:L,zoomIndex:P,dayWindow:E,clusters:j,activity:A,showMotionLane:k,showAudioLane:M,cardWidth:_,viewportHeight:G,indicatorOffsetPx:N,isLive:O,onScroll:D,onClusterPress:T,onClusterOpenDetail:R,clusterLabel:V,eventKinds:W}=e,{colors:z}=(0,f.useTheme)(),{t:H}=(0,u.useTranslation)(),F=(0,o.useRef)(null),[K,Z]=(0,o.useState)(0);let U,Y,q;p[0]===Symbol.for("react.memo_cache_sentinel")?(U=()=>({scrollToOffset:e=>{const{offset:t,animated:o}=e;return F.current?.scrollTo({y:t,animated:o??!1})}}),Y=[],p[0]=U,p[1]=Y):(U=p[0],Y=p[1]),(0,o.useImperativeHandle)(c,U,Y),p[2]!==E.from||p[3]!==L||p[4]!==P?(q=(0,v.epochToOffset)(E.from,L,P),p[2]=E.from,p[3]=L,p[4]=P,p[5]=q):q=p[5];const B=Math.max(G,q),J=N+B,Q=(0,v.pxPerHour)(P),X=Q>0?N/Q*S:0;let $;p[6]!==N||p[7]!==Q||p[8]!==L?($=e=>(L-e)/S*Q+N,p[6]=N,p[7]=Q,p[8]=L,p[9]=$):$=p[9];const ee=$;let te,oe,ie,le,ne,re,se,ae,de,ce,ue,fe,he,pe;if(p[10]!==_||p[11]!==z||p[12]!==J||p[13]!==ee||p[14]!==E.from||p[15]!==X||p[16]!==D||p[17]!==K||p[18]!==L||p[19]!==P){const e=w(L,E.from,X,P),t=h.SPACING.md+38+h.SPACING.sm,o=K-C-18-t;let c;oe=K>0?Math.max(t,t+(o-_)/2):h.SPACING.lg,te=l.default,re=F,se=!1,ae=D,p[30]===Symbol.for("react.memo_cache_sentinel")?(de=e=>Z(e.nativeEvent.layout.width),p[30]=de):de=p[30],ce=16,ie=I.scrollView,p[31]!==J?(le={height:J,position:"relative"},p[31]=J,p[32]=le):le=p[32],p[33]!==z||p[34]!==J||p[35]!==ee?(c=e=>{const t=ee(e);return t<0||t>J?null:(0,b.jsxs)(n.default,{pointerEvents:"none",style:[I.tickRow,{top:t}],children:[(0,b.jsx)(s.default,{style:[I.tickLabel,{color:z.foregroundSubtle}],children:(o=e,new Date(o).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'}))}),(0,b.jsx)(n.default,{style:[I.tickLine,{backgroundColor:z.borderSubtle}]})]},e);var o},p[33]=z,p[34]=J,p[35]=ee,p[36]=c):c=p[36],ne=e.map(c),p[10]=_,p[11]=z,p[12]=J,p[13]=ee,p[14]=E.from,p[15]=X,p[16]=D,p[17]=K,p[18]=L,p[19]=P,p[20]=te,p[21]=oe,p[22]=ie,p[23]=le,p[24]=ne,p[25]=re,p[26]=se,p[27]=ae,p[28]=de,p[29]=ce}else te=p[20],oe=p[21],ie=p[22],le=p[23],ne=p[24],re=p[25],se=p[26],ae=p[27],de=p[28],ce=p[29];return p[37]!==z||p[38]!==N||p[39]!==O||p[40]!==H?(ue=O?null:(0,b.jsxs)(n.default,{pointerEvents:"none",style:[I.liveEdge,{top:N}],children:[(0,b.jsx)(n.default,{style:[I.liveEdgeLine,{backgroundColor:z.live}]}),(0,b.jsxs)(n.default,{style:[I.liveEdgeCap,{backgroundColor:z.live}],children:[(0,b.jsx)(n.default,{style:[I.liveEdgeDot,{backgroundColor:z.primaryForeground}]}),(0,b.jsx)(s.default,{style:[I.liveEdgeLabel,{color:z.primaryForeground}],children:H("v2.theater.live")})]})]}),p[37]=z,p[38]=N,p[39]=O,p[40]=H,p[41]=ue):ue=p[41],p[42]!==oe||p[43]!==_||p[44]!==V||p[45]!==j||p[46]!==W||p[47]!==N||p[48]!==R||p[49]!==T?(fe=_>0&&j.map(e=>(0,b.jsx)(n.default,{style:[I.clusterWrapper,{top:e.topPx+N,left:oe,height:e.heightPx,width:_}],children:(0,b.jsx)(x.ClusterCard,{cluster:e,width:_,onPress:()=>{T(e)},onOpenDetail:R?()=>{R(e)}:void 0,clusterLabel:V,eventKinds:W})},e.id)),p[42]=oe,p[43]=_,p[44]=V,p[45]=j,p[46]=W,p[47]=N,p[48]=R,p[49]=T,p[50]=fe):fe=p[50],p[51]!==A||p[52]!==B||p[53]!==N||p[54]!==M||p[55]!==k||p[56]!==L||p[57]!==P?(he=B>0&&(0,b.jsx)(n.default,{pointerEvents:"none",style:[I.activityColumn,{top:N,height:B}],children:(0,b.jsx)(y.ActivityLanes,{model:A,topMs:L,zoomIndex:P,height:B,scrollOffsetY:0,width:18,showMotion:k,showAudio:M})}),p[51]=A,p[52]=B,p[53]=N,p[54]=M,p[55]=k,p[56]=L,p[57]=P,p[58]=he):he=p[58],p[59]!==te||p[60]!==ie||p[61]!==le||p[62]!==ne||p[63]!==ue||p[64]!==fe||p[65]!==he||p[66]!==re||p[67]!==se||p[68]!==ae||p[69]!==de||p[70]!==ce?(pe=(0,b.jsxs)(te,{ref:re,showsVerticalScrollIndicator:se,onScroll:ae,onLayout:de,scrollEventThrottle:ce,style:ie,contentContainerStyle:le,children:[ne,ue,fe,he]}),p[59]=te,p[60]=ie,p[61]=le,p[62]=ne,p[63]=ue,p[64]=fe,p[65]=he,p[66]=re,p[67]=se,p[68]=ae,p[69]=de,p[70]=ce,p[71]=pe):pe=p[71],pe})),I=c.default.create({scrollView:{flex:1},tickRow:{position:'absolute',left:0,right:0,flexDirection:'row',alignItems:'center',paddingLeft:h.SPACING.md,gap:h.SPACING.sm},tickLabel:{fontSize:9,fontVariant:['tabular-nums'],width:38,flexShrink:0},liveEdge:{position:'absolute',left:0,right:0,height:0,justifyContent:'center'},liveEdgeLine:{position:'absolute',left:0,right:0,height:1,opacity:.5},liveEdgeCap:{position:'absolute',right:h.SPACING.sm,top:-8,flexDirection:'row',alignItems:'center',gap:4,paddingHorizontal:6,paddingVertical:1.5,borderRadius:h.RADIUS.sm},liveEdgeDot:{width:5,height:5,borderRadius:2.5},liveEdgeLabel:{fontSize:9,fontWeight:'800',letterSpacing:.6},tickLine:{flex:1,height:c.default.hairlineWidth,opacity:.5},clusterWrapper:{position:'absolute',overflow:'hidden'},activityColumn:{position:'absolute',top:0,right:h.SPACING.sm+3+h.SPACING.xs}})},3522,[15,17,147,20,112,33,786,2587,2589,3142,3510,3523,3524,10]);
15944
- __d(function(g,r,_i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterCard",{enumerable:!0,get:function(){return y}});var t=r(_d[0]),o=r(_d[1]),n=e(r(_d[2])),l=e(r(_d[3])),s=e(r(_d[4])),i=e(r(_d[5])),d=e(r(_d[6])),c=r(_d[7]),u=r(_d[8]),h=r(_d[9]),f=r(_d[10]),p=r(_d[11]),m=r(_d[12]),b=r(_d[13]),v=r(_d[14]),x=r(_d[15]);function C(e){return e.carouselEvents.length>0?e.carouselEvents:e.events.length>0?e.events:[e.representative]}const y=(0,o.memo)(function(e){const y=(0,t.c)(136),{cluster:j,width:I,selected:w,onPress:A,onOpenDetail:R,clusterLabel:k,eventKinds:P}=e,L=void 0!==w&&w,O=void 0===k?"icon":k,{colors:T}=(0,h.useTheme)(),{t:_}=(0,u.useTranslation)();let N;if(y[0]!==P){N=new Map;for(const e of P??[])N.set(e.kind,e);y[0]=P,y[1]=N}else N=y[1];const B=N,{settings:D}=(0,f.useSettings)(),z=D.clusters.showClass,E=D.clusters.showImportance;let G;y[2]!==j.representative.className?(G=(0,m.colorForEventType)(j.representative.className),y[2]=j.representative.className,y[3]=G):G=y[3];const M=G;let U;y[4]!==j?(U=C(j),y[4]=j,y[5]=U):U=y[5];const W=U,$=W.length>1,F=j.events.length>0,[K,V]=(0,o.useState)(0),H=W[K]?.timestamp??j.representative.timestamp;let q;y[6]!==H?(q=new Date(H).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'}),y[6]=H,y[7]=q):q=y[7];const J=q,Q=W[K]?.importance??j.representative.importance,[X,Y]=(0,o.useState)(I),Z=(0,o.useRef)(null);let ee;y[8]===Symbol.for("react.memo_cache_sentinel")?(ee=e=>{const t=e.nativeEvent.layout.width;t>0&&Y(t)},y[8]=ee):ee=y[8];const te=ee;let oe;y[9]!==X||y[10]!==W.length?(oe=e=>{const t=Math.max(0,Math.min(e,W.length-1));Z.current?.scrollTo({x:t*X,animated:!0}),V(t)},y[9]=X,y[10]=W.length,y[11]=oe):oe=y[11];const ne=oe;let re;y[12]!==X||y[13]!==W.length?(re=e=>{if(X<=0)return;const t=e.nativeEvent.contentOffset.x,o=Math.max(0,Math.min(Math.round(t/X),W.length-1));V(o)},y[12]=X,y[13]=W.length,y[14]=re):re=y[14];const le=re,se=j.heightPx,ie=L?3:2;let ae,de,ce,ue,he,ge,fe,pe,me,be,ve,xe,Ce,ye,Se,je,Ie,we,Ae,Re,ke,Pe,Le,Oe,Te,Ne;if(y[15]!==M||y[16]!==K||y[17]!==ie||y[18]!==se||y[19]!==X||y[20]!==j||y[21]!==O||y[22]!==T||y[23]!==W||y[24]!==ne||y[25]!==$||y[26]!==B||y[27]!==le||y[28]!==A||y[29]!==z||y[30]!==_||y[31]!==I){const e=j.classes.slice(0,3),t=j.classes.length-e.length;let o,u;if(y[47]!==j.events){o=new Set;for(const e of j.events)for(const t of e.audioLabels??[])o.add(t);y[47]=j.events,y[48]=o}else o=y[48];y[49]!==o?(u=[...o],y[49]=o,y[50]=u):u=y[50];const h=u,f=h.slice(0,2);ue=h.length-f.length,ce=s.default,y[51]!==M||y[52]!==ie||y[53]!==se||y[54]!==T.surface||y[55]!==I?(be=[S.container,{width:I,height:se,borderLeftWidth:ie,borderLeftColor:M,backgroundColor:T.surface,borderRadius:p.RADIUS.md}],y[51]=M,y[52]=ie,y[53]=se,y[54]=T.surface,y[55]=I,y[56]=be):be=y[56],ve=A,xe=te,y[57]!==K||y[58]!==se||y[59]!==X||y[60]!==j||y[61]!==W||y[62]!==$||y[63]!==le?(Ce=$&&X>0?(0,x.jsx)(d.default,{ref:Z,horizontal:!0,nestedScrollEnabled:!0,snapToInterval:X,decelerationRate:"fast",showsHorizontalScrollIndicator:!1,onScroll:le,scrollEventThrottle:16,style:i.default.absoluteFill,contentContainerStyle:{height:se},children:W.map((e,t)=>Math.abs(t-K)<=1?(0,x.jsx)(b.EventThumb,{event:e,width:X,height:se},`${e.id}_${t}`):(0,x.jsx)(n.default,{style:{width:X,height:se,backgroundColor:(0,m.colorForEventType)(e.className)+"1A"}},`${e.id}_${t}`))}):(0,x.jsx)(n.default,{style:i.default.absoluteFill,children:(0,x.jsx)(b.EventThumb,{event:j.representative,width:X,height:se})}),y[57]=K,y[58]=se,y[59]=X,y[60]=j,y[61]=W,y[62]=$,y[63]=le,y[64]=Ce):Ce=y[64],y[65]!==K||y[66]!==T.background||y[67]!==T.foreground||y[68]!==ne||y[69]!==$?(ye=$&&K>0&&(0,x.jsx)(s.default,{style:[S.navBtn,S.navBtnLeft,{backgroundColor:T.background+"B0"}],onPress:()=>ne(K-1),hitSlop:6,children:(0,x.jsx)(c.ChevronLeft,{size:14,color:T.foreground})}),y[65]=K,y[66]=T.background,y[67]=T.foreground,y[68]=ne,y[69]=$,y[70]=ye):ye=y[70],y[71]!==K||y[72]!==T.background||y[73]!==T.foreground||y[74]!==W||y[75]!==ne||y[76]!==$?(Se=$&&K<W.length-1&&(0,x.jsx)(s.default,{style:[S.navBtn,S.navBtnRight,{backgroundColor:T.background+"B0"}],onPress:()=>ne(K+1),hitSlop:6,children:(0,x.jsx)(c.ChevronRight,{size:14,color:T.foreground})}),y[71]=K,y[72]=T.background,y[73]=T.foreground,y[74]=W,y[75]=ne,y[76]=$,y[77]=Se):Se=y[77],de=n.default;const C=T.background+"B0";y[78]!==C?(me=[S.bottomOverlay,{backgroundColor:C}],y[78]=C,y[79]=me):me=y[79],ae=n.default,he=S.pillsRow,ge=z?e.map((e,t)=>{const o=B.get(e),s=o?.color??(0,m.colorForEventType)(e),i="icon"===O&&void 0!==o?(0,v.resolveEventKindIcon)(o.iconId):null;return(0,x.jsx)(n.default,{style:[S.pill,{backgroundColor:s+"2A",borderColor:s+"66"}],children:i?(0,x.jsx)(i,{size:10,color:s}):(0,x.jsx)(l.default,{style:[S.pillText,{color:s}],children:o?(0,v.eventKindLabel)(o,_):e})},`${e}_${t}`)}):null,y[80]!==M||y[81]!==t||y[82]!==z?(fe=z&&t>0&&(0,x.jsxs)(l.default,{style:[S.extraBadge,{color:M}],children:["+",t]}),y[80]=M,y[81]=t,y[82]=z,y[83]=fe):fe=y[83],pe=z?f.map((e,t)=>{const o=`audio-${e.toLowerCase()}`,s=B.get(o),i="icon"===O?(0,v.resolveEventKindIcon)(o):null;return(0,x.jsx)(n.default,{style:[S.pill,{backgroundColor:m.AUDIO_COLOR+"2A",borderColor:m.AUDIO_COLOR+"66"}],children:i?(0,x.jsx)(i,{size:10,color:m.AUDIO_COLOR}):(0,x.jsx)(l.default,{style:[S.pillText,{color:m.AUDIO_COLOR}],children:s?(0,v.eventKindLabel)(s,_):e})},`audio_${e}_${t}`)}):null,y[15]=M,y[16]=K,y[17]=ie,y[18]=se,y[19]=X,y[20]=j,y[21]=O,y[22]=T,y[23]=W,y[24]=ne,y[25]=$,y[26]=B,y[27]=le,y[28]=A,y[29]=z,y[30]=_,y[31]=I,y[32]=ae,y[33]=de,y[34]=ce,y[35]=ue,y[36]=he,y[37]=ge,y[38]=fe,y[39]=pe,y[40]=me,y[41]=be,y[42]=ve,y[43]=xe,y[44]=Ce,y[45]=ye,y[46]=Se}else ae=y[32],de=y[33],ce=y[34],ue=y[35],he=y[36],ge=y[37],fe=y[38],pe=y[39],me=y[40],be=y[41],ve=y[42],xe=y[43],Ce=y[44],ye=y[45],Se=y[46];return y[84]!==ue||y[85]!==z?(je=z&&ue>0&&(0,x.jsxs)(l.default,{style:[S.extraBadge,{color:m.AUDIO_COLOR}],children:["+",ue]}),y[84]=ue,y[85]=z,y[86]=je):je=y[86],y[87]!==ae||y[88]!==he||y[89]!==ge||y[90]!==fe||y[91]!==pe||y[92]!==je?(Ie=(0,x.jsxs)(ae,{style:he,children:[ge,fe,pe,je]}),y[87]=ae,y[88]=he,y[89]=ge,y[90]=fe,y[91]=pe,y[92]=je,y[93]=Ie):Ie=y[93],y[94]!==Q||y[95]!==T.primary||y[96]!==T.primaryForeground||y[97]!==E?(we=E&&"number"==typeof Q?(0,x.jsx)(n.default,{style:[S.importancePill,{backgroundColor:T.primary}],children:(0,x.jsx)(l.default,{style:[S.importanceText,{color:T.primaryForeground}],children:Math.round(100*Q)})}):null,y[94]=Q,y[95]=T.primary,y[96]=T.primaryForeground,y[97]=E,y[98]=we):we=y[98],y[99]!==M||y[100]!==K||y[101]!==W||y[102]!==$?(Ae=$&&(0,x.jsxs)(l.default,{style:[S.pageCounter,{color:M}],children:[K+1,"/",W.length]}),y[99]=M,y[100]=K,y[101]=W,y[102]=$,y[103]=Ae):Ae=y[103],y[104]!==T.foregroundMuted?(Re=[S.timeLabel,p.TABULAR,{color:T.foregroundMuted}],y[104]=T.foregroundMuted,y[105]=Re):Re=y[105],y[106]!==Re||y[107]!==J?(ke=(0,x.jsx)(l.default,{style:Re,children:J}),y[106]=Re,y[107]=J,y[108]=ke):ke=y[108],y[109]!==we||y[110]!==Ae||y[111]!==ke?(Pe=(0,x.jsxs)(n.default,{style:S.rightRow,children:[we,Ae,ke]}),y[109]=we,y[110]=Ae,y[111]=ke,y[112]=Pe):Pe=y[112],y[113]!==de||y[114]!==me||y[115]!==Ie||y[116]!==Pe?(Le=(0,x.jsxs)(de,{style:me,children:[Ie,Pe]}),y[113]=de,y[114]=me,y[115]=Ie,y[116]=Pe,y[117]=Le):Le=y[117],y[118]!==T.background||y[119]!==T.foreground||y[120]!==R?(Oe=R?(0,x.jsx)(s.default,{style:[S.lensBtn,{backgroundColor:T.background+"CC"}],onPress:R,hitSlop:8,children:(0,x.jsx)(c.Search,{size:12,color:T.foreground})}):null,y[118]=T.background,y[119]=T.foreground,y[120]=R,y[121]=Oe):Oe=y[121],y[122]!==M||y[123]!==F?(Te=F&&(0,x.jsx)(n.default,{style:[S.eventsDot,{backgroundColor:M}]}),y[122]=M,y[123]=F,y[124]=Te):Te=y[124],y[125]!==ce||y[126]!==be||y[127]!==ve||y[128]!==xe||y[129]!==Ce||y[130]!==ye||y[131]!==Se||y[132]!==Le||y[133]!==Oe||y[134]!==Te?(Ne=(0,x.jsxs)(ce,{style:be,onPress:ve,onLayout:xe,children:[Ce,ye,Se,Le,Oe,Te]}),y[125]=ce,y[126]=be,y[127]=ve,y[128]=xe,y[129]=Ce,y[130]=ye,y[131]=Se,y[132]=Le,y[133]=Oe,y[134]=Te,y[135]=Ne):Ne=y[135],Ne}),S=i.default.create({container:{overflow:'hidden',borderLeftWidth:2},bottomOverlay:{position:'absolute',bottom:0,left:0,right:0,flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:p.SPACING.sm,paddingVertical:p.SPACING.xs+1},pillsRow:{flexDirection:'row',alignItems:'center',gap:p.SPACING.xs,flexShrink:1,flexWrap:'nowrap'},pill:{paddingHorizontal:p.SPACING.xs+1,paddingVertical:1,borderRadius:p.RADIUS.sm,borderWidth:1},pillText:{fontSize:8,fontWeight:'600'},extraBadge:{fontSize:8,fontWeight:'700'},rightRow:{flexDirection:'row',alignItems:'center',gap:p.SPACING.xs,flexShrink:0},importancePill:{paddingHorizontal:5,paddingVertical:1,borderRadius:8},importanceText:{fontSize:8,fontWeight:'700',fontVariant:['tabular-nums']},pageCounter:{fontSize:9,fontWeight:'600',fontVariant:['tabular-nums']},timeLabel:{fontSize:9,flexShrink:0},carouselToggle:{position:'absolute',top:p.SPACING.sm,left:p.SPACING.sm,width:18,height:18,borderRadius:p.RADIUS.sm,borderWidth:1,alignItems:'center',justifyContent:'center'},eventsDot:{position:'absolute',top:p.SPACING.sm,right:p.SPACING.sm,width:6,height:6,borderRadius:3},lensBtn:{position:'absolute',top:p.SPACING.sm,left:p.SPACING.sm,width:20,height:20,borderRadius:p.RADIUS.sm,alignItems:'center',justifyContent:'center'},navBtn:{position:'absolute',top:'50%',marginTop:-11,width:22,height:22,borderRadius:11,alignItems:'center',justifyContent:'center'},navBtnLeft:{left:p.SPACING.xs},navBtnRight:{right:p.SPACING.xs}})},3523,[15,17,20,112,252,33,147,813,786,2587,3177,2589,3231,3373,3170,10]);
15945
- __d(function(g,_r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ActivityLanes",{enumerable:!0,get:function(){return w}});var e=_r(d[0]),o=_r(d[1]),n=t(_r(d[2])),s=t(_r(d[3])),l=_r(d[4]),r=_r(d[5]),c=_r(d[6]);const h=r.BAND.recording,u=r.BAND.motion,f=r.BAND.audioGradient[1];function p(t,e,o,n,s,r){const c=(0,l.epochToOffset)(e,o,n)-s,h=(0,l.epochToOffset)(t,o,n)-s,u=Math.max(0,c),f=Math.min(r,h)-u;return f<=0?null:{top:u,height:f}}function x(t){const o=(0,e.c)(16),{ranges:s,topMs:l,zoomIndex:r,scrollOffsetY:u,height:f,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==u||o[4]!==l||o[5]!==f||o[6]!==r){let t;o[8]!==u||o[9]!==l||o[10]!==f||o[11]!==r?(t=t=>{const e=p(t.startMs,t.endMs,l,r,u,f);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:h,opacity:.32}]},`rec_${t.startMs}_${t.endMs}`)},o[8]=u,o[9]=l,o[10]=f,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=u,o[4]=l,o[5]=f,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}function M(t){const o=(0,e.c)(16),{buckets:s,topMs:l,zoomIndex:r,scrollOffsetY:h,height:f,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==h||o[4]!==l||o[5]!==f||o[6]!==r){let t;o[8]!==h||o[9]!==l||o[10]!==f||o[11]!==r?(t=t=>{if(t.intensity<=0)return null;const e=p(t.startMs,t.endMs,l,r,h,f);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:u,opacity:Math.max(.1,t.intensity)}]},`mot_${t.startMs}`)},o[8]=h,o[9]=l,o[10]=f,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=h,o[4]=l,o[5]=f,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}function y(t){const o=(0,e.c)(16),{buckets:s,topMs:l,zoomIndex:r,scrollOffsetY:h,height:u,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==h||o[4]!==l||o[5]!==u||o[6]!==r){let t;o[8]!==h||o[9]!==l||o[10]!==u||o[11]!==r?(t=t=>{if(t.intensity<=0)return null;const e=p(t.startMs,t.endMs,l,r,h,u);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:f,opacity:Math.max(.1,t.intensity)}]},`aud_${t.startMs}`)},o[8]=h,o[9]=l,o[10]=u,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=h,o[4]=l,o[5]=u,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}const w=(0,o.memo)(function(t){const o=(0,e.c)(33),{model:s,topMs:l,zoomIndex:r,height:h,scrollOffsetY:u,width:f,showMotion:p,showAudio:w}=t,_=void 0===p||p,b=void 0===w||w,O=Math.max(1,(f-4)/3);let v,k,z,I,Y,A,D;return o[0]!==h||o[1]!==f?(v=[j.container,{width:f,height:h}],o[0]=h,o[1]=f,o[2]=v):v=o[2],o[3]!==h||o[4]!==O||o[5]!==s.recording||o[6]!==u||o[7]!==l||o[8]!==r?(k=(0,c.jsx)(x,{ranges:s.recording,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}),o[3]=h,o[4]=O,o[5]=s.recording,o[6]=u,o[7]=l,o[8]=r,o[9]=k):k=o[9],o[10]===Symbol.for("react.memo_cache_sentinel")?(z=(0,c.jsx)(n.default,{style:{width:2}}),o[10]=z):z=o[10],o[11]!==h||o[12]!==O||o[13]!==s.motion||o[14]!==u||o[15]!==_||o[16]!==l||o[17]!==r?(I=_?(0,c.jsx)(M,{buckets:s.motion,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}):(0,c.jsx)(n.default,{style:{width:O}}),o[11]=h,o[12]=O,o[13]=s.motion,o[14]=u,o[15]=_,o[16]=l,o[17]=r,o[18]=I):I=o[18],o[19]===Symbol.for("react.memo_cache_sentinel")?(Y=(0,c.jsx)(n.default,{style:{width:2}}),o[19]=Y):Y=o[19],o[20]!==h||o[21]!==O||o[22]!==s.audio||o[23]!==u||o[24]!==b||o[25]!==l||o[26]!==r?(A=b?(0,c.jsx)(y,{buckets:s.audio,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}):(0,c.jsx)(n.default,{style:{width:O}}),o[20]=h,o[21]=O,o[22]=s.audio,o[23]=u,o[24]=b,o[25]=l,o[26]=r,o[27]=A):A=o[27],o[28]!==v||o[29]!==k||o[30]!==I||o[31]!==A?(D=(0,c.jsxs)(n.default,{pointerEvents:"none",style:v,children:[k,z,I,Y,A]}),o[28]=v,o[29]=k,o[30]=I,o[31]=A,o[32]=D):D=o[32],D}),j=s.default.create({container:{flexDirection:'row',overflow:'hidden'},lane:{position:'relative',overflow:'hidden'},segment:{position:'absolute',left:0,right:0}})},3524,[15,17,20,33,3510,2589,10]);
15946
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.WideDetailLayout=function(e){const n=(0,t.c)(13),{railWidth:f,stream:o,infoArea:c,timeline:h}=e,x=c??null;let y,_,j,w,v;n[0]!==x?(y=(0,s.jsx)(l.default,{style:u.infoArea,children:x}),n[0]=x,n[1]=y):y=n[1];n[2]!==o||n[3]!==y?(_=(0,s.jsxs)(l.default,{style:u.streamColumn,children:[o,y]}),n[2]=o,n[3]=y,n[4]=_):_=n[4];n[5]!==f?(j=[u.rail,{width:f}],n[5]=f,n[6]=j):j=n[6];n[7]!==j||n[8]!==h?(w=(0,s.jsx)(l.default,{style:j,children:h}),n[7]=j,n[8]=h,n[9]=w):w=n[9];n[10]!==_||n[11]!==w?(v=(0,s.jsxs)(l.default,{style:u.row,children:[_,w]}),n[10]=_,n[11]=w,n[12]=v):v=n[12];return v};var t=r(d[0]);r(d[1]);var l=e(r(d[2])),n=e(r(d[3])),s=r(d[4]);const u=n.default.create({row:{flex:1,flexDirection:'row',minHeight:0},streamColumn:{flex:1,minWidth:0,alignItems:'center'},infoArea:{flex:1,minHeight:0,alignSelf:'stretch'},rail:{minHeight:0}})},3525,[15,17,20,33,10]);
15947
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"TIMELINE_RAIL_WIDTH",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"TIMELINE_RAIL_WIDTH_NARROW",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"RAIL_NARROW_BELOW",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"STREAM_MAX_HEIGHT_FRACTION",{enumerable:!0,get:function(){return o}}),e.computeWideDetailSizes=function({containerWidth:c,viewportHeight:_}){const f=c<u?n:t,I=Math.max(0,c-f),b=_*o*16/9,O=Math.min(I,b);return{railWidth:f,streamWidth:O,streamHeight:9*O/16}};const t=380,n=340,u=1180,o=.62},3526,[]);
15948
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.MotionBadge=function(e){const l=(0,t.c)(16),{label:c}=e,{t:w}=(0,s.useTranslation)(),{colors:h}=(0,u.useTheme)(),x=`${h.warning}26`;let p,C,I,S,A,P;l[0]!==x?(p=[b.badge,{backgroundColor:x}],l[0]=x,l[1]=p):p=l[1];l[2]!==h.warning?(C=(0,f.jsx)(n.default,{style:[b.dot,{backgroundColor:h.warning}]}),l[2]=h.warning,l[3]=C):C=l[3];l[4]!==h.warning?(I=[b.text,{color:h.warning}],l[4]=h.warning,l[5]=I):I=l[5];l[6]!==c||l[7]!==w?(S=c??w("v2.cameras.motion"),l[6]=c,l[7]=w,l[8]=S):S=l[8];l[9]!==I||l[10]!==S?(A=(0,f.jsx)(o.default,{style:I,children:S}),l[9]=I,l[10]=S,l[11]=A):A=l[11];l[12]!==p||l[13]!==C||l[14]!==A?(P=(0,f.jsxs)(n.default,{style:p,pointerEvents:"none",children:[C,A]}),l[12]=p,l[13]=C,l[14]=A,l[15]=P):P=l[15];return P};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),l=e(r(d[4])),s=r(d[5]),u=r(d[6]),c=r(d[7]),f=r(d[8]);const b=l.default.create({badge:{position:'absolute',top:c.SPACING.md,right:c.SPACING.md,flexDirection:'row',alignItems:'center',gap:c.SPACING.xs,paddingHorizontal:c.SPACING.md,paddingVertical:c.SPACING.xs,borderRadius:c.RADIUS.md},dot:{width:7,height:7,borderRadius:3.5},text:{fontSize:11,fontWeight:'700'}})},3527,[15,17,20,112,33,786,2587,2589,10]);
15949
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.DoorbellBadge=function(e){const s=(0,t.c)(55),{deviceId:h,enabled:I}=e,{t:C}=(0,_.useTranslation)(),{colors:j}=(0,b.useTheme)(),{lastPressedAt:D,ringingNow:E}=(0,y.useDoorbell)(h,I),[M,R]=(0,n.useState)(S);let k,P;s[0]!==I||s[1]!==D||s[2]!==E?(k=()=>{if(!I||E||null===D)return;const e=setInterval(()=>R(Date.now()),x);return()=>clearInterval(e)},P=[I,E,D],s[0]=I,s[1]=D,s[2]=E,s[3]=k,s[4]=P):(k=s[3],P=s[4]);(0,n.useEffect)(k,P);const N=(0,u.useSharedValue)(1);let T,G;s[5]!==N||s[6]!==E?(T=()=>{if(E)return N.value=(0,u.withRepeat)((0,u.withSequence)((0,u.withTiming)(.4,{duration:v,easing:u.Easing.inOut(u.Easing.ease)}),(0,u.withTiming)(1,{duration:v,easing:u.Easing.inOut(u.Easing.ease)})),-1,!1),()=>(0,u.cancelAnimation)(N);N.value=(0,u.withTiming)(1,{duration:150})},G=[N,E],s[5]=N,s[6]=E,s[7]=T,s[8]=G):(T=s[7],G=s[8]);(0,n.useEffect)(T,G);const z=(0,u.useAnimatedStyle)((function({_worklet_15229690820397_init_data:e,breathe:t}){const n=()=>({opacity:t.value,transform:[{scale:.85+.15*t.value}]});return n.__closure={breathe:t},n.__workletHash=0xdd9f04fb72d,n.__initData=e,n})({_worklet_15229690820397_init_data:w,breathe:N}));if(!I)return null;if(E){const e=`${j.primary}26`;let t,n,u,_,b,h,y;return s[9]!==e?(t=[A.badge,{backgroundColor:e}],s[9]=e,s[10]=t):t=s[10],s[11]!==j.primary?(n=(0,p.jsx)(f.BellRing,{size:13,color:j.primary}),s[11]=j.primary,s[12]=n):n=s[12],s[13]!==z||s[14]!==n?(u=(0,p.jsx)(c.default.View,{style:z,children:n}),s[13]=z,s[14]=n,s[15]=u):u=s[15],s[16]!==j.primary?(_=[A.text,{color:j.primary}],s[16]=j.primary,s[17]=_):_=s[17],s[18]!==C?(b=C("v2.cameras.doorbellRinging"),s[18]=C,s[19]=b):b=s[19],s[20]!==b||s[21]!==_?(h=(0,p.jsx)(l.default,{style:_,children:b}),s[20]=b,s[21]=_,s[22]=h):h=s[22],s[23]!==h||s[24]!==t||s[25]!==u?(y=(0,p.jsxs)(o.default,{style:t,pointerEvents:"none",children:[u,h]}),s[23]=h,s[24]=t,s[25]=u,s[26]=y):y=s[26],y}let B,O,V,H,$,q,L,U,W,F;if(s[27]!==j||s[28]!==D||s[29]!==M||s[30]!==C){V=Symbol.for("react.early_return_sentinel");e:{const e=(0,y.formatRingAgo)(D,M);if(null===e){V=null;break e}O=o.default;const t=`${j.background}CC`;s[39]!==t?(q=[A.badge,{backgroundColor:t}],s[39]=t,s[40]=q):q=s[40],L="none",s[41]!==j.foregroundMuted?(U=(0,p.jsx)(f.BellRing,{size:12,color:j.foregroundMuted}),s[41]=j.foregroundMuted,s[42]=U):U=s[42],B=l.default,s[43]!==j.foregroundMuted?(H=[A.text,{color:j.foregroundMuted}],s[43]=j.foregroundMuted,s[44]=H):H=s[44],$=C("v2.cameras.doorbellLastRing",{time:e})}s[27]=j,s[28]=D,s[29]=M,s[30]=C,s[31]=B,s[32]=O,s[33]=V,s[34]=H,s[35]=$,s[36]=q,s[37]=L,s[38]=U}else B=s[31],O=s[32],V=s[33],H=s[34],$=s[35],q=s[36],L=s[37],U=s[38];if(V!==Symbol.for("react.early_return_sentinel"))return V;s[45]!==B||s[46]!==H||s[47]!==$?(W=(0,p.jsx)(B,{style:H,children:$}),s[45]=B,s[46]=H,s[47]=$,s[48]=W):W=s[48];s[49]!==O||s[50]!==W||s[51]!==q||s[52]!==L||s[53]!==U?(F=(0,p.jsxs)(O,{style:q,pointerEvents:L,children:[U,W]}),s[49]=O,s[50]=W,s[51]=q,s[52]=L,s[53]=U,s[54]=F):F=s[54];return F};var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),c=e(u),f=r(d[6]),_=r(d[7]),b=r(d[8]),h=r(d[9]),y=r(d[10]),p=r(d[11]);const v=500,x=6e4,w={code:"function DoorbellBadgeTsx1(){const{breathe}=this.__closure;return{opacity:breathe.value,transform:[{scale:0.85+0.15*breathe.value}]};}"};function S(){return Date.now()}const A=s.default.create({badge:{position:'absolute',top:h.SPACING.md,left:h.SPACING.md,flexDirection:'row',alignItems:'center',gap:h.SPACING.xs,paddingHorizontal:h.SPACING.md,paddingVertical:h.SPACING.xs,borderRadius:h.RADIUS.md},text:{fontSize:11,fontWeight:'700'}})},3528,[15,17,20,112,33,2714,813,786,2587,2589,3529,10]);
15950
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"DOORBELL_CATEGORY",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"RING_WINDOW_MS",{enumerable:!0,get:function(){return l}}),e.readDoorbellStatus=p,e.parseDoorbellEvent=b,e.formatRingAgo=function(t,n){if(null===t)return null;const s=Math.max(0,Math.floor((n-t)/1e3));if(s<60)return'now';const u=Math.floor(s/60);if(u<60)return`${u}m`;const o=Math.floor(u/60);if(o<24)return`${o}h`;return`${Math.floor(o/24)}d`},e.useDoorbell=function(f,y){const P=(0,t.c)(20),{controller:C,state:A}=(0,u.useConnection)(),v=y&&"connected"===A;let S,h,I;P[0]!==f?(S=["v2","doorbell",f],P[0]=f,P[1]=S):S=P[1];P[2]!==C||P[3]!==f?(h=async()=>{const t=C.getSystem();if(!t)return{lastPressedAt:null,pressCount:0};try{return p(await t.trpcClient.doorbell.getStatus.query({deviceId:f}))}catch{return{lastPressedAt:null,pressCount:0}}},P[2]=C,P[3]=f,P[4]=h):h=P[4];P[5]!==v||P[6]!==S||P[7]!==h?(I={queryKey:S,enabled:v,refetchInterval:c,queryFn:h},P[5]=v,P[6]=S,P[7]=h,P[8]=I):I=P[8];const{data:M}=(0,s.useQuery)(I);let O;P[9]!==M?(O=void 0===M?{lastPressedAt:null,pressCount:0}:M,P[9]=M,P[10]=O):O=P[10];const _=O,[D,E]=(0,n.useState)(!1),[R,j]=(0,n.useState)(null),T=(0,n.useRef)(null);let q,w;P[11]!==v||P[12]!==C||P[13]!==f?(q=()=>{if(!v)return E(!1),void j(null);const t=C.getSystem();if(!t)return;const n=t.subscribeEvent(o,t=>{const n=b(t);n&&n.deviceId===f&&(j(n.timestamp),E(!0),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{E(!1),T.current=null},l))});return()=>{n(),T.current&&(clearTimeout(T.current),T.current=null),E(!1)}},w=[C,v,f],P[11]=v,P[12]=C,P[13]=f,P[14]=q,P[15]=w):(q=P[14],w=P[15]);(0,n.useEffect)(q,w);const N=null!==R&&(null===_.lastPressedAt||R>_.lastPressedAt)?R:_.lastPressedAt;let $;P[16]!==N||P[17]!==_.pressCount||P[18]!==D?($={lastPressedAt:N,pressCount:_.pressCount,ringingNow:D},P[16]=N,P[17]=_.pressCount,P[18]=D,P[19]=$):$=P[19];return $};var t=r(d[0]),n=r(d[1]),s=r(d[2]),u=r(d[3]);const o='doorbell.onPressed',l=8e3,c=3e4;function f(t){return'object'==typeof t&&null!==t}function p(t){if(!f(t))return{lastPressedAt:null,pressCount:0};return{lastPressedAt:'number'==typeof t.lastPressedAt?t.lastPressedAt:null,pressCount:'number'==typeof t.pressCountSinceStart?t.pressCountSinceStart:0}}function b(t){if(!f(t))return null;const n=t.deviceId,s=t.timestamp;return'number'!=typeof n||'number'!=typeof s?null:{deviceId:n,timestamp:s}}},3529,[15,17,3081,2594]);
15951
- __d(function(g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useEventHaptics=function(e,s){const h=(0,t.c)(10),{controller:T,state:O}=(0,o.useConnection)(),R=(0,u.useSettingsStore)(_);let C;h[0]!==e?(C=[...e].sort(p).join(","),h[0]=e,h[1]=C):C=h[1];const S=C,A=(0,n.useRef)(0),I=(0,n.useRef)(c.default.currentState),M=s&&R.enabled&&!1;let x,y,D,N;h[2]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{},y=[],h[2]=x,h[3]=y):(x=h[2],y=h[3]);(0,n.useEffect)(x,y),h[4]!==M||h[5]!==T||h[6]!==S||h[7]!==R?(D=()=>{if(!M)return;const e=T.getSystem();if(!e)return;const t=new Set(S.split(",").map(v)),n=e=>{if("active"!==I.current)return;const t=Date.now(),n=(0,l.resolveHaptic)(R,e,A.current,t);n&&(A.current=t,(0,E.fireHaptic)(n))},s=e.subscribeEvent(a.MOTION_CATEGORY,e=>{const s=(0,a.parseMotionEvent)(e);s&&s.detected&&t.has(s.deviceId)&&n("motion")}),c=e.subscribeEvent(f.DETECTION_CATEGORY,e=>{const s=(0,f.parseDetectionEvent)(e);s&&0!==s.boxes.length&&t.has(Number(s.sourceId))&&n(b(s.boxes))}),o=e.subscribeEvent(f.FRAME_TRACKED_CATEGORY,e=>{const s=(0,f.parseFrameTrackedEvent)(e);s&&0!==s.boxes.length&&t.has(s.deviceId)&&n(b(s.boxes))});return()=>{s(),c(),o()}},N=[T,M,S,R],h[4]=M,h[5]=T,h[6]=S,h[7]=R,h[8]=D,h[9]=N):(D=h[8],N=h[9]);(0,n.useEffect)(D,N)};var e,t=r(d[0]),n=r(d[1]),s=r(d[2]),c=(e=s)&&e.__esModule?e:{default:e};r(d[3]);var o=r(d[4]),u=r(d[5]),a=r(d[6]),f=r(d[7]),l=r(d[8]),E=r(d[9]);function b(e){const t=e.map(e=>e.label),n=e.some(e=>'string'==typeof e.name&&e.name.length>0);return(0,l.detectionEventKind)(t,n)}function v(e){return Number(e)}function p(e,t){return e-t}function _(e){return e.settings.haptics}},3530,[15,17,226,136,2594,3140,3156,3385,3141,3531]);
15952
- __d(function(g,r,i,a,_m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.fireHaptic=function(t){return},r(d[0])},3531,{"0":136,"1":3600,"2":3378,"paths":{"3600":"/viewer/camstack/_expo/static/js/web/Haptics-ca3accc33d4628c9ad1b252a3fda2c75.js"}});
15953
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useHeld=function(n,c){const o=(0,t.c)(4),[s,f]=(0,u.useState)(n);let l,_;o[0]!==n||o[1]!==c?(l=()=>{if(n)return void f(!0);const t=setTimeout(()=>f(!1),Math.max(0,c));return()=>clearTimeout(t)},_=[n,c],o[0]=n,o[1]=c,o[2]=l,o[3]=_):(l=o[2],_=o[3]);return(0,u.useEffect)(l,_),s};var t=r(d[0]),u=r(d[1])},3532,[15,17]);
15954
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.qualityToTarget=function(t){return'auto'===t?{kind:'adaptive'}:{kind:'profile',profile:'medium'===t?'mid':t}}},3533,[]);
15955
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.ExportsScreen,{}),o[0]=u):u=o[0],u}},3534,[15,3535,10]);
15956
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function t(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportsScreen=function(){const{t:e}=(0,b.useTranslation)(),t=(0,y.useRouter)(),{colors:o}=(0,v.useTheme)(),{state:l}=(0,S.useConnection)(),{token:f}=(0,j.useServer)(),{data:x=[],error:h,isLoading:M}=(0,I.useExportsList)(),{data:N=[]}=(0,A.useCameras)(),E=(0,I.useExportEvents)(),R=(0,I.useCancelExport)(),B=(0,I.useDeleteExport)(),L=(0,I.useResolveDownloadUrl)(),[z,O]=(0,n.useState)(()=>Date.now());(0,n.useEffect)(()=>{const e=setInterval(()=>O(Date.now()),1e3);return()=>clearInterval(e)},[]);const _=(0,n.useCallback)(t=>{const o=N.find(e=>e.id===t);return o?.name??e('v2.cameraDetail.fallbackName',{id:t})},[N,e]),H=(0,n.useCallback)(async t=>{const o=await L(t.id);if(null!==o)try{window.open(o,'_blank')}catch(e){D.log.warn('exports','web download open failed',{error:e instanceof Error?e.message:String(e)})}else p.default.alert(e('v2.exports.title'),e('v2.exports.downloadUnavailable'))},[L,f,e]),U=(0,n.useCallback)(t=>{p.default.alert(e('v2.exports.cancelConfirmTitle'),e('v2.exports.cancelConfirmBody'),[{text:e('v2.exports.dismiss'),style:'cancel'},{text:e('v2.exports.cancelAction'),style:'destructive',onPress:()=>{R.mutate(t.id)}}])},[R,e]),W=(0,n.useCallback)(t=>{p.default.alert(e('v2.exports.deleteConfirmTitle'),e('v2.exports.deleteConfirmBody'),[{text:e('v2.exports.dismiss'),style:'cancel'},{text:e('v2.exports.deleteAction'),style:'destructive',onPress:()=>{B.mutate(t.id)}}])},[B,e]),F=(0,n.useMemo)(()=>'connected'!==l?(0,T.jsx)(G,{children:(0,T.jsx)(d.default,{style:{color:o.foregroundMuted,fontSize:15},children:e('connecting'===l?'v2.common.connecting':'v2.common.offline')})}):M?(0,T.jsx)(G,{children:(0,T.jsx)(u.default,{color:o.primary})}):0===x.length?(0,T.jsxs)(G,{children:[(0,T.jsx)(d.default,{style:{color:o.foregroundMuted,fontSize:15},children:e('v2.exports.empty')}),h?(0,T.jsx)(d.default,{style:{color:o.foregroundSubtle,fontSize:12,textAlign:'center'},children:h instanceof Error?h.message:e('v2.common.loadError')}):null]}):(0,T.jsx)(c.default,{data:x,keyExtractor:e=>e.id,contentContainerStyle:{padding:C.SPACING.md,gap:C.SPACING.md},renderItem:({item:t})=>(0,T.jsx)(k,{rec:t,cameraName:_(t.deviceId),nowMs:z,livePct:E[t.id]?.progressPct,colors:o,t:e,onDownload:()=>{H(t)},onCancel:()=>U(t),onDelete:()=>W(t)})}),[l,M,x,h,o,e,_,z,E,H,U,W]);return(0,T.jsxs)(s.default,{style:{flex:1,backgroundColor:o.background},children:[(0,T.jsx)(w.ScreenHeader,{title:e('v2.exports.title'),onBack:()=>t.back(),bordered:!0}),(0,T.jsx)(P.ConnectionBanner,{}),F]})};var o=r(_d[0]),n=r(_d[1]),l=e(n),s=e(r(_d[2])),d=e(r(_d[3])),c=e(r(_d[4])),u=e(r(_d[5])),f=e(r(_d[6])),x=e(r(_d[7])),p=e(r(_d[8]));r(_d[9]);var b=r(_d[10]),y=r(_d[11]),h=(t(r(_d[12])),t(r(_d[13])),r(_d[14])),S=r(_d[15]),j=r(_d[16]),v=r(_d[17]),C=r(_d[18]),w=r(_d[19]),P=r(_d[20]),A=r(_d[21]),I=r(_d[22]),M=r(_d[23]),D=r(_d[24]),T=r(_d[25]);function N(e,t){switch(e.state){case'ready':return t.success;case'failed':return t.danger;case'rendering':case'queued':return t.info;default:return t.foregroundSubtle}}const k=l.default.memo(function(e){const t=(0,o.c)(109),{rec:n,colors:l,t:c}=e;let u;t[0]!==e.livePct||t[1]!==n?(u=(0,M.effectiveProgress)(n,e.livePct),t[0]=e.livePct,t[1]=n,t[2]=u):u=t[2];const f=u;let x;t[3]!==n?(x=(0,I.isExportActive)(n),t[3]=n,t[4]=x):x=t[4];const p=x,b="ready"===n.state,y="ready"===n.state||"failed"===n.state||"expired"===n.state;let S,j,v,C;t[5]!==l.border||t[6]!==l.surface?(S=[R.card,{backgroundColor:l.surface,borderColor:l.border}],t[5]=l.border,t[6]=l.surface,t[7]=S):S=t[7],t[8]!==l.foreground?(j=[R.cameraName,{color:l.foreground}],t[8]=l.foreground,t[9]=j):j=t[9],t[10]!==e.cameraName||t[11]!==j?(v=(0,T.jsx)(d.default,{style:j,numberOfLines:1,children:e.cameraName}),t[10]=e.cameraName,t[11]=j,t[12]=v):v=t[12],t[13]!==l||t[14]!==n?(C=N(n,l),t[13]=l,t[14]=n,t[15]=C):C=t[15];const w=`${C}26`;let P,A,D,k,G,B,L,z,O,_,H,U,W,F,V,$,q,X,J,K,Q,Y,Z,ee,te,re,oe,ne;return t[16]!==w?(P=[R.stateBadge,{backgroundColor:w}],t[16]=w,t[17]=P):P=t[17],t[18]!==l||t[19]!==n?(A=N(n,l),t[18]=l,t[19]=n,t[20]=A):A=t[20],t[21]!==A?(D=[R.stateText,{color:A}],t[21]=A,t[22]=D):D=t[22],t[23]!==n.state||t[24]!==c?(k=(0,M.stateLabel)(n.state,c),t[23]=n.state,t[24]=c,t[25]=k):k=t[25],t[26]!==k||t[27]!==D?(G=(0,T.jsx)(d.default,{style:D,children:k}),t[26]=k,t[27]=D,t[28]=G):G=t[28],t[29]!==G||t[30]!==P?(B=(0,T.jsx)(s.default,{style:P,children:G}),t[29]=G,t[30]=P,t[31]=B):B=t[31],t[32]!==B||t[33]!==v?(L=(0,T.jsxs)(s.default,{style:R.cardHeader,children:[v,B]}),t[32]=B,t[33]=v,t[34]=L):L=t[34],t[35]!==l.foregroundMuted?(z=[R.rangeText,{color:l.foregroundMuted}],t[35]=l.foregroundMuted,t[36]=z):z=t[36],t[37]!==n.fromMs||t[38]!==n.toMs?(O=(0,M.rangeLabel)(n.fromMs,n.toMs),t[37]=n.fromMs,t[38]=n.toMs,t[39]=O):O=t[39],t[40]!==z||t[41]!==O?(_=(0,T.jsx)(d.default,{style:z,numberOfLines:1,children:O}),t[40]=z,t[41]=O,t[42]=_):_=t[42],t[43]!==l.foregroundSubtle?(H=[R.metaText,{color:l.foregroundSubtle}],t[43]=l.foregroundSubtle,t[44]=H):H=t[44],t[45]!==n.options||t[46]!==c?(U=(0,M.variantLabel)(n.options,c),t[45]=n.options,t[46]=c,t[47]=U):U=t[47],t[48]!==H||t[49]!==U?(W=(0,T.jsx)(d.default,{style:H,numberOfLines:1,children:U}),t[48]=H,t[49]=U,t[50]=W):W=t[50],t[51]!==l.foregroundSubtle?(F=[R.metaText,{color:l.foregroundSubtle}],t[51]=l.foregroundSubtle,t[52]=F):F=t[52],t[53]!==n.fileBytes?(V=(0,M.formatBytes)(n.fileBytes),t[53]=n.fileBytes,t[54]=V):V=t[54],t[55]!==F||t[56]!==V?($=(0,T.jsx)(d.default,{style:F,children:V}),t[55]=F,t[56]=V,t[57]=$):$=t[57],t[58]!==W||t[59]!==$?(q=(0,T.jsxs)(s.default,{style:R.metaRow,children:[W,$]}),t[58]=W,t[59]=$,t[60]=q):q=t[60],t[61]!==l.border||t[62]!==l.info||t[63]!==f?(X=null!==f?(0,T.jsx)(s.default,{style:[R.progressTrack,{backgroundColor:l.border}],children:(0,T.jsx)(s.default,{style:[R.progressFill,{width:`${f}%`,backgroundColor:l.info}]})}):null,t[61]=l.border,t[62]=l.info,t[63]=f,t[64]=X):X=t[64],t[65]!==l.foregroundSubtle?(J=[R.expiryText,{color:l.foregroundSubtle}],t[65]=l.foregroundSubtle,t[66]=J):J=t[66],t[67]!==e.nowMs||t[68]!==n.expiresAt||t[69]!==n.state||t[70]!==c?(K="deleted"===n.state?c("v2.exports.state.deleted"):(0,M.expiryLabel)(n.expiresAt,e.nowMs,c),t[67]=e.nowMs,t[68]=n.expiresAt,t[69]=n.state,t[70]=c,t[71]=K):K=t[71],t[72]!==J||t[73]!==K?(Q=(0,T.jsx)(d.default,{style:J,numberOfLines:1,children:K}),t[72]=J,t[73]=K,t[74]=Q):Q=t[74],t[75]!==p||t[76]!==l.danger||t[77]!==e.onCancel||t[78]!==c?(Y=p?(0,T.jsx)(E,{icon:h.XCircle,label:c("v2.exports.cancelAction"),color:l.danger,onPress:e.onCancel}):null,t[75]=p,t[76]=l.danger,t[77]=e.onCancel,t[78]=c,t[79]=Y):Y=t[79],t[80]!==l.primary||t[81]!==e.onDownload||t[82]!==b||t[83]!==c?(Z=b?(0,T.jsx)(E,{icon:h.Download,label:c("v2.exports.downloadAction"),color:l.primary,onPress:e.onDownload}):null,t[80]=l.primary,t[81]=e.onDownload,t[82]=b,t[83]=c,t[84]=Z):Z=t[84],t[85]!==l.foregroundMuted||t[86]!==e.onDelete||t[87]!==y||t[88]!==c?(ee=y?(0,T.jsx)(E,{icon:h.Trash2,label:c("v2.exports.deleteAction"),color:l.foregroundMuted,onPress:e.onDelete}):null,t[85]=l.foregroundMuted,t[86]=e.onDelete,t[87]=y,t[88]=c,t[89]=ee):ee=t[89],t[90]!==Y||t[91]!==Z||t[92]!==ee?(te=(0,T.jsxs)(s.default,{style:R.actions,children:[Y,Z,ee]}),t[90]=Y,t[91]=Z,t[92]=ee,t[93]=te):te=t[93],t[94]!==Q||t[95]!==te?(re=(0,T.jsxs)(s.default,{style:R.footerRow,children:[Q,te]}),t[94]=Q,t[95]=te,t[96]=re):re=t[96],t[97]!==l.danger||t[98]!==n.error||t[99]!==n.state?(oe=n.error&&"failed"===n.state?(0,T.jsx)(d.default,{style:[R.errorText,{color:l.danger}],numberOfLines:2,children:n.error}):null,t[97]=l.danger,t[98]=n.error,t[99]=n.state,t[100]=oe):oe=t[100],t[101]!==L||t[102]!==_||t[103]!==S||t[104]!==q||t[105]!==X||t[106]!==re||t[107]!==oe?(ne=(0,T.jsxs)(s.default,{style:S,children:[L,_,q,X,re,oe]}),t[101]=L,t[102]=_,t[103]=S,t[104]=q,t[105]=X,t[106]=re,t[107]=oe,t[108]=ne):ne=t[108],ne});function E(e){const t=(0,o.c)(7),{icon:n,label:l,color:s,onPress:d}=e;let c,u;return t[0]!==n||t[1]!==s?(c=(0,T.jsx)(n,{size:18,color:s}),t[0]=n,t[1]=s,t[2]=c):c=t[2],t[3]!==l||t[4]!==d||t[5]!==c?(u=(0,T.jsx)(f.default,{accessibilityRole:"button",accessibilityLabel:l,onPress:d,hitSlop:6,style:R.actionBtn,children:c}),t[3]=l,t[4]=d,t[5]=c,t[6]=u):u=t[6],u}function G(e){const t=(0,o.c)(2),{children:n}=e;let l;return t[0]!==n?(l=(0,T.jsx)(s.default,{style:R.centered,children:n}),t[0]=n,t[1]=l):l=t[1],l}const R=x.default.create({centered:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING['2xl'],gap:C.SPACING.sm},card:{borderWidth:1,borderRadius:C.RADIUS.lg,padding:C.SPACING.lg,gap:C.SPACING.sm},cardHeader:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md},cameraName:{flex:1,fontSize:15,fontWeight:'700'},stateBadge:{paddingHorizontal:C.SPACING.md,paddingVertical:2,borderRadius:C.RADIUS.md},stateText:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.3},rangeText:{fontSize:13,fontVariant:['tabular-nums']},metaRow:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md},metaText:{fontSize:12},progressTrack:{height:4,borderRadius:2,overflow:'hidden'},progressFill:{height:'100%',borderRadius:2},footerRow:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md,marginTop:C.SPACING.xs},expiryText:{flex:1,fontSize:12},actions:{flexDirection:'row',alignItems:'center',gap:C.SPACING.lg},actionBtn:{width:32,height:32,alignItems:'center',justifyContent:'center'},errorText:{fontSize:12,marginTop:C.SPACING.xs}})},3535,[15,17,20,112,138,240,252,33,133,136,786,743,3434,3439,813,2594,3144,2587,2589,3050,2712,3080,3488,3489,2705,10]);
15957
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]);function l(){const l=(0,t.c)(2),{id:o}=(0,n.useLocalSearchParams)();if(!o)return null;let f;return l[0]!==o?(f=(0,c.jsx)(u.GridBuilderScreen,{gridId:o}),l[0]=o,l[1]=f):f=l[1],f}},3536,[15,743,3411,10]);
15958
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]);function l(){const l=(0,t.c)(2),{id:o}=(0,n.useLocalSearchParams)();if(!o)return null;let f;return l[0]!==o?(f=(0,c.jsx)(u.GridViewScreen,{gridId:o}),l[0]=o,l[1]=f):f=l[1],f}},3537,[15,743,3538,10]);
15959
- __d(function(_g,r,i,_a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridViewScreen=function(e){const f=(0,t.c)(185),{gridId:L,adhocCameraIds:J}=e,{t:K}=(0,c.useTranslation)(),{colors:Y}=(0,p.useTheme)(),Z=(0,u.useRouter)(),ee=(0,h.useSafeAreaInsets)(),{width:te,height:oe}=(0,a.default)(),ne=(0,v.useGridStore)($),re=(0,v.useGridStore)(W),ie=(0,v.useGridStore)(U),le=(0,v.useGridStore)(F),se=(0,v.useGridStore)(V),de=(0,v.useGridStore)(D),ae=(0,v.useGridStore)(q),{data:ce}=(0,G.useCameras)();let ue;f[0]!==ce?(ue=void 0===ce?[]:ce,f[0]=ce,f[1]=ue):ue=f[1];const he=ue,{settings:ge}=(0,z.useSettings)(),{server:fe}=(0,I.useServer)(),me=fe?.serverUrl??null,ye=null===L;let pe;f[2]!==J?(pe=()=>({id:_,name:"",cameraIds:J??[]}),f[2]=J,f[3]=pe):pe=f[3];const[Se,be]=(0,o.useState)(pe);let xe;f[4]!==Se||f[5]!==L||f[6]!==ne||f[7]!==ye?(xe=ye?Se:ne.find(e=>e.id===L),f[4]=Se,f[5]=L,f[6]=ne,f[7]=ye,f[8]=xe):xe=f[8];const Ie=xe;let je;f[9]===Symbol.for("react.memo_cache_sentinel")?(je=e=>{be(t=>e([t])[0]??t)},f[9]=je):je=f[9];const Ce=je;let we;f[10]!==L||f[11]!==le?(we=e=>{null===L?Ce(t=>(0,v.setGridOptionsEntry)(t,_,e)):le(L,e)},f[10]=L,f[11]=le,f[12]=we):we=f[12];const ve=we;let Ge;f[13]!==L||f[14]!==se?(Ge=e=>{null===L?Ce(t=>(0,v.setGridHighlightEntry)(t,_,e)):se(L,e)},f[13]=L,f[14]=se,f[15]=Ge):Ge=f[15];const ze=Ge;let Ae;f[16]!==L||f[17]!==de?(Ae=(e,t)=>{null===L?Ce(o=>(0,v.setGridAudioInitialEntry)(o,_,e,t)):de(L,e,t)},f[16]=L,f[17]=de,f[18]=Ae):Ae=f[18];const Pe=Ae;let Oe;f[19]!==L||f[20]!==ae?(Oe=(e,t)=>{null===L?Ce(o=>(0,v.setAllGridAudioEntry)(o,_,e,t)):ae(L,e,t)},f[19]=L,f[20]=ae,f[21]=Oe):Oe=f[21];const Te=Oe;let ke,He;f[22]!==Ie?.options?(ke=()=>(0,v.resolveGridOptions)(Ie?.options),f[22]=Ie?.options,f[23]=ke):ke=f[23];f[24]!==ke?(He=ke(),f[24]=ke,f[25]=He):He=f[25];const Ne=He;let Ee;f[26]===Symbol.for("react.memo_cache_sentinel")?(Ee=new Set,f[26]=Ee):Ee=f[26];const[Re,Be]=(0,o.useState)(Ee),[Me,Le]=(0,o.useState)(!1),[qe,De]=(0,o.useState)(!1),[Ve,Fe]=(0,o.useState)(!1),[Ue,We]=(0,o.useState)(!1);let $e,Qe;f[27]!==Ie?.audioOnIds?($e=Ie?.audioOnIds??[],f[27]=Ie?.audioOnIds,f[28]=$e):$e=f[28];f[29]!==$e?(Qe=new Set($e),f[29]=$e,f[30]=Qe):Qe=f[30];const Xe=Qe;let Je,Ke;f[31]!==Ie?.audioOnIds?(Je=()=>[...Ie?.audioOnIds??[]],f[31]=Ie?.audioOnIds,f[32]=Je):Je=f[32];f[33]!==Je?(Ke=Je(),f[33]=Je,f[34]=Ke):Ke=f[34];const Ye=Ke;let Ze;f[35]!==Xe||f[36]!==Pe?(Ze=e=>Pe(e,!Xe.has(e)),f[35]=Xe,f[36]=Pe,f[37]=Ze):Ze=f[37];const et=Ze;let tt,ot,nt,rt;f[38]!==re?(tt=()=>{re()},ot=[re],f[38]=re,f[39]=tt,f[40]=ot):(tt=f[39],ot=f[40]);(0,o.useEffect)(tt,ot),f[41]===Symbol.for("react.memo_cache_sentinel")?(nt=[],f[41]=nt):nt=f[41];(0,o.useEffect)(M,nt);e:{if(!Ie){let e;f[42]===Symbol.for("react.memo_cache_sentinel")?(e=[],f[42]=e):e=f[42],rt=e;break e}let e;f[43]!==he?(e=new Map(he.map(B)),f[43]=he,f[44]=e):e=f[44];const t=e;let o;if(f[45]!==t||f[46]!==Ie.cameraIds){o=[];for(const e of Ie.cameraIds){const n=t.get(e);n&&o.push(n)}f[45]=t,f[46]=Ie.cameraIds,f[47]=o}else o=f[47];rt=o}const it=rt;let lt,st;f[48]!==Ie?.hiddenCameraIds?(lt=()=>new Set(Ie?.hiddenCameraIds??[]),f[48]=Ie?.hiddenCameraIds,f[49]=lt):lt=f[49];f[50]!==lt?(st=lt(),f[50]=lt,f[51]=st):st=f[51];const dt=st;let at;f[52]!==dt||f[53]!==it?(at=0===dt.size?it:it.filter(e=>!dt.has(e.id)),f[52]=dt,f[53]=it,f[54]=at):at=f[54];const ct=at;let ut;f[55]!==ct?(ut=ct.filter(R).map(E),f[55]=ct,f[56]=ut):ut=f[56];const ht=ut,[gt,ft]=(0,o.useState)(null);let mt;f[57]!==gt||f[58]!==ct?(mt=ct.find(e=>e.id===gt)??null,f[57]=gt,f[58]=ct,f[59]=mt):mt=f[59];const yt=mt,pt=Re.size>0;let St;f[60]!==Re?(St=[...Re],f[60]=Re,f[61]=St):St=f[61];const bt=St;let xt;f[62]===Symbol.for("react.memo_cache_sentinel")?(xt=e=>Be(t=>{const o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o}),f[62]=xt):xt=f[62];const It=xt;let jt;f[63]!==ct?(jt=()=>Be(e=>e.size>0?new Set:new Set(ct.map(N))),f[63]=ct,f[64]=jt):jt=f[64];const Ct=jt,wt=Xe.size>0;let vt;f[65]!==wt||f[66]!==Te||f[67]!==ct?(vt=()=>Te(wt?[]:ct.map(H),!wt),f[65]=wt,f[66]=Te,f[67]=ct,f[68]=vt):vt=f[68];const Gt=vt,zt=Math.max(0,oe-ee.top-ee.bottom);let At;f[69]!==zt||f[70]!==te?(At={width:te,height:zt},f[69]=zt,f[70]=te,f[71]=At):At=f[71];const _t=At,[Pt,Ot]=(0,o.useState)(_t);let Tt;f[72]!==Pt.height||f[73]!==Pt.width||f[74]!==Ne.layout||f[75]!==ct.length?(Tt=(0,w.computeGridLayout)(ct.length,Pt.width,Pt.height,Ne.layout),f[72]=Pt.height,f[73]=Pt.width,f[74]=Ne.layout,f[75]=ct.length,f[76]=Tt):Tt=f[76];const kt=Tt;let Ht,Nt;f[77]!==Ie?.highlight?(Ht=()=>(0,v.withHighlightDefaults)(Ie?.highlight),f[77]=Ie?.highlight,f[78]=Ht):Ht=f[78];f[79]!==Ht?(Nt=Ht(),f[79]=Ht,f[80]=Nt):Nt=f[80];const Et=Nt;let Rt;f[81]!==Me||f[82]!==Et||f[83]!==ge.grid.motionHoldSec||f[84]!==ge.highlight?(Rt=Object.assign({enabled:Me},Et,{appearance:ge.highlight,motionHoldSec:ge.grid.motionHoldSec}),f[81]=Me,f[82]=Et,f[83]=ge.grid.motionHoldSec,f[84]=ge.highlight,f[85]=Rt):Rt=f[85];const Bt=Rt;let Mt;f[86]!==L||f[87]!==Z?(Mt=null!==L?()=>Z.push(`/grid/${L}/edit`):void 0,f[86]=L,f[87]=Z,f[88]=Mt):Mt=f[88];const Lt=Mt;let qt;f[89]!==Z?(qt=()=>Z.back(),f[89]=Z,f[90]=qt):qt=f[90];const Dt=qt;let Vt;f[91]!==Ie?.name||f[92]!==ye||f[93]!==K?(Vt=ye?K("v2.gridView.adhocTitle"):Ie?.name??K("v2.gridView.fallbackTitle"),f[91]=Ie?.name,f[92]=ye,f[93]=K,f[94]=Vt):Vt=f[94];const Ft=Vt;if(ie&&!Ie){let e,t,o,s,d,a;return f[95]!==Y.background||f[96]!==ee.top?(e=[X.fill,{backgroundColor:Y.background,paddingTop:ee.top}],f[95]=Y.background,f[96]=ee.top,f[97]=e):e=f[97],f[98]!==Y||f[99]!==Dt?(t=(0,A.jsx)(Q,{onPress:Dt,colors:Y}),f[98]=Y,f[99]=Dt,f[100]=t):t=f[100],f[101]!==Y.foregroundMuted?(o={color:Y.foregroundMuted,fontSize:15},f[101]=Y.foregroundMuted,f[102]=o):o=f[102],f[103]!==K?(s=K("v2.gridView.notFound"),f[103]=K,f[104]=s):s=f[104],f[105]!==o||f[106]!==s?(d=(0,A.jsx)(n.default,{style:X.center,children:(0,A.jsx)(l.default,{style:o,children:s})}),f[105]=o,f[106]=s,f[107]=d):d=f[107],f[108]!==e||f[109]!==t||f[110]!==d?(a=(0,A.jsxs)(n.default,{style:e,children:[t,d]}),f[108]=e,f[109]=t,f[110]=d,f[111]=a):a=f[111],a}let Ut,Wt,$t,Qt,Xt,Jt,Kt,Yt;f[112]!==ve?(Ut=e=>ve({quality:e}),f[112]=ve,f[113]=Ut):Ut=f[113];f[114]!==ve?(Wt=e=>ve({layout:e}),f[114]=ve,f[115]=Wt):Wt=f[115];f[116]===Symbol.for("react.memo_cache_sentinel")?($t=()=>Le(k),f[116]=$t):$t=f[116];f[117]!==Et||f[118]!==ze?(Qt=e=>ze(Object.assign({},Et,e)),f[117]=Et,f[118]=ze,f[119]=Qt):Qt=f[119];f[120]===Symbol.for("react.memo_cache_sentinel")?(Xt=()=>Fe(T),f[120]=Xt):Xt=f[120];f[121]===Symbol.for("react.memo_cache_sentinel")?(Jt=()=>De(O),f[121]=Jt):Jt=f[121];f[122]!==ye||f[123]!==me?(Kt=null===me||ye?void 0:()=>We(!0),f[122]=ye,f[123]=me,f[124]=Kt):Kt=f[124];f[125]!==qe||f[126]!==wt||f[127]!==pt||f[128]!==Xe||f[129]!==Dt||f[130]!==Lt||f[131]!==Me||f[132]!==Et||f[133]!==Ne.layout||f[134]!==Ne.quality||f[135]!==Ve||f[136]!==Ut||f[137]!==Wt||f[138]!==Qt||f[139]!==Kt||f[140]!==Ft||f[141]!==et||f[142]!==Gt||f[143]!==Ct||f[144]!==ct?(Yt=(0,A.jsx)(b.GridControlBar,{title:Ft,onBack:Dt,onEdit:Lt,anyPaused:pt,onTogglePause:Ct,cameras:ct,audioOnIds:Xe,onToggleAudio:et,anyAudioOn:wt,onToggleMassAudio:Gt,quality:Ne.quality,onSelectQuality:Ut,layout:Ne.layout,onSelectLayout:Wt,highlightOn:Me,onToggleHighlight:$t,highlightSettings:Et,onSetHighlightSettings:Qt,showBoxes:Ve,onToggleShowBoxes:Xt,activeOnly:qe,onToggleActiveOnly:Jt,onShare:Kt}),f[125]=qe,f[126]=wt,f[127]=pt,f[128]=Xe,f[129]=Dt,f[130]=Lt,f[131]=Me,f[132]=Et,f[133]=Ne.layout,f[134]=Ne.quality,f[135]=Ve,f[136]=Ut,f[137]=Wt,f[138]=Qt,f[139]=Kt,f[140]=Ft,f[141]=et,f[142]=Gt,f[143]=Ct,f[144]=ct,f[145]=Yt):Yt=f[145];const Zt=Yt;let eo,to,oo,no,ro,io;f[146]===Symbol.for("react.memo_cache_sentinel")?(eo=[X.fill,{backgroundColor:"#000"}],to=(0,A.jsx)(g.StatusBar,{hidden:!0,style:"light"}),f[146]=eo,f[147]=to):(eo=f[146],to=f[147]);f[148]===Symbol.for("react.memo_cache_sentinel")?(oo=e=>{const{width:t,height:o}=e.nativeEvent.layout;t>0&&o>0&&Ot(e=>e.width===t&&e.height===o?e:{width:t,height:o})},f[148]=oo):oo=f[148];f[149]!==qe||f[150]!==pt||f[151]!==Ye||f[152]!==Xe.size||f[153]!==Y||f[154]!==Zt||f[155]!==Dt||f[156]!==Lt||f[157]!==Bt||f[158]!==ee.top||f[159]!==kt||f[160]!==it.length||f[161]!==Ne.layout||f[162]!==Ne.quality||f[163]!==Ne.showName||f[164]!==bt||f[165]!==ht||f[166]!==Z||f[167]!==Ve||f[168]!==K||f[169]!==et||f[170]!==ct?(no=0===it.length?(0,A.jsxs)(n.default,{style:[X.center,{paddingTop:ee.top}],children:[(0,A.jsx)(Q,{onPress:Dt,colors:Y}),(0,A.jsx)(l.default,{style:{color:Y.foregroundMuted,fontSize:15},children:K("v2.gridView.emptyGrid")}),(0,A.jsx)(s.default,{onPress:Lt,style:e=>{const{pressed:t}=e;return{marginTop:C.SPACING.md,paddingVertical:C.SPACING.md,paddingHorizontal:C.SPACING.xl,borderRadius:C.RADIUS.md,backgroundColor:t?Y.surfaceHover:Y.primary}},children:(0,A.jsx)(l.default,{style:{color:Y.primaryForeground,fontSize:15,fontWeight:"600"},children:K("v2.gridView.addCameras")})})]}):0===ct.length?(0,A.jsxs)(n.default,{style:[X.center,{paddingTop:ee.top}],children:[(0,A.jsx)(Q,{onPress:Dt,colors:Y}),(0,A.jsx)(l.default,{style:{color:Y.foregroundMuted,fontSize:15,textAlign:"center"},children:K("v2.gridView.allHidden")}),Zt]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(S.GridLiveEmbed,{devices:ct.map(P),quality:Ne.quality,layout:Ne.layout,showName:Ne.showName,audioOnIds:Ye,pausedIds:bt,highlight:Bt,activeOnly:qe,showBoxes:Ve,ptzIds:ht,onTileOpen:e=>Z.push(`/camera/${e}`),onAudioToggle:et,onPauseToggle:It,onPtzOpen:e=>ft(e)}),Zt]}),f[149]=qe,f[150]=pt,f[151]=Ye,f[152]=Xe.size,f[153]=Y,f[154]=Zt,f[155]=Dt,f[156]=Lt,f[157]=Bt,f[158]=ee.top,f[159]=kt,f[160]=it.length,f[161]=Ne.layout,f[162]=Ne.quality,f[163]=Ne.showName,f[164]=bt,f[165]=ht,f[166]=Z,f[167]=Ve,f[168]=K,f[169]=et,f[170]=ct,f[171]=no):no=f[171];f[172]!==no?(ro=(0,A.jsx)(n.default,{style:X.content,onLayout:oo,children:no}),f[172]=no,f[173]=ro):ro=f[173];f[174]!==Y||f[175]!==yt||f[176]!==K?(io=yt?(0,A.jsxs)(n.default,{style:d.default.absoluteFill,pointerEvents:"box-none",children:[(0,A.jsx)(s.default,{style:[d.default.absoluteFill,X.ptzBackdrop],onPress:()=>ft(null),accessibilityRole:"button",accessibilityLabel:K("v2.cameraDetail.close")}),(0,A.jsx)(n.default,{style:X.ptzCenter,pointerEvents:"box-none",children:(0,A.jsxs)(n.default,{style:[X.ptzCard,{backgroundColor:Y.surface,borderColor:Y.border}],children:[(0,A.jsxs)(n.default,{style:[X.ptzHeader,{borderBottomColor:Y.border}],children:[(0,A.jsx)(l.default,{style:[X.ptzTitle,{color:Y.foreground}],numberOfLines:1,children:yt.name}),(0,A.jsx)(s.default,{onPress:()=>ft(null),hitSlop:8,accessibilityRole:"button",accessibilityLabel:K("v2.cameraDetail.close"),children:(0,A.jsx)(y.X,{size:18,color:Y.foregroundMuted})})]}),(0,A.jsx)(n.default,{style:X.ptzBody,children:(0,A.jsx)(j.PtzControls,{deviceId:yt.id,hasFeature:!0})})]})})]}):null,f[174]=Y,f[175]=yt,f[176]=K,f[177]=io):io=f[177];const lo=Ue&&Ie?Ie:null;let so,ao,co;f[178]===Symbol.for("react.memo_cache_sentinel")?(so=()=>We(!1),f[178]=so):so=f[178];f[179]!==lo?(ao=(0,A.jsx)(x.GridShareDialog,{grid:lo,onClose:so}),f[179]=lo,f[180]=ao):ao=f[180];f[181]!==ro||f[182]!==io||f[183]!==ao?(co=(0,A.jsxs)(n.default,{style:eo,children:[to,ro,io,ao]}),f[181]=ro,f[182]=io,f[183]=ao,f[184]=co):co=f[184];return co};var t=r(_d[0]),o=r(_d[1]),n=e(r(_d[2])),l=e(r(_d[3])),s=e(r(_d[4])),d=e(r(_d[5])),a=e(r(_d[6]));r(_d[7]);var c=r(_d[8]),u=r(_d[9]),h=r(_d[10]),g=r(_d[11]),f=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[12])),y=r(_d[13]),p=r(_d[14]);r(_d[15]);var S=r(_d[16]),b=r(_d[17]),x=r(_d[18]),I=r(_d[19]),j=r(_d[20]),C=r(_d[21]),w=r(_d[22]),v=r(_d[23]),G=r(_d[24]),z=r(_d[25]),A=r(_d[26]);const _='adhoc';function P(e){return e.id}function O(e){return!e}function T(e){return!e}function k(e){return!e}function H(e){return e.id}function N(e){return e.id}function E(e){return e.id}function R(e){return e.features.includes(G.FEATURE.ptz)}function B(e){return[e.id,e]}function M(){return f.unlockAsync(),L}function L(){f.lockAsync(f.OrientationLock.PORTRAIT_UP)}function q(e){return e.setAllGridAudio}function D(e){return e.setGridAudioInitial}function V(e){return e.setGridHighlight}function F(e){return e.setGridOptions}function U(e){return e.hydrated}function W(e){return e.hydrate}function $(e){return e.grids}function Q(e){const o=(0,t.c)(9),{onPress:n,colors:l}=e;let d,a,c;return o[0]!==l.border||o[1]!==l.surface?(d={position:"absolute",top:C.SPACING.md,left:C.SPACING.md,width:40,height:40,borderRadius:C.RADIUS.lg,alignItems:"center",justifyContent:"center",backgroundColor:l.surface,borderWidth:1,borderColor:l.border},o[0]=l.border,o[1]=l.surface,o[2]=d):d=o[2],o[3]!==l.foreground?(a=(0,A.jsx)(y.ChevronLeft,{size:20,color:l.foreground}),o[3]=l.foreground,o[4]=a):a=o[4],o[5]!==n||o[6]!==d||o[7]!==a?(c=(0,A.jsx)(s.default,{onPress:n,accessibilityRole:"button",accessibilityLabel:"Back",hitSlop:10,style:d,children:a}),o[5]=n,o[6]=d,o[7]=a,o[8]=c):c=o[8],c}const X=d.default.create({fill:{flex:1},content:{flex:1},center:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING['2xl']},ptzBackdrop:{backgroundColor:'rgba(0,0,0,0.5)'},ptzCenter:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING.xl},ptzCard:{width:'100%',maxWidth:360,borderRadius:C.RADIUS.xl,borderWidth:1,overflow:'hidden'},ptzHeader:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:C.SPACING.lg,paddingVertical:C.SPACING.md,borderBottomWidth:1},ptzTitle:{fontSize:15,fontWeight:'600',flex:1,marginRight:C.SPACING.md},ptzBody:{padding:C.SPACING.lg}})},3538,[15,17,20,112,252,33,277,136,786,743,466,3429,3431,813,2587,3539,3541,3544,3403,3144,3466,2589,3549,3139,3080,3177,10]);
15960
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridWall=function(e){const o=(0,t.c)(19),{cameras:c,cellW:f,cellH:w,showName:h,quality:p,muted:x,paused:v,showBoxes:_}=e,y=void 0===x||x,j=void 0!==v&&v,W=void 0!==_&&_;let b,q;if(o[0]!==c||o[1]!==w||o[2]!==f||o[3]!==y||o[4]!==j||o[5]!==p||o[6]!==W||o[7]!==h){let e;o[9]!==w||o[10]!==f||o[11]!==y||o[12]!==j||o[13]!==p||o[14]!==W||o[15]!==h?(e=e=>(0,u.jsx)(s.GridTile,{camera:e,width:f,height:w,showName:h,quality:p,muted:y,paused:j,showBoxes:W},e.id),o[9]=w,o[10]=f,o[11]=y,o[12]=j,o[13]=p,o[14]=W,o[15]=h,o[16]=e):e=o[16],b=c.map(e),o[0]=c,o[1]=w,o[2]=f,o[3]=y,o[4]=j,o[5]=p,o[6]=W,o[7]=h,o[8]=b}else b=o[8];o[17]!==b?(q=(0,u.jsx)(l.default,{style:n.wrap,children:b}),o[17]=b,o[18]=q):q=o[18];return q};var t=r(d[0]);r(d[1]);var l=e(r(d[2])),o=e(r(d[3])),s=r(d[4]),u=r(d[5]);const n=o.default.create({wrap:{flex:1,flexDirection:'row',flexWrap:'wrap',alignItems:'center',justifyContent:'center',backgroundColor:'#000'}})},3539,[15,17,20,33,3540,10]);
15961
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GridTile",{enumerable:!0,get:function(){return C}});var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),h=r(d[6]),c=r(d[7]),f=r(d[8]),p=r(d[9]),y=r(d[10]),b=r(d[11]),v=r(d[12]),j=r(d[13]),x=r(d[14]),w=r(d[15]);const C=o.default.memo(function(e){const o=(0,t.c)(32),{camera:s,width:x,height:C,showName:P,quality:k,muted:B,paused:O,showBoxes:S}=e,_=void 0===B||B,E=void 0!==O&&O,F=void 0!==S&&S,{colors:G}=(0,c.useTheme)(),{settings:L}=(0,j.useSettings)();let M;o[0]!==k?(M=(0,y.qualityToTarget)(k),o[0]=k,o[1]=M):M=o[1];const N=M,{uri:T,headers:z,onLoad:A,onError:R}=(0,b.useSnapshot)(s.id,E&&s.online),q=(0,v.useMotionHighlight)(s.id,!E&&s.online);let D,H,V,W,J,K;return o[2]!==C||o[3]!==x?(D=[I.cell,{width:x,height:C}],o[2]=C,o[3]=x,o[4]=D):D=o[4],o[5]!==s.id||o[6]!==_||o[7]!==R||o[8]!==A||o[9]!==E||o[10]!==z||o[11]!==T||o[12]!==N?(H=E?(0,w.jsxs)(n.default,{style:I.pausedFill,children:[T?(0,w.jsx)(u.Image,{source:z?{uri:T,headers:z}:{uri:T},style:I.pausedFill,contentFit:"cover",cachePolicy:"memory-disk",onLoad:A,onError:R}):null,(0,w.jsx)(n.default,{style:I.pauseBadge,pointerEvents:"none",children:(0,w.jsx)(h.Pause,{size:18,color:"#fafaf9",fill:"#fafaf9"})})]}):(0,w.jsx)(f.LiveView,{deviceId:s.id,target:N,muted:_}),o[5]=s.id,o[6]=_,o[7]=R,o[8]=A,o[9]=E,o[10]=z,o[11]=T,o[12]=N,o[13]=H):H=o[13],o[14]!==s.id||o[15]!==E||o[16]!==F?(V=F&&!E?(0,w.jsx)(p.MotionBoxesOverlay,{deviceId:s.id,enabled:!0}):null,o[14]=s.id,o[15]=E,o[16]=F,o[17]=V):V=o[17],o[18]!==q||o[19]!==L?(W=q?(0,w.jsx)(n.default,{pointerEvents:"none",style:[I.motionBorder,{borderWidth:L.highlight.thickness,borderColor:L.highlight.motionColor,shadowColor:L.highlight.motionColor}]}):null,o[18]=q,o[19]=L,o[20]=W):W=o[20],o[21]!==s.name||o[22]!==s.online||o[23]!==G||o[24]!==P?(J=P?(0,w.jsxs)(n.default,{style:I.overlay,pointerEvents:"none",children:[(0,w.jsx)(n.default,{style:[I.dot,{backgroundColor:s.online?G.success:G.foregroundDisabled}]}),(0,w.jsx)(l.default,{style:I.name,numberOfLines:1,children:s.name})]}):null,o[21]=s.name,o[22]=s.online,o[23]=G,o[24]=P,o[25]=J):J=o[25],o[26]!==D||o[27]!==H||o[28]!==V||o[29]!==W||o[30]!==J?(K=(0,w.jsxs)(n.default,{style:D,children:[H,V,W,J]}),o[26]=D,o[27]=H,o[28]=V,o[29]=W,o[30]=J,o[31]=K):K=o[31],K}),I=s.default.create({cell:{backgroundColor:'#000'},pausedFill:{width:'100%',height:'100%',alignItems:'center',justifyContent:'center'},pauseBadge:{position:'absolute',width:36,height:36,borderRadius:18,alignItems:'center',justifyContent:'center',backgroundColor:'#0009'},motionBorder:{position:'absolute',top:0,left:0,right:0,bottom:0,shadowOffset:{width:0,height:0},shadowOpacity:.9,shadowRadius:8,elevation:8},overlay:{position:'absolute',left:0,right:0,bottom:0,flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.sm,backgroundColor:'#0009'},dot:{width:8,height:8,borderRadius:4},name:{flex:1,color:'#fafaf9',fontSize:12,fontWeight:'600'}})},3540,[15,17,20,112,33,3053,813,2587,3446,3496,3533,3143,3156,3177,2589,10]);
15962
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridLiveEmbed=function(e){const u=(0,t.c)(84),{devices:b,quality:E,layout:w,showName:C,audioOnIds:S,pausedIds:T,highlight:O,activeOnly:P,showBoxes:A,ptzIds:L}=e,{server:z,token:G}=(0,h.useServer)(),{colors:N}=(0,y.useTheme)(),{t:_}=(0,f.useTranslation)(),[B,M]=(0,n.useState)("connecting"),H=z?.serverUrl??null;let R;u[0]!==P||u[1]!==S||u[2]!==b||u[3]!==O||u[4]!==w||u[5]!==T||u[6]!==L||u[7]!==E||u[8]!==H||u[9]!==A||u[10]!==C||u[11]!==G?(R=()=>H?(0,p.buildGridEmbedConfig)({serverUrl:H,token:G??"",deviceIds:b,options:{showName:C,quality:E,layout:w},muted:!0,paused:!1,highlight:O,activeOnly:P,showBoxes:A,audioOnIds:S,pausedIds:T,ptzIds:L}):{},u[0]=P,u[1]=S,u[2]=b,u[3]=O,u[4]=w,u[5]=T,u[6]=L,u[7]=E,u[8]=H,u[9]=A,u[10]=C,u[11]=G,u[12]=R):R=u[12];const U=R;let q;u[13]!==e?(q=t=>{const n=(0,x.coerceGridHostMessage)(t);if(n)e:switch(n.type){case"state":M(n.state),e.onStateChange?.(n.state);break e;case"tileTap":e.onTileTap?.(n.deviceId,n.rect);break e;case"tileLongPress":e.onTileLongPress?.(n.deviceId,n.rect);break e;case"tileOpen":e.onTileOpen?.(n.deviceId);break e;case"audioToggle":e.onAudioToggle?.(n.deviceId);break e;case"pauseToggle":e.onPauseToggle?.(n.deviceId);break e;case"ptzOpen":e.onPtzOpen?.(n.deviceId)}},u[13]=e,u[14]=q):q=u[14];const W=q;let D;u[15]!==U||u[16]!==W||u[17]!==H?(D={serverUrl:H,mode:"grid",buildConfig:U,onHostMessage:W},u[15]=U,u[16]=W,u[17]=H,u[18]=D):D=u[18];const{iframeRef:F,src:Q,postCommand:V,reload:J}=(0,I.useEmbedIframe)(D);let K;u[19]!==b?(K=b.join(","),u[19]=b,u[20]=K):K=u[20];const X=K;let Y;u[21]!==S?(Y=S.join(","),u[21]=S,u[22]=Y):Y=u[22];const Z=Y;let $;u[23]!==T?($=T.join(","),u[23]=T,u[24]=$):$=u[24];const ee=$;let te,ne,re,oe,ie,se,le,de,ae,ce,ue,fe,ge,ve,he,ye,me,be,pe;u[25]!==S||u[26]!==V?(te=()=>V({kind:"setAudioOn",value:S}),u[25]=S,u[26]=V,u[27]=te):te=u[27];u[28]!==Z?(ne=[Z],u[28]=Z,u[29]=ne):ne=u[29];(0,n.useEffect)(te,ne),u[30]!==T||u[31]!==V?(re=()=>V({kind:"setPaused",value:T}),u[30]=T,u[31]=V,u[32]=re):re=u[32];u[33]!==ee?(oe=[ee],u[33]=ee,u[34]=oe):oe=u[34];(0,n.useEffect)(re,oe),u[35]!==V||u[36]!==E?(ie=()=>V({kind:"setQuality",value:E}),se=[E,V],u[35]=V,u[36]=E,u[37]=ie,u[38]=se):(ie=u[37],se=u[38]);(0,n.useEffect)(ie,se),u[39]!==w||u[40]!==V?(le=()=>V({kind:"setLayout",value:w}),de=[w,V],u[39]=w,u[40]=V,u[41]=le,u[42]=de):(le=u[41],de=u[42]);(0,n.useEffect)(le,de),u[43]!==V||u[44]!==C?(ae=()=>V({kind:"setShowName",value:C}),ce=[C,V],u[43]=V,u[44]=C,u[45]=ae,u[46]=ce):(ae=u[45],ce=u[46]);(0,n.useEffect)(ae,ce),u[47]!==O||u[48]!==V?(ue=()=>{O&&V({kind:"setHighlight",value:O})},fe=[O,V],u[47]=O,u[48]=V,u[49]=ue,u[50]=fe):(ue=u[49],fe=u[50]);(0,n.useEffect)(ue,fe),u[51]!==P||u[52]!==V?(ge=()=>V({kind:"setActiveOnly",value:P??!1}),ve=[P,V],u[51]=P,u[52]=V,u[53]=ge,u[54]=ve):(ge=u[53],ve=u[54]);(0,n.useEffect)(ge,ve),u[55]!==V||u[56]!==A?(he=()=>V({kind:"setShowBoxes",value:A??!1}),ye=[A,V],u[55]=V,u[56]=A,u[57]=he,u[58]=ye):(he=u[57],ye=u[58]);(0,n.useEffect)(he,ye),u[59]!==V?(me=()=>{const e=()=>V({kind:"reconnect"}),t=()=>{"visible"===document.visibilityState&&V({kind:"reconnect"})};return window.addEventListener("online",e),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("online",e),document.removeEventListener("visibilitychange",t)}},be=[V],u[59]=V,u[60]=me,u[61]=be):(me=u[60],be=u[61]);(0,n.useEffect)(me,be),u[62]!==J?(pe=()=>{M("connecting"),J()},u[62]=J,u[63]=pe):pe=u[63];const xe=pe;if(!Q){let e,t,n;return u[64]!==N.danger?(e=[k.errorText,{color:N.danger}],u[64]=N.danger,u[65]=e):e=u[65],u[66]!==_?(t=_("v2.live.error"),u[66]=_,u[67]=t):t=u[67],u[68]!==e||u[69]!==t?(n=(0,j.jsx)(o.default,{style:k.container,children:(0,j.jsx)(o.default,{style:k.center,children:(0,j.jsx)(s.default,{style:e,children:t})})}),u[68]=e,u[69]=t,u[70]=n):n=u[70],n}let Ie,je,ke,Ee;u[71]===Symbol.for("react.memo_cache_sentinel")?(Ie={width:"100%",height:"100%",border:"none",background:"#000"},u[71]=Ie):Ie=u[71];u[72]!==X||u[73]!==F||u[74]!==Q?(je=(0,j.jsx)("iframe",{ref:F,src:Q,title:"camera-grid",allow:"microphone; autoplay; fullscreen",style:Ie},X),u[72]=X,u[73]=F,u[74]=Q,u[75]=je):je=u[75];u[76]!==N||u[77]!==xe||u[78]!==B||u[79]!==_?(ke="ready"!==B&&(0,j.jsx)(o.default,{style:k.overlay,pointerEvents:"error"===B?"auto":"none",children:"connecting"===B?(0,j.jsxs)(o.default,{style:k.center,children:[(0,j.jsx)(l.default,{color:N.primary}),(0,j.jsx)(s.default,{style:[k.hint,{color:N.foregroundMuted}],children:_("v2.live.connecting")})]}):(0,j.jsxs)(o.default,{style:k.center,children:[(0,j.jsx)(s.default,{style:[k.errorText,{color:N.danger}],children:_("v2.live.error")}),(0,j.jsxs)(c.default,{onPress:xe,style:[k.retryButton,{borderColor:N.border}],children:[(0,j.jsx)(v.RotateCw,{size:16,color:N.foreground}),(0,j.jsx)(s.default,{style:[k.retryLabel,{color:N.foreground}],children:_("v2.live.retry")})]})]})}),u[76]=N,u[77]=xe,u[78]=B,u[79]=_,u[80]=ke):ke=u[80];u[81]!==je||u[82]!==ke?(Ee=(0,j.jsxs)(o.default,{style:k.container,children:[je,ke]}),u[81]=je,u[82]=ke,u[83]=Ee):Ee=u[83];return Ee};var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=r(d[7]),v=r(d[8]),h=r(d[9]),y=r(d[10]),b=r(d[11]),p=r(d[12]),x=r(d[13]),I=r(d[14]),j=r(d[15]);const k=u.default.create({container:{flex:1,overflow:'hidden',backgroundColor:'#000'},overlay:Object.assign({},u.default.absoluteFill,{alignItems:'center',justifyContent:'center',backgroundColor:'#000'}),center:{flex:1,alignItems:'center',justifyContent:'center',padding:b.SPACING.xl,gap:b.SPACING.md},hint:{fontSize:13,textAlign:'center'},errorText:{fontSize:13,textAlign:'center'},retryButton:{flexDirection:'row',alignItems:'center',gap:b.SPACING.sm,paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.md,borderRadius:8,borderWidth:1},retryLabel:{fontSize:13,fontWeight:'600'}})},3541,[15,17,20,112,240,252,33,786,813,3144,2587,2589,3542,3543,3451,10]);
15963
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildGridEmbedConfig=function(s){return Object.assign({serverUrl:s.serverUrl,token:s.token,devices:[...s.deviceIds],layout:s.options.layout,quality:s.options.quality,showName:s.options.showName,showBadges:!0,muted:s.muted,paused:s.paused},s.highlight?{highlight:s.highlight}:{},s.activeOnly?{activeOnly:!0}:{},s.showBoxes?{showBoxes:!0}:{},s.audioOnIds&&s.audioOnIds.length>0?{audioOnIds:[...s.audioOnIds]}:{},s.pausedIds&&s.pausedIds.length>0?{pausedIds:[...s.pausedIds]}:{},s.ptzIds&&s.ptzIds.length>0?{ptzIds:[...s.ptzIds]}:{})}},3542,[]);
15964
- __d(function(g,_r,i,a,_m,e,d){"use strict";function t(t){if('object'!=typeof t||null===t)return!1;const n=t;return'number'==typeof n.x&&'number'==typeof n.y&&'number'==typeof n.w&&'number'==typeof n.h}Object.defineProperty(e,'__esModule',{value:!0}),e.coerceGridHostMessage=r,e.parseGridHostMessage=function(t){let n;try{n=JSON.parse(t)}catch{return null}return r(n)},e.gridCommandScript=function(t){const n='window.__camstackGrid',r='fit'===t.kind?`${n}.fit(${t.w}, ${t.h})`:'reconnect'===t.kind?`${n}.reconnect()`:`${n}.${t.kind}(${JSON.stringify(t.value)})`;return`${n} && ${r}; true;`};const n=['connecting','ready','error'];function r(r){if('object'!=typeof r||null===r)return null;const c=r;switch(c.type){case'state':{if('string'!=typeof c.state||!n.includes(c.state))return null;const t=c.state;return'string'==typeof c.message?{type:'state',state:t,message:c.message}:{type:'state',state:t}}case'tileTap':case'tileLongPress':return'number'==typeof c.deviceId&&t(c.rect)?{type:c.type,deviceId:c.deviceId,rect:c.rect}:null;case'tileOpen':return'number'!=typeof c.deviceId?null:{type:'tileOpen',deviceId:c.deviceId};case'audioToggle':return'number'!=typeof c.deviceId?null:{type:'audioToggle',deviceId:c.deviceId};case'pauseToggle':return'number'!=typeof c.deviceId?null:{type:'pauseToggle',deviceId:c.deviceId};case'ptzOpen':return'number'!=typeof c.deviceId?null:{type:'ptzOpen',deviceId:c.deviceId};case'layout':{if(!Array.isArray(c.tiles))return null;const n=[];for(const r of c.tiles){if('object'!=typeof r||null===r)return null;const c=r;if('number'!=typeof c.deviceId||!t(c.rect))return null;n.push({deviceId:c.deviceId,rect:c.rect})}return{type:'layout',tiles:n}}default:return null}}},3543,[]);
15965
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridControlBar=function(l){const o=(0,e.c)(87),{title:S,onBack:P,onEdit:x,anyPaused:A,onTogglePause:T,cameras:j,audioOnIds:k,onToggleAudio:O,anyAudioOn:w,onToggleMassAudio:C,quality:M,onSelectQuality:f,layout:H,onSelectLayout:_,highlightOn:F,onToggleHighlight:G,highlightSettings:L,onSetHighlightSettings:z,showBoxes:V,onToggleShowBoxes:q,activeOnly:I,onToggleActiveOnly:X,onShare:D}=l,{t:E}=(0,n.useTranslation)(),{colors:N}=(0,u.useTheme)(),Q=A?s.Play:s.Pause;let R,Z;o[0]!==A||o[1]!==E?(R=E(A?"v2.gridBar.playAll":"v2.gridBar.pauseAll"),o[0]=A,o[1]=E,o[2]=R):R=o[2];o[3]!==T||o[4]!==Q||o[5]!==R?(Z={key:"pause",icon:Q,tip:R,onPress:T},o[3]=T,o[4]=Q,o[5]=R,o[6]=Z):Z=o[6];const J=k.size>0?s.Volume2:s.VolumeX;let K;o[7]!==E?(K=E("v2.gridBar.audio"),o[7]=E,o[8]=K):K=o[8];const U=k.size>0?String(k.size):void 0;let W,Y,$;o[9]!==w||o[10]!==k||o[11]!==j||o[12]!==N||o[13]!==O||o[14]!==C||o[15]!==E?(W=()=>0===j.length?(0,p.jsx)(t.default,{style:{color:N.foregroundMuted,fontSize:13,padding:h.SPACING.sm},children:"\u2014"}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(c.ControlBarLeadRow,{icon:w?s.VolumeX:s.Volume2,label:E(w?"v2.gridBar.muteAll":"v2.gridBar.unmuteAll"),onPress:C}),(0,p.jsx)(c.ControlBarDivider,{}),j.map(e=>(0,p.jsx)(c.ControlBarOption,{label:e.name,selected:k.has(e.id),onPress:()=>O(e.id)},e.id))]}),o[9]=w,o[10]=k,o[11]=j,o[12]=N,o[13]=O,o[14]=C,o[15]=E,o[16]=W):W=o[16];o[17]!==J||o[18]!==K||o[19]!==U||o[20]!==W?(Y={key:"audio",icon:J,tip:K,badge:U,panelScroll:!0,panel:W},o[17]=J,o[18]=K,o[19]=U,o[20]=W,o[21]=Y):Y=o[21];o[22]!==E?($=E("v2.gridBar.quality"),o[22]=E,o[23]=$):$=o[23];const ee=b[M];let le,ae,oe;o[24]!==f||o[25]!==M?(le=e=>(0,p.jsx)(p.Fragment,{children:y.map(l=>(0,p.jsx)(c.ControlBarOption,{label:l.label,selected:l.value===M,onPress:()=>{f(l.value),e()}},l.value))}),o[24]=f,o[25]=M,o[26]=le):le=o[26];o[27]!==ee||o[28]!==le||o[29]!==$?(ae={key:"quality",icon:s.Gauge,tip:$,badge:ee,panel:le},o[27]=ee,o[28]=le,o[29]=$,o[30]=ae):ae=o[30];o[31]!==E?(oe=E("v2.gridBar.layout"),o[31]=E,o[32]=oe):oe=o[32];const ie="auto"===H?"A":String(H);let te,ne,re,se,ge,ue,de,ce,he,ve;o[33]!==H||o[34]!==_?(te=e=>(0,p.jsx)(p.Fragment,{children:B.map(l=>(0,p.jsx)(c.ControlBarOption,{label:l.label,selected:l.value===H,onPress:()=>{_(l.value),e()}},String(l.value)))}),o[33]=H,o[34]=_,o[35]=te):te=o[35];o[36]!==oe||o[37]!==ie||o[38]!==te?(ne={key:"layout",icon:s.LayoutGrid,tip:oe,badge:ie,panel:te},o[36]=oe,o[37]=ie,o[38]=te,o[39]=ne):ne=o[39];o[40]!==E?(re=E("v2.gridBar.highlightMenu"),o[40]=E,o[41]=re):re=o[41];o[42]!==F||o[43]!==L||o[44]!==z||o[45]!==G||o[46]!==q||o[47]!==V?(se=()=>(0,p.jsx)(v.GridMenuPanel,{highlightOn:F,onToggleHighlight:G,showBoxes:V,onToggleShowBoxes:q,highlight:L,onSetHighlight:z}),o[42]=F,o[43]=L,o[44]=z,o[45]=G,o[46]=q,o[47]=V,o[48]=se):se=o[48];o[49]!==F||o[50]!==re||o[51]!==se?(ge={key:"menu",icon:s.Zap,tip:re,active:F,panelScroll:!0,panel:se},o[49]=F,o[50]=re,o[51]=se,o[52]=ge):ge=o[52];o[53]!==E?(ue=E("v2.gridBar.activeOnly"),o[53]=E,o[54]=ue):ue=o[54];o[55]!==I||o[56]!==X||o[57]!==ue?(de={key:"activeOnly",icon:s.Filter,tip:ue,active:I,onPress:X},o[55]=I,o[56]=X,o[57]=ue,o[58]=de):de=o[58];o[59]!==D||o[60]!==E?(ce=D?[{key:"share",icon:s.Share2,tip:E("v2.gridBar.share"),onPress:D}]:[],o[59]=D,o[60]=E,o[61]=ce):ce=o[61];o[62]!==x||o[63]!==E?(he=x?[{key:"edit",icon:s.Pencil,tip:E("v2.gridBar.edit"),onPress:x}]:[],o[62]=x,o[63]=E,o[64]=he):he=o[64];o[65]!==ae||o[66]!==ne||o[67]!==ge||o[68]!==de||o[69]!==ce||o[70]!==he||o[71]!==Z||o[72]!==Y?(ve=[Z,Y,ae,ne,ge,de,...ce,...he],o[65]=ae,o[66]=ne,o[67]=ge,o[68]=de,o[69]=ce,o[70]=he,o[71]=Z,o[72]=Y,o[73]=ve):ve=o[73];const pe=ve;let ye,Be,me,be;o[74]!==E?(ye=E("v2.gridBar.back"),o[74]=E,o[75]=ye):ye=o[75];o[76]!==E?(Be=E("v2.gridBar.hide"),o[76]=E,o[77]=Be):Be=o[77];o[78]!==E?(me=E("v2.gridBar.show"),o[78]=E,o[79]=me):me=o[79];o[80]!==pe||o[81]!==P||o[82]!==ye||o[83]!==Be||o[84]!==me||o[85]!==S?(be=(0,p.jsx)(c.FloatingControlBar,{onBack:P,backTip:ye,title:S,actions:pe,hideTip:Be,showTip:me}),o[80]=pe,o[81]=P,o[82]=ye,o[83]=Be,o[84]=me,o[85]=S,o[86]=be):be=o[86];return be};var e=r(d[0]);r(d[1]);var l,o=r(d[2]),t=(l=o)&&l.__esModule?l:{default:l},n=r(d[3]),s=r(d[4]),u=r(d[5]),c=r(d[6]),h=r(d[7]),v=r(d[8]),p=r(d[9]);const y=[{value:'auto',label:'Auto'},{value:'high',label:'High'},{value:'medium',label:'Mid'},{value:'low',label:'Low'}],B=[{value:'auto',label:'Auto'},{value:2,label:'2'},{value:3,label:'3'},{value:4,label:'4'}],b={auto:'A',high:'H',medium:'M',low:'L'}},3544,[15,17,112,786,813,2587,3545,2589,3548,10]);
15966
- __d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.FloatingControlBar=function(e){const c=(0,o.c)(61),{onBack:p,backTip:h,title:P,actions:j,hideTip:I,showTip:R}=e,{colors:A}=(0,b.useTheme)(),{width:k}=(0,u.default)(),H=k>=900?260:100,[z,G]=(0,t.useState)(!0),[N,_]=(0,t.useState)(null),[D,T]=(0,t.useState)(0);let W;c[0]===Symbol.for("react.memo_cache_sentinel")?(W=()=>T(S),c[0]=W):W=c[0];const O=W;let F,L,U;c[1]!==z||c[2]!==N?(F=()=>{if(!z||null!==N)return;const e=setTimeout(()=>G(!1),x);return()=>clearTimeout(e)},c[1]=z,c[2]=N,c[3]=F):F=c[3];c[4]!==z||c[5]!==D||c[6]!==N?(L=[z,N,D],c[4]=z,c[5]=D,c[6]=N,c[7]=L):L=c[7];(0,t.useEffect)(F,L),c[8]===Symbol.for("react.memo_cache_sentinel")?(U=()=>{_(null),T(C)},c[8]=U):U=c[8];const B=U;if(!z){let e,o,t,n;return c[9]===Symbol.for("react.memo_cache_sentinel")?(e=()=>G(!0),c[9]=e):e=c[9],c[10]!==A.border||c[11]!==A.surface?(o=[w.handle,{backgroundColor:A.surface,borderColor:A.border}],c[10]=A.border,c[11]=A.surface,c[12]=o):o=c[12],c[13]!==A.foreground?(t=(0,y.jsx)(f.ChevronUp,{size:18,color:A.foreground}),c[13]=A.foreground,c[14]=t):t=c[14],c[15]!==R||c[16]!==o||c[17]!==t?(n=(0,y.jsx)(l.default,{onPress:e,accessibilityRole:"button",accessibilityLabel:R,style:o,hitSlop:10,children:t}),c[15]=R,c[16]=o,c[17]=t,c[18]=n):n=c[18],n}let V,E,M,q,J,K,Q,X,Y,Z,$;if(c[19]!==j||c[20]!==A.border||c[21]!==A.surface||c[22]!==N){let e;c[24]!==N?(e=e=>e.key===N&&void 0!==e.panel,c[24]=N,c[25]=e):e=c[25];const o=j.find(e);V=o?.panel?(0,y.jsx)(n.default,{style:[w.popover,{backgroundColor:A.surface,borderColor:A.border}],children:o.panelScroll?(0,y.jsx)(a.default,{style:{maxHeight:220},children:o.panel(B)}):(0,y.jsx)(n.default,{children:o.panel(B)})}):null,c[19]=j,c[20]=A.border,c[21]=A.surface,c[22]=N,c[23]=V}else V=c[23];c[26]!==A.border||c[27]!==A.surface?(E=[w.bar,{backgroundColor:A.surface,borderColor:A.border}],c[26]=A.border,c[27]=A.surface,c[28]=E):E=c[28];c[29]!==h||c[30]!==p?(M=p?(0,y.jsx)(v,{icon:f.ChevronLeft,tip:h??"",onPress:p}):null,c[29]=h,c[30]=p,c[31]=M):M=c[31];c[32]!==A.foreground||c[33]!==P||c[34]!==H?(q=void 0!==P?(0,y.jsx)(s.default,{style:[w.title,{color:A.foreground,maxWidth:H}],numberOfLines:1,children:P}):null,c[32]=A.foreground,c[33]=P,c[34]=H,c[35]=q):q=c[35];c[36]!==A.border||c[37]!==p||c[38]!==P?(J=p||void 0!==P?(0,y.jsx)(n.default,{style:[w.sep,{backgroundColor:A.border}]}):null,c[36]=A.border,c[37]=p,c[38]=P,c[39]=J):J=c[39];if(c[40]!==j||c[41]!==N){let e;c[43]!==N?(e=e=>(0,y.jsx)(v,{icon:e.icon,tip:e.tip,active:(e.active??!1)||void 0!==e.panel&&N===e.key,badge:e.badge,disabled:e.disabled,onPress:()=>{void 0!==e.panel?_(o=>o===e.key?null:e.key):(e.onPress?.(),_(null)),O()}},e.key),c[43]=N,c[44]=e):e=c[44],K=j.map(e),c[40]=j,c[41]=N,c[42]=K}else K=c[42];c[45]!==A.border?(Q=(0,y.jsx)(n.default,{style:[w.sep,{backgroundColor:A.border}]}),c[45]=A.border,c[46]=Q):Q=c[46];c[47]===Symbol.for("react.memo_cache_sentinel")?(X=()=>{_(null),G(!1)},c[47]=X):X=c[47];c[48]!==I?(Y=(0,y.jsx)(v,{icon:f.ChevronDown,tip:I,onPress:X}),c[48]=I,c[49]=Y):Y=c[49];c[50]!==K||c[51]!==Q||c[52]!==Y||c[53]!==E||c[54]!==M||c[55]!==q||c[56]!==J?(Z=(0,y.jsxs)(n.default,{style:E,pointerEvents:"box-none",children:[M,q,J,K,Q,Y]}),c[50]=K,c[51]=Q,c[52]=Y,c[53]=E,c[54]=M,c[55]=q,c[56]=J,c[57]=Z):Z=c[57];c[58]!==Z||c[59]!==V?($=(0,y.jsxs)(y.Fragment,{children:[V,Z]}),c[58]=Z,c[59]=V,c[60]=$):$=c[60];return $},_e.ControlBarOption=function(e){const t=(0,o.c)(18),{label:n,selected:a,onPress:c}=e,{colors:u}=(0,b.useTheme)();let p,h,x,C,S,v;t[0]!==a?(p={selected:a},t[0]=a,t[1]=p):p=t[1];t[2]!==u.surfaceHover?(h=e=>{const{pressed:o}=e;return[w.optionRow,{backgroundColor:o?u.surfaceHover:"transparent"}]},t[2]=u.surfaceHover,t[3]=h):h=t[3];t[4]!==u.foreground?(x={flex:1,color:u.foreground,fontSize:14},t[4]=u.foreground,t[5]=x):x=t[5];t[6]!==n||t[7]!==x?(C=(0,y.jsx)(s.default,{style:x,children:n}),t[6]=n,t[7]=x,t[8]=C):C=t[8];t[9]!==u.primary||t[10]!==a?(S=a?(0,y.jsx)(f.Check,{size:16,color:u.primary}):null,t[9]=u.primary,t[10]=a,t[11]=S):S=t[11];t[12]!==c||t[13]!==p||t[14]!==h||t[15]!==C||t[16]!==S?(v=(0,y.jsxs)(l.default,{onPress:c,accessibilityRole:"button",accessibilityState:p,style:h,children:[C,S]}),t[12]=c,t[13]=p,t[14]=h,t[15]=C,t[16]=S,t[17]=v):v=t[17];return v},_e.ControlBarLeadRow=function(e){const t=(0,o.c)(16),{icon:n,label:a,onPress:c}=e,{colors:u}=(0,b.useTheme)();let f,p,h,x,C;t[0]!==u.surfaceHover?(f=e=>{const{pressed:o}=e;return[w.optionRow,{backgroundColor:o?u.surfaceHover:"transparent"}]},t[0]=u.surfaceHover,t[1]=f):f=t[1];t[2]!==n||t[3]!==u.primary?(p=(0,y.jsx)(n,{size:16,color:u.primary}),t[2]=n,t[3]=u.primary,t[4]=p):p=t[4];t[5]!==u.foreground?(h={flex:1,color:u.foreground,fontSize:14,fontWeight:"600"},t[5]=u.foreground,t[6]=h):h=t[6];t[7]!==a||t[8]!==h?(x=(0,y.jsx)(s.default,{style:h,children:a}),t[7]=a,t[8]=h,t[9]=x):x=t[9];t[10]!==a||t[11]!==c||t[12]!==f||t[13]!==p||t[14]!==x?(C=(0,y.jsxs)(l.default,{onPress:c,accessibilityRole:"button",accessibilityLabel:a,style:f,children:[p,x]}),t[10]=a,t[11]=c,t[12]=f,t[13]=p,t[14]=x,t[15]=C):C=t[15];return C},_e.ControlBarDivider=function(){const e=(0,o.c)(2),{colors:t}=(0,b.useTheme)();let s;e[0]!==t.border?(s=(0,y.jsx)(n.default,{style:[w.popoverDivider,{backgroundColor:t.border}]}),e[0]=t.border,e[1]=s):s=e[1];return s};var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),a=e(r(d[5])),c=e(r(d[6])),u=e(r(d[7])),f=r(d[8]),b=r(d[9]),p=r(d[10]),h=r(d[11]),y=r(d[12]);const x=4500;function C(e){return e+1}function S(e){return e+1}function v(e){const t=(0,o.c)(27),{icon:n,tip:a,onPress:c,active:u,badge:f,disabled:h}=e,x=void 0!==u&&u,C=void 0!==h&&h,{colors:S}=(0,b.useTheme)();let v,P;t[0]!==x||t[1]!==C?(v={selected:x,disabled:C},t[0]=x,t[1]=C,t[2]=v):v=t[2],t[3]!==x||t[4]!==S.primary||t[5]!==S.surfaceHover||t[6]!==C?(P=e=>{const{pressed:o}=e;return[w.btn,{backgroundColor:x?S.primary:o?S.surfaceHover:"transparent",opacity:C?.4:1}]},t[3]=x,t[4]=S.primary,t[5]=S.surfaceHover,t[6]=C,t[7]=P):P=t[7];const j=x?S.primaryForeground:S.foreground;let I,R,A,k;return t[8]!==n||t[9]!==j?(I=(0,y.jsx)(n,{size:18,color:j}),t[8]=n,t[9]=j,t[10]=I):I=t[10],t[11]!==x||t[12]!==f||t[13]!==S.foreground||t[14]!==S.primaryForeground?(R=f?(0,y.jsx)(s.default,{style:[w.badge,{color:x?S.primaryForeground:S.foreground}],children:f}):null,t[11]=x,t[12]=f,t[13]=S.foreground,t[14]=S.primaryForeground,t[15]=R):R=t[15],t[16]!==C||t[17]!==c||t[18]!==v||t[19]!==P||t[20]!==I||t[21]!==R||t[22]!==a?(A=(0,y.jsxs)(l.default,{onPress:c,disabled:C,accessibilityRole:"button",accessibilityLabel:a,accessibilityState:v,hitSlop:6,style:P,children:[I,R]}),t[16]=C,t[17]=c,t[18]=v,t[19]=P,t[20]=I,t[21]=R,t[22]=a,t[23]=A):A=t[23],t[24]!==A||t[25]!==a?(k=(0,y.jsx)(p.Tooltip,{label:a,children:A}),t[24]=A,t[25]=a,t[26]=k):k=t[26],k}const w=c.default.create({bar:{position:'absolute',bottom:h.SPACING.lg,alignSelf:'center',flexDirection:'row',alignItems:'center',gap:h.SPACING.xs/2,paddingHorizontal:h.SPACING.sm,paddingVertical:h.SPACING.xs,borderRadius:h.RADIUS.xl,borderWidth:1,maxWidth:'96%',shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:6},popover:{position:'absolute',bottom:64,alignSelf:'center',minWidth:220,maxWidth:'92%',borderRadius:h.RADIUS.lg,borderWidth:1,paddingVertical:h.SPACING.xs,paddingHorizontal:h.SPACING.xs,shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:8},optionRow:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm,paddingVertical:h.SPACING.sm,paddingHorizontal:h.SPACING.md,borderRadius:h.RADIUS.md},popoverDivider:{height:1,marginVertical:h.SPACING.xs/2,marginHorizontal:h.SPACING.sm},handle:{position:'absolute',bottom:h.SPACING.lg,alignSelf:'center',width:56,height:28,borderRadius:h.RADIUS.xl,borderWidth:1,alignItems:'center',justifyContent:'center',shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:6},title:{fontSize:13,fontWeight:'600',paddingHorizontal:h.SPACING.xs},sep:{width:1,height:20,marginHorizontal:2},btn:{flexDirection:'row',alignItems:'center',gap:2,paddingHorizontal:h.SPACING.sm,paddingVertical:h.SPACING.sm,borderRadius:h.RADIUS.lg},badge:{fontSize:11,fontWeight:'700'}})},3545,[15,17,20,112,252,147,33,277,813,2587,3546,2589,10]);
15967
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.Tooltip=function(e){const o=(0,t.c)(5),{label:n,children:l}=e;let c;o[2]!==l||o[3]!==n?(c=(0,b.jsx)(_,{label:n,children:l}),o[2]=l,o[3]=n,o[4]=c):c=o[4];return c};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),l=e(r(d[3])),c=e(r(d[4]));r(d[5]);var u=e(r(d[6])),s=r(d[7]),f=r(d[8]),h=r(d[9]),b=r(d[10]);function _(e){const u=(0,t.c)(14),{label:f,children:_}=e,{colors:y}=(0,s.useTheme)(),[S,T]=(0,o.useState)(!1),[v,O]=(0,o.useState)(0),[x,w]=(0,o.useState)(0),I=(0,o.useRef)(null);let L,E,P;u[0]===Symbol.for("react.memo_cache_sentinel")?(L=()=>()=>{I.current&&clearTimeout(I.current)},E=[],u[0]=L,u[1]=E):(L=u[0],E=u[1]),(0,o.useEffect)(L,E),u[2]===Symbol.for("react.memo_cache_sentinel")?(P=()=>{I.current&&clearTimeout(I.current),I.current=setTimeout(()=>T(!0),h.TOOLTIP_SHOW_DELAY_MS)},u[2]=P):P=u[2];const j=P;let A;u[3]===Symbol.for("react.memo_cache_sentinel")?(A=()=>{I.current&&clearTimeout(I.current),T(!1)},u[3]=A):A=u[3];const C=A;let H,R,z;return u[4]===Symbol.for("react.memo_cache_sentinel")?(H=e=>O(e.nativeEvent.layout.width),u[4]=H):H=u[4],u[5]!==v||u[6]!==y||u[7]!==f||u[8]!==x||u[9]!==S?(R=S?(0,b.jsx)(n.default,{pointerEvents:"none",onLayout:e=>w(e.nativeEvent.layout.width),style:[p.tip,{backgroundColor:y.backgroundElevated,borderColor:y.border,left:(0,h.tooltipLeftOffset)(v,x),opacity:x>0?1:0}],children:(0,b.jsx)(l.default,{style:[p.tipText,{color:y.foreground}],numberOfLines:1,children:f})}):null,u[5]=v,u[6]=y,u[7]=f,u[8]=x,u[9]=S,u[10]=R):R=u[10],u[11]!==_||u[12]!==R?(z=(0,b.jsxs)(c.default,{accessible:!1,onHoverIn:j,onHoverOut:C,onLayout:H,children:[_,R]}),u[11]=_,u[12]=R,u[13]=z):z=u[13],z}const p=u.default.create({tip:{position:'absolute',bottom:'100%',marginBottom:h.TOOLTIP_GAP,paddingHorizontal:f.SPACING.md,paddingVertical:f.SPACING.xs,borderRadius:f.RADIUS.md,borderWidth:1,zIndex:100,shadowColor:'#000',shadowOpacity:.35,shadowRadius:6,shadowOffset:{width:0,height:2}},tipText:{fontSize:12,fontWeight:'500'}})},3546,[15,17,20,112,252,136,33,2587,2589,3547,10]);
15968
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"TOOLTIP_SHOW_DELAY_MS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"TOOLTIP_GAP",{enumerable:!0,get:function(){return n}}),e.tooltipLeftOffset=function(t,n){return Math.round((t-n)/2)};const t=400,n=6},3547,[]);
15969
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridMenuPanel=function(e){const l=(0,o.c)(27),{highlightOn:c,onToggleHighlight:S,showBoxes:T,onToggleShowBoxes:b,highlight:v,onSetHighlight:P}=e,{t:p}=(0,h.useTranslation)(),{colors:j}=(0,s.useTheme)();let C,_,w,y,B,G,H,A,I;l[0]!==p?(C=p("v2.gridMenu.highlightMaster"),l[0]=p,l[1]=C):C=l[1];l[2]!==c||l[3]!==S||l[4]!==C?(_=(0,x.jsx)(f.PanelToggleRow,{icon:u.Zap,label:C,value:c,onValueChange:S}),l[2]=c,l[3]=S,l[4]=C,l[5]=_):_=l[5];l[6]!==p?(w=p("v2.cameraMenu.boundingBoxes"),l[6]=p,l[7]=w):w=l[7];l[8]!==b||l[9]!==T||l[10]!==w?(y=(0,x.jsx)(f.PanelToggleRow,{icon:u.SquareDashed,label:w,value:T,onValueChange:b}),l[8]=b,l[9]=T,l[10]=w,l[11]=y):y=l[11];l[12]!==j.foregroundMuted?(B=[M.sectionLabel,{color:j.foregroundMuted}],l[12]=j.foregroundMuted,l[13]=B):B=l[13];l[14]!==p?(G=p("v2.gridBuilder.highlightTitle"),l[14]=p,l[15]=G):G=l[15];l[16]!==B||l[17]!==G?(H=(0,x.jsx)(t.default,{style:B,children:G}),l[16]=B,l[17]=G,l[18]=H):H=l[18];l[19]!==v||l[20]!==P?(A=(0,x.jsx)(f.HighlightTriggerRows,{highlight:v,onSetHighlight:P}),l[19]=v,l[20]=P,l[21]=A):A=l[21];l[22]!==_||l[23]!==y||l[24]!==H||l[25]!==A?(I=(0,x.jsxs)(n.default,{style:M.body,children:[_,y,H,A]}),l[22]=_,l[23]=y,l[24]=H,l[25]=A,l[26]=I):I=l[26];return I};var o=r(d[0]);r(d[1]);var n=e(r(d[2])),t=e(r(d[3])),l=e(r(d[4])),h=r(d[5]),u=r(d[6]),s=r(d[7]),c=r(d[8]),f=r(d[9]),x=r(d[10]);const M=l.default.create({body:{paddingHorizontal:c.SPACING.sm,paddingVertical:c.SPACING.xs},sectionLabel:{fontSize:12,fontWeight:'600',paddingTop:c.SPACING.md,paddingBottom:c.SPACING.xs}})},3548,[15,17,20,112,33,786,813,2587,2589,3408,10]);
15970
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.computeAutoLayout=t,e.computeGridLayout=function(o,c,n,u="auto",s=l){if('number'!=typeof u||u<1)return t(o,c,n,s);if(o<=0||c<=0||n<=0)return{cols:0,rows:0,cellW:0,cellH:0};const f=Math.floor(u),M=Math.ceil(o/f),h=Math.min(c/f,n/M*s);return{cols:f,rows:M,cellW:h,cellH:h/s}};const l=1.7777777777777777;function t(t,o,c,n=l){if(t<=0||o<=0||c<=0)return{cols:0,rows:0,cellW:0,cellH:0};let u={cols:1,rows:t,cellW:0,cellH:0},s=-1;for(let l=1;l<=t;l++){const f=Math.ceil(t/l),M=Math.min(o/l,c/f*n),h=M/n,w=M*h;w>s&&(s=w,u={cols:l,rows:f,cellW:M,cellH:h})}return u}},3549,[]);
15971
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]),n=r(d[1]);r(d[2]);var c=r(d[3]),u=r(d[4]),l=r(d[5]);function s(){const s=(0,t.c)(4),{devices:o}=(0,n.useLocalSearchParams)();let f;s[0]!==o?(f=(0,u.parseAdhocDeviceIds)(o),s[0]=o,s[1]=f):f=s[1];const v=f;if(0===v.length)return null;let h;return s[2]!==v?(h=(0,l.jsx)(c.GridViewScreen,{gridId:null,adhocCameraIds:v}),s[2]=v,s[3]=h):h=s[3],h}},3550,[15,743,17,3538,3503,10]);
15972
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.CamerasManageScreen,{}),o[0]=u):u=o[0],u}},3551,[15,3552,10]);
15973
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CamerasManageScreen=function(){const e=(0,o.c)(34),{t:s}=(0,S.useTranslation)(),{colors:u}=(0,C.useTheme)(),c=(0,h.useRouter)(),{data:f,isLoading:p}=(0,v.useAllCameras)();let y;e[0]!==f?(y=void 0===f?[]:f,e[0]=f,e[1]=y):y=e[1];const j=y,{setLocalName:H,setHidden:R,setOrder:T}=(0,A.useCameraPrefs)(),[D,E]=(0,n.useState)(j);let z,L,w;e[2]!==j?(z=()=>{E(j)},L=[j],e[2]=j,e[3]=z,e[4]=L):(z=e[3],L=e[4]);(0,n.useEffect)(z,L),e[5]!==T?(w=e=>{const{data:o}=e;E(o),T(o.map(k))},e[5]=T,e[6]=w):w=e[6];const _=w;let O;e[7]!==u||e[8]!==R||e[9]!==H?(O=e=>{const{item:o,drag:n,isActive:t}=e;return(0,I.jsx)(G,{camera:o,drag:n,isActive:t,colors:u,onRename:e=>H(o.id,e),onToggleHidden:e=>R(o.id,e)})},e[7]=u,e[8]=R,e[9]=H,e[10]=O):O=e[10];const V=O;let B,W,F,K,U,q;e[11]!==u.background?(B={flex:1,backgroundColor:u.background},e[11]=u.background,e[12]=B):B=e[12];e[13]!==s?(W=s("v2.cameras.manage"),e[13]=s,e[14]=W):W=e[14];e[15]!==c?(F=()=>c.back(),e[15]=c,e[16]=F):F=e[16];e[17]!==W||e[18]!==F?(K=(0,I.jsx)(N.ScreenHeader,{title:W,onBack:F,bordered:!0}),e[17]=W,e[18]=F,e[19]=K):K=e[19];e[20]!==j||e[21]!==u.foregroundMuted||e[22]!==u.foregroundSubtle||e[23]!==u.primary||e[24]!==D||e[25]!==_||e[26]!==p||e[27]!==V||e[28]!==s?(U=p?(0,I.jsx)(t.default,{style:M.centered,children:(0,I.jsx)(b.default,{color:u.primary})}):0===j.length?(0,I.jsx)(t.default,{style:M.centered,children:(0,I.jsx)(l.default,{style:{color:u.foregroundMuted,fontSize:15},children:s("v2.cameras.empty")})}):(0,I.jsx)(x.default,{data:D,keyExtractor:P,onDragEnd:_,renderItem:V,contentContainerStyle:M.content,activationDistance:12,ListHeaderComponent:(0,I.jsx)(l.default,{style:[M.hint,{color:u.foregroundSubtle}],children:s("v2.cameras.manageHint")})}),e[20]=j,e[21]=u.foregroundMuted,e[22]=u.foregroundSubtle,e[23]=u.primary,e[24]=D,e[25]=_,e[26]=p,e[27]=V,e[28]=s,e[29]=U):U=e[29];e[30]!==U||e[31]!==B||e[32]!==K?(q=(0,I.jsxs)(t.default,{style:B,children:[K,U]}),e[30]=U,e[31]=B,e[32]=K,e[33]=q):q=e[33];return q};var o=r(d[0]),n=r(d[1]),t=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=e(r(d[5])),c=e(r(d[6])),f=e(r(d[7])),b=e(r(d[8]));r(d[9]);var S=r(d[10]),h=r(d[11]),p=r(d[12]),x=e(p),y=r(d[13]),C=r(d[14]),j=r(d[15]),N=r(d[16]),v=r(d[17]),A=r(d[18]),I=r(d[19]);function P(e){return String(e.id)}function k(e){return e.id}function G(e){const f=(0,o.c)(59),{camera:b,drag:h,isActive:x,colors:C,onRename:j,onToggleHidden:N}=e,{t:v}=(0,S.useTranslation)(),[A,P]=(0,n.useState)(b.name);let k,G,H;f[0]!==b.name?(k=()=>{P(b.name)},G=[b.name],f[0]=b.name,f[1]=k,f[2]=G):(k=f[1],G=f[2]),(0,n.useEffect)(k,G),f[3]!==b.name||f[4]!==A||f[5]!==j?(H=()=>{A!==b.name&&j(A)},f[3]=b.name,f[4]=A,f[5]=j,f[6]=H):H=f[6];const R=H,T=b.name!==b.originalName,D=x?C.surfaceHover:C.surface,E=b.hidden?.55:1;let z,L,w,_;f[7]!==C.border||f[8]!==D||f[9]!==E?(z=[M.row,{backgroundColor:D,borderColor:C.border,opacity:E}],f[7]=C.border,f[8]=D,f[9]=E,f[10]=z):z=f[10],f[11]!==v?(L=v("v2.cameras.reorderHandle"),f[11]=v,f[12]=L):L=f[12],f[13]!==C.foregroundMuted?(w=(0,I.jsx)(y.GripVertical,{size:20,color:C.foregroundMuted}),f[13]=C.foregroundMuted,f[14]=w):w=f[14],f[15]!==h||f[16]!==L||f[17]!==w?(_=(0,I.jsx)(c.default,{accessibilityRole:"button",accessibilityLabel:L,onLongPress:h,delayLongPress:150,style:M.handle,children:w}),f[15]=h,f[16]=L,f[17]=w,f[18]=_):_=f[18];const O=b.online?C.success:C.foregroundDisabled;let V,B,W,F,K,U,q;f[19]!==O?(V=(0,I.jsx)(t.default,{style:[M.statusDot,{backgroundColor:O}]}),f[19]=O,f[20]=V):V=f[20],f[21]!==C.foreground?(B=[M.input,{color:C.foreground}],f[21]=C.foreground,f[22]=B):B=f[22],f[23]!==b.originalName||f[24]!==C.foregroundSubtle||f[25]!==R||f[26]!==A||f[27]!==B?(W=(0,I.jsx)(s.default,{value:A,onChangeText:P,onBlur:R,onSubmitEditing:R,returnKeyType:"done",placeholder:b.originalName,placeholderTextColor:C.foregroundSubtle,selectTextOnFocus:!0,style:B}),f[23]=b.originalName,f[24]=C.foregroundSubtle,f[25]=R,f[26]=A,f[27]=B,f[28]=W):W=f[28],f[29]!==V||f[30]!==W?(F=(0,I.jsxs)(t.default,{style:M.nameRow,children:[V,W]}),f[29]=V,f[30]=W,f[31]=F):F=f[31],f[32]!==b.originalName||f[33]!==C.foregroundSubtle||f[34]!==T?(K=T?(0,I.jsx)(l.default,{style:[M.original,{color:C.foregroundSubtle}],numberOfLines:1,children:b.originalName}):null,f[32]=b.originalName,f[33]=C.foregroundSubtle,f[34]=T,f[35]=K):K=f[35],f[36]!==F||f[37]!==K?(U=(0,I.jsxs)(t.default,{style:M.body,children:[F,K]}),f[36]=F,f[37]=K,f[38]=U):U=f[38],f[39]!==b.hidden||f[40]!==C.foregroundMuted?(q=b.hidden?(0,I.jsx)(y.EyeOff,{size:16,color:C.foregroundMuted}):null,f[39]=b.hidden,f[40]=C.foregroundMuted,f[41]=q):q=f[41];const J=!b.hidden;let Q,X,Y,Z;return f[42]!==N?(Q=e=>N(!e),f[42]=N,f[43]=Q):Q=f[43],f[44]!==C.border||f[45]!==C.primary?(X={false:C.border,true:C.primary},f[44]=C.border,f[45]=C.primary,f[46]=X):X=f[46],f[47]!==C.backgroundElevated||f[48]!==C.border||f[49]!==J||f[50]!==Q||f[51]!==X?(Y=(0,I.jsx)(u.default,{value:J,onValueChange:Q,trackColor:X,thumbColor:C.backgroundElevated,ios_backgroundColor:C.border}),f[47]=C.backgroundElevated,f[48]=C.border,f[49]=J,f[50]=Q,f[51]=X,f[52]=Y):Y=f[52],f[53]!==U||f[54]!==q||f[55]!==Y||f[56]!==z||f[57]!==_?(Z=(0,I.jsx)(p.ScaleDecorator,{children:(0,I.jsxs)(t.default,{style:z,children:[_,U,q,Y]})}),f[53]=U,f[54]=q,f[55]=Y,f[56]=z,f[57]=_,f[58]=Z):Z=f[58],Z}const M=f.default.create({centered:{flex:1,alignItems:'center',justifyContent:'center',padding:j.SPACING['2xl']},content:{padding:j.SPACING.md,gap:j.SPACING.md},hint:{fontSize:13,lineHeight:18,paddingHorizontal:j.SPACING.sm,paddingTop:j.SPACING.sm,paddingBottom:j.SPACING.md},row:{flexDirection:'row',alignItems:'center',gap:j.SPACING.lg,borderWidth:1,borderRadius:j.RADIUS.md,paddingVertical:j.SPACING.md,paddingHorizontal:j.SPACING.lg},handle:{paddingVertical:j.SPACING.sm,paddingRight:j.SPACING.xs},body:{flex:1,gap:2},nameRow:{flexDirection:'row',alignItems:'center',gap:j.SPACING.md},statusDot:{width:8,height:8,borderRadius:4},input:{flex:1,fontSize:16,fontWeight:'600',paddingVertical:0},original:{fontSize:12,marginLeft:8+j.SPACING.md}})},3552,[15,17,20,112,262,260,252,33,240,136,786,743,3553,813,2587,2589,3050,3080,3131,10]);
15974
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}});var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);Object.keys(o).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return o[e]}})});var c=r(d[2]);Object.keys(c).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return c[e]}})});var u=r(d[3]);Object.keys(u).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return u[e]}})});var f=r(d[4]);Object.keys(f).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return f[e]}})});var l=n.default},3553,[3554,3569,3571,3574,3575]);
15975
- __d(function(g,r,_i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return H}});var t=r(_d[0]),n=e(t),l=e(r(_d[1])),i=r(_d[2]),o=r(_d[3]),u=e(o),s=e(r(_d[4])),c=r(_d[5]),d=e(r(_d[6])),v=e(r(_d[7])),_=e(r(_d[8])),f=r(_d[9]),h=e(f),S=r(_d[10]),b=e(S),D=e(r(_d[11])),p=r(_d[12]),A=r(_d[13]),O=e(r(_d[14])),x=r(_d[15]);function I(){return I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},I.apply(this,arguments)}const w=u.default.createAnimatedComponent(i.FlatList),J={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs1(){const{isTouchActiveNative}=this.__closure;return isTouchActiveNative.value;}"},C={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs2(cur,prev){const{touchTranslate,activeIndexAnim,disabled,runOnJS,onRelease,onDragEnd,spacerIndexAnim}=this.__closure;if(cur!==prev&&!cur){const hasMoved=!!touchTranslate.value;if(!hasMoved&&activeIndexAnim.value>=0&&!disabled.value){runOnJS(onRelease)(activeIndexAnim.value);runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});}}}"},E={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs3(){const{spacerIndexAnim}=this.__closure;return spacerIndexAnim.value;}"},k={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs4(cur,prev){const{runOnJS,onPlaceholderIndexChange}=this.__closure;if(prev!==null&&cur!==prev&&cur>=0&&prev>=0){runOnJS(onPlaceholderIndexChange)(cur);}}"},T={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs5(){const{runOnJS,onContainerTouchEnd}=this.__closure;runOnJS(onContainerTouchEnd)();}"},R={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs6(){const{runOnJS,onContainerTouchStart}=this.__closure;runOnJS(onContainerTouchStart)();}"},y={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs7(evt){const{gestureDisabled,isTouchActiveNative,horizontalAnim,touchTranslate,autoScrollDistance,panGestureState,activeIndexAnim,disabled,runOnJS,onRelease,placeholderOffset,activeCellOffset,withSpring,animationConfigRef,onDragEnd,spacerIndexAnim}=this.__closure;if(gestureDisabled.value)return;isTouchActiveNative.value=false;const translation=horizontalAnim.value?evt.translationX:evt.translationY;touchTranslate.value=translation+autoScrollDistance.value;panGestureState.value=evt.state;if(activeIndexAnim.value===-1||disabled.value)return;disabled.value=true;runOnJS(onRelease)(activeIndexAnim.value);const springTo=placeholderOffset.value-activeCellOffset.value;touchTranslate.value=withSpring(springTo,animationConfigRef.value,function(){runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});disabled.value=false;});}"},z={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs8(evt){const{gestureDisabled,panGestureState,horizontalAnim,touchTranslate}=this.__closure;if(gestureDisabled.value)return;panGestureState.value=evt.state;const translation=horizontalAnim.value?evt.translationX:evt.translationY;touchTranslate.value=translation;}"},F={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs9(evt){const{gestureDisabled,disabled,panGestureState}=this.__closure;gestureDisabled.value=disabled.value;if(gestureDisabled.value)return;panGestureState.value=evt.state;}"},L={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs10(){const{runOnJS,onDragEnd,activeIndexAnim,spacerIndexAnim,disabled}=this.__closure;runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});disabled.value=false;}"},N={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs11(evt){const{scrollOffset,horizontalAnim,runOnJS,onScroll}=this.__closure;scrollOffset.value=horizontalAnim.value?evt.contentOffset.x:evt.contentOffset.y;runOnJS(onScroll)(scrollOffset.value);}"};function P(e,t){return n.default.createElement(_.default,e,n.default.createElement(h.default,null,n.default.createElement(b.default,{flatListRef:t},n.default.createElement(G,e))))}const G=(0,x.typedMemo)(function(e){const{cellDataRef:_,containerRef:h,flatlistRef:b,keyToIndexRef:x,propsRef:P,animationConfigRef:G}=(0,S.useRefs)(),{activeCellOffset:H,activeCellSize:M,activeIndexAnim:V,containerSize:j,scrollOffset:Y,scrollViewSize:U,spacerIndexAnim:X,horizontalAnim:K,placeholderOffset:B,touchTranslate:q,autoScrollDistance:Q,panGestureState:W,isTouchActiveNative:Z,viewableIndexMin:$,viewableIndexMax:ee,disabled:te}=(0,f.useAnimatedValues)(),ae=(0,A.useStableCallback)(()=>{V.value=-1,X.value=-1,q.value=0,M.value=-1,H.value=-1,oe(null)}),{dragHitSlop:ne=c.DEFAULT_PROPS.dragHitSlop,scrollEnabled:le=c.DEFAULT_PROPS.scrollEnabled,activationDistance:re=c.DEFAULT_PROPS.activationDistance}=e;let[ie,oe]=(0,t.useState)(null);const[ue,se]=(0,t.useState)(!P.current.enableLayoutAnimationExperimental),ce=(0,A.useStableCallback)((t,n)=>{if(!e.keyExtractor)throw new Error("You must provide a keyExtractor to DraggableFlatList");return e.keyExtractor(t,n)}),de=(0,t.useRef)(e.data),ve=de.current.map(ce).join("")!==e.data.map(ce).join("");de.current=e.data,ve&&(ie=null,l.default.runAfterInteractions(()=>{ae()})),(0,t.useEffect)(()=>{P.current.enableLayoutAnimationExperimental&&(ie?se(!0):setTimeout(()=>{se(!1)},100))},[ie]),(0,t.useLayoutEffect)(()=>{e.data.forEach((e,t)=>{const n=ce(e,t);x.current.set(n,t)})},[e.data,ce,x]);const fe=(0,A.useStableCallback)(e=>{if(te.value)return;const t=x.current.get(e),n=_.current.get(e);n&&(H.value=n.measurements.offset,M.value=n.measurements.size);const{onDragBegin:l}=P.current;void 0!==t&&(X.value=t,V.value=t,oe(e),null==l||l(t))}),he=(0,t.useMemo)(()=>({activeKey:ie,extraData:e.extraData}),[ie,e.extraData]),me=(0,t.useCallback)(t=>{let{item:l,index:i}=t;const o=ce(l,i);return i!==x.current.get(o)&&x.current.set(o,i),n.default.createElement(v.default,{item:l,itemKey:o,renderItem:e.renderItem,drag:fe,extraData:e.extraData})},[e.renderItem,e.extraData,fe,ce]),ge=(0,A.useStableCallback)(t=>{var n;null===(n=e.onRelease)||void 0===n||n.call(e,t)}),Se=(0,A.useStableCallback)(t=>{let{from:n,to:l}=t;const{onDragEnd:i,data:o}=e,u=[...o];n!==l&&(u.splice(n,1),u.splice(l,0,o[n])),null==i||i({from:n,to:l,data:u}),oe(null)}),be=(0,A.useStableCallback)(t=>{var n;null===(n=e.onPlaceholderIndexChange)||void 0===n||n.call(e,t)});(0,o.useAnimatedReaction)((function({_worklet_12667785060637_init_data:e,isTouchActiveNative:t}){const n=function(){return t.value};return n.__closure={isTouchActiveNative:t},n.__workletHash=0xb8572d4211d,n.__initData=e,n})({_worklet_12667785060637_init_data:J,isTouchActiveNative:Z}),(function({_worklet_3017769988260_init_data:e,touchTranslate:t,activeIndexAnim:n,disabled:l,runOnJS:i,onRelease:o,onDragEnd:u,spacerIndexAnim:s}){const c=function(e,c){if(e!==c&&!e){!!!t.value&&n.value>=0&&!l.value&&(i(o)(n.value),i(u)({from:n.value,to:s.value}))}};return c.__closure={touchTranslate:t,activeIndexAnim:n,disabled:l,runOnJS:i,onRelease:o,onDragEnd:u,spacerIndexAnim:s},c.__workletHash=3017769988260,c.__initData=e,c})({_worklet_3017769988260_init_data:C,touchTranslate:q,activeIndexAnim:V,disabled:te,runOnJS:o.runOnJS,onRelease:ge,onDragEnd:Se,spacerIndexAnim:X}),[Z,Se,ge]),(0,o.useAnimatedReaction)((function({_worklet_6176791664127_init_data:e,spacerIndexAnim:t}){const n=function(){return t.value};return n.__closure={spacerIndexAnim:t},n.__workletHash=6176791664127,n.__initData=e,n})({_worklet_6176791664127_init_data:E,spacerIndexAnim:X}),(function({_worklet_2590604232580_init_data:e,runOnJS:t,onPlaceholderIndexChange:n}){const l=function(e,l){null!==l&&e!==l&&e>=0&&l>=0&&t(n)(e)};return l.__closure={runOnJS:t,onPlaceholderIndexChange:n},l.__workletHash=2590604232580,l.__initData=e,l})({_worklet_2590604232580_init_data:k,runOnJS:o.runOnJS,onPlaceholderIndexChange:be}),[X]);const De=(0,o.useSharedValue)(!1),pe=i.Gesture.Pan().onBegin((function({_worklet_7787583163440_init_data:e,gestureDisabled:t,disabled:n,panGestureState:l}){const i=function(e){t.value=n.value,t.value||(l.value=e.state)};return i.__closure={gestureDisabled:t,disabled:n,panGestureState:l},i.__workletHash=7787583163440,i.__initData=e,i})({_worklet_7787583163440_init_data:F,gestureDisabled:De,disabled:te,panGestureState:W})).onUpdate((function({_worklet_11677334153389_init_data:e,gestureDisabled:t,panGestureState:n,horizontalAnim:l,touchTranslate:i}){const o=function(e){if(t.value)return;n.value=e.state;const o=l.value?e.translationX:e.translationY;i.value=o};return o.__closure={gestureDisabled:t,panGestureState:n,horizontalAnim:l,touchTranslate:i},o.__workletHash=0xa9ed75aa8ad,o.__initData=e,o})({_worklet_11677334153389_init_data:z,gestureDisabled:De,panGestureState:W,horizontalAnim:K,touchTranslate:q})).onEnd((function({_worklet_13600115403067_init_data:e,gestureDisabled:t,isTouchActiveNative:n,horizontalAnim:l,touchTranslate:i,autoScrollDistance:o,panGestureState:u,activeIndexAnim:s,disabled:c,runOnJS:d,onRelease:v,placeholderOffset:_,activeCellOffset:f,withSpring:h,animationConfigRef:S,onDragEnd:b,spacerIndexAnim:D}){const p=function(e){if(t.value)return;n.value=!1;const p=l.value?e.translationX:e.translationY;if(i.value=p+o.value,u.value=e.state,-1===s.value||c.value)return;c.value=!0,d(v)(s.value);const A=_.value-f.value;i.value=h(A,S.value,(function({_worklet_9458151985595_init_data:e,runOnJS:t,onDragEnd:n,activeIndexAnim:l,spacerIndexAnim:i,disabled:o}){const u=function(){t(n)({from:l.value,to:i.value}),o.value=!1};return u.__closure={runOnJS:t,onDragEnd:n,activeIndexAnim:l,spacerIndexAnim:i,disabled:o},u.__workletHash=9458151985595,u.__initData=e,u})({_worklet_9458151985595_init_data:L,runOnJS:d,onDragEnd:b,activeIndexAnim:s,spacerIndexAnim:D,disabled:c}))};return p.__closure={gestureDisabled:t,isTouchActiveNative:n,horizontalAnim:l,touchTranslate:i,autoScrollDistance:o,panGestureState:u,activeIndexAnim:s,disabled:c,runOnJS:d,onRelease:v,placeholderOffset:_,activeCellOffset:f,withSpring:h,animationConfigRef:S,onDragEnd:b,spacerIndexAnim:D},p.__workletHash=0xc5e860c293b,p.__initData=e,p})({_worklet_13600115403067_init_data:y,gestureDisabled:De,isTouchActiveNative:Z,horizontalAnim:K,touchTranslate:q,autoScrollDistance:Q,panGestureState:W,activeIndexAnim:V,disabled:te,runOnJS:o.runOnJS,onRelease:ge,placeholderOffset:B,activeCellOffset:H,withSpring:o.withSpring,animationConfigRef:G,onDragEnd:Se,spacerIndexAnim:X})).onTouchesDown((function({_worklet_2544844199545_init_data:e,runOnJS:t,onContainerTouchStart:n}){const l=function(){t(n)()};return l.__closure={runOnJS:t,onContainerTouchStart:n},l.__workletHash=2544844199545,l.__initData=e,l})({_worklet_2544844199545_init_data:R,runOnJS:o.runOnJS,onContainerTouchStart:()=>(te.value||(Z.value=!0),!1)})).onTouchesUp((function({_worklet_8529291078106_init_data:e,runOnJS:t,onContainerTouchEnd:n}){const l=function(){t(n)()};return l.__closure={runOnJS:t,onContainerTouchEnd:n},l.__workletHash=8529291078106,l.__initData=e,l})({_worklet_8529291078106_init_data:T,runOnJS:o.runOnJS,onContainerTouchEnd:()=>{Z.value=!1}}));if(ne&&pe.hitSlop(ne),re){const t=[-re,re];e.horizontal?pe.activeOffsetX(t):pe.activeOffsetY(t)}const Ae=(0,A.useStableCallback)(t=>{var n;null===(n=e.onScrollOffsetChange)||void 0===n||n.call(e,t)}),Oe=(0,o.useAnimatedScrollHandler)({onScroll:(function({_worklet_11729156081231_init_data:e,scrollOffset:t,horizontalAnim:n,runOnJS:l,onScroll:i}){const o=function(e){t.value=n.value?e.contentOffset.x:e.contentOffset.y,l(i)(t.value)};return o.__closure={scrollOffset:t,horizontalAnim:n,runOnJS:l,onScroll:i},o.__workletHash=0xaaae82e864f,o.__initData=e,o})({_worklet_11729156081231_init_data:N,scrollOffset:Y,horizontalAnim:K,runOnJS:o.runOnJS,onScroll:Ae})},[K]);(0,p.useAutoScroll)();const xe=(0,A.useStableCallback)(t=>{var n;const l=t.viewableItems.filter(e=>e.isViewable).map(e=>e.index).filter(e=>"number"==typeof e),i=Math.min(...l),o=Math.max(...l);$.value=i,ee.value=o,null===(n=e.onViewableItemsChanged)||void 0===n||n.call(e,t)});return n.default.createElement(D.default,{activeKey:ie,keyExtractor:ce,horizontal:!!e.horizontal,layoutAnimationDisabled:ue},n.default.createElement(i.GestureDetector,{gesture:pe},n.default.createElement(u.default.View,{style:e.containerStyle,ref:h,onLayout:t=>{var n;let{nativeEvent:{layout:l}}=t;const{width:i,height:o}=l;j.value=e.horizontal?i:o,null===(n=e.onContainerLayout)||void 0===n||n.call(e,{layout:l,containerRef:h})}},e.renderPlaceholder&&n.default.createElement(d.default,{renderPlaceholder:e.renderPlaceholder}),n.default.createElement(w,I({},e,{data:e.data,onViewableItemsChanged:xe,CellRendererComponent:s.default,ref:b,onContentSizeChange:(t,n)=>{var l;U.value=e.horizontal?t:n,null===(l=e.onContentSizeChange)||void 0===l||l.call(e,t,n)},scrollEnabled:!ie&&le,renderItem:me,extraData:he,keyExtractor:ce,onScroll:Oe,scrollEventThrottle:16,simultaneousHandlers:e.simultaneousHandlers,removeClippedSubviews:!1})),!!e.onScrollOffsetChange&&n.default.createElement(O.default,{onScrollOffsetChange:e.onScrollOffsetChange,scrollOffset:Y}))))});var H=n.default.forwardRef(P)},3554,[17,155,3241,2714,3555,3557,3565,3566,3560,3559,3561,3556,3567,3564,3568,3562]);
15976
- __d(function(g,r,_i,a,m,_e,d){"use strict";const t=["item","index","onLayout","children"];function e(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return R}});var n=e(r(d[0])),o=r(d[1]),i=e(o),l=e(r(d[2])),s=r(d[3]),u=e(s),c=r(d[4]),f=r(d[5]),_=r(d[6]),h=r(d[7]),y=r(d[8]),C=r(d[9]),b=e(r(d[10])),v=r(d[11]);function L(){return L=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},L.apply(this,arguments)}const A={code:"function reactNativeDraggableFlatlist_CellRendererComponentJs1(){const{translate,isWeb,heldTanslate,activeKey,horizontalAnim}=this.__closure;if(translate.value&&!isWeb){heldTanslate.value=translate.value;}const t=activeKey?translate.value:heldTanslate.value;return{transform:[horizontalAnim.value?{translateX:t}:{translateY:t}]};}"},D={code:"function reactNativeDraggableFlatlist_CellRendererComponentJs2(t,_layoutDisabled){const{stashConfig,getStashedConfig}=this.__closure;if(!t)return;const config=global.LayoutAnimationRepository.configs[t];if(config)stashConfig(t,config);const stashedConfig=getStashedConfig(t);if(_layoutDisabled){global.LayoutAnimationRepository.removeConfig(t);}else if(stashedConfig){global.LayoutAnimationRepository.registerConfig(t,stashedConfig);}}"};var R=(0,h.typedMemo)(function(e){const{item:h,index:R,onLayout:F,children:k}=e,w=(0,n.default)(e,t),N=(0,o.useRef)(null),{cellDataRef:x,propsRef:z,containerRef:E}=(0,y.useRefs)(),{horizontalAnim:O,scrollOffset:W}=(0,C.useAnimatedValues)(),{activeKey:T,keyExtractor:K,horizontal:H,layoutAnimationDisabled:J}=(0,c.useDraggableFlatListContext)(),V=K(h,R),j=(0,s.useSharedValue)(-1),I=(0,s.useSharedValue)(-1),M=(0,s.useSharedValue)(0),P=(0,_.useCellTranslate)({cellOffset:j,cellSize:I,cellIndex:R}),U=T===V,X=(0,s.useAnimatedStyle)((function({_worklet_9493151677458_init_data:t,translate:e,isWeb:n,heldTanslate:o,activeKey:i,horizontalAnim:l}){const s=function(){e.value&&!n&&(o.value=e.value);const t=i?e.value:o.value;return{transform:[l.value?{translateX:t}:{translateY:t}]}};return s.__closure={translate:e,isWeb:n,heldTanslate:o,activeKey:i,horizontalAnim:l},s.__workletHash=9493151677458,s.__initData=t,s})({_worklet_9493151677458_init_data:A,translate:P,isWeb:f.isWeb,heldTanslate:M,activeKey:T,horizontalAnim:O}),[P,T]),Y=(0,v.useStableCallback)(()=>{const t=(t,e,n,o)=>{f.isWeb&&H&&(t+=W.value);const i=H?t:e,l=H?n:o;x.current.set(V,{measurements:{size:l,offset:i}}),I.value=l,j.value=i},e=()=>{var t;null!==(t=z.current)&&void 0!==t&&t.debug&&console.log(`## on measure fail, index: ${R}`)},n=E.current,o=N.current,i=n;o&&i&&o.measureLayout(i,t,e)}),q=(0,v.useStableCallback)(t=>{M.value=0,Y(),F&&t&&F(t)});(0,o.useEffect)(()=>{f.isWeb&&requestAnimationFrame(()=>{q()})},[R,q]);const $=(0,o.useMemo)(()=>({elevation:U?1:0,zIndex:U?999:0,flexDirection:H?"row":"column"}),[U,H]),{itemEnteringAnimation:B,itemExitingAnimation:G,itemLayoutAnimation:Q}=z.current;return(0,o.useEffect)(()=>{if(!z.current.enableLayoutAnimationExperimental)return;const t=(0,l.default)(N.current);(0,s.runOnUI)((function({_worklet_10702969925975_init_data:t,stashConfig:e,getStashedConfig:n}){const o=function(t,o){if(!t)return;const i=g.LayoutAnimationRepository.configs[t];i&&e(t,i);const l=n(t);o?g.LayoutAnimationRepository.removeConfig(t):l&&g.LayoutAnimationRepository.registerConfig(t,l)};return o.__closure={stashConfig:e,getStashedConfig:n},o.__workletHash=0x9bbfab87157,o.__initData=t,o})({_worklet_10702969925975_init_data:D,stashConfig:S,getStashedConfig:p}))(t,J)},[J]),i.default.createElement(u.default.View,L({},w,{ref:N,onLayout:q,entering:B,exiting:G,layout:z.current.enableLayoutAnimationExperimental?Q:void 0,style:[e.style,$,X],pointerEvents:T?"none":"auto"}),i.default.createElement(b.default,{isActive:U},k))});(0,s.runOnUI)((function({_worklet_4071045011151_init_data:t}){const e=function(){g.RNDFLLayoutAnimationConfigStash={}};return e.__closure={},e.__workletHash=4071045011151,e.__initData=t,e})({_worklet_4071045011151_init_data:{code:"function reactNativeDraggableFlatlist_CellRendererComponentJs3(){global.RNDFLLayoutAnimationConfigStash={};}"}}))();const S=(function({_worklet_17335747121283_init_data:t}){const e=function(t,e){g.RNDFLLayoutAnimationConfigStash||(g.RNDFLLayoutAnimationConfigStash={}),g.RNDFLLayoutAnimationConfigStash[t]=e};return e.__closure={},e.__workletHash=0xfc44b0c9083,e.__initData=t,e})({_worklet_17335747121283_init_data:{code:"function stashConfig_reactNativeDraggableFlatlist_CellRendererComponentJs4(tag,config){if(!global.RNDFLLayoutAnimationConfigStash)global.RNDFLLayoutAnimationConfigStash={};global.RNDFLLayoutAnimationConfigStash[tag]=config;}"}}),p=(function({_worklet_1208922414792_init_data:t}){const e=function(t){return g.RNDFLLayoutAnimationConfigStash?g.RNDFLLayoutAnimationConfigStash[t]:null};return e.__closure={},e.__workletHash=1208922414792,e.__initData=t,e})({_worklet_1208922414792_init_data:{code:"function getStashedConfig_reactNativeDraggableFlatlist_CellRendererComponentJs5(tag){if(!global.RNDFLLayoutAnimationConfigStash)return null;return global.RNDFLLayoutAnimationConfigStash[tag];}"}})},3555,[120,17,122,2714,3556,3557,3558,3562,3561,3559,3563,3564]);
15977
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useDraggableFlatListContext=function(){const e=(0,t.useContext)(o);if(!e)throw new Error("useDraggableFlatListContext must be called within DraggableFlatListProvider");return e};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e};const o=n.default.createContext(void 0);function l(e){let{activeKey:l,keyExtractor:u,horizontal:c,layoutAnimationDisabled:s,children:f}=e;const b=(0,t.useMemo)(()=>({activeKey:l,keyExtractor:u,horizontal:c,layoutAnimationDisabled:s}),[l,u,c,s]);return n.default.createElement(o.Provider,{value:b},f)}},3556,[17]);
15978
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"SCROLL_POSITION_TOLERANCE",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"DEFAULT_ANIMATION_CONFIG",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"DEFAULT_PROPS",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"isIOS",{enumerable:!0,get:function(){return l}}),Object.defineProperty(e,"isAndroid",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"isWeb",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"isReanimatedV2",{enumerable:!0,get:function(){return f}}),r(d[0]);var t=r(d[1]);const n=2,o={damping:20,mass:.2,stiffness:100,overshootClamping:!1,restSpeedThreshold:.2,restDisplacementThreshold:.2},u={autoscrollThreshold:30,autoscrollSpeed:100,animationConfig:o,scrollEnabled:!0,dragHitSlop:0,activationDistance:0,dragItemOverflow:!1},l=!1,s=!1,c=!0,f=!!t.useSharedValue;if(!f)throw new Error("Your version of react-native-reanimated is too old for react-native-draggable-flatlist!")},3557,[136,2714]);
15979
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useCellTranslate=function(c){let{cellIndex:f,cellSize:u,cellOffset:o}=c;const{activeIndexAnim:x,activeCellSize:A,hoverOffset:I,spacerIndexAnim:h,placeholderOffset:S,hoverAnim:O,viewableIndexMin:z,viewableIndexMax:w}=(0,t.useAnimatedValues)(),{activeKey:p}=(0,n.useDraggableFlatListContext)(),{animationConfigRef:_}=(0,v.useRefs)(),C=(0,l.useDerivedValue)((function({_worklet_14653729795643_init_data:l,cellIndex:t,activeIndexAnim:n,viewableIndexMin:v,viewableIndexMax:s,activeKey:c,hoverOffset:f,activeCellSize:u,cellOffset:o,cellSize:x,spacerIndexAnim:A,placeholderOffset:I,hoverAnim:h,withSpring:S,animationConfigRef:O}){const z=function(){const l=t===n.value,z=!l&&(t<v.value||t>s.value);if(!c||n.value<0||z)return 0;const w=t<n.value,p=t>n.value,_=f.value+u.value,C=o.value+x.value/2,b=o.value+x.value;let P=-1;if(p?_>=o.value&&_<C?P=t-1:_>=C&&_<b&&(P=t):w&&(f.value<b&&f.value>=C?P=t+1:f.value>=o.value&&f.value<C&&(P=t)),-1!==P&&P!==A.value&&(A.value=P),A.value===t){const l=p?x.value+(o.value-u.value):o.value;I.value=l}if(l)return h.value;const M=(p?t<=A.value:t>=A.value)?u.value*(p?-1:1):0;return S(M,O.value)};return z.__closure={cellIndex:t,activeIndexAnim:n,viewableIndexMin:v,viewableIndexMax:s,activeKey:c,hoverOffset:f,activeCellSize:u,cellOffset:o,cellSize:x,spacerIndexAnim:A,placeholderOffset:I,hoverAnim:h,withSpring:S,animationConfigRef:O},z.__workletHash=0xd53d65bee3b,z.__initData=l,z})({_worklet_14653729795643_init_data:s,cellIndex:f,activeIndexAnim:x,viewableIndexMin:z,viewableIndexMax:w,activeKey:p,hoverOffset:I,activeCellSize:A,cellOffset:o,cellSize:u,spacerIndexAnim:h,placeholderOffset:S,hoverAnim:O,withSpring:l.withSpring,animationConfigRef:_}),[p,f]);return C};var l=r(d[0]),t=r(d[1]),n=r(d[2]),v=r(d[3]);const s={code:"function reactNativeDraggableFlatlist_useCellTranslateJs1(){const{cellIndex,activeIndexAnim,viewableIndexMin,viewableIndexMax,activeKey,hoverOffset,activeCellSize,cellOffset,cellSize,spacerIndexAnim,placeholderOffset,hoverAnim,withSpring,animationConfigRef}=this.__closure;const isActiveCell=cellIndex===activeIndexAnim.value;const isOutsideViewableRange=!isActiveCell&&(cellIndex<viewableIndexMin.value||cellIndex>viewableIndexMax.value);if(!activeKey||activeIndexAnim.value<0||isOutsideViewableRange){return 0;}const isBeforeActive=cellIndex<activeIndexAnim.value;const isAfterActive=cellIndex>activeIndexAnim.value;const hoverPlusActiveSize=hoverOffset.value+activeCellSize.value;const offsetPlusHalfSize=cellOffset.value+cellSize.value/2;const offsetPlusSize=cellOffset.value+cellSize.value;let result=-1;if(isAfterActive){if(hoverPlusActiveSize>=cellOffset.value&&hoverPlusActiveSize<offsetPlusHalfSize){result=cellIndex-1;}else if(hoverPlusActiveSize>=offsetPlusHalfSize&&hoverPlusActiveSize<offsetPlusSize){result=cellIndex;}}else if(isBeforeActive){if(hoverOffset.value<offsetPlusSize&&hoverOffset.value>=offsetPlusHalfSize){result=cellIndex+1;}else if(hoverOffset.value>=cellOffset.value&&hoverOffset.value<offsetPlusHalfSize){result=cellIndex;}}if(result!==-1&&result!==spacerIndexAnim.value){spacerIndexAnim.value=result;}if(spacerIndexAnim.value===cellIndex){const newPlaceholderOffset=isAfterActive?cellSize.value+(cellOffset.value-activeCellSize.value):cellOffset.value;placeholderOffset.value=newPlaceholderOffset;}if(isActiveCell){return hoverAnim.value;}const shouldTranslate=isAfterActive?cellIndex<=spacerIndexAnim.value:cellIndex>=spacerIndexAnim.value;const translationAmt=shouldTranslate?activeCellSize.value*(isAfterActive?-1:1):0;return withSpring(translationAmt,animationConfigRef.value);}"}},3558,[2714,3559,3556,3561]);
15980
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return s}}),_e.useAnimatedValues=function(){const e=(0,t.useContext)(u);if(!e)throw new Error("useAnimatedValues must be called from within AnimatedValueProvider!");return e};var e,t=r(d[0]),l=(e=t)&&e.__esModule?e:{default:e},n=r(d[1]),o=r(d[2]),c=r(d[3]);const u=l.default.createContext(void 0);function s(e){let{children:t}=e;const n=O();return l.default.createElement(u.Provider,{value:n},t)}const v={code:"function reactNativeDraggableFlatlist_animatedValueContextJs1(){const{activeIndexAnim}=this.__closure;return activeIndexAnim.value;}"},f={code:"function reactNativeDraggableFlatlist_animatedValueContextJs2(cur,prev){const{scrollInit,scrollOffset,outerScrollInit,outerScrollOffset}=this.__closure;if(cur!==prev&&cur>=0){scrollInit.value=scrollOffset.value;outerScrollInit.value=outerScrollOffset.value;}}"},_={code:"function reactNativeDraggableFlatlist_animatedValueContextJs3(){const{isTouchActiveNative,activeIndexAnim}=this.__closure;return isTouchActiveNative.value&&activeIndexAnim.value>=0;}"},h={code:"function reactNativeDraggableFlatlist_animatedValueContextJs4(){const{isDraggingCell,scrollOffset,scrollInit,outerScrollOffset,outerScrollInit}=this.__closure;if(!isDraggingCell.value)return 0;const innerScrollDiff=scrollOffset.value-scrollInit.value;const outerScrollDiff=outerScrollOffset.value-outerScrollInit.value;const scrollDiff=innerScrollDiff+outerScrollDiff;return scrollDiff;}"},S={code:"function reactNativeDraggableFlatlist_animatedValueContextJs5(){const{isTouchActiveNative,autoScrollDistance,touchTranslate}=this.__closure;const extraTranslate=isTouchActiveNative.value?autoScrollDistance.value:0;return touchTranslate.value+extraTranslate;}"},D={code:"function reactNativeDraggableFlatlist_animatedValueContextJs6(){const{containerSize,activeCellSize,scrollOffset,touchPositionDiff,activeCellOffset,scrollViewSize,isTouchActiveNative}=this.__closure;const containerMinusActiveCell=containerSize.value-activeCellSize.value+scrollOffset.value;const offsetRelativeToScrollTop=touchPositionDiff.value+activeCellOffset.value;const constrained=Math.min(containerMinusActiveCell,Math.max(scrollOffset.value,offsetRelativeToScrollTop));const maxTranslateNegative=-activeCellOffset.value;const maxTranslatePositive=scrollViewSize.value-(activeCellOffset.value+activeCellSize.value);const constrainedBase=isTouchActiveNative.value?constrained-activeCellOffset.value:touchPositionDiff.value;return Math.min(Math.max(constrainedBase,maxTranslateNegative),maxTranslatePositive);}"},A={code:"function reactNativeDraggableFlatlist_animatedValueContextJs7(){const{activeIndexAnim,dragItemOverflow,touchPositionDiff,touchPositionDiffConstrained}=this.__closure;if(activeIndexAnim.value<0)return 0;return dragItemOverflow?touchPositionDiff.value:touchPositionDiffConstrained.value;}"},I={code:"function reactNativeDraggableFlatlist_animatedValueContextJs8(){const{hoverAnim,activeCellOffset}=this.__closure;return hoverAnim.value+activeCellOffset.value;}"},x={code:"function reactNativeDraggableFlatlist_animatedValueContextJs9(){const{activeIndexAnim,spacerIndexAnim}=this.__closure;const isHovering=activeIndexAnim.value>=0;if(!isHovering&&spacerIndexAnim.value>=0){spacerIndexAnim.value=-1;}}"};function O(){const e=(0,c.useProps)(),l=(0,n.useSharedValue)(0),u=(0,n.useSharedValue)(0),s=(0,n.useSharedValue)(0),O=(0,n.useSharedValue)(o.State.UNDETERMINED),C=(0,n.useSharedValue)(0),V=(0,n.useSharedValue)(!1),w=(0,n.useSharedValue)(0),T=(0,n.useSharedValue)(!1),N=(0,n.useSharedValue)(!!e.horizontal),k=(0,n.useSharedValue)(-1),P=(0,n.useSharedValue)(-1),z=(0,n.useSharedValue)(0),b=(0,n.useSharedValue)(0),p=(0,n.useSharedValue)(0),M=(0,n.useSharedValue)(0),H=(0,n.useSharedValue)(0),F=(0,n.useSharedValue)(0),J=e.outerScrollOffset||l,E=(0,n.useSharedValue)(0);(0,n.useAnimatedReaction)((function({_worklet_9770780663126_init_data:e,activeIndexAnim:t}){const l=function(){return t.value};return l.__closure={activeIndexAnim:t},l.__workletHash=9770780663126,l.__initData=e,l})({_worklet_9770780663126_init_data:v,activeIndexAnim:k}),(function({_worklet_2669524968831_init_data:e,scrollInit:t,scrollOffset:l,outerScrollInit:n,outerScrollOffset:o}){const c=function(e,c){e!==c&&e>=0&&(t.value=l.value,n.value=o.value)};return c.__closure={scrollInit:t,scrollOffset:l,outerScrollInit:n,outerScrollOffset:o},c.__workletHash=2669524968831,c.__initData=e,c})({_worklet_2669524968831_init_data:f,scrollInit:M,scrollOffset:p,outerScrollInit:E,outerScrollOffset:J}),[J]);const R=(0,n.useSharedValue)(0),j=(0,n.useDerivedValue)((function({_worklet_13229976984046_init_data:e,isTouchActiveNative:t,activeIndexAnim:l}){const n=function(){return t.value&&l.value>=0};return n.__closure={isTouchActiveNative:t,activeIndexAnim:l},n.__workletHash=0xc08581419ee,n.__initData=e,n})({_worklet_13229976984046_init_data:_,isTouchActiveNative:V,activeIndexAnim:k}),[]),y=(0,n.useDerivedValue)((function({_worklet_163796717909_init_data:e,isDraggingCell:t,scrollOffset:l,scrollInit:n,outerScrollOffset:o,outerScrollInit:c}){const u=function(){if(!t.value)return 0;return l.value-n.value+(o.value-c.value)};return u.__closure={isDraggingCell:t,scrollOffset:l,scrollInit:n,outerScrollOffset:o,outerScrollInit:c},u.__workletHash=163796717909,u.__initData=e,u})({_worklet_163796717909_init_data:h,isDraggingCell:j,scrollOffset:p,scrollInit:M,outerScrollOffset:J,outerScrollInit:E}),[]),B=(0,n.useDerivedValue)((function({_worklet_14268807456143_init_data:e,isTouchActiveNative:t,autoScrollDistance:l,touchTranslate:n}){const o=function(){const e=t.value?l.value:0;return n.value+e};return o.__closure={isTouchActiveNative:t,autoScrollDistance:l,touchTranslate:n},o.__workletHash=0xcfa3733258f,o.__initData=e,o})({_worklet_14268807456143_init_data:S,isTouchActiveNative:V,autoScrollDistance:y,touchTranslate:C}),[]),G=(0,n.useDerivedValue)((function({_worklet_2161134542663_init_data:e,containerSize:t,activeCellSize:l,scrollOffset:n,touchPositionDiff:o,activeCellOffset:c,scrollViewSize:u,isTouchActiveNative:s}){const v=function(){const e=t.value-l.value+n.value,v=o.value+c.value,f=Math.min(e,Math.max(n.value,v)),_=-c.value,h=u.value-(c.value+l.value),S=s.value?f-c.value:o.value;return Math.min(Math.max(S,_),h)};return v.__closure={containerSize:t,activeCellSize:l,scrollOffset:n,touchPositionDiff:o,activeCellOffset:c,scrollViewSize:u,isTouchActiveNative:s},v.__workletHash=2161134542663,v.__initData=e,v})({_worklet_2161134542663_init_data:D,containerSize:u,activeCellSize:z,scrollOffset:p,touchPositionDiff:B,activeCellOffset:b,scrollViewSize:s,isTouchActiveNative:V}),[]),U=e.dragItemOverflow,q=(0,n.useDerivedValue)((function({_worklet_5411143051866_init_data:e,activeIndexAnim:t,dragItemOverflow:l,touchPositionDiff:n,touchPositionDiffConstrained:o}){const c=function(){return t.value<0?0:l?n.value:o.value};return c.__closure={activeIndexAnim:t,dragItemOverflow:l,touchPositionDiff:n,touchPositionDiffConstrained:o},c.__workletHash=5411143051866,c.__initData=e,c})({_worklet_5411143051866_init_data:A,activeIndexAnim:k,dragItemOverflow:U,touchPositionDiff:B,touchPositionDiffConstrained:G}),[]),K=(0,n.useDerivedValue)((function({_worklet_7836450724061_init_data:e,hoverAnim:t,activeCellOffset:l}){const n=function(){return t.value+l.value};return n.__closure={hoverAnim:t,activeCellOffset:l},n.__workletHash=7836450724061,n.__initData=e,n})({_worklet_7836450724061_init_data:I,hoverAnim:q,activeCellOffset:b}),[q,b]);(0,n.useDerivedValue)((function({_worklet_12000071238288_init_data:e,activeIndexAnim:t,spacerIndexAnim:l}){const n=function(){!(t.value>=0)&&l.value>=0&&(l.value=-1)};return n.__closure={activeIndexAnim:t,spacerIndexAnim:l},n.__workletHash=0xae9fbfbc290,n.__initData=e,n})({_worklet_12000071238288_init_data:x,activeIndexAnim:k,spacerIndexAnim:P}),[]);const L=(0,t.useCallback)(()=>{b.value=0,w.value=0},[]),Q=(0,t.useMemo)(()=>({activeCellOffset:b,activeCellSize:z,activeIndexAnim:k,containerSize:u,disabled:T,horizontalAnim:N,hoverAnim:q,hoverOffset:K,isDraggingCell:j,isTouchActiveNative:V,panGestureState:O,placeholderOffset:R,resetTouchedCell:L,scrollOffset:p,scrollViewSize:s,spacerIndexAnim:P,touchPositionDiff:B,touchTranslate:C,autoScrollDistance:y,viewableIndexMin:H,viewableIndexMax:F}),[b,z,k,u,T,N,q,K,j,V,O,R,L,p,s,P,B,C,y,H,F]);return(0,t.useEffect)(()=>{var t;null===(t=e.onAnimValInit)||void 0===t||t.call(e,Q)},[Q]),Q}},3559,[17,2714,3241,3560]);
15981
- __d(function(g,r,i,a,m,_e,d){"use strict";const e=["children"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useProps=function(){const e=(0,u.useContext)(c);if(!e)throw new Error("useProps must be called from within PropsProvider!");return e};var n=t(r(d[0])),u=r(d[1]),o=t(u);const c=o.default.createContext(void 0);function l(t){let{children:u}=t,l=(0,n.default)(t,e);return o.default.createElement(c.Provider,{value:l},u)}},3560,[120,17]);
15982
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useRefs=function(){const e=(0,t.useContext)(s);if(!e)throw new Error("useRefs must be called from within a RefContext.Provider!");return e};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},f=r(d[1]),u=r(d[2]),o=r(d[3]);const s=n.default.createContext(void 0);function l(e){let{children:t,flatListRef:f}=e;const u=c({flatListRef:f});return n.default.createElement(s.Provider,{value:u},t)}function c(e){let{flatListRef:n}=e;const s=(0,o.useProps)(),{animationConfig:l=u.DEFAULT_PROPS.animationConfig}=s,c=(0,t.useRef)(s);c.current=s;const R=(0,t.useMemo)(()=>Object.assign({},u.DEFAULT_PROPS.animationConfig,l),[l]),P=(0,f.useSharedValue)(R);(0,t.useEffect)(()=>{P.value=R},[R]);const _=(0,t.useRef)(new Map),p=(0,t.useRef)(new Map),v=(0,t.useRef)(null),C=(0,t.useRef)(null),w=n||C,M=(0,t.useRef)(null);return(0,t.useMemo)(()=>({animationConfigRef:P,cellDataRef:_,containerRef:v,flatlistRef:w,keyToIndexRef:p,propsRef:c,scrollViewRef:M}),[])}},3561,[17,2714,3557,3560]);
15983
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"typedMemo",{enumerable:!0,get:function(){return u}});var e,t=r(d[0]);const u=((e=t)&&e.__esModule?e:{default:e}).default.memo},3562,[17]);
15984
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.CellProvider=c,_e.useIsActive=function(){const e=(0,t.useContext)(u);if(!e)throw new Error("useIsActive must be called from within CellProvider!");return e.isActive};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);const u=n.default.createContext(void 0);function c(e){let{isActive:o,children:c}=e;const l=(0,t.useMemo)(()=>({isActive:o}),[o]);return n.default.createElement(u.Provider,{value:l},c)}var l=(0,o.typedMemo)(c)},3563,[17,3562]);
15985
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useStableCallback=function(n){const u=(0,t.useRef)(n);u.current=n;const c=(0,t.useCallback)(function(){return u.current(...arguments)},[]);return c};var t=r(d[0])},3564,[17]);
15986
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return O}});var t=r(d[0]),l=e(t),n=e(r(d[1])),o=r(d[2]),s=e(o),c=r(d[3]),u=r(d[4]),f=r(d[5]),_=r(d[6]);const v={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs1(){const{activeCellSize}=this.__closure;return activeCellSize.value;}"},h={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs2(cur,prev){const{runOnJS,setSize}=this.__closure;if(cur!==prev){runOnJS(setSize)(cur);}}"},z={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs3(){const{placeholderOffset,scrollOffset,size,horizontalAnim}=this.__closure;const offset=placeholderOffset.value-scrollOffset.value;return{opacity:size>=0?1:0,overflow:'hidden',transform:[horizontalAnim.value?{translateX:offset}:{translateY:offset}]};}"};var O=(0,_.typedMemo)(function(e){var _;let{renderPlaceholder:O}=e;const[S,p]=(0,t.useState)(0),{activeCellSize:w,placeholderOffset:k,spacerIndexAnim:A,horizontalAnim:b,scrollOffset:y}=(0,c.useAnimatedValues)(),{keyToIndexRef:J,propsRef:C}=(0,f.useRefs)(),{activeKey:D,horizontal:P}=(0,u.useDraggableFlatListContext)();(0,o.useAnimatedReaction)((function({_worklet_15041831900011_init_data:e,activeCellSize:t}){const l=function(){return t.value};return l.__closure={activeCellSize:t},l.__workletHash=0xdae330c136b,l.__initData=e,l})({_worklet_15041831900011_init_data:v,activeCellSize:w}),(function({_worklet_9097902266698_init_data:e,runOnJS:t,setSize:l}){const n=function(e,n){e!==n&&t(l)(e)};return n.__closure={runOnJS:t,setSize:l},n.__workletHash=9097902266698,n.__initData=e,n})({_worklet_9097902266698_init_data:h,runOnJS:o.runOnJS,setSize:p}));const x=D?J.current.get(D):void 0,F=void 0===x?null:null===(_=C.current)||void 0===_?void 0:_.data[x],I=(0,o.useAnimatedStyle)((function({_worklet_5017284307212_init_data:e,placeholderOffset:t,scrollOffset:l,size:n,horizontalAnim:o}){const s=function(){const e=t.value-l.value;return{opacity:n>=0?1:0,overflow:'hidden',transform:[o.value?{translateX:e}:{translateY:e}]}};return s.__closure={placeholderOffset:t,scrollOffset:l,size:n,horizontalAnim:o},s.__workletHash=5017284307212,s.__initData=e,s})({_worklet_5017284307212_init_data:z,placeholderOffset:k,scrollOffset:y,size:S,horizontalAnim:b}),[A,k,b,y,S]),M=(0,t.useMemo)(()=>P?{width:S}:{height:S},[P,S]);return l.default.createElement(s.default.View,{pointerEvents:D?"auto":"none",style:[n.default.absoluteFill,I,M]},F&&void 0!==x?null==O?void 0:O({item:F,index:x}):null)})},3565,[17,33,2714,3559,3556,3561,3562]);
15987
- __d(function(g,r,i,a,m,_e,d){"use strict";const e=["renderItem","extraData"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return b}});var n=t(r(d[0])),u=r(d[1]),c=t(u),o=r(d[2]),s=r(d[3]),l=r(d[4]),f=r(d[5]);var b=(0,f.typedMemo)(function(e){const t=(0,u.useRef)(e);t.current=e;const{activeKey:n}=(0,o.useDraggableFlatListContext)(),f=(0,u.useRef)(n);f.current=n;const{keyToIndexRef:b}=(0,s.useRefs)(),p=(0,l.useStableCallback)(()=>{const{drag:e,itemKey:n,debug:u}=t.current;f.current&&u&&console.log("## attempt to drag item while another item is already active, noop"),e(n)}),{renderItem:v,item:x,itemKey:I,extraData:_}=e,D=(0,l.useStableCallback)(()=>b.current.get(I));return c.default.createElement(y,{isActive:n===I,drag:p,renderItem:v,item:x,getIndex:D,extraData:_})});const y=(0,f.typedMemo)(function(t){let{renderItem:u}=t,c=(0,n.default)(t,e);return u(Object.assign({},c))})},3566,[120,17,3556,3561,3564,3562]);
15988
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useAutoScroll=function(){const{flatlistRef:L}=(0,c.useRefs)(),{autoscrollThreshold:w=l.DEFAULT_PROPS.autoscrollThreshold,autoscrollSpeed:D=l.DEFAULT_PROPS.autoscrollSpeed}=(0,o.useProps)(),{scrollOffset:N,scrollViewSize:C,containerSize:p,activeCellSize:R,hoverOffset:k,activeIndexAnim:z}=(0,s.useAnimatedValues)(),b=(0,t.useDerivedValue)((function({_worklet_2808899548984_init_data:t,hoverOffset:l,scrollOffset:o}){const s=function(){return l.value-o.value};return s.__closure={hoverOffset:l,scrollOffset:o},s.__workletHash=2808899548984,s.__initData=t,s})({_worklet_2808899548984_init_data:n,hoverOffset:k,scrollOffset:N}),[]),P=(0,t.useDerivedValue)((function({_worklet_12016434595023_init_data:t,scrollOffset:l,SCROLL_POSITION_TOLERANCE:o}){const s=function(){return l.value-o<=0};return s.__closure={scrollOffset:l,SCROLL_POSITION_TOLERANCE:o},s.__workletHash=0xaedcb50c4cf,s.__initData=t,s})({_worklet_12016434595023_init_data:u,scrollOffset:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE}),[]),x=(0,t.useDerivedValue)((function({_worklet_15484432799921_init_data:t,scrollOffset:l,containerSize:o,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c}){const n=function(){return l.value+o.value+s>=c.value};return n.__closure={scrollOffset:l,containerSize:o,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c},n.__workletHash=0xe15401dd8b1,n.__initData=t,n})({_worklet_15484432799921_init_data:_,scrollOffset:N,containerSize:p,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,scrollViewSize:C}),[]),V=(0,t.useDerivedValue)((function({_worklet_17164513010478_init_data:t,hoverScreenOffset:l}){const o=function(){return Math.max(0,l.value)};return o.__closure={hoverScreenOffset:l},o.__workletHash=0xf9c6cb3632e,o.__initData=t,o})({_worklet_17164513010478_init_data:f,hoverScreenOffset:b}),[]),J=(0,t.useDerivedValue)((function({_worklet_1147639264362_init_data:t,hoverScreenOffset:l,activeCellSize:o,containerSize:s}){const c=function(){const t=l.value+o.value;return Math.max(0,s.value-t)};return c.__closure={hoverScreenOffset:l,activeCellSize:o,containerSize:s},c.__workletHash=1147639264362,c.__initData=t,c})({_worklet_1147639264362_init_data:v,hoverScreenOffset:b,activeCellSize:R,containerSize:p}),[]),B=(0,t.useDerivedValue)((function({_worklet_11040627643734_init_data:t,distToTopEdge:l,autoscrollThreshold:o}){const s=function(){return l.value<=o};return s.__closure={distToTopEdge:l,autoscrollThreshold:o},s.__workletHash=0xa0a98b05556,s.__initData=t,s})({_worklet_11040627643734_init_data:O,distToTopEdge:V,autoscrollThreshold:w})),F=(0,t.useDerivedValue)((function({_worklet_14987891986615_init_data:t,distToBottomEdge:l,autoscrollThreshold:o}){const s=function(){return l.value<=o};return s.__closure={distToBottomEdge:l,autoscrollThreshold:o},s.__workletHash=0xda1a3fa50b7,s.__initData=t,s})({_worklet_14987891986615_init_data:S,distToBottomEdge:J,autoscrollThreshold:w}),[]),H=(0,t.useSharedValue)(0),M=(0,t.useDerivedValue)((function({_worklet_8401811971590_init_data:t,activeIndexAnim:l}){const o=function(){return l.value>=0};return o.__closure={activeIndexAnim:l},o.__workletHash=8401811971590,o.__initData=t,o})({_worklet_8401811971590_init_data:T,activeIndexAnim:z}),[]);(0,t.useAnimatedReaction)((function({_worklet_16420598048532_init_data:t,dragIsActive:l}){const o=function(){return l.value};return o.__closure={dragIsActive:l},o.__workletHash=0xeef37e9e714,o.__initData=t,o})({_worklet_16420598048532_init_data:h,dragIsActive:M}),(function({_worklet_10982255603799_init_data:t,scrollTarget:l,scrollOffset:o}){const s=function(t,s){t&&!s&&(l.value=o.value)};return s.__closure={scrollTarget:l,scrollOffset:o},s.__workletHash=0x9fd0171b057,s.__initData=t,s})({_worklet_10982255603799_init_data:E,scrollTarget:H,scrollOffset:N}));const U=(0,t.useDerivedValue)((function({_worklet_10051379659370_init_data:t,scrollTarget:l,scrollOffset:o,SCROLL_POSITION_TOLERANCE:s,isAtTopEdge:c,isAtBottomEdge:n,isScrolledUp:u,isScrolledDown:_,activeIndexAnim:f}){const v=function(){const t=Math.abs(l.value-o.value)<s,v=c.value||n.value,O=c.value&&u.value,S=n.value&&_.value,T=O||S,h=f.value>=0;return t&&v&&!T&&h};return v.__closure={scrollTarget:l,scrollOffset:o,SCROLL_POSITION_TOLERANCE:s,isAtTopEdge:c,isAtBottomEdge:n,isScrolledUp:u,isScrolledDown:_,activeIndexAnim:f},v.__workletHash=0x92444ea026a,v.__initData=t,v})({_worklet_10051379659370_init_data:A,scrollTarget:H,scrollOffset:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,isAtTopEdge:B,isAtBottomEdge:F,isScrolledUp:P,isScrolledDown:x,activeIndexAnim:z}),[]);return(0,t.useDerivedValue)((function({_worklet_2210792135007_init_data:t,shouldAutoScroll:l,isAtTopEdge:o,distToTopEdge:s,distToBottomEdge:c,autoscrollThreshold:n,autoscrollSpeed:u,scrollOffset:_,scrollViewSize:f,containerSize:v,scrollTarget:O,runOnJS:S,scrollToInternal:T}){const h=function(){if(!l.value)return;const t=(1-(o.value?s.value:c.value)/n)*u,h=o.value?Math.max(0,_.value-t):Math.min(_.value+t,f.value-v.value);O.value=h,S(T)(h)};return h.__closure={shouldAutoScroll:l,isAtTopEdge:o,distToTopEdge:s,distToBottomEdge:c,autoscrollThreshold:n,autoscrollSpeed:u,scrollOffset:_,scrollViewSize:f,containerSize:v,scrollTarget:O,runOnJS:S,scrollToInternal:T},h.__workletHash=2210792135007,h.__initData=t,h})({_worklet_2210792135007_init_data:I,shouldAutoScroll:U,isAtTopEdge:B,distToTopEdge:V,distToBottomEdge:J,autoscrollThreshold:w,autoscrollSpeed:D,scrollOffset:N,scrollViewSize:C,containerSize:p,scrollTarget:H,runOnJS:t.runOnJS,scrollToInternal:function(t){var l;L&&"current"in L&&(null===(l=L.current)||void 0===l||l.scrollToOffset({offset:t,animated:!0}))}}),[]),null};var t=r(d[0]),l=r(d[1]),o=r(d[2]),s=r(d[3]),c=r(d[4]);const n={code:"function reactNativeDraggableFlatlist_useAutoScrollJs1(){const{hoverOffset,scrollOffset}=this.__closure;return hoverOffset.value-scrollOffset.value;}"},u={code:"function reactNativeDraggableFlatlist_useAutoScrollJs2(){const{scrollOffset,SCROLL_POSITION_TOLERANCE}=this.__closure;return scrollOffset.value-SCROLL_POSITION_TOLERANCE<=0;}"},_={code:"function reactNativeDraggableFlatlist_useAutoScrollJs3(){const{scrollOffset,containerSize,SCROLL_POSITION_TOLERANCE,scrollViewSize}=this.__closure;return scrollOffset.value+containerSize.value+SCROLL_POSITION_TOLERANCE>=scrollViewSize.value;}"},f={code:"function reactNativeDraggableFlatlist_useAutoScrollJs4(){const{hoverScreenOffset}=this.__closure;return Math.max(0,hoverScreenOffset.value);}"},v={code:"function reactNativeDraggableFlatlist_useAutoScrollJs5(){const{hoverScreenOffset,activeCellSize,containerSize}=this.__closure;const hoverPlusActiveCell=hoverScreenOffset.value+activeCellSize.value;return Math.max(0,containerSize.value-hoverPlusActiveCell);}"},O={code:"function reactNativeDraggableFlatlist_useAutoScrollJs6(){const{distToTopEdge,autoscrollThreshold}=this.__closure;return distToTopEdge.value<=autoscrollThreshold;}"},S={code:"function reactNativeDraggableFlatlist_useAutoScrollJs7(){const{distToBottomEdge,autoscrollThreshold}=this.__closure;return distToBottomEdge.value<=autoscrollThreshold;}"},T={code:"function reactNativeDraggableFlatlist_useAutoScrollJs8(){const{activeIndexAnim}=this.__closure;return activeIndexAnim.value>=0;}"},h={code:"function reactNativeDraggableFlatlist_useAutoScrollJs9(){const{dragIsActive}=this.__closure;return dragIsActive.value;}"},E={code:"function reactNativeDraggableFlatlist_useAutoScrollJs10(cur,prev){const{scrollTarget,scrollOffset}=this.__closure;if(cur&&!prev){scrollTarget.value=scrollOffset.value;}}"},A={code:"function reactNativeDraggableFlatlist_useAutoScrollJs11(){const{scrollTarget,scrollOffset,SCROLL_POSITION_TOLERANCE,isAtTopEdge,isAtBottomEdge,isScrolledUp,isScrolledDown,activeIndexAnim}=this.__closure;const scrollTargetDiff=Math.abs(scrollTarget.value-scrollOffset.value);const hasScrolledToTarget=scrollTargetDiff<SCROLL_POSITION_TOLERANCE;const isAtEdge=isAtTopEdge.value||isAtBottomEdge.value;const topDisabled=isAtTopEdge.value&&isScrolledUp.value;const bottomDisabled=isAtBottomEdge.value&&isScrolledDown.value;const isEdgeDisabled=topDisabled||bottomDisabled;const cellIsActive=activeIndexAnim.value>=0;return hasScrolledToTarget&&isAtEdge&&!isEdgeDisabled&&cellIsActive;}"},I={code:"function reactNativeDraggableFlatlist_useAutoScrollJs12(){const{shouldAutoScroll,isAtTopEdge,distToTopEdge,distToBottomEdge,autoscrollThreshold,autoscrollSpeed,scrollOffset,scrollViewSize,containerSize,scrollTarget,runOnJS,scrollToInternal}=this.__closure;if(!shouldAutoScroll.value)return;const distFromEdge=isAtTopEdge.value?distToTopEdge.value:distToBottomEdge.value;const speedPct=1-distFromEdge/autoscrollThreshold;const offset=speedPct*autoscrollSpeed;const targetOffset=isAtTopEdge.value?Math.max(0,scrollOffset.value-offset):Math.min(scrollOffset.value+offset,scrollViewSize.value-containerSize.value);scrollTarget.value=targetOffset;runOnJS(scrollToInternal)(targetOffset);}"}},3567,[2714,3557,3560,3559,3561]);
15989
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return c}});var t=r(d[0]),n=r(d[1]);const l={code:"function reactNativeDraggableFlatlist_ScrollOffsetListenerJs1(){const{scrollOffset}=this.__closure;return scrollOffset.value;}"},o={code:"function reactNativeDraggableFlatlist_ScrollOffsetListenerJs2(cur,prev){const{runOnJS,onScrollOffsetChange}=this.__closure;if(cur!==prev){runOnJS(onScrollOffsetChange)(cur);}}"};var c=(0,n.typedMemo)(n=>{let{scrollOffset:c,onScrollOffsetChange:s}=n;return(0,t.useAnimatedReaction)((function({_worklet_6566234561379_init_data:t,scrollOffset:n}){const l=function(){return n.value};return l.__closure={scrollOffset:n},l.__workletHash=6566234561379,l.__initData=t,l})({_worklet_6566234561379_init_data:l,scrollOffset:c}),(function({_worklet_15281170813250_init_data:t,runOnJS:n,onScrollOffsetChange:l}){const o=function(t,o){t!==o&&n(l)(t)};return o.__closure={runOnJS:n,onScrollOffsetChange:l},o.__workletHash=0xde5ecc21142,o.__initData=t,o})({_worklet_15281170813250_init_data:o,runOnJS:t.runOnJS,onScrollOffsetChange:s}),[c]),null})},3568,[2714,3562]);
15990
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"useOnCellActiveAnimation",{enumerable:!0,get:function(){return s.useOnCellActiveAnimation}}),Object.defineProperty(_e,"ScaleDecorator",{enumerable:!0,get:function(){return v}}),Object.defineProperty(_e,"ShadowDecorator",{enumerable:!0,get:function(){return _}}),Object.defineProperty(_e,"OpacityDecorator",{enumerable:!0,get:function(){return f}});var t=e(r(d[0])),n=e(r(d[1])),o=r(d[2]),c=e(o),l=r(d[3]),s=r(d[4]);const u={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs1(){const{interpolate,onActiveAnim,activeScale,isActive}=this.__closure;const animScale=interpolate(onActiveAnim.value,[0,1],[1,activeScale]);const scale=isActive?animScale:1;return{transform:[{scaleX:scale},{scaleY:scale}]};}"},v=e=>{let{activeScale:n=1.1,children:v}=e;const{isActive:A,onActiveAnim:_}=(0,s.useOnCellActiveAnimation)({animationConfig:{mass:.1,restDisplacementThreshold:1e-4}}),{horizontal:p}=(0,l.useDraggableFlatListContext)(),f=(0,o.useAnimatedStyle)((function({_worklet_3223850486805_init_data:e,interpolate:t,onActiveAnim:n,activeScale:o,isActive:c}){const l=function(){const e=t(n.value,[0,1],[1,o]),l=c?e:1;return{transform:[{scaleX:l},{scaleY:l}]}};return l.__closure={interpolate:t,onActiveAnim:n,activeScale:o,isActive:c},l.__workletHash=3223850486805,l.__initData=e,l})({_worklet_3223850486805_init_data:u,interpolate:o.interpolate,onActiveAnim:_,activeScale:n,isActive:A}),[A]);return t.default.createElement(c.default.View,{style:[f,p&&y.horizontal]},v)},A={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs2(){const{onActiveAnim,opacity,isActive,elevation,radius,color}=this.__closure;const shadowOpacity=onActiveAnim.value*opacity;return{elevation:isActive?elevation:0,shadowRadius:isActive?radius:0,shadowColor:isActive?color:\"transparent\",shadowOpacity:isActive?shadowOpacity:0};}"},_=e=>{let{elevation:n=10,color:u="black",opacity:v=.25,radius:_=5,children:p}=e;const{isActive:f,onActiveAnim:h}=(0,s.useOnCellActiveAnimation)(),{horizontal:w}=(0,l.useDraggableFlatListContext)(),O=(0,o.useAnimatedStyle)((function({_worklet_5875745184206_init_data:e,onActiveAnim:t,opacity:n,isActive:o,elevation:c,radius:l,color:s}){const u=function(){const e=t.value*n;return{elevation:o?c:0,shadowRadius:o?l:0,shadowColor:o?s:"transparent",shadowOpacity:o?e:0}};return u.__closure={onActiveAnim:t,opacity:n,isActive:o,elevation:c,radius:l,color:s},u.__workletHash=5875745184206,u.__initData=e,u})({_worklet_5875745184206_init_data:A,onActiveAnim:h,opacity:v,isActive:f,elevation:n,radius:_,color:u}),[f,h]);return t.default.createElement(c.default.View,{style:[O,w&&y.horizontal]},p)},p={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs3(){const{interpolate,onActiveAnim,activeOpacity,isActive}=this.__closure;const opacity=interpolate(onActiveAnim.value,[0,1],[1,activeOpacity]);return{opacity:isActive?opacity:1};}"},f=e=>{let{activeOpacity:n=.25,children:u}=e;const{isActive:v,onActiveAnim:A}=(0,s.useOnCellActiveAnimation)(),{horizontal:_}=(0,l.useDraggableFlatListContext)(),f=(0,o.useAnimatedStyle)((function({_worklet_9220952713650_init_data:e,interpolate:t,onActiveAnim:n,activeOpacity:o,isActive:c}){const l=function(){const e=t(n.value,[0,1],[1,o]);return{opacity:c?e:1}};return l.__closure={interpolate:t,onActiveAnim:n,activeOpacity:o,isActive:c},l.__workletHash=9220952713650,l.__initData=e,l})({_worklet_9220952713650_init_data:p,interpolate:o.interpolate,onActiveAnim:A,activeOpacity:n,isActive:v}),[v]);return t.default.createElement(c.default.View,{style:[f,_&&y.horizontal]},u)},y=n.default.create({horizontal:{flexDirection:"row",flex:1}})},3569,[17,33,2714,3556,3570]);
15991
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useOnCellActiveAnimation=function(){let{animationConfig:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{animationConfig:{}};const _=(0,n.useSharedValue)(u);(0,t.useEffect)(()=>{_.value=u},[u]);const v=(0,s.useIsActive)(),{isTouchActiveNative:l}=(0,c.useAnimatedValues)(),N=(0,n.useDerivedValue)((function({_worklet_17322650649574_init_data:t,isActive:n,isTouchActiveNative:o,withSpring:c,DEFAULT_ANIMATION_CONFIG:s,animationConfigRef:A}){const u=function(){const t=n&&o.value?1:0;return c(t,Object.assign({},s,A.value))};return u.__closure={isActive:n,isTouchActiveNative:o,withSpring:c,DEFAULT_ANIMATION_CONFIG:s,animationConfigRef:A},u.__workletHash=0xfc13e7043e6,u.__initData=t,u})({_worklet_17322650649574_init_data:A,isActive:v,isTouchActiveNative:l,withSpring:n.withSpring,DEFAULT_ANIMATION_CONFIG:o.DEFAULT_ANIMATION_CONFIG,animationConfigRef:_}),[v]);return{isActive:v,onActiveAnim:N}};var t=r(d[0]),n=r(d[1]),o=r(d[2]),c=r(d[3]),s=r(d[4]);const A={code:"function reactNativeDraggableFlatlist_useOnCellActiveAnimationJs1(){const{isActive,isTouchActiveNative,withSpring,DEFAULT_ANIMATION_CONFIG,animationConfigRef}=this.__closure;const toVal=isActive&&isTouchActiveNative.value?1:0;return withSpring(toVal,{...DEFAULT_ANIMATION_CONFIG,...animationConfigRef.value});}"}},3570,[17,2714,3557,3559,3563]);
15992
- __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NestableDraggableFlatList",{enumerable:!0,get:function(){return _}});var t=r(d[0]),l=e(t),n=e(r(d[1])),s=e(r(d[2])),o=r(d[3]),i=e(r(d[4])),u=r(d[5]),c=r(d[6]),f=r(d[7]);function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},v.apply(this,arguments)}const b={code:"function reactNativeDraggableFlatlist_NestableDraggableFlatListJs1(){const{listHoverOffset,listVerticalOffset}=this.__closure;return listHoverOffset.value+listVerticalOffset.value;}"};function O(e,O){const _=(0,t.useRef)(!1);_.current||(s.default.ignoreLogs(["VirtualizedLists should never be nested inside plain ScrollViews with the same orientation because it can break windowing"]),console.reportErrorsAsExceptions=!1,_.current=!0);const{scrollableRef:S,outerScrollOffset:h,setOuterScrollEnabled:V}=(0,u.useSafeNestableScrollContainerContext)(),D=(0,o.useSharedValue)(0),[p,w]=(0,t.useState)({}),k=(0,o.useSharedValue)(0),[y,C]=(0,t.useState)(k),E=(0,o.useDerivedValue)((function({_worklet_13500071611033_init_data:e,listHoverOffset:t,listVerticalOffset:l}){const n=function(){return t.value+l.value};return n.__closure={listHoverOffset:t,listVerticalOffset:l},n.__workletHash=0xc473af90a99,n.__initData=e,n})({_worklet_13500071611033_init_data:b,listHoverOffset:y,listVerticalOffset:D}),[y]);(0,c.useNestedAutoScroll)(Object.assign({},p,{hoverOffset:E}));const j=(0,f.useStableCallback)(async e=>{let{containerRef:t}=e;const l=(0,n.default)(S.current);t.current.measureLayout(l,(e,t)=>{D.value=t},()=>{console.log("## nested draggable list measure fail")})}),H=(0,f.useStableCallback)(t=>{var l;V(!1),null===(l=e.onDragBegin)||void 0===l||l.call(e,t)}),L=(0,f.useStableCallback)(t=>{var l;V(!0),null===(l=e.onDragEnd)||void 0===l||l.call(e,t)}),N=(0,f.useStableCallback)(t=>{var l;C(t.hoverOffset),w(Object.assign({},t,{hoverOffset:E})),null===(l=e.onAnimValInit)||void 0===l||l.call(e,t)});return l.default.createElement(i.default,v({ref:O,onContainerLayout:j,activationDistance:e.activationDistance||20,scrollEnabled:!1},e,{outerScrollOffset:h,onDragBegin:H,onDragEnd:L,onAnimValInit:N}))}const _=l.default.forwardRef(O)},3571,[17,122,273,2714,3554,3572,3573,3564]);
15993
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.NestableScrollContainerProvider=function(e){let{children:t,forwardedRef:o}=e;const s=u({forwardedRef:o});return l.default.createElement(n.Provider,{value:s},t)},_e.useNestableScrollContainerContext=s,_e.useSafeNestableScrollContainerContext=function(){const e=s();if(!e)throw new Error("useSafeNestableScrollContainerContext must be called within a NestableScrollContainerContext.Provider");return e};var e,t=r(d[0]),l=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);const n=l.default.createContext(void 0);function u(e){let{forwardedRef:l}=e;const[n,u]=(0,t.useState)(!0),s=(0,o.useSharedValue)(0),c=(0,t.useRef)(null),f=l||c,S=(0,o.useSharedValue)(0),C=(0,o.useSharedValue)(0);return(0,t.useMemo)(()=>({outerScrollEnabled:n,setOuterScrollEnabled:u,outerScrollOffset:S,scrollViewSize:s,scrollableRef:f,containerSize:C}),[n])}function s(){return(0,t.useContext)(n)}},3572,[17,2714]);
15994
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useNestedAutoScroll=function(h){const{outerScrollOffset:E,containerSize:N,scrollableRef:C,scrollViewSize:L}=(0,o.useSafeNestableScrollContainerContext)(),A=(0,t.useSharedValue)(0),{hoverOffset:D=A,activeCellSize:I=A,autoscrollSpeed:w=100,autoscrollThreshold:R=30,isDraggingCell:p=A,isTouchActiveNative:k=A}=h,b=(0,t.useDerivedValue)((function({_worklet_1881896633941_init_data:t,hoverOffset:o,outerScrollOffset:l}){const s=function(){return o.value-l.value};return s.__closure={hoverOffset:o,outerScrollOffset:l},s.__workletHash=1881896633941,s.__initData=t,s})({_worklet_1881896633941_init_data:s,hoverOffset:D,outerScrollOffset:E}),[]),z=(0,t.useDerivedValue)((function({_worklet_4729636409762_init_data:t,outerScrollOffset:o,SCROLL_POSITION_TOLERANCE:l}){const s=function(){return o.value-l<=0};return s.__closure={outerScrollOffset:o,SCROLL_POSITION_TOLERANCE:l},s.__workletHash=4729636409762,s.__initData=t,s})({_worklet_4729636409762_init_data:c,outerScrollOffset:E,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE}),[]),P=(0,t.useDerivedValue)((function({_worklet_6931217787228_init_data:t,outerScrollOffset:o,containerSize:l,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c}){const u=function(){return o.value+l.value+s>=c.value};return u.__closure={outerScrollOffset:o,containerSize:l,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c},u.__workletHash=6931217787228,u.__initData=t,u})({_worklet_6931217787228_init_data:u,outerScrollOffset:E,containerSize:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,scrollViewSize:L}),[]),B=(0,t.useDerivedValue)((function({_worklet_14157162290883_init_data:t,hoverScreenOffset:o}){const l=function(){return Math.max(0,o.value)};return l.__closure={hoverScreenOffset:o},l.__workletHash=0xce038a11ec3,l.__initData=t,l})({_worklet_14157162290883_init_data:n,hoverScreenOffset:b}),[b]),J=(0,t.useDerivedValue)((function({_worklet_6156973048070_init_data:t,containerSize:o,hoverScreenOffset:l,activeCellSize:s}){const c=function(){const t=o.value-(l.value+s.value);return Math.max(0,t)};return c.__closure={containerSize:o,hoverScreenOffset:l,activeCellSize:s},c.__workletHash=6156973048070,c.__initData=t,c})({_worklet_6156973048070_init_data:_,containerSize:N,hoverScreenOffset:b,activeCellSize:I}),[b,I,N]),V=(0,t.useDerivedValue)((function({_worklet_11726045427259_init_data:t,distToTopEdge:o,autoscrollThreshold:l}){const s=function(){return o.value<=l};return s.__closure={distToTopEdge:o,autoscrollThreshold:l},s.__workletHash=0xaaa2ec5b63b,s.__initData=t,s})({_worklet_11726045427259_init_data:f,distToTopEdge:B,autoscrollThreshold:R}),[]),x=(0,t.useDerivedValue)((function({_worklet_7914873790874_init_data:t,distToBottomEdge:o,autoscrollThreshold:l}){const s=function(){return o.value<=l};return s.__closure={distToBottomEdge:o,autoscrollThreshold:l},s.__workletHash=7914873790874,s.__initData=t,s})({_worklet_7914873790874_init_data:S,distToBottomEdge:J,autoscrollThreshold:R})),F=(0,t.useSharedValue)(0);return(0,t.useAnimatedReaction)((function({_worklet_14021221439128_init_data:t,isDraggingCell:o}){const l=function(){return o.value};return l.__closure={isDraggingCell:o},l.__workletHash=0xcc091ec5698,l.__initData=t,l})({_worklet_14021221439128_init_data:O,isDraggingCell:p}),(function({_worklet_17362022355714_init_data:t,scrollTarget:o,outerScrollOffset:l}){const s=function(t,s){t&&!s&&(o.value=l.value)};return s.__closure={scrollTarget:o,outerScrollOffset:l},s.__workletHash=0xfca692cd302,s.__initData=t,s})({_worklet_17362022355714_init_data:v,scrollTarget:F,outerScrollOffset:E}),[I]),(0,t.useDerivedValue)((function({_worklet_15221845355323_init_data:t,isAtTopEdge:o,isAtBottomEdge:l,isScrolledUp:s,isScrolledDown:c,scrollTarget:u,outerScrollOffset:n,SCROLL_POSITION_TOLERANCE:_,isDraggingCell:f,isTouchActiveNative:S,distToTopEdge:O,distToBottomEdge:v,autoscrollThreshold:T,autoscrollSpeed:h,runOnJS:E,scrollToInternal:N}){const C=function(){const t=o.value||l.value,C=o.value&&s.value,L=l.value&&c.value,A=C||L,D=Math.abs(u.value-n.value)>_,I=t&&!A&&f.value&&S.value&&!D,w=(1-(o.value?O.value:v.value)/T)*h,R=o.value?Math.max(0,n.value-w):n.value+w;I&&(u.value=R,E(N)(R))};return C.__closure={isAtTopEdge:o,isAtBottomEdge:l,isScrolledUp:s,isScrolledDown:c,scrollTarget:u,outerScrollOffset:n,SCROLL_POSITION_TOLERANCE:_,isDraggingCell:f,isTouchActiveNative:S,distToTopEdge:O,distToBottomEdge:v,autoscrollThreshold:T,autoscrollSpeed:h,runOnJS:E,scrollToInternal:N},C.__workletHash=0xdd81caf6b3b,C.__initData=t,C})({_worklet_15221845355323_init_data:T,isAtTopEdge:V,isAtBottomEdge:x,isScrolledUp:z,isScrolledDown:P,scrollTarget:F,outerScrollOffset:E,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,isDraggingCell:p,isTouchActiveNative:k,distToTopEdge:B,distToBottomEdge:J,autoscrollThreshold:R,autoscrollSpeed:w,runOnJS:t.runOnJS,scrollToInternal:function(t){var o;null===(o=C.current)||void 0===o||o.scrollTo({y:t,animated:!0})}}),[w,R,p]),null};var t=r(d[0]),o=r(d[1]),l=r(d[2]);const s={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs1(){const{hoverOffset,outerScrollOffset}=this.__closure;return hoverOffset.value-outerScrollOffset.value;}"},c={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs2(){const{outerScrollOffset,SCROLL_POSITION_TOLERANCE}=this.__closure;return outerScrollOffset.value-SCROLL_POSITION_TOLERANCE<=0;}"},u={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs3(){const{outerScrollOffset,containerSize,SCROLL_POSITION_TOLERANCE,scrollViewSize}=this.__closure;return outerScrollOffset.value+containerSize.value+SCROLL_POSITION_TOLERANCE>=scrollViewSize.value;}"},n={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs4(){const{hoverScreenOffset}=this.__closure;return Math.max(0,hoverScreenOffset.value);}"},_={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs5(){const{containerSize,hoverScreenOffset,activeCellSize}=this.__closure;const dist=containerSize.value-(hoverScreenOffset.value+activeCellSize.value);return Math.max(0,dist);}"},f={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs6(){const{distToTopEdge,autoscrollThreshold}=this.__closure;return distToTopEdge.value<=autoscrollThreshold;}"},S={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs7(){const{distToBottomEdge,autoscrollThreshold}=this.__closure;return distToBottomEdge.value<=autoscrollThreshold;}"},O={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs8(){const{isDraggingCell}=this.__closure;return isDraggingCell.value;}"},v={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs9(cur,prev){const{scrollTarget,outerScrollOffset}=this.__closure;if(cur&&!prev){scrollTarget.value=outerScrollOffset.value;}}"},T={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs10(){const{isAtTopEdge,isAtBottomEdge,isScrolledUp,isScrolledDown,scrollTarget,outerScrollOffset,SCROLL_POSITION_TOLERANCE,isDraggingCell,isTouchActiveNative,distToTopEdge,distToBottomEdge,autoscrollThreshold,autoscrollSpeed,runOnJS,scrollToInternal}=this.__closure;const isAtEdge=isAtTopEdge.value||isAtBottomEdge.value;const topDisabled=isAtTopEdge.value&&isScrolledUp.value;const bottomDisabled=isAtBottomEdge.value&&isScrolledDown.value;const isEdgeDisabled=topDisabled||bottomDisabled;const scrollTargetDiff=Math.abs(scrollTarget.value-outerScrollOffset.value);const scrollInProgress=scrollTargetDiff>SCROLL_POSITION_TOLERANCE;const shouldScroll=isAtEdge&&!isEdgeDisabled&&isDraggingCell.value&&isTouchActiveNative.value&&!scrollInProgress;const distFromEdge=isAtTopEdge.value?distToTopEdge.value:distToBottomEdge.value;const speedPct=1-distFromEdge/autoscrollThreshold;const offset=speedPct*autoscrollSpeed;const targetOffset=isAtTopEdge.value?Math.max(0,outerScrollOffset.value-offset):outerScrollOffset.value+offset;if(shouldScroll){scrollTarget.value=targetOffset;runOnJS(scrollToInternal)(targetOffset);}}"}},3573,[2714,3572,3557]);
15995
- __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NestableScrollContainer",{enumerable:!0,get:function(){return S}});var t=e(r(d[0])),l=r(d[1]),n=r(d[2]),o=e(n),c=r(d[3]),f=r(d[4]);function u(){return u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},u.apply(this,arguments)}const i=o.default.createAnimatedComponent(l.ScrollView),s={code:"function reactNativeDraggableFlatlist_NestableScrollContainerJs1(_ref){const{outerScrollOffset}=this.__closure;let{contentOffset:contentOffset}=_ref;outerScrollOffset.value=contentOffset.y;}"};function _(e){const{outerScrollOffset:l,containerSize:o,scrollViewSize:_,scrollableRef:S,outerScrollEnabled:b}=(0,c.useSafeNestableScrollContainerContext)(),v=(0,n.useAnimatedScrollHandler)({onScroll:(function({_worklet_8746208410386_init_data:e,outerScrollOffset:t}){const l=function(e){let{contentOffset:l}=e;t.value=l.y};return l.__closure={outerScrollOffset:t},l.__workletHash=8746208410386,l.__initData=e,l})({_worklet_8746208410386_init_data:s,outerScrollOffset:l})}),O=(0,f.useStableCallback)(e=>{const{nativeEvent:{layout:t}}=e;o.value=t.height}),C=(0,f.useStableCallback)((t,l)=>{var n;_.value=l,null===(n=e.onContentSizeChange)||void 0===n||n.call(e,t,l)});return t.default.createElement(i,u({},e,{onLayout:O,onContentSizeChange:C,scrollEnabled:b,ref:S,scrollEventThrottle:1,onScroll:v}))}const S=t.default.forwardRef((e,l)=>t.default.createElement(c.NestableScrollContainerProvider,{forwardedRef:l||void 0},t.default.createElement(_,e)))},3574,[17,3241,2714,3572,3564]);
15996
- __d(function(g,r,i,a,m,e,d){},3575,[]);
15997
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);r(d[1]);var n=r(d[2]),o=r(d[3]),c=r(d[4]);function s(){const s=(0,t.c)(1);let u;return s[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(o.RootProviders,{children:(0,c.jsx)(n.Stack,{screenOptions:{headerShown:!1}})}),s[0]=u):u=s[0],u}},3576,[15,3577,743,3580,10]);
15998
- __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return b}});var t=e(r(_d[0])),n=r(_d[1]),u=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,u.get?u:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[2])),l=e(r(_d[3])),c=e(r(_d[4])),o=e(r(_d[5]));const f={en:{translation:c.default},it:{translation:o.default}},d=u.getLocales()[0]?.languageCode?.slice(0,2)??"en",s=Object.keys(f).includes(d)?d:"en";t.default.use(n.initReactI18next).init({resources:f,lng:s,fallbackLng:"en",interpolation:{escapeValue:!1}}),l.default.getItem("v2.language").then(e=>{"it"!==e&&"en"!==e||t.default.changeLanguage(e)});var b=t.default},3577,[789,786,3422,3133,3578,3579]);
15999
- __d(function(e,t,a,o,i,n,r){i.exports={devices:{editDevice:"Edit device",originalName:"Original name",customName:"Custom name",customNamePlaceholder:"Leave empty to use original",icon:"Icon",typeLight:"Light",typeSwitch:"Switch",typeCover:"Cover",typeLock:"Lock",typeAlarm:"Alarm",typeButton:"Button",typeSelect:"Select",typeSiren:"Siren",typeSensor:"Sensor",typeEntry:"Entry",typeMediaPlayer:"Media Player",typeScript:"Script",run:"Run",sourceHA:"Home Assistant",sourceScrypted:"Scrypted",off:"Off",on:"On",mute:"Mute",unmute:"Unmute",stop:"Stop",locked:"Locked",unlocked:"Unlocked",open:"Open",closed:"Closed",disarmed:"Disarmed",disarm:"Disarm"},common:{error:"Error",save:"Save",cancel:"Cancel",loading:"Loading...",comingSoon:"Coming soon",back:"Back",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",reset:"Reset",selectAll:"Select all",deselectAll:"Deselect all",delete:"Delete",retry:"Retry"},grids:{newGrid:"New grid",deleteConfirm:"Delete this grid?",noGrids:"No grids yet. Create one to arrange cameras in a mosaic view.",createGrid:"Create grid",cameras:"cameras",notFound:"Grid not found.",noCameras:"No cameras in this grid. Edit the grid to add some.",edit:"Edit",addCamera:"Add camera",presets:"Presets",auto:"Auto",manual:"Manual",gridName:"Grid name",view:"View",addCameraHint:"Add at least one camera from the button above.",allCamerasAdded:"All cameras already in grid",cameraUnavailable:"Camera unavailable",camerasInGrid:"Cameras in grid",addAll:"Add all",addCameras:"Add Cameras",backToGrid:"Back to Grid",timelineNotSupported:"Timeline not supported"},nav:{cameras:"Cameras",grids:"Grids",events:"Events",videoclips:"Videoclips",list:"List",settings:"Settings"},cameras:{addCamera:"Add camera",pipActive:"PiP active",reorderEnable:"Reorder",reorderDisable:"Unlock",live:"Live",noCameras:"No cameras configured",noIntegrations:"No integrations configured. Add a system to get started.",createSystem:"Create system",importFrom:"Import cameras from",importSuccess:"Import complete",importCount:"{{count}} cameras imported",selectCamerasToImport:"Select cameras to import",selectAll:"Select all",deselectAll:"Deselect all",importSelected:"Import {{count}} selected",noCamerasFound:"No cameras found",play:"\u25b6 Play",paused:"Paused",noDataForDate:"No data for this date",recordingNotAvailable:"Recording not available",noEventsReel:"No recent events",settings:"Settings",highlightMotion:"Motion Highlight",highlightOnMotion:"Highlight on motion",highlightAudio:"Audio Highlight",audioMode:"Mode",audioModeOff:"Off",audioModeSensor:"Sensor",audioModeLevel:"Level",audioPreset:"Audio Preset",audioPresetCustom:"Custom",audioPresetCrying:"Crying / baby",audioPresetAlarm:"Alarm / siren",audioPresetDog:"Dog barking",audioPresetDoorbell:"Doorbell / knock",audioPresetGlass:"Glass break",audioWindow:"Window (s)",audioThreshold:"Threshold (dB)",audioHitPercentage:"Hit (%)",audioHoldSeconds:"Hold (s)",highlightDetection:"Object Detection Highlight",highlightOnDetection:"Highlight on detection",detectionClasses:"Classes",holdSeconds:"Hold (s)",rtspNotSupportedWeb:"RTSP streams are not supported on web. Use the mobile app.",liveDetections:"Live detections",filterTimeline:"Filter timeline",filterClasses:"Filter classes...",filterBySeverity:"Filter by severity",severityAlert:"Alert",severityDetection:"Detection",statusPosition:"Status Indicators Position",today:"Today",yesterday:"Yesterday",timeline:"Timeline",timelineEventsClusterEvents:"Events",selectDate:"Select a date",videoclipsNotSupported:"Videoclips not supported for this camera",noVideoclipsForDate:"No videoclips for this date",endOfList:"End of list",backToLive:"Back to live",goLive:"Go live",loadingClip:"Loading clip...",clusterDetailShowBbox:"Show bounding box on image",clusterDetailOpenVideoclip:"Open videoclip",clusterDetailLoadingEvents:"Loading events...",devices:"Devices",noAssociatedDevices:"No devices linked. Configure in Settings > Cameras.",timelineData:"Timeline data",timelineDataHint:"What to show on the timeline.",timelineDataVideoclips:"Videoclips",timelineDataAdvancedNotifier:"Advanced Notifier",timelineDataEvents:"Events",timelineEvents:"Timeline events",timelineEventsHint:"Which event types to show on the timeline, by severity.",timelinePresetAll:"All",timelinePresetImportant:"Important",timelinePresetCritical:"Critical",timelinePresetCustom:"Custom",statusBlock:"Status Block",sensorsBlock:"Sensors Block",position:"Position",indicators:"Indicators",downloadSnapshot:"Download Snapshot",exportDownloadClip:"Download Clip",exportRecordingWebOnly:"Recording export (web only)",exportSnapshot:"Export Snapshot",intercomError:"Intercom error",multiCam:"Multi-Camera",ptzNotSupported:"PTZ not supported",ptzSelectPreset:"Select PTZ Preset",snapshotFailed:"Snapshot failed"},events:{loading:"Loading events...",filterByLabel:"Filter by label",filterByLabelPlaceholder:"e.g. person, doorbell",filterByCamera:"Filter by camera",date:"Date",detectionTypes:"Detection types",source:"Source",cameras:"Cameras",groupingRange:"Grouping",groupingPresetMinutes:"{{m}} min",groupingCustom:"Custom",groupingCustomMinutes:"Minutes",groupingCustomApply:"Apply",today:"Today",noCamerasFromConfig:"Cameras loaded from EventsApp config",all:"All",typesCount:"{{count}} types",camerasCount:"{{count}} cameras",cols:"cols",sourceAuto:"Auto",sourceNVR:"NVR",sourceFrigate:"Frigate",sourceVideoClips:"VideoClips API",sourceRawDetection:"Raw",sourceAdvancedNotifier:"Advanced Notifier",detectionPerson:"Person",detectionVehicle:"Vehicle",detectionAnimal:"Animal",detectionAudio:"Audio",detectionFace:"Face",detectionPlate:"Plate",detectionPackage:"Package",detectionDoorbell:"Doorbell",detectionSensor:"Sensor",detectionMotion:"Motion",detectionRules:"Rules",noScryptedIntegration:"Add a Scrypted integration in Settings to view events.",frigateNoEvents:"Events are only available for Scrypted. Select a Scrypted instance in Settings.",noSource:"Add a Scrypted or Frigate integration in Settings, then select it as the Events/Videoclips source.",loadError:"Error loading events",noEvents:"No events for this date. Try changing the date or filters.",clearCacheTitle:"Clear cache",clearCacheMessage:"Clear all cached events and videoclips data? This will force a fresh fetch on next load.",clearCacheConfirm:"Clear",columnsPerRow:"Columns per row",onlyWithClips:"Only with clips",relatedClip:"Related Clip"},videoclips:{loading:"Loading videoclips...",noCamerasFromConfig:"Cameras loaded from config",noScryptedIntegration:"Add a Scrypted integration in Settings to view videoclips.",noFrigateIntegration:"Select a Frigate integration in Settings to view videoclips.",noSource:"Add a Scrypted or Frigate integration in Settings, then select it as the Events/Videoclips source.",loadError:"Error loading videoclips",noVideoclips:"No videoclips for this date. Try changing the date or filters.",openVideoclip:"Open videoclip",clearCacheTitle:"Clear cache",clearCacheMessage:"Clear all cached events and videoclips data? This will force a fresh fetch on next load.",clearCacheConfirm:"Clear"},settings:{integrations:"Integrations",camstackProxy:"CamStack Proxy",scrypted:"Scrypted",frigate:"Frigate",rtsp:"RTSP",homeAssistant:"Home Assistant",name:"Name",baseUrl:"Base URL",urlLocal:"Local URL",urlPublic:"Public URL",username:"Username",password:"Password",token:"Token (optional)",frigateTokenHint:"Token (optional): JWT from browser",tokenRequired:"Token",testConnection:"Test connection",testLocal:"Test Local",testPublic:"Test Public",testMqtt:"Test MQTT",connectionOk:"Connection successful",connectionError:"Connection failed",scryptedCredentialsPromptTitle:"Scrypted login",scryptedCredentialsPromptSubtitle:"Enter your Scrypted username and password to connect.",scryptedCredentialsPromptSkip:"Skip for now",usernamePlaceholder:"admin",save:"Save",tabStream:"Stream & playback",tabGeneral:"General",data:"Data",clearCacheEventsClips:"Clear events & videoclips cache",eventsClipsSourceHint:"Source for Events and Videoclips tabs.",hubReelTitle:"Hub & Reel",reelIntegrationsHint:"Choose which integrations to use for the reel.",reelScryptedSourceHint:"When using Scrypted: event source for reel.",eventsClipsAuto:"Auto",eventsClipsNoInstance:"Add a Scrypted or Frigate integration first.",exportBackup:"Export backup",exportError:"Export failed",importBackup:"Import backup",importConfirm:"This will replace all cameras, integrations and settings with the backup data. Continue?",importSuccess:"Backup restored successfully",importError:"Import failed",uiPrototypes:"UI Prototypes",uiPrototypesHint:"Explore experimental timeline designs",versions:"Versions",appVersion:"App",nativeVersion:"Native",updateNow:"Update now",updateError:"Update failed",updateAvailableTitle:"Update Available",updateAvailableMessage:"A new version of CamStack has been downloaded and is ready to install. The app will restart to apply the update.",updateInstall:"Install & Restart",updateLater:"Later",tabIntegrations:"Integrations",tabCameras:"Camera settings",theme:"Theme",themeSystem:"System",themeLight:"Light",themeDark:"Dark",language:"Language",languageSystem:"System",languageEn:"English",languageIt:"Italiano",timelineMode:"Timeline Mode",timelineModeClassic:"Classic",timelineModeTheater:"Theater",timeline:"Timeline",timelineVisible:"Show detection timeline",timelineVisibleDescription:"Display the detection timeline panel in the camera view.",clusterSize:"Cluster card size",snapshotInterval:"Snapshot refresh interval",clusterSizeXS:"XS",clusterSizeS:"S",clusterSizeM:"M",clusterSizeL:"L",clusterSizeXL:"XL",highlightAppearance:"Highlight appearance",highlightAppearanceHint:"Color and border thickness for motion, audio, and detection highlights on camera streams.",highlightMotion:"Motion",highlightAudio:"Audio",highlightDetection:"Detection",highlightColor:"Color",highlightThickness:"Thickness",selectSection:"Select section",addSystem:"Add system",selectPlatform:"Select platform",deleteInstance:"Delete instance",deleteInstanceConfirm:"Are you sure you want to delete this instance?",delete:"Delete",mqttEvents:"MQTT - Real-time events",mqttBrokerUrl:"MQTT broker URL",mqttUsername:"MQTT username",mqttPassword:"MQTT password",mqttTopicPrefix:"Topic prefix (default: frigate)",mqttOptional:"Optional",scryptedAddressAlreadyUsed:"This Scrypted address is already configured. Only one instance per address is allowed.",scryptedAdvancedNotifierRequired:"The Advanced Notifier plugin is required for the connection.",scryptedCorsTitle:"CORS configuration required (Web)",scryptedCorsBody:"In Scrypted, open the Cloud plugin settings and add your domain ({{domain}}) to the CORS Allowed Origins list. Without this, the browser will block requests to your Scrypted server.",scryptedUrlHint:"Local URL is tried first (e.g. on LAN), then public URL. At least one required.",gridLayout:"Grid layout",gridLayoutHint:"Display options for the cameras grid.",gridColumns:"Grid columns",gridColumnsHint:"Number of cameras per row. Auto = 1 on mobile, 4 on tablet.",gridShowName:"Show camera name",gridShowState:"Show state (battery, recording, sleeping)",reorderCameras:"Reorder cameras",reorderCamerasHint:"Drag to reorder cameras",reorderDone:"Done",manageCameras:"Manage cameras",manageCamerasHint:"Remove cameras from the app.",downloadSnapshot:"Download snapshot",snapshotFailed:"Could not fetch snapshot",exportSnapshot:"Snapshot",exportDownloadClip:"Download clip",exportStartRecording:"Start recording",exportStopRecording:"Stop recording",exportRecordingWebOnly:"Recording available on web",intercomError:"Intercom unavailable. Check camera credentials in Scrypted.",deleteCamera:"Remove camera",deleteCameraConfirm:"Remove {{name}} from the app?",streamPlayback:"Stream & playback",playOnOpen:"Start stream when opening camera",playOnOpenHint:"Automatically load the live stream when you open a camera.",audioOnOpen:"Unmute audio when opening",audioOnOpenHint:"Play audio when opening a camera (if supported).",streamWatchdog:"Stream watchdog",streamWatchdogHint:"Restart stream when no data received (helps with stalled connections).",cameraPlayer:"Camera player",webViewCameraDetail:"Use WebView player",webViewCameraDetailHint:"Use WebView for Scrypted cameras (faster first frame, more stable). PiP, fullscreen and intercom work. Default: native player.",streamQuality:"Stream quality",streamQualitySingle:"Single camera quality",streamQualityGrid:"Grid quality",qualityAuto:"Auto",qualityHigh:"High",qualityMedium:"Mid",qualityLow:"Sub",auto:"Auto",associatedDevices:"Associated devices",associatedDevicesHint:"Add actuators (lights, switches, covers, etc.) to control from the camera view.",linkedDevices:"Linked",reorderHint:"Use arrows to reorder",addDevice:"Add device",noEligibleDevices:"No Scrypted or Home Assistant configured. Add an integration first.",configureDevices:"Configure devices",cameraSettingsHint:"Choose a camera to configure its specific options.",noCamerasConfigured:"No cameras configured.",searchDevices:"Search devices...",source:"Source",type:"Type",all:"All",noMatchingDevices:"No devices match the filters.",frigateStream:"Frigate Stream",frigateStreamSourceHint:"Stream source: WebRTC (default), RTSP, or MJPEG.",frigateStreamMapping:"Stream mapping (go2rtc names from config)",frigateStreamMappingHint:"Select from available go2rtc streams. Order: Main, Sub, Low.",frigateSelectStream:"Select stream",frigateAddStream:"Add stream",frigateInfo:"Camera info",frigateShowConfig:"Show config",frigateShowGo2rtc:"Show go2rtc",frigateMissingConfig:"Missing baseUrl or cameraName in camera config.",tabLogs:"Logs",logsCount:"{{count}} entries",logsDownload:"Download",logsClear:"Clear",logsEmpty:"No logs yet. Console output will appear here.",logsExportError:"Export failed",logsExportTitle:"Export logs",logsClearConfirmTitle:"Clear logs",logsClearConfirmMessage:"Remove all log entries?",hubAppearanceTitle:"Appearance",hubAppearanceDesc:"Theme, language, timeline and highlights",hubCamerasTitle:"Cameras",hubCamerasDesc:"Grid layout, stream quality and camera management",hubIntegrationsTitle:"Integrations",hubIntegrationsDesc:"Manage Scrypted, Frigate and other systems",hubAdvancedTitle:"Advanced",hubAdvancedDesc:"Data backup and cache management",hubLogsTitle:"Logs",hubLogsDesc:"View and export application logs",hubCacheTitle:"Cache",frigateAutoSnap:"Auto Snapshot",frigateSegmentNav:"Segment Navigation",frigateShowGo:"Show Go2RTC",frigateTimeline:"Timeline",reelCameras:"Reel Cameras",reelCamerasHint:"Select which cameras appear in the events reel",reelDeselectAll:"Deselect All",reelDetectionClasses:"Detection Classes",reelDetectionClassesHint:"Filter events by detection class",reelIncludeRuleArtifacts:"Include Rule Artifacts",reelIncludeRuleArtifactsHint:"Show rule-based events in the reel",reelRuleArtifacts:"Rule Artifacts",reelSelectAll:"Select All",reelBadgeContent:"Badge content",reelBadgePosition:"Badge position",reelBadgeSize:"Badge size",reelBadgeBoth:"Time + Class",reelBadgeTime:"Time only",reelBadgeClass:"Class only",reelBadgeNone:"Hidden",reelBadgeSmall:"Small",reelBadgeMedium:"Medium",reelBadgeLarge:"Large"},reel:{filterMotion:"Motion",filterOnlyRules:"Only rules",filterOnlySensors:"Only sensors",goToMostRecent:"Go to most recent"},v2:{common:{connecting:"Connecting\u2026",online:"Online",offline:"Offline",loadError:"Loading error",create:"Create"},cameras:{empty:"No cameras",statusOnline:" \xb7 online",statusOffline:" \xb7 offline",sleeping:"Sleeping",unavailable:"Unavailable",motion:"Motion",doorbell:"Doorbell",doorbellRinging:"Ringing",doorbellLastRing:"Ring {{time}} ago",snapshotLoading:"Loading\u2026",manage:"Manage cameras",manageHint:"Drag to reorder. Rename inline. Toggle to show or hide a camera from the list.",reorderHandle:"Drag to reorder",appearance:"Appearance",editList:"Edit list",listOptions:"Camera list options"},cameraDetail:{fallbackName:"Camera #{{id}}",mute:"Mute",unmute:"Unmute",snapshot:"Snapshot",snapshotFailed:"Could not capture a snapshot.",ptz:"PTZ controls",talk:"Talk",fullscreen:"Fullscreen",talkFailed:"Could not start talk-back. Check microphone access.",pip:"Picture in Picture",exitFullscreen:"Exit fullscreen",devices:"Devices",devicesEmpty:"No connected devices.",linkedModeAuto:"Link: Auto (same location)",linkedModeManual:"Link: Manual",motionBoxes:"Motion boxes",close:"Close",deviceOnline:"Online",deviceOffline:"Offline"},grids:{createA11y:"Create grid",empty:"No grids",emptyHint:"Tap + to create your first grid",countNone:"No cameras",countOne:"1 camera",countOther:"{{count}} cameras",defaultName:"New grid",deleteTitle:"Delete grid",deleteConfirm:"Delete \"{{name}}\"? This cannot be undone.",export:"Export",exportAllA11y:"Export all grids",shareA11y:"Share grid",editA11y:"Edit grid",deleteA11y:"Delete grid",linkCopied:"Grid link copied to clipboard",layoutAuto:"Auto",layoutColumns:"{{count}} cols"},gridView:{editA11y:"Edit grid",fallbackTitle:"Grid",notFound:"Grid not found",emptyGrid:"This grid is empty",addCameras:"Add cameras",reorderTitle:"Reorder cameras",reorderA11y:"Reorder cameras",reorderDoneA11y:"Done reordering",allHidden:"All cameras are hidden. Use reorder mode to show some.",dragA11y:"Drag to reorder",hideA11y:"Hide from grid",showA11y:"Show in grid",removeA11y:"Remove from grid",adhocTitle:"Quick grid"},gridBuilder:{title:"Edit grid",nameLabel:"Name",namePlaceholder:"Grid name",camerasSelected:"Cameras ({{count}} selected)",optionsTitle:"Options",showName:"Show camera name",export:"Export grid",orderSection:"In the grid",orderHint:"Drag to reorder",emptyOrder:"No cameras yet \u2014 add some below.",addSection:"Add cameras",removeA11y:"Remove from grid",addA11y:"Add to grid",highlightTitle:"Highlight",highlightMotion:"On motion",highlightAudio:"On audio",highlightAudioOff:"Off",highlightAudioSensor:"Presence",highlightAudioLevel:"Level",highlightThreshold:"Threshold",highlightHold:"Hold",highlightDetection:"On detection",clusterLabel:"Cluster label",clusterLabelIcon:"Icon",clusterLabelText:"Text"},gridBar:{back:"Back",pauseAll:"Pause all",playAll:"Play all",audio:"Audio",quality:"Stream quality",layout:"Layout",highlightMenu:"Highlight & overlays",activeOnly:"Active only",share:"Share grid",edit:"Edit grid",hide:"Hide controls",show:"Show controls",muteAll:"Mute all",unmuteAll:"Unmute all"},gridMenu:{highlightMaster:"Highlight borders"},gridShare:{title:"Share \"{{name}}\"",quality:"Stream quality",layout:"Layout",showNames:"Show camera names",activeOnly:"Active cameras only",boxes:"Bounding boxes",highlightEnable:"Highlight",audioSummary:"Audio starts on for {{count}} camera(s)",ttlTitle:"Link expires",ttl_1d:"1 day",ttl_7d:"7 days",ttl_30d:"30 days",ttl_never:"Forever",tokenNotice:"The link includes a view-only access token limited to these cameras. Anyone with the link can watch until it expires or is revoked.",copyLink:"Copy link",creating:"Creating link\u2026",copiedExpires:"Link copied \u2014 expires {{date}}",copiedNever:"Link copied \u2014 never expires",error:"Could not create the share link. Check the connection and try again.",optionAuto:"Auto",optionHigh:"High",optionMedium:"Mid",optionLow:"Low"},gridControls:{play:"Play",pause:"Pause",mute:"Mute",unmute:"Unmute",quality:"Quality",layout:"Layout",layoutAuto:"Auto"},events:{comingSoon:"Events \u2014 coming soon",searchLabel:"Search label\u2026",empty:"No events",today:"Today",filteredEmpty:"No matches in the loaded range",loadOlder:"Load older",selectPrompt:"Select an event to see its detail",filters:"Filters",all:"All",day:"Day",sort:"Sort",sortTime:"Newest",sortImportance:"Importance",cameras:"Cameras",classes:"Classes",search:"Search",searchCameras:"Search cameras\u2026",searchClasses:"Search classes\u2026",allCamerasHint:"None = all",allClassesHint:"None = all",done:"Done",density:"Density",selectHint:"Select an event",eventKinds:"Event types",displayOptions:"Display",displayTitle:"Display options"},settings:{themeSystem:"System",themeDark:"Dark",themeLight:"Light",server:"Server",hubActive:"Active hub",changeServer:"Change server",signOut:"Sign out",network:"Network",networkNone:"No routes probed yet",endpointUnlikely:"Unlikely usable",reprobe:"Re-probe routes",reprobing:"Probing\u2026",appearance:"Appearance",theme:"Theme",info:"Info",app:"App",version:"Version",noServer:"No server",footerNote:"CamStack Viewer connects to a single camstack hub. Cameras, grids and events are managed by the server.",language:"Language",langSystem:"System",gridDefaults:"Grid defaults",showName:"Show camera name",showNameHint:"Overlay the camera name on each tile",showState:"Show status badge",showStateHint:"Show online / recording state on each tile",columns:"Columns",cameraOrder:"Camera order",orderName:"By name",orderCustom:"Custom",motionHold:"Motion highlight linger",motionHoldHint:"Keep a tile's motion highlight lit this long after motion stops.",motionHoldOff:"Off",streamQuality:"Stream quality",streamDefaults:"Stream defaults",playOnOpen:"Play on open",playOnOpenHint:"Start the live stream when a camera opens",audioOnOpen:"Audio on open",audioOnOpenHint:"Unmute audio when a camera opens",snapshotInterval:"Snapshot refresh",highlightAppearance:"Highlight appearance",highlightMotionColor:"Motion color",highlightAudioColor:"Audio color",highlightDetectionColor:"Detection color",highlightThickness:"Border thickness",qualityAuto:"Auto",qualityHigh:"High",qualityMid:"Medium",qualityLow:"Low",secondsValue:"{{count}}s",advanced:"Advanced",clearCache:"Clear cache",clearCacheHint:"Free up snapshots and cached data (keeps your server and settings)",clearCacheConfirmTitle:"Clear cache?",clearCacheConfirmBody:"This removes cached images and query data. Your server, sign-in and settings are kept.",clearCacheDone:"Cache cleared",exportSettings:"Export settings",exportSettingsHint:"Copy your settings as JSON",exportSettingsDone:"Settings copied as JSON",viewLogs:"View logs",viewLogsHint:"Recent in-app log messages",logsEmpty:"No logs recorded yet",keepLogs:"Keep logs",keepLogsHint:"Record a rolling buffer of in-app log messages",debugMode:"Debug mode",debugModeHint:"Verbose logs across live, playback and scrub \u2014 sent to the server",logsClear:"Clear",resetSettings:"Reset settings",resetSettingsHint:"Restore all defaults",resetConfirmTitle:"Reset settings?",resetConfirmBody:"This restores all settings to their defaults.",cancel:"Cancel",confirm:"Confirm",timeline:"Timeline & highlights",reel:"Event reel",reelThumbSize:"Reel thumbnail size",reelThumbSizeHint:"Size of the tiles in the Recent events reel.",reelSizeSmall:"Small",reelSizeMedium:"Medium",reelSizeLarge:"Large",reelShowLabels:"Show labels",reelShowLabelsHint:"Show the class/identity label on reel items.",reelLabelStyle:"Class display",reelLabelStyleHint:"Show the detection class as an icon or as text on reel items.",reelShowImportance:"Show importance",reelShowImportanceHint:"Show the importance badge on reel items.",events:"Events",eventsPage:"Events page",minImportance:"Minimum importance",minImportanceHint:"Hide events scored below this across the events page and the camera timeline.",minImportanceOff:"Off",tileShowLabels:"Show labels",tileShowLabelsHint:"Show the class / identity / audio labels on event cards.",tileShowImportance:"Show importance",tileShowImportanceHint:"Show the importance badge on event cards (when scored).",tileShowCameraName:"Show camera name",tileShowCameraNameHint:"Show the camera name in the event card footer.",tileLabelStyle:"Class display",tileLabelStyleHint:"Show the detection class as an icon or as text.",tileLabelStyleIcon:"Icon",tileLabelStyleText:"Text",comingSoon:"Coming soon",cameras:"Cameras",manageCameras:"Manage cameras",manageCamerasHint:"Rename, hide, reorder",pinchExpandsHeight:"Pinch enlarges the view",pinchExpandsHeightHint:"Pinching to zoom also grows the video taller (crops the side edges on 16:9 cameras).","timeline.gapPercent":"Cluster gap (%)","timeline.sizePercent":"Cluster size (%)","timeline.indicatorPositionPct":"Indicator position (%)","timeline.showImportance":"Show importance on items","timeline.showClass":"Show detection class on items","timeline.cardWidthPct":"Card width (%)",haptics:"Event haptics",hapticsEnabled:"Vibrate on events",hapticsEnabledHint:"Small vibration pulses for key events on the camera you're watching. Native only (iOS/Android).",hapticsMotion:"Motion",hapticsDetection:"Detection",hapticsPerson:"Person / recognized"},login:{loginFailed:"Login failed",verifyFailed:"Verification failed",serverUrl:"Server URL",username:"Username",password:"Password",showPassword:"Show password",hidePassword:"Hide password",signIn:"Sign in",signingIn:"Signing in\u2026",twoFactor:"Two-factor authentication",totpHint:"Enter the 6-digit code from your authenticator app to sign in as ",verificationCode:"Verification code",verifyAndSignIn:"Verify and sign in",verifying:"Verifying\u2026",back:"Back",or:"or",signInWithCamStack:"Sign in with CamStack",hubSignInHint:"Opens your hub\u2019s login page and links this app without typing your password here.",handoffFailed:"Sign-in with CamStack failed \u2014 try again or use username and password",invalidServerUrl:"Enter a valid server URL (https://\u2026) first"},live:{webUnsupported:"Live view is not available on the web version yet.",connecting:"Connecting to live stream\u2026",error:"Unable to load the live stream.",retry:"Retry",noConnection:"No connection to the server",failed:"Connection failed"},ptz:{title:"PTZ",notAvailable:"PTZ controls are not available for this camera.",zoom:"Zoom",home:"Home position",presets:"Presets",noPresets:"No presets saved."},timeline:{activityTitle:"Activity",last24h:"Last 24h",loading:"Loading activity\u2026",noActivity:"No activity in the last 24 hours.",legendRecording:"Recorded",legendMotion:"Motion",legendAudio:"Audio"},theater:{back:"Back",today:"Today",yesterday:"Yesterday",selectDate:"Pick a date",live:"LIVE",now:"NOW",auto:"Auto",quality:"Stream quality",filterAll:"All",filter_motion:"Motion",filter_audio:"Audio",goToLive:"Go to live",noRecording:"No recording",noRecordingHint:"No footage at this time",detailCount:"{{frames}} frames \xb7 {{count}} detections",detailTracks:"{{tracks}} tracks \xb7 {{count}} detections",detailEmpty:"No detail images for this moment",detailSeek:"Go to this moment",zoneHint:"Drag a rectangle over the video to filter events by zone",zoneConfirm:"Confirm",zoneCancel:"Cancel"},mediaKind:{crop:"Object crop",thumbnail:"Best shot",faceCrop:"Face",plateCrop:"Plate",fullFrame:"Frame",fullFrameBoxed:"Boxed",keyFrame:"Key frame",firstFrame:"First",lastFrame:"Last",snapshot:"Snapshot"},tracks:{crop:"Crop",fullFrame:"Full frame",zones:"Zones",audio:"Audio",reason:"Why notable",empty:"No tracks",recent:"Recent",searchPlaceholder:"Search events (e.g. \"person in red\")",noMatches:"No matching events",person:"Person",assignPerson:"Assign to person",changePerson:"Change",notAssigned:"Not assigned",assignFaceTitle:"Assign face",newPersonPlaceholder:"New person name\u2026",createAndAssign:"Create & assign",assignFailed:"Couldn't assign the face",removePerson:"Remove person",removePersonConfirmTitle:"Remove person?",removePersonConfirmBody:"This unlinks the person from this face. The face returns to the unassigned buffer and can be reassigned later.",disassociateFailed:"Couldn't remove the person",removePersonAll:"Remove from all events",removePersonAllConfirmTitle:"Remove from all events?",removePersonAllConfirmBody:"This unlinks this person from EVERY event. All faces currently recognized as this person return to the unassigned buffer and can be reassigned later. The person is kept.",disassociateAllFailed:"Couldn't remove the person from all events",existingPersons:"People",noPersons:"No people yet",metadata:"Metadata",copy:"Copy",copied:"Copied","meta.trackId":"Track ID","meta.eventId":"Best event ID","meta.deviceId":"Device ID","meta.camera":"Camera","meta.className":"Class","meta.label":"Label","meta.firstSeen":"First seen","meta.lastSeen":"Last seen","meta.state":"State","meta.importance":"Importance","meta.confidence":"Confidence","meta.mediaKeys":"Media keys"},accessories:{on:"On",off:"Off",dimUp:"Brighter",dimDown:"Dimmer",lock:"Lock",unlock:"Unlock",open:"Open",close:"Close",stop:"Stop",arm:"Arm",disarm:"Disarm",onMotion:"On motion",warmer:"Warmer",cooler:"Cooler",speedUp:"Faster",speedDown:"Slower",oscillate:"Oscillate",press:"Press",play:"Play",pause:"Pause",previous:"Previous",next:"Next",start:"Start",dock:"Dock",locate:"Locate",feed:"Feed",feeding:"Feeding\u2026",install:"Install",installing:"Installing\u2026",upToDate:"Up to date",increase:"Increase",decrease:"Decrease",select:"Select",climateModes:{off:"Off",heat:"Heat",cool:"Cool",auto:"Auto",heat_cool:"Heat/Cool",fan_only:"Fan",dry:"Dry"}},cameraMenu:{title:"View options",boundingBoxes:"Bounding boxes",streamStats:"Stream stats",audioLevel:"Audio level",densityTitle:"Timeline density",density_compact:"Compact",density_medium:"Medium",density_wide:"Wide",densityCustom:"Custom",indicatorPosition:"Indicator position",showImportance:"Show importance",showClass:"Show detection class",managementTitle:"Management"},stats:{title:"Stream stats",resolution:"Resolution",fps:"FPS",bitrate:"Bitrate",packetLoss:"Packet loss",jitter:"Jitter",codec:"Codec",frames:"Frames (dropped/total)",waiting:"Measuring\u2026",playbackHint:"Full WebRTC stats need the native player."},exportActions:{title:"Capture",recordingExport:"Recording export"},exports:{title:"Exports",empty:"No exports yet.",settingsHint:"Download recorded clips",range:"Range",rangeStart:"Start",rangeEnd:"End",profile:"Profile",noFootage:"No footage in this range.",speed:"Speed",timelapse:"Timelapse",cadence:"Frame every",audio:"Audio",includeAudio:"Include audio",audioUnavailable:"Audio is only available at 0.5\u20132\xd7 speed.",retention:"Keep for",life24h:"24 hours",life7d:"7 days",life30d:"30 days",deleteAfterDownload:"Delete after download",deleteAfterDownloadHint:"Remove the file once downloaded.",creating:"Creating\u2026",createAction:"Export",createFailed:"Could not create the export.",withAudio:"with audio",variantRegular:"1\xd7",variantAccelerated:"Accelerated {{speed}}\xd7",variantSlow:"Slow {{speed}}\xd7",variantTimelapse:"Timelapse",expired:"Expired",expiresInDays:"Expires in {{count}}d",expiresInHours:"Expires in {{count}}h",expiresInMinutes:"Expires in {{count}}m",downloadAction:"Download",downloadUnavailable:"Download not available.",downloadFailed:"Download failed.",cancelAction:"Cancel",cancelConfirmTitle:"Cancel export?",cancelConfirmBody:"This stops rendering and discards the partial file.",deleteAction:"Delete",deleteConfirmTitle:"Delete export?",deleteConfirmBody:"This removes the file. The history entry is kept.",dismiss:"Dismiss",state:{queued:"Queued",rendering:"Rendering",ready:"Ready",failed:"Failed",expired:"Expired",deleted:"Deleted"}},streamBar:{play:"Play",pause:"Pause",mute:"Mute",unmute:"Unmute",talkStart:"Start talking",talkStop:"Stop talking",quality:"Stream quality",menu:"View options",snapshot:"Snapshot",pip:"Picture in picture",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen"},playback:{prevFrame:"Previous frame",nextFrame:"Next frame",speed:"Playback speed",audioMuted:"Audio off at \u2260 1\xd7",audioOn:"Audio on"},cameraSwitcher:{title:"Switch camera",empty:"No cameras available",openGrid:"Open grid ({{n}})",selectA11y:"Select {{name}}"},storage:{title:"Storage",usageTitle:"Usage",nodeTotal:"Node total",defaultLocation:"Default location",locationFree:"{{free}} free",retentionTitle:"Retention",pruneAction:"Apply retention now",pruneConfirmTitle:"Apply retention?",pruneConfirmBody:"Delete footage on {{name}} that exceeds its retention policy.",pruneResult:"Reclaimed {{bytes}} ({{buckets}} segments).",deleteTitle:"Delete footage",deleteAction:"Delete",deleteConfirmTitle:"Delete footage?",deleteConfirmBody:"Permanently delete {{range}} of footage on {{name}}. This cannot be undone.",deleteResult:"Reclaimed {{bytes}} ({{buckets}} segments).",cancel:"Cancel",window24h:"Last 24h",window7d:"Last 7 days",window30d:"Last 30 days",windowAll:"Everything"},eventsMgmt:{title:"Events",footprintTitle:"Footprint",rowsBytes:"{{rows}} events \xb7 {{bytes}}",clusterTotal:"Cluster total",pruneTitle:"Prune older than",pruneHint:"Applies to all cameras.",pruneAction:"Prune",pruneConfirmTitle:"Prune old events?",pruneConfirmBody:"Delete events older than {{range}} across ALL cameras. This cannot be undone.",pruneResult:"Deleted {{count}} events.",deleteTitle:"Delete camera events",deleteAction:"Delete all events for this camera",deleteConfirmTitle:"Delete all events?",deleteConfirmBody:"Permanently delete every event for {{name}}. This cannot be undone.",deleteResult:"Deleted {{count}} events.",cancel:"Cancel",older24h:"24 hours",older7d:"7 days",older30d:"30 days"}},prototype:{today:"Today",yesterday:"Yesterday",now:"NOW",endOfDay:"END OF DAY",loading:"Loading...",timeline:"Timeline",events:"Events",playClip:"Play clip",goToNow:"NOW",noEvents:"No events"},eventKind:{motion:"Motion",audio:"Audio",person:"Person",vehicle:"Vehicle",animal:"Animal",package:"Package",sensor:"Sensor",control:"Control",car:"Car",truck:"Truck",bus:"Bus",motorcycle:"Motorcycle",bicycle:"Bicycle",airplane:"Airplane",boat:"Boat",train:"Train",bird:"Bird",cat:"Cat",dog:"Dog",horse:"Horse",sheep:"Sheep",cow:"Cow",elephant:"Elephant",bear:"Bear",zebra:"Zebra",giraffe:"Giraffe",contact:"Contact","motion-sensor":"Motion sensor",smoke:"Smoke",flood:"Water leak",gas:"Gas","carbon-monoxide":"Carbon monoxide",vibration:"Vibration",tamper:"Tamper",presence:"Presence","enum-sensor":"Sensor state","device-event":"Device event",lock:"Lock",switch:"Switch",siren:"Siren",button:"Button",doorbell:"Doorbell","package-delivered":"Package delivered","package-picked-up":"Package picked up","audio-speech":"Speech","audio-music":"Music","audio-dog":"Dog","audio-doorbell":"Doorbell","audio-siren":"Siren","audio-alarm":"Alarm"}}},3578,[]);
16000
- __d(function(e,i,a,t,o,n,r){o.exports={devices:{editDevice:"Modifica dispositivo",originalName:"Nome originale",customName:"Nome personalizzato",customNamePlaceholder:"Lascia vuoto per usare l'originale",icon:"Icona",typeLight:"Luce",typeSwitch:"Interruttore",typeCover:"Tapparella",typeLock:"Serratura",typeAlarm:"Allarme",typeButton:"Pulsante",typeSelect:"Selezione",typeSiren:"Sirena",typeSensor:"Sensore",typeEntry:"Ingresso",typeMediaPlayer:"Media Player",typeScript:"Script",run:"Esegui",sourceHA:"Home Assistant",sourceScrypted:"Scrypted",off:"Off",on:"On",mute:"Muto",unmute:"Audio",stop:"Stop",locked:"Chiusa",unlocked:"Aperta",open:"Aperta",closed:"Chiusa",disarmed:"Disinserito",disarm:"Disinserisci"},common:{error:"Errore",save:"Salva",cancel:"Annulla",loading:"Caricamento...",comingSoon:"In arrivo",back:"Indietro",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",reset:"Reimposta",selectAll:"Seleziona tutte",deselectAll:"Deseleziona tutte",delete:"Elimina",retry:"Riprova"},grids:{newGrid:"Nuova griglia",deleteConfirm:"Eliminare questa griglia?",noGrids:"Nessuna griglia. Creane una per disporre le telecamere in vista mosaico.",createGrid:"Crea griglia",cameras:"telecamere",notFound:"Griglia non trovata.",noCameras:"Nessuna telecamera in questa griglia. Modifica per aggiungerne.",edit:"Modifica",addCamera:"Aggiungi telecamera",presets:"Preset",auto:"Auto",manual:"Manuale",gridName:"Nome griglia",view:"Visualizza",addCameraHint:"Aggiungi almeno una telecamera dal pulsante sopra.",allCamerasAdded:"Tutte le telecamere sono gi\xe0 in griglia",cameraUnavailable:"Telecamera non disponibile",camerasInGrid:"Telecamere nella griglia",addAll:"Aggiungi tutte",addCameras:"Aggiungi Telecamere",backToGrid:"Torna alla Griglia",timelineNotSupported:"Timeline non supportata"},nav:{cameras:"Telecamere",grids:"Griglie",events:"Eventi",videoclips:"Videoclip",list:"Lista",settings:"Impostazioni"},cameras:{addCamera:"Aggiungi telecamera",pipActive:"PiP attivo",reorderEnable:"Riordina",reorderDisable:"Sblocca",live:"Live",noCameras:"Nessuna telecamera configurata",noIntegrations:"Nessuna integrazione configurata. Aggiungi un sistema per iniziare.",createSystem:"Crea sistema",importFrom:"Importa telecamere da",importSuccess:"Importazione completata",importCount:"{{count}} telecamere importate",selectCamerasToImport:"Seleziona telecamere da importare",selectAll:"Seleziona tutte",deselectAll:"Deseleziona tutte",importSelected:"Importa {{count}} selezionate",noCamerasFound:"Nessuna telecamera trovata",play:"\u25b6 Riproduci",paused:"In pausa",noDataForDate:"Nessun dato per questa data",recordingNotAvailable:"Registrazione non disponibile",noEventsReel:"Nessun evento recente",settings:"Impostazioni",highlightMotion:"Evidenza movimento",highlightOnMotion:"Evidenzia al movimento",highlightAudio:"Evidenza audio",audioMode:"Modalit\xe0",audioModeOff:"Off",audioModeSensor:"Sensore",audioModeLevel:"Livello",audioPreset:"Preset audio",audioPresetCustom:"Personalizzato",audioPresetCrying:"Pianto / neonato",audioPresetAlarm:"Allarme / sirena",audioPresetDog:"Abbaio cane",audioPresetDoorbell:"Campanello / bussata",audioPresetGlass:"Rottura vetro",audioWindow:"Finestra (s)",audioThreshold:"Soglia (dB)",audioHitPercentage:"Percentuale (%)",audioHoldSeconds:"Mantenimento (s)",highlightDetection:"Evidenza rilevamento oggetti",highlightOnDetection:"Evidenzia al rilevamento",detectionClasses:"Classi",holdSeconds:"Mantenimento (s)",rtspNotSupportedWeb:"Gli stream RTSP non sono supportati sul web. Usa l'app mobile.",liveDetections:"Detections live",filterTimeline:"Filtra timeline",filterClasses:"Filtra classi...",filterBySeverity:"Filtra per severit\xe0",severityAlert:"Allarme",severityDetection:"Rilevamento",statusPosition:"Posizione indicatori di stato",today:"Oggi",yesterday:"Ieri",timeline:"Timeline",timelineEventsClusterEvents:"Eventi",selectDate:"Seleziona una data",videoclipsNotSupported:"Videoclip non supportati per questa telecamera",noVideoclipsForDate:"Nessun videoclip per questa data",endOfList:"Fine elenco",backToLive:"Torna al live",goLive:"Vai al live",loadingClip:"Caricamento clip...",clusterDetailShowBbox:"Mostra bounding box sull'immagine",clusterDetailOpenVideoclip:"Apri videoclip",clusterDetailLoadingEvents:"Caricamento eventi...",devices:"Dispositivi",noAssociatedDevices:"Nessun dispositivo collegato. Configura in Impostazioni > Telecamere.",timelineData:"Dati timeline",timelineDataHint:"Cosa mostrare sulla timeline.",timelineDataVideoclips:"Videoclip",timelineDataAdvancedNotifier:"Advanced Notifier",timelineDataEvents:"Eventi",timelineEvents:"Eventi timeline",timelineEventsHint:"Quali tipi di eventi mostrare sulla timeline, in base alla severit\xe0.",timelinePresetAll:"Tutti",timelinePresetImportant:"Importanti",timelinePresetCritical:"Critici",timelinePresetCustom:"Personalizzato",statusBlock:"Blocco stato",sensorsBlock:"Blocco sensori",position:"Posizione",indicators:"Indicatori",downloadSnapshot:"Scarica Istantanea",exportDownloadClip:"Scarica Clip",exportRecordingWebOnly:"Esporta registrazione (solo web)",exportSnapshot:"Esporta Istantanea",intercomError:"Errore interfono",multiCam:"Multi-Camera",ptzNotSupported:"PTZ non supportato",ptzSelectPreset:"Seleziona Preset PTZ",snapshotFailed:"Istantanea fallita"},events:{loading:"Caricamento eventi...",filterByLabel:"Filtra per etichetta",filterByLabelPlaceholder:"es. person, doorbell",filterByCamera:"Filtra per telecamera",date:"Data",detectionTypes:"Tipi di rilevamento",source:"Sorgente",cameras:"Telecamere",groupingRange:"Raggruppamento",groupingPresetMinutes:"{{m}} min",groupingCustom:"Personalizzato",groupingCustomMinutes:"Minuti",groupingCustomApply:"Applica",today:"Oggi",noCamerasFromConfig:"Telecamere caricate dalla config EventsApp",all:"Tutti",typesCount:"{{count}} tipi",camerasCount:"{{count}} telecamere",cols:"col",sourceAuto:"Auto",sourceNVR:"NVR",sourceFrigate:"Frigate",sourceVideoClips:"API VideoClips",sourceRawDetection:"Raw",sourceAdvancedNotifier:"Advanced Notifier",detectionPerson:"Persona",detectionVehicle:"Veicolo",detectionAnimal:"Animale",detectionAudio:"Audio",detectionFace:"Volto",detectionPlate:"Targa",detectionPackage:"Pacco",detectionDoorbell:"Campanello",detectionSensor:"Sensore",detectionMotion:"Motion",detectionRules:"Regole",noScryptedIntegration:"Aggiungi un'integrazione Scrypted in Impostazioni per vedere gli eventi.",frigateNoEvents:"Gli eventi sono disponibili solo per Scrypted. Seleziona un'istanza Scrypted in Impostazioni.",noSource:"Aggiungi un'integrazione Scrypted o Frigate in Impostazioni, poi selezionala come sorgente per Eventi e Videoclip.",loadError:"Errore nel caricamento degli eventi",noEvents:"Nessun evento per questa data. Prova a cambiare data o filtri.",clearCacheTitle:"Svuota cache",clearCacheMessage:"Svuotare tutti i dati in cache di eventi e videoclip? Verr\xe0 effettuato un nuovo caricamento al prossimo accesso.",clearCacheConfirm:"Svuota",columnsPerRow:"Colonne per riga",onlyWithClips:"Solo con clip",relatedClip:"Clip Correlata"},videoclips:{loading:"Caricamento videoclip...",noCamerasFromConfig:"Telecamere caricate dalla config",noScryptedIntegration:"Aggiungi un'integrazione Scrypted in Impostazioni per vedere i videoclip.",noFrigateIntegration:"Seleziona un'integrazione Frigate in Impostazioni per vedere i videoclip.",noSource:"Aggiungi un'integrazione Scrypted o Frigate in Impostazioni, poi selezionala come sorgente per Eventi e Videoclip.",loadError:"Errore nel caricamento dei videoclip",noVideoclips:"Nessun videoclip per questa data. Prova a cambiare data o filtri.",openVideoclip:"Apri videoclip",clearCacheTitle:"Svuota cache",clearCacheMessage:"Svuotare tutti i dati in cache di eventi e videoclip? Verr\xe0 effettuato un nuovo caricamento al prossimo accesso.",clearCacheConfirm:"Svuota"},settings:{integrations:"Integrazioni",camstackProxy:"CamStack Proxy",scrypted:"Scrypted",frigate:"Frigate",rtsp:"RTSP",homeAssistant:"Home Assistant",name:"Nome",baseUrl:"URL base",urlLocal:"URL locale",urlPublic:"URL pubblico",username:"Username",password:"Password",token:"Token (opzionale)",frigateTokenHint:"Token (opzionale): JWT dal browser",tokenRequired:"Token",testConnection:"Test connessione",testLocal:"Test Local",testPublic:"Test Public",testMqtt:"Test MQTT",connectionOk:"Connessione riuscita",connectionError:"Connessione fallita",scryptedCredentialsPromptTitle:"Accesso Scrypted",scryptedCredentialsPromptSubtitle:"Inserisci username e password Scrypted per connettere.",scryptedCredentialsPromptSkip:"Salta per ora",usernamePlaceholder:"admin",save:"Salva",tabStream:"Stream e riproduzione",tabGeneral:"Generale",data:"Dati",clearCacheEventsClips:"Svuota cache eventi e videoclip",eventsClipsSourceHint:"Sorgente per le schede Eventi e Videoclip.",hubReelTitle:"Hub & Reel",reelIntegrationsHint:"Scegli quali integrazioni usare per il reel.",reelScryptedSourceHint:"Con Scrypted: sorgente eventi per il reel.",eventsClipsAuto:"Auto",eventsClipsNoInstance:"Aggiungi prima un'integrazione Scrypted o Frigate.",exportBackup:"Esporta backup",exportError:"Esportazione fallita",importBackup:"Importa backup",importConfirm:"Questo sostituir\xe0 tutte le telecamere, integrazioni e impostazioni con i dati del backup. Continuare?",importSuccess:"Backup ripristinato con successo",importError:"Importazione fallita",uiPrototypes:"Prototipi UI",uiPrototypesHint:"Esplora design sperimentali della timeline",versions:"Versioni",appVersion:"App",nativeVersion:"Nativa",updateNow:"Aggiorna ora",updateError:"Aggiornamento fallito",updateAvailableTitle:"Aggiornamento disponibile",updateAvailableMessage:"Una nuova versione di CamStack \xe8 stata scaricata ed \xe8 pronta per l'installazione. L'app verr\xe0 riavviata per applicare l'aggiornamento.",updateInstall:"Installa e riavvia",updateLater:"Pi\xf9 tardi",tabIntegrations:"Integrazioni",tabCameras:"Telecamere",theme:"Tema",themeSystem:"Sistema",themeLight:"Chiaro",themeDark:"Scuro",language:"Lingua",languageSystem:"Sistema",languageEn:"English",languageIt:"Italiano",timelineMode:"Modalit\xe0 timeline",timelineModeClassic:"Classica",timelineModeTheater:"Theater",timeline:"Timeline",timelineVisible:"Mostra timeline rilevamenti",timelineVisibleDescription:"Visualizza il pannello della timeline nella vista telecamera.",clusterSize:"Dimensione cluster",snapshotInterval:"Intervallo aggiornamento snapshot",clusterSizeXS:"Molto piccola",clusterSizeS:"Piccola",clusterSizeM:"Normale",clusterSizeL:"Grande",clusterSizeXL:"Molto grande",highlightAppearance:"Aspetto evidenze",highlightAppearanceHint:"Colore e spessore del bordo per evidenze movimento, audio e rilevamento sugli stream delle telecamere.",highlightMotion:"Movimento",highlightAudio:"Audio",highlightDetection:"Rilevamento",highlightColor:"Colore",highlightThickness:"Spessore",selectSection:"Seleziona sezione",addSystem:"Aggiungi sistema",selectPlatform:"Seleziona piattaforma",deleteInstance:"Elimina istanza",deleteInstanceConfirm:"Vuoi eliminare questa istanza?",delete:"Elimina",mqttEvents:"MQTT - Eventi in tempo reale",mqttBrokerUrl:"URL broker MQTT",mqttUsername:"Username MQTT",mqttPassword:"Password MQTT",mqttTopicPrefix:"Prefisso topic (default: frigate)",mqttOptional:"Opzionale",scryptedAddressAlreadyUsed:"Questo indirizzo Scrypted \xe8 gi\xe0 configurato. \xc8 consentita una sola istanza per indirizzo.",scryptedAdvancedNotifierRequired:"Il plugin Advanced Notifier \xe8 richiesto per la connessione.",scryptedCorsTitle:"Configurazione CORS richiesta (Web)",scryptedCorsBody:"In Scrypted, apri le impostazioni del plugin Cloud e aggiungi il tuo dominio ({{domain}}) alla lista CORS Allowed Origins. Senza questa configurazione, il browser bloccher\xe0 le richieste verso il server Scrypted.",scryptedUrlHint:"L'URL locale viene provato per primo (es. in LAN), poi quello pubblico. Ne serve almeno uno.",gridLayout:"Layout griglia",gridLayoutHint:"Opzioni di visualizzazione per la griglia telecamere.",gridColumns:"Colonne griglia",gridColumnsHint:"Numero di telecamere per riga. Auto = 1 su mobile, 4 su tablet.",gridShowName:"Mostra nome telecamera",gridShowState:"Mostra stato (batteria, registrazione, sleep)",reorderCameras:"Riordina telecamere",reorderCamerasHint:"Trascina per riordinare le telecamere",reorderDone:"Fatto",manageCameras:"Gestisci telecamere",manageCamerasHint:"Rimuovi telecamere dall'app.",downloadSnapshot:"Scarica snapshot",snapshotFailed:"Impossibile recuperare lo snapshot",exportSnapshot:"Snapshot",exportDownloadClip:"Scarica clip",exportStartRecording:"Avvia registrazione",exportStopRecording:"Ferma registrazione",exportRecordingWebOnly:"Registrazione disponibile su web",intercomError:"Intercom non disponibile. Verifica le credenziali della telecamera su Scrypted.",deleteCamera:"Rimuovi telecamera",deleteCameraConfirm:"Rimuovere {{name}} dall'app?",streamPlayback:"Stream e riproduzione",playOnOpen:"Avvia stream all'apertura telecamera",playOnOpenHint:"Carica automaticamente lo stream live quando apri una telecamera.",audioOnOpen:"Audio attivo all'apertura",audioOnOpenHint:"Riproduci audio quando apri una telecamera (se supportato).",streamWatchdog:"Stream watchdog",streamWatchdogHint:"Riavvia lo stream quando non arrivano dati (aiuta con connessioni bloccate).",cameraPlayer:"Player telecamera",webViewCameraDetail:"Usa player WebView",webViewCameraDetailHint:"Usa WebView per le telecamere Scrypted (primo frame pi\xf9 veloce, pi\xf9 stabile). PiP, fullscreen e intercom funzionano. Default: player nativo.",streamQuality:"Qualit\xe0 stream",streamQualitySingle:"Qualit\xe0 singola telecamera",streamQualityGrid:"Qualit\xe0 griglia",qualityAuto:"Auto",qualityHigh:"High",qualityMedium:"Mid",qualityLow:"Sub",auto:"Auto",associatedDevices:"Dispositivi associati",associatedDevicesHint:"Aggiungi attuatori (luci, interruttori, tapparelle, ecc.) per controllarli dalla vista telecamera.",linkedDevices:"Collegati",reorderHint:"Usa le frecce per riordinare",addDevice:"Aggiungi dispositivo",noEligibleDevices:"Nessun Scrypted o Home Assistant configurato. Aggiungi prima un'integrazione.",configureDevices:"Configura dispositivi",cameraSettingsHint:"Scegli una telecamera per configurarne le opzioni.",noCamerasConfigured:"Nessuna telecamera configurata.",searchDevices:"Cerca dispositivi...",source:"Sorgente",type:"Tipo",all:"Tutti",noMatchingDevices:"Nessun dispositivo corrisponde ai filtri.",frigateStream:"Stream Frigate",frigateStreamSourceHint:"Sorgente stream: WebRTC (default), RTSP o MJPEG.",frigateStreamMapping:"Mappatura stream (nomi go2rtc da config)",frigateStreamMappingHint:"Seleziona dagli stream go2rtc disponibili. Ordine: High, Mid, Sub.",frigateSelectStream:"Seleziona stream",frigateAddStream:"Aggiungi stream",frigateInfo:"Info telecamera",frigateShowConfig:"Mostra config",frigateShowGo2rtc:"Mostra go2rtc",frigateMissingConfig:"Mancano baseUrl o cameraName nella config della telecamera.",tabLogs:"Log",logsCount:"{{count}} voci",logsDownload:"Scarica",logsClear:"Svuota",logsEmpty:"Nessun log. L'output della console apparir\xe0 qui.",logsExportError:"Esportazione fallita",logsExportTitle:"Esporta log",logsClearConfirmTitle:"Svuota log",logsClearConfirmMessage:"Rimuovere tutte le voci di log?",hubAppearanceTitle:"Aspetto",hubAppearanceDesc:"Tema, lingua, timeline e evidenze",hubCamerasTitle:"Telecamere",hubCamerasDesc:"Layout griglia, qualit\xe0 stream e gestione telecamere",hubIntegrationsTitle:"Integrazioni",hubIntegrationsDesc:"Gestisci Scrypted, Frigate e altri sistemi",hubAdvancedTitle:"Avanzato",hubAdvancedDesc:"Backup dati e gestione cache",hubLogsTitle:"Log",hubLogsDesc:"Visualizza ed esporta i log dell'applicazione",hubCacheTitle:"Cache",frigateAutoSnap:"Istantanea Automatica",frigateSegmentNav:"Navigazione Segmenti",frigateShowGo:"Mostra Go2RTC",frigateTimeline:"Timeline",reelCameras:"Telecamere Reel",reelCamerasHint:"Seleziona quali telecamere appaiono nel reel eventi",reelDeselectAll:"Deseleziona Tutto",reelDetectionClasses:"Classi di Rilevamento",reelDetectionClassesHint:"Filtra gli eventi per classe di rilevamento",reelIncludeRuleArtifacts:"Includi Artefatti Regole",reelIncludeRuleArtifactsHint:"Mostra gli eventi basati su regole nel reel",reelRuleArtifacts:"Artefatti Regole",reelSelectAll:"Seleziona Tutto",reelBadgeContent:"Contenuto badge",reelBadgePosition:"Posizione badge",reelBadgeSize:"Dimensione badge",reelBadgeBoth:"Ora + Classe",reelBadgeTime:"Solo ora",reelBadgeClass:"Solo classe",reelBadgeNone:"Nascosto",reelBadgeSmall:"Piccolo",reelBadgeMedium:"Medio",reelBadgeLarge:"Grande"},reel:{filterMotion:"Motion",filterOnlyRules:"Solo rule",filterOnlySensors:"Solo sensori",goToMostRecent:"Vai al pi\xf9 recente"},v2:{common:{connecting:"Connessione\u2026",online:"Online",offline:"Offline",loadError:"Errore di caricamento",create:"Crea"},cameras:{empty:"Nessuna telecamera",statusOnline:" \xb7 online",statusOffline:" \xb7 offline",sleeping:"In standby",unavailable:"Non disponibile",motion:"Movimento",doorbell:"Campanello",doorbellRinging:"Sta suonando",doorbellLastRing:"Suonato {{time}} fa",snapshotLoading:"Caricamento\u2026",manage:"Gestisci telecamere",manageHint:"Trascina per riordinare. Rinomina al volo. Usa lo switch per mostrare o nascondere una telecamera dall\u2019elenco.",reorderHandle:"Trascina per riordinare",appearance:"Aspetto",editList:"Modifica elenco",listOptions:"Opzioni elenco telecamere"},cameraDetail:{fallbackName:"Camera #{{id}}",mute:"Disattiva audio",unmute:"Attiva audio",snapshot:"Istantanea",snapshotFailed:"Impossibile acquisire l'istantanea.",ptz:"Controlli PTZ",talk:"Parla",fullscreen:"Schermo intero",talkFailed:"Impossibile avviare la comunicazione. Verifica l'accesso al microfono.",pip:"Picture in Picture",exitFullscreen:"Esci da schermo intero",devices:"Dispositivi",devicesEmpty:"Nessun dispositivo collegato.",linkedModeAuto:"Collegamento: Auto (posizione)",linkedModeManual:"Collegamento: Manuale",motionBoxes:"Riquadri movimento",close:"Chiudi",deviceOnline:"Online",deviceOffline:"Offline"},grids:{createA11y:"Crea griglia",empty:"Nessuna griglia",emptyHint:"Tocca + per creare la tua prima griglia",countNone:"Nessuna telecamera",countOne:"1 telecamera",countOther:"{{count}} telecamere",defaultName:"Nuova griglia",deleteTitle:"Elimina griglia",deleteConfirm:"Eliminare \"{{name}}\"? L'operazione non \xe8 reversibile.",export:"Esporta",exportAllA11y:"Esporta tutte le griglie",shareA11y:"Condividi griglia",editA11y:"Modifica griglia",deleteA11y:"Elimina griglia",linkCopied:"Link della griglia copiato negli appunti",layoutAuto:"Auto",layoutColumns:"{{count}} col"},gridView:{editA11y:"Modifica griglia",fallbackTitle:"Griglia",notFound:"Griglia non trovata",emptyGrid:"Questa griglia \xe8 vuota",addCameras:"Aggiungi telecamere",reorderTitle:"Riordina telecamere",reorderA11y:"Riordina telecamere",reorderDoneA11y:"Fine riordino",allHidden:"Tutte le telecamere sono nascoste. Usa la modalit\xe0 riordino per mostrarne alcune.",dragA11y:"Trascina per riordinare",hideA11y:"Nascondi dalla griglia",showA11y:"Mostra nella griglia",removeA11y:"Rimuovi dalla griglia",adhocTitle:"Griglia rapida"},gridBuilder:{title:"Modifica griglia",nameLabel:"Nome",namePlaceholder:"Nome griglia",camerasSelected:"Telecamere ({{count}} selezionate)",optionsTitle:"Opzioni",showName:"Mostra nome telecamera",export:"Esporta griglia",orderSection:"Nella griglia",orderHint:"Trascina per riordinare",emptyOrder:"Nessuna telecamera \u2014 aggiungine qui sotto.",addSection:"Aggiungi telecamere",removeA11y:"Rimuovi dalla griglia",addA11y:"Aggiungi alla griglia",highlightTitle:"Evidenziazione",highlightMotion:"Su movimento",highlightAudio:"Su audio",highlightAudioOff:"Off",highlightAudioSensor:"Presenza",highlightAudioLevel:"Livello",highlightThreshold:"Soglia",highlightHold:"Mantieni",highlightDetection:"Su rilevamento",clusterLabel:"Etichetta cluster",clusterLabelIcon:"Icona",clusterLabelText:"Testo"},gridBar:{back:"Indietro",pauseAll:"Metti tutto in pausa",playAll:"Riproduci tutto",audio:"Audio",quality:"Qualit\xe0 stream",layout:"Layout",highlightMenu:"Evidenziazione e overlay",activeOnly:"Solo attive",share:"Condividi griglia",edit:"Modifica griglia",hide:"Nascondi controlli",show:"Mostra controlli",muteAll:"Silenzia tutte",unmuteAll:"Riattiva audio"},gridMenu:{highlightMaster:"Bordi di evidenziazione"},gridShare:{title:"Condividi \"{{name}}\"",quality:"Qualit\xe0 stream",layout:"Layout",showNames:"Mostra nomi delle camere",activeOnly:"Solo camere attive",boxes:"Bounding box",highlightEnable:"Evidenziazione",audioSummary:"Audio attivo all\u2019apertura per {{count}} camera/e",ttlTitle:"Scadenza del link",ttl_1d:"1 giorno",ttl_7d:"7 giorni",ttl_30d:"30 giorni",ttl_never:"Per sempre",tokenNotice:"Il link include un token di sola visualizzazione limitato a queste camere. Chiunque abbia il link pu\xf2 guardare finch\xe9 non scade o viene revocato.",copyLink:"Copia link",creating:"Creazione link\u2026",copiedExpires:"Link copiato \u2014 scade il {{date}}",copiedNever:"Link copiato \u2014 non scade mai",error:"Impossibile creare il link di condivisione. Controlla la connessione e riprova.",optionAuto:"Auto",optionHigh:"Alta",optionMedium:"Media",optionLow:"Bassa"},gridControls:{play:"Riproduci",pause:"Pausa",mute:"Muto",unmute:"Riattiva audio",quality:"Qualit\xe0",layout:"Layout",layoutAuto:"Auto"},events:{comingSoon:"Eventi \u2014 in arrivo",searchLabel:"Cerca etichetta\u2026",empty:"Nessun evento",today:"Oggi",filteredEmpty:"Nessuna corrispondenza nell'intervallo caricato",loadOlder:"Carica meno recenti",selectPrompt:"Seleziona un evento per vederne i dettagli",filters:"Filtri",all:"Tutte",day:"Giorno",sort:"Ordina",sortTime:"Recenti",sortImportance:"Importanza",cameras:"Telecamere",classes:"Classi",search:"Cerca",searchCameras:"Cerca telecamere\u2026",searchClasses:"Cerca classi\u2026",allCamerasHint:"Nessuna = tutte",allClassesHint:"Nessuna = tutte",done:"Fatto",density:"Densit\xe0",selectHint:"Seleziona un evento",eventKinds:"Tipi di evento",displayOptions:"Aspetto",displayTitle:"Opzioni di visualizzazione"},settings:{themeSystem:"Sistema",themeDark:"Scuro",themeLight:"Chiaro",server:"Server",hubActive:"Hub attivo",changeServer:"Cambia server",signOut:"Esci",network:"Rete",networkNone:"Nessuna rotta ancora rilevata",endpointUnlikely:"Probabilmente non utilizzabile",reprobe:"Ri-rileva rotte",reprobing:"Rilevamento\u2026",appearance:"Aspetto",theme:"Tema",info:"Info",app:"App",version:"Versione",noServer:"Nessun server",footerNote:"CamStack Viewer si connette a un singolo hub camstack. Telecamere, griglie ed eventi sono gestiti dal server.",language:"Lingua",langSystem:"Sistema",gridDefaults:"Impostazioni griglia",showName:"Mostra nome telecamera",showNameHint:"Sovrapponi il nome della telecamera su ogni riquadro",showState:"Mostra stato",showStateHint:"Mostra lo stato online / registrazione su ogni riquadro",columns:"Colonne",cameraOrder:"Ordine telecamere",orderName:"Per nome",orderCustom:"Personalizzato",motionHold:"Persistenza evidenziazione movimento",motionHoldHint:"Mantieni accesa l'evidenziazione del movimento su una tile per questo tempo dopo che il movimento si ferma.",motionHoldOff:"Off",streamQuality:"Qualit\xe0 stream",streamDefaults:"Impostazioni stream",playOnOpen:"Riproduci all'apertura",playOnOpenHint:"Avvia lo stream live quando apri una telecamera",audioOnOpen:"Audio all'apertura",audioOnOpenHint:"Attiva l'audio quando apri una telecamera",snapshotInterval:"Aggiornamento snapshot",highlightAppearance:"Aspetto evidenziazione",highlightMotionColor:"Colore movimento",highlightAudioColor:"Colore audio",highlightDetectionColor:"Colore rilevamento",highlightThickness:"Spessore bordo",qualityAuto:"Auto",qualityHigh:"Alta",qualityMid:"Media",qualityLow:"Bassa",secondsValue:"{{count}}s",advanced:"Avanzate",clearCache:"Svuota cache",clearCacheHint:"Libera snapshot e dati in cache (mantiene server e impostazioni)",clearCacheConfirmTitle:"Svuotare la cache?",clearCacheConfirmBody:"Rimuove immagini e dati in cache. Server, accesso e impostazioni vengono mantenuti.",clearCacheDone:"Cache svuotata",exportSettings:"Esporta impostazioni",exportSettingsHint:"Copia le impostazioni in formato JSON",exportSettingsDone:"Impostazioni copiate in JSON",viewLogs:"Visualizza log",viewLogsHint:"Messaggi di log recenti dell'app",logsEmpty:"Nessun log registrato",keepLogs:"Mantieni log",keepLogsHint:"Registra un buffer dei messaggi di log dell'app",debugMode:"Modalit\xe0 debug",debugModeHint:"Log verbosi su live, playback e scrub \u2014 inviati al server",logsClear:"Pulisci",resetSettings:"Ripristina impostazioni",resetSettingsHint:"Ripristina tutti i valori predefiniti",resetConfirmTitle:"Ripristinare le impostazioni?",resetConfirmBody:"Ripristina tutte le impostazioni ai valori predefiniti.",cancel:"Annulla",confirm:"Conferma",timeline:"Timeline ed evidenziazioni",reel:"Sequenza eventi",reelThumbSize:"Dimensione miniature",reelThumbSizeHint:"Dimensione delle miniature nella sequenza eventi recenti.",reelSizeSmall:"Piccola",reelSizeMedium:"Media",reelSizeLarge:"Grande",reelShowLabels:"Mostra etichette",reelShowLabelsHint:"Mostra l'etichetta classe/identit\xe0 sugli elementi della sequenza.",reelLabelStyle:"Visualizzazione classe",reelLabelStyleHint:"Mostra la classe di rilevamento come icona o come testo negli elementi della sequenza.",reelShowImportance:"Mostra importanza",reelShowImportanceHint:"Mostra il badge di importanza sugli elementi della sequenza.",events:"Eventi",eventsPage:"Pagina eventi",minImportance:"Importanza minima",minImportanceHint:"Nascondi gli eventi con punteggio inferiore, nella pagina eventi e nella timeline della telecamera.",minImportanceOff:"Off",tileShowLabels:"Mostra etichette",tileShowLabelsHint:"Mostra le etichette classe / identit\xe0 / audio sulle schede evento.",tileShowImportance:"Mostra importanza",tileShowImportanceHint:"Mostra il badge di importanza sulle schede evento (se valutato).",tileShowCameraName:"Mostra nome telecamera",tileShowCameraNameHint:"Mostra il nome della telecamera nel pi\xe8 di pagina della scheda evento.",tileLabelStyle:"Visualizzazione classe",tileLabelStyleHint:"Mostra la classe di rilevamento come icona o come testo.",tileLabelStyleIcon:"Icona",tileLabelStyleText:"Testo",comingSoon:"Prossimamente",cameras:"Telecamere",manageCameras:"Gestisci telecamere",manageCamerasHint:"Rinomina, nascondi, riordina",pinchExpandsHeight:"Il pizzico ingrandisce la vista",pinchExpandsHeightHint:"Pizzicando per lo zoom il video cresce in altezza (ritaglia i bordi laterali sulle camere 16:9).","timeline.gapPercent":"Gap cluster (%)","timeline.sizePercent":"Dimensione cluster (%)","timeline.indicatorPositionPct":"Posizione indicatore (%)","timeline.showImportance":"Mostra importanza sugli elementi","timeline.showClass":"Mostra classe di rilevamento sugli elementi","timeline.cardWidthPct":"Larghezza card (%)",haptics:"Vibrazione eventi",hapticsEnabled:"Vibra sugli eventi",hapticsEnabledHint:"Brevi vibrazioni per gli eventi chiave sulla telecamera che stai guardando. Solo su dispositivo (iOS/Android).",hapticsMotion:"Movimento",hapticsDetection:"Rilevamento",hapticsPerson:"Persona / riconosciuta"},login:{loginFailed:"Accesso fallito",verifyFailed:"Verifica fallita",serverUrl:"Server URL",username:"Username",password:"Password",showPassword:"Mostra password",hidePassword:"Nascondi password",signIn:"Accedi",signingIn:"Accesso\u2026",twoFactor:"Autenticazione a due fattori",totpHint:"Inserisci il codice a 6 cifre dall'app di autenticazione per accedere come ",verificationCode:"Codice di verifica",verifyAndSignIn:"Verifica e accedi",verifying:"Verifica\u2026",back:"Indietro",or:"oppure",signInWithCamStack:"Accedi con CamStack",hubSignInHint:"Apre la pagina di accesso del tuo hub e collega questa app senza digitare qui la password.",handoffFailed:"Accesso con CamStack non riuscito \u2014 riprova oppure usa nome utente e password",invalidServerUrl:"Inserisci prima un URL server valido (https://\u2026)"},live:{webUnsupported:"La vista live non \xe8 ancora disponibile nella versione web.",connecting:"Connessione allo stream live\u2026",error:"Impossibile caricare lo stream live.",retry:"Riprova",noConnection:"Nessuna connessione al server",failed:"Connessione fallita"},ptz:{title:"PTZ",notAvailable:"I controlli PTZ non sono disponibili per questa telecamera.",zoom:"Zoom",home:"Posizione iniziale",presets:"Preset",noPresets:"Nessun preset salvato."},timeline:{activityTitle:"Attivit\xe0",last24h:"Ultime 24h",loading:"Caricamento attivit\xe0\u2026",noActivity:"Nessuna attivit\xe0 nelle ultime 24 ore.",legendRecording:"Registrato",legendMotion:"Movimento",legendAudio:"Audio"},theater:{back:"Indietro",today:"Oggi",yesterday:"Ieri",selectDate:"Seleziona una data",live:"LIVE",now:"ORA",auto:"Auto",quality:"Qualit\xe0 stream",filterAll:"Tutti",filter_motion:"Movimento",filter_audio:"Audio",goToLive:"Vai al live",noRecording:"Nessuna registrazione",noRecordingHint:"Nessun filmato per questo momento",detailCount:"{{frames}} frame \xb7 {{count}} rilevamenti",detailTracks:"{{tracks}} tracce \xb7 {{count}} rilevamenti",detailEmpty:"Nessuna immagine di dettaglio per questo istante",detailSeek:"Vai a questo momento",zoneHint:"Trascina un rettangolo sul video per filtrare gli eventi per zona",zoneConfirm:"Conferma",zoneCancel:"Annulla"},mediaKind:{crop:"Ritaglio oggetto",thumbnail:"Best shot",faceCrop:"Volto",plateCrop:"Targa",fullFrame:"Frame",fullFrameBoxed:"Riquadrato",keyFrame:"Frame chiave",firstFrame:"Primo",lastFrame:"Ultimo",snapshot:"Istantanea"},tracks:{crop:"Ritaglio",fullFrame:"Frame completo",zones:"Zone",audio:"Audio",reason:"Perch\xe9 rilevante",empty:"Nessuna traccia",recent:"Recenti",searchPlaceholder:"Cerca eventi (es. \"persona in rosso\")",noMatches:"Nessun evento corrispondente",person:"Persona",assignPerson:"Associa a persona",changePerson:"Cambia",notAssigned:"Non associata",assignFaceTitle:"Associa volto",newPersonPlaceholder:"Nome nuova persona\u2026",createAndAssign:"Crea e associa",assignFailed:"Associazione del volto non riuscita",removePerson:"Rimuovi persona",removePersonConfirmTitle:"Rimuovere la persona?",removePersonConfirmBody:"Questo scollega la persona da questo volto. Il volto torna tra quelli non associati e potr\xe0 essere riassociato in seguito.",disassociateFailed:"Rimozione della persona non riuscita",removePersonAll:"Rimuovi da tutti gli eventi",removePersonAllConfirmTitle:"Rimuovere da tutti gli eventi?",removePersonAllConfirmBody:"Questo scollega la persona da OGNI evento. Tutti i volti attualmente riconosciuti come questa persona tornano tra quelli non associati e potranno essere riassociati in seguito. La persona viene mantenuta.",disassociateAllFailed:"Rimozione della persona da tutti gli eventi non riuscita",existingPersons:"Persone",noPersons:"Ancora nessuna persona",metadata:"Metadati",copy:"Copia",copied:"Copiato","meta.trackId":"ID traccia","meta.eventId":"ID evento migliore","meta.deviceId":"ID dispositivo","meta.camera":"Telecamera","meta.className":"Classe","meta.label":"Etichetta","meta.firstSeen":"Prima apparizione","meta.lastSeen":"Ultima apparizione","meta.state":"Stato","meta.importance":"Importanza","meta.confidence":"Confidenza","meta.mediaKeys":"Chiavi media"},accessories:{on:"Acceso",off:"Spento",dimUp:"Pi\xf9 luminoso",dimDown:"Meno luminoso",lock:"Blocca",unlock:"Sblocca",open:"Apri",close:"Chiudi",stop:"Ferma",arm:"Attiva",disarm:"Disattiva",onMotion:"Su movimento",warmer:"Pi\xf9 caldo",cooler:"Pi\xf9 freddo",speedUp:"Pi\xf9 veloce",speedDown:"Pi\xf9 lento",oscillate:"Oscillazione",press:"Premi",play:"Riproduci",pause:"Pausa",previous:"Precedente",next:"Successivo",start:"Avvia",dock:"Rientra",locate:"Localizza",feed:"Eroga",feeding:"Erogazione\u2026",install:"Installa",installing:"Installazione\u2026",upToDate:"Aggiornato",increase:"Aumenta",decrease:"Diminuisci",select:"Seleziona",climateModes:{off:"Spento",heat:"Riscaldamento",cool:"Raffreddamento",auto:"Auto",heat_cool:"Caldo/Freddo",fan_only:"Ventola",dry:"Deumidificazione"}},cameraMenu:{title:"Opzioni vista",boundingBoxes:"Bounding box",streamStats:"Statistiche stream",audioLevel:"Livello audio",densityTitle:"Densit\xe0 timeline",density_compact:"Compatta",density_medium:"Media",density_wide:"Ampia",densityCustom:"Personalizzata",indicatorPosition:"Posizione indicatore",showImportance:"Mostra importanza",showClass:"Mostra classe rilevata",managementTitle:"Gestione"},stats:{title:"Statistiche stream",resolution:"Risoluzione",fps:"FPS",bitrate:"Bitrate",packetLoss:"Pacchetti persi",jitter:"Jitter",codec:"Codec",frames:"Frame (persi/totali)",waiting:"Misurazione\u2026",playbackHint:"Le statistiche WebRTC complete richiedono il player nativo."},exportActions:{title:"Cattura",recordingExport:"Esporta registrazione"},exports:{title:"Esportazioni",empty:"Nessuna esportazione.",settingsHint:"Scarica clip registrate",range:"Intervallo",rangeStart:"Inizio",rangeEnd:"Fine",profile:"Profilo",noFootage:"Nessuna registrazione in questo intervallo.",speed:"Velocit\xe0",timelapse:"Timelapse",cadence:"Un fotogramma ogni",audio:"Audio",includeAudio:"Includi audio",audioUnavailable:"L'audio \xe8 disponibile solo a velocit\xe0 0,5\u20132\xd7.",retention:"Conserva per",life24h:"24 ore",life7d:"7 giorni",life30d:"30 giorni",deleteAfterDownload:"Elimina dopo il download",deleteAfterDownloadHint:"Rimuovi il file una volta scaricato.",creating:"Creazione\u2026",createAction:"Esporta",createFailed:"Impossibile creare l'esportazione.",withAudio:"con audio",variantRegular:"1\xd7",variantAccelerated:"Accelerato {{speed}}\xd7",variantSlow:"Rallentato {{speed}}\xd7",variantTimelapse:"Timelapse",expired:"Scaduto",expiresInDays:"Scade tra {{count}}g",expiresInHours:"Scade tra {{count}}h",expiresInMinutes:"Scade tra {{count}}m",downloadAction:"Scarica",downloadUnavailable:"Download non disponibile.",downloadFailed:"Download non riuscito.",cancelAction:"Annulla",cancelConfirmTitle:"Annullare l'esportazione?",cancelConfirmBody:"Interrompe il rendering ed elimina il file parziale.",deleteAction:"Elimina",deleteConfirmTitle:"Eliminare l'esportazione?",deleteConfirmBody:"Rimuove il file. La voce nella cronologia viene mantenuta.",dismiss:"Chiudi",state:{queued:"In coda",rendering:"Rendering",ready:"Pronto",failed:"Non riuscito",expired:"Scaduto",deleted:"Eliminato"}},streamBar:{play:"Riproduci",pause:"Pausa",mute:"Silenzia",unmute:"Riattiva audio",talkStart:"Inizia a parlare",talkStop:"Smetti di parlare",quality:"Qualit\xe0 stream",menu:"Opzioni vista",snapshot:"Istantanea",pip:"Picture in picture",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero"},playback:{prevFrame:"Frame precedente",nextFrame:"Frame successivo",speed:"Velocit\xe0 riproduzione",audioMuted:"Audio off a \u2260 1\xd7",audioOn:"Audio attivo"},cameraSwitcher:{title:"Cambia videocamera",empty:"Nessuna videocamera disponibile",openGrid:"Apri griglia ({{n}})",selectA11y:"Seleziona {{name}}"},storage:{title:"Archiviazione",usageTitle:"Utilizzo",nodeTotal:"Totale nodo",defaultLocation:"Posizione predefinita",locationFree:"{{free}} liberi",retentionTitle:"Conservazione",pruneAction:"Applica conservazione ora",pruneConfirmTitle:"Applicare la conservazione?",pruneConfirmBody:"Elimina le registrazioni su {{name}} che superano la policy di conservazione.",pruneResult:"Recuperati {{bytes}} ({{buckets}} segmenti).",deleteTitle:"Elimina registrazioni",deleteAction:"Elimina",deleteConfirmTitle:"Eliminare le registrazioni?",deleteConfirmBody:"Elimina definitivamente {{range}} di registrazioni su {{name}}. Operazione irreversibile.",deleteResult:"Recuperati {{bytes}} ({{buckets}} segmenti).",cancel:"Annulla",window24h:"Ultime 24h",window7d:"Ultimi 7 giorni",window30d:"Ultimi 30 giorni",windowAll:"Tutto"},eventsMgmt:{title:"Eventi",footprintTitle:"Ingombro",rowsBytes:"{{rows}} eventi \xb7 {{bytes}}",clusterTotal:"Totale cluster",pruneTitle:"Elimina pi\xf9 vecchi di",pruneHint:"Si applica a tutte le telecamere.",pruneAction:"Elimina",pruneConfirmTitle:"Eliminare gli eventi vecchi?",pruneConfirmBody:"Elimina gli eventi pi\xf9 vecchi di {{range}} su TUTTE le telecamere. Operazione irreversibile.",pruneResult:"Eliminati {{count}} eventi.",deleteTitle:"Elimina eventi telecamera",deleteAction:"Elimina tutti gli eventi di questa telecamera",deleteConfirmTitle:"Eliminare tutti gli eventi?",deleteConfirmBody:"Elimina definitivamente ogni evento di {{name}}. Operazione irreversibile.",deleteResult:"Eliminati {{count}} eventi.",cancel:"Annulla",older24h:"24 ore",older7d:"7 giorni",older30d:"30 giorni"}},prototype:{today:"Oggi",yesterday:"Ieri",now:"ORA",endOfDay:"FINE GIORNATA",loading:"Caricamento...",timeline:"Timeline",events:"Eventi",playClip:"Riproduci clip",goToNow:"ORA",noEvents:"Nessun evento"},eventKind:{motion:"Movimento",audio:"Audio",person:"Persona",vehicle:"Veicolo",animal:"Animale",package:"Pacco",sensor:"Sensore",control:"Controllo",car:"Auto",truck:"Camion",bus:"Autobus",motorcycle:"Motocicletta",bicycle:"Bicicletta",airplane:"Aereo",boat:"Barca",train:"Treno",bird:"Uccello",cat:"Gatto",dog:"Cane",horse:"Cavallo",sheep:"Pecora",cow:"Mucca",elephant:"Elefante",bear:"Orso",zebra:"Zebra",giraffe:"Giraffa",contact:"Contatto","motion-sensor":"Sensore movimento",smoke:"Fumo",flood:"Allagamento",gas:"Gas","carbon-monoxide":"Monossido di carbonio",vibration:"Vibrazione",tamper:"Manomissione",presence:"Presenza","enum-sensor":"Stato sensore","device-event":"Evento dispositivo",lock:"Serratura",switch:"Interruttore",siren:"Sirena",button:"Pulsante",doorbell:"Campanello","package-delivered":"Pacco consegnato","package-picked-up":"Pacco ritirato","audio-speech":"Voce","audio-music":"Musica","audio-dog":"Cane","audio-doorbell":"Campanello","audio-siren":"Sirena","audio-alarm":"Allarme"}}},3579,[]);
16001
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.RootProviders=function(v){const _=(0,t.c)(4),{children:f}=v;let y,P,S;_[0]===Symbol.for("react.memo_cache_sentinel")?(y={flex:1},_[0]=y):y=_[0];_[1]===Symbol.for("react.memo_cache_sentinel")?(P=(0,j.jsx)(s.ThemedStatusBar,{}),_[1]=P):P=_[1];_[2]!==f?(S=(0,j.jsx)(n.GestureHandlerRootView,{style:y,children:(0,j.jsx)(c.SafeAreaProvider,{initialMetrics:c.initialWindowMetrics,children:(0,j.jsx)(o.QueryClientProvider,{client:x,children:(0,j.jsxs)(l.ThemeProvider,{children:[P,(0,j.jsx)(h.ServerProvider,{children:(0,j.jsx)(u.LoggerBridge,{children:f})})]})})})}),_[2]=f,_[3]=S):S=_[3];return S};var t=r(d[0]);r(d[1]);var n=r(d[2]),c=r(d[3]),o=r(d[4]),l=r(d[5]),s=r(d[6]),h=r(d[7]),u=r(d[8]),v=r(d[9]),j=r(d[10]);const x=(0,v.createQueryClient)()},3580,[15,17,3241,466,3081,2587,3581,3144,3582,3149,10]);
16002
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.ThemedStatusBar=function(){const c=(0,t.c)(2),{mode:o}=(0,u.useTheme)(),l="dark"===o?"light":"dark";let _;c[0]!==l?(_=(0,n.jsx)(s.StatusBar,{style:l}),c[0]=l,c[1]=_):_=c[1];return _};var t=r(d[0]);r(d[1]);var s=r(d[2]),u=r(d[3]),n=r(d[4])},3581,[15,17,3429,2587,10]);
16003
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.LoggerBridge=function(f){const p=(0,n.c)(9),{children:v}=f,{server:b,token:h}=(0,t.useServer)(),S=(0,s.useSettingsStore)(l);let L,_;p[0]!==S?(L=()=>{(0,u.setLogVerbose)(S),u.log.info("app","debug mode "+(S?"ON (verbose)":"off"))},_=[S],p[0]=S,p[1]=L,p[2]=_):(L=p[1],_=p[2]);(0,o.useEffect)(L,_);const U=b?.serverUrl??null;let j,k,E;p[3]!==U||p[4]!==h?(j=()=>{U&&h?((0,u.configureLogShipping)({serverUrl:U,token:h}),u.log.info("app","log shipping configured",{serverUrl:U})):(0,u.configureLogShipping)(null)},k=[U,h],p[3]=U,p[4]=h,p[5]=j,p[6]=k):(j=p[5],k=p[6]);(0,o.useEffect)(j,k),p[7]!==v?(E=(0,c.jsx)(c.Fragment,{children:v}),p[7]=v,p[8]=E):E=p[8];return E};var n=r(d[0]),o=r(d[1]),t=r(d[2]),s=r(d[3]),u=r(d[4]),c=r(d[5]);function l(n){return n.settings.advanced.debugMode}},3582,[15,17,3144,3140,2705,10]);
16004
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return _}});var n=r(d[0]),t=e(r(d[1])),o=e(r(d[2])),c=r(d[3]),u=r(d[4]),l=r(d[5]),s=r(d[6]),f=r(d[7]),b=r(d[8]);function _(){const e=(0,n.c)(10),{loading:_,server:y,token:j}=(0,u.useServer)(),{colors:S}=(0,l.useTheme)();if(_){let n,c,u;return e[0]!==S.background?(n={flex:1,backgroundColor:S.background,alignItems:"center",justifyContent:"center"},e[0]=S.background,e[1]=n):n=e[1],e[2]!==S.primary?(c=(0,b.jsx)(t.default,{color:S.primary}),e[2]=S.primary,e[3]=c):c=e[3],e[4]!==n||e[5]!==c?(u=(0,b.jsx)(o.default,{style:n,children:c}),e[4]=n,e[5]=c,e[6]=u):u=e[6],u}if(!y||!j){if((0,f.canReuseHubSession)(!1)){let n;return e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,b.jsx)(f.HubSessionBootstrap,{fallback:(0,b.jsx)(s.LoginScreen,{})}),e[7]=n):n=e[7],n}let n;return e[8]===Symbol.for("react.memo_cache_sentinel")?(n=(0,b.jsx)(s.LoginScreen,{}),e[8]=n):n=e[8],n}let x;return e[9]===Symbol.for("react.memo_cache_sentinel")?(x=(0,b.jsx)(c.Redirect,{href:"/cameras"}),e[9]=x):x=e[9],x}},3583,[15,240,20,743,3144,2587,3584,3591,10]);
16005
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.LoginScreen=function(){const{t:e}=(0,h.useTranslation)(),{save:o,lastServerUrl:n,rememberServerUrl:s}=(0,y.useServer)(),{colors:c}=(0,x.useTheme)(),[f,j]=(0,t.useState)('credentials'),[w,T]=(0,t.useState)('https://'),[z,G]=(0,t.useState)(!1);z||null===n||(G(!0),'https://'!==w&&0!==w.trim().length||T(n));const[U,N]=(0,t.useState)(''),[R,F]=(0,t.useState)(''),[_,W]=(0,t.useState)(!1),[D,L]=(0,t.useState)(''),[H,B]=(0,t.useState)(''),[E,O]=(0,t.useState)(''),[V,M]=(0,t.useState)(!1),q=w.trim(),J=q.length>0&&U.trim().length>0&&R.length>0,K=async e=>{await o({id:q,label:q,serverUrl:q},e)},Q=async()=>{if(J&&!V){await s(q),O(''),M(!0);try{const e=await(0,S.login)(q,U.trim(),R);if('totp-required'===e.status)return L(e.token),void j('totp');await K(e.token)}catch(o){O(I(o,e('v2.login.loginFailed')))}finally{M(!1)}}},X=async()=>{if(6===H.length&&!V){O(''),M(!0);try{const{token:e}=await(0,S.verifyTotp)(q,D,H);await K(e)}catch(o){O(I(o,e('v2.login.verifyFailed'))),B('')}finally{M(!1)}}};return(0,v.jsx)(l.default,{style:{flex:1,backgroundColor:c.background},behavior:void 0,children:(0,v.jsx)(u.default,{contentContainerStyle:{flexGrow:1,justifyContent:'center',alignItems:'center',padding:p.SPACING['2xl']},keyboardShouldPersistTaps:"handled",children:(0,v.jsxs)(b.default,{style:{width:'100%',maxWidth:420,gap:p.SPACING['2xl']},children:[(0,v.jsx)(b.default,{style:{alignItems:'center'},children:(0,v.jsx)(C.BrandLogo,{width:220})}),(0,v.jsxs)(b.default,{style:{backgroundColor:c.surface,borderColor:c.border,borderWidth:1,borderRadius:p.RADIUS.lg,padding:p.SPACING['2xl'],gap:p.SPACING.xl},children:[E.length>0&&(0,v.jsx)(P,{colors:c,message:E}),'credentials'===f?(0,v.jsx)(A,{colors:c,serverUrl:w,username:U,password:R,showPassword:_,submitting:V,canSubmit:J,onChangeServerUrl:T,onChangeUsername:N,onChangePassword:F,onToggleShowPassword:()=>W(e=>!e),onSubmit:()=>{Q()},onHubSignIn:void 0}):(0,v.jsx)(k,{colors:c,username:U.trim(),totpCode:H,submitting:V,onChangeTotp:e=>B(e.replace(/\D/g,'').slice(0,6)),onSubmit:()=>{X()},onBack:()=>{j('credentials'),L(''),B(''),O('')}})]})]})})})};var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),l=e(r(d[3]));r(d[4]);var s=e(r(d[5])),u=e(r(d[6])),c=e(r(d[7])),f=e(r(d[8])),b=e(r(d[9])),h=r(d[10]);r(d[11]),r(d[12]);var S=r(d[13]);r(d[14]),r(d[15]);var y=r(d[16]),x=r(d[17]),p=r(d[18]),C=r(d[19]),j=r(d[20]),v=r(d[21]);function I(e,o){return e instanceof Error&&e.message?e.message:o}function P(e){const t=(0,o.c)(11),{colors:n,message:l}=e,s=n.danger+"1a",u=n.danger+"40";let f,h,S,y;return t[0]!==s||t[1]!==u?(f={backgroundColor:s,borderColor:u,borderWidth:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,paddingHorizontal:p.SPACING.xl},t[0]=s,t[1]=u,t[2]=f):f=t[2],t[3]!==n.danger?(h={color:n.danger,fontSize:13},t[3]=n.danger,t[4]=h):h=t[4],t[5]!==l||t[6]!==h?(S=(0,v.jsx)(c.default,{style:h,children:l}),t[5]=l,t[6]=h,t[7]=S):S=t[7],t[8]!==f||t[9]!==S?(y=(0,v.jsx)(b.default,{style:f,children:S}),t[8]=f,t[9]=S,t[10]=y):y=t[10],y}function w(e){return{color:e.foregroundSubtle,fontSize:12,fontWeight:'600',marginBottom:p.SPACING.sm}}function T(e){return{backgroundColor:e.background,borderColor:e.border,borderWidth:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,paddingHorizontal:p.SPACING.xl,color:e.foreground,fontSize:15}}function A(e){const t=(0,o.c)(100),{colors:n,serverUrl:l,username:u,password:S,showPassword:y,submitting:x,canSubmit:C,onChangeServerUrl:I,onChangeUsername:P,onChangePassword:A,onToggleShowPassword:k,onSubmit:G,onHubSignIn:U}=e,{t:N}=(0,h.useTranslation)();let R,F,_;t[0]!==n?(R=w(n),t[0]=n,t[1]=R):R=t[1],t[2]!==N?(F=N("v2.login.serverUrl"),t[2]=N,t[3]=F):F=t[3],t[4]!==R||t[5]!==F?(_=(0,v.jsx)(c.default,{style:R,children:F}),t[4]=R,t[5]=F,t[6]=_):_=t[6];const W=n.foregroundSubtle;let D,L,H,B,E,O,V;t[7]!==n?(D=T(n),t[7]=n,t[8]=D):D=t[8],t[9]!==n.foregroundSubtle||t[10]!==I||t[11]!==l||t[12]!==D?(L=(0,v.jsx)(f.default,{value:l,onChangeText:I,placeholder:"https://hub.local:4443",placeholderTextColor:W,autoCapitalize:"none",autoCorrect:!1,keyboardType:"url",style:D}),t[9]=n.foregroundSubtle,t[10]=I,t[11]=l,t[12]=D,t[13]=L):L=t[13],t[14]!==_||t[15]!==L?(H=(0,v.jsxs)(b.default,{children:[_,L]}),t[14]=_,t[15]=L,t[16]=H):H=t[16],t[17]!==n?(B=w(n),t[17]=n,t[18]=B):B=t[18],t[19]!==N?(E=N("v2.login.username"),t[19]=N,t[20]=E):E=t[20],t[21]!==B||t[22]!==E?(O=(0,v.jsx)(c.default,{style:B,children:E}),t[21]=B,t[22]=E,t[23]=O):O=t[23],t[24]!==N?(V=N("v2.login.username"),t[24]=N,t[25]=V):V=t[25];const M=n.foregroundSubtle;let q,J,K,Q,X,Y,Z,$;t[26]!==n?(q=T(n),t[26]=n,t[27]=q):q=t[27],t[28]!==n.foregroundSubtle||t[29]!==P||t[30]!==V||t[31]!==q||t[32]!==u?(J=(0,v.jsx)(f.default,{value:u,onChangeText:P,placeholder:V,placeholderTextColor:M,autoCapitalize:"none",autoCorrect:!1,autoFocus:!0,style:q}),t[28]=n.foregroundSubtle,t[29]=P,t[30]=V,t[31]=q,t[32]=u,t[33]=J):J=t[33],t[34]!==O||t[35]!==J?(K=(0,v.jsxs)(b.default,{children:[O,J]}),t[34]=O,t[35]=J,t[36]=K):K=t[36],t[37]!==n?(Q=w(n),t[37]=n,t[38]=Q):Q=t[38],t[39]!==N?(X=N("v2.login.password"),t[39]=N,t[40]=X):X=t[40],t[41]!==Q||t[42]!==X?(Y=(0,v.jsx)(c.default,{style:Q,children:X}),t[41]=Q,t[42]=X,t[43]=Y):Y=t[43],t[44]===Symbol.for("react.memo_cache_sentinel")?(Z={position:"relative",justifyContent:"center"},t[44]=Z):Z=t[44],t[45]!==N?($=N("v2.login.password"),t[45]=N,t[46]=$):$=t[46];const ee=n.foregroundSubtle,oe=!y;let re,te,ne,le,se,ae,ie,de,ue;t[47]!==n?(re=T(n),t[47]=n,t[48]=re):re=t[48],t[49]!==re?(te=Object.assign({},re,{paddingRight:48}),t[49]=re,t[50]=te):te=t[50],t[51]!==n.foregroundSubtle||t[52]!==A||t[53]!==S||t[54]!==$||t[55]!==oe||t[56]!==te?(ne=(0,v.jsx)(f.default,{value:S,onChangeText:A,placeholder:$,placeholderTextColor:ee,autoCapitalize:"none",autoCorrect:!1,secureTextEntry:oe,style:te}),t[51]=n.foregroundSubtle,t[52]=A,t[53]=S,t[54]=$,t[55]=oe,t[56]=te,t[57]=ne):ne=t[57],t[58]!==y||t[59]!==N?(le=N(y?"v2.login.hidePassword":"v2.login.showPassword"),t[58]=y,t[59]=N,t[60]=le):le=t[60],t[61]===Symbol.for("react.memo_cache_sentinel")?(se={position:"absolute",right:p.SPACING.xl},t[61]=se):se=t[61],t[62]!==n.foregroundSubtle||t[63]!==y?(ae=y?(0,v.jsx)(j.EyeOff,{color:n.foregroundSubtle,size:20}):(0,v.jsx)(j.Eye,{color:n.foregroundSubtle,size:20}),t[62]=n.foregroundSubtle,t[63]=y,t[64]=ae):ae=t[64],t[65]!==k||t[66]!==le||t[67]!==ae?(ie=(0,v.jsx)(s.default,{accessibilityRole:"button",accessibilityLabel:le,onPress:k,hitSlop:8,style:se,children:ae}),t[65]=k,t[66]=le,t[67]=ae,t[68]=ie):ie=t[68],t[69]!==ne||t[70]!==ie?(de=(0,v.jsxs)(b.default,{style:Z,children:[ne,ie]}),t[69]=ne,t[70]=ie,t[71]=de):de=t[71],t[72]!==Y||t[73]!==de?(ue=(0,v.jsxs)(b.default,{children:[Y,de]}),t[72]=Y,t[73]=de,t[74]=ue):ue=t[74];const ce=!C||x;let ge,fe,be,he,Se;return t[75]!==N?(ge=N("v2.login.signIn"),t[75]=N,t[76]=ge):ge=t[76],t[77]!==N?(fe=N("v2.login.signingIn"),t[77]=N,t[78]=fe):fe=t[78],t[79]!==n||t[80]!==G||t[81]!==x||t[82]!==ce||t[83]!==ge||t[84]!==fe?(be=(0,v.jsx)(z,{colors:n,disabled:ce,submitting:x,label:ge,loadingLabel:fe,onPress:G}),t[79]=n,t[80]=G,t[81]=x,t[82]=ce,t[83]=ge,t[84]=fe,t[85]=be):be=t[85],t[86]!==n.border||t[87]!==n.foreground||t[88]!==n.foregroundSubtle||t[89]!==U||t[90]!==l||t[91]!==x||t[92]!==N?(he=void 0!==U&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(b.default,{style:{flexDirection:"row",alignItems:"center",gap:p.SPACING.lg},children:[(0,v.jsx)(b.default,{style:{flex:1,height:1,backgroundColor:n.border}}),(0,v.jsx)(c.default,{style:{color:n.foregroundSubtle,fontSize:11,letterSpacing:1},children:N("v2.login.or").toUpperCase()}),(0,v.jsx)(b.default,{style:{flex:1,height:1,backgroundColor:n.border}})]}),(0,v.jsx)(s.default,{accessibilityRole:"button",disabled:0===l.trim().length||x,onPress:U,style:{borderColor:n.border,borderWidth:1,opacity:0===l.trim().length||x?.5:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,alignItems:"center"},children:(0,v.jsx)(c.default,{style:{color:n.foreground,fontSize:15,fontWeight:"600"},children:N("v2.login.signInWithCamStack")})}),(0,v.jsx)(c.default,{style:{color:n.foregroundSubtle,fontSize:12},children:N("v2.login.hubSignInHint")})]}),t[86]=n.border,t[87]=n.foreground,t[88]=n.foregroundSubtle,t[89]=U,t[90]=l,t[91]=x,t[92]=N,t[93]=he):he=t[93],t[94]!==K||t[95]!==ue||t[96]!==be||t[97]!==he||t[98]!==H?(Se=(0,v.jsxs)(v.Fragment,{children:[H,K,ue,be,he]}),t[94]=K,t[95]=ue,t[96]=be,t[97]=he,t[98]=H,t[99]=Se):Se=t[99],Se}function k(e){const t=(0,o.c)(70),{colors:n,username:l,totpCode:u,submitting:S,onChangeTotp:y,onSubmit:x,onBack:C}=e,{t:j}=(0,h.useTranslation)();let I,P,A,k,G,U,N,R,F,_,W,D,L;t[0]===Symbol.for("react.memo_cache_sentinel")?(I={gap:p.SPACING.sm},t[0]=I):I=t[0],t[1]!==n.foreground?(P={color:n.foreground,fontSize:15,fontWeight:"600"},t[1]=n.foreground,t[2]=P):P=t[2],t[3]!==j?(A=j("v2.login.twoFactor"),t[3]=j,t[4]=A):A=t[4],t[5]!==P||t[6]!==A?(k=(0,v.jsx)(c.default,{style:P,children:A}),t[5]=P,t[6]=A,t[7]=k):k=t[7],t[8]!==n.foregroundSubtle?(G={color:n.foregroundSubtle,fontSize:13},t[8]=n.foregroundSubtle,t[9]=G):G=t[9],t[10]!==j?(U=j("v2.login.totpHint"),t[10]=j,t[11]=U):U=t[11],t[12]!==n.foreground?(N={color:n.foreground},t[12]=n.foreground,t[13]=N):N=t[13],t[14]!==N||t[15]!==l?(R=(0,v.jsx)(c.default,{style:N,children:l}),t[14]=N,t[15]=l,t[16]=R):R=t[16],t[17]!==G||t[18]!==U||t[19]!==R?(F=(0,v.jsxs)(c.default,{style:G,children:[U,R,"."]}),t[17]=G,t[18]=U,t[19]=R,t[20]=F):F=t[20],t[21]!==k||t[22]!==F?(_=(0,v.jsxs)(b.default,{style:I,children:[k,F]}),t[21]=k,t[22]=F,t[23]=_):_=t[23],t[24]!==n?(W=w(n),t[24]=n,t[25]=W):W=t[25],t[26]!==j?(D=j("v2.login.verificationCode"),t[26]=j,t[27]=D):D=t[27],t[28]!==W||t[29]!==D?(L=(0,v.jsx)(c.default,{style:W,children:D}),t[28]=W,t[29]=D,t[30]=L):L=t[30];const H=n.foregroundSubtle;let B,E,O,V;t[31]!==n?(B=T(n),t[31]=n,t[32]=B):B=t[32],t[33]!==B?(E=Object.assign({},B,{textAlign:"center",fontSize:24,letterSpacing:8}),t[33]=B,t[34]=E):E=t[34],t[35]!==n.foregroundSubtle||t[36]!==y||t[37]!==E||t[38]!==u?(O=(0,v.jsx)(f.default,{value:u,onChangeText:y,placeholder:"123456",placeholderTextColor:H,keyboardType:"numeric",maxLength:6,textContentType:"oneTimeCode",autoFocus:!0,style:E}),t[35]=n.foregroundSubtle,t[36]=y,t[37]=E,t[38]=u,t[39]=O):O=t[39],t[40]!==L||t[41]!==O?(V=(0,v.jsxs)(b.default,{children:[L,O]}),t[40]=L,t[41]=O,t[42]=V):V=t[42];const M=6!==u.length||S;let q,J,K,Q,X,Y,Z,$,ee;return t[43]!==j?(q=j("v2.login.verifyAndSignIn"),t[43]=j,t[44]=q):q=t[44],t[45]!==j?(J=j("v2.login.verifying"),t[45]=j,t[46]=J):J=t[46],t[47]!==n||t[48]!==x||t[49]!==S||t[50]!==M||t[51]!==q||t[52]!==J?(K=(0,v.jsx)(z,{colors:n,disabled:M,submitting:S,label:q,loadingLabel:J,onPress:x}),t[47]=n,t[48]=x,t[49]=S,t[50]=M,t[51]=q,t[52]=J,t[53]=K):K=t[53],t[54]===Symbol.for("react.memo_cache_sentinel")?(Q={alignItems:"center"},t[54]=Q):Q=t[54],t[55]!==n.foregroundSubtle?(X={color:n.foregroundSubtle,fontSize:13},t[55]=n.foregroundSubtle,t[56]=X):X=t[56],t[57]!==j?(Y=j("v2.login.back"),t[57]=j,t[58]=Y):Y=t[58],t[59]!==X||t[60]!==Y?(Z=(0,v.jsx)(c.default,{style:X,children:Y}),t[59]=X,t[60]=Y,t[61]=Z):Z=t[61],t[62]!==C||t[63]!==Z?($=(0,v.jsx)(s.default,{accessibilityRole:"button",onPress:C,style:Q,children:Z}),t[62]=C,t[63]=Z,t[64]=$):$=t[64],t[65]!==_||t[66]!==V||t[67]!==K||t[68]!==$?(ee=(0,v.jsxs)(v.Fragment,{children:[_,V,K,$]}),t[65]=_,t[66]=V,t[67]=K,t[68]=$,t[69]=ee):ee=t[69],ee}function z(e){const t=(0,o.c)(17),{colors:l,disabled:u,submitting:f,label:b,loadingLabel:h,onPress:S}=e,y=u?.5:1;let x,C,j;t[0]!==l.primary||t[1]!==y?(x={backgroundColor:l.primary,opacity:y,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,alignItems:"center",flexDirection:"row",justifyContent:"center",gap:p.SPACING.md},t[0]=l.primary,t[1]=y,t[2]=x):x=t[2],t[3]!==l.primaryForeground||t[4]!==f?(C=f&&(0,v.jsx)(n.default,{size:"small",color:l.primaryForeground}),t[3]=l.primaryForeground,t[4]=f,t[5]=C):C=t[5],t[6]!==l.primaryForeground?(j={color:l.primaryForeground,fontSize:16,fontWeight:"600"},t[6]=l.primaryForeground,t[7]=j):j=t[7];const I=f?h:b;let P,w;return t[8]!==j||t[9]!==I?(P=(0,v.jsx)(c.default,{style:j,children:I}),t[8]=j,t[9]=I,t[10]=P):P=t[10],t[11]!==u||t[12]!==S||t[13]!==x||t[14]!==C||t[15]!==P?(w=(0,v.jsxs)(s.default,{accessibilityRole:"button",disabled:u,onPress:S,style:x,children:[C,P]}),t[11]=u,t[12]=S,t[13]=x,t[14]=C,t[15]=P,t[16]=w):w=t[16],w}},3584,[15,17,240,244,136,252,147,112,262,20,786,3585,618,3588,3589,2705,3144,2587,2589,3590,813,10]);
16006
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"WebBrowserResultType",{enumerable:!0,get:function(){return u.WebBrowserResultType}}),Object.defineProperty(_e,"WebBrowserPresentationStyle",{enumerable:!0,get:function(){return u.WebBrowserPresentationStyle}}),_e.getCustomTabsSupportingBrowsersAsync=async function(){if(!t.default.getCustomTabsSupportingBrowsersAsync)throw new o.UnavailabilityError('WebBrowser','getCustomTabsSupportingBrowsersAsync');return l},_e.warmUpAsync=async function(e){if(!t.default.warmUpAsync)throw new o.UnavailabilityError('WebBrowser','warmUpAsync');return{}},_e.mayInitWithUrlAsync=async function(e,n){if(!t.default.mayInitWithUrlAsync)throw new o.UnavailabilityError('WebBrowser','mayInitWithUrlAsync');return{}},_e.coolDownAsync=async function(e){if(!t.default.coolDownAsync)throw new o.UnavailabilityError('WebBrowser','coolDownAsync');return{}},_e.openBrowserAsync=c,_e.dismissBrowser=function(){return t.default.dismissBrowser?.()},_e.openAuthSessionAsync=async function(e,n,s={}){if(!t.default.openAuthSessionAsync)throw new o.UnavailabilityError('WebBrowser','openAuthSessionAsync');return['ios','macos','web'].includes("web")?t.default.openAuthSessionAsync(e,n,y(s)):t.default.openAuthSessionAsync(e,n)},_e.dismissAuthSession=function(){if(!t.default.dismissAuthSession)throw new o.UnavailabilityError('WebBrowser','dismissAuthSession');t.default.dismissAuthSession()},_e.maybeCompleteAuthSession=function(e={}){if(t.default.maybeCompleteAuthSession)return t.default.maybeCompleteAuthSession(e);return{type:'failed',message:'Not supported on this platform'}};var o=r(d[0]),n=e(r(d[1]));e(r(d[2]));r(d[3]);var s=e(r(d[4])),t=e(r(d[5])),u=r(d[6]);const l={defaultBrowserPackage:void 0,preferredBrowserPackage:void 0,browserPackages:[],servicePackages:[]};async function c(e,n={}){if(!t.default.openBrowserAsync)throw new o.UnavailabilityError('WebBrowser','openBrowserAsync');return await t.default.openBrowserAsync(e,y(n))}function y(e){return Object.assign({},e,{controlsColor:(0,s.default)(e.controlsColor),toolbarColor:(0,s.default)(e.toolbarColor),secondaryToolbarColor:(0,s.default)(e.secondaryToolbarColor)})}n.default.currentState},3585,[289,226,233,136,40,3586,3587]);
16007
- __d(function(g,r,_i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return f}}),_e.normalizeUrl=u,_e.featureObjectToString=I;var e,t=r(d[0]),n=r(d[1]),o=(e=n)&&e.__esModule?e:{default:e},s=r(d[2]);let i=null;const c=new Map,l=e=>`ExpoWebBrowser_OriginUrl_${e}`,w=e=>`ExpoWebBrowser_RedirectUrl_${e}`;function u(e){return(e.origin.replace(e.protocol,'').replace(/^\/+/,'').replace(/\/+$/,'')+decodeURI(e.pathname.replace(/\/{2,}/g,'/'))).toLowerCase()}function p(){if(i&&(i.close(),c.has(i))){const{listener:e,appStateSubscription:t,interval:n}=c.get(i);clearInterval(n),window.removeEventListener('message',e),t.remove(),c.delete(i);const o=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');o&&(window.localStorage.removeItem('ExpoWebBrowserRedirectHandle'),window.localStorage.removeItem(l(o)),window.localStorage.removeItem(w(o))),i=null}}var f={async openBrowserAsync(e,t={}){if('undefined'==typeof window)return{type:s.WebBrowserResultType.CANCEL};const{windowName:n="_blank",windowFeatures:o}=t,i=B(o);return window.open(e,n,i),{type:s.WebBrowserResultType.OPENED}},dismissAuthSession(){'undefined'!=typeof window&&p()},maybeCompleteAuthSession({skipRedirectCheck:e}){if('undefined'==typeof window)return{type:'failed',message:'Cannot use expo-web-browser in a non-browser environment'};const n=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');if(!n)return{type:'failed',message:'No auth session is currently in progress'};const o=window.location.href;if(!0!==e){const e=window.localStorage.getItem(w(n)),t=u(window.location);if(e!==t)return{type:'failed',message:`Current URL "${t}" and original redirect URL "${e}" do not match.`}}window.localStorage.setItem(l(n),o);const s=window.opener??window.parent;if(!s)throw new t.CodedError('ERR_WEB_BROWSER_REDIRECT',"The window cannot complete the redirect request because the invoking window doesn't have a reference to it's parent. This can happen if the parent window was reloaded.");return s.postMessage({url:o,expoSender:n},s.location.toString()),{type:'success',message:"Attempting to complete auth"}},async openAuthSessionAsync(e,n,f){if('undefined'==typeof window)return{type:s.WebBrowserResultType.CANCEL};if(n=n??b(e),null==i||i?.closed){const n=B(f?.windowFeatures);if(i=window.open(e,f?.windowName,n),!i)throw new t.CodedError('ERR_WEB_BROWSER_BLOCKED','Popup window was blocked by the browser or failed to open. This can happen in mobile browsers when the window.open() method was invoked too long after a user input was fired.');try{i.focus()}catch{}}const h=await y(e);window.localStorage.setItem('ExpoWebBrowserRedirectHandle',h);const R=(()=>{if(!n)return n;try{return u(new URL(n))}catch{return n}})();return window.localStorage.setItem(w(h),R),new Promise(async e=>{const t=t=>{if(!t.isTrusted)return;if(t.origin!==window.location.origin)return;const{data:n}=t,o=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');n.expoSender===o&&(p(),e({type:'success',url:n.url}))};window.addEventListener('message',t,!1);const n=o.default.addEventListener('change',t=>{if('active'!==t)return;const n=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');if(n){const t=window.localStorage.getItem(l(n));t&&(p(),e({type:'success',url:t}))}}),w=setInterval(()=>{i?.closed&&(e&&e({type:s.WebBrowserResultType.DISMISS}),clearInterval(w),p())},1e3);c.set(i,{listener:t,interval:w,appStateSubscription:n})})}};function h(){return'undefined'!=typeof window&&!!window?.crypto}async function y(e){const t=new URL(e);return t.searchParams.has('state')&&'string'==typeof t.searchParams.get('state')?t.searchParams.get('state'):await E()}function b(e){const t=new URL(e);return t.searchParams.has('redirect_uri')&&'string'==typeof t.searchParams.get('redirect_uri')?t.searchParams.get('redirect_uri'):location.origin+location.pathname}const R='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';async function E(){if(!h()||!window.crypto.subtle)throw new t.CodedError('ERR_WEB_BROWSER_CRYPTO',"The current environment doesn't support crypto. Ensure you are running from a secure origin (localhost/https).");const e=new TextEncoder,n=S(10),o=e.encode(n),s=await crypto.subtle.digest('SHA-256',o);return btoa(String.fromCharCode(...new Uint8Array(s)))}function S(e){let t=new Uint8Array(e);t.byteLength!==t.length&&(t=new Uint8Array(t.buffer));const n=new Uint8Array(t.length);if(h())window.crypto.getRandomValues(n);else for(let t=0;t<e;t+=1)n[t]=Math.random()*R.length|0;return v(n)}function v(e){let t='';for(const n of e){const e=n%R.length,o=R[e];null!=o&&(t+=o)}return t}function _(e){let t={};if('string'==typeof e){const n=e.split(',');for(const e of n){const[n,o]=e.trim().split('=');n&&o&&(t[n]=o)}}else e&&(t=e);return t}function B(e){const t=_(e),n=t.width??500,o=t.height??650,s=t.top??Math.max(0,.5*(window.screen.height-o)),i=t.left??Math.max(0,.5*(window.screen.width-n));return I(Object.assign({},t,{toolbar:t.toolbar??'no',menubar:t.menubar??'no',location:t.location??'yes',resizable:t.resizable??'yes',status:t.status??'no',scrollbars:t.scrollbars??'yes',top:s,left:i,width:n,height:o}))}function I(e){return Object.keys(e).reduce((t,n)=>{let o=e[n];return'boolean'==typeof o&&(o=o?'yes':'no'),n&&o?(t&&(t+=','),`${t}${n}=${o}`):t},'')}},3586,[289,226,3587]);
16008
- __d(function(g,r,i,a,m,e,d){"use strict";var t,n;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"WebBrowserResultType",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"WebBrowserPresentationStyle",{enumerable:!0,get:function(){return n}}),(function(t){t.CANCEL="cancel",t.DISMISS="dismiss",t.OPENED="opened",t.LOCKED="locked"})(t||(t={})),(function(t){t.FULL_SCREEN="fullScreen",t.PAGE_SHEET="pageSheet",t.FORM_SHEET="formSheet",t.CURRENT_CONTEXT="currentContext",t.OVER_FULL_SCREEN="overFullScreen",t.OVER_CURRENT_CONTEXT="overCurrentContext",t.POPOVER="popover",t.AUTOMATIC="automatic"})(n||(n={}))},3587,[]);
16009
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"sdkAuthClient",{enumerable:!0,get:function(){return n}}),e.login=async function(t,o,s,u=n){const{token:c,requiresTotp:f}=await u(t).login(o,s);return{status:f?'totp-required':'success',token:c}},e.verifyTotp=async function(t,o,s,u=n){return u(t).loginVerifyTotp(o,s)};var t=r(d[0]);const n=n=>(0,t.createSystem)({serverUrl:n})},3588,[2596]);
16010
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"HANDOFF_CALLBACK_PATH",{enumerable:!0,get:function(){return n}}),e.canonicalizeCallbackUrl=o,e.buildHandoffLoginUrl=function(t,n){const c=o(n);return`${t.replace(/\/+$/,'')}/login?redirect=${encodeURIComponent(c)}`},e.isValidServerUrl=function(t){const n=t.trim();if(0===n.length||/^https?:\/\/$/i.test(n))return!1;try{const t=new URL(n);return('https:'===t.protocol||'http:'===t.protocol)&&t.hostname.length>0}catch{return!1}},e.extractHandoffCode=function(t){const n=t.indexOf('?');if(-1===n)return null;const o=t.slice(n+1).split('#')[0]??'',c=new URLSearchParams(o).get('code');return c&&c.length>0?c:null},e.redeemHandoffCode=async function(n,o,c){return(0,t.postHubAuthMutation)(Object.assign({baseUrl:n,procedure:'auth.redeemHandoffCode',input:{code:o}},c?{fetchFn:c}:{}))};var t=r(d[0]);const n='auth-callback';function o(t){return t.replace(/^([a-z][a-z0-9.+-]*):\/{2,3}/i,'$1://').replace(/\/$/,'')}},3589,[3147]);
16011
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.BrandLogo=function(x){const y=(0,t.c)(4),{width:h}=x,p=void 0===h?200:h,{mode:w}=(0,l.useTheme)(),v="light"===w?f:c,u=p/o;let z;y[0]!==v||y[1]!==u||y[2]!==p?(z=(0,s.jsx)(n.SvgXml,{xml:v,width:p,height:u}),y[0]=v,y[1]=u,y[2]=p,y[3]=z):z=y[3];return z};var t=r(d[0]);r(d[1]);var n=r(d[2]),l=r(d[3]),s=r(d[4]);const f="<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 56\" fill=\"none\">\n <g transform=\"translate(4, 2) scale(0.8)\">\n <rect x=\"8\" y=\"28\" width=\"48\" height=\"28\" rx=\"6\" fill=\"#d6d3d1\"/>\n <rect x=\"12\" y=\"16\" width=\"40\" height=\"28\" rx=\"6\" fill=\"#a8a29e\"/>\n <rect x=\"16\" y=\"4\" width=\"32\" height=\"28\" rx=\"6\" fill=\"#e67e22\"/>\n <circle cx=\"32\" cy=\"18\" r=\"8\" fill=\"#fafaf9\" opacity=\"0.3\"/>\n <circle cx=\"32\" cy=\"18\" r=\"5\" fill=\"#fafaf9\" opacity=\"0.2\"/>\n <circle cx=\"32\" cy=\"18\" r=\"2.5\" fill=\"#1c1917\" opacity=\"0.7\"/>\n </g>\n <text x=\"62\" y=\"30\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"24\" font-weight=\"700\" letter-spacing=\"-0.5\" fill=\"#1c1917\">\n Cam<tspan fill=\"#e67e22\">Stack</tspan>\n </text>\n <text x=\"63\" y=\"44\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"10\" font-weight=\"600\" letter-spacing=\"3\" fill=\"#78716c\">\n VIEWER\n </text>\n</svg>",c="<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 56\" fill=\"none\">\n <g transform=\"translate(4, 2) scale(0.8)\">\n <rect x=\"8\" y=\"28\" width=\"48\" height=\"28\" rx=\"6\" fill=\"#292524\"/>\n <rect x=\"12\" y=\"16\" width=\"40\" height=\"28\" rx=\"6\" fill=\"#44403c\"/>\n <rect x=\"16\" y=\"4\" width=\"32\" height=\"28\" rx=\"6\" fill=\"#f59e42\"/>\n <circle cx=\"32\" cy=\"18\" r=\"8\" fill=\"#0c0a09\" opacity=\"0.3\"/>\n <circle cx=\"32\" cy=\"18\" r=\"5\" fill=\"#0c0a09\" opacity=\"0.2\"/>\n <circle cx=\"32\" cy=\"18\" r=\"2.5\" fill=\"#fafaf9\" opacity=\"0.8\"/>\n </g>\n <text x=\"62\" y=\"30\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"24\" font-weight=\"700\" letter-spacing=\"-0.5\" fill=\"#fafaf9\">\n Cam<tspan fill=\"#f59e42\">Stack</tspan>\n </text>\n <text x=\"63\" y=\"44\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"10\" font-weight=\"600\" letter-spacing=\"3\" fill=\"#78716c\">\n VIEWER\n </text>\n</svg>",o=4.285714285714286},3590,[15,17,819,2587,10]);
16012
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.canReuseHubSession=function(e){return(0,f.shouldAttemptHubSessionExchange)({platform:"web",pathname:'undefined'!=typeof window&&void 0!==window.location?window.location.pathname:null,webBasePath:"/viewer",hasServerConfigured:e})},_e.HubSessionBootstrap=function(e){const b=(0,n.c)(10),{fallback:p}=e,{save:y}=(0,u.useServer)(),{colors:S}=(0,c.useTheme)(),[k,x]=(0,o.useState)(!1);let H,_,j,I,B;b[0]!==y?(H=()=>{let e=!1;return(async()=>{const n=window.location.origin,o=await(0,f.exchangeHubSession)(n);if(!e){if("ok"===o.status)return v(!1),l.log.info("hub-session","Provisioned from hub session",{username:o.username}),void await y({id:n,label:n,serverUrl:n},o.token);if("unauthorized"===o.status&&!h())return v(!0),l.log.info("hub-session","No hub session \u2014 redirecting to hub login"),void window.location.assign((0,f.buildHubLoginUrl)(n,window.location.pathname));l.log.warn("hub-session","Hub session exchange failed \u2014 manual login",{status:o.status}),x(!0)}})(),()=>{e=!0}},_=[y],b[0]=y,b[1]=H,b[2]=_):(H=b[1],_=b[2]);if((0,o.useEffect)(H,_),k)return p;b[3]!==S.background?(j={flex:1,backgroundColor:S.background,alignItems:"center",justifyContent:"center"},b[3]=S.background,b[4]=j):j=b[4];b[5]!==S.primary?(I=(0,w.jsx)(t.default,{color:S.primary}),b[5]=S.primary,b[6]=I):I=b[6];b[7]!==j||b[8]!==I?(B=(0,w.jsx)(s.default,{style:j,children:I}),b[7]=j,b[8]=I,b[9]=B):B=b[9];return B};var n=r(d[0]),o=r(d[1]),t=e(r(d[2]));r(d[3]);var s=e(r(d[4])),u=r(d[5]),c=r(d[6]),l=r(d[7]),f=r(d[8]),w=r(d[9]);const b='v2.hubLoginBounced';function h(){try{return'1'===window.sessionStorage.getItem(b)}catch{return!0}}function v(e){try{e?window.sessionStorage.setItem(b,'1'):window.sessionStorage.removeItem(b)}catch{}}},3591,[15,17,240,136,20,3144,2587,2705,3146,10]);
16013
- __d(function(g,r,i,a,_m,e,d){"use strict";var t=this&&this.__createBinding||(Object.create?function(t,n,o,c){void 0===c&&(c=o);var u=Object.getOwnPropertyDescriptor(n,o);u&&!("get"in u?!n.__esModule:u.writable||u.configurable)||(u={enumerable:!0,get:function(){return n[o]}}),Object.defineProperty(t,c,u)}:function(t,n,o,c){void 0===c&&(c=o),t[c]=n[o]}),n=this&&this.__exportStar||function(n,o){for(var c in n)"default"===c||Object.prototype.hasOwnProperty.call(o,c)||t(o,n,c)};Object.defineProperty(e,"__esModule",{value:!0}),n(r(d[0]),e)},3592,[3593]);
16014
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Head=void 0;const n=r(d[0]),c=r(d[1]),l=r(d[2]);function t({children:l}){return(0,n.jsx)(c.Helmet,{children:l})}e.Head=({children:c})=>(0,l.useIsFocused)()?(0,n.jsx)(t,{children:c}):null,e.Head.Provider=c.HelmetProvider},3593,[10,3594,757]);
16015
- __d(function(g,r,_i,a,m,e,d){"use strict";var t=r(d[0]).default;const s=["children"],n=["children"];var i,o=Object.create,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,u=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,y=(t,s,n,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let o of p(s))h.call(t,o)||o===n||l(t,o,{get:()=>s[o],enumerable:!(i=c(s,o))||i.enumerable});return t},f=(t,s,n)=>(n=null!=t?o(u(t)):{},y(!s&&t&&t.__esModule?n:l(n,"default",{value:t,enumerable:!0}),t)),b={};((t,s)=>{for(var n in s)l(t,n,{get:s[n],enumerable:!0})})(b,{Helmet:()=>Oe,HelmetData:()=>le,HelmetProvider:()=>pe}),m.exports=(i=b,y(l({},"__esModule",{value:!0}),i));var T=f(r(d[1])),O=f(r(d[2])),A=f(r(d[3])),j=f(r(d[1])),C=f(r(d[1])),w=(t=>(t.BASE="base",t.BODY="body",t.HEAD="head",t.HTML="html",t.LINK="link",t.META="meta",t.NOSCRIPT="noscript",t.SCRIPT="script",t.STYLE="style",t.TITLE="title",t.FRAGMENT="Symbol(react.fragment)",t))(w||{}),x={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},$={charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},k=Object.values(w),S={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},M=Object.entries(S).reduce((t,[s,n])=>(t[n]=s,t),{}),E="data-rh",P="defaultTitle",H="defer",D="encodeSpecialCharacters",L="onChangeClientState",I="titleTemplate",U="prioritizeSeoTags",N=(t,s)=>{for(let n=t.length-1;n>=0;n-=1){const i=t[n];if(Object.prototype.hasOwnProperty.call(i,s))return i[s]}return null},q=t=>{let s=N(t,"title");const n=N(t,I);if(Array.isArray(s)&&(s=s.join("")),n&&s)return n.replace(/%s/g,()=>s);const i=N(t,P);return s||i||void 0},_=t=>N(t,L)||(()=>{}),R=(t,s)=>s.filter(s=>void 0!==s[t]).map(s=>s[t]).reduce((t,s)=>Object.assign({},t,s),{}),z=(t,s)=>s.filter(t=>void 0!==t.base).map(t=>t.base).reverse().reduce((s,n)=>{if(!s.length){const i=Object.keys(n);for(let o=0;o<i.length;o+=1){const l=i[o].toLowerCase();if(-1!==t.indexOf(l)&&n[l])return s.concat(n)}}return s},[]),B=(t,s,n)=>{const i={};return n.filter(s=>{return!!Array.isArray(s[t])||(void 0!==s[t]&&(n=`Helmet: ${t} should be of type "Array". Instead found type "${typeof s[t]}"`,console&&"function"==typeof console.warn&&console.warn(n)),!1);var n}).map(s=>s[t]).reverse().reduce((t,n)=>{const o={};n.filter(t=>{let n;const l=Object.keys(t);for(let i=0;i<l.length;i+=1){const o=l[i],c=o.toLowerCase();-1===s.indexOf(c)||"rel"===n&&"canonical"===t[n].toLowerCase()||"rel"===c&&"stylesheet"===t[c].toLowerCase()||(n=c),-1===s.indexOf(o)||"innerHTML"!==o&&"cssText"!==o&&"itemprop"!==o||(n=o)}if(!n||!t[n])return!1;const c=t[n].toLowerCase();return i[n]||(i[n]={}),o[n]||(o[n]={}),!i[n][c]&&(o[n][c]=!0,!0)}).reverse().forEach(s=>t.push(s));const l=Object.keys(o);for(let t=0;t<l.length;t+=1){const s=l[t],n=Object.assign({},i[s],o[s]);i[s]=n}return t},[]).reverse()},F=(t,s)=>{if(Array.isArray(t)&&t.length)for(let n=0;n<t.length;n+=1){if(t[n][s])return!0}return!1},Y=t=>Array.isArray(t)?t.join(""):t,K=(t,s)=>{const n=Object.keys(t);for(let i=0;i<n.length;i+=1)if(s[n[i]]&&s[n[i]].includes(t[n[i]]))return!0;return!1},G=(t,s)=>Array.isArray(t)?t.reduce((t,n)=>(K(n,s)?t.priority.push(n):t.default.push(n),t),{priority:[],default:[]}):{default:t,priority:[]},W=(t,s)=>Object.assign({},t,{[s]:void 0}),J=["noscript","script","style"],Q=(t,s=!0)=>!1===s?String(t):String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),V=t=>Object.keys(t).reduce((s,n)=>{const i=void 0!==t[n]?`${n}="${Q(t[n])}"`:`${n}`;return s?`${s} ${i}`:i},""),X=(t,s,n,i)=>{const o=V(n),l=Y(s);return o?`<${t} ${E}="true" ${o}>${Q(l,i)}</${t}>`:`<${t} ${E}="true">${Q(l,i)}</${t}>`},Z=(t,s,n=!0)=>s.reduce((s,i)=>{const o=i,l=Object.keys(o).filter(t=>!("innerHTML"===t||"cssText"===t)).reduce((t,s)=>{const i=void 0===o[s]?s:`${s}="${Q(o[s],n)}"`;return t?`${t} ${i}`:i},""),c=o.innerHTML||o.cssText||"",p=-1===J.indexOf(t);return`${s}<${t} ${E}="true" ${l}${p?"/>":`>${c}</${t}>`}`},""),ee=(t,s={})=>Object.keys(t).reduce((s,n)=>(s[S[n]||n]=t[n],s),s),te=(t,s,n)=>{const i=ee(n,{key:s,[E]:!0});return[C.default.createElement("title",i,s)]},re=(t,s)=>s.map((s,n)=>{const i={key:n,[E]:!0};return Object.keys(s).forEach(t=>{const n=S[t]||t;if("innerHTML"===n||"cssText"===n){const t=s.innerHTML||s.cssText;i.dangerouslySetInnerHTML={__html:t}}else i[n]=s[t]}),C.default.createElement(t,i)}),se=(t,s,n=!0)=>{switch(t){case"title":return{toComponent:()=>te(0,s.title,s.titleAttributes),toString:()=>X(t,s.title,s.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>ee(s),toString:()=>V(s)};default:return{toComponent:()=>re(t,s),toString:()=>Z(t,s,n)}}},ne=({metaTags:t,linkTags:s,scriptTags:n,encode:i})=>{const o=G(t,$),l=G(s,x),c=G(n,v);return{priorityMethods:{toComponent:()=>[...re("meta",o.priority),...re("link",l.priority),...re("script",c.priority)],toString:()=>`${se("meta",o.priority,i)} ${se("link",l.priority,i)} ${se("script",c.priority,i)}`},metaTags:o.default,linkTags:l.default,scriptTags:c.default}},ie=t=>{const{baseTag:s,bodyAttributes:n,encode:i=!0,htmlAttributes:o,noscriptTags:l,styleTags:c,title:p="",titleAttributes:u,prioritizeSeoTags:h}=t;let{linkTags:y,metaTags:f,scriptTags:b}=t,T={toComponent:()=>{},toString:()=>""};return h&&({priorityMethods:T,linkTags:y,metaTags:f,scriptTags:b}=ne(t)),{priority:T,base:se("base",s,i),bodyAttributes:se("bodyAttributes",n,i),htmlAttributes:se("htmlAttributes",o,i),link:se("link",y,i),meta:se("meta",f,i),noscript:se("noscript",l,i),script:se("script",b,i),style:se("style",c,i),title:se("title",{title:p,titleAttributes:u},i)}},oe=[],ae=!("undefined"==typeof window||!window.document||!window.document.createElement),le=class{instances=[];canUseDOM=ae;value={setHelmet:t=>{this.context.helmet=t},helmetInstances:{get:()=>this.canUseDOM?oe:this.instances,add:t=>{(this.canUseDOM?oe:this.instances).push(t)},remove:t=>{const s=(this.canUseDOM?oe:this.instances).indexOf(t);(this.canUseDOM?oe:this.instances).splice(s,1)}}};constructor(t,s){this.context=t,this.canUseDOM=s||!1,s||(t.helmet=ie({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},ce=j.default.createContext({}),pe=class t extends j.Component{static canUseDOM=ae;constructor(s){super(s),this.helmetData=new le(this.props.context||{},t.canUseDOM)}render(){return j.default.createElement(ce.Provider,{value:this.helmetData.value},this.props.children)}},ue=r(d[1]),de=f(r(d[4])),he=(t,s)=>{const n=document.head||document.querySelector("head"),i=n.querySelectorAll(`${t}[${E}]`),o=[].slice.call(i),l=[];let c;return s&&s.length&&s.forEach(s=>{const n=document.createElement(t);for(const t in s)if(Object.prototype.hasOwnProperty.call(s,t))if("innerHTML"===t)n.innerHTML=s.innerHTML;else if("cssText"===t)n.styleSheet?n.styleSheet.cssText=s.cssText:n.appendChild(document.createTextNode(s.cssText));else{const i=t,o=void 0===s[i]?"":s[i];n.setAttribute(t,o)}n.setAttribute(E,"true"),o.some((t,s)=>(c=s,n.isEqualNode(t)))?o.splice(c,1):l.push(n)}),o.forEach(t=>t.parentNode?.removeChild(t)),l.forEach(t=>n.appendChild(t)),{oldTags:o,newTags:l}},me=(t,s)=>{const n=document.getElementsByTagName(t)[0];if(!n)return;const i=n.getAttribute(E),o=i?i.split(","):[],l=[...o],c=Object.keys(s);for(const t of c){const i=s[t]||"";n.getAttribute(t)!==i&&n.setAttribute(t,i),-1===o.indexOf(t)&&o.push(t);const c=l.indexOf(t);-1!==c&&l.splice(c,1)}for(let t=l.length-1;t>=0;t-=1)n.removeAttribute(l[t]);o.length===l.length?n.removeAttribute(E):n.getAttribute(E)!==c.join(",")&&n.setAttribute(E,c.join(","))},ge=(t,s)=>{void 0!==t&&document.title!==t&&(document.title=Y(t)),me("title",s)},ye=(t,s)=>{const{baseTag:n,bodyAttributes:i,htmlAttributes:o,linkTags:l,metaTags:c,noscriptTags:p,onChangeClientState:u,scriptTags:h,styleTags:y,title:f,titleAttributes:b}=t;me("body",i),me("html",o),ge(f,b);const T={baseTag:he("base",n),linkTags:he("link",l),metaTags:he("meta",c),noscriptTags:he("noscript",p),scriptTags:he("script",h),styleTags:he("style",y)},O={},A={};Object.keys(T).forEach(t=>{const{newTags:s,oldTags:n}=T[t];s.length&&(O[t]=s),n.length&&(A[t]=T[t].oldTags)}),s&&s(),u(t,O,A)},fe=null,be=t=>{fe&&cancelAnimationFrame(fe),t.defer?fe=requestAnimationFrame(()=>{ye(t,()=>{fe=null})}):(ye(t),fe=null)},Te=class extends ue.Component{rendered=!1;shouldComponentUpdate(t){return!(0,de.default)(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:s}=this.props.context;let n=null;const i=(o=t.get().map(t=>{const s=Object.assign({},t.props);return delete s.context,s}),{baseTag:z(["href"],o),bodyAttributes:R("bodyAttributes",o),defer:N(o,H),encode:N(o,D),htmlAttributes:R("htmlAttributes",o),linkTags:B("link",["rel","href"],o),metaTags:B("meta",["name","charset","http-equiv","property","itemprop"],o),noscriptTags:B("noscript",["innerHTML"],o),onChangeClientState:_(o),scriptTags:B("script",["src","innerHTML"],o),styleTags:B("style",["cssText"],o),title:q(o),titleAttributes:R("titleAttributes",o),prioritizeSeoTags:F(o,U)});var o;pe.canUseDOM?be(i):ie&&(n=ie(i)),s(n)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},Oe=class extends T.Component{static defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1};shouldComponentUpdate(t){return!(0,O.default)(W(this.props,"helmetData"),W(t,"helmetData"))}mapNestedChildrenToProps(t,s){if(!s)return null;switch(t.type){case"script":case"noscript":return{innerHTML:s};case"style":return{cssText:s};default:throw new Error(`<${t.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(t,s,n,i){return Object.assign({},s,{[t.type]:[...s[t.type]||[],Object.assign({},n,this.mapNestedChildrenToProps(t,i))]})}mapObjectTypeChildren(t,s,n,i){switch(t.type){case"title":return Object.assign({},s,{[t.type]:i,titleAttributes:Object.assign({},n)});case"body":return Object.assign({},s,{bodyAttributes:Object.assign({},n)});case"html":return Object.assign({},s,{htmlAttributes:Object.assign({},n)});default:return Object.assign({},s,{[t.type]:Object.assign({},n)})}}mapArrayTypeChildrenToProps(t,s){let n=Object.assign({},s);return Object.keys(t).forEach(s=>{n=Object.assign({},n,{[s]:t[s]})}),n}warnOnInvalidChildren(t,s){return(0,A.default)(k.some(s=>t.type===s),"function"==typeof t.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${k.join(", ")} are allowed. Helmet does not support rendering <${t.type}> elements. Refer to our API for more information.`),(0,A.default)(!s||"string"==typeof s||Array.isArray(s)&&!s.some(t=>"string"!=typeof t),`Helmet expects a string as a child of <${t.type}>. Did you forget to wrap your children in braces? ( <${t.type}>{\`\`}</${t.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(n,i){let o={};return T.default.Children.forEach(n,n=>{if(!n||!n.props)return;const l=n.props,{children:c}=l,p=t(l,s),u=Object.keys(p).reduce((t,s)=>(t[M[s]||s]=p[s],t),{});let{type:h}=n;switch("symbol"==typeof h?h=h.toString():this.warnOnInvalidChildren(n,c),h){case"Symbol(react.fragment)":i=this.mapChildrenToProps(c,i);break;case"link":case"meta":case"noscript":case"script":case"style":o=this.flattenArrayTypeChildren(n,o,u,c);break;default:i=this.mapObjectTypeChildren(n,i,u,c)}}),this.mapArrayTypeChildrenToProps(o,i)}render(){const s=this.props,{children:i}=s,o=t(s,n);let l=Object.assign({},o),{helmetData:c}=o;if(i&&(l=this.mapChildrenToProps(i,l)),c&&!(c instanceof le)){c=new le(c.context,!0),delete l.helmetData}return c?T.default.createElement(Te,Object.assign({},l,{context:c.value})):T.default.createElement(ce.Consumer,null,t=>T.default.createElement(Te,Object.assign({},l,{context:t})))}}},3594,[120,17,3595,323,3596]);
16016
- __d(function(g,r,_i,_a,m,e,d){var t='undefined'!=typeof Element,n='function'==typeof Map,f='function'==typeof Set,o='function'==typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(u,a){if(u===a)return!0;if(u&&a&&'object'==typeof u&&'object'==typeof a){if(u.constructor!==a.constructor)return!1;var c,s,l,p;if(Array.isArray(u)){if((c=u.length)!=a.length)return!1;for(s=c;0!==s--;)if(!i(u[s],a[s]))return!1;return!0}if(n&&u instanceof Map&&a instanceof Map){if(u.size!==a.size)return!1;for(p=u.entries();!(s=p.next()).done;)if(!a.has(s.value[0]))return!1;for(p=u.entries();!(s=p.next()).done;)if(!i(s.value[1],a.get(s.value[0])))return!1;return!0}if(f&&u instanceof Set&&a instanceof Set){if(u.size!==a.size)return!1;for(p=u.entries();!(s=p.next()).done;)if(!a.has(s.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(u)&&ArrayBuffer.isView(a)){if((c=u.length)!=a.length)return!1;for(s=c;0!==s--;)if(u[s]!==a[s])return!1;return!0}if(u.constructor===RegExp)return u.source===a.source&&u.flags===a.flags;if(u.valueOf!==Object.prototype.valueOf&&'function'==typeof u.valueOf&&'function'==typeof a.valueOf)return u.valueOf()===a.valueOf();if(u.toString!==Object.prototype.toString&&'function'==typeof u.toString&&'function'==typeof a.toString)return u.toString()===a.toString();if((c=(l=Object.keys(u)).length)!==Object.keys(a).length)return!1;for(s=c;0!==s--;)if(!Object.prototype.hasOwnProperty.call(a,l[s]))return!1;if(t&&u instanceof Element)return!1;for(s=c;0!==s--;)if(('_owner'!==l[s]&&'__v'!==l[s]&&'__o'!==l[s]||!u.$$typeof)&&!i(u[l[s]],a[l[s]]))return!1;return!0}return u!=u&&a!=a}m.exports=function(t,n){try{return i(t,n)}catch(t){if((t.message||'').match(/stack|recursion/i))return console.warn('react-fast-compare cannot handle circular refs'),!1;throw t}}},3595,[]);
16017
- __d(function(g,r,i,a,m,e,d){m.exports=function(t,n,o,f){var c=o?o.call(f,t,n):void 0;if(void 0!==c)return!!c;if(t===n)return!0;if("object"!=typeof t||!t||"object"!=typeof n||!n)return!1;var u=Object.keys(t),v=Object.keys(n);if(u.length!==v.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(n),b=0;b<u.length;b++){var p=u[b];if(!l(p))return!1;var y=t[p],j=n[p];if(!1===(c=o?o.call(f,y,j,p):void 0)||void 0===c&&y!==j)return!1}return!0}},3596,[]);
16018
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},3597,[]);
16019
- __d(function(g,r,_i,a,_m,_e,d){"use strict";var e,t=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,i)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)},function(o){if(o&&o.__esModule)return o;var i={};if(null!=o)for(var c=e(o),u=0;u<c.length;u++)"default"!==c[u]&&t(i,o,c[u]);return n(i,o),i});Object.defineProperty(_e,"__esModule",{value:!0}),_e.renderRootComponent=function(e){try{setTimeout(()=>{f._internal_preventAutoHideAsync?.()}),u.startTransition(()=>{(0,c.registerRootComponent)(e)})}catch(e){f.hideAsync();const t=b(e);(0,c.registerRootComponent)(()=>(0,i.jsx)(s.View,{})),console.error(t),console.error("A runtime error has occurred while rendering the root component."),setTimeout(()=>{throw t})}};const i=r(d[0]),c=r(d[1]),u=o(r(d[2])),s=r(d[3]),f=o(r(d[4]));function l(e){if('[object Object]'!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function p(e){return e&&'object'==typeof e&&'string'==typeof e.name&&'string'==typeof e.message}function b(e){return p(e)?e:l(e)?new Error(JSON.stringify(e)):new Error(String(e))}},3598,[10,564,17,121,563]);
15906
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.ContainerAccessoryControl=function(u){const y=(0,n.c)(7),{containerId:f}=u,{data:_,isLoading:v}=(0,t.useAccessories)(f);let C;y[0]!==_?(C=_??[],y[0]=_,y[1]=C):C=y[1];const j=C;let p;y[2]!==j?(p=(0,s.resolvePrimaryChildByType)(j),y[2]=j,y[3]=p):p=y[3];const A=p;if(v&&!_){let n;return y[4]===Symbol.for("react.memo_cache_sentinel")?(n=(0,l.jsx)(c.ControlSpinner,{}),y[4]=n):n=y[4],n}if(null===A)return null;let b;y[5]!==A?(b=(0,l.jsx)(o.AccessoryControl,{device:A}),y[5]=A,y[6]=b):b=y[6];return b};var n=r(d[0]);r(d[1]);var t=r(d[2]),o=r(d[3]),c=r(d[4]),s=r(d[5]),l=r(d[6])},3485,[15,17,3470,3471,3476,3486,10]);
15907
+ __d(function(g,r,_i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"CONTAINER_CHILD_PRIORITY",{enumerable:!0,get:function(){return t}}),e.resolvePrimaryChildByType=function(t){return 0===t.length?null:[...t].sort((t,i)=>n(t.type)-n(i.type))[0]??null};const t=['media-player','alarm-panel','thermostat','climate','humidifier','water-heater','lock','cover','valve','fan','vacuum','lawn-mower','light','switch','siren','button','control','notifier','script','automation','update','presence','weather','image','sensor'];function n(n){const i=t.indexOf(n);return-1===i?t.length:i}},3486,[]);
15908
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraSwitcherPanel=function(e){const u=(0,t.c)(45),{currentId:S,onSwitch:I,onOpenGrid:w}=e,{t:P}=(0,h.useTranslation)(),{colors:A}=(0,y.useTheme)(),{data:G,isLoading:_}=(0,p.useCameras)();let k;u[0]!==G?(k=void 0===G?[]:G,u[0]=G,u[1]=k):k=u[1];const z=k;let D;u[2]===Symbol.for("react.memo_cache_sentinel")?(D=new Set,u[2]=D):D=u[2];const[N,R]=(0,o.useState)(D),v=N.size>0;let B;u[3]===Symbol.for("react.memo_cache_sentinel")?(B=e=>R(t=>{const o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o}),u[3]=B):B=u[3];const V=B;let W;if(u[4]!==z||u[5]!==N){let e;u[7]!==N?(e=e=>N.has(e.id),u[7]=N,u[8]=e):e=u[8],W=z.filter(e).map(C),u[4]=z,u[5]=N,u[6]=W}else W=u[6];const L=W,T=L.length>=2;if(_&&0===z.length){let e;return u[9]!==A.primary?(e=(0,x.jsx)(n.default,{style:j.center,children:(0,x.jsx)(f.default,{color:A.primary})}),u[9]=A.primary,u[10]=e):e=u[10],e}if(0===z.length){let e,t,o;return u[11]!==A.foregroundSubtle?(e=[j.empty,{color:A.foregroundSubtle}],u[11]=A.foregroundSubtle,u[12]=e):e=u[12],u[13]!==P?(t=P("v2.cameraSwitcher.empty"),u[13]=P,u[14]=t):t=u[14],u[15]!==e||u[16]!==t?(o=(0,x.jsx)(l.default,{style:e,children:t}),u[15]=e,u[16]=t,u[17]=o):o=u[17],o}let O,q,F,H;if(u[18]!==z||u[19]!==A||u[20]!==S||u[21]!==I||u[22]!==N||u[23]!==v||u[24]!==P){let e;u[26]!==A||u[27]!==S||u[28]!==I||u[29]!==N||u[30]!==v||u[31]!==P?(e=e=>{const t=e.id===S,o=N.has(e.id);return(0,x.jsxs)(s.default,{onPress:()=>v?V(e.id):I(e.id),accessibilityRole:"button",accessibilityState:{selected:t},style:[j.row,{borderBottomColor:A.borderSubtle},t&&{backgroundColor:`${A.primary}14`}],children:[(0,x.jsx)(s.default,{onPress:()=>V(e.id),hitSlop:8,accessibilityRole:"checkbox",accessibilityState:{checked:o},accessibilityLabel:P("v2.cameraSwitcher.selectA11y",{name:e.name}),children:o?(0,x.jsx)(b.CheckSquare,{size:18,color:A.primary}):(0,x.jsx)(b.Square,{size:18,color:A.foregroundSubtle})}),(0,x.jsx)(n.default,{style:[j.onlineDot,{backgroundColor:e.online?A.success:A.foregroundSubtle}]}),(0,x.jsx)(l.default,{style:[j.name,{color:t?A.primary:A.foreground},t&&j.nameCurrent],numberOfLines:1,children:e.name}),t?(0,x.jsx)(b.Check,{size:16,color:A.primary}):null]},e.id)},u[26]=A,u[27]=S,u[28]=I,u[29]=N,u[30]=v,u[31]=P,u[32]=e):e=u[32],O=z.map(e),u[18]=z,u[19]=A,u[20]=S,u[21]=I,u[22]=N,u[23]=v,u[24]=P,u[25]=O}else O=u[25];u[33]!==O?(q=(0,x.jsx)(c.default,{style:j.list,showsVerticalScrollIndicator:!1,children:O}),u[33]=O,u[34]=q):q=u[34];u[35]!==T||u[36]!==A||u[37]!==w||u[38]!==L||u[39]!==v||u[40]!==P?(F=v?(0,x.jsxs)(s.default,{onPress:()=>{T&&w(L)},disabled:!T,accessibilityRole:"button",accessibilityState:{disabled:!T},style:[j.gridButton,T?{backgroundColor:A.primary}:{backgroundColor:A.backgroundElevated}],children:[(0,x.jsx)(b.LayoutGrid,{size:15,color:T?A.primaryForeground:A.foregroundDisabled}),(0,x.jsx)(l.default,{style:[j.gridButtonText,{color:T?A.primaryForeground:A.foregroundDisabled}],children:P("v2.cameraSwitcher.openGrid",{n:L.length})})]}):null,u[35]=T,u[36]=A,u[37]=w,u[38]=L,u[39]=v,u[40]=P,u[41]=F):F=u[41];u[42]!==q||u[43]!==F?(H=(0,x.jsxs)(n.default,{style:j.body,children:[q,F]}),u[42]=q,u[43]=F,u[44]=H):H=u[44];return H};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),h=r(d[8]),b=r(d[9]),y=r(d[10]),S=r(d[11]),p=r(d[12]),x=r(d[13]);function C(e){return e.id}const j=u.default.create({center:{paddingVertical:S.SPACING.lg,alignItems:'center'},empty:{fontSize:13,paddingVertical:S.SPACING.md,textAlign:'center'},body:{gap:S.SPACING.sm},list:{maxHeight:360},row:{flexDirection:'row',alignItems:'center',gap:S.SPACING.md,paddingVertical:S.SPACING.sm+2,paddingHorizontal:S.SPACING.sm,borderBottomWidth:u.default.hairlineWidth,borderRadius:S.RADIUS.sm},onlineDot:{width:7,height:7,borderRadius:4},name:{flex:1,fontSize:14,fontWeight:'500'},nameCurrent:{fontWeight:'700'},gridButton:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:S.SPACING.sm,paddingVertical:S.SPACING.md,borderRadius:S.RADIUS.md},gridButtonText:{fontSize:13,fontWeight:'600'}})},3487,[15,17,20,112,252,147,33,240,786,813,2587,2589,3080,10]);
15909
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CameraMenuPanel=function(e){const n=(0,o.c)(118),{boundingBoxesOn:l,onToggleBoundingBoxes:f,statsOn:I,onToggleStats:T,audioPosition:j,onSetAudioPosition:y,highlight:L,onSetHighlight:R,onOpenStorage:E,onOpenEvents:_,onClose:A,topOffset:N,align:D,maxWidth:O}=e,{t:z}=(0,u.useTranslation)(),{colors:G}=(0,h.useTheme)(),{settings:W,setCluster:B}=(0,S.useSettings)();let H;n[0]!==W.clusters?(H=(0,w.matchTimelineDensityPreset)(W.clusters),n[0]=W.clusters,n[1]=H):H=n[1];const V=H;let F;n[2]!==z?(F=w.TIMELINE_DENSITY_PRESET_ORDER.map(e=>({value:e,label:z(`v2.cameraMenu.density_${e}`)})),n[2]=z,n[3]=F):F=n[3];const Y=F;let k;n[4]!==B?(k=e=>{if("custom"===e)return;const o=w.TIMELINE_DENSITY_PRESETS[e];B("gapPercent",o.gapPercent),B("cardWidthFraction",o.cardWidthFraction)},n[4]=B,n[5]=k):k=n[5];const q=k;let $,J,K,Q,U,X,Z,ee,oe,te,ne,se,le,re,ae;n[6]!==z?($=z("v2.cameraMenu.title"),n[6]=z,n[7]=$):$=n[7];n[8]!==z?(J=z("v2.cameraDetail.close"),n[8]=z,n[9]=J):J=n[9];n[10]!==z?(K=z("v2.cameraMenu.boundingBoxes"),n[10]=z,n[11]=K):K=n[11];n[12]!==l||n[13]!==f||n[14]!==K?(Q=(0,P.jsx)(x.PanelToggleRow,{icon:c.SquareDashed,label:K,value:l,onValueChange:f}),n[12]=l,n[13]=f,n[14]=K,n[15]=Q):Q=n[15];n[16]!==z?(U=z("v2.cameraMenu.streamStats"),n[16]=z,n[17]=U):U=n[17];n[18]!==T||n[19]!==I||n[20]!==U?(X=(0,P.jsx)(x.PanelToggleRow,{icon:c.Activity,label:U,value:I,onValueChange:T}),n[18]=T,n[19]=I,n[20]=U,n[21]=X):X=n[21];n[22]!==G.foregroundMuted?(Z=(0,P.jsx)(c.AudioLines,{size:18,color:G.foregroundMuted}),n[22]=G.foregroundMuted,n[23]=Z):Z=n[23];n[24]!==G.foreground?(ee=[b.audioLabel,{color:G.foreground}],n[24]=G.foreground,n[25]=ee):ee=n[25];n[26]!==z?(oe=z("v2.cameraMenu.audioLevel"),n[26]=z,n[27]=oe):oe=n[27];n[28]!==ee||n[29]!==oe?(te=(0,P.jsx)(t.default,{style:ee,children:oe}),n[28]=ee,n[29]=oe,n[30]=te):te=n[30];n[31]!==Z||n[32]!==te?(ne=(0,P.jsxs)(s.default,{style:b.audioHeaderRow,children:[Z,te]}),n[31]=Z,n[32]=te,n[33]=ne):ne=n[33];n[34]!==j||n[35]!==y?(se=(0,P.jsx)(v.AudioMeterPositionPicker,{value:j,onChange:y}),n[34]=j,n[35]=y,n[36]=se):se=n[36];n[37]!==G.foregroundMuted?(le=[b.sectionLabel,{color:G.foregroundMuted}],n[37]=G.foregroundMuted,n[38]=le):le=n[38];n[39]!==z?(re=z("v2.cameraMenu.densityTitle"),n[39]=z,n[40]=re):re=n[40];n[41]!==le||n[42]!==re?(ae=(0,P.jsx)(t.default,{style:le,children:re}),n[41]=le,n[42]=re,n[43]=ae):ae=n[43];const ue=V??"custom";let ie,de,ce,ge,he,fe,me,Me,xe,ve,Ce,Se,we,Pe,pe,be,Ie,Te,je,ye;n[44]!==q||n[45]!==Y||n[46]!==ue?(ie=(0,P.jsx)(C.SegmentedControl,{options:Y,value:ue,onChange:q}),n[44]=q,n[45]=Y,n[46]=ue,n[47]=ie):ie=n[47];n[48]!==G.foregroundMuted||n[49]!==V||n[50]!==z?(de=null===V?(0,P.jsx)(t.default,{style:[b.densityCustom,{color:G.foregroundMuted}],children:z("v2.cameraMenu.densityCustom")}):null,n[48]=G.foregroundMuted,n[49]=V,n[50]=z,n[51]=de):de=n[51];n[52]!==z?(ce=z("v2.cameraMenu.showImportance"),n[52]=z,n[53]=ce):ce=n[53];n[54]!==B||n[55]!==W.clusters.showImportance?(ge=()=>B("showImportance",!W.clusters.showImportance),n[54]=B,n[55]=W.clusters.showImportance,n[56]=ge):ge=n[56];n[57]!==W.clusters.showImportance||n[58]!==ce||n[59]!==ge?(he=(0,P.jsx)(x.PanelToggleRow,{icon:c.Layers,label:ce,value:W.clusters.showImportance,onValueChange:ge}),n[57]=W.clusters.showImportance,n[58]=ce,n[59]=ge,n[60]=he):he=n[60];n[61]!==z?(fe=z("v2.cameraMenu.showClass"),n[61]=z,n[62]=fe):fe=n[62];n[63]!==B||n[64]!==W.clusters.showClass?(me=()=>B("showClass",!W.clusters.showClass),n[63]=B,n[64]=W.clusters.showClass,n[65]=me):me=n[65];n[66]!==W.clusters.showClass||n[67]!==fe||n[68]!==me?(Me=(0,P.jsx)(x.PanelToggleRow,{icon:c.List,label:fe,value:W.clusters.showClass,onValueChange:me}),n[66]=W.clusters.showClass,n[67]=fe,n[68]=me,n[69]=Me):Me=n[69];n[70]!==G.foregroundMuted?(xe=[b.sectionLabel,{color:G.foregroundMuted}],n[70]=G.foregroundMuted,n[71]=xe):xe=n[71];n[72]!==z?(ve=z("v2.gridBuilder.highlightTitle"),n[72]=z,n[73]=ve):ve=n[73];n[74]!==xe||n[75]!==ve?(Ce=(0,P.jsx)(t.default,{style:xe,children:ve}),n[74]=xe,n[75]=ve,n[76]=Ce):Ce=n[76];n[77]!==L||n[78]!==R?(Se=(0,P.jsx)(x.HighlightTriggerRows,{highlight:L,onSetHighlight:R}),n[77]=L,n[78]=R,n[79]=Se):Se=n[79];n[80]!==G.foregroundMuted?(we=[b.sectionLabel,{color:G.foregroundMuted}],n[80]=G.foregroundMuted,n[81]=we):we=n[81];n[82]!==z?(Pe=z("v2.cameraMenu.managementTitle"),n[82]=z,n[83]=Pe):Pe=n[83];n[84]!==we||n[85]!==Pe?(pe=(0,P.jsx)(t.default,{style:we,children:Pe}),n[84]=we,n[85]=Pe,n[86]=pe):pe=n[86];n[87]!==z?(be=z("v2.storage.title"),n[87]=z,n[88]=be):be=n[88];n[89]!==E||n[90]!==be?(Ie=(0,P.jsx)(p,{icon:c.HardDrive,label:be,onPress:E}),n[89]=E,n[90]=be,n[91]=Ie):Ie=n[91];n[92]!==z?(Te=z("v2.eventsMgmt.title"),n[92]=z,n[93]=Te):Te=n[93];n[94]!==_||n[95]!==Te?(je=(0,P.jsx)(p,{icon:c.ListTree,label:Te,onPress:_}),n[94]=_,n[95]=Te,n[96]=je):je=n[96];n[97]!==D||n[98]!==O||n[99]!==A||n[100]!==ne||n[101]!==se||n[102]!==ae||n[103]!==ie||n[104]!==de||n[105]!==he||n[106]!==Me||n[107]!==Ce||n[108]!==Se||n[109]!==pe||n[110]!==Ie||n[111]!==je||n[112]!==$||n[113]!==J||n[114]!==Q||n[115]!==X||n[116]!==N?(ye=(0,P.jsxs)(M.FloatingPanel,{title:$,onClose:A,closeLabel:J,topOffset:N,align:D,maxWidth:O,children:[Q,X,ne,se,ae,ie,de,he,Me,Ce,Se,pe,Ie,je]}),n[97]=D,n[98]=O,n[99]=A,n[100]=ne,n[101]=se,n[102]=ae,n[103]=ie,n[104]=de,n[105]=he,n[106]=Me,n[107]=Ce,n[108]=Se,n[109]=pe,n[110]=Ie,n[111]=je,n[112]=$,n[113]=J,n[114]=Q,n[115]=X,n[116]=N,n[117]=ye):ye=n[117];return ye};var o=r(d[0]);r(d[1]);var t=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),u=r(d[6]),c=r(d[7]),h=r(d[8]),f=r(d[9]),M=r(d[10]),x=r(d[11]),v=r(d[12]),C=r(d[13]),S=r(d[14]),w=r(d[15]),P=r(d[16]);function p(e){const s=(0,o.c)(15),{icon:l,label:u,onPress:f}=e,{colors:M}=(0,h.useTheme)();let x,v,C,S,w;return s[0]!==l||s[1]!==M.foregroundMuted?(x=(0,P.jsx)(l,{size:18,color:M.foregroundMuted}),s[0]=l,s[1]=M.foregroundMuted,s[2]=x):x=s[2],s[3]!==M.foreground?(v=[b.actionLabel,{color:M.foreground}],s[3]=M.foreground,s[4]=v):v=s[4],s[5]!==u||s[6]!==v?(C=(0,P.jsx)(t.default,{style:v,children:u}),s[5]=u,s[6]=v,s[7]=C):C=s[7],s[8]!==M.foregroundSubtle?(S=(0,P.jsx)(c.ChevronRight,{size:18,color:M.foregroundSubtle}),s[8]=M.foregroundSubtle,s[9]=S):S=s[9],s[10]!==f||s[11]!==x||s[12]!==C||s[13]!==S?(w=(0,P.jsxs)(n.default,{accessibilityRole:"button",onPress:f,style:b.actionRow,children:[x,C,S]}),s[10]=f,s[11]=x,s[12]=C,s[13]=S,s[14]=w):w=s[14],w}const b=l.default.create({sectionLabel:{fontSize:12,fontWeight:'600',paddingTop:f.SPACING.sm,paddingBottom:f.SPACING.xs},densityCustom:{fontSize:11,paddingTop:f.SPACING.xs},actionRow:{flexDirection:'row',alignItems:'center',gap:f.SPACING.md,paddingVertical:f.SPACING.xs},actionLabel:{flex:1,fontSize:14,fontWeight:'500'},audioHeaderRow:{flexDirection:'row',alignItems:'center',gap:f.SPACING.md,paddingVertical:f.SPACING.xs},audioLabel:{flex:1,fontSize:14,fontWeight:'500'}})},3488,[15,17,112,252,20,33,786,813,2587,2589,3460,3408,3489,3176,3177,3140,10]);
15910
+ __d(function(g,_r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.AudioMeterPositionPicker=function(e){const l=(0,t.c)(7),{value:u,onChange:p}=e,{t:y}=(0,s.useTranslation)(),{colors:x}=(0,c.useTheme)();let C,P;l[0]!==x||l[1]!==p||l[2]!==y||l[3]!==u?(C=b.map((e,t)=>(0,f.jsx)(r.default,{style:h.row,children:e.map(e=>{const t=e===u,l="off"===e;return(0,f.jsx)(o.default,{accessibilityRole:"radio",accessibilityState:{selected:t},accessibilityLabel:y(`v2.cameraMenu.audioPositions.${e}`,{defaultValue:e}),onPress:()=>p(e),style:[h.cell,{borderColor:t?x.primary:x.border,backgroundColor:t?x.primary:x.background}],children:l?(0,f.jsx)(n.VolumeX,{size:14,color:t?x.primaryForeground:x.foregroundSubtle}):(0,f.jsx)(r.default,{style:[h.dot,{backgroundColor:t?x.primaryForeground:x.foregroundSubtle}]})},e)})},t)),l[0]=x,l[1]=p,l[2]=y,l[3]=u,l[4]=C):C=l[4];l[5]!==C?(P=(0,f.jsx)(r.default,{style:h.grid,accessibilityRole:"radiogroup",children:C}),l[5]=C,l[6]=P):P=l[6];return P};var t=_r(d[0]);_r(d[1]);var r=e(_r(d[2])),o=e(_r(d[3])),l=e(_r(d[4])),n=_r(d[5]),s=_r(d[6]),c=_r(d[7]),u=_r(d[8]),f=_r(d[9]);const b=[['top-left','top-center','top-right'],['left-center','off','right-center'],['bottom-left','bottom-center','bottom-right']];const h=l.default.create({grid:{gap:u.SPACING.xs,alignSelf:'flex-start',paddingTop:u.SPACING.xs},row:{flexDirection:'row',gap:u.SPACING.xs},cell:{width:34,height:34,borderWidth:1,borderRadius:u.RADIUS.md,alignItems:'center',justifyContent:'center'},dot:{width:8,height:8,borderRadius:4}})},3489,[15,17,20,252,33,813,786,2587,2589,10]);
15911
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportModal=function(e){const f=(0,t.c)(182),{t:V}=(0,x.useTranslation)(),{colors:L}=(0,v.useTheme)(),[H,U]=(0,o.useState)(k),[q,O]=(0,o.useState)(1),[X,$]=(0,o.useState)(!1),[J,K]=(0,o.useState)(2e3),[Q,Y]=(0,o.useState)(!1),[Z,ee]=(0,o.useState)(T),[te,oe]=(0,o.useState)(!1),[le,re]=(0,o.useState)(null),ne=e.anchorEpoch,se=ne-H,{data:ie}=(0,y.useRecordingProfiles)(e.deviceId,se,ne,e.visible);let de;f[0]!==ie?(de=void 0===ie?[]:ie,f[0]=ie,f[1]=de):de=f[1];const ae=de,ce=le??ae[0]??null,ue=(0,C.useCreateExport)();let fe;f[2]!==q||f[3]!==X?(fe=N(X,q),f[2]=q,f[3]=X,f[4]=fe):fe=f[4];const pe=fe,xe=null===ce||ue.isPending;let ge;f[5]!==J||f[6]!==pe||f[7]!==ue||f[8]!==te||f[9]!==ce||f[10]!==se||f[11]!==Q||f[12]!==Z||f[13]!==e||f[14]!==q||f[15]!==V||f[16]!==X||f[17]!==ne?(ge=async()=>{if(null===ce)return;const t=X?{timelapse:{everyMs:J,outputFps:G},includeAudio:!1,maxLifeMs:Z,deleteAfterDownload:te}:{speed:q,includeAudio:pe&&Q,maxLifeMs:Z,deleteAfterDownload:te};try{await ue.mutateAsync({deviceId:e.deviceId,profile:ce,fromMs:se,toMs:ne,options:t}),e.onCreated()}catch(e){const t=e;p.default.alert(V("v2.exports.title"),t instanceof Error?t.message:V("v2.exports.createFailed"))}},f[5]=J,f[6]=pe,f[7]=ue,f[8]=te,f[9]=ce,f[10]=se,f[11]=Q,f[12]=Z,f[13]=e,f[14]=q,f[15]=V,f[16]=X,f[17]=ne,f[18]=ge):ge=f[18];const be=ge;let ve,he,Se,me;f[19]!==V?(ve=V("v2.exports.life24h"),f[19]=V,f[20]=ve):ve=f[20];f[21]!==V?(he=V("v2.exports.life7d"),f[21]=V,f[22]=he):he=f[22];f[23]!==V?(Se=V("v2.exports.life30d"),f[23]=V,f[24]=Se):Se=f[24];f[25]!==ve||f[26]!==he||f[27]!==Se?(me={[D[0]]:ve,[D[1]]:he,[D[2]]:Se},f[25]=ve,f[26]=he,f[27]=Se,f[28]=me):me=f[28];const je=me,ye=e.visible,Ce=e.onClose;let Ie,we,Ae,Pe,Me,Re,De,ke,Te,Ge,Ne,ze,Fe,We,Be;f[29]!==L.background?(Ie={flex:1,backgroundColor:L.background},f[29]=L.background,f[30]=Ie):Ie=f[30];f[31]!==L.border?(we=[E.header,{borderBottomColor:L.border}],f[31]=L.border,f[32]=we):we=f[32];f[33]!==L.foreground?(Ae={color:L.foreground,fontSize:17,fontWeight:"700"},f[33]=L.foreground,f[34]=Ae):Ae=f[34];f[35]!==V?(Pe=V("v2.exports.title"),f[35]=V,f[36]=Pe):Pe=f[36];f[37]!==Ae||f[38]!==Pe?(Me=(0,A.jsx)(s.default,{style:Ae,children:Pe}),f[37]=Ae,f[38]=Pe,f[39]=Me):Me=f[39];f[40]!==L.foregroundMuted?(Re=(0,A.jsx)(b.X,{size:22,color:L.foregroundMuted}),f[40]=L.foregroundMuted,f[41]=Re):Re=f[41];f[42]!==e.onClose||f[43]!==Re?(De=(0,A.jsx)(c.default,{accessibilityRole:"button",onPress:e.onClose,hitSlop:8,children:Re}),f[42]=e.onClose,f[43]=Re,f[44]=De):De=f[44];f[45]!==we||f[46]!==Me||f[47]!==De?(ke=(0,A.jsxs)(n.default,{style:we,children:[Me,De]}),f[45]=we,f[46]=Me,f[47]=De,f[48]=ke):ke=f[48];f[49]===Symbol.for("react.memo_cache_sentinel")?(Te={padding:h.SPACING.xl,gap:h.SPACING["2xl"],paddingBottom:h.SPACING["3xl"]},f[49]=Te):Te=f[49];f[50]!==V?(Ge=V("v2.exports.range"),f[50]=V,f[51]=Ge):Ge=f[51];f[52]===Symbol.for("react.memo_cache_sentinel")?(Ne=P.map(W),f[52]=Ne):Ne=f[52];f[53]!==H?(ze=(0,A.jsx)(B,{options:Ne,value:H,onChange:U}),f[53]=H,f[54]=ze):ze=f[54];f[55]!==L.foregroundMuted?(Fe=[E.rangeText,{color:L.foregroundMuted}],f[55]=L.foregroundMuted,f[56]=Fe):Fe=f[56];f[57]!==se||f[58]!==ne?(We=(0,I.rangeLabel)(se,ne),f[57]=se,f[58]=ne,f[59]=We):We=f[59];f[60]!==Fe||f[61]!==We?(Be=(0,A.jsx)(s.default,{style:Fe,children:We}),f[60]=Fe,f[61]=We,f[62]=Be):Be=f[62];const Ee=e.deviceId;let Ve,Le;f[63]!==V?(Ve=V("v2.exports.rangeStart"),f[63]=V,f[64]=Ve):Ve=f[64];f[65]!==se||f[66]!==e.deviceId||f[67]!==Ve?(Le=(0,A.jsx)(w.ExportFramePreview,{deviceId:Ee,atMs:se,caption:Ve}),f[65]=se,f[66]=e.deviceId,f[67]=Ve,f[68]=Le):Le=f[68];const He=e.deviceId;let Ue,qe,Oe,Xe,$e,Je,Ke,Qe,Ye,Ze;f[69]!==V?(Ue=V("v2.exports.rangeEnd"),f[69]=V,f[70]=Ue):Ue=f[70];f[71]!==e.deviceId||f[72]!==Ue||f[73]!==ne?(qe=(0,A.jsx)(w.ExportFramePreview,{deviceId:He,atMs:ne,caption:Ue}),f[71]=e.deviceId,f[72]=Ue,f[73]=ne,f[74]=qe):qe=f[74];f[75]!==Le||f[76]!==qe?(Oe=(0,A.jsxs)(n.default,{style:E.previewRow,children:[Le,qe]}),f[75]=Le,f[76]=qe,f[77]=Oe):Oe=f[77];f[78]!==ze||f[79]!==Be||f[80]!==Oe?(Xe=(0,A.jsxs)(n.default,{style:E.block,children:[ze,Be,Oe]}),f[78]=ze,f[79]=Be,f[80]=Oe,f[81]=Xe):Xe=f[81];f[82]!==Ge||f[83]!==Xe?($e=(0,A.jsx)(S.Section,{title:Ge,children:Xe}),f[82]=Ge,f[83]=Xe,f[84]=$e):$e=f[84];f[85]!==L.foregroundSubtle||f[86]!==ce||f[87]!==ae||f[88]!==V?(Je=ae.length>0?(0,A.jsx)(S.Section,{title:V("v2.exports.profile"),children:(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:ae.map(F),value:ce,onChange:re})})}):(0,A.jsx)(S.Section,{title:V("v2.exports.profile"),children:(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(s.default,{style:{color:L.foregroundSubtle,fontSize:13},children:V("v2.exports.noFootage")})})}),f[85]=L.foregroundSubtle,f[86]=ce,f[87]=ae,f[88]=V,f[89]=Je):Je=f[89];f[90]!==V?(Ke=V("v2.exports.speed"),f[90]=V,f[91]=Ke):Ke=f[91];f[92]===Symbol.for("react.memo_cache_sentinel")?(Qe=M.map(z),f[92]=Qe):Qe=f[92];f[93]!==q||f[94]!==X?(Ye=(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:Qe,value:q,onChange:O,disabled:X})}),f[93]=q,f[94]=X,f[95]=Ye):Ye=f[95];f[96]!==V?(Ze=V("v2.exports.timelapse"),f[96]=V,f[97]=Ze):Ze=f[97];const et=!X;let tt,ot,lt,rt,nt,st;f[98]!==Ze||f[99]!==et||f[100]!==X?(tt=(0,A.jsx)(j.ToggleRow,{label:Ze,value:X,onValueChange:$,last:et}),f[98]=Ze,f[99]=et,f[100]=X,f[101]=tt):tt=f[101];f[102]!==J||f[103]!==L.borderSubtle||f[104]!==L.foregroundMuted||f[105]!==V||f[106]!==X?(ot=X?(0,A.jsxs)(n.default,{style:[E.block,{borderTopWidth:1,borderTopColor:L.borderSubtle}],children:[(0,A.jsx)(s.default,{style:[E.subLabel,{color:L.foregroundMuted}],children:V("v2.exports.cadence")}),(0,A.jsx)(B,{options:R.map(_),value:J,onChange:K})]}):null,f[102]=J,f[103]=L.borderSubtle,f[104]=L.foregroundMuted,f[105]=V,f[106]=X,f[107]=ot):ot=f[107];f[108]!==Ke||f[109]!==Ye||f[110]!==tt||f[111]!==ot?(lt=(0,A.jsxs)(S.Section,{title:Ke,children:[Ye,tt,ot]}),f[108]=Ke,f[109]=Ye,f[110]=tt,f[111]=ot,f[112]=lt):lt=f[112];f[113]!==V?(rt=V("v2.exports.audio"),f[113]=V,f[114]=rt):rt=f[114];f[115]!==V?(nt=V("v2.exports.includeAudio"),f[115]=V,f[116]=nt):nt=f[116];f[117]!==pe||f[118]!==V?(st=pe?void 0:V("v2.exports.audioUnavailable"),f[117]=pe,f[118]=V,f[119]=st):st=f[119];const it=pe&&Q,dt=!pe;let at,ct,ut,ft,pt,xt,gt,bt,vt,ht;f[120]!==nt||f[121]!==st||f[122]!==it||f[123]!==dt?(at=(0,A.jsx)(j.ToggleRow,{label:nt,description:st,value:it,onValueChange:Y,disabled:dt,last:!0}),f[120]=nt,f[121]=st,f[122]=it,f[123]=dt,f[124]=at):at=f[124];f[125]!==rt||f[126]!==at?(ct=(0,A.jsx)(S.Section,{title:rt,children:at}),f[125]=rt,f[126]=at,f[127]=ct):ct=f[127];f[128]!==V?(ut=V("v2.exports.retention"),f[128]=V,f[129]=ut):ut=f[129];f[130]!==je?(ft=D.map(e=>({value:e,label:je[e]})),f[130]=je,f[131]=ft):ft=f[131];f[132]!==Z||f[133]!==ft?(pt=(0,A.jsx)(n.default,{style:E.block,children:(0,A.jsx)(B,{options:ft,value:Z,onChange:ee})}),f[132]=Z,f[133]=ft,f[134]=pt):pt=f[134];f[135]!==V?(xt=V("v2.exports.deleteAfterDownload"),f[135]=V,f[136]=xt):xt=f[136];f[137]!==V?(gt=V("v2.exports.deleteAfterDownloadHint"),f[137]=V,f[138]=gt):gt=f[138];f[139]!==te||f[140]!==xt||f[141]!==gt?(bt=(0,A.jsx)(j.ToggleRow,{label:xt,description:gt,value:te,onValueChange:oe,last:!0}),f[139]=te,f[140]=xt,f[141]=gt,f[142]=bt):bt=f[142];f[143]!==ut||f[144]!==pt||f[145]!==bt?(vt=(0,A.jsxs)(S.Section,{title:ut,children:[pt,bt]}),f[143]=ut,f[144]=pt,f[145]=bt,f[146]=vt):vt=f[146];f[147]!==be?(ht=()=>{be()},f[147]=be,f[148]=ht):ht=f[148];const St=xe?L.surfaceHover:L.primary;let mt;f[149]!==St?(mt=[E.exportBtn,{backgroundColor:St}],f[149]=St,f[150]=mt):mt=f[150];const jt=xe?L.foregroundDisabled:L.primaryForeground;let yt;f[151]!==jt?(yt=(0,A.jsx)(b.Download,{size:18,color:jt}),f[151]=jt,f[152]=yt):yt=f[152];const Ct=xe?L.foregroundDisabled:L.primaryForeground;let It,wt,At,Pt,Mt,Rt,Dt;f[153]!==Ct?(It=[E.exportBtnText,{color:Ct}],f[153]=Ct,f[154]=It):It=f[154];f[155]!==ue.isPending||f[156]!==V?(wt=ue.isPending?V("v2.exports.creating"):V("v2.exports.createAction"),f[155]=ue.isPending,f[156]=V,f[157]=wt):wt=f[157];f[158]!==It||f[159]!==wt?(At=(0,A.jsx)(s.default,{style:It,children:wt}),f[158]=It,f[159]=wt,f[160]=At):At=f[160];f[161]!==xe||f[162]!==ht||f[163]!==mt||f[164]!==yt||f[165]!==At?(Pt=(0,A.jsxs)(c.default,{accessibilityRole:"button",disabled:xe,onPress:ht,style:mt,children:[yt,At]}),f[161]=xe,f[162]=ht,f[163]=mt,f[164]=yt,f[165]=At,f[166]=Pt):Pt=f[166];f[167]!==$e||f[168]!==Je||f[169]!==lt||f[170]!==ct||f[171]!==vt||f[172]!==Pt?(Mt=(0,A.jsxs)(u.default,{contentContainerStyle:Te,children:[$e,Je,lt,ct,vt,Pt]}),f[167]=$e,f[168]=Je,f[169]=lt,f[170]=ct,f[171]=vt,f[172]=Pt,f[173]=Mt):Mt=f[173];f[174]!==Ie||f[175]!==ke||f[176]!==Mt?(Rt=(0,A.jsxs)(n.default,{style:Ie,children:[ke,Mt]}),f[174]=Ie,f[175]=ke,f[176]=Mt,f[177]=Rt):Rt=f[177];f[178]!==e.onClose||f[179]!==e.visible||f[180]!==Rt?(Dt=(0,A.jsx)(l.default,{visible:ye,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:Ce,children:Rt}),f[178]=e.onClose,f[179]=e.visible,f[180]=Rt,f[181]=Dt):Dt=f[181];return Dt};var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=e(r(d[7])),p=e(r(d[8])),x=r(d[9]),b=r(d[10]),v=r(d[11]),h=r(d[12]),S=r(d[13]),j=r(d[14]),y=r(d[15]),C=r(d[16]),I=r(d[17]),w=r(d[18]),A=r(d[19]);const P=[6e4,3e5,9e5,18e5,36e5],M=[.25,.5,1,2,4,8],R=[1e3,2e3,5e3,1e4],D=[864e5,6048e5,2592e6],k=3e5,T=6048e5,G=30;function N(e,t){return!e&&t>=.5&&t<=2}function _(e){return{value:e,label:(0,I.formatDuration)(e)}}function z(e){return{value:e,label:`${e}\xd7`}}function F(e){return{value:e,label:e}}function W(e){return{value:e,label:(0,I.formatDuration)(e)}}function B(e){const o=(0,t.c)(13),{options:l,value:u,onChange:f,disabled:p}=e,x=void 0!==p&&p,{colors:b}=(0,v.useTheme)();let h,S;if(o[0]!==b||o[1]!==x||o[2]!==f||o[3]!==l||o[4]!==u){let e;o[6]!==b||o[7]!==x||o[8]!==f||o[9]!==u?(e=e=>{const t=e.value===u;return(0,A.jsx)(c.default,{accessibilityRole:"button",accessibilityState:{selected:t,disabled:x},disabled:x,onPress:()=>f(e.value),style:[E.chip,{backgroundColor:t?b.primary:b.background,borderColor:t?b.primary:b.border,opacity:x?.4:1}],children:(0,A.jsx)(s.default,{style:{color:t?b.primaryForeground:b.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:e.label})},String(e.value))},o[6]=b,o[7]=x,o[8]=f,o[9]=u,o[10]=e):e=o[10],h=l.map(e),o[0]=b,o[1]=x,o[2]=f,o[3]=l,o[4]=u,o[5]=h}else h=o[5];return o[11]!==h?(S=(0,A.jsx)(n.default,{style:E.chipRow,children:h}),o[11]=h,o[12]=S):S=o[12],S}const E=f.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:h.SPACING.xl,borderBottomWidth:1},block:{padding:h.SPACING.xl,gap:h.SPACING.md},subLabel:{fontSize:13,fontWeight:'500'},rangeText:{fontSize:13,fontVariant:['tabular-nums']},previewRow:{flexDirection:'row',gap:h.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:h.SPACING.md},chip:{paddingHorizontal:h.SPACING.lg,paddingVertical:h.SPACING.md,borderRadius:h.RADIUS.lg,borderWidth:1},exportBtn:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:h.SPACING.md,paddingVertical:h.SPACING.lg,borderRadius:h.RADIUS.lg},exportBtnText:{fontSize:15,fontWeight:'700'}})},3490,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3174,3159,3491,3492,3493,10]);
15912
+ __d(function(g,_r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.toExportRecord=y,_e.isExportActive=v,_e.useExportsList=function(t){const u=(0,e.c)(9),{controller:l,state:p}=(0,n.useConnection)(),f=t??"all";let y;u[0]!==f?(y=[...c,"list",f],u[0]=f,u[1]=y):y=u[1];const v="connected"===p;let E,w;u[2]!==l||u[3]!==t?(E=async()=>{const e=l.getSystem();if(!e)return[];const r=void 0!==t?{deviceId:t}:{},n=x(await(0,o.capQuery)(e.trpcClient,"recordingExport","listExports",r));return s.log.info("exports","listExports",{deviceId:t??null,count:n.length}),n},u[2]=l,u[3]=t,u[4]=E):E=u[4];u[5]!==y||u[6]!==v||u[7]!==E?(w={queryKey:y,enabled:v,staleTime:5e3,refetchInterval:b,queryFn:E},u[5]=y,u[6]=v,u[7]=E,u[8]=w):w=u[8];return(0,r.useQuery)(w)},_e.useExport=function(t,s){const u=(0,e.c)(9),l=void 0===s||s,{controller:p,state:f}=(0,n.useConnection)(),x=t??"";let v;u[0]!==x?(v=[...c,"one",x],u[0]=x,u[1]=v):v=u[1];const E=l&&null!==t&&"connected"===f;let b,A;u[2]!==p||u[3]!==t?(b=async()=>{const e=p.getSystem();if(!e||null===t)return null;return y(await(0,o.capQuery)(e.trpcClient,"recordingExport","getExport",{exportId:t}))},u[2]=p,u[3]=t,u[4]=b):b=u[4];u[5]!==v||u[6]!==E||u[7]!==b?(A={queryKey:v,enabled:E,refetchInterval:w,queryFn:b},u[5]=v,u[6]=E,u[7]=b,u[8]=A):A=u[8];return(0,r.useQuery)(A)},_e.useCreateExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","createExport",Object.assign({},e)))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useCancelExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","cancelExport",{exportId:e}))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useDeleteExport=function(){const t=(0,e.c)(7),{controller:s}=(0,n.useConnection)(),u=(0,r.useQueryClient)();let l,p,f;t[0]!==s?(l=async e=>{const t=s.getSystem();if(!t)throw new Error("not connected");return y(await(0,o.capMutate)(t.trpcClient,"recordingExport","deleteExport",{exportId:e}))},t[0]=s,t[1]=l):l=t[1];t[2]!==u?(p=()=>{u.invalidateQueries({queryKey:c})},t[2]=u,t[3]=p):p=t[3];t[4]!==l||t[5]!==p?(f={mutationFn:l,onSuccess:p},t[4]=l,t[5]=p,t[6]=f):f=t[6];return(0,r.useMutation)(f)},_e.useResolveDownloadUrl=function(){const t=(0,e.c)(2),{controller:r}=(0,n.useConnection)();let s;t[0]!==r?(s=async e=>{const t=r.getSystem();if(!t)return null;const n=await(0,o.capQuery)(t.trpcClient,"recordingExport","getDownloadUrl",{exportId:e});if(!(0,o.isRecord)(n)||"string"!=typeof n.url||0===n.url.length)return null;const s=n.url;if(s.startsWith("http://")||s.startsWith("https://"))return s;const c=t.serverUrl.replace(/\/$/,"");return s.startsWith("/")?`${c}${s}`:`${c}/${s}`},t[0]=r,t[1]=s):s=t[1];return s},_e.useExportEvents=function(){const s=(0,e.c)(6),{controller:u,state:l}=(0,n.useConnection)(),p=(0,r.useQueryClient)();let f;s[0]===Symbol.for("react.memo_cache_sentinel")?(f={},s[0]=f):f=s[0];const[y,x]=(0,t.useState)(f);let v,E;s[1]!==l||s[2]!==u||s[3]!==p?(v=()=>{if("connected"!==l)return;const e=u.getSystem();if(!e)return;const t=A,r=e=>r=>{const n=t(r);null!==n&&x(t=>Object.assign({},t,{[n]:{progressPct:null,state:e}})),p.invalidateQueries({queryKey:c})},n=[e.subscribeEvent("recording.export.progress",e=>{const r=t(e);if(null===r)return;const n=(0,o.isRecord)(e)&&"number"==typeof e.progressPct?e.progressPct:null;x(e=>Object.assign({},e,{[r]:{progressPct:n,state:"rendering"}}))}),e.subscribeEvent("recording.export.completed",r("ready")),e.subscribeEvent("recording.export.failed",r("failed"))];return()=>{for(const e of n)e();x({})}},E=[u,l,p],s[1]=l,s[2]=u,s[3]=p,s[4]=v,s[5]=E):(v=s[4],E=s[5]);return(0,t.useEffect)(v,E),y};var e=_r(d[0]),t=_r(d[1]),r=_r(d[2]),n=_r(d[3]),o=_r(d[4]),s=_r(d[5]);const c=['v2','exports'],u=new Set(['queued','rendering','ready','failed','expired','deleted']);function l(e){return'string'==typeof e&&u.has(e)?e:'failed'}function p(e){return'number'==typeof e?e:null}function f(e){if((0,o.isRecord)(e)&&'number'==typeof e.everyMs)return{everyMs:e.everyMs,outputFps:'number'==typeof e.outputFps?e.outputFps:void 0}}function y(e){if(!(0,o.isRecord)(e))return null;const{id:t,deviceId:r,profile:n,fromMs:s,toMs:c}=e;return'string'!=typeof t||'number'!=typeof r?null:{id:t,deviceId:r,profile:'string'==typeof n?n:'unknown',fromMs:'number'==typeof s?s:0,toMs:'number'==typeof c?c:0,options:(u=e.options,(0,o.isRecord)(u)?{speed:'number'==typeof u.speed?u.speed:void 0,timelapse:f(u.timelapse),includeAudio:!0===u.includeAudio,maxLifeMs:'number'==typeof u.maxLifeMs?u.maxLifeMs:0,deleteAfterDownload:!0===u.deleteAfterDownload,title:'string'==typeof u.title?u.title:void 0}:{includeAudio:!1,maxLifeMs:0,deleteAfterDownload:!1}),state:l(e.state),progressPct:p(e.progressPct),fileBytes:p(e.fileBytes),expiresAt:'number'==typeof e.expiresAt?e.expiresAt:0,deleteAfterDownload:!0===e.deleteAfterDownload,downloadedAt:p(e.downloadedAt),createdAt:'number'==typeof e.createdAt?e.createdAt:0,createdBy:'string'==typeof e.createdBy?e.createdBy:'',error:'string'==typeof e.error?e.error:null};var u}function x(e){if(!Array.isArray(e))return[];const t=[];for(const r of e){const e=y(r);e&&t.push(e)}return t}function v(e){return'queued'===e.state||'rendering'===e.state}const E=2e3;function b(e){return!!(e.state.data??[]).some(v)&&E}function w(e){const t=e.state.data;return!(!t||!v(t))&&E}function A(e){return(0,o.isRecord)(e)?"string"==typeof e.exportId?e.exportId:"string"==typeof e.id?e.id:null:null}},3491,[15,17,3081,2594,3162,2705]);
15913
+ __d(function(g,r,i,a,_m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.formatBytes=function(t){if(null===t||t<=0)return'\u2014';const n=['B','KB','MB','GB','TB'];let o=t,s=0;for(;o>=1024&&s<n.length-1;)o/=1024,s+=1;return`${o>=100||0===s?Math.round(o):o.toFixed(1)} ${n[s]}`},e.formatDuration=s,e.rangeLabel=function(t,n){const o=new Date(t).toLocaleDateString(void 0,{day:'numeric',month:'short'}),c=new Date(t).toDateString()===new Date(n).toDateString()?u(n):`${new Date(n).toLocaleDateString(void 0,{day:'numeric',month:'short'})} ${u(n)}`;return`${o}, ${u(t)} \u2192 ${c} (${s(n-t)})`},e.variantLabel=function(t,n){let o;if(void 0!==t.timelapse)o=n('v2.exports.variantTimelapse');else{const s=t.speed??1;o=1===s?n('v2.exports.variantRegular'):n(s>1?'v2.exports.variantAccelerated':'v2.exports.variantSlow',{speed:s})}return void 0===t.timelapse&&t.includeAudio?`${o} \xb7 ${n('v2.exports.withAudio')}`:o},e.expiryLabel=function(s,u,c){const l=s-u;return l<=0?c('v2.exports.expired'):l>=o?c('v2.exports.expiresInDays',{count:Math.floor(l/o)}):l>=n?c('v2.exports.expiresInHours',{count:Math.floor(l/n)}):c('v2.exports.expiresInMinutes',{count:Math.max(1,Math.floor(l/t))})},e.stateLabel=function(t,n){return n(`v2.exports.state.${t}`)},e.effectiveProgress=function(t,n){return'rendering'!==t.state&&'queued'!==t.state?null:'number'==typeof n?Math.max(0,Math.min(100,n)):'number'==typeof t.progressPct?Math.max(0,Math.min(100,t.progressPct)):null};const t=6e4,n=36e5,o=864e5;function s(t){if(t<=0)return'0s';const n=Math.round(t/1e3),o=Math.floor(n/3600),s=Math.floor(n%3600/60),u=n%60;return o>0?`${o}h ${String(s).padStart(2,'0')}m`:s>0?`${s}m ${String(u).padStart(2,'0')}s`:`${u}s`}function u(t){return new Date(t).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'})}},3492,[]);
15914
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportFramePreview=function(e){const l=(0,t.c)(32),{deviceId:y,atMs:j,caption:p}=e,{colors:w}=(0,b.useTheme)(),{token:_}=(0,f.useServer)(),[I,M]=(0,o.useState)(0),W=(0,h.useScrubThumbnail)(y,j);let C;l[0]!==_?(C=_?{Authorization:`Bearer ${_}`}:void 0,l[0]=_,l[1]=C):C=l[1];const H=C,z=null!==W&&I>0?I/W.thumb.tileWidth:0,L=null!==W?W.thumb.tileHeight*z:0;let O,P,k,A,R,T,U,D,E,F;l[2]!==w.foregroundMuted?(O=[x.caption,{color:w.foregroundMuted}],l[2]=w.foregroundMuted,l[3]=O):O=l[3];l[4]!==p||l[5]!==O?(P=(0,S.jsx)(u.default,{style:O,numberOfLines:1,children:p}),l[4]=p,l[5]=O,l[6]=P):P=l[6];l[7]!==w.border||l[8]!==w.surfaceHover?(k=[x.frame,{backgroundColor:w.surfaceHover,borderColor:w.border}],l[7]=w.border,l[8]=w.surfaceHover,l[9]=k):k=l[9];l[10]===Symbol.for("react.memo_cache_sentinel")?(A=e=>{const t=Math.round(e.nativeEvent.layout.width);M(e=>e===t?e:t)},l[10]=A):A=l[10];l[11]!==I||l[12]!==w.foregroundSubtle||l[13]!==H||l[14]!==W||l[15]!==z||l[16]!==L?(R=null!==W&&I>0?(0,S.jsx)(n.default,{style:[x.tileWindow,{width:I,height:L}],children:(0,S.jsx)(s.Image,{source:H?{uri:W.sheetUrl,headers:H}:{uri:W.sheetUrl},style:{position:"absolute",width:W.thumb.sheetWidth*z,height:W.thumb.sheetHeight*z,left:-W.thumb.x*z,top:-W.thumb.y*z},contentFit:"fill",cachePolicy:"memory-disk"})}):(0,S.jsx)(n.default,{style:x.placeholder,children:(0,S.jsx)(c.ImageOff,{size:20,color:w.foregroundSubtle})}),l[11]=I,l[12]=w.foregroundSubtle,l[13]=H,l[14]=W,l[15]=z,l[16]=L,l[17]=R):R=l[17];l[18]!==k||l[19]!==R?(T=(0,S.jsx)(n.default,{style:k,onLayout:A,children:R}),l[18]=k,l[19]=R,l[20]=T):T=l[20];l[21]!==w.foregroundSubtle?(U=[x.time,{color:w.foregroundSubtle}],l[21]=w.foregroundSubtle,l[22]=U):U=l[22];l[23]!==j?(D=v(j),l[23]=j,l[24]=D):D=l[24];l[25]!==U||l[26]!==D?(E=(0,S.jsx)(u.default,{style:U,numberOfLines:1,children:D}),l[25]=U,l[26]=D,l[27]=E):E=l[27];l[28]!==E||l[29]!==P||l[30]!==T?(F=(0,S.jsxs)(n.default,{style:x.col,children:[P,T,E]}),l[28]=E,l[29]=P,l[30]=T,l[31]=F):F=l[31];return F};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),u=e(r(d[3])),l=e(r(d[4])),s=r(d[5]),c=r(d[6]),f=r(d[7]),h=r(d[8]),b=r(d[9]),y=r(d[10]),S=r(d[11]);function v(e){return new Date(e).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit',second:'2-digit'})}const x=l.default.create({col:{flex:1,gap:y.SPACING.xs},caption:{fontSize:11,fontWeight:'600'},frame:{width:'100%',aspectRatio:1.7777777777777777,borderRadius:y.RADIUS.md,borderWidth:1,overflow:'hidden',alignItems:'center',justifyContent:'center'},tileWindow:{overflow:'hidden'},placeholder:{alignItems:'center',justifyContent:'center'},time:{fontSize:11,fontVariant:['tabular-nums']}})},3493,[15,17,20,112,33,3053,813,3144,3463,2587,2589,10]);
15915
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportActionsPanel=function(e){const t=(0,o.c)(24),{onSnapshot:n,snapshotBusy:s,onOpenExport:l,onClose:f,topOffset:b,align:j,maxWidth:v}=e,{t:P}=(0,u.useTranslation)();let y,M,S,A,_,C,w;t[0]!==P?(y=P("v2.exportActions.title"),t[0]=P,t[1]=y):y=t[1];t[2]!==P?(M=P("v2.cameraDetail.close"),t[2]=P,t[3]=M):M=t[3];t[4]!==P?(S=P("v2.cameraDetail.snapshot"),t[4]=P,t[5]=S):S=t[5];t[6]!==n||t[7]!==s||t[8]!==S?(A=(0,p.jsx)(h,{icon:c.Aperture,label:S,busy:s,onPress:n}),t[6]=n,t[7]=s,t[8]=S,t[9]=A):A=t[9];t[10]!==P?(_=P("v2.exportActions.recordingExport"),t[10]=P,t[11]=_):_=t[11];t[12]!==l||t[13]!==_?(C=(0,p.jsx)(h,{icon:c.Download,label:_,onPress:l}),t[12]=l,t[13]=_,t[14]=C):C=t[14];t[15]!==j||t[16]!==v||t[17]!==f||t[18]!==y||t[19]!==M||t[20]!==A||t[21]!==C||t[22]!==b?(w=(0,p.jsxs)(x.FloatingPanel,{title:y,onClose:f,closeLabel:M,topOffset:b,align:j,maxWidth:v,children:[A,C]}),t[15]=j,t[16]=v,t[17]=f,t[18]=y,t[19]=M,t[20]=A,t[21]=C,t[22]=b,t[23]=w):w=t[23];return w};var o=r(d[0]);r(d[1]);var t=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),l=e(r(d[5])),u=r(d[6]),c=r(d[7]),f=r(d[8]),b=r(d[9]),x=r(d[10]),p=r(d[11]);function h(e){const s=(0,o.c)(19),{icon:u,label:b,busy:x,onPress:h}=e,v=void 0!==x&&x,{colors:P}=(0,f.useTheme)();let y,M,S,A,_;return s[0]!==u||s[1]!==P.foregroundMuted?(y=(0,p.jsx)(u,{size:18,color:P.foregroundMuted}),s[0]=u,s[1]=P.foregroundMuted,s[2]=y):y=s[2],s[3]!==P.foreground?(M=[j.actionLabel,{color:P.foreground}],s[3]=P.foreground,s[4]=M):M=s[4],s[5]!==b||s[6]!==M?(S=(0,p.jsx)(t.default,{style:M,children:b}),s[5]=b,s[6]=M,s[7]=S):S=s[7],s[8]!==v||s[9]!==P.foregroundMuted||s[10]!==P.foregroundSubtle?(A=v?(0,p.jsx)(l.default,{size:"small",color:P.foregroundMuted}):(0,p.jsx)(c.ChevronRight,{size:18,color:P.foregroundSubtle}),s[8]=v,s[9]=P.foregroundMuted,s[10]=P.foregroundSubtle,s[11]=A):A=s[11],s[12]!==v||s[13]!==b||s[14]!==h||s[15]!==y||s[16]!==S||s[17]!==A?(_=(0,p.jsxs)(n.default,{accessibilityRole:"button",accessibilityLabel:b,disabled:v,onPress:h,style:j.actionRow,children:[y,S,A]}),s[12]=v,s[13]=b,s[14]=h,s[15]=y,s[16]=S,s[17]=A,s[18]=_):_=s[18],_}const j=s.default.create({actionRow:{flexDirection:'row',alignItems:'center',gap:b.SPACING.md,paddingVertical:b.SPACING.sm},actionLabel:{flex:1,fontSize:14,fontWeight:'500'}})},3494,[15,17,112,252,33,240,786,813,2587,2589,3460,10]);
15916
+ __d(function(g,_r,_i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StorageManagementModal=function(e){const i=(0,t.c)(110),{visible:B,deviceId:j,cameraName:w,onClose:P}=e,{t:A}=(0,u.useTranslation)(),{colors:I}=(0,y.useTheme)(),[R,D]=(0,o.useState)(k[0].key),M=(0,h.useStorageUsage)(B),T=(0,h.usePruneFootage)(),N=(0,h.useDeleteFootprint)(),G=T.isPending||N.isPending;let _;i[0]!==j||i[1]!==M.data?.devices?(_=M.data?.devices.find(e=>e.deviceId===j),i[0]=j,i[1]=M.data?.devices,i[2]=_):_=i[2];const L=_,F=L?.usedBytes??0;let U;i[3]!==R?(U=k.find(e=>e.key===R)??k[0],i[3]=R,i[4]=U):U=i[4];const V=U;let W;i[5]!==w||i[6]!==j||i[7]!==T||i[8]!==A?(W=()=>{c.default.alert(A("v2.storage.pruneConfirmTitle","Apply retention?"),A("v2.storage.pruneConfirmBody",{defaultValue:"Delete footage on {{name}} that exceeds its retention policy.",name:w}),[{text:A("v2.storage.cancel","Cancel"),style:"cancel"},{text:A("v2.storage.pruneAction","Apply"),onPress:()=>{T.mutate({deviceId:j,reason:"manual"},{onSuccess:e=>c.default.alert(A("v2.storage.title","Storage"),A("v2.storage.pruneResult",{defaultValue:"Reclaimed {{bytes}} ({{buckets}} segments).",bytes:(0,x.formatBytes)(e?.reclaimedBytes??0),buckets:e?.deletedBuckets??0})),onError:e=>c.default.alert(A("v2.storage.title","Storage"),e.message)})}}])},i[5]=w,i[6]=j,i[7]=T,i[8]=A,i[9]=W):W=i[9];const z=W;let $;i[10]!==w||i[11]!==N||i[12]!==j||i[13]!==V||i[14]!==A?($=()=>{const e=Date.now(),t=null===V.ms?{deviceId:j}:{deviceId:j,fromMs:e-V.ms,toMs:e};c.default.alert(A("v2.storage.deleteConfirmTitle","Delete footage?"),A("v2.storage.deleteConfirmBody",{defaultValue:"Permanently delete {{range}} of footage on {{name}}. This cannot be undone.",range:A(`v2.storage.${V.key}`),name:w}),[{text:A("v2.storage.cancel","Cancel"),style:"cancel"},{text:A("v2.storage.deleteAction","Delete"),style:"destructive",onPress:()=>{N.mutate(t,{onSuccess:e=>c.default.alert(A("v2.storage.title","Storage"),A("v2.storage.deleteResult",{defaultValue:"Reclaimed {{bytes}} ({{buckets}} segments).",bytes:(0,x.formatBytes)(e?.reclaimedBytes??0),buckets:e?.deletedBuckets??0})),onError:e=>c.default.alert(A("v2.storage.title","Storage"),e.message)})}}])},i[10]=w,i[11]=N,i[12]=j,i[13]=V,i[14]=A,i[15]=$):$=i[15];const E=$;let H,q,O,X,J,K,Q,Y,Z,ee,te,oe,ae,le,re,se,ne,de,ie,ce;i[16]!==I.background?(H={flex:1,backgroundColor:I.background},i[16]=I.background,i[17]=H):H=i[17];i[18]!==I.border?(q=[C.header,{borderBottomColor:I.border}],i[18]=I.border,i[19]=q):q=i[19];i[20]!==I.foreground?(O={color:I.foreground,fontSize:17,fontWeight:"700"},i[20]=I.foreground,i[21]=O):O=i[21];i[22]!==A?(X=A("v2.storage.title","Storage"),i[22]=A,i[23]=X):X=i[23];i[24]!==O||i[25]!==X?(J=(0,S.jsx)(s.default,{style:O,children:X}),i[24]=O,i[25]=X,i[26]=J):J=i[26];i[27]!==I.foregroundMuted?(K=(0,S.jsx)(f.X,{size:22,color:I.foregroundMuted}),i[27]=I.foregroundMuted,i[28]=K):K=i[28];i[29]!==P||i[30]!==K?(Q=(0,S.jsx)(n.default,{accessibilityRole:"button",onPress:P,hitSlop:8,children:K}),i[29]=P,i[30]=K,i[31]=Q):Q=i[31];i[32]!==Q||i[33]!==q||i[34]!==J?(Y=(0,S.jsxs)(r.default,{style:q,children:[J,Q]}),i[32]=Q,i[33]=q,i[34]=J,i[35]=Y):Y=i[35];i[36]===Symbol.for("react.memo_cache_sentinel")?(Z={padding:b.SPACING.xl,gap:b.SPACING["2xl"],paddingBottom:b.SPACING["3xl"]},i[36]=Z):Z=i[36];i[37]!==A?(ee=A("v2.storage.usageTitle","Usage"),i[37]=A,i[38]=ee):ee=i[38];i[39]!==F||i[40]!==M.isLoading?(te=M.isLoading?"\u2026":(0,x.formatBytes)(F),i[39]=F,i[40]=M.isLoading,i[41]=te):te=i[41];i[42]!==w||i[43]!==te?(oe=(0,S.jsx)(p.Row,{label:w,value:te,icon:f.HardDrive}),i[42]=w,i[43]=te,i[44]=oe):oe=i[44];i[45]!==A?(ae=A("v2.storage.nodeTotal","Node total"),i[45]=A,i[46]=ae):ae=i[46];i[47]!==M.data?.totalUsedBytes||i[48]!==M.isLoading?(le=M.isLoading?"\u2026":(0,x.formatBytes)(M.data?.totalUsedBytes??0),i[47]=M.data?.totalUsedBytes,i[48]=M.isLoading,i[49]=le):le=i[49];i[50]!==ae||i[51]!==le?(re=(0,S.jsx)(p.Row,{label:ae,value:le}),i[50]=ae,i[51]=le,i[52]=re):re=i[52];i[53]!==M.data?.locations?(se=M.data?.locations??[],i[53]=M.data?.locations,i[54]=se):se=i[54];if(i[55]!==A||i[56]!==se||i[57]!==M.data?.locations){let e;i[59]!==A||i[60]!==M.data?.locations?(e=(e,t)=>(0,S.jsx)(p.Row,{label:e.locationId??A("v2.storage.defaultLocation","Default location"),value:null!==e.availableBytes?A("v2.storage.locationFree",{defaultValue:"{{free}} free",free:(0,x.formatBytes)(e.availableBytes)}):(0,x.formatBytes)(e.usedBytes),last:t===(M.data?.locations.length??0)-1},e.locationId??`loc-${t}`),i[59]=A,i[60]=M.data?.locations,i[61]=e):e=i[61],ne=se.map(e),i[55]=A,i[56]=se,i[57]=M.data?.locations,i[58]=ne}else ne=i[58];i[62]!==ee||i[63]!==oe||i[64]!==re||i[65]!==ne?(de=(0,S.jsxs)(v.Section,{title:ee,children:[oe,re,ne]}),i[62]=ee,i[63]=oe,i[64]=re,i[65]=ne,i[66]=de):de=i[66];i[67]!==A?(ie=A("v2.storage.retentionTitle","Retention"),i[67]=A,i[68]=ie):ie=i[68];i[69]!==A?(ce=A("v2.storage.pruneAction","Apply retention now"),i[69]=A,i[70]=ce):ce=i[70];const ue=G?void 0:z;let ge,fe,ye,me,be,ve;i[71]!==ce||i[72]!==ue?(ge=(0,S.jsx)(p.Row,{label:ce,icon:f.Timer,onPress:ue,last:!0}),i[71]=ce,i[72]=ue,i[73]=ge):ge=i[73];i[74]!==ie||i[75]!==ge?(fe=(0,S.jsx)(v.Section,{title:ie,children:ge}),i[74]=ie,i[75]=ge,i[76]=fe):fe=i[76];i[77]!==A?(ye=A("v2.storage.deleteTitle","Delete footage"),i[77]=A,i[78]=ye):ye=i[78];i[79]!==I.background||i[80]!==I.border||i[81]!==I.foregroundMuted||i[82]!==I.primary||i[83]!==I.primaryForeground||i[84]!==A||i[85]!==R?(me=k.map(e=>{const t=e.key===R;return(0,S.jsx)(n.default,{accessibilityRole:"button",accessibilityState:{selected:t},onPress:()=>D(e.key),style:[C.chip,{backgroundColor:t?I.primary:I.background,borderColor:t?I.primary:I.border}],children:(0,S.jsx)(s.default,{style:{color:t?I.primaryForeground:I.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:A(`v2.storage.${e.key}`)})},e.key)}),i[79]=I.background,i[80]=I.border,i[81]=I.foregroundMuted,i[82]=I.primary,i[83]=I.primaryForeground,i[84]=A,i[85]=R,i[86]=me):me=i[86];i[87]!==me?(be=(0,S.jsx)(r.default,{style:C.block,children:(0,S.jsx)(r.default,{style:C.chipRow,children:me})}),i[87]=me,i[88]=be):be=i[88];i[89]!==A?(ve=A("v2.storage.deleteAction","Delete"),i[89]=A,i[90]=ve):ve=i[90];const pe=G?void 0:E;let xe,he,Se,ke,Ce;i[91]!==ve||i[92]!==pe?(xe=(0,S.jsx)(p.Row,{label:ve,icon:f.Trash2,danger:!0,onPress:pe,last:!0}),i[91]=ve,i[92]=pe,i[93]=xe):xe=i[93];i[94]!==ye||i[95]!==be||i[96]!==xe?(he=(0,S.jsxs)(v.Section,{title:ye,children:[be,xe]}),i[94]=ye,i[95]=be,i[96]=xe,i[97]=he):he=i[97];i[98]!==de||i[99]!==fe||i[100]!==he?(Se=(0,S.jsxs)(d.default,{contentContainerStyle:Z,children:[de,fe,he]}),i[98]=de,i[99]=fe,i[100]=he,i[101]=Se):Se=i[101];i[102]!==Y||i[103]!==Se||i[104]!==H?(ke=(0,S.jsxs)(r.default,{style:H,children:[Y,Se]}),i[102]=Y,i[103]=Se,i[104]=H,i[105]=ke):ke=i[105];i[106]!==P||i[107]!==ke||i[108]!==B?(Ce=(0,S.jsx)(l.default,{visible:B,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:P,children:ke}),i[106]=P,i[107]=ke,i[108]=B,i[109]=Ce):Ce=i[109];return Ce};var t=_r(_d[0]),o=_r(_d[1]),l=e(_r(_d[2])),r=e(_r(_d[3])),s=e(_r(_d[4])),n=e(_r(_d[5])),d=e(_r(_d[6])),i=e(_r(_d[7])),c=e(_r(_d[8])),u=_r(_d[9]),f=_r(_d[10]),y=_r(_d[11]),b=_r(_d[12]),v=_r(_d[13]),p=_r(_d[14]),x=_r(_d[15]),h=_r(_d[16]),S=_r(_d[17]);const k=[{key:'window24h',ms:864e5},{key:'window7d',ms:6048e5},{key:'window30d',ms:2592e6},{key:'windowAll',ms:null}];const C=i.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:b.SPACING.xl,borderBottomWidth:1},block:{padding:b.SPACING.xl,gap:b.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:b.SPACING.md},chip:{paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.md,borderRadius:b.RADIUS.lg,borderWidth:1}})},3495,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3417,3492,3496,10]);
15917
+ __d(function(g,r,i,a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useStorageUsage=function(u){const d=(0,t.c)(5),y=void 0===u||u,{controller:v,state:p}=(0,o.useConnection)(),B=y&&"connected"===p;let w,I;d[0]!==v?(w=async()=>{const t=v.getSystem();if(!t)return null;const n=l(await(0,s.capQuery)(t.trpcClient,"recording","getStorageUsage",{}));return c.log.info("storage","getStorageUsage",{devices:n?.devices.length??0}),n},d[0]=v,d[1]=w):w=d[1];d[2]!==B||d[3]!==w?(I={queryKey:f,enabled:B,staleTime:1e4,queryFn:w},d[2]=B,d[3]=w,d[4]=I):I=d[4];return(0,n.useQuery)(I)},e.usePruneFootage=function(){const c=(0,t.c)(7),{controller:l}=(0,o.useConnection)(),y=(0,n.useQueryClient)();let v,p,B;c[0]!==l?(v=async t=>{const{deviceId:n,reason:o}=t,c=l.getSystem();if(!c)throw new Error("not connected");const y={deviceId:n};void 0!==o&&(y.reason=o);const v=await(0,s.capMutate)(c.trpcClient,"recording","pruneFootage",y);return(0,s.isRecord)(v)?{floorMs:d(v.floorMs),deletedBuckets:u(v.deletedBuckets),reclaimedBytes:u(v.reclaimedBytes)}:null},c[0]=l,c[1]=v):v=c[1];c[2]!==y?(p=()=>{y.invalidateQueries({queryKey:f})},c[2]=y,c[3]=p):p=c[3];c[4]!==v||c[5]!==p?(B={mutationFn:v,onSuccess:p},c[4]=v,c[5]=p,c[6]=B):B=c[6];return(0,n.useMutation)(B)},e.useDeleteFootprint=function(){const c=(0,t.c)(7),{controller:d}=(0,o.useConnection)(),l=(0,n.useQueryClient)();let y,v,p;c[0]!==d?(y=async t=>{const{deviceId:n,fromMs:o,toMs:c}=t,l=d.getSystem();if(!l)throw new Error("not connected");const y={deviceId:n};void 0!==o&&(y.fromMs=o),void 0!==c&&(y.toMs=c);const v=await(0,s.capMutate)(l.trpcClient,"recording","deleteFootprint",y);return(0,s.isRecord)(v)?{deletedBuckets:u(v.deletedBuckets),reclaimedBytes:u(v.reclaimedBytes)}:null},c[0]=d,c[1]=y):y=c[1];c[2]!==l?(v=()=>{l.invalidateQueries({queryKey:f})},c[2]=l,c[3]=v):v=c[3];c[4]!==y||c[5]!==v?(p={mutationFn:y,onSuccess:v},c[4]=y,c[5]=v,c[6]=p):p=c[6];return(0,n.useMutation)(p)},e.useEventStoreFootprint=function(u){const d=(0,t.c)(5),l=void 0===u||u,{controller:v,state:f}=(0,o.useConnection)(),B=l&&"connected"===f;let w,I;d[0]!==v?(w=async()=>{const t=v.getSystem();if(!t)return null;const n=y(await(0,s.capQuery)(t.trpcClient,"pipelineAnalytics","getEventStoreFootprint",{}));return c.log.info("events","getEventStoreFootprint",{devices:n?.devices.length??0}),n},d[0]=v,d[1]=w):w=d[1];d[2]!==B||d[3]!==w?(I={queryKey:p,enabled:B,staleTime:1e4,queryFn:w},d[2]=B,d[3]=w,d[4]=I):I=d[4];return(0,n.useQuery)(I)},e.usePruneEvents=function(){const c=(0,t.c)(7),{controller:u}=(0,o.useConnection)(),d=(0,n.useQueryClient)();let l,y,f;c[0]!==u?(l=async t=>{const{olderThanMs:n,reason:o}=t,c=u.getSystem();if(!c)throw new Error("not connected");const d={olderThanMs:n};void 0!==o&&(d.reason=o);return v(await(0,s.capMutate)(c.trpcClient,"pipelineAnalytics","pruneEvents",d))},c[0]=u,c[1]=l):l=c[1];c[2]!==d?(y=()=>{d.invalidateQueries({queryKey:p})},c[2]=d,c[3]=y):y=c[3];c[4]!==l||c[5]!==y?(f={mutationFn:l,onSuccess:y},c[4]=l,c[5]=y,c[6]=f):f=c[6];return(0,n.useMutation)(f)},e.useDeleteDeviceEvents=function(){const c=(0,t.c)(7),{controller:u}=(0,o.useConnection)(),d=(0,n.useQueryClient)();let l,y,f;c[0]!==u?(l=async t=>{const n=u.getSystem();if(!n)throw new Error("not connected");return v(await(0,s.capMutate)(n.trpcClient,"pipelineAnalytics","deleteDeviceEvents",{deviceId:t}))},c[0]=u,c[1]=l):l=c[1];c[2]!==d?(y=()=>{d.invalidateQueries({queryKey:p})},c[2]=d,c[3]=y):y=c[3];c[4]!==l||c[5]!==y?(f={mutationFn:l,onSuccess:y},c[4]=l,c[5]=y,c[6]=f):f=c[6];return(0,n.useMutation)(f)};var t=r(_d[0]),n=r(_d[1]),o=r(_d[2]),s=r(_d[3]),c=r(_d[4]);function u(t){return'number'==typeof t&&Number.isFinite(t)?t:0}function d(t){return'number'==typeof t&&Number.isFinite(t)?t:null}function l(t){if(!(0,s.isRecord)(t))return null;const n=[];if(Array.isArray(t.devices))for(const o of t.devices)(0,s.isRecord)(o)&&'number'==typeof o.deviceId&&n.push({deviceId:o.deviceId,usedBytes:u(o.usedBytes)});const o=[];if(Array.isArray(t.locations))for(const n of t.locations)(0,s.isRecord)(n)&&o.push({locationId:'string'==typeof n.locationId?n.locationId:null,usedBytes:u(n.usedBytes),availableBytes:d(n.availableBytes),totalBytes:d(n.totalBytes)});return{nodeId:'string'==typeof t.nodeId?t.nodeId:'',totalUsedBytes:u(t.totalUsedBytes),devices:n,locations:o}}function y(t){if(!(0,s.isRecord)(t))return null;const n=[];if(Array.isArray(t.devices))for(const o of t.devices)(0,s.isRecord)(o)&&'number'==typeof o.deviceId&&n.push({deviceId:o.deviceId,rows:u(o.rows),bytes:u(o.bytes)});return{totalRows:u(t.totalRows),totalBytes:u(t.totalBytes),devices:n}}function v(t){return(0,s.isRecord)(t)?{motion:u(t.motion),object:u(t.object),audio:u(t.audio)}:{motion:0,object:0,audio:0}}const f=['v2','storage-usage'],p=['v2','event-footprint']},3496,[15,3081,2594,3162,2705]);
15918
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.EventsManagementModal=function(e){const c=(0,t.c)(112),{visible:k,deviceId:A,cameraName:R,onClose:T}=e,{t:D}=(0,f.useTranslation)(),{colors:I}=(0,b.useTheme)(),[B,E]=(0,n.useState)(P[1].key),N=(0,S.useEventStoreFootprint)(k),G=(0,S.usePruneEvents)(),L=(0,S.useDeleteDeviceEvents)(),_=G.isPending||L.isPending;let V;c[0]!==A||c[1]!==N.data?.devices?(V=N.data?.devices.find(e=>e.deviceId===A),c[0]=A,c[1]=N.data?.devices,c[2]=V):V=c[2];const z=V;let F;c[3]!==B?(F=P.find(e=>e.key===B)??P[1],c[3]=B,c[4]=F):F=c[4];const W=F;let H;c[5]!==G||c[6]!==W||c[7]!==D?(H=()=>{const e=Date.now()-W.ms;v.default.alert(D("v2.eventsMgmt.pruneConfirmTitle","Prune old events?"),D("v2.eventsMgmt.pruneConfirmBody",{defaultValue:"Delete events older than {{range}} across ALL cameras. This cannot be undone.",range:D(`v2.eventsMgmt.${W.key}`)}),[{text:D("v2.eventsMgmt.cancel","Cancel"),style:"cancel"},{text:D("v2.eventsMgmt.pruneAction","Prune"),style:"destructive",onPress:()=>{G.mutate({olderThanMs:e,reason:"manual"},{onSuccess:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),D("v2.eventsMgmt.pruneResult",{defaultValue:"Deleted {{count}} events.",count:w(e)})),onError:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),e.message)})}}])},c[5]=G,c[6]=W,c[7]=D,c[8]=H):H=c[8];const $=H;let q;c[9]!==R||c[10]!==L||c[11]!==A||c[12]!==D?(q=()=>{v.default.alert(D("v2.eventsMgmt.deleteConfirmTitle","Delete all events?"),D("v2.eventsMgmt.deleteConfirmBody",{defaultValue:"Permanently delete every event for {{name}}. This cannot be undone.",name:R}),[{text:D("v2.eventsMgmt.cancel","Cancel"),style:"cancel"},{text:D("v2.eventsMgmt.deleteAction","Delete"),style:"destructive",onPress:()=>{L.mutate(A,{onSuccess:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),D("v2.eventsMgmt.deleteResult",{defaultValue:"Deleted {{count}} events.",count:w(e)})),onError:e=>v.default.alert(D("v2.eventsMgmt.title","Events"),e.message)})}}])},c[9]=R,c[10]=L,c[11]=A,c[12]=D,c[13]=q):q=c[13];const O=q;let U,X,J,K,Q,Y,Z,ee,te,ne,oe,se,re,le,ae,de,ie,ue,ce,ve,ge,me,fe,ye;c[14]!==I.background?(U={flex:1,backgroundColor:I.background},c[14]=I.background,c[15]=U):U=c[15];c[16]!==I.border?(X=[j.header,{borderBottomColor:I.border}],c[16]=I.border,c[17]=X):X=c[17];c[18]!==I.foreground?(J={color:I.foreground,fontSize:17,fontWeight:"700"},c[18]=I.foreground,c[19]=J):J=c[19];c[20]!==D?(K=D("v2.eventsMgmt.title","Events"),c[20]=D,c[21]=K):K=c[21];c[22]!==J||c[23]!==K?(Q=(0,C.jsx)(l.default,{style:J,children:K}),c[22]=J,c[23]=K,c[24]=Q):Q=c[24];c[25]!==I.foregroundMuted?(Y=(0,C.jsx)(y.X,{size:22,color:I.foregroundMuted}),c[25]=I.foregroundMuted,c[26]=Y):Y=c[26];c[27]!==T||c[28]!==Y?(Z=(0,C.jsx)(d.default,{accessibilityRole:"button",onPress:T,hitSlop:8,children:Y}),c[27]=T,c[28]=Y,c[29]=Z):Z=c[29];c[30]!==Z||c[31]!==X||c[32]!==Q?(ee=(0,C.jsxs)(s.default,{style:X,children:[Q,Z]}),c[30]=Z,c[31]=X,c[32]=Q,c[33]=ee):ee=c[33];c[34]===Symbol.for("react.memo_cache_sentinel")?(te={padding:p.SPACING.xl,gap:p.SPACING["2xl"],paddingBottom:p.SPACING["3xl"]},c[34]=te):te=c[34];c[35]!==D?(ne=D("v2.eventsMgmt.footprintTitle","Footprint"),c[35]=D,c[36]=ne):ne=c[36];c[37]!==z?.bytes||c[38]!==z?.rows||c[39]!==N.isLoading||c[40]!==D?(oe=N.isLoading?"\u2026":D("v2.eventsMgmt.rowsBytes",{defaultValue:"{{rows}} events \xb7 {{bytes}}",rows:z?.rows??0,bytes:(0,x.formatBytes)(z?.bytes??0)}),c[37]=z?.bytes,c[38]=z?.rows,c[39]=N.isLoading,c[40]=D,c[41]=oe):oe=c[41];c[42]!==R||c[43]!==oe?(se=(0,C.jsx)(M.Row,{label:R,value:oe,icon:y.ListTree}),c[42]=R,c[43]=oe,c[44]=se):se=c[44];c[45]!==D?(re=D("v2.eventsMgmt.clusterTotal","Cluster total"),c[45]=D,c[46]=re):re=c[46];c[47]!==N.data?.totalBytes||c[48]!==N.data?.totalRows||c[49]!==N.isLoading||c[50]!==D?(le=N.isLoading?"\u2026":D("v2.eventsMgmt.rowsBytes",{defaultValue:"{{rows}} events \xb7 {{bytes}}",rows:N.data?.totalRows??0,bytes:(0,x.formatBytes)(N.data?.totalBytes??0)}),c[47]=N.data?.totalBytes,c[48]=N.data?.totalRows,c[49]=N.isLoading,c[50]=D,c[51]=le):le=c[51];c[52]!==re||c[53]!==le?(ae=(0,C.jsx)(M.Row,{label:re,value:le,last:!0}),c[52]=re,c[53]=le,c[54]=ae):ae=c[54];c[55]!==ne||c[56]!==se||c[57]!==ae?(de=(0,C.jsxs)(h.Section,{title:ne,children:[se,ae]}),c[55]=ne,c[56]=se,c[57]=ae,c[58]=de):de=c[58];c[59]!==D?(ie=D("v2.eventsMgmt.pruneTitle","Prune older than"),c[59]=D,c[60]=ie):ie=c[60];c[61]!==I.background||c[62]!==I.border||c[63]!==I.foregroundMuted||c[64]!==I.primary||c[65]!==I.primaryForeground||c[66]!==B||c[67]!==D?(ue=P.map(e=>{const t=e.key===B;return(0,C.jsx)(d.default,{accessibilityRole:"button",accessibilityState:{selected:t},onPress:()=>E(e.key),style:[j.chip,{backgroundColor:t?I.primary:I.background,borderColor:t?I.primary:I.border}],children:(0,C.jsx)(l.default,{style:{color:t?I.primaryForeground:I.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:D(`v2.eventsMgmt.${e.key}`)})},e.key)}),c[61]=I.background,c[62]=I.border,c[63]=I.foregroundMuted,c[64]=I.primary,c[65]=I.primaryForeground,c[66]=B,c[67]=D,c[68]=ue):ue=c[68];c[69]!==ue?(ce=(0,C.jsx)(s.default,{style:j.chipRow,children:ue}),c[69]=ue,c[70]=ce):ce=c[70];c[71]!==I.foregroundSubtle?(ve=[j.hint,{color:I.foregroundSubtle}],c[71]=I.foregroundSubtle,c[72]=ve):ve=c[72];c[73]!==D?(ge=D("v2.eventsMgmt.pruneHint","Applies to all cameras."),c[73]=D,c[74]=ge):ge=c[74];c[75]!==ve||c[76]!==ge?(me=(0,C.jsx)(l.default,{style:ve,children:ge}),c[75]=ve,c[76]=ge,c[77]=me):me=c[77];c[78]!==ce||c[79]!==me?(fe=(0,C.jsxs)(s.default,{style:j.block,children:[ce,me]}),c[78]=ce,c[79]=me,c[80]=fe):fe=c[80];c[81]!==D?(ye=D("v2.eventsMgmt.pruneAction","Prune"),c[81]=D,c[82]=ye):ye=c[82];const be=_?void 0:$;let pe,he,Me,xe;c[83]!==ye||c[84]!==be?(pe=(0,C.jsx)(M.Row,{label:ye,icon:y.Timer,danger:!0,onPress:be,last:!0}),c[83]=ye,c[84]=be,c[85]=pe):pe=c[85];c[86]!==ie||c[87]!==fe||c[88]!==pe?(he=(0,C.jsxs)(h.Section,{title:ie,children:[fe,pe]}),c[86]=ie,c[87]=fe,c[88]=pe,c[89]=he):he=c[89];c[90]!==D?(Me=D("v2.eventsMgmt.deleteTitle","Delete camera events"),c[90]=D,c[91]=Me):Me=c[91];c[92]!==D?(xe=D("v2.eventsMgmt.deleteAction","Delete all events for this camera"),c[92]=D,c[93]=xe):xe=c[93];const Se=_?void 0:O;let Ce,Pe,we,je,ke;c[94]!==xe||c[95]!==Se?(Ce=(0,C.jsx)(M.Row,{label:xe,icon:y.Trash2,danger:!0,onPress:Se,last:!0}),c[94]=xe,c[95]=Se,c[96]=Ce):Ce=c[96];c[97]!==Me||c[98]!==Ce?(Pe=(0,C.jsx)(h.Section,{title:Me,children:Ce}),c[97]=Me,c[98]=Ce,c[99]=Pe):Pe=c[99];c[100]!==de||c[101]!==he||c[102]!==Pe?(we=(0,C.jsxs)(u.default,{contentContainerStyle:te,children:[de,he,Pe]}),c[100]=de,c[101]=he,c[102]=Pe,c[103]=we):we=c[103];c[104]!==ee||c[105]!==we||c[106]!==U?(je=(0,C.jsxs)(s.default,{style:U,children:[ee,we]}),c[104]=ee,c[105]=we,c[106]=U,c[107]=je):je=c[107];c[108]!==T||c[109]!==je||c[110]!==k?(ke=(0,C.jsx)(o.default,{visible:k,animationType:"slide",presentationStyle:"pageSheet",onRequestClose:T,children:je}),c[108]=T,c[109]=je,c[110]=k,c[111]=ke):ke=c[111];return ke};var t=r(_d[0]),n=r(_d[1]),o=e(r(_d[2])),s=e(r(_d[3])),l=e(r(_d[4])),d=e(r(_d[5])),u=e(r(_d[6])),c=e(r(_d[7])),v=e(r(_d[8])),f=r(_d[9]),y=r(_d[10]),b=r(_d[11]),p=r(_d[12]),h=r(_d[13]),M=r(_d[14]),x=r(_d[15]),S=r(_d[16]),C=r(_d[17]);const P=[{key:'older24h',ms:864e5},{key:'older7d',ms:6048e5},{key:'older30d',ms:2592e6}];function w(e){return e.motion+e.object+e.audio}const j=c.default.create({header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',padding:p.SPACING.xl,borderBottomWidth:1},block:{padding:p.SPACING.xl,gap:p.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:p.SPACING.md},chip:{paddingHorizontal:p.SPACING.lg,paddingVertical:p.SPACING.md,borderRadius:p.RADIUS.lg,borderWidth:1},hint:{fontSize:12}})},3497,[15,17,245,20,112,252,147,33,133,786,813,2587,2589,3173,3417,3492,3496,10]);
15919
+ __d(function(g,_r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.StreamStatsOverlay=function(t){const n=(0,e.c)(55),{getStats:b}=t,{t:h}=(0,r.useTranslation)(),[y,j]=(0,l.useState)(null);let S,x,k,w,z,_,W,M;n[0]!==b?(S=()=>{let t=!0;const e=async()=>{const e=await b().catch(p);t&&j(e)};e();const l=setInterval(()=>{e()},u);return()=>{t=!1,clearInterval(l)}},x=[b],n[0]=b,n[1]=S,n[2]=x):(S=n[1],x=n[2]);if((0,l.useEffect)(S,x),n[3]!==y||n[4]!==h){if(k=[],y){if(y.resolution){let t,e;n[6]!==h?(t=h("v2.stats.resolution"),n[6]=h,n[7]=t):t=n[7],n[8]!==y.resolution||n[9]!==t?(e={label:t,value:y.resolution},n[8]=y.resolution,n[9]=t,n[10]=e):e=n[10],k.push(e)}if(void 0!==y.fps){let t;n[11]!==h?(t=h("v2.stats.fps"),n[11]=h,n[12]=t):t=n[12];const e=String(y.fps);let l;n[13]!==t||n[14]!==e?(l={label:t,value:e},n[13]=t,n[14]=e,n[15]=l):l=n[15],k.push(l)}if(void 0!==y.bitrateKbps){let t;n[16]!==h?(t=h("v2.stats.bitrate"),n[16]=h,n[17]=t):t=n[17];const e=`${y.bitrateKbps} kbps`;let l;n[18]!==t||n[19]!==e?(l={label:t,value:e},n[18]=t,n[19]=e,n[20]=l):l=n[20],k.push(l)}if(void 0!==y.packetsLost){let t;n[21]!==h?(t=h("v2.stats.packetLoss"),n[21]=h,n[22]=t):t=n[22];const e=String(y.packetsLost);let l;n[23]!==t||n[24]!==e?(l={label:t,value:e},n[23]=t,n[24]=e,n[25]=l):l=n[25],k.push(l)}if(void 0!==y.jitterMs){let t;n[26]!==h?(t=h("v2.stats.jitter"),n[26]=h,n[27]=t):t=n[27];const e=`${y.jitterMs} ms`;let l;n[28]!==t||n[29]!==e?(l={label:t,value:e},n[28]=t,n[29]=e,n[30]=l):l=n[30],k.push(l)}if(y.codec){let t,e;n[31]!==h?(t=h("v2.stats.codec"),n[31]=h,n[32]=t):t=n[32],n[33]!==y.codec||n[34]!==t?(e={label:t,value:y.codec},n[33]=y.codec,n[34]=t,n[35]=e):e=n[35],k.push(e)}if("playback"===y.source&&(void 0!==y.dropped||void 0!==y.total)){let t;n[36]!==h?(t=h("v2.stats.frames"),n[36]=h,n[37]=t):t=n[37];const e=`${y.dropped??0}/${y.total??0}`;let l;n[38]!==t||n[39]!==e?(l={label:t,value:e},n[38]=t,n[39]=e,n[40]=l):l=n[40],k.push(l)}}n[3]=y,n[4]=h,n[5]=k}else k=n[5];n[41]!==h?(w=h("v2.stats.title"),n[41]=h,n[42]=w):w=n[42];n[43]!==w?(z=(0,c.jsx)(o.default,{style:v.title,children:w}),n[43]=w,n[44]=z):z=n[44];n[45]!==k||n[46]!==h?(_=0===k.length?(0,c.jsx)(o.default,{style:v.dim,children:h("v2.stats.waiting")}):k.map(f),n[45]=k,n[46]=h,n[47]=_):_=n[47];n[48]!==y?.source||n[49]!==h?(W="playback"===y?.source?(0,c.jsx)(o.default,{style:v.hint,children:h("v2.stats.playbackHint")}):null,n[48]=y?.source,n[49]=h,n[50]=W):W=n[50];n[51]!==z||n[52]!==_||n[53]!==W?(M=(0,c.jsxs)(s.default,{style:v.panel,pointerEvents:"none",children:[z,_,W]}),n[51]=z,n[52]=_,n[53]=W,n[54]=M):M=n[54];return M};var e=_r(d[0]),l=_r(d[1]),s=t(_r(d[2])),o=t(_r(d[3])),n=t(_r(d[4])),r=_r(d[5]),c=_r(d[6]);const u=1e3;function f(t){return(0,c.jsxs)(s.default,{style:v.row,children:[(0,c.jsx)(o.default,{style:v.label,children:t.label}),(0,c.jsx)(o.default,{style:v.value,children:t.value})]},t.label)}function p(){return null}const v=n.default.create({panel:{position:'absolute',top:36,left:8,minWidth:150,maxWidth:220,paddingHorizontal:10,paddingVertical:8,borderRadius:8,backgroundColor:'#000000b3'},title:{color:'#f59e42',fontSize:10,fontWeight:'800',letterSpacing:.5,marginBottom:4,textTransform:'uppercase'},row:{flexDirection:'row',justifyContent:'space-between',gap:12,paddingVertical:1},label:{color:'#a8a29e',fontSize:11},value:{color:'#fafaf9',fontSize:11,fontWeight:'600',fontVariant:['tabular-nums']},dim:{color:'#a8a29e',fontSize:11},hint:{color:'#78716c',fontSize:9,marginTop:4,maxWidth:200}})},3498,[15,17,20,112,33,786,10]);
15920
+ __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.MotionBoxesOverlay=function(e){const u=(0,t.c)(8),{deviceId:x,enabled:y}=e,{boxes:w}=(0,h.useDetections)(x,y);let S;u[0]===Symbol.for("react.memo_cache_sentinel")?(S={width:0,height:0},u[0]=S):S=u[0];const[_,p]=(0,l.useState)(S);let v;u[1]===Symbol.for("react.memo_cache_sentinel")?(v=e=>{const{width:t,height:l}=e.nativeEvent.layout;p(e=>e.width===t&&e.height===l?e:{width:t,height:l})},u[1]=v):v=u[1];const j=v;let M,$;u[2]!==w||u[3]!==_.height||u[4]!==_.width?(M=_.width>0&&_.height>0?w.map((e,t)=>{const l=e.x1*_.width,s=e.y1*_.height,h=(e.x2-e.x1)*_.width,u=(e.y2-e.y1)*_.height;if(h<=0||u<=0)return null;const x=(0,c.getClassColor)(e.label),y=Math.round(100*e.score),w=void 0!==e.name?`${e.name} ${y}%`:`${e.label} ${y}%`,S=`${e.label}-${t}`,p=Math.max(24,_.width-l);return(0,f.jsxs)(o.default.Fragment,{children:[(0,f.jsx)(i.default,{style:[b.box,e.detail?b.detailBox:null,{borderColor:x,left:l,top:s,width:h,height:u}]}),(0,f.jsx)(i.default,{style:[b.label,{backgroundColor:x,left:l,top:Math.max(0,s-18),maxWidth:p}],children:(0,f.jsx)(n.default,{style:b.labelText,numberOfLines:1,adjustsFontSizeToFit:!0,minimumFontScale:.6,children:w})})]},S)}):null,u[2]=w,u[3]=_.height,u[4]=_.width,u[5]=M):M=u[5];u[6]!==M?($=(0,f.jsx)(i.default,{style:s.default.absoluteFill,pointerEvents:"none",onLayout:j,children:M}),u[6]=M,u[7]=$):$=u[7];return $};var t=r(d[0]),l=r(d[1]),o=e(l),i=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),h=r(d[5]),u=r(d[6]),c=r(d[7]),f=r(d[8]);const b=s.default.create({box:{position:'absolute',borderWidth:2,borderRadius:u.RADIUS.sm},detailBox:{borderWidth:1,borderStyle:'dashed'},label:{position:'absolute',alignSelf:'flex-start',paddingHorizontal:5,paddingVertical:1,borderRadius:u.RADIUS.sm},labelText:{fontSize:10,fontWeight:'700',color:'#ffffff'}})},3499,[15,17,20,112,33,3385,2589,3232,10]);
15921
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.AudioLevelMeter=function(e){const o=(0,t.c)(20),{deviceId:l,position:b}=e,{colors:h}=(0,s.useTheme)(),C="off"!==b,P=(0,c.useAudioLevel)(l,C),p=(0,u.dbfsToLevel)(P);if(!C)return null;let v;o[0]!==h.danger||o[1]!==h.success||o[2]!==h.warning?(v=e=>e>=u.AUDIO_LEVEL_STEPS-1?h.danger:e>=u.AUDIO_LEVEL_STEPS-2?h.warning:h.success,o[0]=h.danger,o[1]=h.success,o[2]=h.warning,o[3]=v):v=o[3];const G=v;let N,_;o[4]!==b?(N=A(b),o[4]=b,o[5]=N):N=o[5];o[6]!==N?(_=[S.anchor,N],o[6]=N,o[7]=_):_=o[7];const D=`${h.background}B3`;let E,L,x,y;o[8]!==D?(E=[S.meter,{backgroundColor:D}],o[8]=D,o[9]=E):E=o[9];o[10]!==h.foregroundDisabled||o[11]!==p||o[12]!==G?(L=I.map((e,t)=>{const o=t<p;return(0,f.jsx)(n.default,{style:[S.segment,{height:e,backgroundColor:o?G(t):h.foregroundDisabled,opacity:o?1:.35}]},t)}),o[10]=h.foregroundDisabled,o[11]=p,o[12]=G,o[13]=L):L=o[13];o[14]!==E||o[15]!==L?(x=(0,f.jsx)(n.default,{style:E,children:L}),o[14]=E,o[15]=L,o[16]=x):x=o[16];o[17]!==_||o[18]!==x?(y=(0,f.jsx)(n.default,{style:_,pointerEvents:"none",children:x}),o[17]=_,o[18]=x,o[19]=y):y=o[19];return y};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),s=r(d[4]),l=r(d[5]),c=r(d[6]),u=r(d[7]),f=r(d[8]);const I=[10,14,18,22,26];function A(e){const t=(0,u.anchorBands)(e);if(null===t)return{};const n={};return'top'===t.vertical?n.top=l.SPACING.md:'bottom'===t.vertical?n.bottom=l.SPACING.md:(n.top=l.SPACING.md,n.bottom=l.SPACING.md,n.justifyContent='center'),'left'===t.horizontal?n.left=l.SPACING.md:'right'===t.horizontal?n.right=l.SPACING.md:(n.left=l.SPACING.md,n.right=l.SPACING.md,n.alignItems='center'),n}const S=o.default.create({anchor:{position:'absolute'},meter:{flexDirection:'row',alignItems:'flex-end',gap:3,paddingHorizontal:l.SPACING.sm,paddingVertical:l.SPACING.xs,borderRadius:l.RADIUS.md},segment:{width:4,borderRadius:2}})},3500,[15,17,20,33,2587,2589,3501,3502,10]);
15922
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AUDIO_CATEGORY",{enumerable:!0,get:function(){return c}}),e.parseAudioEvent=s,e.useAudioLevel=function(o,l){const f=(0,t.c)(6),{controller:b,state:v}=(0,u.useConnection)(),[I,y]=(0,n.useState)(null);let p,A;f[0]!==v||f[1]!==b||f[2]!==o||f[3]!==l?(p=()=>{if(!l||"connected"!==v)return void y(null);const t=b.getSystem();if(!t)return;const n=t.subscribeEvent(c,t=>{const n=s(t);n&&n.deviceId===o&&y(n.dbfs)});return()=>{n(),y(null)}},A=[b,v,o,l],f[0]=v,f[1]=b,f[2]=o,f[3]=l,f[4]=p,f[5]=A):(p=f[4],A=f[5]);return(0,n.useEffect)(p,A),I},e.useAudioActive=function(o,l,f){const b=(0,t.c)(7),{controller:v,state:I}=(0,u.useConnection)(),[y,p]=(0,n.useState)(!1);let A,E;b[0]!==I||b[1]!==v||b[2]!==f||b[3]!==o||b[4]!==l?(A=()=>{if("off"===l||"connected"!==I)return void p(!1);const t=v.getSystem();if(!t)return;const n=t.subscribeEvent(c,t=>{const n=s(t);if(!n||n.deviceId!==o)return;const u="sensor"===l?n.hasDetection:(n.dbfs??Number.NEGATIVE_INFINITY)>=f;p(u)});return()=>{n(),p(!1)}},E=[v,I,o,l,f],b[0]=I,b[1]=v,b[2]=f,b[3]=o,b[4]=l,b[5]=A,b[6]=E):(A=b[5],E=b[6]);return(0,n.useEffect)(A,E),y};var t=r(d[0]),n=r(d[1]),u=r(d[2]);const c='pipeline.audio-inference-result';function o(t){return'object'==typeof t&&null!==t}function s(t){if(!o(t))return null;const n=t.data;if(!o(n))return null;const u=n.frame;if(!o(u))return null;const c='number'==typeof n.deviceId?n.deviceId:'number'==typeof u.deviceId?u.deviceId:null;if(null===c)return null;const s=u.level,l=o(s)&&'number'==typeof s.dbfs?s.dbfs:null,f=u.detections;return{deviceId:c,dbfs:l,hasDetection:Array.isArray(f)&&f.length>0}}},3501,[15,17,2594]);
15923
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AUDIO_LEVEL_THRESHOLDS_DBFS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AUDIO_LEVEL_STEPS",{enumerable:!0,get:function(){return n}}),e.dbfsToLevel=function(n){if(null===n||!Number.isFinite(n))return 0;let o=0;for(const c of t)n>=c&&(o+=1);return o},Object.defineProperty(e,"AUDIO_METER_POSITIONS",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"DEFAULT_AUDIO_METER_POSITION",{enumerable:!0,get:function(){return c}}),e.anchorBands=function(t){if('off'===t)return null;const n=t.split('-'),o=n.includes('top')?'top':n.includes('bottom')?'bottom':'center',c=n.includes('left')?'left':n.includes('right')?'right':'center';return{vertical:o,horizontal:c}};const t=[-50,-40,-30,-20,-10],n=t.length;const o=['top-left','top-center','top-right','left-center','right-center','bottom-left','bottom-center','bottom-right'],c='bottom-right'},3502,[]);
15924
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ZoneDrawOverlay",{enumerable:!0,get:function(){return S}});var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),h=r(d[7]),b=r(d[8]),f=r(d[9]),y=r(d[10]);const p='#ffffff',x='rgba(0, 0, 0, 0.55)',S=(0,n.memo)(function(e){const b=(0,t.c)(61),{zone:p,onConfirm:x,onCancel:S}=e,{t:_}=(0,u.useTranslation)(),{colors:R}=(0,h.useTheme)();let P;b[0]===Symbol.for("react.memo_cache_sentinel")?(P={width:0,height:0},b[0]=P):P=b[0];const[j,I]=(0,n.useState)(P),[z,A]=(0,n.useState)(p);let G;b[1]===Symbol.for("react.memo_cache_sentinel")?(G={x:0,y:0},b[1]=G):G=b[1];const E=(0,n.useRef)(G);let N;b[2]===Symbol.for("react.memo_cache_sentinel")?(N=e=>{const{width:t,height:n}=e.nativeEvent.layout;I({width:t,height:n})},b[2]=N):N=b[2];const T=N;let W;b[3]===Symbol.for("react.memo_cache_sentinel")?(W=e=>{E.current={x:e.nativeEvent.locationX,y:e.nativeEvent.locationY}},b[3]=W):W=b[3];const D=W;let k;b[4]!==j.height||b[5]!==j.width?(k=e=>{const t=(0,f.dragToRect)(E.current.x,E.current.y,e.nativeEvent.locationX,e.nativeEvent.locationY,j.width,j.height);null!==t&&A(t)},b[4]=j.height,b[5]=j.width,b[6]=k):k=b[6];const M=k;let U;b[7]!==z?(U=null!==z&&(0,f.isZoneUsable)(z),b[7]=z,b[8]=U):U=b[8];const H=U;let O;b[9]!==z||b[10]!==x?(O=()=>{null!==z&&(0,f.isZoneUsable)(z)&&x(z)},b[9]=z,b[10]=x,b[11]=O):O=b[11];const Z=O;let F,V,X,Y,L,$,q,B;b[12]===Symbol.for("react.memo_cache_sentinel")?(F=[c.default.absoluteFill,v.container],b[12]=F):F=b[12],b[13]!==_?(V=_("v2.theater.zoneHint"),b[13]=_,b[14]=V):V=b[14],b[15]!==V?(X=(0,y.jsx)(o.default,{style:v.hintWrap,pointerEvents:"none",children:(0,y.jsx)(o.default,{style:v.hintPill,children:(0,y.jsx)(l.default,{style:v.hintText,children:V})})}),b[15]=V,b[16]=X):X=b[16],b[17]!==j.height||b[18]!==j.width||b[19]!==R||b[20]!==z?(Y=null!==z&&j.width>0?(0,y.jsx)(o.default,{pointerEvents:"none",style:[v.zoneRect,{borderColor:R.warning,backgroundColor:`${R.warning}26`,left:z.x*j.width,top:z.y*j.height,width:z.w*j.width,height:z.h*j.height}]}):null,b[17]=j.height,b[18]=j.width,b[19]=R,b[20]=z,b[21]=Y):Y=b[21],b[22]!==_?(L=_("v2.theater.zoneCancel"),b[22]=_,b[23]=L):L=b[23],b[24]!==L?($=(0,y.jsx)(l.default,{style:v.buttonText,children:L}),b[24]=L,b[25]=$):$=b[25],b[26]!==S||b[27]!==$?(q=(0,y.jsx)(s.default,{style:v.button,onPress:S,accessibilityRole:"button",children:$}),b[26]=S,b[27]=$,b[28]=q):q=b[28],b[29]!==R||b[30]!==H?(B=H&&{backgroundColor:R.primary,borderColor:R.primary},b[29]=R,b[30]=H,b[31]=B):B=b[31];const J=!H&&v.buttonDisabled;let K;b[32]!==B||b[33]!==J?(K=[v.button,B,J],b[32]=B,b[33]=J,b[34]=K):K=b[34];const Q=!H,ee=!H;let te,ne,oe,ie,re,le,ae,se;return b[35]!==ee?(te={disabled:ee},b[35]=ee,b[36]=te):te=b[36],b[37]!==R||b[38]!==H?(ne=H&&{color:R.primaryForeground},b[37]=R,b[38]=H,b[39]=ne):ne=b[39],b[40]!==ne?(oe=[v.buttonText,ne],b[40]=ne,b[41]=oe):oe=b[41],b[42]!==_?(ie=_("v2.theater.zoneConfirm"),b[42]=_,b[43]=ie):ie=b[43],b[44]!==oe||b[45]!==ie?(re=(0,y.jsx)(l.default,{style:oe,children:ie}),b[44]=oe,b[45]=ie,b[46]=re):re=b[46],b[47]!==Z||b[48]!==K||b[49]!==Q||b[50]!==te||b[51]!==re?(le=(0,y.jsx)(s.default,{style:K,onPress:Z,disabled:Q,accessibilityRole:"button",accessibilityState:te,children:re}),b[47]=Z,b[48]=K,b[49]=Q,b[50]=te,b[51]=re,b[52]=le):le=b[52],b[53]!==q||b[54]!==le?(ae=(0,y.jsxs)(o.default,{style:v.actions,pointerEvents:"box-none",children:[q,le]}),b[53]=q,b[54]=le,b[55]=ae):ae=b[55],b[56]!==M||b[57]!==X||b[58]!==Y||b[59]!==ae?(se=(0,y.jsxs)(o.default,{style:F,onLayout:T,onStartShouldSetResponder:C,onMoveShouldSetResponder:w,onResponderGrant:D,onResponderMove:M,children:[X,Y,ae]}),b[56]=M,b[57]=X,b[58]=Y,b[59]=ae,b[60]=se):se=b[60],se}),v=c.default.create({container:{zIndex:60,backgroundColor:'rgba(0, 0, 0, 0.25)'},hintWrap:{position:'absolute',top:b.SPACING.md,left:0,right:0,alignItems:'center'},hintPill:{backgroundColor:x,paddingHorizontal:b.SPACING.md,paddingVertical:b.SPACING.xs+2,borderRadius:b.RADIUS.lg,maxWidth:'90%'},hintText:{color:p,fontSize:11,fontWeight:'600',textAlign:'center'},zoneRect:{position:'absolute',borderWidth:2,borderRadius:2},actions:{position:'absolute',right:b.SPACING.md,bottom:b.SPACING.md,flexDirection:'row',gap:b.SPACING.md},button:{backgroundColor:x,borderColor:'rgba(255, 255, 255, 0.35)',borderWidth:1,paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.sm+2,borderRadius:b.RADIUS.lg},buttonDisabled:{opacity:.5},buttonText:{color:p,fontSize:12,fontWeight:'700'}});function C(){return!0}function w(){return!0}},3503,[15,17,20,112,252,33,786,2587,2589,3504,10]);
15925
+ __d(function(g,r,i,_a,m,_e,d){"use strict";function n(n,t){return n.x<t.x+t.w&&t.x<n.x+n.w&&n.y<t.y+t.h&&t.y<n.y+n.h}function t(n,t){return t.w<=0||t.h<=0?null:{x:n.x/t.w,y:n.y/t.h,w:n.w/t.w,h:n.h/t.h}}function e(n){let t=0,e=0;for(const o of n)for(const n of o)n.x+n.w>t&&(t=n.x+n.w),n.y+n.h>e&&(e=n.y+n.h);return t>0&&e>0?{w:t,h:e}:null}function o(n){return'object'==typeof n&&null!==n&&!Array.isArray(n)}function u(n){if(!o(n))return null;const{x:t,y:e,w:u,h:f}=n;return'number'!=typeof t||'number'!=typeof e||'number'!=typeof u||'number'!=typeof f?null:u>0&&f>0?{x:t,y:e,w:u,h:f}:null}function f(e,o,u){if(void 0===e||0===e.length)return!0;for(const f of e){const e=t(f,o);if(null!==e&&n(e,u))return!0}return!1}Object.defineProperty(_e,'__esModule',{value:!0}),_e.rectsIntersect=n,_e.normalizeRect=t,_e.estimateFrameSize=e,_e.parsePositionBoxes=function(n){if(!o(n)||!Array.isArray(n.positions))return[];const t=[];for(const e of n.positions){if(!o(e))continue;const n=u(e.bbox);null!==n&&t.push(n)}return t},_e.trackMatchesZone=f,_e.filterEventsByZone=function(n,t){if(null===t)return n;const o=e(n.map(n=>n.positionBoxes??[]));return null===o?n:n.filter(n=>f(n.positionBoxes,o,t))},Object.defineProperty(_e,"MIN_ZONE_FRACTION",{enumerable:!0,get:function(){return s}}),_e.dragToRect=function(n,t,e,o,u,f){if(u<=0||f<=0)return null;const s=n=>Math.min(1,Math.max(0,n)),c=s(Math.min(n,e)/u),l=s(Math.min(t,o)/f),a=s(Math.max(n,e)/u),h=s(Math.max(t,o)/f);return{x:c,y:l,w:a-c,h:h-l}},_e.isZoneUsable=function(n){return n.w>=s&&n.h>=s};const s=.02},3504,[]);
15926
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ZoneActiveOverlay",{enumerable:!0,get:function(){return u}});var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),h=e(r(d[3])),l=r(d[4]),c=r(d[5]);const u=(0,o.memo)(function(e){const u=(0,t.c)(9),{zone:f}=e,{colors:w}=(0,l.useTheme)();let b;u[0]===Symbol.for("react.memo_cache_sentinel")?(b={width:0,height:0},u[0]=b):b=u[0];const[y,_]=(0,o.useState)(b);let v;u[1]===Symbol.for("react.memo_cache_sentinel")?(v=e=>{const{width:t,height:o}=e.nativeEvent.layout;_({width:t,height:o})},u[1]=v):v=u[1];const p=v;let j,x;return u[2]!==y.height||u[3]!==y.width||u[4]!==w||u[5]!==f?(j=y.width>0&&y.height>0?(0,c.jsx)(n.default,{style:[s.zoneRect,{borderColor:w.warning,backgroundColor:`${w.warning}14`,left:f.x*y.width,top:f.y*y.height,width:f.w*y.width,height:f.h*y.height}]}):null,u[2]=y.height,u[3]=y.width,u[4]=w,u[5]=f,u[6]=j):j=u[6],u[7]!==j?(x=(0,c.jsx)(n.default,{style:h.default.absoluteFill,onLayout:p,pointerEvents:"none",children:j}),u[7]=j,u[8]=x):x=u[8],x}),s=h.default.create({zoneRect:{position:'absolute',borderWidth:1.5,borderRadius:2}})},3505,[15,17,20,33,2587,10]);
15927
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.serializeAdhocDeviceIds=function(t){return t.filter(t=>Number.isInteger(t)&&t>0).join(',')},e.parseAdhocDeviceIds=function(t){if(void 0===t)return[];const n='string'==typeof t?t:t.join(','),o=new Set,s=[];for(const t of n.split(',')){const n=Number(t.trim());Number.isInteger(n)&&n>0&&!o.has(n)&&(o.add(n),s.push(n))}return s}},3506,[]);
15928
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TheaterTimeline",{enumerable:!0,get:function(){return X}});var t=r(_d[0]),o=e(r(_d[1])),n=e(r(_d[2])),s=e(r(_d[3])),l=e(r(_d[4])),c=r(_d[5]),u=r(_d[6]),d=r(_d[7]),f=r(_d[8]),h=r(_d[9]),p=r(_d[10]),v=r(_d[11]),b=r(_d[12]),C=r(_d[13]),M=r(_d[14]),T=r(_d[15]),I=r(_d[16]),S=r(_d[17]),x=r(_d[18]),y=r(_d[19]),P=r(_d[20]),k=r(_d[21]),D=r(_d[22]),L=r(_d[23]),E=r(_d[24]),w=r(_d[25]),A=r(_d[26]),O=r(_d[27]),R=r(_d[28]),j=r(_d[29]),z=r(_d[30]),B=r(_d[31]),F=r(_d[32]),_=r(_d[33]),W=r(_d[34]),K=r(_d[35]),N=r(_d[36]),Z=r(_d[37]),H=r(_d[38]),G=r(_d[39]);const q=864e5,V=h.SPACING.lg+36+h.SPACING.md,U='#ffffff',X=(0,t.memo)(function(e){const{t:s}=(0,c.useTranslation)(),{colors:X}=(0,f.useTheme)(),Q=(0,u.useSafeAreaInsets)(),[$,J]=(0,t.useState)(()=>Date.now());(0,t.useEffect)(()=>{const e=setInterval(()=>J(Date.now()),1e3);return()=>clearInterval(e)},[]);const ee=(0,B.useSettings)().settings.clusters,[te,oe]=(0,t.useState)(T.DEFAULT_ZOOM_INDEX),ne=te<T.ZOOM_LEVELS.length-1,re=te>0,ae=(0,t.useCallback)(()=>oe(e=>(0,T.clampZoomIndex)(e+1)),[]),ie=(0,t.useCallback)(()=>oe(e=>(0,T.clampZoomIndex)(e-1)),[]),[se,le]=(0,t.useState)(0),[ce,ue]=(0,t.useState)(0),[de,me]=(0,t.useState)(0),ge=(0,t.useCallback)(e=>{const{height:t,width:o}=e.nativeEvent.layout;t>0&&ue(t),o>0&&me(o)},[]),fe=(0,t.useMemo)(()=>(0,x.indicatorOffsetPx)(ce,x.FIXED_INDICATOR_POSITION_PCT),[ce]),he=(0,t.useRef)(fe),pe=(0,t.useRef)(ce);(0,t.useEffect)(()=>{he.current=fe,pe.current=ce},[fe,ce]);const ve=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.timelineKinds),be=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.timelineClasses),Ce=(0,F.useCameraPrefsStore)(e=>e.setCameraTimelineKinds),Me=(0,F.useCameraPrefsStore)(e=>e.setCameraTimelineClasses),Te=(0,F.useCameraPrefsStore)(e=>e.toggleCameraTimelineKind),Ie=(0,F.useCameraPrefsStore)(e=>e.toggleCameraTimelineClass),Se=(0,F.useCameraPrefsStore)(e=>e.hydrate);(0,t.useEffect)(()=>{Se()},[Se]);const xe=(0,t.useMemo)(()=>new Set(ve??T.ALL_BAR_KINDS),[ve]),ye=(0,t.useMemo)(()=>new Set(be??[]),[be]),[Pe,ke]=(0,t.useState)(!1),De=!(0,T.isFilterAll)(xe)||ye.size>0,Le=(0,w.useEventKinds)([e.deviceId]),Ee=(0,t.useMemo)(()=>(0,A.classToMacroMap)(Le.data??[]),[Le.data]),we=(0,F.useCameraPrefsStore)(t=>t.prefs.byId[e.deviceId]?.highlight),Ae=(0,t.useMemo)(()=>(0,O.withHighlightDefaults)(we).clusterLabel,[we]),Oe=(0,t.useCallback)(()=>ke(e=>!e),[]),Re=(0,t.useCallback)(()=>{Ce(e.deviceId,[...T.ALL_BAR_KINDS]),Me(e.deviceId,[])},[Ce,Me,e.deviceId]),je=(0,t.useCallback)(t=>Te(e.deviceId,t),[Te,e.deviceId]),ze=(0,t.useCallback)(t=>Ie(e.deviceId,t),[Ie,e.deviceId]),Be=e.zoneRect,Fe=$,We='live'===e.mode,Ke=e.activeEpoch??$,Ne=(0,t.useMemo)(()=>{const e=new Date(Ke);return e.setHours(0,0,0,0),e.getTime()},[Ke]),Ze=(0,t.useMemo)(()=>({from:Ne,to:Ne+q}),[Ne]),[He,Ge]=(0,t.useState)(1),qe=Ne-(He-1)*q,Ve=(0,t.useRef)(1);(0,t.useEffect)(()=>{Ve.current=He},[He]);const Ue=(0,t.useRef)(qe);(0,t.useEffect)(()=>{Ue.current=qe},[qe]);const Xe=(0,t.useRef)(0);(0,t.useEffect)(()=>{Ge(1)},[Ne]);const Ye=(0,t.useMemo)(()=>{const e=new Date($);return e.setHours(0,0,0,0),e.getTime()},[$]),[Qe,$e]=(0,t.useState)(!1),[Je,et]=(0,t.useState)(Ne),{fromMs:tt,toMs:ot}=(0,t.useMemo)(()=>(0,j.monthBoundsForMs)(Je),[Je]),{data:nt}=(0,P.useDaysWithRecordings)(e.deviceId,tt,ot,Qe),rt=e.onSeek,at=(0,t.useCallback)(()=>{rt((0,z.dayAtSameTime)(Ke,Ne-q,$),'timeline')},[rt,Ke,Ne,$]),it=(0,t.useCallback)(()=>{Ne>=Ye||rt((0,z.dayAtSameTime)(Ke,Ne+q,$),'timeline')},[rt,Ke,Ne,Ye,$]),st=(0,t.useCallback)(()=>{et(Ne),$e(!0)},[Ne]),lt=(0,t.useCallback)(e=>{$e(!1),rt((0,z.dayAtSameTime)(Ke,e,$),'timeline')},[rt,Ke,$]),ct=(0,t.useCallback)(e=>{et(t=>{const o=new Date(t);return new Date(o.getFullYear(),o.getMonth()+e,1,0,0,0,0).getTime()})},[]),{data:ut=[]}=(0,_.useDeviceTracks)(e.deviceId,qe,Ze.to),dt=(0,t.useMemo)(()=>{const e=ee.minImportance;return e<=0?ut:ut.filter(t=>(0,W.passesImportanceFilter)(t.importance,e))},[ut,ee.minImportance]),mt=(0,t.useMemo)(()=>{const e=new Set;for(const t of dt)t.className.length>0&&e.add(t.className);return[...(0,A.collapseToMacro)([...e],Ee)].sort()},[dt,Ee]),gt=(0,T.isFilterAll)(xe),ft=(0,t.useMemo)(()=>(0,E.filterEventsByZone)(dt,Be),[dt,Be]),ht=(0,t.useMemo)(()=>(0,L.filterDetectionsByKind)(ft,xe,ye,Ee),[ft,xe,ye,Ee]),pt=(0,K.useTimelineActivity)(e.deviceId,qe,Ze.to),vt=(0,t.useMemo)(()=>de>0?Math.round(de*ee.cardWidthFraction):0,[de,ee.cardWidthFraction]),bt=(0,t.useMemo)(()=>vt>0?Math.round(.5625*vt):0,[vt]),{sizePx:Ct,gapPx:Mt}=(0,t.useMemo)(()=>{const e=Math.max(8,bt);return{sizePx:e,gapPx:ee.gapPercent/100*e}},[bt,ee.gapPercent]),Tt=(0,t.useMemo)(()=>(0,N.clusterByZoom)(ht,{topMs:Fe,zoomIndex:te,sizePx:Ct,gapPx:Mt}),[ht,Fe,te,Ct,Mt]),It=Tt.filter(e=>e.topPx>=se-80-e.heightPx&&e.topPx<=se+ce+80).length;(0,t.useEffect)(()=>{const t=e=>new Date(e).toLocaleTimeString(),o=dt.map(e=>e.timestamp);D.log.info('theater:clusters','render state',{deviceId:e.deviceId,objectEvents:dt.length,objectEventRange:o.length>0?{first:t(Math.min(...o)),last:t(Math.max(...o))}:null,clusters:Tt.length,clusterSpans:Tt.slice(0,8).map(e=>({s:t(e.startMs),e:t(e.endMs),n:e.events.length,topPx:Math.round(e.topPx)})),visibleClusters:It,activity:{recording:pt.recording.length,motion:pt.motion.length,audio:pt.audio.length},geometry:{cardWidth:vt,viewportHeight:ce,listWrapWidth:de,scrollOffsetY:se,sizePx:Ct,gapPx:Mt,zoomIndex:te},dayWindow:Ze})},[e.deviceId,dt,Tt,It,pt.recording.length,pt.motion.length,pt.audio.length,vt,ce,de,se,Ct,Mt,te,Ze]);const{data:St=[]}=(0,P.useRecordingAvailability)(e.deviceId,Ze.from,Ze.to,!0);(0,t.useEffect)(()=>{D.log.info('timeline','coverage',{deviceId:e.deviceId,count:St.length})},[e.deviceId,St.length]);const xt=(0,t.useMemo)(()=>{const t=e.activeEpoch;return null===t?(0,T.heatmapCursorFraction)($):(0,S.epochToDayFraction)(t,Ze.from,Ze.to)},[e.activeEpoch,Ze,$]),yt=(0,t.useRef)(null),[Pt,kt]=(0,t.useState)(null),Dt=(0,t.useRef)(0),Lt=(0,t.useRef)(!1),Et=(0,t.useRef)(null),wt=(0,t.useRef)(null),At=(0,t.useRef)(We);At.current=We;const Ot=(0,t.useRef)(!1),Rt=(0,t.useRef)(0),jt=(0,t.useRef)(null),zt=(0,t.useCallback)(()=>{Ot.current=!1,jt.current&&(clearTimeout(jt.current),jt.current=null)},[]),Bt=(0,t.useCallback)((e,t)=>{Ot.current=!0,Rt.current=e,jt.current&&clearTimeout(jt.current),jt.current=setTimeout(()=>{Ot.current=!1,jt.current=null},500),yt.current?.scrollToOffset({offset:e,animated:t})},[]),Ft=(0,t.useCallback)(t=>{const o=t.nativeEvent.contentOffset.y;le(o);const n=he.current,s=pe.current,l=(0,I.epochToOffset)(Ue.current,Fe,te);if(o>=n+Math.max(s,l)-s-s)if(Ve.current<30)Ge(e=>Math.min(30,e+1));else{const t=Date.now();t-Xe.current>=5e3&&(Xe.current=t,D.log.info('theater','back-scroll capped at MAX_LOOKBACK_DAYS',{deviceId:e.deviceId,days:30}))}if(Ot.current)return void(Math.abs(o-Rt.current)<=2&&zt());const c=Math.round((0,I.offsetToEpoch)(o,Fe,te)),u=Fe-c;if((0,y.atLiveEdge)(u,15e3))return Et.current&&(clearTimeout(Et.current),Et.current=null),wt.current=null,Lt.current=!1,void(At.current||(D.log.debug('theater:live-edge','go-live (scrolled into live edge)',{behindLiveMs:u,epoch:c,topMs:Fe}),e.onGoLive()));Lt.current||(Lt.current=!0,Et.current&&(clearTimeout(Et.current),Et.current=null),e.onScrubBegin('timeline'));const d=Date.now();d-Dt.current<100||(Dt.current=d,wt.current=c,e.onScrubMove(c,'timeline'),Et.current&&clearTimeout(Et.current),Et.current=setTimeout(()=>{Et.current=null;const t=wt.current;null!=t&&(e.onScrubCommit(t,'timeline'),Lt.current=!1)},220))},[Fe,te,e,zt]),_t=(0,t.useCallback)(()=>{Bt(0,!0),e.onGoLive()},[e,Bt]);(0,t.useEffect)(()=>{if('playback'!==e.mode)return;const t=e.activeEpoch;if(null===t)return;const o=(0,I.epochToOffset)(t,Fe,te);Bt(o,!1)},[e.mode,e.activeEpoch,Fe,te,Bt]);const Wt=(0,t.useCallback)(t=>{D.log.info('theater:clusters','tap',{epoch:t.representative.timestamp,topPx:Math.round(t.topPx)}),e.onSeek(t.representative.timestamp,'cluster')},[e]),Kt=(0,t.useCallback)(e=>{kt(e)},[]),Nt=(0,t.useCallback)(t=>{e.onSeek(t,'cluster'),kt(null)},[e]),Zt=(0,t.useCallback)(e=>(0,S.dayFractionToEpoch)(e,Ze.from,Ze.to),[Ze.from,Ze.to]),Ht=(0,t.useCallback)(e=>{const t=Zt(e);D.log.debug('timeline','heatmap seek',{fraction:e,snapped:t}),rt(t,'heatmap')},[Zt,rt]),Gt=e.onScrubBegin,qt=e.onScrubMove,Vt=e.onScrubCommit,Ut=(0,t.useCallback)(()=>Gt('heatmap'),[Gt]),Xt=(0,t.useCallback)(e=>{const t=Zt(e);D.log.debug('timeline','heatmap scrub',{fraction:e,snapped:t}),qt(t,'heatmap')},[Zt,qt]),Yt=(0,t.useCallback)(e=>{const t=Zt(e);D.log.debug('timeline','heatmap scrubEnd',{fraction:e,snapped:t}),Vt(t,'heatmap')},[Zt,Vt]),Qt=gt||xe.has('motion'),$t=gt||xe.has('audio'),Jt=(0,t.useMemo)(()=>Qt?ht:[],[Qt,ht]),eo=(0,t.useMemo)(()=>{const e=(0,L.objectEventsToHeatmapBins)(Jt,Ne);return $t?(0,L.mergeAudioIntoHeatmapBins)(e,pt.audio,Ne):e},[Jt,Ne,$t,pt.audio]),to=(0,t.useMemo)(()=>(0,L.objectEventsToHeatmapHighlights)(Jt,Ne),[Jt,Ne]),oo=(0,t.useMemo)(()=>e.activeEpoch??$,[e.activeEpoch,$]),no=(0,t.useMemo)(()=>new Date(oo).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit',second:'2-digit'}),[oo]);return(0,G.jsxs)(o.default,{style:[Y.container,{backgroundColor:X.background}],children:[(0,G.jsx)(p.TimelineToolbarInline,{onBack:e.onBack,hideBack:e.hideBack,dateLabel:(0,z.dateLabel)(Ne,$,s),onPrevDay:at,onOpenDatePicker:st,onNextDay:it,nextDayDisabled:Ne>=Ye,hasPtz:e.hasPtz,ptzOpen:e.ptzOpen,onTogglePtz:e.onTogglePtz,devicesOpen:e.devicesOpen,onToggleDevices:e.onToggleDevices,menuOpen:e.menuOpen,onToggleMenu:e.onToggleMenu,qualityOpen:e.qualityOpen,onToggleQuality:e.onToggleQuality,qualityLabel:s((0,v.qualityLabelKey)(e.quality)),exportMenuOpen:e.exportMenuOpen,onToggleExportMenu:e.onToggleExportMenu,snapshotBusy:e.snapshotBusy,exportMenuLabel:s('v2.exportActions.title')}),(0,G.jsx)(b.HeatmapBar,{bins:eo,cursorFraction:xt,eventMarkers:to,coverage:St,dayStartMs:Ze.from,dayEndMs:Ze.to,onSeekFraction:Ht,onScrubStart:Ut,onScrubFraction:Xt,onScrubEnd:Yt}),We?(0,G.jsxs)(o.default,{style:[Y.livePill,{backgroundColor:`${X.live}26`}],children:[(0,G.jsx)(o.default,{style:[Y.liveDot,{backgroundColor:X.live}]}),(0,G.jsx)(n.default,{style:[Y.liveText,{color:X.live}],children:s('v2.theater.live')})]}):(0,G.jsxs)(l.default,{style:[Y.goLivePill,{backgroundColor:X.danger}],onPress:_t,accessibilityRole:"button",accessibilityLabel:s('v2.theater.goToLive'),children:[(0,G.jsx)(d.ArrowUp,{size:13,color:U}),(0,G.jsx)(n.default,{style:[Y.goLiveText,{color:U}],children:s('v2.theater.goToLive')})]}),(0,G.jsxs)(o.default,{style:Y.listWrap,onLayout:ge,children:[(0,G.jsx)(H.TimelineScroller,{ref:yt,topMs:Fe,zoomIndex:te,dayWindow:{from:qe,to:Ze.to},clusters:Tt,activity:pt,showMotionLane:Qt,showAudioLane:$t,cardWidth:vt,viewportHeight:ce,indicatorOffsetPx:fe,isLive:We,onScroll:Ft,onClusterPress:Wt,onClusterOpenDetail:Kt,clusterLabel:Ae,eventKinds:Le.data}),ce>0?(0,G.jsxs)(o.default,{style:[Y.indicator,{top:fe}],pointerEvents:"none",children:[(0,G.jsx)(o.default,{style:[Y.indicatorLine,{backgroundColor:We?X.live:X.danger}]}),(0,G.jsx)(o.default,{style:[Y.indicatorPill,{backgroundColor:We?X.live:X.danger}],children:(0,G.jsx)(n.default,{style:[Y.indicatorLabel,h.TABULAR,{color:U}],children:We?s('v2.theater.live'):no})})]}):null,Pe?(0,G.jsx)(M.TimelineFilterPanel,{filter:xe,onToggleKind:je,classes:mt,classFilter:ye,onToggleClass:ze,onReset:Re,eventKinds:Le.data,bottomInset:Q.bottom+V}):null,(0,G.jsx)(C.TimelineFabControls,{onZoomIn:ae,onZoomOut:ie,onFilter:Oe,onZoneFilter:null!==Be?e.onClearZone:e.onRequestZoneDraw,onPickCamera:e.onPickCamera,canZoomIn:ne,canZoomOut:re,filterActive:De,filterOpen:Pe,zoneActive:null!==Be,bottomInset:Q.bottom})]}),(0,G.jsx)(R.DatePickerModal,{visible:Qe,monthAnchorMs:Je,selectedDayMs:Ne,daysSet:nt??new Set,nowMs:$,onChangeMonth:ct,onPick:lt,onClose:()=>$e(!1)}),(0,G.jsx)(Z.ClusterDetailModal,{deviceId:e.deviceId,cluster:Pt,onSeek:Nt,onClose:()=>kt(null),seekAvailable:null===Pt||'absent'!==(0,k.recordingKnownAt)(St,Ze.from,Ze.to,Pt.representative.timestamp)})]})}),Y=s.default.create({container:{flex:1},livePill:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:5},liveDot:{width:6,height:6,borderRadius:3},liveText:{fontSize:11,fontWeight:'700'},goLivePill:{flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:5},goLiveText:{fontSize:11,fontWeight:'700'},listWrap:{flex:1,position:'relative'},indicator:{position:'absolute',left:0,right:0,flexDirection:'row',alignItems:'center',paddingLeft:h.SPACING.md},indicatorLine:{position:'absolute',left:0,right:0,height:1.5},indicatorPill:{paddingHorizontal:h.SPACING.sm,paddingVertical:1,borderRadius:4},indicatorLabel:{fontSize:10,fontWeight:'700',letterSpacing:.3},drawerHandle:{position:'absolute',left:0,top:'50%',marginTop:-16,width:16,height:32,borderTopRightRadius:8,borderBottomRightRadius:8,borderWidth:1,borderLeftWidth:0,alignItems:'center',justifyContent:'center'},scrollIndicatorTrack:{position:'absolute',right:2,top:h.SPACING.lg,bottom:h.SPACING.lg,width:3,alignItems:'center'},scrollIndicatorThumb:{width:3,height:48,borderRadius:2,opacity:.7}})},3507,[17,20,112,33,252,786,466,813,2587,2589,3508,3461,3509,3511,3512,3142,3513,3510,3514,3515,3159,3160,2705,3231,3504,3168,3169,3139,3516,3517,3518,3177,3132,3519,3237,3520,3522,3523,3525,10]);
15929
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineToolbarInline",{enumerable:!0,get:function(){return b}});var o=r(d[0]),n=r(d[1]),t=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=e(r(d[5])),c=e(r(d[6])),p=r(d[7]),f=r(d[8]),y=r(d[9]),x=r(d[10]),h=r(d[11]);const b=(0,n.memo)(function(e){const n=(0,o.c)(109),{t:u}=(0,p.useTranslation)(),{colors:x}=(0,y.useTheme)();let b;n[0]!==x.primary?(b=e=>[P.iconBtn,{backgroundColor:e?x.primary:"transparent"}],n[0]=x.primary,n[1]=b):b=n[1];const O=b;let j;n[2]!==x.foregroundMuted||n[3]!==x.primaryForeground?(j=e=>e?x.primaryForeground:x.foregroundMuted,n[2]=x.foregroundMuted,n[3]=x.primaryForeground,n[4]=j):j=n[4];const z=j;let S,D,M,T,v,C,k,I,B,L,A;n[5]!==x.background||n[6]!==x.border?(S=[P.container,{backgroundColor:x.background,borderBottomColor:x.border}],n[5]=x.background,n[6]=x.border,n[7]=S):S=n[7],n[8]!==x.foreground||n[9]!==e.hideBack||n[10]!==e.onBack||n[11]!==u?(D=e.hideBack?null:(0,h.jsx)(s.default,{style:P.backBtn,onPress:e.onBack,hitSlop:6,accessibilityLabel:u("v2.common.back"),children:(0,h.jsx)(f.ArrowLeft,{size:18,color:x.foreground})}),n[8]=x.foreground,n[9]=e.hideBack,n[10]=e.onBack,n[11]=u,n[12]=D):D=n[12],n[13]!==x.foregroundMuted?(M=(0,h.jsx)(f.ChevronLeft,{size:16,color:x.foregroundMuted}),n[13]=x.foregroundMuted,n[14]=M):M=n[14],n[15]!==e.onPrevDay||n[16]!==M?(T=(0,h.jsx)(s.default,{style:P.dateArrow,onPress:e.onPrevDay,hitSlop:6,children:M}),n[15]=e.onPrevDay,n[16]=M,n[17]=T):T=n[17],n[18]!==x.surface?(v=[P.datePill,{backgroundColor:x.surface}],n[18]=x.surface,n[19]=v):v=n[19],n[20]!==x.foregroundSubtle?(C=(0,h.jsx)(f.Calendar,{size:12,color:x.foregroundSubtle}),n[20]=x.foregroundSubtle,n[21]=C):C=n[21],n[22]!==x.foreground?(k=[P.dateText,{color:x.foreground}],n[22]=x.foreground,n[23]=k):k=n[23],n[24]!==e.dateLabel||n[25]!==k?(I=(0,h.jsx)(l.default,{style:k,children:e.dateLabel}),n[24]=e.dateLabel,n[25]=k,n[26]=I):I=n[26],n[27]!==x.foregroundSubtle?(B=(0,h.jsx)(f.ChevronDown,{size:10,color:x.foregroundSubtle}),n[27]=x.foregroundSubtle,n[28]=B):B=n[28],n[29]!==B||n[30]!==v||n[31]!==C||n[32]!==I?(L=(0,h.jsxs)(t.default,{style:v,children:[C,I,B]}),n[29]=B,n[30]=v,n[31]=C,n[32]=I,n[33]=L):L=n[33],n[34]!==e.onOpenDatePicker||n[35]!==L?(A=(0,h.jsx)(s.default,{onPress:e.onOpenDatePicker,children:L}),n[34]=e.onOpenDatePicker,n[35]=L,n[36]=A):A=n[36];const q=e.nextDayDisabled?x.foregroundSubtle:x.foregroundMuted;let w,N,G,_,R,E;n[37]!==q?(w=(0,h.jsx)(f.ChevronRight,{size:16,color:q}),n[37]=q,n[38]=w):w=n[38],n[39]!==e.nextDayDisabled||n[40]!==e.onNextDay||n[41]!==w?(N=(0,h.jsx)(s.default,{style:P.dateArrow,onPress:e.onNextDay,disabled:e.nextDayDisabled,hitSlop:6,children:w}),n[39]=e.nextDayDisabled,n[40]=e.onNextDay,n[41]=w,n[42]=N):N=n[42],n[43]===Symbol.for("react.memo_cache_sentinel")?(G=(0,h.jsx)(t.default,{style:P.spacer}),n[43]=G):G=n[43],n[44]!==O||n[45]!==z||n[46]!==e.exportMenuLabel||n[47]!==e.exportMenuOpen||n[48]!==e.onToggleExportMenu||n[49]!==e.snapshotBusy?(_=e.onToggleExportMenu?(0,h.jsx)(s.default,{style:O(e.exportMenuOpen),onPress:e.onToggleExportMenu,hitSlop:6,accessibilityLabel:e.exportMenuLabel,children:e.snapshotBusy?(0,h.jsx)(c.default,{size:"small",color:z(e.exportMenuOpen)}):(0,h.jsx)(f.Camera,{size:14,color:z(e.exportMenuOpen)})}):null,n[44]=O,n[45]=z,n[46]=e.exportMenuLabel,n[47]=e.exportMenuOpen,n[48]=e.onToggleExportMenu,n[49]=e.snapshotBusy,n[50]=_):_=n[50],n[51]!==O||n[52]!==z||n[53]!==e.hasPtz||n[54]!==e.onTogglePtz||n[55]!==e.ptzOpen?(R=e.hasPtz&&e.onTogglePtz?(0,h.jsx)(s.default,{style:O(e.ptzOpen),onPress:e.onTogglePtz,hitSlop:6,children:(0,h.jsx)(f.Move,{size:14,color:z(e.ptzOpen)})}):null,n[51]=O,n[52]=z,n[53]=e.hasPtz,n[54]=e.onTogglePtz,n[55]=e.ptzOpen,n[56]=R):R=n[56],n[57]!==O||n[58]!==e.devicesOpen?(E=O(e.devicesOpen),n[57]=O,n[58]=e.devicesOpen,n[59]=E):E=n[59];const W=e.onToggleDevices;let F,H,Q,U;n[60]!==z||n[61]!==e.devicesOpen?(F=z(e.devicesOpen),n[60]=z,n[61]=e.devicesOpen,n[62]=F):F=n[62],n[63]!==F?(H=(0,h.jsx)(f.LayoutGrid,{size:14,color:F}),n[63]=F,n[64]=H):H=n[64],n[65]!==e.onToggleDevices||n[66]!==E||n[67]!==H?(Q=(0,h.jsx)(s.default,{style:E,onPress:W,hitSlop:6,children:H}),n[65]=e.onToggleDevices,n[66]=E,n[67]=H,n[68]=Q):Q=n[68],n[69]!==O||n[70]!==e.menuOpen?(U=O(e.menuOpen),n[69]=O,n[70]=e.menuOpen,n[71]=U):U=n[71];const V=e.onToggleMenu;let J,K,X,Y;n[72]!==z||n[73]!==e.menuOpen?(J=z(e.menuOpen),n[72]=z,n[73]=e.menuOpen,n[74]=J):J=n[74],n[75]!==J?(K=(0,h.jsx)(f.List,{size:14,color:J}),n[75]=J,n[76]=K):K=n[76],n[77]!==e.onToggleMenu||n[78]!==U||n[79]!==K?(X=(0,h.jsx)(s.default,{style:U,onPress:V,hitSlop:6,children:K}),n[77]=e.onToggleMenu,n[78]=U,n[79]=K,n[80]=X):X=n[80],n[81]!==O||n[82]!==e.qualityOpen?(Y=O(e.qualityOpen),n[81]=O,n[82]=e.qualityOpen,n[83]=Y):Y=n[83];const Z=e.onToggleQuality;let $,ee,oe,ne,te,re;return n[84]!==z||n[85]!==e.qualityOpen?($=z(e.qualityOpen),n[84]=z,n[85]=e.qualityOpen,n[86]=$):$=n[86],n[87]!==$?(ee=[P.qualityText,{color:$}],n[87]=$,n[88]=ee):ee=n[88],n[89]!==e.qualityLabel||n[90]!==ee?(oe=(0,h.jsx)(l.default,{style:ee,children:e.qualityLabel}),n[89]=e.qualityLabel,n[90]=ee,n[91]=oe):oe=n[91],n[92]!==e.onToggleQuality||n[93]!==Y||n[94]!==oe?(ne=(0,h.jsx)(s.default,{style:Y,onPress:Z,hitSlop:6,children:oe}),n[92]=e.onToggleQuality,n[93]=Y,n[94]=oe,n[95]=ne):ne=n[95],n[96]!==A||n[97]!==N||n[98]!==_||n[99]!==R||n[100]!==Q||n[101]!==X||n[102]!==D||n[103]!==ne||n[104]!==T?(te=(0,h.jsxs)(t.default,{style:P.row,children:[D,T,A,N,G,_,R,Q,X,ne]}),n[96]=A,n[97]=N,n[98]=_,n[99]=R,n[100]=Q,n[101]=X,n[102]=D,n[103]=ne,n[104]=T,n[105]=te):te=n[105],n[106]!==S||n[107]!==te?(re=(0,h.jsx)(t.default,{style:S,children:te}),n[106]=S,n[107]=te,n[108]=re):re=n[108],re}),P=u.default.create({container:{borderBottomWidth:1,zIndex:20},row:{flexDirection:'row',alignItems:'center',gap:x.SPACING.xs,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.sm+2},backBtn:{width:30,height:30,borderRadius:15,alignItems:'center',justifyContent:'center'},dateArrow:{width:28,height:28,borderRadius:14,alignItems:'center',justifyContent:'center'},datePill:{flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.xs+2,borderRadius:x.RADIUS.lg},dateText:{fontSize:12,fontWeight:'600'},spacer:{flex:1},iconBtn:{minWidth:30,height:30,paddingHorizontal:x.SPACING.sm,borderRadius:x.RADIUS.lg,alignItems:'center',justifyContent:'center'},qualityText:{fontSize:10,fontWeight:'700'}})},3508,[15,17,20,112,252,33,240,786,813,2587,2589,10]);
15930
+ __d(function(g,_r,_i,_a,_m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"HeatmapBar",{enumerable:!0,get:function(){return p}});var e=_r(d[0]),n=_r(d[1]),o=t(_r(d[2])),r=t(_r(d[3])),a=_r(d[4]),i=_r(d[5]),c=_r(d[6]),s=_r(d[7]),l=_r(d[8]);function u(t,e,n){const o=n-e;if(o<=0)return[];const r=[];for(const a of t){const t=Math.max(a.startMs,e),i=Math.min(a.endMs,n);i<=t||r.push({leftPct:(t-e)/o*100,widthPct:(i-t)/o*100})}return r}function f(t){const e=t.length;if(0===e)return[];const n=[];let o=-1;for(let r=0;r<e;r++){const a=t[r].recorded;a&&o<0&&(o=r);if((!a||r===e-1)&&o>=0){const t=a?r:r-1;n.push({leftPct:o/e*100,widthPct:(t-o+1)/e*100}),o=-1}}return n}const p=(0,n.memo)(function(t){const r=(0,e.c)(45),{bins:c,cursorFraction:p,eventMarkers:v,coverage:y,dayStartMs:M,dayEndMs:x,onSeekFraction:R,onScrubStart:S,onScrubFraction:_,onScrubEnd:E}=t,{colors:k}=(0,a.useTheme)(),j=(0,n.useRef)(0),C=(0,n.useRef)(0),O=(0,n.useRef)(!1),w=!(!R&&!_);let P;t:{if(y&&void 0!==M&&void 0!==x){let t;r[0]!==y||r[1]!==x||r[2]!==M?(t=u(y,M,x),r[0]=y,r[1]=x,r[2]=M,r[3]=t):t=r[3],P=t;break t}let t;r[4]!==c?(t=f(c),r[4]=c,r[5]=t):t=r[5],P=t}const F=P;let H;r[6]===Symbol.for("react.memo_cache_sentinel")?(H=t=>{j.current=t.nativeEvent.layout.width},r[6]=H):H=r[6];const L=H;let X;r[7]===Symbol.for("react.memo_cache_sentinel")?(X=t=>(0,i.pointerFraction)(t.nativeEvent.locationX,j.current),r[7]=X):X=r[7];const $=X;let B;r[8]!==w?(B=t=>{C.current=t.nativeEvent.locationX,O.current=!1,s.log.debug("heatmap","grant",{interactive:w,x:t.nativeEvent.locationX})},r[8]=w,r[9]=B):B=r[9];const I=B;let z;r[10]!==_||r[11]!==S?(z=t=>{if(!O.current&&Math.abs(t.nativeEvent.locationX-C.current)>8&&(O.current=!0,S?.()),!O.current)return;const e=$(t);null!==e&&_?.(e)},r[10]=_,r[11]=S,r[12]=z):z=r[12];const D=z;let T;r[13]!==E||r[14]!==R?(T=t=>{const e=$(t);s.log.debug("heatmap","release",{moved:O.current,fraction:e}),null!==e&&(O.current?E?.(e):R?.(e))},r[13]=E,r[14]=R,r[15]=T):T=r[15];const W=T;let A,G,N,U,q,J;if(r[16]!==w?(A=()=>w,G=()=>w,r[16]=w,r[17]=A,r[18]=G):(A=r[17],G=r[18]),r[19]!==k.border||r[20]!==k.surface?(N=[b.bar,{backgroundColor:k.surface,borderBottomColor:k.border}],r[19]=k.border,r[20]=k.surface,r[21]=N):N=r[21],r[22]!==k.danger||r[23]!==F){let t;r[25]!==k.danger?(t=(t,e)=>(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.recording,{left:`${t.leftPct}%`,width:`${t.widthPct}%`,backgroundColor:k.danger}]},`rec-${e}`),r[25]=k.danger,r[26]=t):t=r[26],U=F.map(t),r[22]=k.danger,r[23]=F,r[24]=U}else U=r[24];r[27]!==c?(q=c.map(m),r[27]=c,r[28]=q):q=r[28],r[29]!==v?(J=v?.map(h),r[29]=v,r[30]=J):J=r[30];const K=100*p+"%";let Q,V;return r[31]!==k.primary||r[32]!==K?(Q=(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.cursor,{left:K,backgroundColor:k.primary}]}),r[31]=k.primary,r[32]=K,r[33]=Q):Q=r[33],r[34]!==I||r[35]!==D||r[36]!==W||r[37]!==U||r[38]!==q||r[39]!==J||r[40]!==Q||r[41]!==A||r[42]!==G||r[43]!==N?(V=(0,l.jsxs)(o.default,{onLayout:L,onStartShouldSetResponder:A,onMoveShouldSetResponder:G,onResponderGrant:I,onResponderMove:D,onResponderRelease:W,style:N,children:[U,q,J,Q]}),r[34]=I,r[35]=D,r[36]=W,r[37]=U,r[38]=q,r[39]=J,r[40]=Q,r[41]=A,r[42]=G,r[43]=N,r[44]=V):V=r[44],V}),b=r.default.create({bar:{flexDirection:'row',height:28,borderBottomWidth:1,alignItems:'flex-end',paddingHorizontal:2},bin:{flex:1,height:'100%',justifyContent:'flex-end',paddingHorizontal:.5},recording:{position:'absolute',top:0,bottom:0,minWidth:2,opacity:.15},fill:{borderRadius:1,minHeight:2},cursor:{position:'absolute',top:0,bottom:0,width:2,opacity:.85},eventMarker:{position:'absolute',top:1,bottom:1,width:2,marginLeft:-1,borderRadius:1,opacity:.95}});function m(t,e){const n=t.audio>0,r=n?t.audio:t.motion,a=t.motion>0||n,i=n?c.AUDIO_COLOR:c.MOTION_COLOR;return(0,l.jsx)(o.default,{pointerEvents:"none",style:b.bin,children:(0,l.jsx)(o.default,{style:[b.fill,{height:`${a?Math.max(15,100*r):0}%`,backgroundColor:a?i:"transparent",opacity:a?.5+.5*r:0}]})},e)}function h(t){return(0,l.jsx)(o.default,{pointerEvents:"none",style:[b.eventMarker,{left:100*t.fraction+"%",backgroundColor:t.color}]},t.id)}},3509,[15,17,20,33,2587,3510,3231,2705,10]);
15931
+ __d(function(g,r,i,a,m,e,d){"use strict";function n(n){return Math.max(0,Math.min(1,n))}Object.defineProperty(e,'__esModule',{value:!0}),e.dayFractionToEpoch=function(t,o,u){const c=u-o;return Math.round(o+n(t)*c)},e.epochToDayFraction=function(t,o,u){const c=u-o;return c<=0?0:n((t-o)/c)},e.pointerFraction=function(t,o){return!Number.isFinite(t)||!Number.isFinite(o)||o<=0?null:n(t/o)}},3510,[]);
15932
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineFabControls",{enumerable:!0,get:function(){return y}});var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=r(d[5]),u=r(d[6]),b=r(d[7]),f=r(d[8]);const y=(0,t.memo)(function(e){const t=(0,o.c)(72),{onZoomIn:l,onZoomOut:y,onFilter:j,onZoneFilter:x,onPickCamera:p,canZoomIn:C,canZoomOut:S,filterActive:v,filterOpen:P,zoneActive:w,bottomInset:I}=e,z=void 0===C||C,F=void 0===S||S,k=void 0!==v&&v,D=void 0!==P&&P,O=void 0!==w&&w,_=void 0===I?0:I,{colors:R}=(0,u.useTheme)();let Z;t[0]!==R.border||t[1]!==R.surface?(Z={backgroundColor:R.surface,borderColor:R.border},t[0]=R.border,t[1]=R.surface,t[2]=Z):Z=t[2];const A=Z,M=k||D,G=b.SPACING.lg+_;let N;t[3]!==G?(N=[h.stack,{bottom:G}],t[3]=G,t[4]=N):N=t[4];const T=!z&&h.fabDisabled;let E;t[5]!==A||t[6]!==T?(E=[h.fab,A,T],t[5]=A,t[6]=T,t[7]=E):E=t[7];const V=!z,W=!z;let q;t[8]!==W?(q={disabled:W},t[8]=W,t[9]=q):q=t[9];const B=z?R.foreground:R.foregroundDisabled;let H,J;t[10]!==B?(H=(0,f.jsx)(c.Plus,{size:18,color:B}),t[10]=B,t[11]=H):H=t[11],t[12]!==l||t[13]!==E||t[14]!==V||t[15]!==q||t[16]!==H?(J=(0,f.jsx)(s.default,{style:E,onPress:l,disabled:V,hitSlop:4,accessibilityRole:"button",accessibilityState:q,children:H}),t[12]=l,t[13]=E,t[14]=V,t[15]=q,t[16]=H,t[17]=J):J=t[17];const K=!F&&h.fabDisabled;let L;t[18]!==A||t[19]!==K?(L=[h.fab,A,K],t[18]=A,t[19]=K,t[20]=L):L=t[20];const Q=!F,U=!F;let X;t[21]!==U?(X={disabled:U},t[21]=U,t[22]=X):X=t[22];const Y=F?R.foreground:R.foregroundDisabled;let $,ee,oe,te;t[23]!==Y?($=(0,f.jsx)(c.Minus,{size:18,color:Y}),t[23]=Y,t[24]=$):$=t[24],t[25]!==y||t[26]!==L||t[27]!==Q||t[28]!==X||t[29]!==$?(ee=(0,f.jsx)(s.default,{style:L,onPress:y,disabled:Q,hitSlop:4,accessibilityRole:"button",accessibilityState:X,children:$}),t[25]=y,t[26]=L,t[27]=Q,t[28]=X,t[29]=$,t[30]=ee):ee=t[30],t[31]!==A||t[32]!==R.warning||t[33]!==M?(oe=[h.fab,M?{backgroundColor:R.warning,borderColor:R.warning}:A],t[31]=A,t[32]=R.warning,t[33]=M,t[34]=oe):oe=t[34],t[35]!==M?(te={selected:M},t[35]=M,t[36]=te):te=t[36];const re=M?R.primaryForeground:R.foreground;let ne,ie,se,le;t[37]!==re?(ne=(0,f.jsx)(c.Filter,{size:14,color:re}),t[37]=re,t[38]=ne):ne=t[38],t[39]!==j||t[40]!==oe||t[41]!==te||t[42]!==ne?(ie=(0,f.jsx)(s.default,{style:oe,onPress:j,hitSlop:4,accessibilityRole:"button",accessibilityState:te,children:ne}),t[39]=j,t[40]=oe,t[41]=te,t[42]=ne,t[43]=ie):ie=t[43],t[44]!==A||t[45]!==R.warning||t[46]!==O?(se=[h.fab,O?{backgroundColor:R.warning,borderColor:R.warning}:A],t[44]=A,t[45]=R.warning,t[46]=O,t[47]=se):se=t[47],t[48]!==O?(le={selected:O},t[48]=O,t[49]=le):le=t[49];const ae=O?R.primaryForeground:R.foreground;let ce,de,ue,be,fe,ge;return t[50]!==ae?(ce=(0,f.jsx)(c.Scan,{size:14,color:ae}),t[50]=ae,t[51]=ce):ce=t[51],t[52]!==x||t[53]!==se||t[54]!==le||t[55]!==ce?(de=(0,f.jsx)(s.default,{style:se,onPress:x,hitSlop:4,accessibilityRole:"button",accessibilityState:le,children:ce}),t[52]=x,t[53]=se,t[54]=le,t[55]=ce,t[56]=de):de=t[56],t[57]!==A?(ue=[h.fab,A],t[57]=A,t[58]=ue):ue=t[58],t[59]!==R.foreground?(be=(0,f.jsx)(c.Video,{size:14,color:R.foreground}),t[59]=R.foreground,t[60]=be):be=t[60],t[61]!==p||t[62]!==ue||t[63]!==be?(fe=(0,f.jsx)(s.default,{style:ue,onPress:p,hitSlop:4,children:be}),t[61]=p,t[62]=ue,t[63]=be,t[64]=fe):fe=t[64],t[65]!==J||t[66]!==ee||t[67]!==ie||t[68]!==de||t[69]!==fe||t[70]!==N?(ge=(0,f.jsx)(n.default,{style:h.container,pointerEvents:"box-none",children:(0,f.jsxs)(n.default,{style:N,children:[J,ee,ie,de,fe]})}),t[65]=J,t[66]=ee,t[67]=ie,t[68]=de,t[69]=fe,t[70]=N,t[71]=ge):ge=t[71],ge}),h=l.default.create({container:Object.assign({},l.default.absoluteFill,{zIndex:12}),stack:{position:'absolute',left:0,right:0,flexDirection:'row',justifyContent:'center',alignItems:'center',gap:b.SPACING.md},fab:{width:36,height:36,borderRadius:18,borderWidth:1,alignItems:'center',justifyContent:'center'},fabDisabled:{opacity:.4}})},3511,[15,17,20,252,33,813,2587,2589,10]);
15933
+ __d(function(g,r,i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineFilterPanel",{enumerable:!0,get:function(){return v}});var o=r(_d[0]),t=r(_d[1]),d=e(r(_d[2])),l=e(r(_d[3])),n=e(r(_d[4])),s=e(r(_d[5])),u=r(_d[6]),c=r(_d[7]),f=r(_d[8]),b=r(_d[9]),p=r(_d[10]),h=r(_d[11]),m=r(_d[12]),x=r(_d[13]),y=r(_d[14]);const C={motion:p.MOTION_COLOR,audio:p.AUDIO_COLOR},v=(0,t.memo)(function(e){const t=(0,o.c)(61),{filter:s,onToggleKind:b,classes:p,classFilter:v,onToggleClass:S,onReset:M,eventKinds:j,bottomInset:A}=e,{t:k}=(0,u.useTranslation)(),{colors:P}=(0,f.useTheme)();let E;t[0]!==s?(E=(0,x.isFilterAll)(s),t[0]=s,t[1]=E):E=t[1];const R=E,_=R&&0===v.size;let O;if(t[2]!==j){O=new Map;for(const e of j??[])O.set(e.kind,e);t[2]=j,t[3]=O}else O=t[3];const T=O;let N,z;t[4]!==A||t[5]!==P.border||t[6]!==P.surface?(N=[I.panel,{bottom:A,backgroundColor:P.surface,borderColor:P.border}],t[4]=A,t[5]=P.border,t[6]=P.surface,t[7]=N):N=t[7],t[8]!==_?(z={selected:_},t[8]=_,t[9]=z):z=t[9];const F=_?P.primary:P.backgroundElevated,G=_?P.primary:P.border;let D;t[10]!==F||t[11]!==G?(D=[I.chip,{backgroundColor:F,borderColor:G}],t[10]=F,t[11]=G,t[12]=D):D=t[12];const L=_?P.primaryForeground:P.foregroundMuted;let K;t[13]!==L?(K=(0,y.jsx)(c.ListFilter,{size:13,color:L}),t[13]=L,t[14]=K):K=t[14];const w=_?P.primaryForeground:P.foregroundMuted;let W,U,$,V,B,H,q;if(t[15]!==w?(W=[I.chipText,{color:w}],t[15]=w,t[16]=W):W=t[16],t[17]!==k?(U=k("v2.theater.filterAll"),t[17]=k,t[18]=U):U=t[18],t[19]!==W||t[20]!==U?($=(0,y.jsx)(l.default,{style:W,children:U}),t[19]=W,t[20]=U,t[21]=$):$=t[21],t[22]!==M||t[23]!==$||t[24]!==z||t[25]!==D||t[26]!==K?(V=(0,y.jsxs)(n.default,{onPress:M,hitSlop:4,accessibilityRole:"button",accessibilityState:z,style:D,children:[K,$]}),t[22]=M,t[23]=$,t[24]=z,t[25]=D,t[26]=K,t[27]=V):V=t[27],t[28]!==P.backgroundElevated||t[29]!==P.border||t[30]!==P.foreground||t[31]!==P.foregroundMuted||t[32]!==s||t[33]!==R||t[34]!==b||t[35]!==k?(B=x.ALL_BAR_KINDS.map(e=>{const o=!R&&s.has(e),t="audio"===e?c.Volume2:c.Activity,d=C[e];return(0,y.jsxs)(n.default,{onPress:()=>b(e),hitSlop:4,accessibilityRole:"button",accessibilityState:{selected:o},style:[I.chip,{backgroundColor:o?`${d}26`:P.backgroundElevated,borderColor:o?d:P.border}],children:[(0,y.jsx)(t,{size:13,color:o?d:P.foregroundMuted}),(0,y.jsx)(l.default,{style:[I.chipText,{color:o?P.foreground:P.foregroundMuted}],children:k(`v2.theater.filter_${e}`)})]},e)}),t[28]=P.backgroundElevated,t[29]=P.border,t[30]=P.foreground,t[31]=P.foregroundMuted,t[32]=s,t[33]=R,t[34]=b,t[35]=k,t[36]=B):B=t[36],t[37]!==v||t[38]!==p||t[39]!==P.backgroundElevated||t[40]!==P.border||t[41]!==P.foreground||t[42]!==P.foregroundMuted||t[43]!==T||t[44]!==S||t[45]!==k){let e;t[47]!==v||t[48]!==P.backgroundElevated||t[49]!==P.border||t[50]!==P.foreground||t[51]!==P.foregroundMuted||t[52]!==T||t[53]!==S||t[54]!==k?(e=e=>{const o=v.has(e),t=T.get(e),d=t?.color??(0,h.getClassColor)(e),s=t?(0,m.resolveEventKindIcon)(t.iconId):null,u=t?(0,m.eventKindLabel)(t,k):e;return(0,y.jsxs)(n.default,{onPress:()=>S(e),hitSlop:4,accessibilityRole:"button",accessibilityState:{selected:o},style:[I.chip,{backgroundColor:o?`${d}26`:P.backgroundElevated,borderColor:o?d:P.border}],children:[s?(0,y.jsx)(s,{size:13,color:o?d:P.foregroundMuted}):null,(0,y.jsx)(l.default,{style:[I.chipText,{color:o?P.foreground:P.foregroundMuted}],children:u})]},e)},t[47]=v,t[48]=P.backgroundElevated,t[49]=P.border,t[50]=P.foreground,t[51]=P.foregroundMuted,t[52]=T,t[53]=S,t[54]=k,t[55]=e):e=t[55],H=p.map(e),t[37]=v,t[38]=p,t[39]=P.backgroundElevated,t[40]=P.border,t[41]=P.foreground,t[42]=P.foregroundMuted,t[43]=T,t[44]=S,t[45]=k,t[46]=H}else H=t[46];return t[56]!==V||t[57]!==B||t[58]!==H||t[59]!==N?(q=(0,y.jsx)(d.default,{style:I.container,pointerEvents:"box-none",children:(0,y.jsxs)(d.default,{style:N,children:[V,B,H]})}),t[56]=V,t[57]=B,t[58]=H,t[59]=N,t[60]=q):q=t[60],q}),I=s.default.create({container:Object.assign({},s.default.absoluteFill,{zIndex:11}),panel:{position:'absolute',left:b.SPACING.md,right:b.SPACING.md,flexDirection:'row',flexWrap:'wrap',justifyContent:'center',gap:b.SPACING.sm,padding:b.SPACING.md,borderWidth:1,borderRadius:b.RADIUS.xl},chip:{flexDirection:'row',alignItems:'center',gap:b.SPACING.xs+2,paddingHorizontal:b.SPACING.md,paddingVertical:b.SPACING.sm+1,borderRadius:b.RADIUS.lg,borderWidth:1},chipText:{fontSize:12,fontWeight:'600'}})},3512,[15,17,20,112,252,33,786,813,2587,2589,3231,3232,3170,3142,10]);
15934
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.pxPerHour=n,e.offsetToEpoch=function(o,u,c){const f=o/n(c);return Math.round(u-f*t)},e.epochToOffset=function(o,u,c){const f=(u-o)/t;return Math.max(0,f*n(c))};var o=r(d[0]);const t=36e5;function n(t){return 60/o.ZOOM_LEVELS[(0,o.clampZoomIndex)(t)].rowMinutes*o.TIMELINE_ROW_HEIGHT}},3513,[3142]);
15935
+ __d(function(g,r,i,a,m,e,d){"use strict";function t(t){return Number.isFinite(t)?Math.min(100,Math.max(0,t)):0}Object.defineProperty(e,'__esModule',{value:!0}),e.indicatorOffsetPx=function(n,u){return!Number.isFinite(n)||n<=0?0:Math.round(n*t(u)/100)},Object.defineProperty(e,"FIXED_INDICATOR_POSITION_PCT",{enumerable:!0,get:function(){return n}});const n=10},3514,[]);
15936
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.atLiveEdge=function(t,n){return t<=n}},3515,[]);
15937
+ __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"DatePickerModal",{enumerable:!0,get:function(){return p}});var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),i=e(r(d[4])),s=e(r(d[5])),c=r(d[6]),u=r(d[7]),h=r(d[8]),f=r(d[9]),y=r(d[10]),b=r(d[11]);const p=(0,t.memo)(function(e){const{t:s}=(0,c.useTranslation)(),{colors:f}=(0,h.useTheme)(),p=new Date(e.monthAnchorMs),j=(0,t.useMemo)(()=>(0,y.buildMonthGrid)(p.getFullYear(),p.getMonth(),e.nowMs),[p.getFullYear(),p.getMonth(),e.nowMs]),w=p.toLocaleDateString(void 0,{month:'long',year:'numeric'}),C=new Date(e.nowMs);return C.setHours(0,0,0,0),(0,b.jsx)(o.default,{visible:e.visible,transparent:!0,animationType:"fade",onRequestClose:e.onClose,children:(0,b.jsx)(i.default,{style:x.backdrop,onPress:e.onClose,children:(0,b.jsxs)(i.default,{style:[x.card,{backgroundColor:f.background,borderColor:f.border}],children:[(0,b.jsxs)(n.default,{style:x.header,children:[(0,b.jsx)(i.default,{style:x.navBtn,onPress:()=>e.onChangeMonth(-1),hitSlop:8,children:(0,b.jsx)(u.ChevronLeft,{size:18,color:f.foregroundMuted})}),(0,b.jsx)(l.default,{style:[x.title,{color:f.foreground}],children:w}),(0,b.jsx)(i.default,{style:x.navBtn,onPress:()=>e.onChangeMonth(1),hitSlop:8,children:(0,b.jsx)(u.ChevronRight,{size:18,color:f.foregroundMuted})})]}),(0,b.jsx)(n.default,{style:x.weekRow,children:['L','M','M','G','V','S','D'].map((e,t)=>(0,b.jsx)(l.default,{style:[x.weekday,{color:f.foregroundSubtle}],children:e},t))}),(0,b.jsx)(n.default,{style:x.grid,children:j.map(t=>{const o=e.daysSet.has(t.epoch),s=t.epoch===e.selectedDayMs,c=t.epoch===C.getTime();return(0,b.jsxs)(i.default,{style:[x.cell,s&&{backgroundColor:f.primary},!s&&c&&{borderColor:f.primary,borderWidth:1}],disabled:t.isFuture,onPress:()=>e.onPick(t.epoch),children:[(0,b.jsx)(l.default,{style:[x.cellText,{color:t.isFuture?f.foregroundSubtle:s?f.primaryForeground:t.inMonth?f.foreground:f.foregroundMuted}],children:new Date(t.epoch).getDate()}),o&&!s?(0,b.jsx)(n.default,{style:[x.dot,{backgroundColor:f.primary}]}):null]},t.epoch)})}),(0,b.jsx)(l.default,{style:[x.hint,{color:f.foregroundSubtle}],children:s('v2.theater.selectDate')})]})})})}),x=s.default.create({backdrop:{flex:1,backgroundColor:'rgba(0,0,0,0.5)',alignItems:'center',justifyContent:'center'},card:{width:280+2*f.SPACING.md,borderRadius:f.RADIUS.lg,borderWidth:1,padding:f.SPACING.md},header:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',marginBottom:f.SPACING.sm},navBtn:{width:32,height:32,alignItems:'center',justifyContent:'center'},title:{fontSize:15,fontWeight:'700',textTransform:'capitalize'},weekRow:{flexDirection:'row'},weekday:{width:40,textAlign:'center',fontSize:11,fontWeight:'600'},grid:{flexDirection:'row',flexWrap:'wrap'},cell:{width:40,height:40,alignItems:'center',justifyContent:'center',borderRadius:f.RADIUS.md},cellText:{fontSize:13,fontWeight:'600'},dot:{width:4,height:4,borderRadius:2,marginTop:2},hint:{fontSize:11,textAlign:'center',marginTop:f.SPACING.sm}})},3516,[17,245,20,112,252,33,786,813,2587,2589,3517,10]);
15938
+ __d(function(g,r,_i,a,m,e,_d){"use strict";function t(t,n){return{fromMs:new Date(t,n,1,0,0,0,0).getTime(),toMs:new Date(t,n+1,1,0,0,0,0).getTime()}}Object.defineProperty(e,'__esModule',{value:!0}),e.monthBounds=t,e.monthBoundsForMs=function(n){const o=new Date(n);return t(o.getFullYear(),o.getMonth())},e.buildMonthGrid=function(t,n,o){const u=(new Date(t,n,1,0,0,0,0).getDay()+6)%7,s=new Date(o);s.setHours(0,0,0,0);const i=[];for(let o=0;o<42;o++){const c=new Date(t,n,1-u+o,0,0,0,0);i.push({epoch:c.getTime(),inMonth:c.getMonth()===n,isFuture:c.getTime()>s.getTime()})}return i}},3517,[]);
15939
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.dayAtSameTime=function(t,n,o){const s=new Date(t),c=new Date(n);c.setHours(s.getHours(),s.getMinutes(),s.getSeconds(),s.getMilliseconds());const u=c.getTime();return u>o?o:u},e.dateLabel=function(n,o,s){const c=new Date(n);c.setHours(0,0,0,0);const u=new Date(o);u.setHours(0,0,0,0);const y=Math.round((u.getTime()-c.getTime())/t);return 0===y?s('v2.theater.today'):1===y?s('v2.theater.yesterday'):new Date(n).toLocaleDateString(void 0,{weekday:'short',day:'numeric',month:'short'})};const t=864e5},3518,[]);
15940
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.trackToTimelineEvent=p,e.timelineEventToTrackSummary=function(t,n,s=""){return Object.assign({trackId:t.trackId??t.id,deviceId:n,cameraName:s,className:t.className},void 0!==t.label?{label:t.label}:{},void 0!==t.importance?{importance:t.importance}:{},{firstSeen:t.timestamp,lastSeen:t.endTimestamp??t.timestamp,state:'idle',active:!1,zonesVisited:[],audioLabels:void 0!==t.audioLabels?[...t.audioLabels]:[],bestEventId:t.id})},e.useDeviceTracks=function(b,y,f){const k=(0,t.c)(13),{controller:T,state:I}=(0,s.useConnection)();let S;k[0]!==b||k[1]!==y||k[2]!==f?(S=["v2","analytics","device-tracks",b,y,f],k[0]=b,k[1]=y,k[2]=f,k[3]=S):S=k[3];const L="connected"===I;let h,N;k[4]!==T||k[5]!==b||k[6]!==y||k[7]!==f?(h=async()=>{const t=T.getSystem();if(!t)return[];const n=await(0,o.capQuery)(t.trpcClient,"pipelineAnalytics","listTracks",{deviceId:b,since:y,until:f,limit:v});if(!Array.isArray(n))return[];const s=[];for(const t of n){const n=(0,l.toTrackSummary)(t,"");null!==n&&s.push(p(n,(0,u.parsePositionBoxes)(t)))}return c.log.info("device-tracks","listTracks",{deviceId:b,count:s.length}),s},k[4]=T,k[5]=b,k[6]=y,k[7]=f,k[8]=h):h=k[8];k[9]!==S||k[10]!==L||k[11]!==h?(N={queryKey:S,enabled:L,staleTime:3e4,refetchInterval:3e4,queryFn:h},k[9]=S,k[10]=L,k[11]=h,k[12]=N):N=k[12];return(0,n.useQuery)(N)};var t=r(d[0]),n=r(d[1]),s=r(d[2]),c=r(d[3]),o=r(d[4]),l=r(d[5]),u=r(d[6]);const v=500;function p(t,n){return Object.assign({id:t.bestEventId,timestamp:t.firstSeen,endTimestamp:t.lastSeen,className:t.className,label:t.label,importance:t.importance,trackId:t.trackId},t.audioLabels.length>0?{audioLabels:t.audioLabels}:{},void 0!==n&&n.length>0?{positionBoxes:n}:{})}},3519,[15,3081,2594,2705,3162,3237,3504]);
15941
+ __d(function(g,_r,i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useTimelineActivity=function(f,M,p){const b=(0,t.c)(13),{controller:v,state:h}=(0,s.useConnection)();let A;b[0]!==f||b[1]!==M||b[2]!==p?(A=["v2","analytics","activity",f,M,p],b[0]=f,b[1]=M,b[2]=p,b[3]=A):A=b[3];const k="connected"===h;let R,E;b[4]!==v||b[5]!==f||b[6]!==M||b[7]!==p?(R=async()=>{const t=v.getSystem();if(!t)return r.log.warn("timeline-activity","no system (not connected)"),a;const n=t.trpcClient,s=(0,c.pickBucketMs)(M,p),b=Math.round(Math.abs(p-M)/s),[h,A,k]=await Promise.all([(0,o.capQuery)(n,"pipelineAnalytics","getEventDensity",{deviceId:f,since:M,until:p,bucketMs:s}),(0,o.capQuery)(n,"pipelineAnalytics","getAudioEvents",{deviceId:f,since:M,until:p,limit:1e3}),(0,o.capQuery)(n,"recording","getAvailability",{deviceId:f,fromMs:M,toMs:p})]),R=y(h),E=l(A),I=u(k),Q=(0,c.densityToMotionBuckets)(R,s),S=(0,c.audioEventsToBuckets)(E,M,s,b);return r.log.info("timeline-activity","fetched",{deviceId:f,densityRows:R.length,audioEvents:E.length,recordingRanges:I.length,bucketCount:b}),{recording:I,motion:Q,audio:S}},b[4]=v,b[5]=f,b[6]=M,b[7]=p,b[8]=R):R=b[8];b[9]!==A||b[10]!==k||b[11]!==R?(E={queryKey:A,enabled:k,staleTime:3e4,queryFn:R},b[9]=A,b[10]=k,b[11]=R,b[12]=E):E=b[12];return(0,n.useQuery)(E).data??a};var t=_r(d[0]),n=_r(d[1]),s=_r(d[2]),r=_r(d[3]),o=_r(d[4]),c=_r(d[5]);const a={recording:[],motion:[],audio:[]};function u(t){if(!(0,o.isRecord)(t)||!Array.isArray(t.ranges))return[];const n=[];for(const s of t.ranges)(0,o.isRecord)(s)&&'number'==typeof s.startMs&&'number'==typeof s.endMs&&s.endMs>s.startMs&&n.push({startMs:s.startMs,endMs:s.endMs});n.sort((t,n)=>t.startMs-n.startMs);const s=[];for(const t of n){const n=s[s.length-1];void 0!==n&&t.startMs<=n.endMs?t.endMs>n.endMs&&(s[s.length-1]={startMs:n.startMs,endMs:t.endMs}):s.push({startMs:t.startMs,endMs:t.endMs})}return s}function y(t){if(!Array.isArray(t))return[];const n=[];for(const s of t)(0,o.isRecord)(s)&&'number'==typeof s.bucketStart&&'number'==typeof s.motion&&n.push({bucketStart:s.bucketStart,motion:s.motion});return n}function l(t){if(!Array.isArray(t))return[];const n=[];for(const s of t)(0,o.isRecord)(s)&&'number'==typeof s.timestamp&&'number'==typeof s.dbfs&&n.push({timestamp:s.timestamp,dbfs:s.dbfs});return n}},3520,[15,3081,2594,2705,3162,3521]);
15942
+ __d(function(g,_r,_i,a,_m,e,d){"use strict";function t(t,n=-60,o=0){const s=(t-n)/(o-n);return Math.min(1,Math.max(0,s))}Object.defineProperty(e,'__esModule',{value:!0}),e.dbfsToUnit=t,e.densityToMotionBuckets=function(t,n){if(0===t.length)return[];const o=t.reduce((t,n)=>Math.max(t,n.motion),0);return t.map(t=>({startMs:t.bucketStart,endMs:t.bucketStart+n,intensity:o>0?Math.min(1,Math.max(0,t.motion/o)):0}))},e.audioEventsToBuckets=function(n,o,s,i){const r=Array.from({length:i},()=>{});for(const t of n){const n=Math.floor((t.timestamp-o)/s);if(n<0||n>=i)continue;const c=r[n];r[n]=void 0===c?t.dbfs:Math.max(c,t.dbfs)}return r.map((n,i)=>({startMs:o+i*s,endMs:o+(i+1)*s,intensity:void 0!==n?t(n):0}))},e.pickBucketMs=function(t,s,i=240){const r=Math.abs(s-t),c=Math.round(r/i);return Math.min(o,Math.max(n,c))};const n=5e3,o=36e5},3521,[]);
15943
+ __d(function(_g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.dedupeFragmentItems=p,_e.pickRepresentative=h,_e.clusterByZoom=function(t,{topMs:n,zoomIndex:s,sizePx:o,gapPx:a},c){if(0===t.length)return[];const l=[...t].sort((e,t)=>t.timestamp-e.timestamp),u=[];let f=[],b=0;function M(){if(0===f.length)return;const e=h(f,c),t=[...new Set(f.map(e=>e.className))],n=[...new Set(f.map(e=>e.label).filter(e=>'string'==typeof e&&e.length>0))],s=f.map(e=>e.timestamp);u.push({id:e.id,events:f,carouselEvents:p(f),representative:e,classes:t,labels:n,startMs:Math.min(...s),endMs:Math.max(...s),topPx:b,heightPx:o}),f=[]}for(const t of l){const c=(0,e.epochToOffset)(t.timestamp,n,s);0===f.length?(b=c,f.push(t)):(c<b+o+a||(M(),b=c),f.push(t))}return M(),u};var e=r(d[0]);const t=['label','person','vehicle','animal'],n={vehicle:['car','truck','bus','motorcycle'],animal:['dog','cat','bird']};function s(e){return'label'===e?[]:void 0!==n[e]?n[e]:[e]}function o(e,t){if('label'===t)return'string'==typeof e.label&&e.label.length>0;return s(t).includes(e.className)}const a=45e3,c=2e3;function l(e){return{start:e.timestamp,end:e.endTimestamp??e.timestamp}}function u(e,t){const{start:n}=l(t);return n>=e-c&&n<=e+a}function f(e,t){const n=e.importance??0,s=t.importance??0;return s>n?t:n>s?e:l(t).end>=l(e).end?t:e}function p(e){if(e.length<=1)return[...e];const t=new Map,n=[...e].sort((e,t)=>e.timestamp-t.timestamp);for(const e of n){const n=t.get(e.className)??[];let s;for(const t of n)u(t.endMs,e)&&(void 0===s||t.endMs>s.endMs)&&(s=t);void 0!==s?(s.best=f(s.best,e),s.endMs=Math.max(s.endMs,l(e).end)):n.push({best:e,endMs:l(e).end}),t.set(e.className,n)}const s=new Set;for(const e of t.values())for(const t of e)s.add(t.best);return e.filter(e=>s.has(e))}function h(e,n=t){for(const t of n){const n=e.find(e=>o(e,t));if(void 0!==n)return n}return e.reduce((e,t)=>t.timestamp>e.timestamp?t:e,e[0])}},3522,[3513]);
15944
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterDetailModal",{enumerable:!0,get:function(){return b}});var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),c=r(d[6]),f=r(d[7]),p=r(d[8]);const b=(0,o.memo)(function(e){const o=(0,t.c)(16),{deviceId:s,cluster:b,onSeek:v,onClose:C,seekAvailable:_}=e,{colors:j}=(0,c.useTheme)(),y=(0,u.useSafeAreaInsets)(),x=null!==b,h=j.background+"F2";let A,I,M,S;return o[0]!==y.top||o[1]!==h?(A=[k.backdrop,{backgroundColor:h,paddingTop:y.top}],o[0]=y.top,o[1]=h,o[2]=A):A=o[2],o[3]!==b||o[4]!==s||o[5]!==C||o[6]!==v||o[7]!==_?(I=(0,p.jsx)(f.ClusterDetailBody,{deviceId:s,cluster:b,onSeek:v,onClose:C,seekAvailable:_}),o[3]=b,o[4]=s,o[5]=C,o[6]=v,o[7]=_,o[8]=I):I=o[8],o[9]!==A||o[10]!==I?(M=(0,p.jsx)(n.default,{style:A,children:I}),o[9]=A,o[10]=I,o[11]=M):M=o[11],o[12]!==C||o[13]!==x||o[14]!==M?(S=(0,p.jsx)(l.default,{visible:x,animationType:"slide",transparent:!0,onRequestClose:C,children:M}),o[12]=C,o[13]=x,o[14]=M,o[15]=S):S=o[15],S}),k=s.default.create({backdrop:{flex:1}})},3523,[15,17,245,20,33,466,2587,3524,10]);
15945
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterDetailBody",{enumerable:!0,get:function(){return C}});var t=r(d[0]),l=r(d[1]),n=e(r(d[2])),o=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=r(d[7]),h=r(d[8]),p=r(d[9]),x=r(d[10]),y=r(d[11]),k=r(d[12]),I=r(d[13]),b=r(d[14]);function j(e){return e.trackId??e.id}const C=(0,l.memo)(function(e){const u=(0,t.c)(32),{deviceId:x,cluster:C,onSeek:v,onClose:w,bottomInset:A,seekAvailable:P}=e,R=void 0===P||P,{colors:_}=(0,p.useTheme)(),{t:N}=(0,h.useTranslation)();let T;e:{if(null===C){let e;u[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],u[0]=e):e=u[0],T=e;break e}const e=C.carouselEvents.length>0?C.carouselEvents:C.events;let t;u[1]!==e?(t=[...e],u[1]=e,u[2]=t):t=u[2],T=t}const E=T,[G,z]=(0,l.useState)(null);let B,D,M;u[3]!==E?(B=()=>{z(e=>null!==e&&E.some(t=>j(t)===e)?e:void 0!==E[0]?j(E[0]):null)},D=[E],u[3]=E,u[4]=B,u[5]=D):(B=u[4],D=u[5]),(0,l.useEffect)(B,D),u[6]!==G||u[7]!==E?(M=E.find(e=>j(e)===G)??E[0]??null,u[6]=G,u[7]=E,u[8]=M):M=u[8];const F=M;let L;u[9]!==x||u[10]!==F?(L=null!==F?(0,I.timelineEventToTrackSummary)(F,x):null,u[9]=x,u[10]=F,u[11]=L):L=u[11];const O=L;let H,U,V,W,X;return u[12]!==_||u[13]!==F||u[14]!==E?(H=E.length>1?(0,b.jsx)(c.default,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:S.trackRow,style:S.trackRowFlex,children:E.map(e=>{const t=j(e),l=t===(null!==F?j(F):null);return(0,b.jsxs)(s.default,{onPress:()=>z(t),style:S.trackChip,children:[(0,b.jsx)(n.default,{style:[S.chipImage,{borderColor:l?_.primary:"transparent",borderWidth:l?2:0}],children:(0,b.jsx)(y.EventThumb,{event:e,width:56,height:56})}),(0,b.jsx)(o.default,{numberOfLines:1,style:[S.trackChipLabel,{color:l?_.foreground:_.foregroundMuted}],children:(c=e,c.label??c.className)})]},t);var c})}):(0,b.jsx)(n.default,{style:S.trackRowFlex}),u[12]=_,u[13]=F,u[14]=E,u[15]=H):H=u[15],u[16]!==_||u[17]!==w?(U=w?(0,b.jsx)(s.default,{onPress:w,hitSlop:10,style:[S.iconBtn,{backgroundColor:_.surface}],children:(0,b.jsx)(f.X,{size:20,color:_.foreground})}):null,u[16]=_,u[17]=w,u[18]=U):U=u[18],u[19]!==H||u[20]!==U?(V=(0,b.jsxs)(n.default,{style:S.pickerBar,children:[H,U]}),u[19]=H,u[20]=U,u[21]=V):V=u[21],u[22]!==A||u[23]!==_||u[24]!==v||u[25]!==R||u[26]!==O||u[27]!==N?(W=null!==O?(0,b.jsx)(k.TrackDetailView,{track:O,onSeek:R?v:void 0,bottomInset:A}):(0,b.jsx)(n.default,{style:S.empty,children:(0,b.jsx)(o.default,{style:{color:_.foregroundMuted},children:N("v2.theater.detailEmpty")})}),u[22]=A,u[23]=_,u[24]=v,u[25]=R,u[26]=O,u[27]=N,u[28]=W):W=u[28],u[29]!==W||u[30]!==V?(X=(0,b.jsxs)(n.default,{style:S.root,children:[V,W]}),u[29]=W,u[30]=V,u[31]=X):X=u[31],X}),S=u.default.create({root:{flex:1},pickerBar:{flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingTop:x.SPACING.sm},trackRowFlex:{flex:1},trackRow:{gap:x.SPACING.sm,paddingVertical:x.SPACING.xs,paddingRight:x.SPACING.md,alignItems:'center'},trackChip:{width:56,alignItems:'center',gap:2},chipImage:{width:56,height:56,borderRadius:x.RADIUS.md,overflow:'hidden'},trackChipLabel:{fontSize:10,maxWidth:64,textAlign:'center'},iconBtn:{width:36,height:36,borderRadius:x.RADIUS.md,alignItems:'center',justifyContent:'center'},empty:{flex:1,alignItems:'center',justifyContent:'center'}})},3524,[15,17,20,112,252,147,33,813,786,2587,2589,3373,3239,3519,10]);
15946
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"TimelineScroller",{enumerable:!0,get:function(){return L}});var t=r(d[0]),o=r(d[1]),l=e(r(d[2])),n=e(r(d[3])),s=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),f=r(d[7]),h=r(d[8]),p=r(d[9]),v=r(d[10]),x=r(d[11]),y=r(d[12]),b=r(d[13]);const S=36e5,C=h.SPACING.sm+3+h.SPACING.xs;function w(e,t,o,l){const{rowMinutes:n}=p.ZOOM_LEVELS[(0,p.clampZoomIndex)(l)],s=6e4*n,c=[];let u=Math.ceil((e+o)/s)*s;for(;u>=t;)c.push(u),u-=s;return c}const L=(0,o.memo)((0,o.forwardRef)(function(e,c){const p=(0,t.c)(72),{topMs:L,zoomIndex:P,dayWindow:E,clusters:j,activity:A,showMotionLane:k,showAudioLane:M,cardWidth:_,viewportHeight:G,indicatorOffsetPx:N,isLive:O,onScroll:D,onClusterPress:T,onClusterOpenDetail:R,clusterLabel:V,eventKinds:W}=e,{colors:z}=(0,f.useTheme)(),{t:H}=(0,u.useTranslation)(),F=(0,o.useRef)(null),[K,Z]=(0,o.useState)(0);let U,Y,q;p[0]===Symbol.for("react.memo_cache_sentinel")?(U=()=>({scrollToOffset:e=>{const{offset:t,animated:o}=e;return F.current?.scrollTo({y:t,animated:o??!1})}}),Y=[],p[0]=U,p[1]=Y):(U=p[0],Y=p[1]),(0,o.useImperativeHandle)(c,U,Y),p[2]!==E.from||p[3]!==L||p[4]!==P?(q=(0,v.epochToOffset)(E.from,L,P),p[2]=E.from,p[3]=L,p[4]=P,p[5]=q):q=p[5];const B=Math.max(G,q),J=N+B,Q=(0,v.pxPerHour)(P),X=Q>0?N/Q*S:0;let $;p[6]!==N||p[7]!==Q||p[8]!==L?($=e=>(L-e)/S*Q+N,p[6]=N,p[7]=Q,p[8]=L,p[9]=$):$=p[9];const ee=$;let te,oe,ie,le,ne,re,se,ae,de,ce,ue,fe,he,pe;if(p[10]!==_||p[11]!==z||p[12]!==J||p[13]!==ee||p[14]!==E.from||p[15]!==X||p[16]!==D||p[17]!==K||p[18]!==L||p[19]!==P){const e=w(L,E.from,X,P),t=h.SPACING.md+38+h.SPACING.sm,o=K-C-18-t;let c;oe=K>0?Math.max(t,t+(o-_)/2):h.SPACING.lg,te=l.default,re=F,se=!1,ae=D,p[30]===Symbol.for("react.memo_cache_sentinel")?(de=e=>Z(e.nativeEvent.layout.width),p[30]=de):de=p[30],ce=16,ie=I.scrollView,p[31]!==J?(le={height:J,position:"relative"},p[31]=J,p[32]=le):le=p[32],p[33]!==z||p[34]!==J||p[35]!==ee?(c=e=>{const t=ee(e);return t<0||t>J?null:(0,b.jsxs)(n.default,{pointerEvents:"none",style:[I.tickRow,{top:t}],children:[(0,b.jsx)(s.default,{style:[I.tickLabel,{color:z.foregroundSubtle}],children:(o=e,new Date(o).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'}))}),(0,b.jsx)(n.default,{style:[I.tickLine,{backgroundColor:z.borderSubtle}]})]},e);var o},p[33]=z,p[34]=J,p[35]=ee,p[36]=c):c=p[36],ne=e.map(c),p[10]=_,p[11]=z,p[12]=J,p[13]=ee,p[14]=E.from,p[15]=X,p[16]=D,p[17]=K,p[18]=L,p[19]=P,p[20]=te,p[21]=oe,p[22]=ie,p[23]=le,p[24]=ne,p[25]=re,p[26]=se,p[27]=ae,p[28]=de,p[29]=ce}else te=p[20],oe=p[21],ie=p[22],le=p[23],ne=p[24],re=p[25],se=p[26],ae=p[27],de=p[28],ce=p[29];return p[37]!==z||p[38]!==N||p[39]!==O||p[40]!==H?(ue=O?null:(0,b.jsxs)(n.default,{pointerEvents:"none",style:[I.liveEdge,{top:N}],children:[(0,b.jsx)(n.default,{style:[I.liveEdgeLine,{backgroundColor:z.live}]}),(0,b.jsxs)(n.default,{style:[I.liveEdgeCap,{backgroundColor:z.live}],children:[(0,b.jsx)(n.default,{style:[I.liveEdgeDot,{backgroundColor:z.primaryForeground}]}),(0,b.jsx)(s.default,{style:[I.liveEdgeLabel,{color:z.primaryForeground}],children:H("v2.theater.live")})]})]}),p[37]=z,p[38]=N,p[39]=O,p[40]=H,p[41]=ue):ue=p[41],p[42]!==oe||p[43]!==_||p[44]!==V||p[45]!==j||p[46]!==W||p[47]!==N||p[48]!==R||p[49]!==T?(fe=_>0&&j.map(e=>(0,b.jsx)(n.default,{style:[I.clusterWrapper,{top:e.topPx+N,left:oe,height:e.heightPx,width:_}],children:(0,b.jsx)(x.ClusterCard,{cluster:e,width:_,onPress:()=>{T(e)},onOpenDetail:R?()=>{R(e)}:void 0,clusterLabel:V,eventKinds:W})},e.id)),p[42]=oe,p[43]=_,p[44]=V,p[45]=j,p[46]=W,p[47]=N,p[48]=R,p[49]=T,p[50]=fe):fe=p[50],p[51]!==A||p[52]!==B||p[53]!==N||p[54]!==M||p[55]!==k||p[56]!==L||p[57]!==P?(he=B>0&&(0,b.jsx)(n.default,{pointerEvents:"none",style:[I.activityColumn,{top:N,height:B}],children:(0,b.jsx)(y.ActivityLanes,{model:A,topMs:L,zoomIndex:P,height:B,scrollOffsetY:0,width:18,showMotion:k,showAudio:M})}),p[51]=A,p[52]=B,p[53]=N,p[54]=M,p[55]=k,p[56]=L,p[57]=P,p[58]=he):he=p[58],p[59]!==te||p[60]!==ie||p[61]!==le||p[62]!==ne||p[63]!==ue||p[64]!==fe||p[65]!==he||p[66]!==re||p[67]!==se||p[68]!==ae||p[69]!==de||p[70]!==ce?(pe=(0,b.jsxs)(te,{ref:re,showsVerticalScrollIndicator:se,onScroll:ae,onLayout:de,scrollEventThrottle:ce,style:ie,contentContainerStyle:le,children:[ne,ue,fe,he]}),p[59]=te,p[60]=ie,p[61]=le,p[62]=ne,p[63]=ue,p[64]=fe,p[65]=he,p[66]=re,p[67]=se,p[68]=ae,p[69]=de,p[70]=ce,p[71]=pe):pe=p[71],pe})),I=c.default.create({scrollView:{flex:1},tickRow:{position:'absolute',left:0,right:0,flexDirection:'row',alignItems:'center',paddingLeft:h.SPACING.md,gap:h.SPACING.sm},tickLabel:{fontSize:9,fontVariant:['tabular-nums'],width:38,flexShrink:0},liveEdge:{position:'absolute',left:0,right:0,height:0,justifyContent:'center'},liveEdgeLine:{position:'absolute',left:0,right:0,height:1,opacity:.5},liveEdgeCap:{position:'absolute',right:h.SPACING.sm,top:-8,flexDirection:'row',alignItems:'center',gap:4,paddingHorizontal:6,paddingVertical:1.5,borderRadius:h.RADIUS.sm},liveEdgeDot:{width:5,height:5,borderRadius:2.5},liveEdgeLabel:{fontSize:9,fontWeight:'800',letterSpacing:.6},tickLine:{flex:1,height:c.default.hairlineWidth,opacity:.5},clusterWrapper:{position:'absolute',overflow:'hidden'},activityColumn:{position:'absolute',top:0,right:h.SPACING.sm+3+h.SPACING.xs}})},3525,[15,17,147,20,112,33,786,2587,2589,3142,3513,3526,3527,10]);
15947
+ __d(function(g,r,_i,a,_m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ClusterCard",{enumerable:!0,get:function(){return y}});var t=r(_d[0]),o=r(_d[1]),n=e(r(_d[2])),l=e(r(_d[3])),s=e(r(_d[4])),i=e(r(_d[5])),d=e(r(_d[6])),c=r(_d[7]),u=r(_d[8]),h=r(_d[9]),f=r(_d[10]),p=r(_d[11]),m=r(_d[12]),b=r(_d[13]),v=r(_d[14]),x=r(_d[15]);function C(e){return e.carouselEvents.length>0?e.carouselEvents:e.events.length>0?e.events:[e.representative]}const y=(0,o.memo)(function(e){const y=(0,t.c)(136),{cluster:j,width:I,selected:w,onPress:A,onOpenDetail:R,clusterLabel:k,eventKinds:P}=e,L=void 0!==w&&w,O=void 0===k?"icon":k,{colors:T}=(0,h.useTheme)(),{t:_}=(0,u.useTranslation)();let N;if(y[0]!==P){N=new Map;for(const e of P??[])N.set(e.kind,e);y[0]=P,y[1]=N}else N=y[1];const B=N,{settings:D}=(0,f.useSettings)(),z=D.clusters.showClass,E=D.clusters.showImportance;let G;y[2]!==j.representative.className?(G=(0,m.colorForEventType)(j.representative.className),y[2]=j.representative.className,y[3]=G):G=y[3];const M=G;let U;y[4]!==j?(U=C(j),y[4]=j,y[5]=U):U=y[5];const W=U,$=W.length>1,F=j.events.length>0,[K,V]=(0,o.useState)(0),H=W[K]?.timestamp??j.representative.timestamp;let q;y[6]!==H?(q=new Date(H).toLocaleTimeString(void 0,{hour:'2-digit',minute:'2-digit'}),y[6]=H,y[7]=q):q=y[7];const J=q,Q=W[K]?.importance??j.representative.importance,[X,Y]=(0,o.useState)(I),Z=(0,o.useRef)(null);let ee;y[8]===Symbol.for("react.memo_cache_sentinel")?(ee=e=>{const t=e.nativeEvent.layout.width;t>0&&Y(t)},y[8]=ee):ee=y[8];const te=ee;let oe;y[9]!==X||y[10]!==W.length?(oe=e=>{const t=Math.max(0,Math.min(e,W.length-1));Z.current?.scrollTo({x:t*X,animated:!0}),V(t)},y[9]=X,y[10]=W.length,y[11]=oe):oe=y[11];const ne=oe;let re;y[12]!==X||y[13]!==W.length?(re=e=>{if(X<=0)return;const t=e.nativeEvent.contentOffset.x,o=Math.max(0,Math.min(Math.round(t/X),W.length-1));V(o)},y[12]=X,y[13]=W.length,y[14]=re):re=y[14];const le=re,se=j.heightPx,ie=L?3:2;let ae,de,ce,ue,he,ge,fe,pe,me,be,ve,xe,Ce,ye,Se,je,Ie,we,Ae,Re,ke,Pe,Le,Oe,Te,Ne;if(y[15]!==M||y[16]!==K||y[17]!==ie||y[18]!==se||y[19]!==X||y[20]!==j||y[21]!==O||y[22]!==T||y[23]!==W||y[24]!==ne||y[25]!==$||y[26]!==B||y[27]!==le||y[28]!==A||y[29]!==z||y[30]!==_||y[31]!==I){const e=j.classes.slice(0,3),t=j.classes.length-e.length;let o,u;if(y[47]!==j.events){o=new Set;for(const e of j.events)for(const t of e.audioLabels??[])o.add(t);y[47]=j.events,y[48]=o}else o=y[48];y[49]!==o?(u=[...o],y[49]=o,y[50]=u):u=y[50];const h=u,f=h.slice(0,2);ue=h.length-f.length,ce=s.default,y[51]!==M||y[52]!==ie||y[53]!==se||y[54]!==T.surface||y[55]!==I?(be=[S.container,{width:I,height:se,borderLeftWidth:ie,borderLeftColor:M,backgroundColor:T.surface,borderRadius:p.RADIUS.md}],y[51]=M,y[52]=ie,y[53]=se,y[54]=T.surface,y[55]=I,y[56]=be):be=y[56],ve=A,xe=te,y[57]!==K||y[58]!==se||y[59]!==X||y[60]!==j||y[61]!==W||y[62]!==$||y[63]!==le?(Ce=$&&X>0?(0,x.jsx)(d.default,{ref:Z,horizontal:!0,nestedScrollEnabled:!0,snapToInterval:X,decelerationRate:"fast",showsHorizontalScrollIndicator:!1,onScroll:le,scrollEventThrottle:16,style:i.default.absoluteFill,contentContainerStyle:{height:se},children:W.map((e,t)=>Math.abs(t-K)<=1?(0,x.jsx)(b.EventThumb,{event:e,width:X,height:se},`${e.id}_${t}`):(0,x.jsx)(n.default,{style:{width:X,height:se,backgroundColor:(0,m.colorForEventType)(e.className)+"1A"}},`${e.id}_${t}`))}):(0,x.jsx)(n.default,{style:i.default.absoluteFill,children:(0,x.jsx)(b.EventThumb,{event:j.representative,width:X,height:se})}),y[57]=K,y[58]=se,y[59]=X,y[60]=j,y[61]=W,y[62]=$,y[63]=le,y[64]=Ce):Ce=y[64],y[65]!==K||y[66]!==T.background||y[67]!==T.foreground||y[68]!==ne||y[69]!==$?(ye=$&&K>0&&(0,x.jsx)(s.default,{style:[S.navBtn,S.navBtnLeft,{backgroundColor:T.background+"B0"}],onPress:()=>ne(K-1),hitSlop:6,children:(0,x.jsx)(c.ChevronLeft,{size:14,color:T.foreground})}),y[65]=K,y[66]=T.background,y[67]=T.foreground,y[68]=ne,y[69]=$,y[70]=ye):ye=y[70],y[71]!==K||y[72]!==T.background||y[73]!==T.foreground||y[74]!==W||y[75]!==ne||y[76]!==$?(Se=$&&K<W.length-1&&(0,x.jsx)(s.default,{style:[S.navBtn,S.navBtnRight,{backgroundColor:T.background+"B0"}],onPress:()=>ne(K+1),hitSlop:6,children:(0,x.jsx)(c.ChevronRight,{size:14,color:T.foreground})}),y[71]=K,y[72]=T.background,y[73]=T.foreground,y[74]=W,y[75]=ne,y[76]=$,y[77]=Se):Se=y[77],de=n.default;const C=T.background+"B0";y[78]!==C?(me=[S.bottomOverlay,{backgroundColor:C}],y[78]=C,y[79]=me):me=y[79],ae=n.default,he=S.pillsRow,ge=z?e.map((e,t)=>{const o=B.get(e),s=o?.color??(0,m.colorForEventType)(e),i="icon"===O&&void 0!==o?(0,v.resolveEventKindIcon)(o.iconId):null;return(0,x.jsx)(n.default,{style:[S.pill,{backgroundColor:s+"2A",borderColor:s+"66"}],children:i?(0,x.jsx)(i,{size:10,color:s}):(0,x.jsx)(l.default,{style:[S.pillText,{color:s}],children:o?(0,v.eventKindLabel)(o,_):e})},`${e}_${t}`)}):null,y[80]!==M||y[81]!==t||y[82]!==z?(fe=z&&t>0&&(0,x.jsxs)(l.default,{style:[S.extraBadge,{color:M}],children:["+",t]}),y[80]=M,y[81]=t,y[82]=z,y[83]=fe):fe=y[83],pe=z?f.map((e,t)=>{const o=`audio-${e.toLowerCase()}`,s=B.get(o),i="icon"===O?(0,v.resolveEventKindIcon)(o):null;return(0,x.jsx)(n.default,{style:[S.pill,{backgroundColor:m.AUDIO_COLOR+"2A",borderColor:m.AUDIO_COLOR+"66"}],children:i?(0,x.jsx)(i,{size:10,color:m.AUDIO_COLOR}):(0,x.jsx)(l.default,{style:[S.pillText,{color:m.AUDIO_COLOR}],children:s?(0,v.eventKindLabel)(s,_):e})},`audio_${e}_${t}`)}):null,y[15]=M,y[16]=K,y[17]=ie,y[18]=se,y[19]=X,y[20]=j,y[21]=O,y[22]=T,y[23]=W,y[24]=ne,y[25]=$,y[26]=B,y[27]=le,y[28]=A,y[29]=z,y[30]=_,y[31]=I,y[32]=ae,y[33]=de,y[34]=ce,y[35]=ue,y[36]=he,y[37]=ge,y[38]=fe,y[39]=pe,y[40]=me,y[41]=be,y[42]=ve,y[43]=xe,y[44]=Ce,y[45]=ye,y[46]=Se}else ae=y[32],de=y[33],ce=y[34],ue=y[35],he=y[36],ge=y[37],fe=y[38],pe=y[39],me=y[40],be=y[41],ve=y[42],xe=y[43],Ce=y[44],ye=y[45],Se=y[46];return y[84]!==ue||y[85]!==z?(je=z&&ue>0&&(0,x.jsxs)(l.default,{style:[S.extraBadge,{color:m.AUDIO_COLOR}],children:["+",ue]}),y[84]=ue,y[85]=z,y[86]=je):je=y[86],y[87]!==ae||y[88]!==he||y[89]!==ge||y[90]!==fe||y[91]!==pe||y[92]!==je?(Ie=(0,x.jsxs)(ae,{style:he,children:[ge,fe,pe,je]}),y[87]=ae,y[88]=he,y[89]=ge,y[90]=fe,y[91]=pe,y[92]=je,y[93]=Ie):Ie=y[93],y[94]!==Q||y[95]!==T.primary||y[96]!==T.primaryForeground||y[97]!==E?(we=E&&"number"==typeof Q?(0,x.jsx)(n.default,{style:[S.importancePill,{backgroundColor:T.primary}],children:(0,x.jsx)(l.default,{style:[S.importanceText,{color:T.primaryForeground}],children:Math.round(100*Q)})}):null,y[94]=Q,y[95]=T.primary,y[96]=T.primaryForeground,y[97]=E,y[98]=we):we=y[98],y[99]!==M||y[100]!==K||y[101]!==W||y[102]!==$?(Ae=$&&(0,x.jsxs)(l.default,{style:[S.pageCounter,{color:M}],children:[K+1,"/",W.length]}),y[99]=M,y[100]=K,y[101]=W,y[102]=$,y[103]=Ae):Ae=y[103],y[104]!==T.foregroundMuted?(Re=[S.timeLabel,p.TABULAR,{color:T.foregroundMuted}],y[104]=T.foregroundMuted,y[105]=Re):Re=y[105],y[106]!==Re||y[107]!==J?(ke=(0,x.jsx)(l.default,{style:Re,children:J}),y[106]=Re,y[107]=J,y[108]=ke):ke=y[108],y[109]!==we||y[110]!==Ae||y[111]!==ke?(Pe=(0,x.jsxs)(n.default,{style:S.rightRow,children:[we,Ae,ke]}),y[109]=we,y[110]=Ae,y[111]=ke,y[112]=Pe):Pe=y[112],y[113]!==de||y[114]!==me||y[115]!==Ie||y[116]!==Pe?(Le=(0,x.jsxs)(de,{style:me,children:[Ie,Pe]}),y[113]=de,y[114]=me,y[115]=Ie,y[116]=Pe,y[117]=Le):Le=y[117],y[118]!==T.background||y[119]!==T.foreground||y[120]!==R?(Oe=R?(0,x.jsx)(s.default,{style:[S.lensBtn,{backgroundColor:T.background+"CC"}],onPress:R,hitSlop:8,children:(0,x.jsx)(c.Search,{size:12,color:T.foreground})}):null,y[118]=T.background,y[119]=T.foreground,y[120]=R,y[121]=Oe):Oe=y[121],y[122]!==M||y[123]!==F?(Te=F&&(0,x.jsx)(n.default,{style:[S.eventsDot,{backgroundColor:M}]}),y[122]=M,y[123]=F,y[124]=Te):Te=y[124],y[125]!==ce||y[126]!==be||y[127]!==ve||y[128]!==xe||y[129]!==Ce||y[130]!==ye||y[131]!==Se||y[132]!==Le||y[133]!==Oe||y[134]!==Te?(Ne=(0,x.jsxs)(ce,{style:be,onPress:ve,onLayout:xe,children:[Ce,ye,Se,Le,Oe,Te]}),y[125]=ce,y[126]=be,y[127]=ve,y[128]=xe,y[129]=Ce,y[130]=ye,y[131]=Se,y[132]=Le,y[133]=Oe,y[134]=Te,y[135]=Ne):Ne=y[135],Ne}),S=i.default.create({container:{overflow:'hidden',borderLeftWidth:2},bottomOverlay:{position:'absolute',bottom:0,left:0,right:0,flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:p.SPACING.sm,paddingVertical:p.SPACING.xs+1},pillsRow:{flexDirection:'row',alignItems:'center',gap:p.SPACING.xs,flexShrink:1,flexWrap:'nowrap'},pill:{paddingHorizontal:p.SPACING.xs+1,paddingVertical:1,borderRadius:p.RADIUS.sm,borderWidth:1},pillText:{fontSize:8,fontWeight:'600'},extraBadge:{fontSize:8,fontWeight:'700'},rightRow:{flexDirection:'row',alignItems:'center',gap:p.SPACING.xs,flexShrink:0},importancePill:{paddingHorizontal:5,paddingVertical:1,borderRadius:8},importanceText:{fontSize:8,fontWeight:'700',fontVariant:['tabular-nums']},pageCounter:{fontSize:9,fontWeight:'600',fontVariant:['tabular-nums']},timeLabel:{fontSize:9,flexShrink:0},carouselToggle:{position:'absolute',top:p.SPACING.sm,left:p.SPACING.sm,width:18,height:18,borderRadius:p.RADIUS.sm,borderWidth:1,alignItems:'center',justifyContent:'center'},eventsDot:{position:'absolute',top:p.SPACING.sm,right:p.SPACING.sm,width:6,height:6,borderRadius:3},lensBtn:{position:'absolute',top:p.SPACING.sm,left:p.SPACING.sm,width:20,height:20,borderRadius:p.RADIUS.sm,alignItems:'center',justifyContent:'center'},navBtn:{position:'absolute',top:'50%',marginTop:-11,width:22,height:22,borderRadius:11,alignItems:'center',justifyContent:'center'},navBtnLeft:{left:p.SPACING.xs},navBtnRight:{right:p.SPACING.xs}})},3526,[15,17,20,112,252,33,147,813,786,2587,3177,2589,3231,3373,3170,10]);
15948
+ __d(function(g,_r,i,a,m,_e,d){"use strict";function t(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ActivityLanes",{enumerable:!0,get:function(){return w}});var e=_r(d[0]),o=_r(d[1]),n=t(_r(d[2])),s=t(_r(d[3])),l=_r(d[4]),r=_r(d[5]),c=_r(d[6]);const h=r.BAND.recording,u=r.BAND.motion,f=r.BAND.audioGradient[1];function p(t,e,o,n,s,r){const c=(0,l.epochToOffset)(e,o,n)-s,h=(0,l.epochToOffset)(t,o,n)-s,u=Math.max(0,c),f=Math.min(r,h)-u;return f<=0?null:{top:u,height:f}}function x(t){const o=(0,e.c)(16),{ranges:s,topMs:l,zoomIndex:r,scrollOffsetY:u,height:f,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==u||o[4]!==l||o[5]!==f||o[6]!==r){let t;o[8]!==u||o[9]!==l||o[10]!==f||o[11]!==r?(t=t=>{const e=p(t.startMs,t.endMs,l,r,u,f);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:h,opacity:.32}]},`rec_${t.startMs}_${t.endMs}`)},o[8]=u,o[9]=l,o[10]=f,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=u,o[4]=l,o[5]=f,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}function M(t){const o=(0,e.c)(16),{buckets:s,topMs:l,zoomIndex:r,scrollOffsetY:h,height:f,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==h||o[4]!==l||o[5]!==f||o[6]!==r){let t;o[8]!==h||o[9]!==l||o[10]!==f||o[11]!==r?(t=t=>{if(t.intensity<=0)return null;const e=p(t.startMs,t.endMs,l,r,h,f);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:u,opacity:Math.max(.1,t.intensity)}]},`mot_${t.startMs}`)},o[8]=h,o[9]=l,o[10]=f,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=h,o[4]=l,o[5]=f,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}function y(t){const o=(0,e.c)(16),{buckets:s,topMs:l,zoomIndex:r,scrollOffsetY:h,height:u,width:x}=t;let M,y,w;if(o[0]!==x?(M=[j.lane,{width:x}],o[0]=x,o[1]=M):M=o[1],o[2]!==s||o[3]!==h||o[4]!==l||o[5]!==u||o[6]!==r){let t;o[8]!==h||o[9]!==l||o[10]!==u||o[11]!==r?(t=t=>{if(t.intensity<=0)return null;const e=p(t.startMs,t.endMs,l,r,h,u);return null===e?null:(0,c.jsx)(n.default,{style:[j.segment,{top:e.top,height:e.height,backgroundColor:f,opacity:Math.max(.1,t.intensity)}]},`aud_${t.startMs}`)},o[8]=h,o[9]=l,o[10]=u,o[11]=r,o[12]=t):t=o[12],y=s.map(t),o[2]=s,o[3]=h,o[4]=l,o[5]=u,o[6]=r,o[7]=y}else y=o[7];return o[13]!==M||o[14]!==y?(w=(0,c.jsx)(n.default,{style:M,children:y}),o[13]=M,o[14]=y,o[15]=w):w=o[15],w}const w=(0,o.memo)(function(t){const o=(0,e.c)(33),{model:s,topMs:l,zoomIndex:r,height:h,scrollOffsetY:u,width:f,showMotion:p,showAudio:w}=t,_=void 0===p||p,b=void 0===w||w,O=Math.max(1,(f-4)/3);let v,k,z,I,Y,A,D;return o[0]!==h||o[1]!==f?(v=[j.container,{width:f,height:h}],o[0]=h,o[1]=f,o[2]=v):v=o[2],o[3]!==h||o[4]!==O||o[5]!==s.recording||o[6]!==u||o[7]!==l||o[8]!==r?(k=(0,c.jsx)(x,{ranges:s.recording,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}),o[3]=h,o[4]=O,o[5]=s.recording,o[6]=u,o[7]=l,o[8]=r,o[9]=k):k=o[9],o[10]===Symbol.for("react.memo_cache_sentinel")?(z=(0,c.jsx)(n.default,{style:{width:2}}),o[10]=z):z=o[10],o[11]!==h||o[12]!==O||o[13]!==s.motion||o[14]!==u||o[15]!==_||o[16]!==l||o[17]!==r?(I=_?(0,c.jsx)(M,{buckets:s.motion,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}):(0,c.jsx)(n.default,{style:{width:O}}),o[11]=h,o[12]=O,o[13]=s.motion,o[14]=u,o[15]=_,o[16]=l,o[17]=r,o[18]=I):I=o[18],o[19]===Symbol.for("react.memo_cache_sentinel")?(Y=(0,c.jsx)(n.default,{style:{width:2}}),o[19]=Y):Y=o[19],o[20]!==h||o[21]!==O||o[22]!==s.audio||o[23]!==u||o[24]!==b||o[25]!==l||o[26]!==r?(A=b?(0,c.jsx)(y,{buckets:s.audio,topMs:l,zoomIndex:r,scrollOffsetY:u,height:h,width:O}):(0,c.jsx)(n.default,{style:{width:O}}),o[20]=h,o[21]=O,o[22]=s.audio,o[23]=u,o[24]=b,o[25]=l,o[26]=r,o[27]=A):A=o[27],o[28]!==v||o[29]!==k||o[30]!==I||o[31]!==A?(D=(0,c.jsxs)(n.default,{pointerEvents:"none",style:v,children:[k,z,I,Y,A]}),o[28]=v,o[29]=k,o[30]=I,o[31]=A,o[32]=D):D=o[32],D}),j=s.default.create({container:{flexDirection:'row',overflow:'hidden'},lane:{position:'relative',overflow:'hidden'},segment:{position:'absolute',left:0,right:0}})},3527,[15,17,20,33,3513,2589,10]);
15949
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.WideDetailLayout=function(e){const n=(0,t.c)(13),{railWidth:f,stream:o,infoArea:c,timeline:h}=e,x=c??null;let y,_,j,w,v;n[0]!==x?(y=(0,s.jsx)(l.default,{style:u.infoArea,children:x}),n[0]=x,n[1]=y):y=n[1];n[2]!==o||n[3]!==y?(_=(0,s.jsxs)(l.default,{style:u.streamColumn,children:[o,y]}),n[2]=o,n[3]=y,n[4]=_):_=n[4];n[5]!==f?(j=[u.rail,{width:f}],n[5]=f,n[6]=j):j=n[6];n[7]!==j||n[8]!==h?(w=(0,s.jsx)(l.default,{style:j,children:h}),n[7]=j,n[8]=h,n[9]=w):w=n[9];n[10]!==_||n[11]!==w?(v=(0,s.jsxs)(l.default,{style:u.row,children:[_,w]}),n[10]=_,n[11]=w,n[12]=v):v=n[12];return v};var t=r(d[0]);r(d[1]);var l=e(r(d[2])),n=e(r(d[3])),s=r(d[4]);const u=n.default.create({row:{flex:1,flexDirection:'row',minHeight:0},streamColumn:{flex:1,minWidth:0,alignItems:'center'},infoArea:{flex:1,minHeight:0,alignSelf:'stretch'},rail:{minHeight:0}})},3528,[15,17,20,33,10]);
15950
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"TIMELINE_RAIL_WIDTH",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"TIMELINE_RAIL_WIDTH_NARROW",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"RAIL_NARROW_BELOW",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"STREAM_MAX_HEIGHT_FRACTION",{enumerable:!0,get:function(){return o}}),e.computeWideDetailSizes=function({containerWidth:c,viewportHeight:_}){const f=c<u?n:t,I=Math.max(0,c-f),b=_*o*16/9,O=Math.min(I,b);return{railWidth:f,streamWidth:O,streamHeight:9*O/16}};const t=380,n=340,u=1180,o=.62},3529,[]);
15951
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.MotionBadge=function(e){const l=(0,t.c)(16),{label:c}=e,{t:w}=(0,s.useTranslation)(),{colors:h}=(0,u.useTheme)(),x=`${h.warning}26`;let p,C,I,S,A,P;l[0]!==x?(p=[b.badge,{backgroundColor:x}],l[0]=x,l[1]=p):p=l[1];l[2]!==h.warning?(C=(0,f.jsx)(n.default,{style:[b.dot,{backgroundColor:h.warning}]}),l[2]=h.warning,l[3]=C):C=l[3];l[4]!==h.warning?(I=[b.text,{color:h.warning}],l[4]=h.warning,l[5]=I):I=l[5];l[6]!==c||l[7]!==w?(S=c??w("v2.cameras.motion"),l[6]=c,l[7]=w,l[8]=S):S=l[8];l[9]!==I||l[10]!==S?(A=(0,f.jsx)(o.default,{style:I,children:S}),l[9]=I,l[10]=S,l[11]=A):A=l[11];l[12]!==p||l[13]!==C||l[14]!==A?(P=(0,f.jsxs)(n.default,{style:p,pointerEvents:"none",children:[C,A]}),l[12]=p,l[13]=C,l[14]=A,l[15]=P):P=l[15];return P};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),l=e(r(d[4])),s=r(d[5]),u=r(d[6]),c=r(d[7]),f=r(d[8]);const b=l.default.create({badge:{position:'absolute',top:c.SPACING.md,right:c.SPACING.md,flexDirection:'row',alignItems:'center',gap:c.SPACING.xs,paddingHorizontal:c.SPACING.md,paddingVertical:c.SPACING.xs,borderRadius:c.RADIUS.md},dot:{width:7,height:7,borderRadius:3.5},text:{fontSize:11,fontWeight:'700'}})},3530,[15,17,20,112,33,786,2587,2589,10]);
15952
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.DoorbellBadge=function(e){const s=(0,t.c)(55),{deviceId:h,enabled:I}=e,{t:C}=(0,_.useTranslation)(),{colors:j}=(0,b.useTheme)(),{lastPressedAt:D,ringingNow:E}=(0,y.useDoorbell)(h,I),[M,R]=(0,n.useState)(S);let k,P;s[0]!==I||s[1]!==D||s[2]!==E?(k=()=>{if(!I||E||null===D)return;const e=setInterval(()=>R(Date.now()),x);return()=>clearInterval(e)},P=[I,E,D],s[0]=I,s[1]=D,s[2]=E,s[3]=k,s[4]=P):(k=s[3],P=s[4]);(0,n.useEffect)(k,P);const N=(0,u.useSharedValue)(1);let T,G;s[5]!==N||s[6]!==E?(T=()=>{if(E)return N.value=(0,u.withRepeat)((0,u.withSequence)((0,u.withTiming)(.4,{duration:v,easing:u.Easing.inOut(u.Easing.ease)}),(0,u.withTiming)(1,{duration:v,easing:u.Easing.inOut(u.Easing.ease)})),-1,!1),()=>(0,u.cancelAnimation)(N);N.value=(0,u.withTiming)(1,{duration:150})},G=[N,E],s[5]=N,s[6]=E,s[7]=T,s[8]=G):(T=s[7],G=s[8]);(0,n.useEffect)(T,G);const z=(0,u.useAnimatedStyle)((function({_worklet_15229690820397_init_data:e,breathe:t}){const n=()=>({opacity:t.value,transform:[{scale:.85+.15*t.value}]});return n.__closure={breathe:t},n.__workletHash=0xdd9f04fb72d,n.__initData=e,n})({_worklet_15229690820397_init_data:w,breathe:N}));if(!I)return null;if(E){const e=`${j.primary}26`;let t,n,u,_,b,h,y;return s[9]!==e?(t=[A.badge,{backgroundColor:e}],s[9]=e,s[10]=t):t=s[10],s[11]!==j.primary?(n=(0,p.jsx)(f.BellRing,{size:13,color:j.primary}),s[11]=j.primary,s[12]=n):n=s[12],s[13]!==z||s[14]!==n?(u=(0,p.jsx)(c.default.View,{style:z,children:n}),s[13]=z,s[14]=n,s[15]=u):u=s[15],s[16]!==j.primary?(_=[A.text,{color:j.primary}],s[16]=j.primary,s[17]=_):_=s[17],s[18]!==C?(b=C("v2.cameras.doorbellRinging"),s[18]=C,s[19]=b):b=s[19],s[20]!==b||s[21]!==_?(h=(0,p.jsx)(l.default,{style:_,children:b}),s[20]=b,s[21]=_,s[22]=h):h=s[22],s[23]!==h||s[24]!==t||s[25]!==u?(y=(0,p.jsxs)(o.default,{style:t,pointerEvents:"none",children:[u,h]}),s[23]=h,s[24]=t,s[25]=u,s[26]=y):y=s[26],y}let B,O,V,H,$,q,L,U,W,F;if(s[27]!==j||s[28]!==D||s[29]!==M||s[30]!==C){V=Symbol.for("react.early_return_sentinel");e:{const e=(0,y.formatRingAgo)(D,M);if(null===e){V=null;break e}O=o.default;const t=`${j.background}CC`;s[39]!==t?(q=[A.badge,{backgroundColor:t}],s[39]=t,s[40]=q):q=s[40],L="none",s[41]!==j.foregroundMuted?(U=(0,p.jsx)(f.BellRing,{size:12,color:j.foregroundMuted}),s[41]=j.foregroundMuted,s[42]=U):U=s[42],B=l.default,s[43]!==j.foregroundMuted?(H=[A.text,{color:j.foregroundMuted}],s[43]=j.foregroundMuted,s[44]=H):H=s[44],$=C("v2.cameras.doorbellLastRing",{time:e})}s[27]=j,s[28]=D,s[29]=M,s[30]=C,s[31]=B,s[32]=O,s[33]=V,s[34]=H,s[35]=$,s[36]=q,s[37]=L,s[38]=U}else B=s[31],O=s[32],V=s[33],H=s[34],$=s[35],q=s[36],L=s[37],U=s[38];if(V!==Symbol.for("react.early_return_sentinel"))return V;s[45]!==B||s[46]!==H||s[47]!==$?(W=(0,p.jsx)(B,{style:H,children:$}),s[45]=B,s[46]=H,s[47]=$,s[48]=W):W=s[48];s[49]!==O||s[50]!==W||s[51]!==q||s[52]!==L||s[53]!==U?(F=(0,p.jsxs)(O,{style:q,pointerEvents:L,children:[U,W]}),s[49]=O,s[50]=W,s[51]=q,s[52]=L,s[53]=U,s[54]=F):F=s[54];return F};var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),c=e(u),f=r(d[6]),_=r(d[7]),b=r(d[8]),h=r(d[9]),y=r(d[10]),p=r(d[11]);const v=500,x=6e4,w={code:"function DoorbellBadgeTsx1(){const{breathe}=this.__closure;return{opacity:breathe.value,transform:[{scale:0.85+0.15*breathe.value}]};}"};function S(){return Date.now()}const A=s.default.create({badge:{position:'absolute',top:h.SPACING.md,left:h.SPACING.md,flexDirection:'row',alignItems:'center',gap:h.SPACING.xs,paddingHorizontal:h.SPACING.md,paddingVertical:h.SPACING.xs,borderRadius:h.RADIUS.md},text:{fontSize:11,fontWeight:'700'}})},3531,[15,17,20,112,33,2714,813,786,2587,2589,3532,10]);
15953
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"DOORBELL_CATEGORY",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"RING_WINDOW_MS",{enumerable:!0,get:function(){return l}}),e.readDoorbellStatus=p,e.parseDoorbellEvent=b,e.formatRingAgo=function(t,n){if(null===t)return null;const s=Math.max(0,Math.floor((n-t)/1e3));if(s<60)return'now';const u=Math.floor(s/60);if(u<60)return`${u}m`;const o=Math.floor(u/60);if(o<24)return`${o}h`;return`${Math.floor(o/24)}d`},e.useDoorbell=function(f,y){const P=(0,t.c)(20),{controller:C,state:A}=(0,u.useConnection)(),v=y&&"connected"===A;let S,h,I;P[0]!==f?(S=["v2","doorbell",f],P[0]=f,P[1]=S):S=P[1];P[2]!==C||P[3]!==f?(h=async()=>{const t=C.getSystem();if(!t)return{lastPressedAt:null,pressCount:0};try{return p(await t.trpcClient.doorbell.getStatus.query({deviceId:f}))}catch{return{lastPressedAt:null,pressCount:0}}},P[2]=C,P[3]=f,P[4]=h):h=P[4];P[5]!==v||P[6]!==S||P[7]!==h?(I={queryKey:S,enabled:v,refetchInterval:c,queryFn:h},P[5]=v,P[6]=S,P[7]=h,P[8]=I):I=P[8];const{data:M}=(0,s.useQuery)(I);let O;P[9]!==M?(O=void 0===M?{lastPressedAt:null,pressCount:0}:M,P[9]=M,P[10]=O):O=P[10];const _=O,[D,E]=(0,n.useState)(!1),[R,j]=(0,n.useState)(null),T=(0,n.useRef)(null);let q,w;P[11]!==v||P[12]!==C||P[13]!==f?(q=()=>{if(!v)return E(!1),void j(null);const t=C.getSystem();if(!t)return;const n=t.subscribeEvent(o,t=>{const n=b(t);n&&n.deviceId===f&&(j(n.timestamp),E(!0),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{E(!1),T.current=null},l))});return()=>{n(),T.current&&(clearTimeout(T.current),T.current=null),E(!1)}},w=[C,v,f],P[11]=v,P[12]=C,P[13]=f,P[14]=q,P[15]=w):(q=P[14],w=P[15]);(0,n.useEffect)(q,w);const N=null!==R&&(null===_.lastPressedAt||R>_.lastPressedAt)?R:_.lastPressedAt;let $;P[16]!==N||P[17]!==_.pressCount||P[18]!==D?($={lastPressedAt:N,pressCount:_.pressCount,ringingNow:D},P[16]=N,P[17]=_.pressCount,P[18]=D,P[19]=$):$=P[19];return $};var t=r(d[0]),n=r(d[1]),s=r(d[2]),u=r(d[3]);const o='doorbell.onPressed',l=8e3,c=3e4;function f(t){return'object'==typeof t&&null!==t}function p(t){if(!f(t))return{lastPressedAt:null,pressCount:0};return{lastPressedAt:'number'==typeof t.lastPressedAt?t.lastPressedAt:null,pressCount:'number'==typeof t.pressCountSinceStart?t.pressCountSinceStart:0}}function b(t){if(!f(t))return null;const n=t.deviceId,s=t.timestamp;return'number'!=typeof n||'number'!=typeof s?null:{deviceId:n,timestamp:s}}},3532,[15,17,3081,2594]);
15954
+ __d(function(g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useEventHaptics=function(e,s){const h=(0,t.c)(10),{controller:T,state:O}=(0,o.useConnection)(),R=(0,u.useSettingsStore)(_);let C;h[0]!==e?(C=[...e].sort(p).join(","),h[0]=e,h[1]=C):C=h[1];const S=C,A=(0,n.useRef)(0),I=(0,n.useRef)(c.default.currentState),M=s&&R.enabled&&!1;let x,y,D,N;h[2]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{},y=[],h[2]=x,h[3]=y):(x=h[2],y=h[3]);(0,n.useEffect)(x,y),h[4]!==M||h[5]!==T||h[6]!==S||h[7]!==R?(D=()=>{if(!M)return;const e=T.getSystem();if(!e)return;const t=new Set(S.split(",").map(v)),n=e=>{if("active"!==I.current)return;const t=Date.now(),n=(0,l.resolveHaptic)(R,e,A.current,t);n&&(A.current=t,(0,E.fireHaptic)(n))},s=e.subscribeEvent(a.MOTION_CATEGORY,e=>{const s=(0,a.parseMotionEvent)(e);s&&s.detected&&t.has(s.deviceId)&&n("motion")}),c=e.subscribeEvent(f.DETECTION_CATEGORY,e=>{const s=(0,f.parseDetectionEvent)(e);s&&0!==s.boxes.length&&t.has(Number(s.sourceId))&&n(b(s.boxes))}),o=e.subscribeEvent(f.FRAME_TRACKED_CATEGORY,e=>{const s=(0,f.parseFrameTrackedEvent)(e);s&&0!==s.boxes.length&&t.has(s.deviceId)&&n(b(s.boxes))});return()=>{s(),c(),o()}},N=[T,M,S,R],h[4]=M,h[5]=T,h[6]=S,h[7]=R,h[8]=D,h[9]=N):(D=h[8],N=h[9]);(0,n.useEffect)(D,N)};var e,t=r(d[0]),n=r(d[1]),s=r(d[2]),c=(e=s)&&e.__esModule?e:{default:e};r(d[3]);var o=r(d[4]),u=r(d[5]),a=r(d[6]),f=r(d[7]),l=r(d[8]),E=r(d[9]);function b(e){const t=e.map(e=>e.label),n=e.some(e=>'string'==typeof e.name&&e.name.length>0);return(0,l.detectionEventKind)(t,n)}function v(e){return Number(e)}function p(e,t){return e-t}function _(e){return e.settings.haptics}},3533,[15,17,226,136,2594,3140,3156,3385,3141,3534]);
15955
+ __d(function(g,r,i,a,_m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.fireHaptic=function(t){return},r(d[0])},3534,{"0":136,"1":3603,"2":3378,"paths":{"3603":"/viewer/camstack/_expo/static/js/web/Haptics-7415443949f145adbb0e0fae7f7a96bd.js"}});
15956
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useHeld=function(n,c){const o=(0,t.c)(4),[s,f]=(0,u.useState)(n);let l,_;o[0]!==n||o[1]!==c?(l=()=>{if(n)return void f(!0);const t=setTimeout(()=>f(!1),Math.max(0,c));return()=>clearTimeout(t)},_=[n,c],o[0]=n,o[1]=c,o[2]=l,o[3]=_):(l=o[2],_=o[3]);return(0,u.useEffect)(l,_),s};var t=r(d[0]),u=r(d[1])},3535,[15,17]);
15957
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.qualityToTarget=function(t){return'auto'===t?{kind:'adaptive'}:{kind:'profile',profile:'medium'===t?'mid':t}}},3536,[]);
15958
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.ExportsScreen,{}),o[0]=u):u=o[0],u}},3537,[15,3538,10]);
15959
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function t(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ExportsScreen=function(){const{t:e}=(0,b.useTranslation)(),t=(0,y.useRouter)(),{colors:o}=(0,v.useTheme)(),{state:l}=(0,S.useConnection)(),{token:f}=(0,j.useServer)(),{data:x=[],error:h,isLoading:M}=(0,I.useExportsList)(),{data:N=[]}=(0,A.useCameras)(),E=(0,I.useExportEvents)(),R=(0,I.useCancelExport)(),B=(0,I.useDeleteExport)(),L=(0,I.useResolveDownloadUrl)(),[z,O]=(0,n.useState)(()=>Date.now());(0,n.useEffect)(()=>{const e=setInterval(()=>O(Date.now()),1e3);return()=>clearInterval(e)},[]);const _=(0,n.useCallback)(t=>{const o=N.find(e=>e.id===t);return o?.name??e('v2.cameraDetail.fallbackName',{id:t})},[N,e]),H=(0,n.useCallback)(async t=>{const o=await L(t.id);if(null!==o)try{window.open(o,'_blank')}catch(e){D.log.warn('exports','web download open failed',{error:e instanceof Error?e.message:String(e)})}else p.default.alert(e('v2.exports.title'),e('v2.exports.downloadUnavailable'))},[L,f,e]),U=(0,n.useCallback)(t=>{p.default.alert(e('v2.exports.cancelConfirmTitle'),e('v2.exports.cancelConfirmBody'),[{text:e('v2.exports.dismiss'),style:'cancel'},{text:e('v2.exports.cancelAction'),style:'destructive',onPress:()=>{R.mutate(t.id)}}])},[R,e]),W=(0,n.useCallback)(t=>{p.default.alert(e('v2.exports.deleteConfirmTitle'),e('v2.exports.deleteConfirmBody'),[{text:e('v2.exports.dismiss'),style:'cancel'},{text:e('v2.exports.deleteAction'),style:'destructive',onPress:()=>{B.mutate(t.id)}}])},[B,e]),F=(0,n.useMemo)(()=>'connected'!==l?(0,T.jsx)(G,{children:(0,T.jsx)(d.default,{style:{color:o.foregroundMuted,fontSize:15},children:e('connecting'===l?'v2.common.connecting':'v2.common.offline')})}):M?(0,T.jsx)(G,{children:(0,T.jsx)(u.default,{color:o.primary})}):0===x.length?(0,T.jsxs)(G,{children:[(0,T.jsx)(d.default,{style:{color:o.foregroundMuted,fontSize:15},children:e('v2.exports.empty')}),h?(0,T.jsx)(d.default,{style:{color:o.foregroundSubtle,fontSize:12,textAlign:'center'},children:h instanceof Error?h.message:e('v2.common.loadError')}):null]}):(0,T.jsx)(c.default,{data:x,keyExtractor:e=>e.id,contentContainerStyle:{padding:C.SPACING.md,gap:C.SPACING.md},renderItem:({item:t})=>(0,T.jsx)(k,{rec:t,cameraName:_(t.deviceId),nowMs:z,livePct:E[t.id]?.progressPct,colors:o,t:e,onDownload:()=>{H(t)},onCancel:()=>U(t),onDelete:()=>W(t)})}),[l,M,x,h,o,e,_,z,E,H,U,W]);return(0,T.jsxs)(s.default,{style:{flex:1,backgroundColor:o.background},children:[(0,T.jsx)(w.ScreenHeader,{title:e('v2.exports.title'),onBack:()=>t.back(),bordered:!0}),(0,T.jsx)(P.ConnectionBanner,{}),F]})};var o=r(_d[0]),n=r(_d[1]),l=e(n),s=e(r(_d[2])),d=e(r(_d[3])),c=e(r(_d[4])),u=e(r(_d[5])),f=e(r(_d[6])),x=e(r(_d[7])),p=e(r(_d[8]));r(_d[9]);var b=r(_d[10]),y=r(_d[11]),h=(t(r(_d[12])),t(r(_d[13])),r(_d[14])),S=r(_d[15]),j=r(_d[16]),v=r(_d[17]),C=r(_d[18]),w=r(_d[19]),P=r(_d[20]),A=r(_d[21]),I=r(_d[22]),M=r(_d[23]),D=r(_d[24]),T=r(_d[25]);function N(e,t){switch(e.state){case'ready':return t.success;case'failed':return t.danger;case'rendering':case'queued':return t.info;default:return t.foregroundSubtle}}const k=l.default.memo(function(e){const t=(0,o.c)(109),{rec:n,colors:l,t:c}=e;let u;t[0]!==e.livePct||t[1]!==n?(u=(0,M.effectiveProgress)(n,e.livePct),t[0]=e.livePct,t[1]=n,t[2]=u):u=t[2];const f=u;let x;t[3]!==n?(x=(0,I.isExportActive)(n),t[3]=n,t[4]=x):x=t[4];const p=x,b="ready"===n.state,y="ready"===n.state||"failed"===n.state||"expired"===n.state;let S,j,v,C;t[5]!==l.border||t[6]!==l.surface?(S=[R.card,{backgroundColor:l.surface,borderColor:l.border}],t[5]=l.border,t[6]=l.surface,t[7]=S):S=t[7],t[8]!==l.foreground?(j=[R.cameraName,{color:l.foreground}],t[8]=l.foreground,t[9]=j):j=t[9],t[10]!==e.cameraName||t[11]!==j?(v=(0,T.jsx)(d.default,{style:j,numberOfLines:1,children:e.cameraName}),t[10]=e.cameraName,t[11]=j,t[12]=v):v=t[12],t[13]!==l||t[14]!==n?(C=N(n,l),t[13]=l,t[14]=n,t[15]=C):C=t[15];const w=`${C}26`;let P,A,D,k,G,B,L,z,O,_,H,U,W,F,V,$,q,X,J,K,Q,Y,Z,ee,te,re,oe,ne;return t[16]!==w?(P=[R.stateBadge,{backgroundColor:w}],t[16]=w,t[17]=P):P=t[17],t[18]!==l||t[19]!==n?(A=N(n,l),t[18]=l,t[19]=n,t[20]=A):A=t[20],t[21]!==A?(D=[R.stateText,{color:A}],t[21]=A,t[22]=D):D=t[22],t[23]!==n.state||t[24]!==c?(k=(0,M.stateLabel)(n.state,c),t[23]=n.state,t[24]=c,t[25]=k):k=t[25],t[26]!==k||t[27]!==D?(G=(0,T.jsx)(d.default,{style:D,children:k}),t[26]=k,t[27]=D,t[28]=G):G=t[28],t[29]!==G||t[30]!==P?(B=(0,T.jsx)(s.default,{style:P,children:G}),t[29]=G,t[30]=P,t[31]=B):B=t[31],t[32]!==B||t[33]!==v?(L=(0,T.jsxs)(s.default,{style:R.cardHeader,children:[v,B]}),t[32]=B,t[33]=v,t[34]=L):L=t[34],t[35]!==l.foregroundMuted?(z=[R.rangeText,{color:l.foregroundMuted}],t[35]=l.foregroundMuted,t[36]=z):z=t[36],t[37]!==n.fromMs||t[38]!==n.toMs?(O=(0,M.rangeLabel)(n.fromMs,n.toMs),t[37]=n.fromMs,t[38]=n.toMs,t[39]=O):O=t[39],t[40]!==z||t[41]!==O?(_=(0,T.jsx)(d.default,{style:z,numberOfLines:1,children:O}),t[40]=z,t[41]=O,t[42]=_):_=t[42],t[43]!==l.foregroundSubtle?(H=[R.metaText,{color:l.foregroundSubtle}],t[43]=l.foregroundSubtle,t[44]=H):H=t[44],t[45]!==n.options||t[46]!==c?(U=(0,M.variantLabel)(n.options,c),t[45]=n.options,t[46]=c,t[47]=U):U=t[47],t[48]!==H||t[49]!==U?(W=(0,T.jsx)(d.default,{style:H,numberOfLines:1,children:U}),t[48]=H,t[49]=U,t[50]=W):W=t[50],t[51]!==l.foregroundSubtle?(F=[R.metaText,{color:l.foregroundSubtle}],t[51]=l.foregroundSubtle,t[52]=F):F=t[52],t[53]!==n.fileBytes?(V=(0,M.formatBytes)(n.fileBytes),t[53]=n.fileBytes,t[54]=V):V=t[54],t[55]!==F||t[56]!==V?($=(0,T.jsx)(d.default,{style:F,children:V}),t[55]=F,t[56]=V,t[57]=$):$=t[57],t[58]!==W||t[59]!==$?(q=(0,T.jsxs)(s.default,{style:R.metaRow,children:[W,$]}),t[58]=W,t[59]=$,t[60]=q):q=t[60],t[61]!==l.border||t[62]!==l.info||t[63]!==f?(X=null!==f?(0,T.jsx)(s.default,{style:[R.progressTrack,{backgroundColor:l.border}],children:(0,T.jsx)(s.default,{style:[R.progressFill,{width:`${f}%`,backgroundColor:l.info}]})}):null,t[61]=l.border,t[62]=l.info,t[63]=f,t[64]=X):X=t[64],t[65]!==l.foregroundSubtle?(J=[R.expiryText,{color:l.foregroundSubtle}],t[65]=l.foregroundSubtle,t[66]=J):J=t[66],t[67]!==e.nowMs||t[68]!==n.expiresAt||t[69]!==n.state||t[70]!==c?(K="deleted"===n.state?c("v2.exports.state.deleted"):(0,M.expiryLabel)(n.expiresAt,e.nowMs,c),t[67]=e.nowMs,t[68]=n.expiresAt,t[69]=n.state,t[70]=c,t[71]=K):K=t[71],t[72]!==J||t[73]!==K?(Q=(0,T.jsx)(d.default,{style:J,numberOfLines:1,children:K}),t[72]=J,t[73]=K,t[74]=Q):Q=t[74],t[75]!==p||t[76]!==l.danger||t[77]!==e.onCancel||t[78]!==c?(Y=p?(0,T.jsx)(E,{icon:h.XCircle,label:c("v2.exports.cancelAction"),color:l.danger,onPress:e.onCancel}):null,t[75]=p,t[76]=l.danger,t[77]=e.onCancel,t[78]=c,t[79]=Y):Y=t[79],t[80]!==l.primary||t[81]!==e.onDownload||t[82]!==b||t[83]!==c?(Z=b?(0,T.jsx)(E,{icon:h.Download,label:c("v2.exports.downloadAction"),color:l.primary,onPress:e.onDownload}):null,t[80]=l.primary,t[81]=e.onDownload,t[82]=b,t[83]=c,t[84]=Z):Z=t[84],t[85]!==l.foregroundMuted||t[86]!==e.onDelete||t[87]!==y||t[88]!==c?(ee=y?(0,T.jsx)(E,{icon:h.Trash2,label:c("v2.exports.deleteAction"),color:l.foregroundMuted,onPress:e.onDelete}):null,t[85]=l.foregroundMuted,t[86]=e.onDelete,t[87]=y,t[88]=c,t[89]=ee):ee=t[89],t[90]!==Y||t[91]!==Z||t[92]!==ee?(te=(0,T.jsxs)(s.default,{style:R.actions,children:[Y,Z,ee]}),t[90]=Y,t[91]=Z,t[92]=ee,t[93]=te):te=t[93],t[94]!==Q||t[95]!==te?(re=(0,T.jsxs)(s.default,{style:R.footerRow,children:[Q,te]}),t[94]=Q,t[95]=te,t[96]=re):re=t[96],t[97]!==l.danger||t[98]!==n.error||t[99]!==n.state?(oe=n.error&&"failed"===n.state?(0,T.jsx)(d.default,{style:[R.errorText,{color:l.danger}],numberOfLines:2,children:n.error}):null,t[97]=l.danger,t[98]=n.error,t[99]=n.state,t[100]=oe):oe=t[100],t[101]!==L||t[102]!==_||t[103]!==S||t[104]!==q||t[105]!==X||t[106]!==re||t[107]!==oe?(ne=(0,T.jsxs)(s.default,{style:S,children:[L,_,q,X,re,oe]}),t[101]=L,t[102]=_,t[103]=S,t[104]=q,t[105]=X,t[106]=re,t[107]=oe,t[108]=ne):ne=t[108],ne});function E(e){const t=(0,o.c)(7),{icon:n,label:l,color:s,onPress:d}=e;let c,u;return t[0]!==n||t[1]!==s?(c=(0,T.jsx)(n,{size:18,color:s}),t[0]=n,t[1]=s,t[2]=c):c=t[2],t[3]!==l||t[4]!==d||t[5]!==c?(u=(0,T.jsx)(f.default,{accessibilityRole:"button",accessibilityLabel:l,onPress:d,hitSlop:6,style:R.actionBtn,children:c}),t[3]=l,t[4]=d,t[5]=c,t[6]=u):u=t[6],u}function G(e){const t=(0,o.c)(2),{children:n}=e;let l;return t[0]!==n?(l=(0,T.jsx)(s.default,{style:R.centered,children:n}),t[0]=n,t[1]=l):l=t[1],l}const R=x.default.create({centered:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING['2xl'],gap:C.SPACING.sm},card:{borderWidth:1,borderRadius:C.RADIUS.lg,padding:C.SPACING.lg,gap:C.SPACING.sm},cardHeader:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md},cameraName:{flex:1,fontSize:15,fontWeight:'700'},stateBadge:{paddingHorizontal:C.SPACING.md,paddingVertical:2,borderRadius:C.RADIUS.md},stateText:{fontSize:11,fontWeight:'700',textTransform:'uppercase',letterSpacing:.3},rangeText:{fontSize:13,fontVariant:['tabular-nums']},metaRow:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md},metaText:{fontSize:12},progressTrack:{height:4,borderRadius:2,overflow:'hidden'},progressFill:{height:'100%',borderRadius:2},footerRow:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',gap:C.SPACING.md,marginTop:C.SPACING.xs},expiryText:{flex:1,fontSize:12},actions:{flexDirection:'row',alignItems:'center',gap:C.SPACING.lg},actionBtn:{width:32,height:32,alignItems:'center',justifyContent:'center'},errorText:{fontSize:12,marginTop:C.SPACING.xs}})},3538,[15,17,20,112,138,240,252,33,133,136,786,743,3434,3439,813,2594,3144,2587,2589,3050,2712,3080,3491,3492,2705,10]);
15960
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]);function l(){const l=(0,t.c)(2),{id:o}=(0,n.useLocalSearchParams)();if(!o)return null;let f;return l[0]!==o?(f=(0,c.jsx)(u.GridBuilderScreen,{gridId:o}),l[0]=o,l[1]=f):f=l[1],f}},3539,[15,743,3411,10]);
15961
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});var t=r(d[0]),n=r(d[1]),u=r(d[2]),c=r(d[3]);function l(){const l=(0,t.c)(2),{id:o}=(0,n.useLocalSearchParams)();if(!o)return null;let f;return l[0]!==o?(f=(0,c.jsx)(u.GridViewScreen,{gridId:o}),l[0]=o,l[1]=f):f=l[1],f}},3540,[15,743,3541,10]);
15962
+ __d(function(_g,r,i,_a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridViewScreen=function(e){const f=(0,t.c)(185),{gridId:L,adhocCameraIds:J}=e,{t:K}=(0,c.useTranslation)(),{colors:Y}=(0,p.useTheme)(),Z=(0,u.useRouter)(),ee=(0,h.useSafeAreaInsets)(),{width:te,height:oe}=(0,a.default)(),ne=(0,v.useGridStore)($),re=(0,v.useGridStore)(W),ie=(0,v.useGridStore)(U),le=(0,v.useGridStore)(F),se=(0,v.useGridStore)(V),de=(0,v.useGridStore)(D),ae=(0,v.useGridStore)(q),{data:ce}=(0,G.useCameras)();let ue;f[0]!==ce?(ue=void 0===ce?[]:ce,f[0]=ce,f[1]=ue):ue=f[1];const he=ue,{settings:ge}=(0,z.useSettings)(),{server:fe}=(0,I.useServer)(),me=fe?.serverUrl??null,ye=null===L;let pe;f[2]!==J?(pe=()=>({id:_,name:"",cameraIds:J??[]}),f[2]=J,f[3]=pe):pe=f[3];const[Se,be]=(0,o.useState)(pe);let xe;f[4]!==Se||f[5]!==L||f[6]!==ne||f[7]!==ye?(xe=ye?Se:ne.find(e=>e.id===L),f[4]=Se,f[5]=L,f[6]=ne,f[7]=ye,f[8]=xe):xe=f[8];const Ie=xe;let je;f[9]===Symbol.for("react.memo_cache_sentinel")?(je=e=>{be(t=>e([t])[0]??t)},f[9]=je):je=f[9];const Ce=je;let we;f[10]!==L||f[11]!==le?(we=e=>{null===L?Ce(t=>(0,v.setGridOptionsEntry)(t,_,e)):le(L,e)},f[10]=L,f[11]=le,f[12]=we):we=f[12];const ve=we;let Ge;f[13]!==L||f[14]!==se?(Ge=e=>{null===L?Ce(t=>(0,v.setGridHighlightEntry)(t,_,e)):se(L,e)},f[13]=L,f[14]=se,f[15]=Ge):Ge=f[15];const ze=Ge;let Ae;f[16]!==L||f[17]!==de?(Ae=(e,t)=>{null===L?Ce(o=>(0,v.setGridAudioInitialEntry)(o,_,e,t)):de(L,e,t)},f[16]=L,f[17]=de,f[18]=Ae):Ae=f[18];const Pe=Ae;let Oe;f[19]!==L||f[20]!==ae?(Oe=(e,t)=>{null===L?Ce(o=>(0,v.setAllGridAudioEntry)(o,_,e,t)):ae(L,e,t)},f[19]=L,f[20]=ae,f[21]=Oe):Oe=f[21];const Te=Oe;let ke,He;f[22]!==Ie?.options?(ke=()=>(0,v.resolveGridOptions)(Ie?.options),f[22]=Ie?.options,f[23]=ke):ke=f[23];f[24]!==ke?(He=ke(),f[24]=ke,f[25]=He):He=f[25];const Ne=He;let Ee;f[26]===Symbol.for("react.memo_cache_sentinel")?(Ee=new Set,f[26]=Ee):Ee=f[26];const[Re,Be]=(0,o.useState)(Ee),[Me,Le]=(0,o.useState)(!1),[qe,De]=(0,o.useState)(!1),[Ve,Fe]=(0,o.useState)(!1),[Ue,We]=(0,o.useState)(!1);let $e,Qe;f[27]!==Ie?.audioOnIds?($e=Ie?.audioOnIds??[],f[27]=Ie?.audioOnIds,f[28]=$e):$e=f[28];f[29]!==$e?(Qe=new Set($e),f[29]=$e,f[30]=Qe):Qe=f[30];const Xe=Qe;let Je,Ke;f[31]!==Ie?.audioOnIds?(Je=()=>[...Ie?.audioOnIds??[]],f[31]=Ie?.audioOnIds,f[32]=Je):Je=f[32];f[33]!==Je?(Ke=Je(),f[33]=Je,f[34]=Ke):Ke=f[34];const Ye=Ke;let Ze;f[35]!==Xe||f[36]!==Pe?(Ze=e=>Pe(e,!Xe.has(e)),f[35]=Xe,f[36]=Pe,f[37]=Ze):Ze=f[37];const et=Ze;let tt,ot,nt,rt;f[38]!==re?(tt=()=>{re()},ot=[re],f[38]=re,f[39]=tt,f[40]=ot):(tt=f[39],ot=f[40]);(0,o.useEffect)(tt,ot),f[41]===Symbol.for("react.memo_cache_sentinel")?(nt=[],f[41]=nt):nt=f[41];(0,o.useEffect)(M,nt);e:{if(!Ie){let e;f[42]===Symbol.for("react.memo_cache_sentinel")?(e=[],f[42]=e):e=f[42],rt=e;break e}let e;f[43]!==he?(e=new Map(he.map(B)),f[43]=he,f[44]=e):e=f[44];const t=e;let o;if(f[45]!==t||f[46]!==Ie.cameraIds){o=[];for(const e of Ie.cameraIds){const n=t.get(e);n&&o.push(n)}f[45]=t,f[46]=Ie.cameraIds,f[47]=o}else o=f[47];rt=o}const it=rt;let lt,st;f[48]!==Ie?.hiddenCameraIds?(lt=()=>new Set(Ie?.hiddenCameraIds??[]),f[48]=Ie?.hiddenCameraIds,f[49]=lt):lt=f[49];f[50]!==lt?(st=lt(),f[50]=lt,f[51]=st):st=f[51];const dt=st;let at;f[52]!==dt||f[53]!==it?(at=0===dt.size?it:it.filter(e=>!dt.has(e.id)),f[52]=dt,f[53]=it,f[54]=at):at=f[54];const ct=at;let ut;f[55]!==ct?(ut=ct.filter(R).map(E),f[55]=ct,f[56]=ut):ut=f[56];const ht=ut,[gt,ft]=(0,o.useState)(null);let mt;f[57]!==gt||f[58]!==ct?(mt=ct.find(e=>e.id===gt)??null,f[57]=gt,f[58]=ct,f[59]=mt):mt=f[59];const yt=mt,pt=Re.size>0;let St;f[60]!==Re?(St=[...Re],f[60]=Re,f[61]=St):St=f[61];const bt=St;let xt;f[62]===Symbol.for("react.memo_cache_sentinel")?(xt=e=>Be(t=>{const o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o}),f[62]=xt):xt=f[62];const It=xt;let jt;f[63]!==ct?(jt=()=>Be(e=>e.size>0?new Set:new Set(ct.map(N))),f[63]=ct,f[64]=jt):jt=f[64];const Ct=jt,wt=Xe.size>0;let vt;f[65]!==wt||f[66]!==Te||f[67]!==ct?(vt=()=>Te(wt?[]:ct.map(H),!wt),f[65]=wt,f[66]=Te,f[67]=ct,f[68]=vt):vt=f[68];const Gt=vt,zt=Math.max(0,oe-ee.top-ee.bottom);let At;f[69]!==zt||f[70]!==te?(At={width:te,height:zt},f[69]=zt,f[70]=te,f[71]=At):At=f[71];const _t=At,[Pt,Ot]=(0,o.useState)(_t);let Tt;f[72]!==Pt.height||f[73]!==Pt.width||f[74]!==Ne.layout||f[75]!==ct.length?(Tt=(0,w.computeGridLayout)(ct.length,Pt.width,Pt.height,Ne.layout),f[72]=Pt.height,f[73]=Pt.width,f[74]=Ne.layout,f[75]=ct.length,f[76]=Tt):Tt=f[76];const kt=Tt;let Ht,Nt;f[77]!==Ie?.highlight?(Ht=()=>(0,v.withHighlightDefaults)(Ie?.highlight),f[77]=Ie?.highlight,f[78]=Ht):Ht=f[78];f[79]!==Ht?(Nt=Ht(),f[79]=Ht,f[80]=Nt):Nt=f[80];const Et=Nt;let Rt;f[81]!==Me||f[82]!==Et||f[83]!==ge.grid.motionHoldSec||f[84]!==ge.highlight?(Rt=Object.assign({enabled:Me},Et,{appearance:ge.highlight,motionHoldSec:ge.grid.motionHoldSec}),f[81]=Me,f[82]=Et,f[83]=ge.grid.motionHoldSec,f[84]=ge.highlight,f[85]=Rt):Rt=f[85];const Bt=Rt;let Mt;f[86]!==L||f[87]!==Z?(Mt=null!==L?()=>Z.push(`/grid/${L}/edit`):void 0,f[86]=L,f[87]=Z,f[88]=Mt):Mt=f[88];const Lt=Mt;let qt;f[89]!==Z?(qt=()=>Z.back(),f[89]=Z,f[90]=qt):qt=f[90];const Dt=qt;let Vt;f[91]!==Ie?.name||f[92]!==ye||f[93]!==K?(Vt=ye?K("v2.gridView.adhocTitle"):Ie?.name??K("v2.gridView.fallbackTitle"),f[91]=Ie?.name,f[92]=ye,f[93]=K,f[94]=Vt):Vt=f[94];const Ft=Vt;if(ie&&!Ie){let e,t,o,s,d,a;return f[95]!==Y.background||f[96]!==ee.top?(e=[X.fill,{backgroundColor:Y.background,paddingTop:ee.top}],f[95]=Y.background,f[96]=ee.top,f[97]=e):e=f[97],f[98]!==Y||f[99]!==Dt?(t=(0,A.jsx)(Q,{onPress:Dt,colors:Y}),f[98]=Y,f[99]=Dt,f[100]=t):t=f[100],f[101]!==Y.foregroundMuted?(o={color:Y.foregroundMuted,fontSize:15},f[101]=Y.foregroundMuted,f[102]=o):o=f[102],f[103]!==K?(s=K("v2.gridView.notFound"),f[103]=K,f[104]=s):s=f[104],f[105]!==o||f[106]!==s?(d=(0,A.jsx)(n.default,{style:X.center,children:(0,A.jsx)(l.default,{style:o,children:s})}),f[105]=o,f[106]=s,f[107]=d):d=f[107],f[108]!==e||f[109]!==t||f[110]!==d?(a=(0,A.jsxs)(n.default,{style:e,children:[t,d]}),f[108]=e,f[109]=t,f[110]=d,f[111]=a):a=f[111],a}let Ut,Wt,$t,Qt,Xt,Jt,Kt,Yt;f[112]!==ve?(Ut=e=>ve({quality:e}),f[112]=ve,f[113]=Ut):Ut=f[113];f[114]!==ve?(Wt=e=>ve({layout:e}),f[114]=ve,f[115]=Wt):Wt=f[115];f[116]===Symbol.for("react.memo_cache_sentinel")?($t=()=>Le(k),f[116]=$t):$t=f[116];f[117]!==Et||f[118]!==ze?(Qt=e=>ze(Object.assign({},Et,e)),f[117]=Et,f[118]=ze,f[119]=Qt):Qt=f[119];f[120]===Symbol.for("react.memo_cache_sentinel")?(Xt=()=>Fe(T),f[120]=Xt):Xt=f[120];f[121]===Symbol.for("react.memo_cache_sentinel")?(Jt=()=>De(O),f[121]=Jt):Jt=f[121];f[122]!==ye||f[123]!==me?(Kt=null===me||ye?void 0:()=>We(!0),f[122]=ye,f[123]=me,f[124]=Kt):Kt=f[124];f[125]!==qe||f[126]!==wt||f[127]!==pt||f[128]!==Xe||f[129]!==Dt||f[130]!==Lt||f[131]!==Me||f[132]!==Et||f[133]!==Ne.layout||f[134]!==Ne.quality||f[135]!==Ve||f[136]!==Ut||f[137]!==Wt||f[138]!==Qt||f[139]!==Kt||f[140]!==Ft||f[141]!==et||f[142]!==Gt||f[143]!==Ct||f[144]!==ct?(Yt=(0,A.jsx)(b.GridControlBar,{title:Ft,onBack:Dt,onEdit:Lt,anyPaused:pt,onTogglePause:Ct,cameras:ct,audioOnIds:Xe,onToggleAudio:et,anyAudioOn:wt,onToggleMassAudio:Gt,quality:Ne.quality,onSelectQuality:Ut,layout:Ne.layout,onSelectLayout:Wt,highlightOn:Me,onToggleHighlight:$t,highlightSettings:Et,onSetHighlightSettings:Qt,showBoxes:Ve,onToggleShowBoxes:Xt,activeOnly:qe,onToggleActiveOnly:Jt,onShare:Kt}),f[125]=qe,f[126]=wt,f[127]=pt,f[128]=Xe,f[129]=Dt,f[130]=Lt,f[131]=Me,f[132]=Et,f[133]=Ne.layout,f[134]=Ne.quality,f[135]=Ve,f[136]=Ut,f[137]=Wt,f[138]=Qt,f[139]=Kt,f[140]=Ft,f[141]=et,f[142]=Gt,f[143]=Ct,f[144]=ct,f[145]=Yt):Yt=f[145];const Zt=Yt;let eo,to,oo,no,ro,io;f[146]===Symbol.for("react.memo_cache_sentinel")?(eo=[X.fill,{backgroundColor:"#000"}],to=(0,A.jsx)(g.StatusBar,{hidden:!0,style:"light"}),f[146]=eo,f[147]=to):(eo=f[146],to=f[147]);f[148]===Symbol.for("react.memo_cache_sentinel")?(oo=e=>{const{width:t,height:o}=e.nativeEvent.layout;t>0&&o>0&&Ot(e=>e.width===t&&e.height===o?e:{width:t,height:o})},f[148]=oo):oo=f[148];f[149]!==qe||f[150]!==pt||f[151]!==Ye||f[152]!==Xe.size||f[153]!==Y||f[154]!==Zt||f[155]!==Dt||f[156]!==Lt||f[157]!==Bt||f[158]!==ee.top||f[159]!==kt||f[160]!==it.length||f[161]!==Ne.layout||f[162]!==Ne.quality||f[163]!==Ne.showName||f[164]!==bt||f[165]!==ht||f[166]!==Z||f[167]!==Ve||f[168]!==K||f[169]!==et||f[170]!==ct?(no=0===it.length?(0,A.jsxs)(n.default,{style:[X.center,{paddingTop:ee.top}],children:[(0,A.jsx)(Q,{onPress:Dt,colors:Y}),(0,A.jsx)(l.default,{style:{color:Y.foregroundMuted,fontSize:15},children:K("v2.gridView.emptyGrid")}),(0,A.jsx)(s.default,{onPress:Lt,style:e=>{const{pressed:t}=e;return{marginTop:C.SPACING.md,paddingVertical:C.SPACING.md,paddingHorizontal:C.SPACING.xl,borderRadius:C.RADIUS.md,backgroundColor:t?Y.surfaceHover:Y.primary}},children:(0,A.jsx)(l.default,{style:{color:Y.primaryForeground,fontSize:15,fontWeight:"600"},children:K("v2.gridView.addCameras")})})]}):0===ct.length?(0,A.jsxs)(n.default,{style:[X.center,{paddingTop:ee.top}],children:[(0,A.jsx)(Q,{onPress:Dt,colors:Y}),(0,A.jsx)(l.default,{style:{color:Y.foregroundMuted,fontSize:15,textAlign:"center"},children:K("v2.gridView.allHidden")}),Zt]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(S.GridLiveEmbed,{devices:ct.map(P),quality:Ne.quality,layout:Ne.layout,showName:Ne.showName,audioOnIds:Ye,pausedIds:bt,highlight:Bt,activeOnly:qe,showBoxes:Ve,ptzIds:ht,onTileOpen:e=>Z.push(`/camera/${e}`),onAudioToggle:et,onPauseToggle:It,onPtzOpen:e=>ft(e)}),Zt]}),f[149]=qe,f[150]=pt,f[151]=Ye,f[152]=Xe.size,f[153]=Y,f[154]=Zt,f[155]=Dt,f[156]=Lt,f[157]=Bt,f[158]=ee.top,f[159]=kt,f[160]=it.length,f[161]=Ne.layout,f[162]=Ne.quality,f[163]=Ne.showName,f[164]=bt,f[165]=ht,f[166]=Z,f[167]=Ve,f[168]=K,f[169]=et,f[170]=ct,f[171]=no):no=f[171];f[172]!==no?(ro=(0,A.jsx)(n.default,{style:X.content,onLayout:oo,children:no}),f[172]=no,f[173]=ro):ro=f[173];f[174]!==Y||f[175]!==yt||f[176]!==K?(io=yt?(0,A.jsxs)(n.default,{style:d.default.absoluteFill,pointerEvents:"box-none",children:[(0,A.jsx)(s.default,{style:[d.default.absoluteFill,X.ptzBackdrop],onPress:()=>ft(null),accessibilityRole:"button",accessibilityLabel:K("v2.cameraDetail.close")}),(0,A.jsx)(n.default,{style:X.ptzCenter,pointerEvents:"box-none",children:(0,A.jsxs)(n.default,{style:[X.ptzCard,{backgroundColor:Y.surface,borderColor:Y.border}],children:[(0,A.jsxs)(n.default,{style:[X.ptzHeader,{borderBottomColor:Y.border}],children:[(0,A.jsx)(l.default,{style:[X.ptzTitle,{color:Y.foreground}],numberOfLines:1,children:yt.name}),(0,A.jsx)(s.default,{onPress:()=>ft(null),hitSlop:8,accessibilityRole:"button",accessibilityLabel:K("v2.cameraDetail.close"),children:(0,A.jsx)(y.X,{size:18,color:Y.foregroundMuted})})]}),(0,A.jsx)(n.default,{style:X.ptzBody,children:(0,A.jsx)(j.PtzControls,{deviceId:yt.id,hasFeature:!0})})]})})]}):null,f[174]=Y,f[175]=yt,f[176]=K,f[177]=io):io=f[177];const lo=Ue&&Ie?Ie:null;let so,ao,co;f[178]===Symbol.for("react.memo_cache_sentinel")?(so=()=>We(!1),f[178]=so):so=f[178];f[179]!==lo?(ao=(0,A.jsx)(x.GridShareDialog,{grid:lo,onClose:so}),f[179]=lo,f[180]=ao):ao=f[180];f[181]!==ro||f[182]!==io||f[183]!==ao?(co=(0,A.jsxs)(n.default,{style:eo,children:[to,ro,io,ao]}),f[181]=ro,f[182]=io,f[183]=ao,f[184]=co):co=f[184];return co};var t=r(_d[0]),o=r(_d[1]),n=e(r(_d[2])),l=e(r(_d[3])),s=e(r(_d[4])),d=e(r(_d[5])),a=e(r(_d[6]));r(_d[7]);var c=r(_d[8]),u=r(_d[9]),h=r(_d[10]),g=r(_d[11]),f=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[12])),y=r(_d[13]),p=r(_d[14]);r(_d[15]);var S=r(_d[16]),b=r(_d[17]),x=r(_d[18]),I=r(_d[19]),j=r(_d[20]),C=r(_d[21]),w=r(_d[22]),v=r(_d[23]),G=r(_d[24]),z=r(_d[25]),A=r(_d[26]);const _='adhoc';function P(e){return e.id}function O(e){return!e}function T(e){return!e}function k(e){return!e}function H(e){return e.id}function N(e){return e.id}function E(e){return e.id}function R(e){return e.features.includes(G.FEATURE.ptz)}function B(e){return[e.id,e]}function M(){return f.unlockAsync(),L}function L(){f.lockAsync(f.OrientationLock.PORTRAIT_UP)}function q(e){return e.setAllGridAudio}function D(e){return e.setGridAudioInitial}function V(e){return e.setGridHighlight}function F(e){return e.setGridOptions}function U(e){return e.hydrated}function W(e){return e.hydrate}function $(e){return e.grids}function Q(e){const o=(0,t.c)(9),{onPress:n,colors:l}=e;let d,a,c;return o[0]!==l.border||o[1]!==l.surface?(d={position:"absolute",top:C.SPACING.md,left:C.SPACING.md,width:40,height:40,borderRadius:C.RADIUS.lg,alignItems:"center",justifyContent:"center",backgroundColor:l.surface,borderWidth:1,borderColor:l.border},o[0]=l.border,o[1]=l.surface,o[2]=d):d=o[2],o[3]!==l.foreground?(a=(0,A.jsx)(y.ChevronLeft,{size:20,color:l.foreground}),o[3]=l.foreground,o[4]=a):a=o[4],o[5]!==n||o[6]!==d||o[7]!==a?(c=(0,A.jsx)(s.default,{onPress:n,accessibilityRole:"button",accessibilityLabel:"Back",hitSlop:10,style:d,children:a}),o[5]=n,o[6]=d,o[7]=a,o[8]=c):c=o[8],c}const X=d.default.create({fill:{flex:1},content:{flex:1},center:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING['2xl']},ptzBackdrop:{backgroundColor:'rgba(0,0,0,0.5)'},ptzCenter:{flex:1,alignItems:'center',justifyContent:'center',padding:C.SPACING.xl},ptzCard:{width:'100%',maxWidth:360,borderRadius:C.RADIUS.xl,borderWidth:1,overflow:'hidden'},ptzHeader:{flexDirection:'row',alignItems:'center',justifyContent:'space-between',paddingHorizontal:C.SPACING.lg,paddingVertical:C.SPACING.md,borderBottomWidth:1},ptzTitle:{fontSize:15,fontWeight:'600',flex:1,marginRight:C.SPACING.md},ptzBody:{padding:C.SPACING.lg}})},3541,[15,17,20,112,252,33,277,136,786,743,466,3429,3431,813,2587,3542,3544,3547,3403,3144,3466,2589,3552,3139,3080,3177,10]);
15963
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridWall=function(e){const o=(0,t.c)(19),{cameras:c,cellW:f,cellH:w,showName:h,quality:p,muted:x,paused:v,showBoxes:_}=e,y=void 0===x||x,j=void 0!==v&&v,W=void 0!==_&&_;let b,q;if(o[0]!==c||o[1]!==w||o[2]!==f||o[3]!==y||o[4]!==j||o[5]!==p||o[6]!==W||o[7]!==h){let e;o[9]!==w||o[10]!==f||o[11]!==y||o[12]!==j||o[13]!==p||o[14]!==W||o[15]!==h?(e=e=>(0,u.jsx)(s.GridTile,{camera:e,width:f,height:w,showName:h,quality:p,muted:y,paused:j,showBoxes:W},e.id),o[9]=w,o[10]=f,o[11]=y,o[12]=j,o[13]=p,o[14]=W,o[15]=h,o[16]=e):e=o[16],b=c.map(e),o[0]=c,o[1]=w,o[2]=f,o[3]=y,o[4]=j,o[5]=p,o[6]=W,o[7]=h,o[8]=b}else b=o[8];o[17]!==b?(q=(0,u.jsx)(l.default,{style:n.wrap,children:b}),o[17]=b,o[18]=q):q=o[18];return q};var t=r(d[0]);r(d[1]);var l=e(r(d[2])),o=e(r(d[3])),s=r(d[4]),u=r(d[5]);const n=o.default.create({wrap:{flex:1,flexDirection:'row',flexWrap:'wrap',alignItems:'center',justifyContent:'center',backgroundColor:'#000'}})},3542,[15,17,20,33,3543,10]);
15964
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"GridTile",{enumerable:!0,get:function(){return C}});var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=r(d[5]),h=r(d[6]),c=r(d[7]),f=r(d[8]),p=r(d[9]),y=r(d[10]),b=r(d[11]),v=r(d[12]),j=r(d[13]),x=r(d[14]),w=r(d[15]);const C=o.default.memo(function(e){const o=(0,t.c)(32),{camera:s,width:x,height:C,showName:P,quality:k,muted:B,paused:O,showBoxes:S}=e,_=void 0===B||B,E=void 0!==O&&O,F=void 0!==S&&S,{colors:G}=(0,c.useTheme)(),{settings:L}=(0,j.useSettings)();let M;o[0]!==k?(M=(0,y.qualityToTarget)(k),o[0]=k,o[1]=M):M=o[1];const N=M,{uri:T,headers:z,onLoad:A,onError:R}=(0,b.useSnapshot)(s.id,E&&s.online),q=(0,v.useMotionHighlight)(s.id,!E&&s.online);let D,H,V,W,J,K;return o[2]!==C||o[3]!==x?(D=[I.cell,{width:x,height:C}],o[2]=C,o[3]=x,o[4]=D):D=o[4],o[5]!==s.id||o[6]!==_||o[7]!==R||o[8]!==A||o[9]!==E||o[10]!==z||o[11]!==T||o[12]!==N?(H=E?(0,w.jsxs)(n.default,{style:I.pausedFill,children:[T?(0,w.jsx)(u.Image,{source:z?{uri:T,headers:z}:{uri:T},style:I.pausedFill,contentFit:"cover",cachePolicy:"memory-disk",onLoad:A,onError:R}):null,(0,w.jsx)(n.default,{style:I.pauseBadge,pointerEvents:"none",children:(0,w.jsx)(h.Pause,{size:18,color:"#fafaf9",fill:"#fafaf9"})})]}):(0,w.jsx)(f.LiveView,{deviceId:s.id,target:N,muted:_}),o[5]=s.id,o[6]=_,o[7]=R,o[8]=A,o[9]=E,o[10]=z,o[11]=T,o[12]=N,o[13]=H):H=o[13],o[14]!==s.id||o[15]!==E||o[16]!==F?(V=F&&!E?(0,w.jsx)(p.MotionBoxesOverlay,{deviceId:s.id,enabled:!0}):null,o[14]=s.id,o[15]=E,o[16]=F,o[17]=V):V=o[17],o[18]!==q||o[19]!==L?(W=q?(0,w.jsx)(n.default,{pointerEvents:"none",style:[I.motionBorder,{borderWidth:L.highlight.thickness,borderColor:L.highlight.motionColor,shadowColor:L.highlight.motionColor}]}):null,o[18]=q,o[19]=L,o[20]=W):W=o[20],o[21]!==s.name||o[22]!==s.online||o[23]!==G||o[24]!==P?(J=P?(0,w.jsxs)(n.default,{style:I.overlay,pointerEvents:"none",children:[(0,w.jsx)(n.default,{style:[I.dot,{backgroundColor:s.online?G.success:G.foregroundDisabled}]}),(0,w.jsx)(l.default,{style:I.name,numberOfLines:1,children:s.name})]}):null,o[21]=s.name,o[22]=s.online,o[23]=G,o[24]=P,o[25]=J):J=o[25],o[26]!==D||o[27]!==H||o[28]!==V||o[29]!==W||o[30]!==J?(K=(0,w.jsxs)(n.default,{style:D,children:[H,V,W,J]}),o[26]=D,o[27]=H,o[28]=V,o[29]=W,o[30]=J,o[31]=K):K=o[31],K}),I=s.default.create({cell:{backgroundColor:'#000'},pausedFill:{width:'100%',height:'100%',alignItems:'center',justifyContent:'center'},pauseBadge:{position:'absolute',width:36,height:36,borderRadius:18,alignItems:'center',justifyContent:'center',backgroundColor:'#0009'},motionBorder:{position:'absolute',top:0,left:0,right:0,bottom:0,shadowOffset:{width:0,height:0},shadowOpacity:.9,shadowRadius:8,elevation:8},overlay:{position:'absolute',left:0,right:0,bottom:0,flexDirection:'row',alignItems:'center',gap:x.SPACING.sm,paddingHorizontal:x.SPACING.md,paddingVertical:x.SPACING.sm,backgroundColor:'#0009'},dot:{width:8,height:8,borderRadius:4},name:{flex:1,color:'#fafaf9',fontSize:12,fontWeight:'600'}})},3543,[15,17,20,112,33,3053,813,2587,3446,3499,3536,3143,3156,3177,2589,10]);
15965
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridLiveEmbed=function(e){const u=(0,t.c)(84),{devices:b,quality:E,layout:w,showName:C,audioOnIds:S,pausedIds:T,highlight:O,activeOnly:P,showBoxes:A,ptzIds:L}=e,{server:z,token:G}=(0,h.useServer)(),{colors:N}=(0,y.useTheme)(),{t:_}=(0,f.useTranslation)(),[B,M]=(0,n.useState)("connecting"),H=z?.serverUrl??null;let R;u[0]!==P||u[1]!==S||u[2]!==b||u[3]!==O||u[4]!==w||u[5]!==T||u[6]!==L||u[7]!==E||u[8]!==H||u[9]!==A||u[10]!==C||u[11]!==G?(R=()=>H?(0,p.buildGridEmbedConfig)({serverUrl:H,token:G??"",deviceIds:b,options:{showName:C,quality:E,layout:w},muted:!0,paused:!1,highlight:O,activeOnly:P,showBoxes:A,audioOnIds:S,pausedIds:T,ptzIds:L}):{},u[0]=P,u[1]=S,u[2]=b,u[3]=O,u[4]=w,u[5]=T,u[6]=L,u[7]=E,u[8]=H,u[9]=A,u[10]=C,u[11]=G,u[12]=R):R=u[12];const U=R;let q;u[13]!==e?(q=t=>{const n=(0,x.coerceGridHostMessage)(t);if(n)e:switch(n.type){case"state":M(n.state),e.onStateChange?.(n.state);break e;case"tileTap":e.onTileTap?.(n.deviceId,n.rect);break e;case"tileLongPress":e.onTileLongPress?.(n.deviceId,n.rect);break e;case"tileOpen":e.onTileOpen?.(n.deviceId);break e;case"audioToggle":e.onAudioToggle?.(n.deviceId);break e;case"pauseToggle":e.onPauseToggle?.(n.deviceId);break e;case"ptzOpen":e.onPtzOpen?.(n.deviceId)}},u[13]=e,u[14]=q):q=u[14];const W=q;let D;u[15]!==U||u[16]!==W||u[17]!==H?(D={serverUrl:H,mode:"grid",buildConfig:U,onHostMessage:W},u[15]=U,u[16]=W,u[17]=H,u[18]=D):D=u[18];const{iframeRef:F,src:Q,postCommand:V,reload:J}=(0,I.useEmbedIframe)(D);let K;u[19]!==b?(K=b.join(","),u[19]=b,u[20]=K):K=u[20];const X=K;let Y;u[21]!==S?(Y=S.join(","),u[21]=S,u[22]=Y):Y=u[22];const Z=Y;let $;u[23]!==T?($=T.join(","),u[23]=T,u[24]=$):$=u[24];const ee=$;let te,ne,re,oe,ie,se,le,de,ae,ce,ue,fe,ge,ve,he,ye,me,be,pe;u[25]!==S||u[26]!==V?(te=()=>V({kind:"setAudioOn",value:S}),u[25]=S,u[26]=V,u[27]=te):te=u[27];u[28]!==Z?(ne=[Z],u[28]=Z,u[29]=ne):ne=u[29];(0,n.useEffect)(te,ne),u[30]!==T||u[31]!==V?(re=()=>V({kind:"setPaused",value:T}),u[30]=T,u[31]=V,u[32]=re):re=u[32];u[33]!==ee?(oe=[ee],u[33]=ee,u[34]=oe):oe=u[34];(0,n.useEffect)(re,oe),u[35]!==V||u[36]!==E?(ie=()=>V({kind:"setQuality",value:E}),se=[E,V],u[35]=V,u[36]=E,u[37]=ie,u[38]=se):(ie=u[37],se=u[38]);(0,n.useEffect)(ie,se),u[39]!==w||u[40]!==V?(le=()=>V({kind:"setLayout",value:w}),de=[w,V],u[39]=w,u[40]=V,u[41]=le,u[42]=de):(le=u[41],de=u[42]);(0,n.useEffect)(le,de),u[43]!==V||u[44]!==C?(ae=()=>V({kind:"setShowName",value:C}),ce=[C,V],u[43]=V,u[44]=C,u[45]=ae,u[46]=ce):(ae=u[45],ce=u[46]);(0,n.useEffect)(ae,ce),u[47]!==O||u[48]!==V?(ue=()=>{O&&V({kind:"setHighlight",value:O})},fe=[O,V],u[47]=O,u[48]=V,u[49]=ue,u[50]=fe):(ue=u[49],fe=u[50]);(0,n.useEffect)(ue,fe),u[51]!==P||u[52]!==V?(ge=()=>V({kind:"setActiveOnly",value:P??!1}),ve=[P,V],u[51]=P,u[52]=V,u[53]=ge,u[54]=ve):(ge=u[53],ve=u[54]);(0,n.useEffect)(ge,ve),u[55]!==V||u[56]!==A?(he=()=>V({kind:"setShowBoxes",value:A??!1}),ye=[A,V],u[55]=V,u[56]=A,u[57]=he,u[58]=ye):(he=u[57],ye=u[58]);(0,n.useEffect)(he,ye),u[59]!==V?(me=()=>{const e=()=>V({kind:"reconnect"}),t=()=>{"visible"===document.visibilityState&&V({kind:"reconnect"})};return window.addEventListener("online",e),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("online",e),document.removeEventListener("visibilitychange",t)}},be=[V],u[59]=V,u[60]=me,u[61]=be):(me=u[60],be=u[61]);(0,n.useEffect)(me,be),u[62]!==J?(pe=()=>{M("connecting"),J()},u[62]=J,u[63]=pe):pe=u[63];const xe=pe;if(!Q){let e,t,n;return u[64]!==N.danger?(e=[k.errorText,{color:N.danger}],u[64]=N.danger,u[65]=e):e=u[65],u[66]!==_?(t=_("v2.live.error"),u[66]=_,u[67]=t):t=u[67],u[68]!==e||u[69]!==t?(n=(0,j.jsx)(o.default,{style:k.container,children:(0,j.jsx)(o.default,{style:k.center,children:(0,j.jsx)(s.default,{style:e,children:t})})}),u[68]=e,u[69]=t,u[70]=n):n=u[70],n}let Ie,je,ke,Ee;u[71]===Symbol.for("react.memo_cache_sentinel")?(Ie={width:"100%",height:"100%",border:"none",background:"#000"},u[71]=Ie):Ie=u[71];u[72]!==X||u[73]!==F||u[74]!==Q?(je=(0,j.jsx)("iframe",{ref:F,src:Q,title:"camera-grid",allow:"microphone; autoplay; fullscreen",style:Ie},X),u[72]=X,u[73]=F,u[74]=Q,u[75]=je):je=u[75];u[76]!==N||u[77]!==xe||u[78]!==B||u[79]!==_?(ke="ready"!==B&&(0,j.jsx)(o.default,{style:k.overlay,pointerEvents:"error"===B?"auto":"none",children:"connecting"===B?(0,j.jsxs)(o.default,{style:k.center,children:[(0,j.jsx)(l.default,{color:N.primary}),(0,j.jsx)(s.default,{style:[k.hint,{color:N.foregroundMuted}],children:_("v2.live.connecting")})]}):(0,j.jsxs)(o.default,{style:k.center,children:[(0,j.jsx)(s.default,{style:[k.errorText,{color:N.danger}],children:_("v2.live.error")}),(0,j.jsxs)(c.default,{onPress:xe,style:[k.retryButton,{borderColor:N.border}],children:[(0,j.jsx)(v.RotateCw,{size:16,color:N.foreground}),(0,j.jsx)(s.default,{style:[k.retryLabel,{color:N.foreground}],children:_("v2.live.retry")})]})]})}),u[76]=N,u[77]=xe,u[78]=B,u[79]=_,u[80]=ke):ke=u[80];u[81]!==je||u[82]!==ke?(Ee=(0,j.jsxs)(o.default,{style:k.container,children:[je,ke]}),u[81]=je,u[82]=ke,u[83]=Ee):Ee=u[83];return Ee};var t=r(d[0]),n=r(d[1]),o=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),c=e(r(d[5])),u=e(r(d[6])),f=r(d[7]),v=r(d[8]),h=r(d[9]),y=r(d[10]),b=r(d[11]),p=r(d[12]),x=r(d[13]),I=r(d[14]),j=r(d[15]);const k=u.default.create({container:{flex:1,overflow:'hidden',backgroundColor:'#000'},overlay:Object.assign({},u.default.absoluteFill,{alignItems:'center',justifyContent:'center',backgroundColor:'#000'}),center:{flex:1,alignItems:'center',justifyContent:'center',padding:b.SPACING.xl,gap:b.SPACING.md},hint:{fontSize:13,textAlign:'center'},errorText:{fontSize:13,textAlign:'center'},retryButton:{flexDirection:'row',alignItems:'center',gap:b.SPACING.sm,paddingHorizontal:b.SPACING.lg,paddingVertical:b.SPACING.md,borderRadius:8,borderWidth:1},retryLabel:{fontSize:13,fontWeight:'600'}})},3544,[15,17,20,112,240,252,33,786,813,3144,2587,2589,3545,3546,3451,10]);
15966
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildGridEmbedConfig=function(s){return Object.assign({serverUrl:s.serverUrl,token:s.token,devices:[...s.deviceIds],layout:s.options.layout,quality:s.options.quality,showName:s.options.showName,showBadges:!0,muted:s.muted,paused:s.paused},s.highlight?{highlight:s.highlight}:{},s.activeOnly?{activeOnly:!0}:{},s.showBoxes?{showBoxes:!0}:{},s.audioOnIds&&s.audioOnIds.length>0?{audioOnIds:[...s.audioOnIds]}:{},s.pausedIds&&s.pausedIds.length>0?{pausedIds:[...s.pausedIds]}:{},s.ptzIds&&s.ptzIds.length>0?{ptzIds:[...s.ptzIds]}:{})}},3545,[]);
15967
+ __d(function(g,_r,i,a,_m,e,d){"use strict";function t(t){if('object'!=typeof t||null===t)return!1;const n=t;return'number'==typeof n.x&&'number'==typeof n.y&&'number'==typeof n.w&&'number'==typeof n.h}Object.defineProperty(e,'__esModule',{value:!0}),e.coerceGridHostMessage=r,e.parseGridHostMessage=function(t){let n;try{n=JSON.parse(t)}catch{return null}return r(n)},e.gridCommandScript=function(t){const n='window.__camstackGrid',r='fit'===t.kind?`${n}.fit(${t.w}, ${t.h})`:'reconnect'===t.kind?`${n}.reconnect()`:`${n}.${t.kind}(${JSON.stringify(t.value)})`;return`${n} && ${r}; true;`};const n=['connecting','ready','error'];function r(r){if('object'!=typeof r||null===r)return null;const c=r;switch(c.type){case'state':{if('string'!=typeof c.state||!n.includes(c.state))return null;const t=c.state;return'string'==typeof c.message?{type:'state',state:t,message:c.message}:{type:'state',state:t}}case'tileTap':case'tileLongPress':return'number'==typeof c.deviceId&&t(c.rect)?{type:c.type,deviceId:c.deviceId,rect:c.rect}:null;case'tileOpen':return'number'!=typeof c.deviceId?null:{type:'tileOpen',deviceId:c.deviceId};case'audioToggle':return'number'!=typeof c.deviceId?null:{type:'audioToggle',deviceId:c.deviceId};case'pauseToggle':return'number'!=typeof c.deviceId?null:{type:'pauseToggle',deviceId:c.deviceId};case'ptzOpen':return'number'!=typeof c.deviceId?null:{type:'ptzOpen',deviceId:c.deviceId};case'layout':{if(!Array.isArray(c.tiles))return null;const n=[];for(const r of c.tiles){if('object'!=typeof r||null===r)return null;const c=r;if('number'!=typeof c.deviceId||!t(c.rect))return null;n.push({deviceId:c.deviceId,rect:c.rect})}return{type:'layout',tiles:n}}default:return null}}},3546,[]);
15968
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridControlBar=function(l){const o=(0,e.c)(87),{title:S,onBack:P,onEdit:x,anyPaused:A,onTogglePause:T,cameras:j,audioOnIds:k,onToggleAudio:O,anyAudioOn:w,onToggleMassAudio:C,quality:M,onSelectQuality:f,layout:H,onSelectLayout:_,highlightOn:F,onToggleHighlight:G,highlightSettings:L,onSetHighlightSettings:z,showBoxes:V,onToggleShowBoxes:q,activeOnly:I,onToggleActiveOnly:X,onShare:D}=l,{t:E}=(0,n.useTranslation)(),{colors:N}=(0,u.useTheme)(),Q=A?s.Play:s.Pause;let R,Z;o[0]!==A||o[1]!==E?(R=E(A?"v2.gridBar.playAll":"v2.gridBar.pauseAll"),o[0]=A,o[1]=E,o[2]=R):R=o[2];o[3]!==T||o[4]!==Q||o[5]!==R?(Z={key:"pause",icon:Q,tip:R,onPress:T},o[3]=T,o[4]=Q,o[5]=R,o[6]=Z):Z=o[6];const J=k.size>0?s.Volume2:s.VolumeX;let K;o[7]!==E?(K=E("v2.gridBar.audio"),o[7]=E,o[8]=K):K=o[8];const U=k.size>0?String(k.size):void 0;let W,Y,$;o[9]!==w||o[10]!==k||o[11]!==j||o[12]!==N||o[13]!==O||o[14]!==C||o[15]!==E?(W=()=>0===j.length?(0,p.jsx)(t.default,{style:{color:N.foregroundMuted,fontSize:13,padding:h.SPACING.sm},children:"\u2014"}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(c.ControlBarLeadRow,{icon:w?s.VolumeX:s.Volume2,label:E(w?"v2.gridBar.muteAll":"v2.gridBar.unmuteAll"),onPress:C}),(0,p.jsx)(c.ControlBarDivider,{}),j.map(e=>(0,p.jsx)(c.ControlBarOption,{label:e.name,selected:k.has(e.id),onPress:()=>O(e.id)},e.id))]}),o[9]=w,o[10]=k,o[11]=j,o[12]=N,o[13]=O,o[14]=C,o[15]=E,o[16]=W):W=o[16];o[17]!==J||o[18]!==K||o[19]!==U||o[20]!==W?(Y={key:"audio",icon:J,tip:K,badge:U,panelScroll:!0,panel:W},o[17]=J,o[18]=K,o[19]=U,o[20]=W,o[21]=Y):Y=o[21];o[22]!==E?($=E("v2.gridBar.quality"),o[22]=E,o[23]=$):$=o[23];const ee=b[M];let le,ae,oe;o[24]!==f||o[25]!==M?(le=e=>(0,p.jsx)(p.Fragment,{children:y.map(l=>(0,p.jsx)(c.ControlBarOption,{label:l.label,selected:l.value===M,onPress:()=>{f(l.value),e()}},l.value))}),o[24]=f,o[25]=M,o[26]=le):le=o[26];o[27]!==ee||o[28]!==le||o[29]!==$?(ae={key:"quality",icon:s.Gauge,tip:$,badge:ee,panel:le},o[27]=ee,o[28]=le,o[29]=$,o[30]=ae):ae=o[30];o[31]!==E?(oe=E("v2.gridBar.layout"),o[31]=E,o[32]=oe):oe=o[32];const ie="auto"===H?"A":String(H);let te,ne,re,se,ge,ue,de,ce,he,ve;o[33]!==H||o[34]!==_?(te=e=>(0,p.jsx)(p.Fragment,{children:B.map(l=>(0,p.jsx)(c.ControlBarOption,{label:l.label,selected:l.value===H,onPress:()=>{_(l.value),e()}},String(l.value)))}),o[33]=H,o[34]=_,o[35]=te):te=o[35];o[36]!==oe||o[37]!==ie||o[38]!==te?(ne={key:"layout",icon:s.LayoutGrid,tip:oe,badge:ie,panel:te},o[36]=oe,o[37]=ie,o[38]=te,o[39]=ne):ne=o[39];o[40]!==E?(re=E("v2.gridBar.highlightMenu"),o[40]=E,o[41]=re):re=o[41];o[42]!==F||o[43]!==L||o[44]!==z||o[45]!==G||o[46]!==q||o[47]!==V?(se=()=>(0,p.jsx)(v.GridMenuPanel,{highlightOn:F,onToggleHighlight:G,showBoxes:V,onToggleShowBoxes:q,highlight:L,onSetHighlight:z}),o[42]=F,o[43]=L,o[44]=z,o[45]=G,o[46]=q,o[47]=V,o[48]=se):se=o[48];o[49]!==F||o[50]!==re||o[51]!==se?(ge={key:"menu",icon:s.Zap,tip:re,active:F,panelScroll:!0,panel:se},o[49]=F,o[50]=re,o[51]=se,o[52]=ge):ge=o[52];o[53]!==E?(ue=E("v2.gridBar.activeOnly"),o[53]=E,o[54]=ue):ue=o[54];o[55]!==I||o[56]!==X||o[57]!==ue?(de={key:"activeOnly",icon:s.Filter,tip:ue,active:I,onPress:X},o[55]=I,o[56]=X,o[57]=ue,o[58]=de):de=o[58];o[59]!==D||o[60]!==E?(ce=D?[{key:"share",icon:s.Share2,tip:E("v2.gridBar.share"),onPress:D}]:[],o[59]=D,o[60]=E,o[61]=ce):ce=o[61];o[62]!==x||o[63]!==E?(he=x?[{key:"edit",icon:s.Pencil,tip:E("v2.gridBar.edit"),onPress:x}]:[],o[62]=x,o[63]=E,o[64]=he):he=o[64];o[65]!==ae||o[66]!==ne||o[67]!==ge||o[68]!==de||o[69]!==ce||o[70]!==he||o[71]!==Z||o[72]!==Y?(ve=[Z,Y,ae,ne,ge,de,...ce,...he],o[65]=ae,o[66]=ne,o[67]=ge,o[68]=de,o[69]=ce,o[70]=he,o[71]=Z,o[72]=Y,o[73]=ve):ve=o[73];const pe=ve;let ye,Be,me,be;o[74]!==E?(ye=E("v2.gridBar.back"),o[74]=E,o[75]=ye):ye=o[75];o[76]!==E?(Be=E("v2.gridBar.hide"),o[76]=E,o[77]=Be):Be=o[77];o[78]!==E?(me=E("v2.gridBar.show"),o[78]=E,o[79]=me):me=o[79];o[80]!==pe||o[81]!==P||o[82]!==ye||o[83]!==Be||o[84]!==me||o[85]!==S?(be=(0,p.jsx)(c.FloatingControlBar,{onBack:P,backTip:ye,title:S,actions:pe,hideTip:Be,showTip:me}),o[80]=pe,o[81]=P,o[82]=ye,o[83]=Be,o[84]=me,o[85]=S,o[86]=be):be=o[86];return be};var e=r(d[0]);r(d[1]);var l,o=r(d[2]),t=(l=o)&&l.__esModule?l:{default:l},n=r(d[3]),s=r(d[4]),u=r(d[5]),c=r(d[6]),h=r(d[7]),v=r(d[8]),p=r(d[9]);const y=[{value:'auto',label:'Auto'},{value:'high',label:'High'},{value:'medium',label:'Mid'},{value:'low',label:'Low'}],B=[{value:'auto',label:'Auto'},{value:2,label:'2'},{value:3,label:'3'},{value:4,label:'4'}],b={auto:'A',high:'H',medium:'M',low:'L'}},3547,[15,17,112,786,813,2587,3548,2589,3551,10]);
15969
+ __d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.FloatingControlBar=function(e){const c=(0,o.c)(61),{onBack:p,backTip:h,title:P,actions:j,hideTip:I,showTip:R}=e,{colors:A}=(0,b.useTheme)(),{width:k}=(0,u.default)(),H=k>=900?260:100,[z,G]=(0,t.useState)(!0),[N,_]=(0,t.useState)(null),[D,T]=(0,t.useState)(0);let W;c[0]===Symbol.for("react.memo_cache_sentinel")?(W=()=>T(S),c[0]=W):W=c[0];const O=W;let F,L,U;c[1]!==z||c[2]!==N?(F=()=>{if(!z||null!==N)return;const e=setTimeout(()=>G(!1),x);return()=>clearTimeout(e)},c[1]=z,c[2]=N,c[3]=F):F=c[3];c[4]!==z||c[5]!==D||c[6]!==N?(L=[z,N,D],c[4]=z,c[5]=D,c[6]=N,c[7]=L):L=c[7];(0,t.useEffect)(F,L),c[8]===Symbol.for("react.memo_cache_sentinel")?(U=()=>{_(null),T(C)},c[8]=U):U=c[8];const B=U;if(!z){let e,o,t,n;return c[9]===Symbol.for("react.memo_cache_sentinel")?(e=()=>G(!0),c[9]=e):e=c[9],c[10]!==A.border||c[11]!==A.surface?(o=[w.handle,{backgroundColor:A.surface,borderColor:A.border}],c[10]=A.border,c[11]=A.surface,c[12]=o):o=c[12],c[13]!==A.foreground?(t=(0,y.jsx)(f.ChevronUp,{size:18,color:A.foreground}),c[13]=A.foreground,c[14]=t):t=c[14],c[15]!==R||c[16]!==o||c[17]!==t?(n=(0,y.jsx)(l.default,{onPress:e,accessibilityRole:"button",accessibilityLabel:R,style:o,hitSlop:10,children:t}),c[15]=R,c[16]=o,c[17]=t,c[18]=n):n=c[18],n}let V,E,M,q,J,K,Q,X,Y,Z,$;if(c[19]!==j||c[20]!==A.border||c[21]!==A.surface||c[22]!==N){let e;c[24]!==N?(e=e=>e.key===N&&void 0!==e.panel,c[24]=N,c[25]=e):e=c[25];const o=j.find(e);V=o?.panel?(0,y.jsx)(n.default,{style:[w.popover,{backgroundColor:A.surface,borderColor:A.border}],children:o.panelScroll?(0,y.jsx)(a.default,{style:{maxHeight:220},children:o.panel(B)}):(0,y.jsx)(n.default,{children:o.panel(B)})}):null,c[19]=j,c[20]=A.border,c[21]=A.surface,c[22]=N,c[23]=V}else V=c[23];c[26]!==A.border||c[27]!==A.surface?(E=[w.bar,{backgroundColor:A.surface,borderColor:A.border}],c[26]=A.border,c[27]=A.surface,c[28]=E):E=c[28];c[29]!==h||c[30]!==p?(M=p?(0,y.jsx)(v,{icon:f.ChevronLeft,tip:h??"",onPress:p}):null,c[29]=h,c[30]=p,c[31]=M):M=c[31];c[32]!==A.foreground||c[33]!==P||c[34]!==H?(q=void 0!==P?(0,y.jsx)(s.default,{style:[w.title,{color:A.foreground,maxWidth:H}],numberOfLines:1,children:P}):null,c[32]=A.foreground,c[33]=P,c[34]=H,c[35]=q):q=c[35];c[36]!==A.border||c[37]!==p||c[38]!==P?(J=p||void 0!==P?(0,y.jsx)(n.default,{style:[w.sep,{backgroundColor:A.border}]}):null,c[36]=A.border,c[37]=p,c[38]=P,c[39]=J):J=c[39];if(c[40]!==j||c[41]!==N){let e;c[43]!==N?(e=e=>(0,y.jsx)(v,{icon:e.icon,tip:e.tip,active:(e.active??!1)||void 0!==e.panel&&N===e.key,badge:e.badge,disabled:e.disabled,onPress:()=>{void 0!==e.panel?_(o=>o===e.key?null:e.key):(e.onPress?.(),_(null)),O()}},e.key),c[43]=N,c[44]=e):e=c[44],K=j.map(e),c[40]=j,c[41]=N,c[42]=K}else K=c[42];c[45]!==A.border?(Q=(0,y.jsx)(n.default,{style:[w.sep,{backgroundColor:A.border}]}),c[45]=A.border,c[46]=Q):Q=c[46];c[47]===Symbol.for("react.memo_cache_sentinel")?(X=()=>{_(null),G(!1)},c[47]=X):X=c[47];c[48]!==I?(Y=(0,y.jsx)(v,{icon:f.ChevronDown,tip:I,onPress:X}),c[48]=I,c[49]=Y):Y=c[49];c[50]!==K||c[51]!==Q||c[52]!==Y||c[53]!==E||c[54]!==M||c[55]!==q||c[56]!==J?(Z=(0,y.jsxs)(n.default,{style:E,pointerEvents:"box-none",children:[M,q,J,K,Q,Y]}),c[50]=K,c[51]=Q,c[52]=Y,c[53]=E,c[54]=M,c[55]=q,c[56]=J,c[57]=Z):Z=c[57];c[58]!==Z||c[59]!==V?($=(0,y.jsxs)(y.Fragment,{children:[V,Z]}),c[58]=Z,c[59]=V,c[60]=$):$=c[60];return $},_e.ControlBarOption=function(e){const t=(0,o.c)(18),{label:n,selected:a,onPress:c}=e,{colors:u}=(0,b.useTheme)();let p,h,x,C,S,v;t[0]!==a?(p={selected:a},t[0]=a,t[1]=p):p=t[1];t[2]!==u.surfaceHover?(h=e=>{const{pressed:o}=e;return[w.optionRow,{backgroundColor:o?u.surfaceHover:"transparent"}]},t[2]=u.surfaceHover,t[3]=h):h=t[3];t[4]!==u.foreground?(x={flex:1,color:u.foreground,fontSize:14},t[4]=u.foreground,t[5]=x):x=t[5];t[6]!==n||t[7]!==x?(C=(0,y.jsx)(s.default,{style:x,children:n}),t[6]=n,t[7]=x,t[8]=C):C=t[8];t[9]!==u.primary||t[10]!==a?(S=a?(0,y.jsx)(f.Check,{size:16,color:u.primary}):null,t[9]=u.primary,t[10]=a,t[11]=S):S=t[11];t[12]!==c||t[13]!==p||t[14]!==h||t[15]!==C||t[16]!==S?(v=(0,y.jsxs)(l.default,{onPress:c,accessibilityRole:"button",accessibilityState:p,style:h,children:[C,S]}),t[12]=c,t[13]=p,t[14]=h,t[15]=C,t[16]=S,t[17]=v):v=t[17];return v},_e.ControlBarLeadRow=function(e){const t=(0,o.c)(16),{icon:n,label:a,onPress:c}=e,{colors:u}=(0,b.useTheme)();let f,p,h,x,C;t[0]!==u.surfaceHover?(f=e=>{const{pressed:o}=e;return[w.optionRow,{backgroundColor:o?u.surfaceHover:"transparent"}]},t[0]=u.surfaceHover,t[1]=f):f=t[1];t[2]!==n||t[3]!==u.primary?(p=(0,y.jsx)(n,{size:16,color:u.primary}),t[2]=n,t[3]=u.primary,t[4]=p):p=t[4];t[5]!==u.foreground?(h={flex:1,color:u.foreground,fontSize:14,fontWeight:"600"},t[5]=u.foreground,t[6]=h):h=t[6];t[7]!==a||t[8]!==h?(x=(0,y.jsx)(s.default,{style:h,children:a}),t[7]=a,t[8]=h,t[9]=x):x=t[9];t[10]!==a||t[11]!==c||t[12]!==f||t[13]!==p||t[14]!==x?(C=(0,y.jsxs)(l.default,{onPress:c,accessibilityRole:"button",accessibilityLabel:a,style:f,children:[p,x]}),t[10]=a,t[11]=c,t[12]=f,t[13]=p,t[14]=x,t[15]=C):C=t[15];return C},_e.ControlBarDivider=function(){const e=(0,o.c)(2),{colors:t}=(0,b.useTheme)();let s;e[0]!==t.border?(s=(0,y.jsx)(n.default,{style:[w.popoverDivider,{backgroundColor:t.border}]}),e[0]=t.border,e[1]=s):s=e[1];return s};var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),s=e(r(d[3])),l=e(r(d[4])),a=e(r(d[5])),c=e(r(d[6])),u=e(r(d[7])),f=r(d[8]),b=r(d[9]),p=r(d[10]),h=r(d[11]),y=r(d[12]);const x=4500;function C(e){return e+1}function S(e){return e+1}function v(e){const t=(0,o.c)(27),{icon:n,tip:a,onPress:c,active:u,badge:f,disabled:h}=e,x=void 0!==u&&u,C=void 0!==h&&h,{colors:S}=(0,b.useTheme)();let v,P;t[0]!==x||t[1]!==C?(v={selected:x,disabled:C},t[0]=x,t[1]=C,t[2]=v):v=t[2],t[3]!==x||t[4]!==S.primary||t[5]!==S.surfaceHover||t[6]!==C?(P=e=>{const{pressed:o}=e;return[w.btn,{backgroundColor:x?S.primary:o?S.surfaceHover:"transparent",opacity:C?.4:1}]},t[3]=x,t[4]=S.primary,t[5]=S.surfaceHover,t[6]=C,t[7]=P):P=t[7];const j=x?S.primaryForeground:S.foreground;let I,R,A,k;return t[8]!==n||t[9]!==j?(I=(0,y.jsx)(n,{size:18,color:j}),t[8]=n,t[9]=j,t[10]=I):I=t[10],t[11]!==x||t[12]!==f||t[13]!==S.foreground||t[14]!==S.primaryForeground?(R=f?(0,y.jsx)(s.default,{style:[w.badge,{color:x?S.primaryForeground:S.foreground}],children:f}):null,t[11]=x,t[12]=f,t[13]=S.foreground,t[14]=S.primaryForeground,t[15]=R):R=t[15],t[16]!==C||t[17]!==c||t[18]!==v||t[19]!==P||t[20]!==I||t[21]!==R||t[22]!==a?(A=(0,y.jsxs)(l.default,{onPress:c,disabled:C,accessibilityRole:"button",accessibilityLabel:a,accessibilityState:v,hitSlop:6,style:P,children:[I,R]}),t[16]=C,t[17]=c,t[18]=v,t[19]=P,t[20]=I,t[21]=R,t[22]=a,t[23]=A):A=t[23],t[24]!==A||t[25]!==a?(k=(0,y.jsx)(p.Tooltip,{label:a,children:A}),t[24]=A,t[25]=a,t[26]=k):k=t[26],k}const w=c.default.create({bar:{position:'absolute',bottom:h.SPACING.lg,alignSelf:'center',flexDirection:'row',alignItems:'center',gap:h.SPACING.xs/2,paddingHorizontal:h.SPACING.sm,paddingVertical:h.SPACING.xs,borderRadius:h.RADIUS.xl,borderWidth:1,maxWidth:'96%',shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:6},popover:{position:'absolute',bottom:64,alignSelf:'center',minWidth:220,maxWidth:'92%',borderRadius:h.RADIUS.lg,borderWidth:1,paddingVertical:h.SPACING.xs,paddingHorizontal:h.SPACING.xs,shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:8},optionRow:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm,paddingVertical:h.SPACING.sm,paddingHorizontal:h.SPACING.md,borderRadius:h.RADIUS.md},popoverDivider:{height:1,marginVertical:h.SPACING.xs/2,marginHorizontal:h.SPACING.sm},handle:{position:'absolute',bottom:h.SPACING.lg,alignSelf:'center',width:56,height:28,borderRadius:h.RADIUS.xl,borderWidth:1,alignItems:'center',justifyContent:'center',shadowColor:'#000',shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:6},title:{fontSize:13,fontWeight:'600',paddingHorizontal:h.SPACING.xs},sep:{width:1,height:20,marginHorizontal:2},btn:{flexDirection:'row',alignItems:'center',gap:2,paddingHorizontal:h.SPACING.sm,paddingVertical:h.SPACING.sm,borderRadius:h.RADIUS.lg},badge:{fontSize:11,fontWeight:'700'}})},3548,[15,17,20,112,252,147,33,277,813,2587,3549,2589,10]);
15970
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.Tooltip=function(e){const o=(0,t.c)(5),{label:n,children:l}=e;let c;o[2]!==l||o[3]!==n?(c=(0,b.jsx)(_,{label:n,children:l}),o[2]=l,o[3]=n,o[4]=c):c=o[4];return c};var t=r(d[0]),o=r(d[1]),n=e(r(d[2])),l=e(r(d[3])),c=e(r(d[4]));r(d[5]);var u=e(r(d[6])),s=r(d[7]),f=r(d[8]),h=r(d[9]),b=r(d[10]);function _(e){const u=(0,t.c)(14),{label:f,children:_}=e,{colors:y}=(0,s.useTheme)(),[S,T]=(0,o.useState)(!1),[v,O]=(0,o.useState)(0),[x,w]=(0,o.useState)(0),I=(0,o.useRef)(null);let L,E,P;u[0]===Symbol.for("react.memo_cache_sentinel")?(L=()=>()=>{I.current&&clearTimeout(I.current)},E=[],u[0]=L,u[1]=E):(L=u[0],E=u[1]),(0,o.useEffect)(L,E),u[2]===Symbol.for("react.memo_cache_sentinel")?(P=()=>{I.current&&clearTimeout(I.current),I.current=setTimeout(()=>T(!0),h.TOOLTIP_SHOW_DELAY_MS)},u[2]=P):P=u[2];const j=P;let A;u[3]===Symbol.for("react.memo_cache_sentinel")?(A=()=>{I.current&&clearTimeout(I.current),T(!1)},u[3]=A):A=u[3];const C=A;let H,R,z;return u[4]===Symbol.for("react.memo_cache_sentinel")?(H=e=>O(e.nativeEvent.layout.width),u[4]=H):H=u[4],u[5]!==v||u[6]!==y||u[7]!==f||u[8]!==x||u[9]!==S?(R=S?(0,b.jsx)(n.default,{pointerEvents:"none",onLayout:e=>w(e.nativeEvent.layout.width),style:[p.tip,{backgroundColor:y.backgroundElevated,borderColor:y.border,left:(0,h.tooltipLeftOffset)(v,x),opacity:x>0?1:0}],children:(0,b.jsx)(l.default,{style:[p.tipText,{color:y.foreground}],numberOfLines:1,children:f})}):null,u[5]=v,u[6]=y,u[7]=f,u[8]=x,u[9]=S,u[10]=R):R=u[10],u[11]!==_||u[12]!==R?(z=(0,b.jsxs)(c.default,{accessible:!1,onHoverIn:j,onHoverOut:C,onLayout:H,children:[_,R]}),u[11]=_,u[12]=R,u[13]=z):z=u[13],z}const p=u.default.create({tip:{position:'absolute',bottom:'100%',marginBottom:h.TOOLTIP_GAP,paddingHorizontal:f.SPACING.md,paddingVertical:f.SPACING.xs,borderRadius:f.RADIUS.md,borderWidth:1,zIndex:100,shadowColor:'#000',shadowOpacity:.35,shadowRadius:6,shadowOffset:{width:0,height:2}},tipText:{fontSize:12,fontWeight:'500'}})},3549,[15,17,20,112,252,136,33,2587,2589,3550,10]);
15971
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"TOOLTIP_SHOW_DELAY_MS",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"TOOLTIP_GAP",{enumerable:!0,get:function(){return n}}),e.tooltipLeftOffset=function(t,n){return Math.round((t-n)/2)};const t=400,n=6},3550,[]);
15972
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.GridMenuPanel=function(e){const l=(0,o.c)(27),{highlightOn:c,onToggleHighlight:S,showBoxes:T,onToggleShowBoxes:b,highlight:v,onSetHighlight:P}=e,{t:p}=(0,h.useTranslation)(),{colors:j}=(0,s.useTheme)();let C,_,w,y,B,G,H,A,I;l[0]!==p?(C=p("v2.gridMenu.highlightMaster"),l[0]=p,l[1]=C):C=l[1];l[2]!==c||l[3]!==S||l[4]!==C?(_=(0,x.jsx)(f.PanelToggleRow,{icon:u.Zap,label:C,value:c,onValueChange:S}),l[2]=c,l[3]=S,l[4]=C,l[5]=_):_=l[5];l[6]!==p?(w=p("v2.cameraMenu.boundingBoxes"),l[6]=p,l[7]=w):w=l[7];l[8]!==b||l[9]!==T||l[10]!==w?(y=(0,x.jsx)(f.PanelToggleRow,{icon:u.SquareDashed,label:w,value:T,onValueChange:b}),l[8]=b,l[9]=T,l[10]=w,l[11]=y):y=l[11];l[12]!==j.foregroundMuted?(B=[M.sectionLabel,{color:j.foregroundMuted}],l[12]=j.foregroundMuted,l[13]=B):B=l[13];l[14]!==p?(G=p("v2.gridBuilder.highlightTitle"),l[14]=p,l[15]=G):G=l[15];l[16]!==B||l[17]!==G?(H=(0,x.jsx)(t.default,{style:B,children:G}),l[16]=B,l[17]=G,l[18]=H):H=l[18];l[19]!==v||l[20]!==P?(A=(0,x.jsx)(f.HighlightTriggerRows,{highlight:v,onSetHighlight:P}),l[19]=v,l[20]=P,l[21]=A):A=l[21];l[22]!==_||l[23]!==y||l[24]!==H||l[25]!==A?(I=(0,x.jsxs)(n.default,{style:M.body,children:[_,y,H,A]}),l[22]=_,l[23]=y,l[24]=H,l[25]=A,l[26]=I):I=l[26];return I};var o=r(d[0]);r(d[1]);var n=e(r(d[2])),t=e(r(d[3])),l=e(r(d[4])),h=r(d[5]),u=r(d[6]),s=r(d[7]),c=r(d[8]),f=r(d[9]),x=r(d[10]);const M=l.default.create({body:{paddingHorizontal:c.SPACING.sm,paddingVertical:c.SPACING.xs},sectionLabel:{fontSize:12,fontWeight:'600',paddingTop:c.SPACING.md,paddingBottom:c.SPACING.xs}})},3551,[15,17,20,112,33,786,813,2587,2589,3408,10]);
15973
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.computeAutoLayout=t,e.computeGridLayout=function(o,c,n,u="auto",s=l){if('number'!=typeof u||u<1)return t(o,c,n,s);if(o<=0||c<=0||n<=0)return{cols:0,rows:0,cellW:0,cellH:0};const f=Math.floor(u),M=Math.ceil(o/f),h=Math.min(c/f,n/M*s);return{cols:f,rows:M,cellW:h,cellH:h/s}};const l=1.7777777777777777;function t(t,o,c,n=l){if(t<=0||o<=0||c<=0)return{cols:0,rows:0,cellW:0,cellH:0};let u={cols:1,rows:t,cellW:0,cellH:0},s=-1;for(let l=1;l<=t;l++){const f=Math.ceil(t/l),M=Math.min(o/l,c/f*n),h=M/n,w=M*h;w>s&&(s=w,u={cols:l,rows:f,cellW:M,cellH:h})}return u}},3552,[]);
15974
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]),n=r(d[1]);r(d[2]);var c=r(d[3]),u=r(d[4]),l=r(d[5]);function s(){const s=(0,t.c)(4),{devices:o}=(0,n.useLocalSearchParams)();let f;s[0]!==o?(f=(0,u.parseAdhocDeviceIds)(o),s[0]=o,s[1]=f):f=s[1];const v=f;if(0===v.length)return null;let h;return s[2]!==v?(h=(0,l.jsx)(c.GridViewScreen,{gridId:null,adhocCameraIds:v}),s[2]=v,s[3]=h):h=s[3],h}},3553,[15,743,17,3541,3506,10]);
15975
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]),c=r(d[2]);function o(){const o=(0,t.c)(1);let u;return o[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(n.CamerasManageScreen,{}),o[0]=u):u=o[0],u}},3554,[15,3555,10]);
15976
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.CamerasManageScreen=function(){const e=(0,o.c)(34),{t:s}=(0,S.useTranslation)(),{colors:u}=(0,C.useTheme)(),c=(0,h.useRouter)(),{data:f,isLoading:p}=(0,v.useAllCameras)();let y;e[0]!==f?(y=void 0===f?[]:f,e[0]=f,e[1]=y):y=e[1];const j=y,{setLocalName:H,setHidden:R,setOrder:T}=(0,A.useCameraPrefs)(),[D,E]=(0,n.useState)(j);let z,L,w;e[2]!==j?(z=()=>{E(j)},L=[j],e[2]=j,e[3]=z,e[4]=L):(z=e[3],L=e[4]);(0,n.useEffect)(z,L),e[5]!==T?(w=e=>{const{data:o}=e;E(o),T(o.map(k))},e[5]=T,e[6]=w):w=e[6];const _=w;let O;e[7]!==u||e[8]!==R||e[9]!==H?(O=e=>{const{item:o,drag:n,isActive:t}=e;return(0,I.jsx)(G,{camera:o,drag:n,isActive:t,colors:u,onRename:e=>H(o.id,e),onToggleHidden:e=>R(o.id,e)})},e[7]=u,e[8]=R,e[9]=H,e[10]=O):O=e[10];const V=O;let B,W,F,K,U,q;e[11]!==u.background?(B={flex:1,backgroundColor:u.background},e[11]=u.background,e[12]=B):B=e[12];e[13]!==s?(W=s("v2.cameras.manage"),e[13]=s,e[14]=W):W=e[14];e[15]!==c?(F=()=>c.back(),e[15]=c,e[16]=F):F=e[16];e[17]!==W||e[18]!==F?(K=(0,I.jsx)(N.ScreenHeader,{title:W,onBack:F,bordered:!0}),e[17]=W,e[18]=F,e[19]=K):K=e[19];e[20]!==j||e[21]!==u.foregroundMuted||e[22]!==u.foregroundSubtle||e[23]!==u.primary||e[24]!==D||e[25]!==_||e[26]!==p||e[27]!==V||e[28]!==s?(U=p?(0,I.jsx)(t.default,{style:M.centered,children:(0,I.jsx)(b.default,{color:u.primary})}):0===j.length?(0,I.jsx)(t.default,{style:M.centered,children:(0,I.jsx)(l.default,{style:{color:u.foregroundMuted,fontSize:15},children:s("v2.cameras.empty")})}):(0,I.jsx)(x.default,{data:D,keyExtractor:P,onDragEnd:_,renderItem:V,contentContainerStyle:M.content,activationDistance:12,ListHeaderComponent:(0,I.jsx)(l.default,{style:[M.hint,{color:u.foregroundSubtle}],children:s("v2.cameras.manageHint")})}),e[20]=j,e[21]=u.foregroundMuted,e[22]=u.foregroundSubtle,e[23]=u.primary,e[24]=D,e[25]=_,e[26]=p,e[27]=V,e[28]=s,e[29]=U):U=e[29];e[30]!==U||e[31]!==B||e[32]!==K?(q=(0,I.jsxs)(t.default,{style:B,children:[K,U]}),e[30]=U,e[31]=B,e[32]=K,e[33]=q):q=e[33];return q};var o=r(d[0]),n=r(d[1]),t=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),u=e(r(d[5])),c=e(r(d[6])),f=e(r(d[7])),b=e(r(d[8]));r(d[9]);var S=r(d[10]),h=r(d[11]),p=r(d[12]),x=e(p),y=r(d[13]),C=r(d[14]),j=r(d[15]),N=r(d[16]),v=r(d[17]),A=r(d[18]),I=r(d[19]);function P(e){return String(e.id)}function k(e){return e.id}function G(e){const f=(0,o.c)(59),{camera:b,drag:h,isActive:x,colors:C,onRename:j,onToggleHidden:N}=e,{t:v}=(0,S.useTranslation)(),[A,P]=(0,n.useState)(b.name);let k,G,H;f[0]!==b.name?(k=()=>{P(b.name)},G=[b.name],f[0]=b.name,f[1]=k,f[2]=G):(k=f[1],G=f[2]),(0,n.useEffect)(k,G),f[3]!==b.name||f[4]!==A||f[5]!==j?(H=()=>{A!==b.name&&j(A)},f[3]=b.name,f[4]=A,f[5]=j,f[6]=H):H=f[6];const R=H,T=b.name!==b.originalName,D=x?C.surfaceHover:C.surface,E=b.hidden?.55:1;let z,L,w,_;f[7]!==C.border||f[8]!==D||f[9]!==E?(z=[M.row,{backgroundColor:D,borderColor:C.border,opacity:E}],f[7]=C.border,f[8]=D,f[9]=E,f[10]=z):z=f[10],f[11]!==v?(L=v("v2.cameras.reorderHandle"),f[11]=v,f[12]=L):L=f[12],f[13]!==C.foregroundMuted?(w=(0,I.jsx)(y.GripVertical,{size:20,color:C.foregroundMuted}),f[13]=C.foregroundMuted,f[14]=w):w=f[14],f[15]!==h||f[16]!==L||f[17]!==w?(_=(0,I.jsx)(c.default,{accessibilityRole:"button",accessibilityLabel:L,onLongPress:h,delayLongPress:150,style:M.handle,children:w}),f[15]=h,f[16]=L,f[17]=w,f[18]=_):_=f[18];const O=b.online?C.success:C.foregroundDisabled;let V,B,W,F,K,U,q;f[19]!==O?(V=(0,I.jsx)(t.default,{style:[M.statusDot,{backgroundColor:O}]}),f[19]=O,f[20]=V):V=f[20],f[21]!==C.foreground?(B=[M.input,{color:C.foreground}],f[21]=C.foreground,f[22]=B):B=f[22],f[23]!==b.originalName||f[24]!==C.foregroundSubtle||f[25]!==R||f[26]!==A||f[27]!==B?(W=(0,I.jsx)(s.default,{value:A,onChangeText:P,onBlur:R,onSubmitEditing:R,returnKeyType:"done",placeholder:b.originalName,placeholderTextColor:C.foregroundSubtle,selectTextOnFocus:!0,style:B}),f[23]=b.originalName,f[24]=C.foregroundSubtle,f[25]=R,f[26]=A,f[27]=B,f[28]=W):W=f[28],f[29]!==V||f[30]!==W?(F=(0,I.jsxs)(t.default,{style:M.nameRow,children:[V,W]}),f[29]=V,f[30]=W,f[31]=F):F=f[31],f[32]!==b.originalName||f[33]!==C.foregroundSubtle||f[34]!==T?(K=T?(0,I.jsx)(l.default,{style:[M.original,{color:C.foregroundSubtle}],numberOfLines:1,children:b.originalName}):null,f[32]=b.originalName,f[33]=C.foregroundSubtle,f[34]=T,f[35]=K):K=f[35],f[36]!==F||f[37]!==K?(U=(0,I.jsxs)(t.default,{style:M.body,children:[F,K]}),f[36]=F,f[37]=K,f[38]=U):U=f[38],f[39]!==b.hidden||f[40]!==C.foregroundMuted?(q=b.hidden?(0,I.jsx)(y.EyeOff,{size:16,color:C.foregroundMuted}):null,f[39]=b.hidden,f[40]=C.foregroundMuted,f[41]=q):q=f[41];const J=!b.hidden;let Q,X,Y,Z;return f[42]!==N?(Q=e=>N(!e),f[42]=N,f[43]=Q):Q=f[43],f[44]!==C.border||f[45]!==C.primary?(X={false:C.border,true:C.primary},f[44]=C.border,f[45]=C.primary,f[46]=X):X=f[46],f[47]!==C.backgroundElevated||f[48]!==C.border||f[49]!==J||f[50]!==Q||f[51]!==X?(Y=(0,I.jsx)(u.default,{value:J,onValueChange:Q,trackColor:X,thumbColor:C.backgroundElevated,ios_backgroundColor:C.border}),f[47]=C.backgroundElevated,f[48]=C.border,f[49]=J,f[50]=Q,f[51]=X,f[52]=Y):Y=f[52],f[53]!==U||f[54]!==q||f[55]!==Y||f[56]!==z||f[57]!==_?(Z=(0,I.jsx)(p.ScaleDecorator,{children:(0,I.jsxs)(t.default,{style:z,children:[_,U,q,Y]})}),f[53]=U,f[54]=q,f[55]=Y,f[56]=z,f[57]=_,f[58]=Z):Z=f[58],Z}const M=f.default.create({centered:{flex:1,alignItems:'center',justifyContent:'center',padding:j.SPACING['2xl']},content:{padding:j.SPACING.md,gap:j.SPACING.md},hint:{fontSize:13,lineHeight:18,paddingHorizontal:j.SPACING.sm,paddingTop:j.SPACING.sm,paddingBottom:j.SPACING.md},row:{flexDirection:'row',alignItems:'center',gap:j.SPACING.lg,borderWidth:1,borderRadius:j.RADIUS.md,paddingVertical:j.SPACING.md,paddingHorizontal:j.SPACING.lg},handle:{paddingVertical:j.SPACING.sm,paddingRight:j.SPACING.xs},body:{flex:1,gap:2},nameRow:{flexDirection:'row',alignItems:'center',gap:j.SPACING.md},statusDot:{width:8,height:8,borderRadius:4},input:{flex:1,fontSize:16,fontWeight:'600',paddingVertical:0},original:{fontSize:12,marginLeft:8+j.SPACING.md}})},3555,[15,17,20,112,262,260,252,33,240,136,786,743,3556,813,2587,2589,3050,3080,3131,10]);
15977
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}});var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);Object.keys(o).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return o[e]}})});var c=r(d[2]);Object.keys(c).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return c[e]}})});var u=r(d[3]);Object.keys(u).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return u[e]}})});var f=r(d[4]);Object.keys(f).forEach(function(e){'default'===e||Object.prototype.hasOwnProperty.call(_e,e)||Object.defineProperty(_e,e,{enumerable:!0,get:function(){return f[e]}})});var l=n.default},3556,[3557,3572,3574,3577,3578]);
15978
+ __d(function(g,r,_i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return H}});var t=r(_d[0]),n=e(t),l=e(r(_d[1])),i=r(_d[2]),o=r(_d[3]),u=e(o),s=e(r(_d[4])),c=r(_d[5]),d=e(r(_d[6])),v=e(r(_d[7])),_=e(r(_d[8])),f=r(_d[9]),h=e(f),S=r(_d[10]),b=e(S),D=e(r(_d[11])),p=r(_d[12]),A=r(_d[13]),O=e(r(_d[14])),x=r(_d[15]);function I(){return I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},I.apply(this,arguments)}const w=u.default.createAnimatedComponent(i.FlatList),J={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs1(){const{isTouchActiveNative}=this.__closure;return isTouchActiveNative.value;}"},C={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs2(cur,prev){const{touchTranslate,activeIndexAnim,disabled,runOnJS,onRelease,onDragEnd,spacerIndexAnim}=this.__closure;if(cur!==prev&&!cur){const hasMoved=!!touchTranslate.value;if(!hasMoved&&activeIndexAnim.value>=0&&!disabled.value){runOnJS(onRelease)(activeIndexAnim.value);runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});}}}"},E={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs3(){const{spacerIndexAnim}=this.__closure;return spacerIndexAnim.value;}"},k={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs4(cur,prev){const{runOnJS,onPlaceholderIndexChange}=this.__closure;if(prev!==null&&cur!==prev&&cur>=0&&prev>=0){runOnJS(onPlaceholderIndexChange)(cur);}}"},T={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs5(){const{runOnJS,onContainerTouchEnd}=this.__closure;runOnJS(onContainerTouchEnd)();}"},R={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs6(){const{runOnJS,onContainerTouchStart}=this.__closure;runOnJS(onContainerTouchStart)();}"},y={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs7(evt){const{gestureDisabled,isTouchActiveNative,horizontalAnim,touchTranslate,autoScrollDistance,panGestureState,activeIndexAnim,disabled,runOnJS,onRelease,placeholderOffset,activeCellOffset,withSpring,animationConfigRef,onDragEnd,spacerIndexAnim}=this.__closure;if(gestureDisabled.value)return;isTouchActiveNative.value=false;const translation=horizontalAnim.value?evt.translationX:evt.translationY;touchTranslate.value=translation+autoScrollDistance.value;panGestureState.value=evt.state;if(activeIndexAnim.value===-1||disabled.value)return;disabled.value=true;runOnJS(onRelease)(activeIndexAnim.value);const springTo=placeholderOffset.value-activeCellOffset.value;touchTranslate.value=withSpring(springTo,animationConfigRef.value,function(){runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});disabled.value=false;});}"},z={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs8(evt){const{gestureDisabled,panGestureState,horizontalAnim,touchTranslate}=this.__closure;if(gestureDisabled.value)return;panGestureState.value=evt.state;const translation=horizontalAnim.value?evt.translationX:evt.translationY;touchTranslate.value=translation;}"},F={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs9(evt){const{gestureDisabled,disabled,panGestureState}=this.__closure;gestureDisabled.value=disabled.value;if(gestureDisabled.value)return;panGestureState.value=evt.state;}"},L={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs10(){const{runOnJS,onDragEnd,activeIndexAnim,spacerIndexAnim,disabled}=this.__closure;runOnJS(onDragEnd)({from:activeIndexAnim.value,to:spacerIndexAnim.value});disabled.value=false;}"},N={code:"function reactNativeDraggableFlatlist_DraggableFlatListJs11(evt){const{scrollOffset,horizontalAnim,runOnJS,onScroll}=this.__closure;scrollOffset.value=horizontalAnim.value?evt.contentOffset.x:evt.contentOffset.y;runOnJS(onScroll)(scrollOffset.value);}"};function P(e,t){return n.default.createElement(_.default,e,n.default.createElement(h.default,null,n.default.createElement(b.default,{flatListRef:t},n.default.createElement(G,e))))}const G=(0,x.typedMemo)(function(e){const{cellDataRef:_,containerRef:h,flatlistRef:b,keyToIndexRef:x,propsRef:P,animationConfigRef:G}=(0,S.useRefs)(),{activeCellOffset:H,activeCellSize:M,activeIndexAnim:V,containerSize:j,scrollOffset:Y,scrollViewSize:U,spacerIndexAnim:X,horizontalAnim:K,placeholderOffset:B,touchTranslate:q,autoScrollDistance:Q,panGestureState:W,isTouchActiveNative:Z,viewableIndexMin:$,viewableIndexMax:ee,disabled:te}=(0,f.useAnimatedValues)(),ae=(0,A.useStableCallback)(()=>{V.value=-1,X.value=-1,q.value=0,M.value=-1,H.value=-1,oe(null)}),{dragHitSlop:ne=c.DEFAULT_PROPS.dragHitSlop,scrollEnabled:le=c.DEFAULT_PROPS.scrollEnabled,activationDistance:re=c.DEFAULT_PROPS.activationDistance}=e;let[ie,oe]=(0,t.useState)(null);const[ue,se]=(0,t.useState)(!P.current.enableLayoutAnimationExperimental),ce=(0,A.useStableCallback)((t,n)=>{if(!e.keyExtractor)throw new Error("You must provide a keyExtractor to DraggableFlatList");return e.keyExtractor(t,n)}),de=(0,t.useRef)(e.data),ve=de.current.map(ce).join("")!==e.data.map(ce).join("");de.current=e.data,ve&&(ie=null,l.default.runAfterInteractions(()=>{ae()})),(0,t.useEffect)(()=>{P.current.enableLayoutAnimationExperimental&&(ie?se(!0):setTimeout(()=>{se(!1)},100))},[ie]),(0,t.useLayoutEffect)(()=>{e.data.forEach((e,t)=>{const n=ce(e,t);x.current.set(n,t)})},[e.data,ce,x]);const fe=(0,A.useStableCallback)(e=>{if(te.value)return;const t=x.current.get(e),n=_.current.get(e);n&&(H.value=n.measurements.offset,M.value=n.measurements.size);const{onDragBegin:l}=P.current;void 0!==t&&(X.value=t,V.value=t,oe(e),null==l||l(t))}),he=(0,t.useMemo)(()=>({activeKey:ie,extraData:e.extraData}),[ie,e.extraData]),me=(0,t.useCallback)(t=>{let{item:l,index:i}=t;const o=ce(l,i);return i!==x.current.get(o)&&x.current.set(o,i),n.default.createElement(v.default,{item:l,itemKey:o,renderItem:e.renderItem,drag:fe,extraData:e.extraData})},[e.renderItem,e.extraData,fe,ce]),ge=(0,A.useStableCallback)(t=>{var n;null===(n=e.onRelease)||void 0===n||n.call(e,t)}),Se=(0,A.useStableCallback)(t=>{let{from:n,to:l}=t;const{onDragEnd:i,data:o}=e,u=[...o];n!==l&&(u.splice(n,1),u.splice(l,0,o[n])),null==i||i({from:n,to:l,data:u}),oe(null)}),be=(0,A.useStableCallback)(t=>{var n;null===(n=e.onPlaceholderIndexChange)||void 0===n||n.call(e,t)});(0,o.useAnimatedReaction)((function({_worklet_12667785060637_init_data:e,isTouchActiveNative:t}){const n=function(){return t.value};return n.__closure={isTouchActiveNative:t},n.__workletHash=0xb8572d4211d,n.__initData=e,n})({_worklet_12667785060637_init_data:J,isTouchActiveNative:Z}),(function({_worklet_3017769988260_init_data:e,touchTranslate:t,activeIndexAnim:n,disabled:l,runOnJS:i,onRelease:o,onDragEnd:u,spacerIndexAnim:s}){const c=function(e,c){if(e!==c&&!e){!!!t.value&&n.value>=0&&!l.value&&(i(o)(n.value),i(u)({from:n.value,to:s.value}))}};return c.__closure={touchTranslate:t,activeIndexAnim:n,disabled:l,runOnJS:i,onRelease:o,onDragEnd:u,spacerIndexAnim:s},c.__workletHash=3017769988260,c.__initData=e,c})({_worklet_3017769988260_init_data:C,touchTranslate:q,activeIndexAnim:V,disabled:te,runOnJS:o.runOnJS,onRelease:ge,onDragEnd:Se,spacerIndexAnim:X}),[Z,Se,ge]),(0,o.useAnimatedReaction)((function({_worklet_6176791664127_init_data:e,spacerIndexAnim:t}){const n=function(){return t.value};return n.__closure={spacerIndexAnim:t},n.__workletHash=6176791664127,n.__initData=e,n})({_worklet_6176791664127_init_data:E,spacerIndexAnim:X}),(function({_worklet_2590604232580_init_data:e,runOnJS:t,onPlaceholderIndexChange:n}){const l=function(e,l){null!==l&&e!==l&&e>=0&&l>=0&&t(n)(e)};return l.__closure={runOnJS:t,onPlaceholderIndexChange:n},l.__workletHash=2590604232580,l.__initData=e,l})({_worklet_2590604232580_init_data:k,runOnJS:o.runOnJS,onPlaceholderIndexChange:be}),[X]);const De=(0,o.useSharedValue)(!1),pe=i.Gesture.Pan().onBegin((function({_worklet_7787583163440_init_data:e,gestureDisabled:t,disabled:n,panGestureState:l}){const i=function(e){t.value=n.value,t.value||(l.value=e.state)};return i.__closure={gestureDisabled:t,disabled:n,panGestureState:l},i.__workletHash=7787583163440,i.__initData=e,i})({_worklet_7787583163440_init_data:F,gestureDisabled:De,disabled:te,panGestureState:W})).onUpdate((function({_worklet_11677334153389_init_data:e,gestureDisabled:t,panGestureState:n,horizontalAnim:l,touchTranslate:i}){const o=function(e){if(t.value)return;n.value=e.state;const o=l.value?e.translationX:e.translationY;i.value=o};return o.__closure={gestureDisabled:t,panGestureState:n,horizontalAnim:l,touchTranslate:i},o.__workletHash=0xa9ed75aa8ad,o.__initData=e,o})({_worklet_11677334153389_init_data:z,gestureDisabled:De,panGestureState:W,horizontalAnim:K,touchTranslate:q})).onEnd((function({_worklet_13600115403067_init_data:e,gestureDisabled:t,isTouchActiveNative:n,horizontalAnim:l,touchTranslate:i,autoScrollDistance:o,panGestureState:u,activeIndexAnim:s,disabled:c,runOnJS:d,onRelease:v,placeholderOffset:_,activeCellOffset:f,withSpring:h,animationConfigRef:S,onDragEnd:b,spacerIndexAnim:D}){const p=function(e){if(t.value)return;n.value=!1;const p=l.value?e.translationX:e.translationY;if(i.value=p+o.value,u.value=e.state,-1===s.value||c.value)return;c.value=!0,d(v)(s.value);const A=_.value-f.value;i.value=h(A,S.value,(function({_worklet_9458151985595_init_data:e,runOnJS:t,onDragEnd:n,activeIndexAnim:l,spacerIndexAnim:i,disabled:o}){const u=function(){t(n)({from:l.value,to:i.value}),o.value=!1};return u.__closure={runOnJS:t,onDragEnd:n,activeIndexAnim:l,spacerIndexAnim:i,disabled:o},u.__workletHash=9458151985595,u.__initData=e,u})({_worklet_9458151985595_init_data:L,runOnJS:d,onDragEnd:b,activeIndexAnim:s,spacerIndexAnim:D,disabled:c}))};return p.__closure={gestureDisabled:t,isTouchActiveNative:n,horizontalAnim:l,touchTranslate:i,autoScrollDistance:o,panGestureState:u,activeIndexAnim:s,disabled:c,runOnJS:d,onRelease:v,placeholderOffset:_,activeCellOffset:f,withSpring:h,animationConfigRef:S,onDragEnd:b,spacerIndexAnim:D},p.__workletHash=0xc5e860c293b,p.__initData=e,p})({_worklet_13600115403067_init_data:y,gestureDisabled:De,isTouchActiveNative:Z,horizontalAnim:K,touchTranslate:q,autoScrollDistance:Q,panGestureState:W,activeIndexAnim:V,disabled:te,runOnJS:o.runOnJS,onRelease:ge,placeholderOffset:B,activeCellOffset:H,withSpring:o.withSpring,animationConfigRef:G,onDragEnd:Se,spacerIndexAnim:X})).onTouchesDown((function({_worklet_2544844199545_init_data:e,runOnJS:t,onContainerTouchStart:n}){const l=function(){t(n)()};return l.__closure={runOnJS:t,onContainerTouchStart:n},l.__workletHash=2544844199545,l.__initData=e,l})({_worklet_2544844199545_init_data:R,runOnJS:o.runOnJS,onContainerTouchStart:()=>(te.value||(Z.value=!0),!1)})).onTouchesUp((function({_worklet_8529291078106_init_data:e,runOnJS:t,onContainerTouchEnd:n}){const l=function(){t(n)()};return l.__closure={runOnJS:t,onContainerTouchEnd:n},l.__workletHash=8529291078106,l.__initData=e,l})({_worklet_8529291078106_init_data:T,runOnJS:o.runOnJS,onContainerTouchEnd:()=>{Z.value=!1}}));if(ne&&pe.hitSlop(ne),re){const t=[-re,re];e.horizontal?pe.activeOffsetX(t):pe.activeOffsetY(t)}const Ae=(0,A.useStableCallback)(t=>{var n;null===(n=e.onScrollOffsetChange)||void 0===n||n.call(e,t)}),Oe=(0,o.useAnimatedScrollHandler)({onScroll:(function({_worklet_11729156081231_init_data:e,scrollOffset:t,horizontalAnim:n,runOnJS:l,onScroll:i}){const o=function(e){t.value=n.value?e.contentOffset.x:e.contentOffset.y,l(i)(t.value)};return o.__closure={scrollOffset:t,horizontalAnim:n,runOnJS:l,onScroll:i},o.__workletHash=0xaaae82e864f,o.__initData=e,o})({_worklet_11729156081231_init_data:N,scrollOffset:Y,horizontalAnim:K,runOnJS:o.runOnJS,onScroll:Ae})},[K]);(0,p.useAutoScroll)();const xe=(0,A.useStableCallback)(t=>{var n;const l=t.viewableItems.filter(e=>e.isViewable).map(e=>e.index).filter(e=>"number"==typeof e),i=Math.min(...l),o=Math.max(...l);$.value=i,ee.value=o,null===(n=e.onViewableItemsChanged)||void 0===n||n.call(e,t)});return n.default.createElement(D.default,{activeKey:ie,keyExtractor:ce,horizontal:!!e.horizontal,layoutAnimationDisabled:ue},n.default.createElement(i.GestureDetector,{gesture:pe},n.default.createElement(u.default.View,{style:e.containerStyle,ref:h,onLayout:t=>{var n;let{nativeEvent:{layout:l}}=t;const{width:i,height:o}=l;j.value=e.horizontal?i:o,null===(n=e.onContainerLayout)||void 0===n||n.call(e,{layout:l,containerRef:h})}},e.renderPlaceholder&&n.default.createElement(d.default,{renderPlaceholder:e.renderPlaceholder}),n.default.createElement(w,I({},e,{data:e.data,onViewableItemsChanged:xe,CellRendererComponent:s.default,ref:b,onContentSizeChange:(t,n)=>{var l;U.value=e.horizontal?t:n,null===(l=e.onContentSizeChange)||void 0===l||l.call(e,t,n)},scrollEnabled:!ie&&le,renderItem:me,extraData:he,keyExtractor:ce,onScroll:Oe,scrollEventThrottle:16,simultaneousHandlers:e.simultaneousHandlers,removeClippedSubviews:!1})),!!e.onScrollOffsetChange&&n.default.createElement(O.default,{onScrollOffsetChange:e.onScrollOffsetChange,scrollOffset:Y}))))});var H=n.default.forwardRef(P)},3557,[17,155,3241,2714,3558,3560,3568,3569,3563,3562,3564,3559,3570,3567,3571,3565]);
15979
+ __d(function(g,r,_i,a,m,_e,d){"use strict";const t=["item","index","onLayout","children"];function e(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return R}});var n=e(r(d[0])),o=r(d[1]),i=e(o),l=e(r(d[2])),s=r(d[3]),u=e(s),c=r(d[4]),f=r(d[5]),_=r(d[6]),h=r(d[7]),y=r(d[8]),C=r(d[9]),b=e(r(d[10])),v=r(d[11]);function L(){return L=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},L.apply(this,arguments)}const A={code:"function reactNativeDraggableFlatlist_CellRendererComponentJs1(){const{translate,isWeb,heldTanslate,activeKey,horizontalAnim}=this.__closure;if(translate.value&&!isWeb){heldTanslate.value=translate.value;}const t=activeKey?translate.value:heldTanslate.value;return{transform:[horizontalAnim.value?{translateX:t}:{translateY:t}]};}"},D={code:"function reactNativeDraggableFlatlist_CellRendererComponentJs2(t,_layoutDisabled){const{stashConfig,getStashedConfig}=this.__closure;if(!t)return;const config=global.LayoutAnimationRepository.configs[t];if(config)stashConfig(t,config);const stashedConfig=getStashedConfig(t);if(_layoutDisabled){global.LayoutAnimationRepository.removeConfig(t);}else if(stashedConfig){global.LayoutAnimationRepository.registerConfig(t,stashedConfig);}}"};var R=(0,h.typedMemo)(function(e){const{item:h,index:R,onLayout:F,children:k}=e,w=(0,n.default)(e,t),N=(0,o.useRef)(null),{cellDataRef:x,propsRef:z,containerRef:E}=(0,y.useRefs)(),{horizontalAnim:O,scrollOffset:W}=(0,C.useAnimatedValues)(),{activeKey:T,keyExtractor:K,horizontal:H,layoutAnimationDisabled:J}=(0,c.useDraggableFlatListContext)(),V=K(h,R),j=(0,s.useSharedValue)(-1),I=(0,s.useSharedValue)(-1),M=(0,s.useSharedValue)(0),P=(0,_.useCellTranslate)({cellOffset:j,cellSize:I,cellIndex:R}),U=T===V,X=(0,s.useAnimatedStyle)((function({_worklet_9493151677458_init_data:t,translate:e,isWeb:n,heldTanslate:o,activeKey:i,horizontalAnim:l}){const s=function(){e.value&&!n&&(o.value=e.value);const t=i?e.value:o.value;return{transform:[l.value?{translateX:t}:{translateY:t}]}};return s.__closure={translate:e,isWeb:n,heldTanslate:o,activeKey:i,horizontalAnim:l},s.__workletHash=9493151677458,s.__initData=t,s})({_worklet_9493151677458_init_data:A,translate:P,isWeb:f.isWeb,heldTanslate:M,activeKey:T,horizontalAnim:O}),[P,T]),Y=(0,v.useStableCallback)(()=>{const t=(t,e,n,o)=>{f.isWeb&&H&&(t+=W.value);const i=H?t:e,l=H?n:o;x.current.set(V,{measurements:{size:l,offset:i}}),I.value=l,j.value=i},e=()=>{var t;null!==(t=z.current)&&void 0!==t&&t.debug&&console.log(`## on measure fail, index: ${R}`)},n=E.current,o=N.current,i=n;o&&i&&o.measureLayout(i,t,e)}),q=(0,v.useStableCallback)(t=>{M.value=0,Y(),F&&t&&F(t)});(0,o.useEffect)(()=>{f.isWeb&&requestAnimationFrame(()=>{q()})},[R,q]);const $=(0,o.useMemo)(()=>({elevation:U?1:0,zIndex:U?999:0,flexDirection:H?"row":"column"}),[U,H]),{itemEnteringAnimation:B,itemExitingAnimation:G,itemLayoutAnimation:Q}=z.current;return(0,o.useEffect)(()=>{if(!z.current.enableLayoutAnimationExperimental)return;const t=(0,l.default)(N.current);(0,s.runOnUI)((function({_worklet_10702969925975_init_data:t,stashConfig:e,getStashedConfig:n}){const o=function(t,o){if(!t)return;const i=g.LayoutAnimationRepository.configs[t];i&&e(t,i);const l=n(t);o?g.LayoutAnimationRepository.removeConfig(t):l&&g.LayoutAnimationRepository.registerConfig(t,l)};return o.__closure={stashConfig:e,getStashedConfig:n},o.__workletHash=0x9bbfab87157,o.__initData=t,o})({_worklet_10702969925975_init_data:D,stashConfig:S,getStashedConfig:p}))(t,J)},[J]),i.default.createElement(u.default.View,L({},w,{ref:N,onLayout:q,entering:B,exiting:G,layout:z.current.enableLayoutAnimationExperimental?Q:void 0,style:[e.style,$,X],pointerEvents:T?"none":"auto"}),i.default.createElement(b.default,{isActive:U},k))});(0,s.runOnUI)((function({_worklet_4071045011151_init_data:t}){const e=function(){g.RNDFLLayoutAnimationConfigStash={}};return e.__closure={},e.__workletHash=4071045011151,e.__initData=t,e})({_worklet_4071045011151_init_data:{code:"function reactNativeDraggableFlatlist_CellRendererComponentJs3(){global.RNDFLLayoutAnimationConfigStash={};}"}}))();const S=(function({_worklet_17335747121283_init_data:t}){const e=function(t,e){g.RNDFLLayoutAnimationConfigStash||(g.RNDFLLayoutAnimationConfigStash={}),g.RNDFLLayoutAnimationConfigStash[t]=e};return e.__closure={},e.__workletHash=0xfc44b0c9083,e.__initData=t,e})({_worklet_17335747121283_init_data:{code:"function stashConfig_reactNativeDraggableFlatlist_CellRendererComponentJs4(tag,config){if(!global.RNDFLLayoutAnimationConfigStash)global.RNDFLLayoutAnimationConfigStash={};global.RNDFLLayoutAnimationConfigStash[tag]=config;}"}}),p=(function({_worklet_1208922414792_init_data:t}){const e=function(t){return g.RNDFLLayoutAnimationConfigStash?g.RNDFLLayoutAnimationConfigStash[t]:null};return e.__closure={},e.__workletHash=1208922414792,e.__initData=t,e})({_worklet_1208922414792_init_data:{code:"function getStashedConfig_reactNativeDraggableFlatlist_CellRendererComponentJs5(tag){if(!global.RNDFLLayoutAnimationConfigStash)return null;return global.RNDFLLayoutAnimationConfigStash[tag];}"}})},3558,[120,17,122,2714,3559,3560,3561,3565,3564,3562,3566,3567]);
15980
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useDraggableFlatListContext=function(){const e=(0,t.useContext)(o);if(!e)throw new Error("useDraggableFlatListContext must be called within DraggableFlatListProvider");return e};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e};const o=n.default.createContext(void 0);function l(e){let{activeKey:l,keyExtractor:u,horizontal:c,layoutAnimationDisabled:s,children:f}=e;const b=(0,t.useMemo)(()=>({activeKey:l,keyExtractor:u,horizontal:c,layoutAnimationDisabled:s}),[l,u,c,s]);return n.default.createElement(o.Provider,{value:b},f)}},3559,[17]);
15981
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"SCROLL_POSITION_TOLERANCE",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"DEFAULT_ANIMATION_CONFIG",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"DEFAULT_PROPS",{enumerable:!0,get:function(){return u}}),Object.defineProperty(e,"isIOS",{enumerable:!0,get:function(){return l}}),Object.defineProperty(e,"isAndroid",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"isWeb",{enumerable:!0,get:function(){return c}}),Object.defineProperty(e,"isReanimatedV2",{enumerable:!0,get:function(){return f}}),r(d[0]);var t=r(d[1]);const n=2,o={damping:20,mass:.2,stiffness:100,overshootClamping:!1,restSpeedThreshold:.2,restDisplacementThreshold:.2},u={autoscrollThreshold:30,autoscrollSpeed:100,animationConfig:o,scrollEnabled:!0,dragHitSlop:0,activationDistance:0,dragItemOverflow:!1},l=!1,s=!1,c=!0,f=!!t.useSharedValue;if(!f)throw new Error("Your version of react-native-reanimated is too old for react-native-draggable-flatlist!")},3560,[136,2714]);
15982
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useCellTranslate=function(c){let{cellIndex:f,cellSize:u,cellOffset:o}=c;const{activeIndexAnim:x,activeCellSize:A,hoverOffset:I,spacerIndexAnim:h,placeholderOffset:S,hoverAnim:O,viewableIndexMin:z,viewableIndexMax:w}=(0,t.useAnimatedValues)(),{activeKey:p}=(0,n.useDraggableFlatListContext)(),{animationConfigRef:_}=(0,v.useRefs)(),C=(0,l.useDerivedValue)((function({_worklet_14653729795643_init_data:l,cellIndex:t,activeIndexAnim:n,viewableIndexMin:v,viewableIndexMax:s,activeKey:c,hoverOffset:f,activeCellSize:u,cellOffset:o,cellSize:x,spacerIndexAnim:A,placeholderOffset:I,hoverAnim:h,withSpring:S,animationConfigRef:O}){const z=function(){const l=t===n.value,z=!l&&(t<v.value||t>s.value);if(!c||n.value<0||z)return 0;const w=t<n.value,p=t>n.value,_=f.value+u.value,C=o.value+x.value/2,b=o.value+x.value;let P=-1;if(p?_>=o.value&&_<C?P=t-1:_>=C&&_<b&&(P=t):w&&(f.value<b&&f.value>=C?P=t+1:f.value>=o.value&&f.value<C&&(P=t)),-1!==P&&P!==A.value&&(A.value=P),A.value===t){const l=p?x.value+(o.value-u.value):o.value;I.value=l}if(l)return h.value;const M=(p?t<=A.value:t>=A.value)?u.value*(p?-1:1):0;return S(M,O.value)};return z.__closure={cellIndex:t,activeIndexAnim:n,viewableIndexMin:v,viewableIndexMax:s,activeKey:c,hoverOffset:f,activeCellSize:u,cellOffset:o,cellSize:x,spacerIndexAnim:A,placeholderOffset:I,hoverAnim:h,withSpring:S,animationConfigRef:O},z.__workletHash=0xd53d65bee3b,z.__initData=l,z})({_worklet_14653729795643_init_data:s,cellIndex:f,activeIndexAnim:x,viewableIndexMin:z,viewableIndexMax:w,activeKey:p,hoverOffset:I,activeCellSize:A,cellOffset:o,cellSize:u,spacerIndexAnim:h,placeholderOffset:S,hoverAnim:O,withSpring:l.withSpring,animationConfigRef:_}),[p,f]);return C};var l=r(d[0]),t=r(d[1]),n=r(d[2]),v=r(d[3]);const s={code:"function reactNativeDraggableFlatlist_useCellTranslateJs1(){const{cellIndex,activeIndexAnim,viewableIndexMin,viewableIndexMax,activeKey,hoverOffset,activeCellSize,cellOffset,cellSize,spacerIndexAnim,placeholderOffset,hoverAnim,withSpring,animationConfigRef}=this.__closure;const isActiveCell=cellIndex===activeIndexAnim.value;const isOutsideViewableRange=!isActiveCell&&(cellIndex<viewableIndexMin.value||cellIndex>viewableIndexMax.value);if(!activeKey||activeIndexAnim.value<0||isOutsideViewableRange){return 0;}const isBeforeActive=cellIndex<activeIndexAnim.value;const isAfterActive=cellIndex>activeIndexAnim.value;const hoverPlusActiveSize=hoverOffset.value+activeCellSize.value;const offsetPlusHalfSize=cellOffset.value+cellSize.value/2;const offsetPlusSize=cellOffset.value+cellSize.value;let result=-1;if(isAfterActive){if(hoverPlusActiveSize>=cellOffset.value&&hoverPlusActiveSize<offsetPlusHalfSize){result=cellIndex-1;}else if(hoverPlusActiveSize>=offsetPlusHalfSize&&hoverPlusActiveSize<offsetPlusSize){result=cellIndex;}}else if(isBeforeActive){if(hoverOffset.value<offsetPlusSize&&hoverOffset.value>=offsetPlusHalfSize){result=cellIndex+1;}else if(hoverOffset.value>=cellOffset.value&&hoverOffset.value<offsetPlusHalfSize){result=cellIndex;}}if(result!==-1&&result!==spacerIndexAnim.value){spacerIndexAnim.value=result;}if(spacerIndexAnim.value===cellIndex){const newPlaceholderOffset=isAfterActive?cellSize.value+(cellOffset.value-activeCellSize.value):cellOffset.value;placeholderOffset.value=newPlaceholderOffset;}if(isActiveCell){return hoverAnim.value;}const shouldTranslate=isAfterActive?cellIndex<=spacerIndexAnim.value:cellIndex>=spacerIndexAnim.value;const translationAmt=shouldTranslate?activeCellSize.value*(isAfterActive?-1:1):0;return withSpring(translationAmt,animationConfigRef.value);}"}},3561,[2714,3562,3559,3564]);
15983
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return s}}),_e.useAnimatedValues=function(){const e=(0,t.useContext)(u);if(!e)throw new Error("useAnimatedValues must be called from within AnimatedValueProvider!");return e};var e,t=r(d[0]),l=(e=t)&&e.__esModule?e:{default:e},n=r(d[1]),o=r(d[2]),c=r(d[3]);const u=l.default.createContext(void 0);function s(e){let{children:t}=e;const n=O();return l.default.createElement(u.Provider,{value:n},t)}const v={code:"function reactNativeDraggableFlatlist_animatedValueContextJs1(){const{activeIndexAnim}=this.__closure;return activeIndexAnim.value;}"},f={code:"function reactNativeDraggableFlatlist_animatedValueContextJs2(cur,prev){const{scrollInit,scrollOffset,outerScrollInit,outerScrollOffset}=this.__closure;if(cur!==prev&&cur>=0){scrollInit.value=scrollOffset.value;outerScrollInit.value=outerScrollOffset.value;}}"},_={code:"function reactNativeDraggableFlatlist_animatedValueContextJs3(){const{isTouchActiveNative,activeIndexAnim}=this.__closure;return isTouchActiveNative.value&&activeIndexAnim.value>=0;}"},h={code:"function reactNativeDraggableFlatlist_animatedValueContextJs4(){const{isDraggingCell,scrollOffset,scrollInit,outerScrollOffset,outerScrollInit}=this.__closure;if(!isDraggingCell.value)return 0;const innerScrollDiff=scrollOffset.value-scrollInit.value;const outerScrollDiff=outerScrollOffset.value-outerScrollInit.value;const scrollDiff=innerScrollDiff+outerScrollDiff;return scrollDiff;}"},S={code:"function reactNativeDraggableFlatlist_animatedValueContextJs5(){const{isTouchActiveNative,autoScrollDistance,touchTranslate}=this.__closure;const extraTranslate=isTouchActiveNative.value?autoScrollDistance.value:0;return touchTranslate.value+extraTranslate;}"},D={code:"function reactNativeDraggableFlatlist_animatedValueContextJs6(){const{containerSize,activeCellSize,scrollOffset,touchPositionDiff,activeCellOffset,scrollViewSize,isTouchActiveNative}=this.__closure;const containerMinusActiveCell=containerSize.value-activeCellSize.value+scrollOffset.value;const offsetRelativeToScrollTop=touchPositionDiff.value+activeCellOffset.value;const constrained=Math.min(containerMinusActiveCell,Math.max(scrollOffset.value,offsetRelativeToScrollTop));const maxTranslateNegative=-activeCellOffset.value;const maxTranslatePositive=scrollViewSize.value-(activeCellOffset.value+activeCellSize.value);const constrainedBase=isTouchActiveNative.value?constrained-activeCellOffset.value:touchPositionDiff.value;return Math.min(Math.max(constrainedBase,maxTranslateNegative),maxTranslatePositive);}"},A={code:"function reactNativeDraggableFlatlist_animatedValueContextJs7(){const{activeIndexAnim,dragItemOverflow,touchPositionDiff,touchPositionDiffConstrained}=this.__closure;if(activeIndexAnim.value<0)return 0;return dragItemOverflow?touchPositionDiff.value:touchPositionDiffConstrained.value;}"},I={code:"function reactNativeDraggableFlatlist_animatedValueContextJs8(){const{hoverAnim,activeCellOffset}=this.__closure;return hoverAnim.value+activeCellOffset.value;}"},x={code:"function reactNativeDraggableFlatlist_animatedValueContextJs9(){const{activeIndexAnim,spacerIndexAnim}=this.__closure;const isHovering=activeIndexAnim.value>=0;if(!isHovering&&spacerIndexAnim.value>=0){spacerIndexAnim.value=-1;}}"};function O(){const e=(0,c.useProps)(),l=(0,n.useSharedValue)(0),u=(0,n.useSharedValue)(0),s=(0,n.useSharedValue)(0),O=(0,n.useSharedValue)(o.State.UNDETERMINED),C=(0,n.useSharedValue)(0),V=(0,n.useSharedValue)(!1),w=(0,n.useSharedValue)(0),T=(0,n.useSharedValue)(!1),N=(0,n.useSharedValue)(!!e.horizontal),k=(0,n.useSharedValue)(-1),P=(0,n.useSharedValue)(-1),z=(0,n.useSharedValue)(0),b=(0,n.useSharedValue)(0),p=(0,n.useSharedValue)(0),M=(0,n.useSharedValue)(0),H=(0,n.useSharedValue)(0),F=(0,n.useSharedValue)(0),J=e.outerScrollOffset||l,E=(0,n.useSharedValue)(0);(0,n.useAnimatedReaction)((function({_worklet_9770780663126_init_data:e,activeIndexAnim:t}){const l=function(){return t.value};return l.__closure={activeIndexAnim:t},l.__workletHash=9770780663126,l.__initData=e,l})({_worklet_9770780663126_init_data:v,activeIndexAnim:k}),(function({_worklet_2669524968831_init_data:e,scrollInit:t,scrollOffset:l,outerScrollInit:n,outerScrollOffset:o}){const c=function(e,c){e!==c&&e>=0&&(t.value=l.value,n.value=o.value)};return c.__closure={scrollInit:t,scrollOffset:l,outerScrollInit:n,outerScrollOffset:o},c.__workletHash=2669524968831,c.__initData=e,c})({_worklet_2669524968831_init_data:f,scrollInit:M,scrollOffset:p,outerScrollInit:E,outerScrollOffset:J}),[J]);const R=(0,n.useSharedValue)(0),j=(0,n.useDerivedValue)((function({_worklet_13229976984046_init_data:e,isTouchActiveNative:t,activeIndexAnim:l}){const n=function(){return t.value&&l.value>=0};return n.__closure={isTouchActiveNative:t,activeIndexAnim:l},n.__workletHash=0xc08581419ee,n.__initData=e,n})({_worklet_13229976984046_init_data:_,isTouchActiveNative:V,activeIndexAnim:k}),[]),y=(0,n.useDerivedValue)((function({_worklet_163796717909_init_data:e,isDraggingCell:t,scrollOffset:l,scrollInit:n,outerScrollOffset:o,outerScrollInit:c}){const u=function(){if(!t.value)return 0;return l.value-n.value+(o.value-c.value)};return u.__closure={isDraggingCell:t,scrollOffset:l,scrollInit:n,outerScrollOffset:o,outerScrollInit:c},u.__workletHash=163796717909,u.__initData=e,u})({_worklet_163796717909_init_data:h,isDraggingCell:j,scrollOffset:p,scrollInit:M,outerScrollOffset:J,outerScrollInit:E}),[]),B=(0,n.useDerivedValue)((function({_worklet_14268807456143_init_data:e,isTouchActiveNative:t,autoScrollDistance:l,touchTranslate:n}){const o=function(){const e=t.value?l.value:0;return n.value+e};return o.__closure={isTouchActiveNative:t,autoScrollDistance:l,touchTranslate:n},o.__workletHash=0xcfa3733258f,o.__initData=e,o})({_worklet_14268807456143_init_data:S,isTouchActiveNative:V,autoScrollDistance:y,touchTranslate:C}),[]),G=(0,n.useDerivedValue)((function({_worklet_2161134542663_init_data:e,containerSize:t,activeCellSize:l,scrollOffset:n,touchPositionDiff:o,activeCellOffset:c,scrollViewSize:u,isTouchActiveNative:s}){const v=function(){const e=t.value-l.value+n.value,v=o.value+c.value,f=Math.min(e,Math.max(n.value,v)),_=-c.value,h=u.value-(c.value+l.value),S=s.value?f-c.value:o.value;return Math.min(Math.max(S,_),h)};return v.__closure={containerSize:t,activeCellSize:l,scrollOffset:n,touchPositionDiff:o,activeCellOffset:c,scrollViewSize:u,isTouchActiveNative:s},v.__workletHash=2161134542663,v.__initData=e,v})({_worklet_2161134542663_init_data:D,containerSize:u,activeCellSize:z,scrollOffset:p,touchPositionDiff:B,activeCellOffset:b,scrollViewSize:s,isTouchActiveNative:V}),[]),U=e.dragItemOverflow,q=(0,n.useDerivedValue)((function({_worklet_5411143051866_init_data:e,activeIndexAnim:t,dragItemOverflow:l,touchPositionDiff:n,touchPositionDiffConstrained:o}){const c=function(){return t.value<0?0:l?n.value:o.value};return c.__closure={activeIndexAnim:t,dragItemOverflow:l,touchPositionDiff:n,touchPositionDiffConstrained:o},c.__workletHash=5411143051866,c.__initData=e,c})({_worklet_5411143051866_init_data:A,activeIndexAnim:k,dragItemOverflow:U,touchPositionDiff:B,touchPositionDiffConstrained:G}),[]),K=(0,n.useDerivedValue)((function({_worklet_7836450724061_init_data:e,hoverAnim:t,activeCellOffset:l}){const n=function(){return t.value+l.value};return n.__closure={hoverAnim:t,activeCellOffset:l},n.__workletHash=7836450724061,n.__initData=e,n})({_worklet_7836450724061_init_data:I,hoverAnim:q,activeCellOffset:b}),[q,b]);(0,n.useDerivedValue)((function({_worklet_12000071238288_init_data:e,activeIndexAnim:t,spacerIndexAnim:l}){const n=function(){!(t.value>=0)&&l.value>=0&&(l.value=-1)};return n.__closure={activeIndexAnim:t,spacerIndexAnim:l},n.__workletHash=0xae9fbfbc290,n.__initData=e,n})({_worklet_12000071238288_init_data:x,activeIndexAnim:k,spacerIndexAnim:P}),[]);const L=(0,t.useCallback)(()=>{b.value=0,w.value=0},[]),Q=(0,t.useMemo)(()=>({activeCellOffset:b,activeCellSize:z,activeIndexAnim:k,containerSize:u,disabled:T,horizontalAnim:N,hoverAnim:q,hoverOffset:K,isDraggingCell:j,isTouchActiveNative:V,panGestureState:O,placeholderOffset:R,resetTouchedCell:L,scrollOffset:p,scrollViewSize:s,spacerIndexAnim:P,touchPositionDiff:B,touchTranslate:C,autoScrollDistance:y,viewableIndexMin:H,viewableIndexMax:F}),[b,z,k,u,T,N,q,K,j,V,O,R,L,p,s,P,B,C,y,H,F]);return(0,t.useEffect)(()=>{var t;null===(t=e.onAnimValInit)||void 0===t||t.call(e,Q)},[Q]),Q}},3562,[17,2714,3241,3563]);
15984
+ __d(function(g,r,i,a,m,_e,d){"use strict";const e=["children"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useProps=function(){const e=(0,u.useContext)(c);if(!e)throw new Error("useProps must be called from within PropsProvider!");return e};var n=t(r(d[0])),u=r(d[1]),o=t(u);const c=o.default.createContext(void 0);function l(t){let{children:u}=t,l=(0,n.default)(t,e);return o.default.createElement(c.Provider,{value:l},u)}},3563,[120,17]);
15985
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.useRefs=function(){const e=(0,t.useContext)(s);if(!e)throw new Error("useRefs must be called from within a RefContext.Provider!");return e};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},f=r(d[1]),u=r(d[2]),o=r(d[3]);const s=n.default.createContext(void 0);function l(e){let{children:t,flatListRef:f}=e;const u=c({flatListRef:f});return n.default.createElement(s.Provider,{value:u},t)}function c(e){let{flatListRef:n}=e;const s=(0,o.useProps)(),{animationConfig:l=u.DEFAULT_PROPS.animationConfig}=s,c=(0,t.useRef)(s);c.current=s;const R=(0,t.useMemo)(()=>Object.assign({},u.DEFAULT_PROPS.animationConfig,l),[l]),P=(0,f.useSharedValue)(R);(0,t.useEffect)(()=>{P.value=R},[R]);const _=(0,t.useRef)(new Map),p=(0,t.useRef)(new Map),v=(0,t.useRef)(null),C=(0,t.useRef)(null),w=n||C,M=(0,t.useRef)(null);return(0,t.useMemo)(()=>({animationConfigRef:P,cellDataRef:_,containerRef:v,flatlistRef:w,keyToIndexRef:p,propsRef:c,scrollViewRef:M}),[])}},3564,[17,2714,3560,3563]);
15986
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"typedMemo",{enumerable:!0,get:function(){return u}});var e,t=r(d[0]);const u=((e=t)&&e.__esModule?e:{default:e}).default.memo},3565,[17]);
15987
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return l}}),_e.CellProvider=c,_e.useIsActive=function(){const e=(0,t.useContext)(u);if(!e)throw new Error("useIsActive must be called from within CellProvider!");return e.isActive};var e,t=r(d[0]),n=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);const u=n.default.createContext(void 0);function c(e){let{isActive:o,children:c}=e;const l=(0,t.useMemo)(()=>({isActive:o}),[o]);return n.default.createElement(u.Provider,{value:l},c)}var l=(0,o.typedMemo)(c)},3566,[17,3565]);
15988
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useStableCallback=function(n){const u=(0,t.useRef)(n);u.current=n;const c=(0,t.useCallback)(function(){return u.current(...arguments)},[]);return c};var t=r(d[0])},3567,[17]);
15989
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return O}});var t=r(d[0]),l=e(t),n=e(r(d[1])),o=r(d[2]),s=e(o),c=r(d[3]),u=r(d[4]),f=r(d[5]),_=r(d[6]);const v={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs1(){const{activeCellSize}=this.__closure;return activeCellSize.value;}"},h={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs2(cur,prev){const{runOnJS,setSize}=this.__closure;if(cur!==prev){runOnJS(setSize)(cur);}}"},z={code:"function reactNativeDraggableFlatlist_PlaceholderItemJs3(){const{placeholderOffset,scrollOffset,size,horizontalAnim}=this.__closure;const offset=placeholderOffset.value-scrollOffset.value;return{opacity:size>=0?1:0,overflow:'hidden',transform:[horizontalAnim.value?{translateX:offset}:{translateY:offset}]};}"};var O=(0,_.typedMemo)(function(e){var _;let{renderPlaceholder:O}=e;const[S,p]=(0,t.useState)(0),{activeCellSize:w,placeholderOffset:k,spacerIndexAnim:A,horizontalAnim:b,scrollOffset:y}=(0,c.useAnimatedValues)(),{keyToIndexRef:J,propsRef:C}=(0,f.useRefs)(),{activeKey:D,horizontal:P}=(0,u.useDraggableFlatListContext)();(0,o.useAnimatedReaction)((function({_worklet_15041831900011_init_data:e,activeCellSize:t}){const l=function(){return t.value};return l.__closure={activeCellSize:t},l.__workletHash=0xdae330c136b,l.__initData=e,l})({_worklet_15041831900011_init_data:v,activeCellSize:w}),(function({_worklet_9097902266698_init_data:e,runOnJS:t,setSize:l}){const n=function(e,n){e!==n&&t(l)(e)};return n.__closure={runOnJS:t,setSize:l},n.__workletHash=9097902266698,n.__initData=e,n})({_worklet_9097902266698_init_data:h,runOnJS:o.runOnJS,setSize:p}));const x=D?J.current.get(D):void 0,F=void 0===x?null:null===(_=C.current)||void 0===_?void 0:_.data[x],I=(0,o.useAnimatedStyle)((function({_worklet_5017284307212_init_data:e,placeholderOffset:t,scrollOffset:l,size:n,horizontalAnim:o}){const s=function(){const e=t.value-l.value;return{opacity:n>=0?1:0,overflow:'hidden',transform:[o.value?{translateX:e}:{translateY:e}]}};return s.__closure={placeholderOffset:t,scrollOffset:l,size:n,horizontalAnim:o},s.__workletHash=5017284307212,s.__initData=e,s})({_worklet_5017284307212_init_data:z,placeholderOffset:k,scrollOffset:y,size:S,horizontalAnim:b}),[A,k,b,y,S]),M=(0,t.useMemo)(()=>P?{width:S}:{height:S},[P,S]);return l.default.createElement(s.default.View,{pointerEvents:D?"auto":"none",style:[n.default.absoluteFill,I,M]},F&&void 0!==x?null==O?void 0:O({item:F,index:x}):null)})},3568,[17,33,2714,3562,3559,3564,3565]);
15990
+ __d(function(g,r,i,a,m,_e,d){"use strict";const e=["renderItem","extraData"];function t(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return b}});var n=t(r(d[0])),u=r(d[1]),c=t(u),o=r(d[2]),s=r(d[3]),l=r(d[4]),f=r(d[5]);var b=(0,f.typedMemo)(function(e){const t=(0,u.useRef)(e);t.current=e;const{activeKey:n}=(0,o.useDraggableFlatListContext)(),f=(0,u.useRef)(n);f.current=n;const{keyToIndexRef:b}=(0,s.useRefs)(),p=(0,l.useStableCallback)(()=>{const{drag:e,itemKey:n,debug:u}=t.current;f.current&&u&&console.log("## attempt to drag item while another item is already active, noop"),e(n)}),{renderItem:v,item:x,itemKey:I,extraData:_}=e,D=(0,l.useStableCallback)(()=>b.current.get(I));return c.default.createElement(y,{isActive:n===I,drag:p,renderItem:v,item:x,getIndex:D,extraData:_})});const y=(0,f.typedMemo)(function(t){let{renderItem:u}=t,c=(0,n.default)(t,e);return u(Object.assign({},c))})},3569,[120,17,3559,3564,3567,3565]);
15991
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useAutoScroll=function(){const{flatlistRef:L}=(0,c.useRefs)(),{autoscrollThreshold:w=l.DEFAULT_PROPS.autoscrollThreshold,autoscrollSpeed:D=l.DEFAULT_PROPS.autoscrollSpeed}=(0,o.useProps)(),{scrollOffset:N,scrollViewSize:C,containerSize:p,activeCellSize:R,hoverOffset:k,activeIndexAnim:z}=(0,s.useAnimatedValues)(),b=(0,t.useDerivedValue)((function({_worklet_2808899548984_init_data:t,hoverOffset:l,scrollOffset:o}){const s=function(){return l.value-o.value};return s.__closure={hoverOffset:l,scrollOffset:o},s.__workletHash=2808899548984,s.__initData=t,s})({_worklet_2808899548984_init_data:n,hoverOffset:k,scrollOffset:N}),[]),P=(0,t.useDerivedValue)((function({_worklet_12016434595023_init_data:t,scrollOffset:l,SCROLL_POSITION_TOLERANCE:o}){const s=function(){return l.value-o<=0};return s.__closure={scrollOffset:l,SCROLL_POSITION_TOLERANCE:o},s.__workletHash=0xaedcb50c4cf,s.__initData=t,s})({_worklet_12016434595023_init_data:u,scrollOffset:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE}),[]),x=(0,t.useDerivedValue)((function({_worklet_15484432799921_init_data:t,scrollOffset:l,containerSize:o,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c}){const n=function(){return l.value+o.value+s>=c.value};return n.__closure={scrollOffset:l,containerSize:o,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c},n.__workletHash=0xe15401dd8b1,n.__initData=t,n})({_worklet_15484432799921_init_data:_,scrollOffset:N,containerSize:p,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,scrollViewSize:C}),[]),V=(0,t.useDerivedValue)((function({_worklet_17164513010478_init_data:t,hoverScreenOffset:l}){const o=function(){return Math.max(0,l.value)};return o.__closure={hoverScreenOffset:l},o.__workletHash=0xf9c6cb3632e,o.__initData=t,o})({_worklet_17164513010478_init_data:f,hoverScreenOffset:b}),[]),J=(0,t.useDerivedValue)((function({_worklet_1147639264362_init_data:t,hoverScreenOffset:l,activeCellSize:o,containerSize:s}){const c=function(){const t=l.value+o.value;return Math.max(0,s.value-t)};return c.__closure={hoverScreenOffset:l,activeCellSize:o,containerSize:s},c.__workletHash=1147639264362,c.__initData=t,c})({_worklet_1147639264362_init_data:v,hoverScreenOffset:b,activeCellSize:R,containerSize:p}),[]),B=(0,t.useDerivedValue)((function({_worklet_11040627643734_init_data:t,distToTopEdge:l,autoscrollThreshold:o}){const s=function(){return l.value<=o};return s.__closure={distToTopEdge:l,autoscrollThreshold:o},s.__workletHash=0xa0a98b05556,s.__initData=t,s})({_worklet_11040627643734_init_data:O,distToTopEdge:V,autoscrollThreshold:w})),F=(0,t.useDerivedValue)((function({_worklet_14987891986615_init_data:t,distToBottomEdge:l,autoscrollThreshold:o}){const s=function(){return l.value<=o};return s.__closure={distToBottomEdge:l,autoscrollThreshold:o},s.__workletHash=0xda1a3fa50b7,s.__initData=t,s})({_worklet_14987891986615_init_data:S,distToBottomEdge:J,autoscrollThreshold:w}),[]),H=(0,t.useSharedValue)(0),M=(0,t.useDerivedValue)((function({_worklet_8401811971590_init_data:t,activeIndexAnim:l}){const o=function(){return l.value>=0};return o.__closure={activeIndexAnim:l},o.__workletHash=8401811971590,o.__initData=t,o})({_worklet_8401811971590_init_data:T,activeIndexAnim:z}),[]);(0,t.useAnimatedReaction)((function({_worklet_16420598048532_init_data:t,dragIsActive:l}){const o=function(){return l.value};return o.__closure={dragIsActive:l},o.__workletHash=0xeef37e9e714,o.__initData=t,o})({_worklet_16420598048532_init_data:h,dragIsActive:M}),(function({_worklet_10982255603799_init_data:t,scrollTarget:l,scrollOffset:o}){const s=function(t,s){t&&!s&&(l.value=o.value)};return s.__closure={scrollTarget:l,scrollOffset:o},s.__workletHash=0x9fd0171b057,s.__initData=t,s})({_worklet_10982255603799_init_data:E,scrollTarget:H,scrollOffset:N}));const U=(0,t.useDerivedValue)((function({_worklet_10051379659370_init_data:t,scrollTarget:l,scrollOffset:o,SCROLL_POSITION_TOLERANCE:s,isAtTopEdge:c,isAtBottomEdge:n,isScrolledUp:u,isScrolledDown:_,activeIndexAnim:f}){const v=function(){const t=Math.abs(l.value-o.value)<s,v=c.value||n.value,O=c.value&&u.value,S=n.value&&_.value,T=O||S,h=f.value>=0;return t&&v&&!T&&h};return v.__closure={scrollTarget:l,scrollOffset:o,SCROLL_POSITION_TOLERANCE:s,isAtTopEdge:c,isAtBottomEdge:n,isScrolledUp:u,isScrolledDown:_,activeIndexAnim:f},v.__workletHash=0x92444ea026a,v.__initData=t,v})({_worklet_10051379659370_init_data:A,scrollTarget:H,scrollOffset:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,isAtTopEdge:B,isAtBottomEdge:F,isScrolledUp:P,isScrolledDown:x,activeIndexAnim:z}),[]);return(0,t.useDerivedValue)((function({_worklet_2210792135007_init_data:t,shouldAutoScroll:l,isAtTopEdge:o,distToTopEdge:s,distToBottomEdge:c,autoscrollThreshold:n,autoscrollSpeed:u,scrollOffset:_,scrollViewSize:f,containerSize:v,scrollTarget:O,runOnJS:S,scrollToInternal:T}){const h=function(){if(!l.value)return;const t=(1-(o.value?s.value:c.value)/n)*u,h=o.value?Math.max(0,_.value-t):Math.min(_.value+t,f.value-v.value);O.value=h,S(T)(h)};return h.__closure={shouldAutoScroll:l,isAtTopEdge:o,distToTopEdge:s,distToBottomEdge:c,autoscrollThreshold:n,autoscrollSpeed:u,scrollOffset:_,scrollViewSize:f,containerSize:v,scrollTarget:O,runOnJS:S,scrollToInternal:T},h.__workletHash=2210792135007,h.__initData=t,h})({_worklet_2210792135007_init_data:I,shouldAutoScroll:U,isAtTopEdge:B,distToTopEdge:V,distToBottomEdge:J,autoscrollThreshold:w,autoscrollSpeed:D,scrollOffset:N,scrollViewSize:C,containerSize:p,scrollTarget:H,runOnJS:t.runOnJS,scrollToInternal:function(t){var l;L&&"current"in L&&(null===(l=L.current)||void 0===l||l.scrollToOffset({offset:t,animated:!0}))}}),[]),null};var t=r(d[0]),l=r(d[1]),o=r(d[2]),s=r(d[3]),c=r(d[4]);const n={code:"function reactNativeDraggableFlatlist_useAutoScrollJs1(){const{hoverOffset,scrollOffset}=this.__closure;return hoverOffset.value-scrollOffset.value;}"},u={code:"function reactNativeDraggableFlatlist_useAutoScrollJs2(){const{scrollOffset,SCROLL_POSITION_TOLERANCE}=this.__closure;return scrollOffset.value-SCROLL_POSITION_TOLERANCE<=0;}"},_={code:"function reactNativeDraggableFlatlist_useAutoScrollJs3(){const{scrollOffset,containerSize,SCROLL_POSITION_TOLERANCE,scrollViewSize}=this.__closure;return scrollOffset.value+containerSize.value+SCROLL_POSITION_TOLERANCE>=scrollViewSize.value;}"},f={code:"function reactNativeDraggableFlatlist_useAutoScrollJs4(){const{hoverScreenOffset}=this.__closure;return Math.max(0,hoverScreenOffset.value);}"},v={code:"function reactNativeDraggableFlatlist_useAutoScrollJs5(){const{hoverScreenOffset,activeCellSize,containerSize}=this.__closure;const hoverPlusActiveCell=hoverScreenOffset.value+activeCellSize.value;return Math.max(0,containerSize.value-hoverPlusActiveCell);}"},O={code:"function reactNativeDraggableFlatlist_useAutoScrollJs6(){const{distToTopEdge,autoscrollThreshold}=this.__closure;return distToTopEdge.value<=autoscrollThreshold;}"},S={code:"function reactNativeDraggableFlatlist_useAutoScrollJs7(){const{distToBottomEdge,autoscrollThreshold}=this.__closure;return distToBottomEdge.value<=autoscrollThreshold;}"},T={code:"function reactNativeDraggableFlatlist_useAutoScrollJs8(){const{activeIndexAnim}=this.__closure;return activeIndexAnim.value>=0;}"},h={code:"function reactNativeDraggableFlatlist_useAutoScrollJs9(){const{dragIsActive}=this.__closure;return dragIsActive.value;}"},E={code:"function reactNativeDraggableFlatlist_useAutoScrollJs10(cur,prev){const{scrollTarget,scrollOffset}=this.__closure;if(cur&&!prev){scrollTarget.value=scrollOffset.value;}}"},A={code:"function reactNativeDraggableFlatlist_useAutoScrollJs11(){const{scrollTarget,scrollOffset,SCROLL_POSITION_TOLERANCE,isAtTopEdge,isAtBottomEdge,isScrolledUp,isScrolledDown,activeIndexAnim}=this.__closure;const scrollTargetDiff=Math.abs(scrollTarget.value-scrollOffset.value);const hasScrolledToTarget=scrollTargetDiff<SCROLL_POSITION_TOLERANCE;const isAtEdge=isAtTopEdge.value||isAtBottomEdge.value;const topDisabled=isAtTopEdge.value&&isScrolledUp.value;const bottomDisabled=isAtBottomEdge.value&&isScrolledDown.value;const isEdgeDisabled=topDisabled||bottomDisabled;const cellIsActive=activeIndexAnim.value>=0;return hasScrolledToTarget&&isAtEdge&&!isEdgeDisabled&&cellIsActive;}"},I={code:"function reactNativeDraggableFlatlist_useAutoScrollJs12(){const{shouldAutoScroll,isAtTopEdge,distToTopEdge,distToBottomEdge,autoscrollThreshold,autoscrollSpeed,scrollOffset,scrollViewSize,containerSize,scrollTarget,runOnJS,scrollToInternal}=this.__closure;if(!shouldAutoScroll.value)return;const distFromEdge=isAtTopEdge.value?distToTopEdge.value:distToBottomEdge.value;const speedPct=1-distFromEdge/autoscrollThreshold;const offset=speedPct*autoscrollSpeed;const targetOffset=isAtTopEdge.value?Math.max(0,scrollOffset.value-offset):Math.min(scrollOffset.value+offset,scrollViewSize.value-containerSize.value);scrollTarget.value=targetOffset;runOnJS(scrollToInternal)(targetOffset);}"}},3570,[2714,3560,3563,3562,3564]);
15992
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return c}});var t=r(d[0]),n=r(d[1]);const l={code:"function reactNativeDraggableFlatlist_ScrollOffsetListenerJs1(){const{scrollOffset}=this.__closure;return scrollOffset.value;}"},o={code:"function reactNativeDraggableFlatlist_ScrollOffsetListenerJs2(cur,prev){const{runOnJS,onScrollOffsetChange}=this.__closure;if(cur!==prev){runOnJS(onScrollOffsetChange)(cur);}}"};var c=(0,n.typedMemo)(n=>{let{scrollOffset:c,onScrollOffsetChange:s}=n;return(0,t.useAnimatedReaction)((function({_worklet_6566234561379_init_data:t,scrollOffset:n}){const l=function(){return n.value};return l.__closure={scrollOffset:n},l.__workletHash=6566234561379,l.__initData=t,l})({_worklet_6566234561379_init_data:l,scrollOffset:c}),(function({_worklet_15281170813250_init_data:t,runOnJS:n,onScrollOffsetChange:l}){const o=function(t,o){t!==o&&n(l)(t)};return o.__closure={runOnJS:n,onScrollOffsetChange:l},o.__workletHash=0xde5ecc21142,o.__initData=t,o})({_worklet_15281170813250_init_data:o,runOnJS:t.runOnJS,onScrollOffsetChange:s}),[c]),null})},3571,[2714,3565]);
15993
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"useOnCellActiveAnimation",{enumerable:!0,get:function(){return s.useOnCellActiveAnimation}}),Object.defineProperty(_e,"ScaleDecorator",{enumerable:!0,get:function(){return v}}),Object.defineProperty(_e,"ShadowDecorator",{enumerable:!0,get:function(){return _}}),Object.defineProperty(_e,"OpacityDecorator",{enumerable:!0,get:function(){return f}});var t=e(r(d[0])),n=e(r(d[1])),o=r(d[2]),c=e(o),l=r(d[3]),s=r(d[4]);const u={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs1(){const{interpolate,onActiveAnim,activeScale,isActive}=this.__closure;const animScale=interpolate(onActiveAnim.value,[0,1],[1,activeScale]);const scale=isActive?animScale:1;return{transform:[{scaleX:scale},{scaleY:scale}]};}"},v=e=>{let{activeScale:n=1.1,children:v}=e;const{isActive:A,onActiveAnim:_}=(0,s.useOnCellActiveAnimation)({animationConfig:{mass:.1,restDisplacementThreshold:1e-4}}),{horizontal:p}=(0,l.useDraggableFlatListContext)(),f=(0,o.useAnimatedStyle)((function({_worklet_3223850486805_init_data:e,interpolate:t,onActiveAnim:n,activeScale:o,isActive:c}){const l=function(){const e=t(n.value,[0,1],[1,o]),l=c?e:1;return{transform:[{scaleX:l},{scaleY:l}]}};return l.__closure={interpolate:t,onActiveAnim:n,activeScale:o,isActive:c},l.__workletHash=3223850486805,l.__initData=e,l})({_worklet_3223850486805_init_data:u,interpolate:o.interpolate,onActiveAnim:_,activeScale:n,isActive:A}),[A]);return t.default.createElement(c.default.View,{style:[f,p&&y.horizontal]},v)},A={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs2(){const{onActiveAnim,opacity,isActive,elevation,radius,color}=this.__closure;const shadowOpacity=onActiveAnim.value*opacity;return{elevation:isActive?elevation:0,shadowRadius:isActive?radius:0,shadowColor:isActive?color:\"transparent\",shadowOpacity:isActive?shadowOpacity:0};}"},_=e=>{let{elevation:n=10,color:u="black",opacity:v=.25,radius:_=5,children:p}=e;const{isActive:f,onActiveAnim:h}=(0,s.useOnCellActiveAnimation)(),{horizontal:w}=(0,l.useDraggableFlatListContext)(),O=(0,o.useAnimatedStyle)((function({_worklet_5875745184206_init_data:e,onActiveAnim:t,opacity:n,isActive:o,elevation:c,radius:l,color:s}){const u=function(){const e=t.value*n;return{elevation:o?c:0,shadowRadius:o?l:0,shadowColor:o?s:"transparent",shadowOpacity:o?e:0}};return u.__closure={onActiveAnim:t,opacity:n,isActive:o,elevation:c,radius:l,color:s},u.__workletHash=5875745184206,u.__initData=e,u})({_worklet_5875745184206_init_data:A,onActiveAnim:h,opacity:v,isActive:f,elevation:n,radius:_,color:u}),[f,h]);return t.default.createElement(c.default.View,{style:[O,w&&y.horizontal]},p)},p={code:"function reactNativeDraggableFlatlist_CellDecoratorsJs3(){const{interpolate,onActiveAnim,activeOpacity,isActive}=this.__closure;const opacity=interpolate(onActiveAnim.value,[0,1],[1,activeOpacity]);return{opacity:isActive?opacity:1};}"},f=e=>{let{activeOpacity:n=.25,children:u}=e;const{isActive:v,onActiveAnim:A}=(0,s.useOnCellActiveAnimation)(),{horizontal:_}=(0,l.useDraggableFlatListContext)(),f=(0,o.useAnimatedStyle)((function({_worklet_9220952713650_init_data:e,interpolate:t,onActiveAnim:n,activeOpacity:o,isActive:c}){const l=function(){const e=t(n.value,[0,1],[1,o]);return{opacity:c?e:1}};return l.__closure={interpolate:t,onActiveAnim:n,activeOpacity:o,isActive:c},l.__workletHash=9220952713650,l.__initData=e,l})({_worklet_9220952713650_init_data:p,interpolate:o.interpolate,onActiveAnim:A,activeOpacity:n,isActive:v}),[v]);return t.default.createElement(c.default.View,{style:[f,_&&y.horizontal]},u)},y=n.default.create({horizontal:{flexDirection:"row",flex:1}})},3572,[17,33,2714,3559,3573]);
15994
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useOnCellActiveAnimation=function(){let{animationConfig:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{animationConfig:{}};const _=(0,n.useSharedValue)(u);(0,t.useEffect)(()=>{_.value=u},[u]);const v=(0,s.useIsActive)(),{isTouchActiveNative:l}=(0,c.useAnimatedValues)(),N=(0,n.useDerivedValue)((function({_worklet_17322650649574_init_data:t,isActive:n,isTouchActiveNative:o,withSpring:c,DEFAULT_ANIMATION_CONFIG:s,animationConfigRef:A}){const u=function(){const t=n&&o.value?1:0;return c(t,Object.assign({},s,A.value))};return u.__closure={isActive:n,isTouchActiveNative:o,withSpring:c,DEFAULT_ANIMATION_CONFIG:s,animationConfigRef:A},u.__workletHash=0xfc13e7043e6,u.__initData=t,u})({_worklet_17322650649574_init_data:A,isActive:v,isTouchActiveNative:l,withSpring:n.withSpring,DEFAULT_ANIMATION_CONFIG:o.DEFAULT_ANIMATION_CONFIG,animationConfigRef:_}),[v]);return{isActive:v,onActiveAnim:N}};var t=r(d[0]),n=r(d[1]),o=r(d[2]),c=r(d[3]),s=r(d[4]);const A={code:"function reactNativeDraggableFlatlist_useOnCellActiveAnimationJs1(){const{isActive,isTouchActiveNative,withSpring,DEFAULT_ANIMATION_CONFIG,animationConfigRef}=this.__closure;const toVal=isActive&&isTouchActiveNative.value?1:0;return withSpring(toVal,{...DEFAULT_ANIMATION_CONFIG,...animationConfigRef.value});}"}},3573,[17,2714,3560,3562,3566]);
15995
+ __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NestableDraggableFlatList",{enumerable:!0,get:function(){return _}});var t=r(d[0]),l=e(t),n=e(r(d[1])),s=e(r(d[2])),o=r(d[3]),i=e(r(d[4])),u=r(d[5]),c=r(d[6]),f=r(d[7]);function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},v.apply(this,arguments)}const b={code:"function reactNativeDraggableFlatlist_NestableDraggableFlatListJs1(){const{listHoverOffset,listVerticalOffset}=this.__closure;return listHoverOffset.value+listVerticalOffset.value;}"};function O(e,O){const _=(0,t.useRef)(!1);_.current||(s.default.ignoreLogs(["VirtualizedLists should never be nested inside plain ScrollViews with the same orientation because it can break windowing"]),console.reportErrorsAsExceptions=!1,_.current=!0);const{scrollableRef:S,outerScrollOffset:h,setOuterScrollEnabled:V}=(0,u.useSafeNestableScrollContainerContext)(),D=(0,o.useSharedValue)(0),[p,w]=(0,t.useState)({}),k=(0,o.useSharedValue)(0),[y,C]=(0,t.useState)(k),E=(0,o.useDerivedValue)((function({_worklet_13500071611033_init_data:e,listHoverOffset:t,listVerticalOffset:l}){const n=function(){return t.value+l.value};return n.__closure={listHoverOffset:t,listVerticalOffset:l},n.__workletHash=0xc473af90a99,n.__initData=e,n})({_worklet_13500071611033_init_data:b,listHoverOffset:y,listVerticalOffset:D}),[y]);(0,c.useNestedAutoScroll)(Object.assign({},p,{hoverOffset:E}));const j=(0,f.useStableCallback)(async e=>{let{containerRef:t}=e;const l=(0,n.default)(S.current);t.current.measureLayout(l,(e,t)=>{D.value=t},()=>{console.log("## nested draggable list measure fail")})}),H=(0,f.useStableCallback)(t=>{var l;V(!1),null===(l=e.onDragBegin)||void 0===l||l.call(e,t)}),L=(0,f.useStableCallback)(t=>{var l;V(!0),null===(l=e.onDragEnd)||void 0===l||l.call(e,t)}),N=(0,f.useStableCallback)(t=>{var l;C(t.hoverOffset),w(Object.assign({},t,{hoverOffset:E})),null===(l=e.onAnimValInit)||void 0===l||l.call(e,t)});return l.default.createElement(i.default,v({ref:O,onContainerLayout:j,activationDistance:e.activationDistance||20,scrollEnabled:!1},e,{outerScrollOffset:h,onDragBegin:H,onDragEnd:L,onAnimValInit:N}))}const _=l.default.forwardRef(O)},3574,[17,122,273,2714,3557,3575,3576,3567]);
15996
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.NestableScrollContainerProvider=function(e){let{children:t,forwardedRef:o}=e;const s=u({forwardedRef:o});return l.default.createElement(n.Provider,{value:s},t)},_e.useNestableScrollContainerContext=s,_e.useSafeNestableScrollContainerContext=function(){const e=s();if(!e)throw new Error("useSafeNestableScrollContainerContext must be called within a NestableScrollContainerContext.Provider");return e};var e,t=r(d[0]),l=(e=t)&&e.__esModule?e:{default:e},o=r(d[1]);const n=l.default.createContext(void 0);function u(e){let{forwardedRef:l}=e;const[n,u]=(0,t.useState)(!0),s=(0,o.useSharedValue)(0),c=(0,t.useRef)(null),f=l||c,S=(0,o.useSharedValue)(0),C=(0,o.useSharedValue)(0);return(0,t.useMemo)(()=>({outerScrollEnabled:n,setOuterScrollEnabled:u,outerScrollOffset:S,scrollViewSize:s,scrollableRef:f,containerSize:C}),[n])}function s(){return(0,t.useContext)(n)}},3575,[17,2714]);
15997
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useNestedAutoScroll=function(h){const{outerScrollOffset:E,containerSize:N,scrollableRef:C,scrollViewSize:L}=(0,o.useSafeNestableScrollContainerContext)(),A=(0,t.useSharedValue)(0),{hoverOffset:D=A,activeCellSize:I=A,autoscrollSpeed:w=100,autoscrollThreshold:R=30,isDraggingCell:p=A,isTouchActiveNative:k=A}=h,b=(0,t.useDerivedValue)((function({_worklet_1881896633941_init_data:t,hoverOffset:o,outerScrollOffset:l}){const s=function(){return o.value-l.value};return s.__closure={hoverOffset:o,outerScrollOffset:l},s.__workletHash=1881896633941,s.__initData=t,s})({_worklet_1881896633941_init_data:s,hoverOffset:D,outerScrollOffset:E}),[]),z=(0,t.useDerivedValue)((function({_worklet_4729636409762_init_data:t,outerScrollOffset:o,SCROLL_POSITION_TOLERANCE:l}){const s=function(){return o.value-l<=0};return s.__closure={outerScrollOffset:o,SCROLL_POSITION_TOLERANCE:l},s.__workletHash=4729636409762,s.__initData=t,s})({_worklet_4729636409762_init_data:c,outerScrollOffset:E,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE}),[]),P=(0,t.useDerivedValue)((function({_worklet_6931217787228_init_data:t,outerScrollOffset:o,containerSize:l,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c}){const u=function(){return o.value+l.value+s>=c.value};return u.__closure={outerScrollOffset:o,containerSize:l,SCROLL_POSITION_TOLERANCE:s,scrollViewSize:c},u.__workletHash=6931217787228,u.__initData=t,u})({_worklet_6931217787228_init_data:u,outerScrollOffset:E,containerSize:N,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,scrollViewSize:L}),[]),B=(0,t.useDerivedValue)((function({_worklet_14157162290883_init_data:t,hoverScreenOffset:o}){const l=function(){return Math.max(0,o.value)};return l.__closure={hoverScreenOffset:o},l.__workletHash=0xce038a11ec3,l.__initData=t,l})({_worklet_14157162290883_init_data:n,hoverScreenOffset:b}),[b]),J=(0,t.useDerivedValue)((function({_worklet_6156973048070_init_data:t,containerSize:o,hoverScreenOffset:l,activeCellSize:s}){const c=function(){const t=o.value-(l.value+s.value);return Math.max(0,t)};return c.__closure={containerSize:o,hoverScreenOffset:l,activeCellSize:s},c.__workletHash=6156973048070,c.__initData=t,c})({_worklet_6156973048070_init_data:_,containerSize:N,hoverScreenOffset:b,activeCellSize:I}),[b,I,N]),V=(0,t.useDerivedValue)((function({_worklet_11726045427259_init_data:t,distToTopEdge:o,autoscrollThreshold:l}){const s=function(){return o.value<=l};return s.__closure={distToTopEdge:o,autoscrollThreshold:l},s.__workletHash=0xaaa2ec5b63b,s.__initData=t,s})({_worklet_11726045427259_init_data:f,distToTopEdge:B,autoscrollThreshold:R}),[]),x=(0,t.useDerivedValue)((function({_worklet_7914873790874_init_data:t,distToBottomEdge:o,autoscrollThreshold:l}){const s=function(){return o.value<=l};return s.__closure={distToBottomEdge:o,autoscrollThreshold:l},s.__workletHash=7914873790874,s.__initData=t,s})({_worklet_7914873790874_init_data:S,distToBottomEdge:J,autoscrollThreshold:R})),F=(0,t.useSharedValue)(0);return(0,t.useAnimatedReaction)((function({_worklet_14021221439128_init_data:t,isDraggingCell:o}){const l=function(){return o.value};return l.__closure={isDraggingCell:o},l.__workletHash=0xcc091ec5698,l.__initData=t,l})({_worklet_14021221439128_init_data:O,isDraggingCell:p}),(function({_worklet_17362022355714_init_data:t,scrollTarget:o,outerScrollOffset:l}){const s=function(t,s){t&&!s&&(o.value=l.value)};return s.__closure={scrollTarget:o,outerScrollOffset:l},s.__workletHash=0xfca692cd302,s.__initData=t,s})({_worklet_17362022355714_init_data:v,scrollTarget:F,outerScrollOffset:E}),[I]),(0,t.useDerivedValue)((function({_worklet_15221845355323_init_data:t,isAtTopEdge:o,isAtBottomEdge:l,isScrolledUp:s,isScrolledDown:c,scrollTarget:u,outerScrollOffset:n,SCROLL_POSITION_TOLERANCE:_,isDraggingCell:f,isTouchActiveNative:S,distToTopEdge:O,distToBottomEdge:v,autoscrollThreshold:T,autoscrollSpeed:h,runOnJS:E,scrollToInternal:N}){const C=function(){const t=o.value||l.value,C=o.value&&s.value,L=l.value&&c.value,A=C||L,D=Math.abs(u.value-n.value)>_,I=t&&!A&&f.value&&S.value&&!D,w=(1-(o.value?O.value:v.value)/T)*h,R=o.value?Math.max(0,n.value-w):n.value+w;I&&(u.value=R,E(N)(R))};return C.__closure={isAtTopEdge:o,isAtBottomEdge:l,isScrolledUp:s,isScrolledDown:c,scrollTarget:u,outerScrollOffset:n,SCROLL_POSITION_TOLERANCE:_,isDraggingCell:f,isTouchActiveNative:S,distToTopEdge:O,distToBottomEdge:v,autoscrollThreshold:T,autoscrollSpeed:h,runOnJS:E,scrollToInternal:N},C.__workletHash=0xdd81caf6b3b,C.__initData=t,C})({_worklet_15221845355323_init_data:T,isAtTopEdge:V,isAtBottomEdge:x,isScrolledUp:z,isScrolledDown:P,scrollTarget:F,outerScrollOffset:E,SCROLL_POSITION_TOLERANCE:l.SCROLL_POSITION_TOLERANCE,isDraggingCell:p,isTouchActiveNative:k,distToTopEdge:B,distToBottomEdge:J,autoscrollThreshold:R,autoscrollSpeed:w,runOnJS:t.runOnJS,scrollToInternal:function(t){var o;null===(o=C.current)||void 0===o||o.scrollTo({y:t,animated:!0})}}),[w,R,p]),null};var t=r(d[0]),o=r(d[1]),l=r(d[2]);const s={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs1(){const{hoverOffset,outerScrollOffset}=this.__closure;return hoverOffset.value-outerScrollOffset.value;}"},c={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs2(){const{outerScrollOffset,SCROLL_POSITION_TOLERANCE}=this.__closure;return outerScrollOffset.value-SCROLL_POSITION_TOLERANCE<=0;}"},u={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs3(){const{outerScrollOffset,containerSize,SCROLL_POSITION_TOLERANCE,scrollViewSize}=this.__closure;return outerScrollOffset.value+containerSize.value+SCROLL_POSITION_TOLERANCE>=scrollViewSize.value;}"},n={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs4(){const{hoverScreenOffset}=this.__closure;return Math.max(0,hoverScreenOffset.value);}"},_={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs5(){const{containerSize,hoverScreenOffset,activeCellSize}=this.__closure;const dist=containerSize.value-(hoverScreenOffset.value+activeCellSize.value);return Math.max(0,dist);}"},f={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs6(){const{distToTopEdge,autoscrollThreshold}=this.__closure;return distToTopEdge.value<=autoscrollThreshold;}"},S={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs7(){const{distToBottomEdge,autoscrollThreshold}=this.__closure;return distToBottomEdge.value<=autoscrollThreshold;}"},O={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs8(){const{isDraggingCell}=this.__closure;return isDraggingCell.value;}"},v={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs9(cur,prev){const{scrollTarget,outerScrollOffset}=this.__closure;if(cur&&!prev){scrollTarget.value=outerScrollOffset.value;}}"},T={code:"function reactNativeDraggableFlatlist_useNestedAutoScrollJs10(){const{isAtTopEdge,isAtBottomEdge,isScrolledUp,isScrolledDown,scrollTarget,outerScrollOffset,SCROLL_POSITION_TOLERANCE,isDraggingCell,isTouchActiveNative,distToTopEdge,distToBottomEdge,autoscrollThreshold,autoscrollSpeed,runOnJS,scrollToInternal}=this.__closure;const isAtEdge=isAtTopEdge.value||isAtBottomEdge.value;const topDisabled=isAtTopEdge.value&&isScrolledUp.value;const bottomDisabled=isAtBottomEdge.value&&isScrolledDown.value;const isEdgeDisabled=topDisabled||bottomDisabled;const scrollTargetDiff=Math.abs(scrollTarget.value-outerScrollOffset.value);const scrollInProgress=scrollTargetDiff>SCROLL_POSITION_TOLERANCE;const shouldScroll=isAtEdge&&!isEdgeDisabled&&isDraggingCell.value&&isTouchActiveNative.value&&!scrollInProgress;const distFromEdge=isAtTopEdge.value?distToTopEdge.value:distToBottomEdge.value;const speedPct=1-distFromEdge/autoscrollThreshold;const offset=speedPct*autoscrollSpeed;const targetOffset=isAtTopEdge.value?Math.max(0,outerScrollOffset.value-offset):outerScrollOffset.value+offset;if(shouldScroll){scrollTarget.value=targetOffset;runOnJS(scrollToInternal)(targetOffset);}}"}},3576,[2714,3575,3560]);
15998
+ __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NestableScrollContainer",{enumerable:!0,get:function(){return S}});var t=e(r(d[0])),l=r(d[1]),n=r(d[2]),o=e(n),c=r(d[3]),f=r(d[4]);function u(){return u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e},u.apply(this,arguments)}const i=o.default.createAnimatedComponent(l.ScrollView),s={code:"function reactNativeDraggableFlatlist_NestableScrollContainerJs1(_ref){const{outerScrollOffset}=this.__closure;let{contentOffset:contentOffset}=_ref;outerScrollOffset.value=contentOffset.y;}"};function _(e){const{outerScrollOffset:l,containerSize:o,scrollViewSize:_,scrollableRef:S,outerScrollEnabled:b}=(0,c.useSafeNestableScrollContainerContext)(),v=(0,n.useAnimatedScrollHandler)({onScroll:(function({_worklet_8746208410386_init_data:e,outerScrollOffset:t}){const l=function(e){let{contentOffset:l}=e;t.value=l.y};return l.__closure={outerScrollOffset:t},l.__workletHash=8746208410386,l.__initData=e,l})({_worklet_8746208410386_init_data:s,outerScrollOffset:l})}),O=(0,f.useStableCallback)(e=>{const{nativeEvent:{layout:t}}=e;o.value=t.height}),C=(0,f.useStableCallback)((t,l)=>{var n;_.value=l,null===(n=e.onContentSizeChange)||void 0===n||n.call(e,t,l)});return t.default.createElement(i,u({},e,{onLayout:O,onContentSizeChange:C,scrollEnabled:b,ref:S,scrollEventThrottle:1,onScroll:v}))}const S=t.default.forwardRef((e,l)=>t.default.createElement(c.NestableScrollContainerProvider,{forwardedRef:l||void 0},t.default.createElement(_,e)))},3577,[17,3241,2714,3575,3567]);
15999
+ __d(function(g,r,i,a,m,e,d){},3578,[]);
16000
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);r(d[1]);var n=r(d[2]),o=r(d[3]),c=r(d[4]);function s(){const s=(0,t.c)(1);let u;return s[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)(o.RootProviders,{children:(0,c.jsx)(n.Stack,{screenOptions:{headerShown:!1}})}),s[0]=u):u=s[0],u}},3579,[15,3580,743,3583,10]);
16001
+ __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return b}});var t=e(r(_d[0])),n=r(_d[1]),u=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,u.get?u:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[2])),l=e(r(_d[3])),c=e(r(_d[4])),o=e(r(_d[5]));const f={en:{translation:c.default},it:{translation:o.default}},d=u.getLocales()[0]?.languageCode?.slice(0,2)??"en",s=Object.keys(f).includes(d)?d:"en";t.default.use(n.initReactI18next).init({resources:f,lng:s,fallbackLng:"en",interpolation:{escapeValue:!1}}),l.default.getItem("v2.language").then(e=>{"it"!==e&&"en"!==e||t.default.changeLanguage(e)});var b=t.default},3580,[789,786,3422,3133,3581,3582]);
16002
+ __d(function(e,t,a,o,i,n,r){i.exports={devices:{editDevice:"Edit device",originalName:"Original name",customName:"Custom name",customNamePlaceholder:"Leave empty to use original",icon:"Icon",typeLight:"Light",typeSwitch:"Switch",typeCover:"Cover",typeLock:"Lock",typeAlarm:"Alarm",typeButton:"Button",typeSelect:"Select",typeSiren:"Siren",typeSensor:"Sensor",typeEntry:"Entry",typeMediaPlayer:"Media Player",typeScript:"Script",run:"Run",sourceHA:"Home Assistant",sourceScrypted:"Scrypted",off:"Off",on:"On",mute:"Mute",unmute:"Unmute",stop:"Stop",locked:"Locked",unlocked:"Unlocked",open:"Open",closed:"Closed",disarmed:"Disarmed",disarm:"Disarm"},common:{error:"Error",save:"Save",cancel:"Cancel",loading:"Loading...",comingSoon:"Coming soon",back:"Back",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",reset:"Reset",selectAll:"Select all",deselectAll:"Deselect all",delete:"Delete",retry:"Retry"},grids:{newGrid:"New grid",deleteConfirm:"Delete this grid?",noGrids:"No grids yet. Create one to arrange cameras in a mosaic view.",createGrid:"Create grid",cameras:"cameras",notFound:"Grid not found.",noCameras:"No cameras in this grid. Edit the grid to add some.",edit:"Edit",addCamera:"Add camera",presets:"Presets",auto:"Auto",manual:"Manual",gridName:"Grid name",view:"View",addCameraHint:"Add at least one camera from the button above.",allCamerasAdded:"All cameras already in grid",cameraUnavailable:"Camera unavailable",camerasInGrid:"Cameras in grid",addAll:"Add all",addCameras:"Add Cameras",backToGrid:"Back to Grid",timelineNotSupported:"Timeline not supported"},nav:{cameras:"Cameras",grids:"Grids",events:"Events",videoclips:"Videoclips",list:"List",settings:"Settings"},cameras:{addCamera:"Add camera",pipActive:"PiP active",reorderEnable:"Reorder",reorderDisable:"Unlock",live:"Live",noCameras:"No cameras configured",noIntegrations:"No integrations configured. Add a system to get started.",createSystem:"Create system",importFrom:"Import cameras from",importSuccess:"Import complete",importCount:"{{count}} cameras imported",selectCamerasToImport:"Select cameras to import",selectAll:"Select all",deselectAll:"Deselect all",importSelected:"Import {{count}} selected",noCamerasFound:"No cameras found",play:"\u25b6 Play",paused:"Paused",noDataForDate:"No data for this date",recordingNotAvailable:"Recording not available",noEventsReel:"No recent events",settings:"Settings",highlightMotion:"Motion Highlight",highlightOnMotion:"Highlight on motion",highlightAudio:"Audio Highlight",audioMode:"Mode",audioModeOff:"Off",audioModeSensor:"Sensor",audioModeLevel:"Level",audioPreset:"Audio Preset",audioPresetCustom:"Custom",audioPresetCrying:"Crying / baby",audioPresetAlarm:"Alarm / siren",audioPresetDog:"Dog barking",audioPresetDoorbell:"Doorbell / knock",audioPresetGlass:"Glass break",audioWindow:"Window (s)",audioThreshold:"Threshold (dB)",audioHitPercentage:"Hit (%)",audioHoldSeconds:"Hold (s)",highlightDetection:"Object Detection Highlight",highlightOnDetection:"Highlight on detection",detectionClasses:"Classes",holdSeconds:"Hold (s)",rtspNotSupportedWeb:"RTSP streams are not supported on web. Use the mobile app.",liveDetections:"Live detections",filterTimeline:"Filter timeline",filterClasses:"Filter classes...",filterBySeverity:"Filter by severity",severityAlert:"Alert",severityDetection:"Detection",statusPosition:"Status Indicators Position",today:"Today",yesterday:"Yesterday",timeline:"Timeline",timelineEventsClusterEvents:"Events",selectDate:"Select a date",videoclipsNotSupported:"Videoclips not supported for this camera",noVideoclipsForDate:"No videoclips for this date",endOfList:"End of list",backToLive:"Back to live",goLive:"Go live",loadingClip:"Loading clip...",clusterDetailShowBbox:"Show bounding box on image",clusterDetailOpenVideoclip:"Open videoclip",clusterDetailLoadingEvents:"Loading events...",devices:"Devices",noAssociatedDevices:"No devices linked. Configure in Settings > Cameras.",timelineData:"Timeline data",timelineDataHint:"What to show on the timeline.",timelineDataVideoclips:"Videoclips",timelineDataAdvancedNotifier:"Advanced Notifier",timelineDataEvents:"Events",timelineEvents:"Timeline events",timelineEventsHint:"Which event types to show on the timeline, by severity.",timelinePresetAll:"All",timelinePresetImportant:"Important",timelinePresetCritical:"Critical",timelinePresetCustom:"Custom",statusBlock:"Status Block",sensorsBlock:"Sensors Block",position:"Position",indicators:"Indicators",downloadSnapshot:"Download Snapshot",exportDownloadClip:"Download Clip",exportRecordingWebOnly:"Recording export (web only)",exportSnapshot:"Export Snapshot",intercomError:"Intercom error",multiCam:"Multi-Camera",ptzNotSupported:"PTZ not supported",ptzSelectPreset:"Select PTZ Preset",snapshotFailed:"Snapshot failed"},events:{loading:"Loading events...",filterByLabel:"Filter by label",filterByLabelPlaceholder:"e.g. person, doorbell",filterByCamera:"Filter by camera",date:"Date",detectionTypes:"Detection types",source:"Source",cameras:"Cameras",groupingRange:"Grouping",groupingPresetMinutes:"{{m}} min",groupingCustom:"Custom",groupingCustomMinutes:"Minutes",groupingCustomApply:"Apply",today:"Today",noCamerasFromConfig:"Cameras loaded from EventsApp config",all:"All",typesCount:"{{count}} types",camerasCount:"{{count}} cameras",cols:"cols",sourceAuto:"Auto",sourceNVR:"NVR",sourceFrigate:"Frigate",sourceVideoClips:"VideoClips API",sourceRawDetection:"Raw",sourceAdvancedNotifier:"Advanced Notifier",detectionPerson:"Person",detectionVehicle:"Vehicle",detectionAnimal:"Animal",detectionAudio:"Audio",detectionFace:"Face",detectionPlate:"Plate",detectionPackage:"Package",detectionDoorbell:"Doorbell",detectionSensor:"Sensor",detectionMotion:"Motion",detectionRules:"Rules",noScryptedIntegration:"Add a Scrypted integration in Settings to view events.",frigateNoEvents:"Events are only available for Scrypted. Select a Scrypted instance in Settings.",noSource:"Add a Scrypted or Frigate integration in Settings, then select it as the Events/Videoclips source.",loadError:"Error loading events",noEvents:"No events for this date. Try changing the date or filters.",clearCacheTitle:"Clear cache",clearCacheMessage:"Clear all cached events and videoclips data? This will force a fresh fetch on next load.",clearCacheConfirm:"Clear",columnsPerRow:"Columns per row",onlyWithClips:"Only with clips",relatedClip:"Related Clip"},videoclips:{loading:"Loading videoclips...",noCamerasFromConfig:"Cameras loaded from config",noScryptedIntegration:"Add a Scrypted integration in Settings to view videoclips.",noFrigateIntegration:"Select a Frigate integration in Settings to view videoclips.",noSource:"Add a Scrypted or Frigate integration in Settings, then select it as the Events/Videoclips source.",loadError:"Error loading videoclips",noVideoclips:"No videoclips for this date. Try changing the date or filters.",openVideoclip:"Open videoclip",clearCacheTitle:"Clear cache",clearCacheMessage:"Clear all cached events and videoclips data? This will force a fresh fetch on next load.",clearCacheConfirm:"Clear"},settings:{integrations:"Integrations",camstackProxy:"CamStack Proxy",scrypted:"Scrypted",frigate:"Frigate",rtsp:"RTSP",homeAssistant:"Home Assistant",name:"Name",baseUrl:"Base URL",urlLocal:"Local URL",urlPublic:"Public URL",username:"Username",password:"Password",token:"Token (optional)",frigateTokenHint:"Token (optional): JWT from browser",tokenRequired:"Token",testConnection:"Test connection",testLocal:"Test Local",testPublic:"Test Public",testMqtt:"Test MQTT",connectionOk:"Connection successful",connectionError:"Connection failed",scryptedCredentialsPromptTitle:"Scrypted login",scryptedCredentialsPromptSubtitle:"Enter your Scrypted username and password to connect.",scryptedCredentialsPromptSkip:"Skip for now",usernamePlaceholder:"admin",save:"Save",tabStream:"Stream & playback",tabGeneral:"General",data:"Data",clearCacheEventsClips:"Clear events & videoclips cache",eventsClipsSourceHint:"Source for Events and Videoclips tabs.",hubReelTitle:"Hub & Reel",reelIntegrationsHint:"Choose which integrations to use for the reel.",reelScryptedSourceHint:"When using Scrypted: event source for reel.",eventsClipsAuto:"Auto",eventsClipsNoInstance:"Add a Scrypted or Frigate integration first.",exportBackup:"Export backup",exportError:"Export failed",importBackup:"Import backup",importConfirm:"This will replace all cameras, integrations and settings with the backup data. Continue?",importSuccess:"Backup restored successfully",importError:"Import failed",uiPrototypes:"UI Prototypes",uiPrototypesHint:"Explore experimental timeline designs",versions:"Versions",appVersion:"App",nativeVersion:"Native",updateNow:"Update now",updateError:"Update failed",updateAvailableTitle:"Update Available",updateAvailableMessage:"A new version of CamStack has been downloaded and is ready to install. The app will restart to apply the update.",updateInstall:"Install & Restart",updateLater:"Later",tabIntegrations:"Integrations",tabCameras:"Camera settings",theme:"Theme",themeSystem:"System",themeLight:"Light",themeDark:"Dark",language:"Language",languageSystem:"System",languageEn:"English",languageIt:"Italiano",timelineMode:"Timeline Mode",timelineModeClassic:"Classic",timelineModeTheater:"Theater",timeline:"Timeline",timelineVisible:"Show detection timeline",timelineVisibleDescription:"Display the detection timeline panel in the camera view.",clusterSize:"Cluster card size",snapshotInterval:"Snapshot refresh interval",clusterSizeXS:"XS",clusterSizeS:"S",clusterSizeM:"M",clusterSizeL:"L",clusterSizeXL:"XL",highlightAppearance:"Highlight appearance",highlightAppearanceHint:"Color and border thickness for motion, audio, and detection highlights on camera streams.",highlightMotion:"Motion",highlightAudio:"Audio",highlightDetection:"Detection",highlightColor:"Color",highlightThickness:"Thickness",selectSection:"Select section",addSystem:"Add system",selectPlatform:"Select platform",deleteInstance:"Delete instance",deleteInstanceConfirm:"Are you sure you want to delete this instance?",delete:"Delete",mqttEvents:"MQTT - Real-time events",mqttBrokerUrl:"MQTT broker URL",mqttUsername:"MQTT username",mqttPassword:"MQTT password",mqttTopicPrefix:"Topic prefix (default: frigate)",mqttOptional:"Optional",scryptedAddressAlreadyUsed:"This Scrypted address is already configured. Only one instance per address is allowed.",scryptedAdvancedNotifierRequired:"The Advanced Notifier plugin is required for the connection.",scryptedCorsTitle:"CORS configuration required (Web)",scryptedCorsBody:"In Scrypted, open the Cloud plugin settings and add your domain ({{domain}}) to the CORS Allowed Origins list. Without this, the browser will block requests to your Scrypted server.",scryptedUrlHint:"Local URL is tried first (e.g. on LAN), then public URL. At least one required.",gridLayout:"Grid layout",gridLayoutHint:"Display options for the cameras grid.",gridColumns:"Grid columns",gridColumnsHint:"Number of cameras per row. Auto = 1 on mobile, 4 on tablet.",gridShowName:"Show camera name",gridShowState:"Show state (battery, recording, sleeping)",reorderCameras:"Reorder cameras",reorderCamerasHint:"Drag to reorder cameras",reorderDone:"Done",manageCameras:"Manage cameras",manageCamerasHint:"Remove cameras from the app.",downloadSnapshot:"Download snapshot",snapshotFailed:"Could not fetch snapshot",exportSnapshot:"Snapshot",exportDownloadClip:"Download clip",exportStartRecording:"Start recording",exportStopRecording:"Stop recording",exportRecordingWebOnly:"Recording available on web",intercomError:"Intercom unavailable. Check camera credentials in Scrypted.",deleteCamera:"Remove camera",deleteCameraConfirm:"Remove {{name}} from the app?",streamPlayback:"Stream & playback",playOnOpen:"Start stream when opening camera",playOnOpenHint:"Automatically load the live stream when you open a camera.",audioOnOpen:"Unmute audio when opening",audioOnOpenHint:"Play audio when opening a camera (if supported).",streamWatchdog:"Stream watchdog",streamWatchdogHint:"Restart stream when no data received (helps with stalled connections).",cameraPlayer:"Camera player",webViewCameraDetail:"Use WebView player",webViewCameraDetailHint:"Use WebView for Scrypted cameras (faster first frame, more stable). PiP, fullscreen and intercom work. Default: native player.",streamQuality:"Stream quality",streamQualitySingle:"Single camera quality",streamQualityGrid:"Grid quality",qualityAuto:"Auto",qualityHigh:"High",qualityMedium:"Mid",qualityLow:"Sub",auto:"Auto",associatedDevices:"Associated devices",associatedDevicesHint:"Add actuators (lights, switches, covers, etc.) to control from the camera view.",linkedDevices:"Linked",reorderHint:"Use arrows to reorder",addDevice:"Add device",noEligibleDevices:"No Scrypted or Home Assistant configured. Add an integration first.",configureDevices:"Configure devices",cameraSettingsHint:"Choose a camera to configure its specific options.",noCamerasConfigured:"No cameras configured.",searchDevices:"Search devices...",source:"Source",type:"Type",all:"All",noMatchingDevices:"No devices match the filters.",frigateStream:"Frigate Stream",frigateStreamSourceHint:"Stream source: WebRTC (default), RTSP, or MJPEG.",frigateStreamMapping:"Stream mapping (go2rtc names from config)",frigateStreamMappingHint:"Select from available go2rtc streams. Order: Main, Sub, Low.",frigateSelectStream:"Select stream",frigateAddStream:"Add stream",frigateInfo:"Camera info",frigateShowConfig:"Show config",frigateShowGo2rtc:"Show go2rtc",frigateMissingConfig:"Missing baseUrl or cameraName in camera config.",tabLogs:"Logs",logsCount:"{{count}} entries",logsDownload:"Download",logsClear:"Clear",logsEmpty:"No logs yet. Console output will appear here.",logsExportError:"Export failed",logsExportTitle:"Export logs",logsClearConfirmTitle:"Clear logs",logsClearConfirmMessage:"Remove all log entries?",hubAppearanceTitle:"Appearance",hubAppearanceDesc:"Theme, language, timeline and highlights",hubCamerasTitle:"Cameras",hubCamerasDesc:"Grid layout, stream quality and camera management",hubIntegrationsTitle:"Integrations",hubIntegrationsDesc:"Manage Scrypted, Frigate and other systems",hubAdvancedTitle:"Advanced",hubAdvancedDesc:"Data backup and cache management",hubLogsTitle:"Logs",hubLogsDesc:"View and export application logs",hubCacheTitle:"Cache",frigateAutoSnap:"Auto Snapshot",frigateSegmentNav:"Segment Navigation",frigateShowGo:"Show Go2RTC",frigateTimeline:"Timeline",reelCameras:"Reel Cameras",reelCamerasHint:"Select which cameras appear in the events reel",reelDeselectAll:"Deselect All",reelDetectionClasses:"Detection Classes",reelDetectionClassesHint:"Filter events by detection class",reelIncludeRuleArtifacts:"Include Rule Artifacts",reelIncludeRuleArtifactsHint:"Show rule-based events in the reel",reelRuleArtifacts:"Rule Artifacts",reelSelectAll:"Select All",reelBadgeContent:"Badge content",reelBadgePosition:"Badge position",reelBadgeSize:"Badge size",reelBadgeBoth:"Time + Class",reelBadgeTime:"Time only",reelBadgeClass:"Class only",reelBadgeNone:"Hidden",reelBadgeSmall:"Small",reelBadgeMedium:"Medium",reelBadgeLarge:"Large"},reel:{filterMotion:"Motion",filterOnlyRules:"Only rules",filterOnlySensors:"Only sensors",goToMostRecent:"Go to most recent"},v2:{common:{connecting:"Connecting\u2026",online:"Online",offline:"Offline",loadError:"Loading error",create:"Create"},cameras:{empty:"No cameras",statusOnline:" \xb7 online",statusOffline:" \xb7 offline",sleeping:"Sleeping",unavailable:"Unavailable",motion:"Motion",doorbell:"Doorbell",doorbellRinging:"Ringing",doorbellLastRing:"Ring {{time}} ago",snapshotLoading:"Loading\u2026",manage:"Manage cameras",manageHint:"Drag to reorder. Rename inline. Toggle to show or hide a camera from the list.",reorderHandle:"Drag to reorder",appearance:"Appearance",editList:"Edit list",listOptions:"Camera list options"},cameraDetail:{fallbackName:"Camera #{{id}}",mute:"Mute",unmute:"Unmute",snapshot:"Snapshot",snapshotFailed:"Could not capture a snapshot.",ptz:"PTZ controls",talk:"Talk",fullscreen:"Fullscreen",talkFailed:"Could not start talk-back. Check microphone access.",pip:"Picture in Picture",exitFullscreen:"Exit fullscreen",devices:"Devices",devicesEmpty:"No connected devices.",linkedModeAuto:"Link: Auto (same location)",linkedModeManual:"Link: Manual",motionBoxes:"Motion boxes",close:"Close",deviceOnline:"Online",deviceOffline:"Offline"},grids:{createA11y:"Create grid",empty:"No grids",emptyHint:"Tap + to create your first grid",countNone:"No cameras",countOne:"1 camera",countOther:"{{count}} cameras",defaultName:"New grid",deleteTitle:"Delete grid",deleteConfirm:"Delete \"{{name}}\"? This cannot be undone.",export:"Export",exportAllA11y:"Export all grids",shareA11y:"Share grid",editA11y:"Edit grid",deleteA11y:"Delete grid",linkCopied:"Grid link copied to clipboard",layoutAuto:"Auto",layoutColumns:"{{count}} cols"},gridView:{editA11y:"Edit grid",fallbackTitle:"Grid",notFound:"Grid not found",emptyGrid:"This grid is empty",addCameras:"Add cameras",reorderTitle:"Reorder cameras",reorderA11y:"Reorder cameras",reorderDoneA11y:"Done reordering",allHidden:"All cameras are hidden. Use reorder mode to show some.",dragA11y:"Drag to reorder",hideA11y:"Hide from grid",showA11y:"Show in grid",removeA11y:"Remove from grid",adhocTitle:"Quick grid"},gridBuilder:{title:"Edit grid",nameLabel:"Name",namePlaceholder:"Grid name",camerasSelected:"Cameras ({{count}} selected)",optionsTitle:"Options",showName:"Show camera name",export:"Export grid",orderSection:"In the grid",orderHint:"Drag to reorder",emptyOrder:"No cameras yet \u2014 add some below.",addSection:"Add cameras",removeA11y:"Remove from grid",addA11y:"Add to grid",highlightTitle:"Highlight",highlightMotion:"On motion",highlightAudio:"On audio",highlightAudioOff:"Off",highlightAudioSensor:"Presence",highlightAudioLevel:"Level",highlightThreshold:"Threshold",highlightHold:"Hold",highlightDetection:"On detection",clusterLabel:"Cluster label",clusterLabelIcon:"Icon",clusterLabelText:"Text"},gridBar:{back:"Back",pauseAll:"Pause all",playAll:"Play all",audio:"Audio",quality:"Stream quality",layout:"Layout",highlightMenu:"Highlight & overlays",activeOnly:"Active only",share:"Share grid",edit:"Edit grid",hide:"Hide controls",show:"Show controls",muteAll:"Mute all",unmuteAll:"Unmute all"},gridMenu:{highlightMaster:"Highlight borders"},gridShare:{title:"Share \"{{name}}\"",quality:"Stream quality",layout:"Layout",showNames:"Show camera names",activeOnly:"Active cameras only",boxes:"Bounding boxes",highlightEnable:"Highlight",audioSummary:"Audio starts on for {{count}} camera(s)",ttlTitle:"Link expires",ttl_1d:"1 day",ttl_7d:"7 days",ttl_30d:"30 days",ttl_never:"Forever",tokenNotice:"The link includes a view-only access token limited to these cameras. Anyone with the link can watch until it expires or is revoked.",copyLink:"Copy link",creating:"Creating link\u2026",copiedExpires:"Link copied \u2014 expires {{date}}",copiedNever:"Link copied \u2014 never expires",error:"Could not create the share link. Check the connection and try again.",optionAuto:"Auto",optionHigh:"High",optionMedium:"Mid",optionLow:"Low"},gridControls:{play:"Play",pause:"Pause",mute:"Mute",unmute:"Unmute",quality:"Quality",layout:"Layout",layoutAuto:"Auto"},events:{comingSoon:"Events \u2014 coming soon",searchLabel:"Search label\u2026",empty:"No events",today:"Today",filteredEmpty:"No matches in the loaded range",loadOlder:"Load older",selectPrompt:"Select an event to see its detail",filters:"Filters",all:"All",day:"Day",sort:"Sort",sortTime:"Newest",sortImportance:"Importance",cameras:"Cameras",classes:"Classes",search:"Search",searchCameras:"Search cameras\u2026",searchClasses:"Search classes\u2026",allCamerasHint:"None = all",allClassesHint:"None = all",done:"Done",density:"Density",selectHint:"Select an event",eventKinds:"Event types",displayOptions:"Display",displayTitle:"Display options"},settings:{themeSystem:"System",themeDark:"Dark",themeLight:"Light",server:"Server",hubActive:"Active hub",changeServer:"Change server",signOut:"Sign out",network:"Network",networkNone:"No routes probed yet",endpointUnlikely:"Unlikely usable",reprobe:"Re-probe routes",reprobing:"Probing\u2026",appearance:"Appearance",theme:"Theme",info:"Info",app:"App",version:"Version",noServer:"No server",footerNote:"CamStack Viewer connects to a single camstack hub. Cameras, grids and events are managed by the server.",language:"Language",langSystem:"System",gridDefaults:"Grid defaults",showName:"Show camera name",showNameHint:"Overlay the camera name on each tile",showState:"Show status badge",showStateHint:"Show online / recording state on each tile",columns:"Columns",cameraOrder:"Camera order",orderName:"By name",orderCustom:"Custom",motionHold:"Motion highlight linger",motionHoldHint:"Keep a tile's motion highlight lit this long after motion stops.",motionHoldOff:"Off",streamQuality:"Stream quality",streamDefaults:"Stream defaults",playOnOpen:"Play on open",playOnOpenHint:"Start the live stream when a camera opens",audioOnOpen:"Audio on open",audioOnOpenHint:"Unmute audio when a camera opens",snapshotInterval:"Snapshot refresh",highlightAppearance:"Highlight appearance",highlightMotionColor:"Motion color",highlightAudioColor:"Audio color",highlightDetectionColor:"Detection color",highlightThickness:"Border thickness",qualityAuto:"Auto",qualityHigh:"High",qualityMid:"Medium",qualityLow:"Low",secondsValue:"{{count}}s",advanced:"Advanced",clearCache:"Clear cache",clearCacheHint:"Free up snapshots and cached data (keeps your server and settings)",clearCacheConfirmTitle:"Clear cache?",clearCacheConfirmBody:"This removes cached images and query data. Your server, sign-in and settings are kept.",clearCacheDone:"Cache cleared",exportSettings:"Export settings",exportSettingsHint:"Copy your settings as JSON",exportSettingsDone:"Settings copied as JSON",viewLogs:"View logs",viewLogsHint:"Recent in-app log messages",logsEmpty:"No logs recorded yet",keepLogs:"Keep logs",keepLogsHint:"Record a rolling buffer of in-app log messages",debugMode:"Debug mode",debugModeHint:"Verbose logs across live, playback and scrub \u2014 sent to the server",logsClear:"Clear",resetSettings:"Reset settings",resetSettingsHint:"Restore all defaults",resetConfirmTitle:"Reset settings?",resetConfirmBody:"This restores all settings to their defaults.",cancel:"Cancel",confirm:"Confirm",timeline:"Timeline & highlights",reel:"Event reel",reelThumbSize:"Reel thumbnail size",reelThumbSizeHint:"Size of the tiles in the Recent events reel.",reelSizeSmall:"Small",reelSizeMedium:"Medium",reelSizeLarge:"Large",reelShowLabels:"Show labels",reelShowLabelsHint:"Show the class/identity label on reel items.",reelLabelStyle:"Class display",reelLabelStyleHint:"Show the detection class as an icon or as text on reel items.",reelShowImportance:"Show importance",reelShowImportanceHint:"Show the importance badge on reel items.",events:"Events",eventsPage:"Events page",minImportance:"Minimum importance",minImportanceHint:"Hide events scored below this across the events page and the camera timeline.",minImportanceOff:"Off",tileShowLabels:"Show labels",tileShowLabelsHint:"Show the class / identity / audio labels on event cards.",tileShowImportance:"Show importance",tileShowImportanceHint:"Show the importance badge on event cards (when scored).",tileShowCameraName:"Show camera name",tileShowCameraNameHint:"Show the camera name in the event card footer.",tileLabelStyle:"Class display",tileLabelStyleHint:"Show the detection class as an icon or as text.",tileLabelStyleIcon:"Icon",tileLabelStyleText:"Text",comingSoon:"Coming soon",cameras:"Cameras",manageCameras:"Manage cameras",manageCamerasHint:"Rename, hide, reorder",pinchExpandsHeight:"Pinch enlarges the view",pinchExpandsHeightHint:"Pinching to zoom also grows the video taller (crops the side edges on 16:9 cameras).","timeline.gapPercent":"Cluster gap (%)","timeline.sizePercent":"Cluster size (%)","timeline.indicatorPositionPct":"Indicator position (%)","timeline.showImportance":"Show importance on items","timeline.showClass":"Show detection class on items","timeline.cardWidthPct":"Card width (%)",haptics:"Event haptics",hapticsEnabled:"Vibrate on events",hapticsEnabledHint:"Small vibration pulses for key events on the camera you're watching. Native only (iOS/Android).",hapticsMotion:"Motion",hapticsDetection:"Detection",hapticsPerson:"Person / recognized"},login:{loginFailed:"Login failed",verifyFailed:"Verification failed",serverUrl:"Server URL",username:"Username",password:"Password",showPassword:"Show password",hidePassword:"Hide password",signIn:"Sign in",signingIn:"Signing in\u2026",twoFactor:"Two-factor authentication",totpHint:"Enter the 6-digit code from your authenticator app to sign in as ",verificationCode:"Verification code",verifyAndSignIn:"Verify and sign in",verifying:"Verifying\u2026",back:"Back",or:"or",signInWithCamStack:"Sign in with CamStack",hubSignInHint:"Opens your hub\u2019s login page and links this app without typing your password here.",handoffFailed:"Sign-in with CamStack failed \u2014 try again or use username and password",invalidServerUrl:"Enter a valid server URL (https://\u2026) first"},live:{webUnsupported:"Live view is not available on the web version yet.",connecting:"Connecting to live stream\u2026",error:"Unable to load the live stream.",retry:"Retry",noConnection:"No connection to the server",failed:"Connection failed"},ptz:{title:"PTZ",notAvailable:"PTZ controls are not available for this camera.",zoom:"Zoom",home:"Home position",presets:"Presets",noPresets:"No presets saved."},timeline:{activityTitle:"Activity",last24h:"Last 24h",loading:"Loading activity\u2026",noActivity:"No activity in the last 24 hours.",legendRecording:"Recorded",legendMotion:"Motion",legendAudio:"Audio"},theater:{back:"Back",today:"Today",yesterday:"Yesterday",selectDate:"Pick a date",live:"LIVE",now:"NOW",auto:"Auto",quality:"Stream quality",filterAll:"All",filter_motion:"Motion",filter_audio:"Audio",goToLive:"Go to live",noRecording:"No recording",noRecordingHint:"No footage at this time",detailCount:"{{frames}} frames \xb7 {{count}} detections",detailTracks:"{{tracks}} tracks \xb7 {{count}} detections",detailEmpty:"No detail images for this moment",detailSeek:"Go to this moment",zoneHint:"Drag a rectangle over the video to filter events by zone",zoneConfirm:"Confirm",zoneCancel:"Cancel"},mediaKind:{crop:"Object crop",thumbnail:"Best shot",faceCrop:"Face",plateCrop:"Plate",fullFrame:"Frame",fullFrameBoxed:"Boxed",keyFrame:"Key frame",firstFrame:"First",lastFrame:"Last",snapshot:"Snapshot"},tracks:{crop:"Crop",fullFrame:"Full frame",zones:"Zones",audio:"Audio",reason:"Why notable",empty:"No tracks",recent:"Recent",searchPlaceholder:"Search events (e.g. \"person in red\")",noMatches:"No matching events",person:"Person",assignPerson:"Assign to person",changePerson:"Change",notAssigned:"Not assigned",assignFaceTitle:"Assign face",newPersonPlaceholder:"New person name\u2026",createAndAssign:"Create & assign",assignFailed:"Couldn't assign the face",removePerson:"Remove person",removePersonConfirmTitle:"Remove person?",removePersonConfirmBody:"This unlinks the person from this face. The face returns to the unassigned buffer and can be reassigned later.",disassociateFailed:"Couldn't remove the person",removePersonAll:"Remove from all events",removePersonAllConfirmTitle:"Remove from all events?",removePersonAllConfirmBody:"This unlinks this person from EVERY event. All faces currently recognized as this person return to the unassigned buffer and can be reassigned later. The person is kept.",disassociateAllFailed:"Couldn't remove the person from all events",existingPersons:"People",noPersons:"No people yet",metadata:"Metadata",copy:"Copy",copied:"Copied","meta.trackId":"Track ID","meta.eventId":"Best event ID","meta.deviceId":"Device ID","meta.camera":"Camera","meta.className":"Class","meta.label":"Label","meta.firstSeen":"First seen","meta.lastSeen":"Last seen","meta.state":"State","meta.importance":"Importance","meta.confidence":"Confidence","meta.mediaKeys":"Media keys"},accessories:{on:"On",off:"Off",dimUp:"Brighter",dimDown:"Dimmer",lock:"Lock",unlock:"Unlock",open:"Open",close:"Close",stop:"Stop",arm:"Arm",disarm:"Disarm",onMotion:"On motion",warmer:"Warmer",cooler:"Cooler",speedUp:"Faster",speedDown:"Slower",oscillate:"Oscillate",press:"Press",play:"Play",pause:"Pause",previous:"Previous",next:"Next",start:"Start",dock:"Dock",locate:"Locate",feed:"Feed",feeding:"Feeding\u2026",install:"Install",installing:"Installing\u2026",upToDate:"Up to date",increase:"Increase",decrease:"Decrease",select:"Select",climateModes:{off:"Off",heat:"Heat",cool:"Cool",auto:"Auto",heat_cool:"Heat/Cool",fan_only:"Fan",dry:"Dry"}},cameraMenu:{title:"View options",boundingBoxes:"Bounding boxes",streamStats:"Stream stats",audioLevel:"Audio level",audioPositions:{off:"Off","top-left":"Top left","top-center":"Top center","top-right":"Top right","left-center":"Left center","right-center":"Right center","bottom-left":"Bottom left","bottom-center":"Bottom center","bottom-right":"Bottom right"},densityTitle:"Timeline density",density_compact:"Compact",density_medium:"Medium",density_wide:"Wide",densityCustom:"Custom",showImportance:"Show importance",showClass:"Show detection class",managementTitle:"Management"},stats:{title:"Stream stats",resolution:"Resolution",fps:"FPS",bitrate:"Bitrate",packetLoss:"Packet loss",jitter:"Jitter",codec:"Codec",frames:"Frames (dropped/total)",waiting:"Measuring\u2026",playbackHint:"Full WebRTC stats need the native player."},exportActions:{title:"Capture",recordingExport:"Recording export"},exports:{title:"Exports",empty:"No exports yet.",settingsHint:"Download recorded clips",range:"Range",rangeStart:"Start",rangeEnd:"End",profile:"Profile",noFootage:"No footage in this range.",speed:"Speed",timelapse:"Timelapse",cadence:"Frame every",audio:"Audio",includeAudio:"Include audio",audioUnavailable:"Audio is only available at 0.5\u20132\xd7 speed.",retention:"Keep for",life24h:"24 hours",life7d:"7 days",life30d:"30 days",deleteAfterDownload:"Delete after download",deleteAfterDownloadHint:"Remove the file once downloaded.",creating:"Creating\u2026",createAction:"Export",createFailed:"Could not create the export.",withAudio:"with audio",variantRegular:"1\xd7",variantAccelerated:"Accelerated {{speed}}\xd7",variantSlow:"Slow {{speed}}\xd7",variantTimelapse:"Timelapse",expired:"Expired",expiresInDays:"Expires in {{count}}d",expiresInHours:"Expires in {{count}}h",expiresInMinutes:"Expires in {{count}}m",downloadAction:"Download",downloadUnavailable:"Download not available.",downloadFailed:"Download failed.",cancelAction:"Cancel",cancelConfirmTitle:"Cancel export?",cancelConfirmBody:"This stops rendering and discards the partial file.",deleteAction:"Delete",deleteConfirmTitle:"Delete export?",deleteConfirmBody:"This removes the file. The history entry is kept.",dismiss:"Dismiss",state:{queued:"Queued",rendering:"Rendering",ready:"Ready",failed:"Failed",expired:"Expired",deleted:"Deleted"}},streamBar:{play:"Play",pause:"Pause",mute:"Mute",unmute:"Unmute",talkStart:"Start talking",talkStop:"Stop talking",quality:"Stream quality",menu:"View options",snapshot:"Snapshot",pip:"Picture in picture",fullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen"},playback:{prevFrame:"Previous frame",nextFrame:"Next frame",speed:"Playback speed",audioMuted:"Audio off at \u2260 1\xd7",audioOn:"Audio on"},cameraSwitcher:{title:"Switch camera",empty:"No cameras available",openGrid:"Open grid ({{n}})",selectA11y:"Select {{name}}"},storage:{title:"Storage",usageTitle:"Usage",nodeTotal:"Node total",defaultLocation:"Default location",locationFree:"{{free}} free",retentionTitle:"Retention",pruneAction:"Apply retention now",pruneConfirmTitle:"Apply retention?",pruneConfirmBody:"Delete footage on {{name}} that exceeds its retention policy.",pruneResult:"Reclaimed {{bytes}} ({{buckets}} segments).",deleteTitle:"Delete footage",deleteAction:"Delete",deleteConfirmTitle:"Delete footage?",deleteConfirmBody:"Permanently delete {{range}} of footage on {{name}}. This cannot be undone.",deleteResult:"Reclaimed {{bytes}} ({{buckets}} segments).",cancel:"Cancel",window24h:"Last 24h",window7d:"Last 7 days",window30d:"Last 30 days",windowAll:"Everything"},eventsMgmt:{title:"Events",footprintTitle:"Footprint",rowsBytes:"{{rows}} events \xb7 {{bytes}}",clusterTotal:"Cluster total",pruneTitle:"Prune older than",pruneHint:"Applies to all cameras.",pruneAction:"Prune",pruneConfirmTitle:"Prune old events?",pruneConfirmBody:"Delete events older than {{range}} across ALL cameras. This cannot be undone.",pruneResult:"Deleted {{count}} events.",deleteTitle:"Delete camera events",deleteAction:"Delete all events for this camera",deleteConfirmTitle:"Delete all events?",deleteConfirmBody:"Permanently delete every event for {{name}}. This cannot be undone.",deleteResult:"Deleted {{count}} events.",cancel:"Cancel",older24h:"24 hours",older7d:"7 days",older30d:"30 days"}},prototype:{today:"Today",yesterday:"Yesterday",now:"NOW",endOfDay:"END OF DAY",loading:"Loading...",timeline:"Timeline",events:"Events",playClip:"Play clip",goToNow:"NOW",noEvents:"No events"},eventKind:{motion:"Motion",audio:"Audio",person:"Person",vehicle:"Vehicle",animal:"Animal",package:"Package",sensor:"Sensor",control:"Control",car:"Car",truck:"Truck",bus:"Bus",motorcycle:"Motorcycle",bicycle:"Bicycle",airplane:"Airplane",boat:"Boat",train:"Train",bird:"Bird",cat:"Cat",dog:"Dog",horse:"Horse",sheep:"Sheep",cow:"Cow",elephant:"Elephant",bear:"Bear",zebra:"Zebra",giraffe:"Giraffe",contact:"Contact","motion-sensor":"Motion sensor",smoke:"Smoke",flood:"Water leak",gas:"Gas","carbon-monoxide":"Carbon monoxide",vibration:"Vibration",tamper:"Tamper",presence:"Presence","enum-sensor":"Sensor state","device-event":"Device event",lock:"Lock",switch:"Switch",siren:"Siren",button:"Button",doorbell:"Doorbell","package-delivered":"Package delivered","package-picked-up":"Package picked up","audio-speech":"Speech","audio-music":"Music","audio-dog":"Dog","audio-doorbell":"Doorbell","audio-siren":"Siren","audio-alarm":"Alarm"}}},3581,[]);
16003
+ __d(function(e,i,a,t,o,n,r){o.exports={devices:{editDevice:"Modifica dispositivo",originalName:"Nome originale",customName:"Nome personalizzato",customNamePlaceholder:"Lascia vuoto per usare l'originale",icon:"Icona",typeLight:"Luce",typeSwitch:"Interruttore",typeCover:"Tapparella",typeLock:"Serratura",typeAlarm:"Allarme",typeButton:"Pulsante",typeSelect:"Selezione",typeSiren:"Sirena",typeSensor:"Sensore",typeEntry:"Ingresso",typeMediaPlayer:"Media Player",typeScript:"Script",run:"Esegui",sourceHA:"Home Assistant",sourceScrypted:"Scrypted",off:"Off",on:"On",mute:"Muto",unmute:"Audio",stop:"Stop",locked:"Chiusa",unlocked:"Aperta",open:"Aperta",closed:"Chiusa",disarmed:"Disinserito",disarm:"Disinserisci"},common:{error:"Errore",save:"Salva",cancel:"Annulla",loading:"Caricamento...",comingSoon:"In arrivo",back:"Indietro",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",reset:"Reimposta",selectAll:"Seleziona tutte",deselectAll:"Deseleziona tutte",delete:"Elimina",retry:"Riprova"},grids:{newGrid:"Nuova griglia",deleteConfirm:"Eliminare questa griglia?",noGrids:"Nessuna griglia. Creane una per disporre le telecamere in vista mosaico.",createGrid:"Crea griglia",cameras:"telecamere",notFound:"Griglia non trovata.",noCameras:"Nessuna telecamera in questa griglia. Modifica per aggiungerne.",edit:"Modifica",addCamera:"Aggiungi telecamera",presets:"Preset",auto:"Auto",manual:"Manuale",gridName:"Nome griglia",view:"Visualizza",addCameraHint:"Aggiungi almeno una telecamera dal pulsante sopra.",allCamerasAdded:"Tutte le telecamere sono gi\xe0 in griglia",cameraUnavailable:"Telecamera non disponibile",camerasInGrid:"Telecamere nella griglia",addAll:"Aggiungi tutte",addCameras:"Aggiungi Telecamere",backToGrid:"Torna alla Griglia",timelineNotSupported:"Timeline non supportata"},nav:{cameras:"Telecamere",grids:"Griglie",events:"Eventi",videoclips:"Videoclip",list:"Lista",settings:"Impostazioni"},cameras:{addCamera:"Aggiungi telecamera",pipActive:"PiP attivo",reorderEnable:"Riordina",reorderDisable:"Sblocca",live:"Live",noCameras:"Nessuna telecamera configurata",noIntegrations:"Nessuna integrazione configurata. Aggiungi un sistema per iniziare.",createSystem:"Crea sistema",importFrom:"Importa telecamere da",importSuccess:"Importazione completata",importCount:"{{count}} telecamere importate",selectCamerasToImport:"Seleziona telecamere da importare",selectAll:"Seleziona tutte",deselectAll:"Deseleziona tutte",importSelected:"Importa {{count}} selezionate",noCamerasFound:"Nessuna telecamera trovata",play:"\u25b6 Riproduci",paused:"In pausa",noDataForDate:"Nessun dato per questa data",recordingNotAvailable:"Registrazione non disponibile",noEventsReel:"Nessun evento recente",settings:"Impostazioni",highlightMotion:"Evidenza movimento",highlightOnMotion:"Evidenzia al movimento",highlightAudio:"Evidenza audio",audioMode:"Modalit\xe0",audioModeOff:"Off",audioModeSensor:"Sensore",audioModeLevel:"Livello",audioPreset:"Preset audio",audioPresetCustom:"Personalizzato",audioPresetCrying:"Pianto / neonato",audioPresetAlarm:"Allarme / sirena",audioPresetDog:"Abbaio cane",audioPresetDoorbell:"Campanello / bussata",audioPresetGlass:"Rottura vetro",audioWindow:"Finestra (s)",audioThreshold:"Soglia (dB)",audioHitPercentage:"Percentuale (%)",audioHoldSeconds:"Mantenimento (s)",highlightDetection:"Evidenza rilevamento oggetti",highlightOnDetection:"Evidenzia al rilevamento",detectionClasses:"Classi",holdSeconds:"Mantenimento (s)",rtspNotSupportedWeb:"Gli stream RTSP non sono supportati sul web. Usa l'app mobile.",liveDetections:"Detections live",filterTimeline:"Filtra timeline",filterClasses:"Filtra classi...",filterBySeverity:"Filtra per severit\xe0",severityAlert:"Allarme",severityDetection:"Rilevamento",statusPosition:"Posizione indicatori di stato",today:"Oggi",yesterday:"Ieri",timeline:"Timeline",timelineEventsClusterEvents:"Eventi",selectDate:"Seleziona una data",videoclipsNotSupported:"Videoclip non supportati per questa telecamera",noVideoclipsForDate:"Nessun videoclip per questa data",endOfList:"Fine elenco",backToLive:"Torna al live",goLive:"Vai al live",loadingClip:"Caricamento clip...",clusterDetailShowBbox:"Mostra bounding box sull'immagine",clusterDetailOpenVideoclip:"Apri videoclip",clusterDetailLoadingEvents:"Caricamento eventi...",devices:"Dispositivi",noAssociatedDevices:"Nessun dispositivo collegato. Configura in Impostazioni > Telecamere.",timelineData:"Dati timeline",timelineDataHint:"Cosa mostrare sulla timeline.",timelineDataVideoclips:"Videoclip",timelineDataAdvancedNotifier:"Advanced Notifier",timelineDataEvents:"Eventi",timelineEvents:"Eventi timeline",timelineEventsHint:"Quali tipi di eventi mostrare sulla timeline, in base alla severit\xe0.",timelinePresetAll:"Tutti",timelinePresetImportant:"Importanti",timelinePresetCritical:"Critici",timelinePresetCustom:"Personalizzato",statusBlock:"Blocco stato",sensorsBlock:"Blocco sensori",position:"Posizione",indicators:"Indicatori",downloadSnapshot:"Scarica Istantanea",exportDownloadClip:"Scarica Clip",exportRecordingWebOnly:"Esporta registrazione (solo web)",exportSnapshot:"Esporta Istantanea",intercomError:"Errore interfono",multiCam:"Multi-Camera",ptzNotSupported:"PTZ non supportato",ptzSelectPreset:"Seleziona Preset PTZ",snapshotFailed:"Istantanea fallita"},events:{loading:"Caricamento eventi...",filterByLabel:"Filtra per etichetta",filterByLabelPlaceholder:"es. person, doorbell",filterByCamera:"Filtra per telecamera",date:"Data",detectionTypes:"Tipi di rilevamento",source:"Sorgente",cameras:"Telecamere",groupingRange:"Raggruppamento",groupingPresetMinutes:"{{m}} min",groupingCustom:"Personalizzato",groupingCustomMinutes:"Minuti",groupingCustomApply:"Applica",today:"Oggi",noCamerasFromConfig:"Telecamere caricate dalla config EventsApp",all:"Tutti",typesCount:"{{count}} tipi",camerasCount:"{{count}} telecamere",cols:"col",sourceAuto:"Auto",sourceNVR:"NVR",sourceFrigate:"Frigate",sourceVideoClips:"API VideoClips",sourceRawDetection:"Raw",sourceAdvancedNotifier:"Advanced Notifier",detectionPerson:"Persona",detectionVehicle:"Veicolo",detectionAnimal:"Animale",detectionAudio:"Audio",detectionFace:"Volto",detectionPlate:"Targa",detectionPackage:"Pacco",detectionDoorbell:"Campanello",detectionSensor:"Sensore",detectionMotion:"Motion",detectionRules:"Regole",noScryptedIntegration:"Aggiungi un'integrazione Scrypted in Impostazioni per vedere gli eventi.",frigateNoEvents:"Gli eventi sono disponibili solo per Scrypted. Seleziona un'istanza Scrypted in Impostazioni.",noSource:"Aggiungi un'integrazione Scrypted o Frigate in Impostazioni, poi selezionala come sorgente per Eventi e Videoclip.",loadError:"Errore nel caricamento degli eventi",noEvents:"Nessun evento per questa data. Prova a cambiare data o filtri.",clearCacheTitle:"Svuota cache",clearCacheMessage:"Svuotare tutti i dati in cache di eventi e videoclip? Verr\xe0 effettuato un nuovo caricamento al prossimo accesso.",clearCacheConfirm:"Svuota",columnsPerRow:"Colonne per riga",onlyWithClips:"Solo con clip",relatedClip:"Clip Correlata"},videoclips:{loading:"Caricamento videoclip...",noCamerasFromConfig:"Telecamere caricate dalla config",noScryptedIntegration:"Aggiungi un'integrazione Scrypted in Impostazioni per vedere i videoclip.",noFrigateIntegration:"Seleziona un'integrazione Frigate in Impostazioni per vedere i videoclip.",noSource:"Aggiungi un'integrazione Scrypted o Frigate in Impostazioni, poi selezionala come sorgente per Eventi e Videoclip.",loadError:"Errore nel caricamento dei videoclip",noVideoclips:"Nessun videoclip per questa data. Prova a cambiare data o filtri.",openVideoclip:"Apri videoclip",clearCacheTitle:"Svuota cache",clearCacheMessage:"Svuotare tutti i dati in cache di eventi e videoclip? Verr\xe0 effettuato un nuovo caricamento al prossimo accesso.",clearCacheConfirm:"Svuota"},settings:{integrations:"Integrazioni",camstackProxy:"CamStack Proxy",scrypted:"Scrypted",frigate:"Frigate",rtsp:"RTSP",homeAssistant:"Home Assistant",name:"Nome",baseUrl:"URL base",urlLocal:"URL locale",urlPublic:"URL pubblico",username:"Username",password:"Password",token:"Token (opzionale)",frigateTokenHint:"Token (opzionale): JWT dal browser",tokenRequired:"Token",testConnection:"Test connessione",testLocal:"Test Local",testPublic:"Test Public",testMqtt:"Test MQTT",connectionOk:"Connessione riuscita",connectionError:"Connessione fallita",scryptedCredentialsPromptTitle:"Accesso Scrypted",scryptedCredentialsPromptSubtitle:"Inserisci username e password Scrypted per connettere.",scryptedCredentialsPromptSkip:"Salta per ora",usernamePlaceholder:"admin",save:"Salva",tabStream:"Stream e riproduzione",tabGeneral:"Generale",data:"Dati",clearCacheEventsClips:"Svuota cache eventi e videoclip",eventsClipsSourceHint:"Sorgente per le schede Eventi e Videoclip.",hubReelTitle:"Hub & Reel",reelIntegrationsHint:"Scegli quali integrazioni usare per il reel.",reelScryptedSourceHint:"Con Scrypted: sorgente eventi per il reel.",eventsClipsAuto:"Auto",eventsClipsNoInstance:"Aggiungi prima un'integrazione Scrypted o Frigate.",exportBackup:"Esporta backup",exportError:"Esportazione fallita",importBackup:"Importa backup",importConfirm:"Questo sostituir\xe0 tutte le telecamere, integrazioni e impostazioni con i dati del backup. Continuare?",importSuccess:"Backup ripristinato con successo",importError:"Importazione fallita",uiPrototypes:"Prototipi UI",uiPrototypesHint:"Esplora design sperimentali della timeline",versions:"Versioni",appVersion:"App",nativeVersion:"Nativa",updateNow:"Aggiorna ora",updateError:"Aggiornamento fallito",updateAvailableTitle:"Aggiornamento disponibile",updateAvailableMessage:"Una nuova versione di CamStack \xe8 stata scaricata ed \xe8 pronta per l'installazione. L'app verr\xe0 riavviata per applicare l'aggiornamento.",updateInstall:"Installa e riavvia",updateLater:"Pi\xf9 tardi",tabIntegrations:"Integrazioni",tabCameras:"Telecamere",theme:"Tema",themeSystem:"Sistema",themeLight:"Chiaro",themeDark:"Scuro",language:"Lingua",languageSystem:"Sistema",languageEn:"English",languageIt:"Italiano",timelineMode:"Modalit\xe0 timeline",timelineModeClassic:"Classica",timelineModeTheater:"Theater",timeline:"Timeline",timelineVisible:"Mostra timeline rilevamenti",timelineVisibleDescription:"Visualizza il pannello della timeline nella vista telecamera.",clusterSize:"Dimensione cluster",snapshotInterval:"Intervallo aggiornamento snapshot",clusterSizeXS:"Molto piccola",clusterSizeS:"Piccola",clusterSizeM:"Normale",clusterSizeL:"Grande",clusterSizeXL:"Molto grande",highlightAppearance:"Aspetto evidenze",highlightAppearanceHint:"Colore e spessore del bordo per evidenze movimento, audio e rilevamento sugli stream delle telecamere.",highlightMotion:"Movimento",highlightAudio:"Audio",highlightDetection:"Rilevamento",highlightColor:"Colore",highlightThickness:"Spessore",selectSection:"Seleziona sezione",addSystem:"Aggiungi sistema",selectPlatform:"Seleziona piattaforma",deleteInstance:"Elimina istanza",deleteInstanceConfirm:"Vuoi eliminare questa istanza?",delete:"Elimina",mqttEvents:"MQTT - Eventi in tempo reale",mqttBrokerUrl:"URL broker MQTT",mqttUsername:"Username MQTT",mqttPassword:"Password MQTT",mqttTopicPrefix:"Prefisso topic (default: frigate)",mqttOptional:"Opzionale",scryptedAddressAlreadyUsed:"Questo indirizzo Scrypted \xe8 gi\xe0 configurato. \xc8 consentita una sola istanza per indirizzo.",scryptedAdvancedNotifierRequired:"Il plugin Advanced Notifier \xe8 richiesto per la connessione.",scryptedCorsTitle:"Configurazione CORS richiesta (Web)",scryptedCorsBody:"In Scrypted, apri le impostazioni del plugin Cloud e aggiungi il tuo dominio ({{domain}}) alla lista CORS Allowed Origins. Senza questa configurazione, il browser bloccher\xe0 le richieste verso il server Scrypted.",scryptedUrlHint:"L'URL locale viene provato per primo (es. in LAN), poi quello pubblico. Ne serve almeno uno.",gridLayout:"Layout griglia",gridLayoutHint:"Opzioni di visualizzazione per la griglia telecamere.",gridColumns:"Colonne griglia",gridColumnsHint:"Numero di telecamere per riga. Auto = 1 su mobile, 4 su tablet.",gridShowName:"Mostra nome telecamera",gridShowState:"Mostra stato (batteria, registrazione, sleep)",reorderCameras:"Riordina telecamere",reorderCamerasHint:"Trascina per riordinare le telecamere",reorderDone:"Fatto",manageCameras:"Gestisci telecamere",manageCamerasHint:"Rimuovi telecamere dall'app.",downloadSnapshot:"Scarica snapshot",snapshotFailed:"Impossibile recuperare lo snapshot",exportSnapshot:"Snapshot",exportDownloadClip:"Scarica clip",exportStartRecording:"Avvia registrazione",exportStopRecording:"Ferma registrazione",exportRecordingWebOnly:"Registrazione disponibile su web",intercomError:"Intercom non disponibile. Verifica le credenziali della telecamera su Scrypted.",deleteCamera:"Rimuovi telecamera",deleteCameraConfirm:"Rimuovere {{name}} dall'app?",streamPlayback:"Stream e riproduzione",playOnOpen:"Avvia stream all'apertura telecamera",playOnOpenHint:"Carica automaticamente lo stream live quando apri una telecamera.",audioOnOpen:"Audio attivo all'apertura",audioOnOpenHint:"Riproduci audio quando apri una telecamera (se supportato).",streamWatchdog:"Stream watchdog",streamWatchdogHint:"Riavvia lo stream quando non arrivano dati (aiuta con connessioni bloccate).",cameraPlayer:"Player telecamera",webViewCameraDetail:"Usa player WebView",webViewCameraDetailHint:"Usa WebView per le telecamere Scrypted (primo frame pi\xf9 veloce, pi\xf9 stabile). PiP, fullscreen e intercom funzionano. Default: player nativo.",streamQuality:"Qualit\xe0 stream",streamQualitySingle:"Qualit\xe0 singola telecamera",streamQualityGrid:"Qualit\xe0 griglia",qualityAuto:"Auto",qualityHigh:"High",qualityMedium:"Mid",qualityLow:"Sub",auto:"Auto",associatedDevices:"Dispositivi associati",associatedDevicesHint:"Aggiungi attuatori (luci, interruttori, tapparelle, ecc.) per controllarli dalla vista telecamera.",linkedDevices:"Collegati",reorderHint:"Usa le frecce per riordinare",addDevice:"Aggiungi dispositivo",noEligibleDevices:"Nessun Scrypted o Home Assistant configurato. Aggiungi prima un'integrazione.",configureDevices:"Configura dispositivi",cameraSettingsHint:"Scegli una telecamera per configurarne le opzioni.",noCamerasConfigured:"Nessuna telecamera configurata.",searchDevices:"Cerca dispositivi...",source:"Sorgente",type:"Tipo",all:"Tutti",noMatchingDevices:"Nessun dispositivo corrisponde ai filtri.",frigateStream:"Stream Frigate",frigateStreamSourceHint:"Sorgente stream: WebRTC (default), RTSP o MJPEG.",frigateStreamMapping:"Mappatura stream (nomi go2rtc da config)",frigateStreamMappingHint:"Seleziona dagli stream go2rtc disponibili. Ordine: High, Mid, Sub.",frigateSelectStream:"Seleziona stream",frigateAddStream:"Aggiungi stream",frigateInfo:"Info telecamera",frigateShowConfig:"Mostra config",frigateShowGo2rtc:"Mostra go2rtc",frigateMissingConfig:"Mancano baseUrl o cameraName nella config della telecamera.",tabLogs:"Log",logsCount:"{{count}} voci",logsDownload:"Scarica",logsClear:"Svuota",logsEmpty:"Nessun log. L'output della console apparir\xe0 qui.",logsExportError:"Esportazione fallita",logsExportTitle:"Esporta log",logsClearConfirmTitle:"Svuota log",logsClearConfirmMessage:"Rimuovere tutte le voci di log?",hubAppearanceTitle:"Aspetto",hubAppearanceDesc:"Tema, lingua, timeline e evidenze",hubCamerasTitle:"Telecamere",hubCamerasDesc:"Layout griglia, qualit\xe0 stream e gestione telecamere",hubIntegrationsTitle:"Integrazioni",hubIntegrationsDesc:"Gestisci Scrypted, Frigate e altri sistemi",hubAdvancedTitle:"Avanzato",hubAdvancedDesc:"Backup dati e gestione cache",hubLogsTitle:"Log",hubLogsDesc:"Visualizza ed esporta i log dell'applicazione",hubCacheTitle:"Cache",frigateAutoSnap:"Istantanea Automatica",frigateSegmentNav:"Navigazione Segmenti",frigateShowGo:"Mostra Go2RTC",frigateTimeline:"Timeline",reelCameras:"Telecamere Reel",reelCamerasHint:"Seleziona quali telecamere appaiono nel reel eventi",reelDeselectAll:"Deseleziona Tutto",reelDetectionClasses:"Classi di Rilevamento",reelDetectionClassesHint:"Filtra gli eventi per classe di rilevamento",reelIncludeRuleArtifacts:"Includi Artefatti Regole",reelIncludeRuleArtifactsHint:"Mostra gli eventi basati su regole nel reel",reelRuleArtifacts:"Artefatti Regole",reelSelectAll:"Seleziona Tutto",reelBadgeContent:"Contenuto badge",reelBadgePosition:"Posizione badge",reelBadgeSize:"Dimensione badge",reelBadgeBoth:"Ora + Classe",reelBadgeTime:"Solo ora",reelBadgeClass:"Solo classe",reelBadgeNone:"Nascosto",reelBadgeSmall:"Piccolo",reelBadgeMedium:"Medio",reelBadgeLarge:"Grande"},reel:{filterMotion:"Motion",filterOnlyRules:"Solo rule",filterOnlySensors:"Solo sensori",goToMostRecent:"Vai al pi\xf9 recente"},v2:{common:{connecting:"Connessione\u2026",online:"Online",offline:"Offline",loadError:"Errore di caricamento",create:"Crea"},cameras:{empty:"Nessuna telecamera",statusOnline:" \xb7 online",statusOffline:" \xb7 offline",sleeping:"In standby",unavailable:"Non disponibile",motion:"Movimento",doorbell:"Campanello",doorbellRinging:"Sta suonando",doorbellLastRing:"Suonato {{time}} fa",snapshotLoading:"Caricamento\u2026",manage:"Gestisci telecamere",manageHint:"Trascina per riordinare. Rinomina al volo. Usa lo switch per mostrare o nascondere una telecamera dall\u2019elenco.",reorderHandle:"Trascina per riordinare",appearance:"Aspetto",editList:"Modifica elenco",listOptions:"Opzioni elenco telecamere"},cameraDetail:{fallbackName:"Camera #{{id}}",mute:"Disattiva audio",unmute:"Attiva audio",snapshot:"Istantanea",snapshotFailed:"Impossibile acquisire l'istantanea.",ptz:"Controlli PTZ",talk:"Parla",fullscreen:"Schermo intero",talkFailed:"Impossibile avviare la comunicazione. Verifica l'accesso al microfono.",pip:"Picture in Picture",exitFullscreen:"Esci da schermo intero",devices:"Dispositivi",devicesEmpty:"Nessun dispositivo collegato.",linkedModeAuto:"Collegamento: Auto (posizione)",linkedModeManual:"Collegamento: Manuale",motionBoxes:"Riquadri movimento",close:"Chiudi",deviceOnline:"Online",deviceOffline:"Offline"},grids:{createA11y:"Crea griglia",empty:"Nessuna griglia",emptyHint:"Tocca + per creare la tua prima griglia",countNone:"Nessuna telecamera",countOne:"1 telecamera",countOther:"{{count}} telecamere",defaultName:"Nuova griglia",deleteTitle:"Elimina griglia",deleteConfirm:"Eliminare \"{{name}}\"? L'operazione non \xe8 reversibile.",export:"Esporta",exportAllA11y:"Esporta tutte le griglie",shareA11y:"Condividi griglia",editA11y:"Modifica griglia",deleteA11y:"Elimina griglia",linkCopied:"Link della griglia copiato negli appunti",layoutAuto:"Auto",layoutColumns:"{{count}} col"},gridView:{editA11y:"Modifica griglia",fallbackTitle:"Griglia",notFound:"Griglia non trovata",emptyGrid:"Questa griglia \xe8 vuota",addCameras:"Aggiungi telecamere",reorderTitle:"Riordina telecamere",reorderA11y:"Riordina telecamere",reorderDoneA11y:"Fine riordino",allHidden:"Tutte le telecamere sono nascoste. Usa la modalit\xe0 riordino per mostrarne alcune.",dragA11y:"Trascina per riordinare",hideA11y:"Nascondi dalla griglia",showA11y:"Mostra nella griglia",removeA11y:"Rimuovi dalla griglia",adhocTitle:"Griglia rapida"},gridBuilder:{title:"Modifica griglia",nameLabel:"Nome",namePlaceholder:"Nome griglia",camerasSelected:"Telecamere ({{count}} selezionate)",optionsTitle:"Opzioni",showName:"Mostra nome telecamera",export:"Esporta griglia",orderSection:"Nella griglia",orderHint:"Trascina per riordinare",emptyOrder:"Nessuna telecamera \u2014 aggiungine qui sotto.",addSection:"Aggiungi telecamere",removeA11y:"Rimuovi dalla griglia",addA11y:"Aggiungi alla griglia",highlightTitle:"Evidenziazione",highlightMotion:"Su movimento",highlightAudio:"Su audio",highlightAudioOff:"Off",highlightAudioSensor:"Presenza",highlightAudioLevel:"Livello",highlightThreshold:"Soglia",highlightHold:"Mantieni",highlightDetection:"Su rilevamento",clusterLabel:"Etichetta cluster",clusterLabelIcon:"Icona",clusterLabelText:"Testo"},gridBar:{back:"Indietro",pauseAll:"Metti tutto in pausa",playAll:"Riproduci tutto",audio:"Audio",quality:"Qualit\xe0 stream",layout:"Layout",highlightMenu:"Evidenziazione e overlay",activeOnly:"Solo attive",share:"Condividi griglia",edit:"Modifica griglia",hide:"Nascondi controlli",show:"Mostra controlli",muteAll:"Silenzia tutte",unmuteAll:"Riattiva audio"},gridMenu:{highlightMaster:"Bordi di evidenziazione"},gridShare:{title:"Condividi \"{{name}}\"",quality:"Qualit\xe0 stream",layout:"Layout",showNames:"Mostra nomi delle camere",activeOnly:"Solo camere attive",boxes:"Bounding box",highlightEnable:"Evidenziazione",audioSummary:"Audio attivo all\u2019apertura per {{count}} camera/e",ttlTitle:"Scadenza del link",ttl_1d:"1 giorno",ttl_7d:"7 giorni",ttl_30d:"30 giorni",ttl_never:"Per sempre",tokenNotice:"Il link include un token di sola visualizzazione limitato a queste camere. Chiunque abbia il link pu\xf2 guardare finch\xe9 non scade o viene revocato.",copyLink:"Copia link",creating:"Creazione link\u2026",copiedExpires:"Link copiato \u2014 scade il {{date}}",copiedNever:"Link copiato \u2014 non scade mai",error:"Impossibile creare il link di condivisione. Controlla la connessione e riprova.",optionAuto:"Auto",optionHigh:"Alta",optionMedium:"Media",optionLow:"Bassa"},gridControls:{play:"Riproduci",pause:"Pausa",mute:"Muto",unmute:"Riattiva audio",quality:"Qualit\xe0",layout:"Layout",layoutAuto:"Auto"},events:{comingSoon:"Eventi \u2014 in arrivo",searchLabel:"Cerca etichetta\u2026",empty:"Nessun evento",today:"Oggi",filteredEmpty:"Nessuna corrispondenza nell'intervallo caricato",loadOlder:"Carica meno recenti",selectPrompt:"Seleziona un evento per vederne i dettagli",filters:"Filtri",all:"Tutte",day:"Giorno",sort:"Ordina",sortTime:"Recenti",sortImportance:"Importanza",cameras:"Telecamere",classes:"Classi",search:"Cerca",searchCameras:"Cerca telecamere\u2026",searchClasses:"Cerca classi\u2026",allCamerasHint:"Nessuna = tutte",allClassesHint:"Nessuna = tutte",done:"Fatto",density:"Densit\xe0",selectHint:"Seleziona un evento",eventKinds:"Tipi di evento",displayOptions:"Aspetto",displayTitle:"Opzioni di visualizzazione"},settings:{themeSystem:"Sistema",themeDark:"Scuro",themeLight:"Chiaro",server:"Server",hubActive:"Hub attivo",changeServer:"Cambia server",signOut:"Esci",network:"Rete",networkNone:"Nessuna rotta ancora rilevata",endpointUnlikely:"Probabilmente non utilizzabile",reprobe:"Ri-rileva rotte",reprobing:"Rilevamento\u2026",appearance:"Aspetto",theme:"Tema",info:"Info",app:"App",version:"Versione",noServer:"Nessun server",footerNote:"CamStack Viewer si connette a un singolo hub camstack. Telecamere, griglie ed eventi sono gestiti dal server.",language:"Lingua",langSystem:"Sistema",gridDefaults:"Impostazioni griglia",showName:"Mostra nome telecamera",showNameHint:"Sovrapponi il nome della telecamera su ogni riquadro",showState:"Mostra stato",showStateHint:"Mostra lo stato online / registrazione su ogni riquadro",columns:"Colonne",cameraOrder:"Ordine telecamere",orderName:"Per nome",orderCustom:"Personalizzato",motionHold:"Persistenza evidenziazione movimento",motionHoldHint:"Mantieni accesa l'evidenziazione del movimento su una tile per questo tempo dopo che il movimento si ferma.",motionHoldOff:"Off",streamQuality:"Qualit\xe0 stream",streamDefaults:"Impostazioni stream",playOnOpen:"Riproduci all'apertura",playOnOpenHint:"Avvia lo stream live quando apri una telecamera",audioOnOpen:"Audio all'apertura",audioOnOpenHint:"Attiva l'audio quando apri una telecamera",snapshotInterval:"Aggiornamento snapshot",highlightAppearance:"Aspetto evidenziazione",highlightMotionColor:"Colore movimento",highlightAudioColor:"Colore audio",highlightDetectionColor:"Colore rilevamento",highlightThickness:"Spessore bordo",qualityAuto:"Auto",qualityHigh:"Alta",qualityMid:"Media",qualityLow:"Bassa",secondsValue:"{{count}}s",advanced:"Avanzate",clearCache:"Svuota cache",clearCacheHint:"Libera snapshot e dati in cache (mantiene server e impostazioni)",clearCacheConfirmTitle:"Svuotare la cache?",clearCacheConfirmBody:"Rimuove immagini e dati in cache. Server, accesso e impostazioni vengono mantenuti.",clearCacheDone:"Cache svuotata",exportSettings:"Esporta impostazioni",exportSettingsHint:"Copia le impostazioni in formato JSON",exportSettingsDone:"Impostazioni copiate in JSON",viewLogs:"Visualizza log",viewLogsHint:"Messaggi di log recenti dell'app",logsEmpty:"Nessun log registrato",keepLogs:"Mantieni log",keepLogsHint:"Registra un buffer dei messaggi di log dell'app",debugMode:"Modalit\xe0 debug",debugModeHint:"Log verbosi su live, playback e scrub \u2014 inviati al server",logsClear:"Pulisci",resetSettings:"Ripristina impostazioni",resetSettingsHint:"Ripristina tutti i valori predefiniti",resetConfirmTitle:"Ripristinare le impostazioni?",resetConfirmBody:"Ripristina tutte le impostazioni ai valori predefiniti.",cancel:"Annulla",confirm:"Conferma",timeline:"Timeline ed evidenziazioni",reel:"Sequenza eventi",reelThumbSize:"Dimensione miniature",reelThumbSizeHint:"Dimensione delle miniature nella sequenza eventi recenti.",reelSizeSmall:"Piccola",reelSizeMedium:"Media",reelSizeLarge:"Grande",reelShowLabels:"Mostra etichette",reelShowLabelsHint:"Mostra l'etichetta classe/identit\xe0 sugli elementi della sequenza.",reelLabelStyle:"Visualizzazione classe",reelLabelStyleHint:"Mostra la classe di rilevamento come icona o come testo negli elementi della sequenza.",reelShowImportance:"Mostra importanza",reelShowImportanceHint:"Mostra il badge di importanza sugli elementi della sequenza.",events:"Eventi",eventsPage:"Pagina eventi",minImportance:"Importanza minima",minImportanceHint:"Nascondi gli eventi con punteggio inferiore, nella pagina eventi e nella timeline della telecamera.",minImportanceOff:"Off",tileShowLabels:"Mostra etichette",tileShowLabelsHint:"Mostra le etichette classe / identit\xe0 / audio sulle schede evento.",tileShowImportance:"Mostra importanza",tileShowImportanceHint:"Mostra il badge di importanza sulle schede evento (se valutato).",tileShowCameraName:"Mostra nome telecamera",tileShowCameraNameHint:"Mostra il nome della telecamera nel pi\xe8 di pagina della scheda evento.",tileLabelStyle:"Visualizzazione classe",tileLabelStyleHint:"Mostra la classe di rilevamento come icona o come testo.",tileLabelStyleIcon:"Icona",tileLabelStyleText:"Testo",comingSoon:"Prossimamente",cameras:"Telecamere",manageCameras:"Gestisci telecamere",manageCamerasHint:"Rinomina, nascondi, riordina",pinchExpandsHeight:"Il pizzico ingrandisce la vista",pinchExpandsHeightHint:"Pizzicando per lo zoom il video cresce in altezza (ritaglia i bordi laterali sulle camere 16:9).","timeline.gapPercent":"Gap cluster (%)","timeline.sizePercent":"Dimensione cluster (%)","timeline.indicatorPositionPct":"Posizione indicatore (%)","timeline.showImportance":"Mostra importanza sugli elementi","timeline.showClass":"Mostra classe di rilevamento sugli elementi","timeline.cardWidthPct":"Larghezza card (%)",haptics:"Vibrazione eventi",hapticsEnabled:"Vibra sugli eventi",hapticsEnabledHint:"Brevi vibrazioni per gli eventi chiave sulla telecamera che stai guardando. Solo su dispositivo (iOS/Android).",hapticsMotion:"Movimento",hapticsDetection:"Rilevamento",hapticsPerson:"Persona / riconosciuta"},login:{loginFailed:"Accesso fallito",verifyFailed:"Verifica fallita",serverUrl:"Server URL",username:"Username",password:"Password",showPassword:"Mostra password",hidePassword:"Nascondi password",signIn:"Accedi",signingIn:"Accesso\u2026",twoFactor:"Autenticazione a due fattori",totpHint:"Inserisci il codice a 6 cifre dall'app di autenticazione per accedere come ",verificationCode:"Codice di verifica",verifyAndSignIn:"Verifica e accedi",verifying:"Verifica\u2026",back:"Indietro",or:"oppure",signInWithCamStack:"Accedi con CamStack",hubSignInHint:"Apre la pagina di accesso del tuo hub e collega questa app senza digitare qui la password.",handoffFailed:"Accesso con CamStack non riuscito \u2014 riprova oppure usa nome utente e password",invalidServerUrl:"Inserisci prima un URL server valido (https://\u2026)"},live:{webUnsupported:"La vista live non \xe8 ancora disponibile nella versione web.",connecting:"Connessione allo stream live\u2026",error:"Impossibile caricare lo stream live.",retry:"Riprova",noConnection:"Nessuna connessione al server",failed:"Connessione fallita"},ptz:{title:"PTZ",notAvailable:"I controlli PTZ non sono disponibili per questa telecamera.",zoom:"Zoom",home:"Posizione iniziale",presets:"Preset",noPresets:"Nessun preset salvato."},timeline:{activityTitle:"Attivit\xe0",last24h:"Ultime 24h",loading:"Caricamento attivit\xe0\u2026",noActivity:"Nessuna attivit\xe0 nelle ultime 24 ore.",legendRecording:"Registrato",legendMotion:"Movimento",legendAudio:"Audio"},theater:{back:"Indietro",today:"Oggi",yesterday:"Ieri",selectDate:"Seleziona una data",live:"LIVE",now:"ORA",auto:"Auto",quality:"Qualit\xe0 stream",filterAll:"Tutti",filter_motion:"Movimento",filter_audio:"Audio",goToLive:"Vai al live",noRecording:"Nessuna registrazione",noRecordingHint:"Nessun filmato per questo momento",detailCount:"{{frames}} frame \xb7 {{count}} rilevamenti",detailTracks:"{{tracks}} tracce \xb7 {{count}} rilevamenti",detailEmpty:"Nessuna immagine di dettaglio per questo istante",detailSeek:"Vai a questo momento",zoneHint:"Trascina un rettangolo sul video per filtrare gli eventi per zona",zoneConfirm:"Conferma",zoneCancel:"Annulla"},mediaKind:{crop:"Ritaglio oggetto",thumbnail:"Best shot",faceCrop:"Volto",plateCrop:"Targa",fullFrame:"Frame",fullFrameBoxed:"Riquadrato",keyFrame:"Frame chiave",firstFrame:"Primo",lastFrame:"Ultimo",snapshot:"Istantanea"},tracks:{crop:"Ritaglio",fullFrame:"Frame completo",zones:"Zone",audio:"Audio",reason:"Perch\xe9 rilevante",empty:"Nessuna traccia",recent:"Recenti",searchPlaceholder:"Cerca eventi (es. \"persona in rosso\")",noMatches:"Nessun evento corrispondente",person:"Persona",assignPerson:"Associa a persona",changePerson:"Cambia",notAssigned:"Non associata",assignFaceTitle:"Associa volto",newPersonPlaceholder:"Nome nuova persona\u2026",createAndAssign:"Crea e associa",assignFailed:"Associazione del volto non riuscita",removePerson:"Rimuovi persona",removePersonConfirmTitle:"Rimuovere la persona?",removePersonConfirmBody:"Questo scollega la persona da questo volto. Il volto torna tra quelli non associati e potr\xe0 essere riassociato in seguito.",disassociateFailed:"Rimozione della persona non riuscita",removePersonAll:"Rimuovi da tutti gli eventi",removePersonAllConfirmTitle:"Rimuovere da tutti gli eventi?",removePersonAllConfirmBody:"Questo scollega la persona da OGNI evento. Tutti i volti attualmente riconosciuti come questa persona tornano tra quelli non associati e potranno essere riassociati in seguito. La persona viene mantenuta.",disassociateAllFailed:"Rimozione della persona da tutti gli eventi non riuscita",existingPersons:"Persone",noPersons:"Ancora nessuna persona",metadata:"Metadati",copy:"Copia",copied:"Copiato","meta.trackId":"ID traccia","meta.eventId":"ID evento migliore","meta.deviceId":"ID dispositivo","meta.camera":"Telecamera","meta.className":"Classe","meta.label":"Etichetta","meta.firstSeen":"Prima apparizione","meta.lastSeen":"Ultima apparizione","meta.state":"Stato","meta.importance":"Importanza","meta.confidence":"Confidenza","meta.mediaKeys":"Chiavi media"},accessories:{on:"Acceso",off:"Spento",dimUp:"Pi\xf9 luminoso",dimDown:"Meno luminoso",lock:"Blocca",unlock:"Sblocca",open:"Apri",close:"Chiudi",stop:"Ferma",arm:"Attiva",disarm:"Disattiva",onMotion:"Su movimento",warmer:"Pi\xf9 caldo",cooler:"Pi\xf9 freddo",speedUp:"Pi\xf9 veloce",speedDown:"Pi\xf9 lento",oscillate:"Oscillazione",press:"Premi",play:"Riproduci",pause:"Pausa",previous:"Precedente",next:"Successivo",start:"Avvia",dock:"Rientra",locate:"Localizza",feed:"Eroga",feeding:"Erogazione\u2026",install:"Installa",installing:"Installazione\u2026",upToDate:"Aggiornato",increase:"Aumenta",decrease:"Diminuisci",select:"Seleziona",climateModes:{off:"Spento",heat:"Riscaldamento",cool:"Raffreddamento",auto:"Auto",heat_cool:"Caldo/Freddo",fan_only:"Ventola",dry:"Deumidificazione"}},cameraMenu:{title:"Opzioni vista",boundingBoxes:"Bounding box",streamStats:"Statistiche stream",audioLevel:"Livello audio",audioPositions:{off:"Off","top-left":"In alto a sinistra","top-center":"In alto al centro","top-right":"In alto a destra","left-center":"Al centro a sinistra","right-center":"Al centro a destra","bottom-left":"In basso a sinistra","bottom-center":"In basso al centro","bottom-right":"In basso a destra"},densityTitle:"Densit\xe0 timeline",density_compact:"Compatta",density_medium:"Media",density_wide:"Ampia",densityCustom:"Personalizzata",showImportance:"Mostra importanza",showClass:"Mostra classe rilevata",managementTitle:"Gestione"},stats:{title:"Statistiche stream",resolution:"Risoluzione",fps:"FPS",bitrate:"Bitrate",packetLoss:"Pacchetti persi",jitter:"Jitter",codec:"Codec",frames:"Frame (persi/totali)",waiting:"Misurazione\u2026",playbackHint:"Le statistiche WebRTC complete richiedono il player nativo."},exportActions:{title:"Cattura",recordingExport:"Esporta registrazione"},exports:{title:"Esportazioni",empty:"Nessuna esportazione.",settingsHint:"Scarica clip registrate",range:"Intervallo",rangeStart:"Inizio",rangeEnd:"Fine",profile:"Profilo",noFootage:"Nessuna registrazione in questo intervallo.",speed:"Velocit\xe0",timelapse:"Timelapse",cadence:"Un fotogramma ogni",audio:"Audio",includeAudio:"Includi audio",audioUnavailable:"L'audio \xe8 disponibile solo a velocit\xe0 0,5\u20132\xd7.",retention:"Conserva per",life24h:"24 ore",life7d:"7 giorni",life30d:"30 giorni",deleteAfterDownload:"Elimina dopo il download",deleteAfterDownloadHint:"Rimuovi il file una volta scaricato.",creating:"Creazione\u2026",createAction:"Esporta",createFailed:"Impossibile creare l'esportazione.",withAudio:"con audio",variantRegular:"1\xd7",variantAccelerated:"Accelerato {{speed}}\xd7",variantSlow:"Rallentato {{speed}}\xd7",variantTimelapse:"Timelapse",expired:"Scaduto",expiresInDays:"Scade tra {{count}}g",expiresInHours:"Scade tra {{count}}h",expiresInMinutes:"Scade tra {{count}}m",downloadAction:"Scarica",downloadUnavailable:"Download non disponibile.",downloadFailed:"Download non riuscito.",cancelAction:"Annulla",cancelConfirmTitle:"Annullare l'esportazione?",cancelConfirmBody:"Interrompe il rendering ed elimina il file parziale.",deleteAction:"Elimina",deleteConfirmTitle:"Eliminare l'esportazione?",deleteConfirmBody:"Rimuove il file. La voce nella cronologia viene mantenuta.",dismiss:"Chiudi",state:{queued:"In coda",rendering:"Rendering",ready:"Pronto",failed:"Non riuscito",expired:"Scaduto",deleted:"Eliminato"}},streamBar:{play:"Riproduci",pause:"Pausa",mute:"Silenzia",unmute:"Riattiva audio",talkStart:"Inizia a parlare",talkStop:"Smetti di parlare",quality:"Qualit\xe0 stream",menu:"Opzioni vista",snapshot:"Istantanea",pip:"Picture in picture",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero"},playback:{prevFrame:"Frame precedente",nextFrame:"Frame successivo",speed:"Velocit\xe0 riproduzione",audioMuted:"Audio off a \u2260 1\xd7",audioOn:"Audio attivo"},cameraSwitcher:{title:"Cambia videocamera",empty:"Nessuna videocamera disponibile",openGrid:"Apri griglia ({{n}})",selectA11y:"Seleziona {{name}}"},storage:{title:"Archiviazione",usageTitle:"Utilizzo",nodeTotal:"Totale nodo",defaultLocation:"Posizione predefinita",locationFree:"{{free}} liberi",retentionTitle:"Conservazione",pruneAction:"Applica conservazione ora",pruneConfirmTitle:"Applicare la conservazione?",pruneConfirmBody:"Elimina le registrazioni su {{name}} che superano la policy di conservazione.",pruneResult:"Recuperati {{bytes}} ({{buckets}} segmenti).",deleteTitle:"Elimina registrazioni",deleteAction:"Elimina",deleteConfirmTitle:"Eliminare le registrazioni?",deleteConfirmBody:"Elimina definitivamente {{range}} di registrazioni su {{name}}. Operazione irreversibile.",deleteResult:"Recuperati {{bytes}} ({{buckets}} segmenti).",cancel:"Annulla",window24h:"Ultime 24h",window7d:"Ultimi 7 giorni",window30d:"Ultimi 30 giorni",windowAll:"Tutto"},eventsMgmt:{title:"Eventi",footprintTitle:"Ingombro",rowsBytes:"{{rows}} eventi \xb7 {{bytes}}",clusterTotal:"Totale cluster",pruneTitle:"Elimina pi\xf9 vecchi di",pruneHint:"Si applica a tutte le telecamere.",pruneAction:"Elimina",pruneConfirmTitle:"Eliminare gli eventi vecchi?",pruneConfirmBody:"Elimina gli eventi pi\xf9 vecchi di {{range}} su TUTTE le telecamere. Operazione irreversibile.",pruneResult:"Eliminati {{count}} eventi.",deleteTitle:"Elimina eventi telecamera",deleteAction:"Elimina tutti gli eventi di questa telecamera",deleteConfirmTitle:"Eliminare tutti gli eventi?",deleteConfirmBody:"Elimina definitivamente ogni evento di {{name}}. Operazione irreversibile.",deleteResult:"Eliminati {{count}} eventi.",cancel:"Annulla",older24h:"24 ore",older7d:"7 giorni",older30d:"30 giorni"}},prototype:{today:"Oggi",yesterday:"Ieri",now:"ORA",endOfDay:"FINE GIORNATA",loading:"Caricamento...",timeline:"Timeline",events:"Eventi",playClip:"Riproduci clip",goToNow:"ORA",noEvents:"Nessun evento"},eventKind:{motion:"Movimento",audio:"Audio",person:"Persona",vehicle:"Veicolo",animal:"Animale",package:"Pacco",sensor:"Sensore",control:"Controllo",car:"Auto",truck:"Camion",bus:"Autobus",motorcycle:"Motocicletta",bicycle:"Bicicletta",airplane:"Aereo",boat:"Barca",train:"Treno",bird:"Uccello",cat:"Gatto",dog:"Cane",horse:"Cavallo",sheep:"Pecora",cow:"Mucca",elephant:"Elefante",bear:"Orso",zebra:"Zebra",giraffe:"Giraffa",contact:"Contatto","motion-sensor":"Sensore movimento",smoke:"Fumo",flood:"Allagamento",gas:"Gas","carbon-monoxide":"Monossido di carbonio",vibration:"Vibrazione",tamper:"Manomissione",presence:"Presenza","enum-sensor":"Stato sensore","device-event":"Evento dispositivo",lock:"Serratura",switch:"Interruttore",siren:"Sirena",button:"Pulsante",doorbell:"Campanello","package-delivered":"Pacco consegnato","package-picked-up":"Pacco ritirato","audio-speech":"Voce","audio-music":"Musica","audio-dog":"Cane","audio-doorbell":"Campanello","audio-siren":"Sirena","audio-alarm":"Allarme"}}},3582,[]);
16004
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.RootProviders=function(v){const _=(0,t.c)(4),{children:f}=v;let y,P,S;_[0]===Symbol.for("react.memo_cache_sentinel")?(y={flex:1},_[0]=y):y=_[0];_[1]===Symbol.for("react.memo_cache_sentinel")?(P=(0,j.jsx)(s.ThemedStatusBar,{}),_[1]=P):P=_[1];_[2]!==f?(S=(0,j.jsx)(n.GestureHandlerRootView,{style:y,children:(0,j.jsx)(c.SafeAreaProvider,{initialMetrics:c.initialWindowMetrics,children:(0,j.jsx)(o.QueryClientProvider,{client:x,children:(0,j.jsxs)(l.ThemeProvider,{children:[P,(0,j.jsx)(h.ServerProvider,{children:(0,j.jsx)(u.LoggerBridge,{children:f})})]})})})}),_[2]=f,_[3]=S):S=_[3];return S};var t=r(d[0]);r(d[1]);var n=r(d[2]),c=r(d[3]),o=r(d[4]),l=r(d[5]),s=r(d[6]),h=r(d[7]),u=r(d[8]),v=r(d[9]),j=r(d[10]);const x=(0,v.createQueryClient)()},3583,[15,17,3241,466,3081,2587,3584,3144,3585,3149,10]);
16005
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.ThemedStatusBar=function(){const c=(0,t.c)(2),{mode:o}=(0,u.useTheme)(),l="dark"===o?"light":"dark";let _;c[0]!==l?(_=(0,n.jsx)(s.StatusBar,{style:l}),c[0]=l,c[1]=_):_=c[1];return _};var t=r(d[0]);r(d[1]);var s=r(d[2]),u=r(d[3]),n=r(d[4])},3584,[15,17,3429,2587,10]);
16006
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.LoggerBridge=function(f){const p=(0,n.c)(9),{children:v}=f,{server:b,token:h}=(0,t.useServer)(),S=(0,s.useSettingsStore)(l);let L,_;p[0]!==S?(L=()=>{(0,u.setLogVerbose)(S),u.log.info("app","debug mode "+(S?"ON (verbose)":"off"))},_=[S],p[0]=S,p[1]=L,p[2]=_):(L=p[1],_=p[2]);(0,o.useEffect)(L,_);const U=b?.serverUrl??null;let j,k,E;p[3]!==U||p[4]!==h?(j=()=>{U&&h?((0,u.configureLogShipping)({serverUrl:U,token:h}),u.log.info("app","log shipping configured",{serverUrl:U})):(0,u.configureLogShipping)(null)},k=[U,h],p[3]=U,p[4]=h,p[5]=j,p[6]=k):(j=p[5],k=p[6]);(0,o.useEffect)(j,k),p[7]!==v?(E=(0,c.jsx)(c.Fragment,{children:v}),p[7]=v,p[8]=E):E=p[8];return E};var n=r(d[0]),o=r(d[1]),t=r(d[2]),s=r(d[3]),u=r(d[4]),c=r(d[5]);function l(n){return n.settings.advanced.debugMode}},3585,[15,17,3144,3140,2705,10]);
16007
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return _}});var n=r(d[0]),t=e(r(d[1])),o=e(r(d[2])),c=r(d[3]),u=r(d[4]),l=r(d[5]),s=r(d[6]),f=r(d[7]),b=r(d[8]);function _(){const e=(0,n.c)(10),{loading:_,server:y,token:j}=(0,u.useServer)(),{colors:S}=(0,l.useTheme)();if(_){let n,c,u;return e[0]!==S.background?(n={flex:1,backgroundColor:S.background,alignItems:"center",justifyContent:"center"},e[0]=S.background,e[1]=n):n=e[1],e[2]!==S.primary?(c=(0,b.jsx)(t.default,{color:S.primary}),e[2]=S.primary,e[3]=c):c=e[3],e[4]!==n||e[5]!==c?(u=(0,b.jsx)(o.default,{style:n,children:c}),e[4]=n,e[5]=c,e[6]=u):u=e[6],u}if(!y||!j){if((0,f.canReuseHubSession)(!1)){let n;return e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,b.jsx)(f.HubSessionBootstrap,{fallback:(0,b.jsx)(s.LoginScreen,{})}),e[7]=n):n=e[7],n}let n;return e[8]===Symbol.for("react.memo_cache_sentinel")?(n=(0,b.jsx)(s.LoginScreen,{}),e[8]=n):n=e[8],n}let x;return e[9]===Symbol.for("react.memo_cache_sentinel")?(x=(0,b.jsx)(c.Redirect,{href:"/cameras"}),e[9]=x):x=e[9],x}},3586,[15,240,20,743,3144,2587,3587,3594,10]);
16008
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.LoginScreen=function(){const{t:e}=(0,h.useTranslation)(),{save:o,lastServerUrl:n,rememberServerUrl:s}=(0,y.useServer)(),{colors:c}=(0,x.useTheme)(),[f,j]=(0,t.useState)('credentials'),[w,T]=(0,t.useState)('https://'),[z,G]=(0,t.useState)(!1);z||null===n||(G(!0),'https://'!==w&&0!==w.trim().length||T(n));const[U,N]=(0,t.useState)(''),[R,F]=(0,t.useState)(''),[_,W]=(0,t.useState)(!1),[D,L]=(0,t.useState)(''),[H,B]=(0,t.useState)(''),[E,O]=(0,t.useState)(''),[V,M]=(0,t.useState)(!1),q=w.trim(),J=q.length>0&&U.trim().length>0&&R.length>0,K=async e=>{await o({id:q,label:q,serverUrl:q},e)},Q=async()=>{if(J&&!V){await s(q),O(''),M(!0);try{const e=await(0,S.login)(q,U.trim(),R);if('totp-required'===e.status)return L(e.token),void j('totp');await K(e.token)}catch(o){O(I(o,e('v2.login.loginFailed')))}finally{M(!1)}}},X=async()=>{if(6===H.length&&!V){O(''),M(!0);try{const{token:e}=await(0,S.verifyTotp)(q,D,H);await K(e)}catch(o){O(I(o,e('v2.login.verifyFailed'))),B('')}finally{M(!1)}}};return(0,v.jsx)(l.default,{style:{flex:1,backgroundColor:c.background},behavior:void 0,children:(0,v.jsx)(u.default,{contentContainerStyle:{flexGrow:1,justifyContent:'center',alignItems:'center',padding:p.SPACING['2xl']},keyboardShouldPersistTaps:"handled",children:(0,v.jsxs)(b.default,{style:{width:'100%',maxWidth:420,gap:p.SPACING['2xl']},children:[(0,v.jsx)(b.default,{style:{alignItems:'center'},children:(0,v.jsx)(C.BrandLogo,{width:220})}),(0,v.jsxs)(b.default,{style:{backgroundColor:c.surface,borderColor:c.border,borderWidth:1,borderRadius:p.RADIUS.lg,padding:p.SPACING['2xl'],gap:p.SPACING.xl},children:[E.length>0&&(0,v.jsx)(P,{colors:c,message:E}),'credentials'===f?(0,v.jsx)(A,{colors:c,serverUrl:w,username:U,password:R,showPassword:_,submitting:V,canSubmit:J,onChangeServerUrl:T,onChangeUsername:N,onChangePassword:F,onToggleShowPassword:()=>W(e=>!e),onSubmit:()=>{Q()},onHubSignIn:void 0}):(0,v.jsx)(k,{colors:c,username:U.trim(),totpCode:H,submitting:V,onChangeTotp:e=>B(e.replace(/\D/g,'').slice(0,6)),onSubmit:()=>{X()},onBack:()=>{j('credentials'),L(''),B(''),O('')}})]})]})})})};var o=r(d[0]),t=r(d[1]),n=e(r(d[2])),l=e(r(d[3]));r(d[4]);var s=e(r(d[5])),u=e(r(d[6])),c=e(r(d[7])),f=e(r(d[8])),b=e(r(d[9])),h=r(d[10]);r(d[11]),r(d[12]);var S=r(d[13]);r(d[14]),r(d[15]);var y=r(d[16]),x=r(d[17]),p=r(d[18]),C=r(d[19]),j=r(d[20]),v=r(d[21]);function I(e,o){return e instanceof Error&&e.message?e.message:o}function P(e){const t=(0,o.c)(11),{colors:n,message:l}=e,s=n.danger+"1a",u=n.danger+"40";let f,h,S,y;return t[0]!==s||t[1]!==u?(f={backgroundColor:s,borderColor:u,borderWidth:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,paddingHorizontal:p.SPACING.xl},t[0]=s,t[1]=u,t[2]=f):f=t[2],t[3]!==n.danger?(h={color:n.danger,fontSize:13},t[3]=n.danger,t[4]=h):h=t[4],t[5]!==l||t[6]!==h?(S=(0,v.jsx)(c.default,{style:h,children:l}),t[5]=l,t[6]=h,t[7]=S):S=t[7],t[8]!==f||t[9]!==S?(y=(0,v.jsx)(b.default,{style:f,children:S}),t[8]=f,t[9]=S,t[10]=y):y=t[10],y}function w(e){return{color:e.foregroundSubtle,fontSize:12,fontWeight:'600',marginBottom:p.SPACING.sm}}function T(e){return{backgroundColor:e.background,borderColor:e.border,borderWidth:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,paddingHorizontal:p.SPACING.xl,color:e.foreground,fontSize:15}}function A(e){const t=(0,o.c)(100),{colors:n,serverUrl:l,username:u,password:S,showPassword:y,submitting:x,canSubmit:C,onChangeServerUrl:I,onChangeUsername:P,onChangePassword:A,onToggleShowPassword:k,onSubmit:G,onHubSignIn:U}=e,{t:N}=(0,h.useTranslation)();let R,F,_;t[0]!==n?(R=w(n),t[0]=n,t[1]=R):R=t[1],t[2]!==N?(F=N("v2.login.serverUrl"),t[2]=N,t[3]=F):F=t[3],t[4]!==R||t[5]!==F?(_=(0,v.jsx)(c.default,{style:R,children:F}),t[4]=R,t[5]=F,t[6]=_):_=t[6];const W=n.foregroundSubtle;let D,L,H,B,E,O,V;t[7]!==n?(D=T(n),t[7]=n,t[8]=D):D=t[8],t[9]!==n.foregroundSubtle||t[10]!==I||t[11]!==l||t[12]!==D?(L=(0,v.jsx)(f.default,{value:l,onChangeText:I,placeholder:"https://hub.local:4443",placeholderTextColor:W,autoCapitalize:"none",autoCorrect:!1,keyboardType:"url",style:D}),t[9]=n.foregroundSubtle,t[10]=I,t[11]=l,t[12]=D,t[13]=L):L=t[13],t[14]!==_||t[15]!==L?(H=(0,v.jsxs)(b.default,{children:[_,L]}),t[14]=_,t[15]=L,t[16]=H):H=t[16],t[17]!==n?(B=w(n),t[17]=n,t[18]=B):B=t[18],t[19]!==N?(E=N("v2.login.username"),t[19]=N,t[20]=E):E=t[20],t[21]!==B||t[22]!==E?(O=(0,v.jsx)(c.default,{style:B,children:E}),t[21]=B,t[22]=E,t[23]=O):O=t[23],t[24]!==N?(V=N("v2.login.username"),t[24]=N,t[25]=V):V=t[25];const M=n.foregroundSubtle;let q,J,K,Q,X,Y,Z,$;t[26]!==n?(q=T(n),t[26]=n,t[27]=q):q=t[27],t[28]!==n.foregroundSubtle||t[29]!==P||t[30]!==V||t[31]!==q||t[32]!==u?(J=(0,v.jsx)(f.default,{value:u,onChangeText:P,placeholder:V,placeholderTextColor:M,autoCapitalize:"none",autoCorrect:!1,autoFocus:!0,style:q}),t[28]=n.foregroundSubtle,t[29]=P,t[30]=V,t[31]=q,t[32]=u,t[33]=J):J=t[33],t[34]!==O||t[35]!==J?(K=(0,v.jsxs)(b.default,{children:[O,J]}),t[34]=O,t[35]=J,t[36]=K):K=t[36],t[37]!==n?(Q=w(n),t[37]=n,t[38]=Q):Q=t[38],t[39]!==N?(X=N("v2.login.password"),t[39]=N,t[40]=X):X=t[40],t[41]!==Q||t[42]!==X?(Y=(0,v.jsx)(c.default,{style:Q,children:X}),t[41]=Q,t[42]=X,t[43]=Y):Y=t[43],t[44]===Symbol.for("react.memo_cache_sentinel")?(Z={position:"relative",justifyContent:"center"},t[44]=Z):Z=t[44],t[45]!==N?($=N("v2.login.password"),t[45]=N,t[46]=$):$=t[46];const ee=n.foregroundSubtle,oe=!y;let re,te,ne,le,se,ae,ie,de,ue;t[47]!==n?(re=T(n),t[47]=n,t[48]=re):re=t[48],t[49]!==re?(te=Object.assign({},re,{paddingRight:48}),t[49]=re,t[50]=te):te=t[50],t[51]!==n.foregroundSubtle||t[52]!==A||t[53]!==S||t[54]!==$||t[55]!==oe||t[56]!==te?(ne=(0,v.jsx)(f.default,{value:S,onChangeText:A,placeholder:$,placeholderTextColor:ee,autoCapitalize:"none",autoCorrect:!1,secureTextEntry:oe,style:te}),t[51]=n.foregroundSubtle,t[52]=A,t[53]=S,t[54]=$,t[55]=oe,t[56]=te,t[57]=ne):ne=t[57],t[58]!==y||t[59]!==N?(le=N(y?"v2.login.hidePassword":"v2.login.showPassword"),t[58]=y,t[59]=N,t[60]=le):le=t[60],t[61]===Symbol.for("react.memo_cache_sentinel")?(se={position:"absolute",right:p.SPACING.xl},t[61]=se):se=t[61],t[62]!==n.foregroundSubtle||t[63]!==y?(ae=y?(0,v.jsx)(j.EyeOff,{color:n.foregroundSubtle,size:20}):(0,v.jsx)(j.Eye,{color:n.foregroundSubtle,size:20}),t[62]=n.foregroundSubtle,t[63]=y,t[64]=ae):ae=t[64],t[65]!==k||t[66]!==le||t[67]!==ae?(ie=(0,v.jsx)(s.default,{accessibilityRole:"button",accessibilityLabel:le,onPress:k,hitSlop:8,style:se,children:ae}),t[65]=k,t[66]=le,t[67]=ae,t[68]=ie):ie=t[68],t[69]!==ne||t[70]!==ie?(de=(0,v.jsxs)(b.default,{style:Z,children:[ne,ie]}),t[69]=ne,t[70]=ie,t[71]=de):de=t[71],t[72]!==Y||t[73]!==de?(ue=(0,v.jsxs)(b.default,{children:[Y,de]}),t[72]=Y,t[73]=de,t[74]=ue):ue=t[74];const ce=!C||x;let ge,fe,be,he,Se;return t[75]!==N?(ge=N("v2.login.signIn"),t[75]=N,t[76]=ge):ge=t[76],t[77]!==N?(fe=N("v2.login.signingIn"),t[77]=N,t[78]=fe):fe=t[78],t[79]!==n||t[80]!==G||t[81]!==x||t[82]!==ce||t[83]!==ge||t[84]!==fe?(be=(0,v.jsx)(z,{colors:n,disabled:ce,submitting:x,label:ge,loadingLabel:fe,onPress:G}),t[79]=n,t[80]=G,t[81]=x,t[82]=ce,t[83]=ge,t[84]=fe,t[85]=be):be=t[85],t[86]!==n.border||t[87]!==n.foreground||t[88]!==n.foregroundSubtle||t[89]!==U||t[90]!==l||t[91]!==x||t[92]!==N?(he=void 0!==U&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(b.default,{style:{flexDirection:"row",alignItems:"center",gap:p.SPACING.lg},children:[(0,v.jsx)(b.default,{style:{flex:1,height:1,backgroundColor:n.border}}),(0,v.jsx)(c.default,{style:{color:n.foregroundSubtle,fontSize:11,letterSpacing:1},children:N("v2.login.or").toUpperCase()}),(0,v.jsx)(b.default,{style:{flex:1,height:1,backgroundColor:n.border}})]}),(0,v.jsx)(s.default,{accessibilityRole:"button",disabled:0===l.trim().length||x,onPress:U,style:{borderColor:n.border,borderWidth:1,opacity:0===l.trim().length||x?.5:1,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,alignItems:"center"},children:(0,v.jsx)(c.default,{style:{color:n.foreground,fontSize:15,fontWeight:"600"},children:N("v2.login.signInWithCamStack")})}),(0,v.jsx)(c.default,{style:{color:n.foregroundSubtle,fontSize:12},children:N("v2.login.hubSignInHint")})]}),t[86]=n.border,t[87]=n.foreground,t[88]=n.foregroundSubtle,t[89]=U,t[90]=l,t[91]=x,t[92]=N,t[93]=he):he=t[93],t[94]!==K||t[95]!==ue||t[96]!==be||t[97]!==he||t[98]!==H?(Se=(0,v.jsxs)(v.Fragment,{children:[H,K,ue,be,he]}),t[94]=K,t[95]=ue,t[96]=be,t[97]=he,t[98]=H,t[99]=Se):Se=t[99],Se}function k(e){const t=(0,o.c)(70),{colors:n,username:l,totpCode:u,submitting:S,onChangeTotp:y,onSubmit:x,onBack:C}=e,{t:j}=(0,h.useTranslation)();let I,P,A,k,G,U,N,R,F,_,W,D,L;t[0]===Symbol.for("react.memo_cache_sentinel")?(I={gap:p.SPACING.sm},t[0]=I):I=t[0],t[1]!==n.foreground?(P={color:n.foreground,fontSize:15,fontWeight:"600"},t[1]=n.foreground,t[2]=P):P=t[2],t[3]!==j?(A=j("v2.login.twoFactor"),t[3]=j,t[4]=A):A=t[4],t[5]!==P||t[6]!==A?(k=(0,v.jsx)(c.default,{style:P,children:A}),t[5]=P,t[6]=A,t[7]=k):k=t[7],t[8]!==n.foregroundSubtle?(G={color:n.foregroundSubtle,fontSize:13},t[8]=n.foregroundSubtle,t[9]=G):G=t[9],t[10]!==j?(U=j("v2.login.totpHint"),t[10]=j,t[11]=U):U=t[11],t[12]!==n.foreground?(N={color:n.foreground},t[12]=n.foreground,t[13]=N):N=t[13],t[14]!==N||t[15]!==l?(R=(0,v.jsx)(c.default,{style:N,children:l}),t[14]=N,t[15]=l,t[16]=R):R=t[16],t[17]!==G||t[18]!==U||t[19]!==R?(F=(0,v.jsxs)(c.default,{style:G,children:[U,R,"."]}),t[17]=G,t[18]=U,t[19]=R,t[20]=F):F=t[20],t[21]!==k||t[22]!==F?(_=(0,v.jsxs)(b.default,{style:I,children:[k,F]}),t[21]=k,t[22]=F,t[23]=_):_=t[23],t[24]!==n?(W=w(n),t[24]=n,t[25]=W):W=t[25],t[26]!==j?(D=j("v2.login.verificationCode"),t[26]=j,t[27]=D):D=t[27],t[28]!==W||t[29]!==D?(L=(0,v.jsx)(c.default,{style:W,children:D}),t[28]=W,t[29]=D,t[30]=L):L=t[30];const H=n.foregroundSubtle;let B,E,O,V;t[31]!==n?(B=T(n),t[31]=n,t[32]=B):B=t[32],t[33]!==B?(E=Object.assign({},B,{textAlign:"center",fontSize:24,letterSpacing:8}),t[33]=B,t[34]=E):E=t[34],t[35]!==n.foregroundSubtle||t[36]!==y||t[37]!==E||t[38]!==u?(O=(0,v.jsx)(f.default,{value:u,onChangeText:y,placeholder:"123456",placeholderTextColor:H,keyboardType:"numeric",maxLength:6,textContentType:"oneTimeCode",autoFocus:!0,style:E}),t[35]=n.foregroundSubtle,t[36]=y,t[37]=E,t[38]=u,t[39]=O):O=t[39],t[40]!==L||t[41]!==O?(V=(0,v.jsxs)(b.default,{children:[L,O]}),t[40]=L,t[41]=O,t[42]=V):V=t[42];const M=6!==u.length||S;let q,J,K,Q,X,Y,Z,$,ee;return t[43]!==j?(q=j("v2.login.verifyAndSignIn"),t[43]=j,t[44]=q):q=t[44],t[45]!==j?(J=j("v2.login.verifying"),t[45]=j,t[46]=J):J=t[46],t[47]!==n||t[48]!==x||t[49]!==S||t[50]!==M||t[51]!==q||t[52]!==J?(K=(0,v.jsx)(z,{colors:n,disabled:M,submitting:S,label:q,loadingLabel:J,onPress:x}),t[47]=n,t[48]=x,t[49]=S,t[50]=M,t[51]=q,t[52]=J,t[53]=K):K=t[53],t[54]===Symbol.for("react.memo_cache_sentinel")?(Q={alignItems:"center"},t[54]=Q):Q=t[54],t[55]!==n.foregroundSubtle?(X={color:n.foregroundSubtle,fontSize:13},t[55]=n.foregroundSubtle,t[56]=X):X=t[56],t[57]!==j?(Y=j("v2.login.back"),t[57]=j,t[58]=Y):Y=t[58],t[59]!==X||t[60]!==Y?(Z=(0,v.jsx)(c.default,{style:X,children:Y}),t[59]=X,t[60]=Y,t[61]=Z):Z=t[61],t[62]!==C||t[63]!==Z?($=(0,v.jsx)(s.default,{accessibilityRole:"button",onPress:C,style:Q,children:Z}),t[62]=C,t[63]=Z,t[64]=$):$=t[64],t[65]!==_||t[66]!==V||t[67]!==K||t[68]!==$?(ee=(0,v.jsxs)(v.Fragment,{children:[_,V,K,$]}),t[65]=_,t[66]=V,t[67]=K,t[68]=$,t[69]=ee):ee=t[69],ee}function z(e){const t=(0,o.c)(17),{colors:l,disabled:u,submitting:f,label:b,loadingLabel:h,onPress:S}=e,y=u?.5:1;let x,C,j;t[0]!==l.primary||t[1]!==y?(x={backgroundColor:l.primary,opacity:y,borderRadius:p.RADIUS.md,paddingVertical:p.SPACING.lg,alignItems:"center",flexDirection:"row",justifyContent:"center",gap:p.SPACING.md},t[0]=l.primary,t[1]=y,t[2]=x):x=t[2],t[3]!==l.primaryForeground||t[4]!==f?(C=f&&(0,v.jsx)(n.default,{size:"small",color:l.primaryForeground}),t[3]=l.primaryForeground,t[4]=f,t[5]=C):C=t[5],t[6]!==l.primaryForeground?(j={color:l.primaryForeground,fontSize:16,fontWeight:"600"},t[6]=l.primaryForeground,t[7]=j):j=t[7];const I=f?h:b;let P,w;return t[8]!==j||t[9]!==I?(P=(0,v.jsx)(c.default,{style:j,children:I}),t[8]=j,t[9]=I,t[10]=P):P=t[10],t[11]!==u||t[12]!==S||t[13]!==x||t[14]!==C||t[15]!==P?(w=(0,v.jsxs)(s.default,{accessibilityRole:"button",disabled:u,onPress:S,style:x,children:[C,P]}),t[11]=u,t[12]=S,t[13]=x,t[14]=C,t[15]=P,t[16]=w):w=t[16],w}},3587,[15,17,240,244,136,252,147,112,262,20,786,3588,618,3591,3592,2705,3144,2587,2589,3593,813,10]);
16009
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"WebBrowserResultType",{enumerable:!0,get:function(){return u.WebBrowserResultType}}),Object.defineProperty(_e,"WebBrowserPresentationStyle",{enumerable:!0,get:function(){return u.WebBrowserPresentationStyle}}),_e.getCustomTabsSupportingBrowsersAsync=async function(){if(!t.default.getCustomTabsSupportingBrowsersAsync)throw new o.UnavailabilityError('WebBrowser','getCustomTabsSupportingBrowsersAsync');return l},_e.warmUpAsync=async function(e){if(!t.default.warmUpAsync)throw new o.UnavailabilityError('WebBrowser','warmUpAsync');return{}},_e.mayInitWithUrlAsync=async function(e,n){if(!t.default.mayInitWithUrlAsync)throw new o.UnavailabilityError('WebBrowser','mayInitWithUrlAsync');return{}},_e.coolDownAsync=async function(e){if(!t.default.coolDownAsync)throw new o.UnavailabilityError('WebBrowser','coolDownAsync');return{}},_e.openBrowserAsync=c,_e.dismissBrowser=function(){return t.default.dismissBrowser?.()},_e.openAuthSessionAsync=async function(e,n,s={}){if(!t.default.openAuthSessionAsync)throw new o.UnavailabilityError('WebBrowser','openAuthSessionAsync');return['ios','macos','web'].includes("web")?t.default.openAuthSessionAsync(e,n,y(s)):t.default.openAuthSessionAsync(e,n)},_e.dismissAuthSession=function(){if(!t.default.dismissAuthSession)throw new o.UnavailabilityError('WebBrowser','dismissAuthSession');t.default.dismissAuthSession()},_e.maybeCompleteAuthSession=function(e={}){if(t.default.maybeCompleteAuthSession)return t.default.maybeCompleteAuthSession(e);return{type:'failed',message:'Not supported on this platform'}};var o=r(d[0]),n=e(r(d[1]));e(r(d[2]));r(d[3]);var s=e(r(d[4])),t=e(r(d[5])),u=r(d[6]);const l={defaultBrowserPackage:void 0,preferredBrowserPackage:void 0,browserPackages:[],servicePackages:[]};async function c(e,n={}){if(!t.default.openBrowserAsync)throw new o.UnavailabilityError('WebBrowser','openBrowserAsync');return await t.default.openBrowserAsync(e,y(n))}function y(e){return Object.assign({},e,{controlsColor:(0,s.default)(e.controlsColor),toolbarColor:(0,s.default)(e.toolbarColor),secondaryToolbarColor:(0,s.default)(e.secondaryToolbarColor)})}n.default.currentState},3588,[289,226,233,136,40,3589,3590]);
16010
+ __d(function(g,r,_i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return f}}),_e.normalizeUrl=u,_e.featureObjectToString=I;var e,t=r(d[0]),n=r(d[1]),o=(e=n)&&e.__esModule?e:{default:e},s=r(d[2]);let i=null;const c=new Map,l=e=>`ExpoWebBrowser_OriginUrl_${e}`,w=e=>`ExpoWebBrowser_RedirectUrl_${e}`;function u(e){return(e.origin.replace(e.protocol,'').replace(/^\/+/,'').replace(/\/+$/,'')+decodeURI(e.pathname.replace(/\/{2,}/g,'/'))).toLowerCase()}function p(){if(i&&(i.close(),c.has(i))){const{listener:e,appStateSubscription:t,interval:n}=c.get(i);clearInterval(n),window.removeEventListener('message',e),t.remove(),c.delete(i);const o=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');o&&(window.localStorage.removeItem('ExpoWebBrowserRedirectHandle'),window.localStorage.removeItem(l(o)),window.localStorage.removeItem(w(o))),i=null}}var f={async openBrowserAsync(e,t={}){if('undefined'==typeof window)return{type:s.WebBrowserResultType.CANCEL};const{windowName:n="_blank",windowFeatures:o}=t,i=B(o);return window.open(e,n,i),{type:s.WebBrowserResultType.OPENED}},dismissAuthSession(){'undefined'!=typeof window&&p()},maybeCompleteAuthSession({skipRedirectCheck:e}){if('undefined'==typeof window)return{type:'failed',message:'Cannot use expo-web-browser in a non-browser environment'};const n=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');if(!n)return{type:'failed',message:'No auth session is currently in progress'};const o=window.location.href;if(!0!==e){const e=window.localStorage.getItem(w(n)),t=u(window.location);if(e!==t)return{type:'failed',message:`Current URL "${t}" and original redirect URL "${e}" do not match.`}}window.localStorage.setItem(l(n),o);const s=window.opener??window.parent;if(!s)throw new t.CodedError('ERR_WEB_BROWSER_REDIRECT',"The window cannot complete the redirect request because the invoking window doesn't have a reference to it's parent. This can happen if the parent window was reloaded.");return s.postMessage({url:o,expoSender:n},s.location.toString()),{type:'success',message:"Attempting to complete auth"}},async openAuthSessionAsync(e,n,f){if('undefined'==typeof window)return{type:s.WebBrowserResultType.CANCEL};if(n=n??b(e),null==i||i?.closed){const n=B(f?.windowFeatures);if(i=window.open(e,f?.windowName,n),!i)throw new t.CodedError('ERR_WEB_BROWSER_BLOCKED','Popup window was blocked by the browser or failed to open. This can happen in mobile browsers when the window.open() method was invoked too long after a user input was fired.');try{i.focus()}catch{}}const h=await y(e);window.localStorage.setItem('ExpoWebBrowserRedirectHandle',h);const R=(()=>{if(!n)return n;try{return u(new URL(n))}catch{return n}})();return window.localStorage.setItem(w(h),R),new Promise(async e=>{const t=t=>{if(!t.isTrusted)return;if(t.origin!==window.location.origin)return;const{data:n}=t,o=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');n.expoSender===o&&(p(),e({type:'success',url:n.url}))};window.addEventListener('message',t,!1);const n=o.default.addEventListener('change',t=>{if('active'!==t)return;const n=window.localStorage.getItem('ExpoWebBrowserRedirectHandle');if(n){const t=window.localStorage.getItem(l(n));t&&(p(),e({type:'success',url:t}))}}),w=setInterval(()=>{i?.closed&&(e&&e({type:s.WebBrowserResultType.DISMISS}),clearInterval(w),p())},1e3);c.set(i,{listener:t,interval:w,appStateSubscription:n})})}};function h(){return'undefined'!=typeof window&&!!window?.crypto}async function y(e){const t=new URL(e);return t.searchParams.has('state')&&'string'==typeof t.searchParams.get('state')?t.searchParams.get('state'):await E()}function b(e){const t=new URL(e);return t.searchParams.has('redirect_uri')&&'string'==typeof t.searchParams.get('redirect_uri')?t.searchParams.get('redirect_uri'):location.origin+location.pathname}const R='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';async function E(){if(!h()||!window.crypto.subtle)throw new t.CodedError('ERR_WEB_BROWSER_CRYPTO',"The current environment doesn't support crypto. Ensure you are running from a secure origin (localhost/https).");const e=new TextEncoder,n=S(10),o=e.encode(n),s=await crypto.subtle.digest('SHA-256',o);return btoa(String.fromCharCode(...new Uint8Array(s)))}function S(e){let t=new Uint8Array(e);t.byteLength!==t.length&&(t=new Uint8Array(t.buffer));const n=new Uint8Array(t.length);if(h())window.crypto.getRandomValues(n);else for(let t=0;t<e;t+=1)n[t]=Math.random()*R.length|0;return v(n)}function v(e){let t='';for(const n of e){const e=n%R.length,o=R[e];null!=o&&(t+=o)}return t}function _(e){let t={};if('string'==typeof e){const n=e.split(',');for(const e of n){const[n,o]=e.trim().split('=');n&&o&&(t[n]=o)}}else e&&(t=e);return t}function B(e){const t=_(e),n=t.width??500,o=t.height??650,s=t.top??Math.max(0,.5*(window.screen.height-o)),i=t.left??Math.max(0,.5*(window.screen.width-n));return I(Object.assign({},t,{toolbar:t.toolbar??'no',menubar:t.menubar??'no',location:t.location??'yes',resizable:t.resizable??'yes',status:t.status??'no',scrollbars:t.scrollbars??'yes',top:s,left:i,width:n,height:o}))}function I(e){return Object.keys(e).reduce((t,n)=>{let o=e[n];return'boolean'==typeof o&&(o=o?'yes':'no'),n&&o?(t&&(t+=','),`${t}${n}=${o}`):t},'')}},3589,[289,226,3590]);
16011
+ __d(function(g,r,i,a,m,e,d){"use strict";var t,n;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"WebBrowserResultType",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"WebBrowserPresentationStyle",{enumerable:!0,get:function(){return n}}),(function(t){t.CANCEL="cancel",t.DISMISS="dismiss",t.OPENED="opened",t.LOCKED="locked"})(t||(t={})),(function(t){t.FULL_SCREEN="fullScreen",t.PAGE_SHEET="pageSheet",t.FORM_SHEET="formSheet",t.CURRENT_CONTEXT="currentContext",t.OVER_FULL_SCREEN="overFullScreen",t.OVER_CURRENT_CONTEXT="overCurrentContext",t.POPOVER="popover",t.AUTOMATIC="automatic"})(n||(n={}))},3590,[]);
16012
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"sdkAuthClient",{enumerable:!0,get:function(){return n}}),e.login=async function(t,o,s,u=n){const{token:c,requiresTotp:f}=await u(t).login(o,s);return{status:f?'totp-required':'success',token:c}},e.verifyTotp=async function(t,o,s,u=n){return u(t).loginVerifyTotp(o,s)};var t=r(d[0]);const n=n=>(0,t.createSystem)({serverUrl:n})},3591,[2596]);
16013
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"HANDOFF_CALLBACK_PATH",{enumerable:!0,get:function(){return n}}),e.canonicalizeCallbackUrl=o,e.buildHandoffLoginUrl=function(t,n){const c=o(n);return`${t.replace(/\/+$/,'')}/login?redirect=${encodeURIComponent(c)}`},e.isValidServerUrl=function(t){const n=t.trim();if(0===n.length||/^https?:\/\/$/i.test(n))return!1;try{const t=new URL(n);return('https:'===t.protocol||'http:'===t.protocol)&&t.hostname.length>0}catch{return!1}},e.extractHandoffCode=function(t){const n=t.indexOf('?');if(-1===n)return null;const o=t.slice(n+1).split('#')[0]??'',c=new URLSearchParams(o).get('code');return c&&c.length>0?c:null},e.redeemHandoffCode=async function(n,o,c){return(0,t.postHubAuthMutation)(Object.assign({baseUrl:n,procedure:'auth.redeemHandoffCode',input:{code:o}},c?{fetchFn:c}:{}))};var t=r(d[0]);const n='auth-callback';function o(t){return t.replace(/^([a-z][a-z0-9.+-]*):\/{2,3}/i,'$1://').replace(/\/$/,'')}},3592,[3147]);
16014
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.BrandLogo=function(x){const y=(0,t.c)(4),{width:h}=x,p=void 0===h?200:h,{mode:w}=(0,l.useTheme)(),v="light"===w?f:c,u=p/o;let z;y[0]!==v||y[1]!==u||y[2]!==p?(z=(0,s.jsx)(n.SvgXml,{xml:v,width:p,height:u}),y[0]=v,y[1]=u,y[2]=p,y[3]=z):z=y[3];return z};var t=r(d[0]);r(d[1]);var n=r(d[2]),l=r(d[3]),s=r(d[4]);const f="<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 56\" fill=\"none\">\n <g transform=\"translate(4, 2) scale(0.8)\">\n <rect x=\"8\" y=\"28\" width=\"48\" height=\"28\" rx=\"6\" fill=\"#d6d3d1\"/>\n <rect x=\"12\" y=\"16\" width=\"40\" height=\"28\" rx=\"6\" fill=\"#a8a29e\"/>\n <rect x=\"16\" y=\"4\" width=\"32\" height=\"28\" rx=\"6\" fill=\"#e67e22\"/>\n <circle cx=\"32\" cy=\"18\" r=\"8\" fill=\"#fafaf9\" opacity=\"0.3\"/>\n <circle cx=\"32\" cy=\"18\" r=\"5\" fill=\"#fafaf9\" opacity=\"0.2\"/>\n <circle cx=\"32\" cy=\"18\" r=\"2.5\" fill=\"#1c1917\" opacity=\"0.7\"/>\n </g>\n <text x=\"62\" y=\"30\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"24\" font-weight=\"700\" letter-spacing=\"-0.5\" fill=\"#1c1917\">\n Cam<tspan fill=\"#e67e22\">Stack</tspan>\n </text>\n <text x=\"63\" y=\"44\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"10\" font-weight=\"600\" letter-spacing=\"3\" fill=\"#78716c\">\n VIEWER\n </text>\n</svg>",c="<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 56\" fill=\"none\">\n <g transform=\"translate(4, 2) scale(0.8)\">\n <rect x=\"8\" y=\"28\" width=\"48\" height=\"28\" rx=\"6\" fill=\"#292524\"/>\n <rect x=\"12\" y=\"16\" width=\"40\" height=\"28\" rx=\"6\" fill=\"#44403c\"/>\n <rect x=\"16\" y=\"4\" width=\"32\" height=\"28\" rx=\"6\" fill=\"#f59e42\"/>\n <circle cx=\"32\" cy=\"18\" r=\"8\" fill=\"#0c0a09\" opacity=\"0.3\"/>\n <circle cx=\"32\" cy=\"18\" r=\"5\" fill=\"#0c0a09\" opacity=\"0.2\"/>\n <circle cx=\"32\" cy=\"18\" r=\"2.5\" fill=\"#fafaf9\" opacity=\"0.8\"/>\n </g>\n <text x=\"62\" y=\"30\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"24\" font-weight=\"700\" letter-spacing=\"-0.5\" fill=\"#fafaf9\">\n Cam<tspan fill=\"#f59e42\">Stack</tspan>\n </text>\n <text x=\"63\" y=\"44\" font-family=\"system-ui, -apple-system, sans-serif\" font-size=\"10\" font-weight=\"600\" letter-spacing=\"3\" fill=\"#78716c\">\n VIEWER\n </text>\n</svg>",o=4.285714285714286},3593,[15,17,819,2587,10]);
16015
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.canReuseHubSession=function(e){return(0,f.shouldAttemptHubSessionExchange)({platform:"web",pathname:'undefined'!=typeof window&&void 0!==window.location?window.location.pathname:null,webBasePath:"/viewer",hasServerConfigured:e})},_e.HubSessionBootstrap=function(e){const b=(0,n.c)(10),{fallback:p}=e,{save:y}=(0,u.useServer)(),{colors:S}=(0,c.useTheme)(),[k,x]=(0,o.useState)(!1);let H,_,j,I,B;b[0]!==y?(H=()=>{let e=!1;return(async()=>{const n=window.location.origin,o=await(0,f.exchangeHubSession)(n);if(!e){if("ok"===o.status)return v(!1),l.log.info("hub-session","Provisioned from hub session",{username:o.username}),void await y({id:n,label:n,serverUrl:n},o.token);if("unauthorized"===o.status&&!h())return v(!0),l.log.info("hub-session","No hub session \u2014 redirecting to hub login"),void window.location.assign((0,f.buildHubLoginUrl)(n,window.location.pathname));l.log.warn("hub-session","Hub session exchange failed \u2014 manual login",{status:o.status}),x(!0)}})(),()=>{e=!0}},_=[y],b[0]=y,b[1]=H,b[2]=_):(H=b[1],_=b[2]);if((0,o.useEffect)(H,_),k)return p;b[3]!==S.background?(j={flex:1,backgroundColor:S.background,alignItems:"center",justifyContent:"center"},b[3]=S.background,b[4]=j):j=b[4];b[5]!==S.primary?(I=(0,w.jsx)(t.default,{color:S.primary}),b[5]=S.primary,b[6]=I):I=b[6];b[7]!==j||b[8]!==I?(B=(0,w.jsx)(s.default,{style:j,children:I}),b[7]=j,b[8]=I,b[9]=B):B=b[9];return B};var n=r(d[0]),o=r(d[1]),t=e(r(d[2]));r(d[3]);var s=e(r(d[4])),u=r(d[5]),c=r(d[6]),l=r(d[7]),f=r(d[8]),w=r(d[9]);const b='v2.hubLoginBounced';function h(){try{return'1'===window.sessionStorage.getItem(b)}catch{return!0}}function v(e){try{e?window.sessionStorage.setItem(b,'1'):window.sessionStorage.removeItem(b)}catch{}}},3594,[15,17,240,136,20,3144,2587,2705,3146,10]);
16016
+ __d(function(g,r,i,a,_m,e,d){"use strict";var t=this&&this.__createBinding||(Object.create?function(t,n,o,c){void 0===c&&(c=o);var u=Object.getOwnPropertyDescriptor(n,o);u&&!("get"in u?!n.__esModule:u.writable||u.configurable)||(u={enumerable:!0,get:function(){return n[o]}}),Object.defineProperty(t,c,u)}:function(t,n,o,c){void 0===c&&(c=o),t[c]=n[o]}),n=this&&this.__exportStar||function(n,o){for(var c in n)"default"===c||Object.prototype.hasOwnProperty.call(o,c)||t(o,n,c)};Object.defineProperty(e,"__esModule",{value:!0}),n(r(d[0]),e)},3595,[3596]);
16017
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Head=void 0;const n=r(d[0]),c=r(d[1]),l=r(d[2]);function t({children:l}){return(0,n.jsx)(c.Helmet,{children:l})}e.Head=({children:c})=>(0,l.useIsFocused)()?(0,n.jsx)(t,{children:c}):null,e.Head.Provider=c.HelmetProvider},3596,[10,3597,757]);
16018
+ __d(function(g,r,_i,a,m,e,d){"use strict";var t=r(d[0]).default;const s=["children"],n=["children"];var i,o=Object.create,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,u=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,y=(t,s,n,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let o of p(s))h.call(t,o)||o===n||l(t,o,{get:()=>s[o],enumerable:!(i=c(s,o))||i.enumerable});return t},f=(t,s,n)=>(n=null!=t?o(u(t)):{},y(!s&&t&&t.__esModule?n:l(n,"default",{value:t,enumerable:!0}),t)),b={};((t,s)=>{for(var n in s)l(t,n,{get:s[n],enumerable:!0})})(b,{Helmet:()=>Oe,HelmetData:()=>le,HelmetProvider:()=>pe}),m.exports=(i=b,y(l({},"__esModule",{value:!0}),i));var T=f(r(d[1])),O=f(r(d[2])),A=f(r(d[3])),j=f(r(d[1])),C=f(r(d[1])),w=(t=>(t.BASE="base",t.BODY="body",t.HEAD="head",t.HTML="html",t.LINK="link",t.META="meta",t.NOSCRIPT="noscript",t.SCRIPT="script",t.STYLE="style",t.TITLE="title",t.FRAGMENT="Symbol(react.fragment)",t))(w||{}),x={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},$={charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},k=Object.values(w),S={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},M=Object.entries(S).reduce((t,[s,n])=>(t[n]=s,t),{}),E="data-rh",P="defaultTitle",H="defer",D="encodeSpecialCharacters",L="onChangeClientState",I="titleTemplate",U="prioritizeSeoTags",N=(t,s)=>{for(let n=t.length-1;n>=0;n-=1){const i=t[n];if(Object.prototype.hasOwnProperty.call(i,s))return i[s]}return null},q=t=>{let s=N(t,"title");const n=N(t,I);if(Array.isArray(s)&&(s=s.join("")),n&&s)return n.replace(/%s/g,()=>s);const i=N(t,P);return s||i||void 0},_=t=>N(t,L)||(()=>{}),R=(t,s)=>s.filter(s=>void 0!==s[t]).map(s=>s[t]).reduce((t,s)=>Object.assign({},t,s),{}),z=(t,s)=>s.filter(t=>void 0!==t.base).map(t=>t.base).reverse().reduce((s,n)=>{if(!s.length){const i=Object.keys(n);for(let o=0;o<i.length;o+=1){const l=i[o].toLowerCase();if(-1!==t.indexOf(l)&&n[l])return s.concat(n)}}return s},[]),B=(t,s,n)=>{const i={};return n.filter(s=>{return!!Array.isArray(s[t])||(void 0!==s[t]&&(n=`Helmet: ${t} should be of type "Array". Instead found type "${typeof s[t]}"`,console&&"function"==typeof console.warn&&console.warn(n)),!1);var n}).map(s=>s[t]).reverse().reduce((t,n)=>{const o={};n.filter(t=>{let n;const l=Object.keys(t);for(let i=0;i<l.length;i+=1){const o=l[i],c=o.toLowerCase();-1===s.indexOf(c)||"rel"===n&&"canonical"===t[n].toLowerCase()||"rel"===c&&"stylesheet"===t[c].toLowerCase()||(n=c),-1===s.indexOf(o)||"innerHTML"!==o&&"cssText"!==o&&"itemprop"!==o||(n=o)}if(!n||!t[n])return!1;const c=t[n].toLowerCase();return i[n]||(i[n]={}),o[n]||(o[n]={}),!i[n][c]&&(o[n][c]=!0,!0)}).reverse().forEach(s=>t.push(s));const l=Object.keys(o);for(let t=0;t<l.length;t+=1){const s=l[t],n=Object.assign({},i[s],o[s]);i[s]=n}return t},[]).reverse()},F=(t,s)=>{if(Array.isArray(t)&&t.length)for(let n=0;n<t.length;n+=1){if(t[n][s])return!0}return!1},Y=t=>Array.isArray(t)?t.join(""):t,K=(t,s)=>{const n=Object.keys(t);for(let i=0;i<n.length;i+=1)if(s[n[i]]&&s[n[i]].includes(t[n[i]]))return!0;return!1},G=(t,s)=>Array.isArray(t)?t.reduce((t,n)=>(K(n,s)?t.priority.push(n):t.default.push(n),t),{priority:[],default:[]}):{default:t,priority:[]},W=(t,s)=>Object.assign({},t,{[s]:void 0}),J=["noscript","script","style"],Q=(t,s=!0)=>!1===s?String(t):String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),V=t=>Object.keys(t).reduce((s,n)=>{const i=void 0!==t[n]?`${n}="${Q(t[n])}"`:`${n}`;return s?`${s} ${i}`:i},""),X=(t,s,n,i)=>{const o=V(n),l=Y(s);return o?`<${t} ${E}="true" ${o}>${Q(l,i)}</${t}>`:`<${t} ${E}="true">${Q(l,i)}</${t}>`},Z=(t,s,n=!0)=>s.reduce((s,i)=>{const o=i,l=Object.keys(o).filter(t=>!("innerHTML"===t||"cssText"===t)).reduce((t,s)=>{const i=void 0===o[s]?s:`${s}="${Q(o[s],n)}"`;return t?`${t} ${i}`:i},""),c=o.innerHTML||o.cssText||"",p=-1===J.indexOf(t);return`${s}<${t} ${E}="true" ${l}${p?"/>":`>${c}</${t}>`}`},""),ee=(t,s={})=>Object.keys(t).reduce((s,n)=>(s[S[n]||n]=t[n],s),s),te=(t,s,n)=>{const i=ee(n,{key:s,[E]:!0});return[C.default.createElement("title",i,s)]},re=(t,s)=>s.map((s,n)=>{const i={key:n,[E]:!0};return Object.keys(s).forEach(t=>{const n=S[t]||t;if("innerHTML"===n||"cssText"===n){const t=s.innerHTML||s.cssText;i.dangerouslySetInnerHTML={__html:t}}else i[n]=s[t]}),C.default.createElement(t,i)}),se=(t,s,n=!0)=>{switch(t){case"title":return{toComponent:()=>te(0,s.title,s.titleAttributes),toString:()=>X(t,s.title,s.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>ee(s),toString:()=>V(s)};default:return{toComponent:()=>re(t,s),toString:()=>Z(t,s,n)}}},ne=({metaTags:t,linkTags:s,scriptTags:n,encode:i})=>{const o=G(t,$),l=G(s,x),c=G(n,v);return{priorityMethods:{toComponent:()=>[...re("meta",o.priority),...re("link",l.priority),...re("script",c.priority)],toString:()=>`${se("meta",o.priority,i)} ${se("link",l.priority,i)} ${se("script",c.priority,i)}`},metaTags:o.default,linkTags:l.default,scriptTags:c.default}},ie=t=>{const{baseTag:s,bodyAttributes:n,encode:i=!0,htmlAttributes:o,noscriptTags:l,styleTags:c,title:p="",titleAttributes:u,prioritizeSeoTags:h}=t;let{linkTags:y,metaTags:f,scriptTags:b}=t,T={toComponent:()=>{},toString:()=>""};return h&&({priorityMethods:T,linkTags:y,metaTags:f,scriptTags:b}=ne(t)),{priority:T,base:se("base",s,i),bodyAttributes:se("bodyAttributes",n,i),htmlAttributes:se("htmlAttributes",o,i),link:se("link",y,i),meta:se("meta",f,i),noscript:se("noscript",l,i),script:se("script",b,i),style:se("style",c,i),title:se("title",{title:p,titleAttributes:u},i)}},oe=[],ae=!("undefined"==typeof window||!window.document||!window.document.createElement),le=class{instances=[];canUseDOM=ae;value={setHelmet:t=>{this.context.helmet=t},helmetInstances:{get:()=>this.canUseDOM?oe:this.instances,add:t=>{(this.canUseDOM?oe:this.instances).push(t)},remove:t=>{const s=(this.canUseDOM?oe:this.instances).indexOf(t);(this.canUseDOM?oe:this.instances).splice(s,1)}}};constructor(t,s){this.context=t,this.canUseDOM=s||!1,s||(t.helmet=ie({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},ce=j.default.createContext({}),pe=class t extends j.Component{static canUseDOM=ae;constructor(s){super(s),this.helmetData=new le(this.props.context||{},t.canUseDOM)}render(){return j.default.createElement(ce.Provider,{value:this.helmetData.value},this.props.children)}},ue=r(d[1]),de=f(r(d[4])),he=(t,s)=>{const n=document.head||document.querySelector("head"),i=n.querySelectorAll(`${t}[${E}]`),o=[].slice.call(i),l=[];let c;return s&&s.length&&s.forEach(s=>{const n=document.createElement(t);for(const t in s)if(Object.prototype.hasOwnProperty.call(s,t))if("innerHTML"===t)n.innerHTML=s.innerHTML;else if("cssText"===t)n.styleSheet?n.styleSheet.cssText=s.cssText:n.appendChild(document.createTextNode(s.cssText));else{const i=t,o=void 0===s[i]?"":s[i];n.setAttribute(t,o)}n.setAttribute(E,"true"),o.some((t,s)=>(c=s,n.isEqualNode(t)))?o.splice(c,1):l.push(n)}),o.forEach(t=>t.parentNode?.removeChild(t)),l.forEach(t=>n.appendChild(t)),{oldTags:o,newTags:l}},me=(t,s)=>{const n=document.getElementsByTagName(t)[0];if(!n)return;const i=n.getAttribute(E),o=i?i.split(","):[],l=[...o],c=Object.keys(s);for(const t of c){const i=s[t]||"";n.getAttribute(t)!==i&&n.setAttribute(t,i),-1===o.indexOf(t)&&o.push(t);const c=l.indexOf(t);-1!==c&&l.splice(c,1)}for(let t=l.length-1;t>=0;t-=1)n.removeAttribute(l[t]);o.length===l.length?n.removeAttribute(E):n.getAttribute(E)!==c.join(",")&&n.setAttribute(E,c.join(","))},ge=(t,s)=>{void 0!==t&&document.title!==t&&(document.title=Y(t)),me("title",s)},ye=(t,s)=>{const{baseTag:n,bodyAttributes:i,htmlAttributes:o,linkTags:l,metaTags:c,noscriptTags:p,onChangeClientState:u,scriptTags:h,styleTags:y,title:f,titleAttributes:b}=t;me("body",i),me("html",o),ge(f,b);const T={baseTag:he("base",n),linkTags:he("link",l),metaTags:he("meta",c),noscriptTags:he("noscript",p),scriptTags:he("script",h),styleTags:he("style",y)},O={},A={};Object.keys(T).forEach(t=>{const{newTags:s,oldTags:n}=T[t];s.length&&(O[t]=s),n.length&&(A[t]=T[t].oldTags)}),s&&s(),u(t,O,A)},fe=null,be=t=>{fe&&cancelAnimationFrame(fe),t.defer?fe=requestAnimationFrame(()=>{ye(t,()=>{fe=null})}):(ye(t),fe=null)},Te=class extends ue.Component{rendered=!1;shouldComponentUpdate(t){return!(0,de.default)(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:s}=this.props.context;let n=null;const i=(o=t.get().map(t=>{const s=Object.assign({},t.props);return delete s.context,s}),{baseTag:z(["href"],o),bodyAttributes:R("bodyAttributes",o),defer:N(o,H),encode:N(o,D),htmlAttributes:R("htmlAttributes",o),linkTags:B("link",["rel","href"],o),metaTags:B("meta",["name","charset","http-equiv","property","itemprop"],o),noscriptTags:B("noscript",["innerHTML"],o),onChangeClientState:_(o),scriptTags:B("script",["src","innerHTML"],o),styleTags:B("style",["cssText"],o),title:q(o),titleAttributes:R("titleAttributes",o),prioritizeSeoTags:F(o,U)});var o;pe.canUseDOM?be(i):ie&&(n=ie(i)),s(n)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},Oe=class extends T.Component{static defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1};shouldComponentUpdate(t){return!(0,O.default)(W(this.props,"helmetData"),W(t,"helmetData"))}mapNestedChildrenToProps(t,s){if(!s)return null;switch(t.type){case"script":case"noscript":return{innerHTML:s};case"style":return{cssText:s};default:throw new Error(`<${t.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(t,s,n,i){return Object.assign({},s,{[t.type]:[...s[t.type]||[],Object.assign({},n,this.mapNestedChildrenToProps(t,i))]})}mapObjectTypeChildren(t,s,n,i){switch(t.type){case"title":return Object.assign({},s,{[t.type]:i,titleAttributes:Object.assign({},n)});case"body":return Object.assign({},s,{bodyAttributes:Object.assign({},n)});case"html":return Object.assign({},s,{htmlAttributes:Object.assign({},n)});default:return Object.assign({},s,{[t.type]:Object.assign({},n)})}}mapArrayTypeChildrenToProps(t,s){let n=Object.assign({},s);return Object.keys(t).forEach(s=>{n=Object.assign({},n,{[s]:t[s]})}),n}warnOnInvalidChildren(t,s){return(0,A.default)(k.some(s=>t.type===s),"function"==typeof t.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${k.join(", ")} are allowed. Helmet does not support rendering <${t.type}> elements. Refer to our API for more information.`),(0,A.default)(!s||"string"==typeof s||Array.isArray(s)&&!s.some(t=>"string"!=typeof t),`Helmet expects a string as a child of <${t.type}>. Did you forget to wrap your children in braces? ( <${t.type}>{\`\`}</${t.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(n,i){let o={};return T.default.Children.forEach(n,n=>{if(!n||!n.props)return;const l=n.props,{children:c}=l,p=t(l,s),u=Object.keys(p).reduce((t,s)=>(t[M[s]||s]=p[s],t),{});let{type:h}=n;switch("symbol"==typeof h?h=h.toString():this.warnOnInvalidChildren(n,c),h){case"Symbol(react.fragment)":i=this.mapChildrenToProps(c,i);break;case"link":case"meta":case"noscript":case"script":case"style":o=this.flattenArrayTypeChildren(n,o,u,c);break;default:i=this.mapObjectTypeChildren(n,i,u,c)}}),this.mapArrayTypeChildrenToProps(o,i)}render(){const s=this.props,{children:i}=s,o=t(s,n);let l=Object.assign({},o),{helmetData:c}=o;if(i&&(l=this.mapChildrenToProps(i,l)),c&&!(c instanceof le)){c=new le(c.context,!0),delete l.helmetData}return c?T.default.createElement(Te,Object.assign({},l,{context:c.value})):T.default.createElement(ce.Consumer,null,t=>T.default.createElement(Te,Object.assign({},l,{context:t})))}}},3597,[120,17,3598,323,3599]);
16019
+ __d(function(g,r,_i,_a,m,e,d){var t='undefined'!=typeof Element,n='function'==typeof Map,f='function'==typeof Set,o='function'==typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(u,a){if(u===a)return!0;if(u&&a&&'object'==typeof u&&'object'==typeof a){if(u.constructor!==a.constructor)return!1;var c,s,l,p;if(Array.isArray(u)){if((c=u.length)!=a.length)return!1;for(s=c;0!==s--;)if(!i(u[s],a[s]))return!1;return!0}if(n&&u instanceof Map&&a instanceof Map){if(u.size!==a.size)return!1;for(p=u.entries();!(s=p.next()).done;)if(!a.has(s.value[0]))return!1;for(p=u.entries();!(s=p.next()).done;)if(!i(s.value[1],a.get(s.value[0])))return!1;return!0}if(f&&u instanceof Set&&a instanceof Set){if(u.size!==a.size)return!1;for(p=u.entries();!(s=p.next()).done;)if(!a.has(s.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(u)&&ArrayBuffer.isView(a)){if((c=u.length)!=a.length)return!1;for(s=c;0!==s--;)if(u[s]!==a[s])return!1;return!0}if(u.constructor===RegExp)return u.source===a.source&&u.flags===a.flags;if(u.valueOf!==Object.prototype.valueOf&&'function'==typeof u.valueOf&&'function'==typeof a.valueOf)return u.valueOf()===a.valueOf();if(u.toString!==Object.prototype.toString&&'function'==typeof u.toString&&'function'==typeof a.toString)return u.toString()===a.toString();if((c=(l=Object.keys(u)).length)!==Object.keys(a).length)return!1;for(s=c;0!==s--;)if(!Object.prototype.hasOwnProperty.call(a,l[s]))return!1;if(t&&u instanceof Element)return!1;for(s=c;0!==s--;)if(('_owner'!==l[s]&&'__v'!==l[s]&&'__o'!==l[s]||!u.$$typeof)&&!i(u[l[s]],a[l[s]]))return!1;return!0}return u!=u&&a!=a}m.exports=function(t,n){try{return i(t,n)}catch(t){if((t.message||'').match(/stack|recursion/i))return console.warn('react-fast-compare cannot handle circular refs'),!1;throw t}}},3598,[]);
16020
+ __d(function(g,r,i,a,m,e,d){m.exports=function(t,n,o,f){var c=o?o.call(f,t,n):void 0;if(void 0!==c)return!!c;if(t===n)return!0;if("object"!=typeof t||!t||"object"!=typeof n||!n)return!1;var u=Object.keys(t),v=Object.keys(n);if(u.length!==v.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(n),b=0;b<u.length;b++){var p=u[b];if(!l(p))return!1;var y=t[p],j=n[p];if(!1===(c=o?o.call(f,y,j,p):void 0)||void 0===c&&y!==j)return!1}return!0}},3599,[]);
16021
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},3600,[]);
16022
+ __d(function(g,r,_i,a,_m,_e,d){"use strict";var e,t=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,i)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)},function(o){if(o&&o.__esModule)return o;var i={};if(null!=o)for(var c=e(o),u=0;u<c.length;u++)"default"!==c[u]&&t(i,o,c[u]);return n(i,o),i});Object.defineProperty(_e,"__esModule",{value:!0}),_e.renderRootComponent=function(e){try{setTimeout(()=>{f._internal_preventAutoHideAsync?.()}),u.startTransition(()=>{(0,c.registerRootComponent)(e)})}catch(e){f.hideAsync();const t=b(e);(0,c.registerRootComponent)(()=>(0,i.jsx)(s.View,{})),console.error(t),console.error("A runtime error has occurred while rendering the root component."),setTimeout(()=>{throw t})}};const i=r(d[0]),c=r(d[1]),u=o(r(d[2])),s=r(d[3]),f=o(r(d[4]));function l(e){if('[object Object]'!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function p(e){return e&&'object'==typeof e&&'string'==typeof e.name&&'string'==typeof e.message}function b(e){return p(e)?e:l(e)?new Error(JSON.stringify(e)):new Error(String(e))}},3601,[10,564,17,121,563]);
16020
16023
  __r(566);
16021
16024
  __r(6);
16022
16025
  __r(0);