PageSourceSearch

https://cctvconnect.com/static/js/24.743e184e.chunk.js

js cctvconnect.com collected 2026-09-24 13:45:22 UTC 301,260 bytes, 2 lines download raw bytes

1(this.webpackJsonpwebapp=this.webpackJsonpwebapp||[]).push([[24,7],{1196:function(e,t,n){"use strict";n.r(t);var a=n(522);n.d(t,"default",(function(){return a.c}))},382:function(e,t,n){"use strict";var a=n(384);n.d(t,"a",(function(){return a.a}))},384:function(e,t,n){"use strict";var a=n(1);t.a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const[r,i]=Object(a.useState)(null);return Object(a.useEffect)((()=>{let a=!0;return(async()=>{try{const n=await e(...t);a&&i(n)}catch(r){console.error(r),a&&i(n)}})(),()=>a=!1}),[]),[r,i]}},386:function(e,t,n){"use strict";var a=n(9),r=n(3),i=n(8),o=n.n(i),c=n(1);const l=e=>{let{type:t}=e;switch(t){case"select":return null;case"multiselect":return[];case"datetime-range":case"date-range":case"time-range":case"time-duration":return[null,null];case"search":return"";default:return null}},s=(e,t,n)=>{const a={};return Object.keys(e).forEach((r=>{r===n||e[r].optional||e[r].hidden||(a[r]=t[r])})),a},d=(e,t,n)=>{if(!e)return e;const a=[],r=[];return o.a.keys(n).forEach((e=>{t[e].hidden||o.a.isEqual(n[e],l(t[e]))||(t[e].optional?r.push(e):a.push(e))})),0===a.length&&0===r.length?e:e.filter((e=>{const i=a.every((a=>t[a].doesItemMatch(n[a],e)));if(a.length>0&&!i)return!1;if(0===r.length)return i;const o=r.some((a=>t[a].doesItemMatch(n[a],e)));return i&&o}))};t.a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const i=Object(c.useRef)();i.current||(i.current=o.a.mapValues(e,(e=>{var t;let{type:n,initialValue:a}=e;return null!==(t=null===a||void 0===a?void 0:a())&&void 0!==t?t:l({type:n})})));const[u,m]=Object(c.useState)((()=>i.current)),[b,p]=Object(c.useState)((()=>o.a.chain(e).pickBy((e=>{let{type:t}=e;return"multiselect"===t})).mapValues((()=>({}))).value())),h=Object(c.useRef)(o.a.mapValues(e,((e,t)=>{let{type:n,onChange:a,onClear:i,formatter:c,loadOptionImage:s}=e;switch(n){case"select":return{onChange:e=>{m((n=>Object(r.a)(Object(r.a)({},n),{},{[t]:e}))),a&&a(e)},onClear:()=>{m((e=>Object(r.a)(Object(r.a)({},e),{},{[t]:l({type:n})}))),i&&i()}};case"multiselect":return{value:u[t],onChange:e=>{h.current[t].value=o.a.chain(h.current[t].value).filter((t=>!1!==e[t])).concat(...o.a.chain(e).pickBy((e=>!0===e)).keys().value()).uniq().value(),m((e=>Object(r.a)(Object(r.a)({},e),{},{[t]:h.current[t].value}))),a&&a(h.current[t].value,e)},onClearAll:()=>{h.current[t].value=l({type:n}),m((e=>Object(r.a)(Object(r.a)({},e),{},{[t]:h.current[t].value}))),i&&i()},imagesRequested:[],loadOptionImage:s&&(async e=>{if(!h.current[t].imagesRequested.includes(e)){const a=n=>{p((a=>Object(r.a)(Object(r.a)({},a),{},{[t]:Object(r.a)(Object(r.a)({},a[t]),{},{[e]:n})})))};try{h.current[t].imagesRequested.push(e);a(await s(e))}catch(n){a("error")}}})};case"datetime-range":case"date-range":case"time-range":case"time-duration":return{onChange:e=>{const n=Array.isArray(e)?e:e.newRange;m((e=>Object(r.a)(Object(r.a)({},e),{},{[t]:n}))),a&&a(n,e.timezone)},onClear:()=>{m((e=>Object(r.a)(Object(r.a)({},e),{},{[t]:l({type:n})}))),i&&i()}};case"search":return{onChange:e=>{c&&(e=c(e)),m((n=>Object(r.a)(Object(r.a)({},n),{},{[t]:e}))),a&&a(e)}};default:return{}}}))),g=Object(c.useRef)((()=>{m((t=>o.a.mapValues(t,((t,n)=>{if("search"===e[n].type)return t;const a=l(e[n]);return"multiselect"===e[n].type&&(h.current[n].value=a),a})))),t.onClearAll&&t.onClearAll()})),v=Object(c.useRef)((()=>{const t={};o.a.forEach(e,((e,n)=>{const{type:a,onClear:r,onResetToDefault:i}=e;if("search"===a)return;let o;var c;i?o=null!==(c=i())&&void 0!==c?c:l(e):(o=l(e),r&&r());"multiselect"===a&&(h.current[n].value=o),t[n]=o})),m((e=>Object(r.a)(Object(r.a)({},e),t)))})),[j,f]=Object(c.useState)(!1),O=Object(c.useRef)((()=>{f((e=>!e))}));return Object(c.useMemo)((()=>{const{onClearAll:i,mobileBreakpoint:c,large:l,disabled:m,timezone:p}=t,f=Object(a.a)(t,["onClearAll","mobileBreakpoint","large","disabled","timezone"]);return[u,Object(r.a)({filters:o.a.chain(e).pickBy((e=>{let{hidden:t,type:n,options:a,loading:r}=e;return!t&&!(!a&&!r&&("select"===n||"multiselect"===n))})).mapValues(((t,i)=>{let{type:g,title:v,optional:j,options:f,max:O,onChange:x,onClear:y,onResetToDefault:C,minDateTime:T,maxDateTime:w,maxDateDifference:k,minDurationMins:E,maxDurationMins:S,defaultDurationMins:I,defaultStartTime:R,defaultEndTime:N,loading:D,placeholder:A,formatter:M,optionCount:P,hideOptionsWithZeroCount:L,initialValue:_,loadOptionImage:z,doesItemMatch:B,hideCounts:V,useCamerasSelectionTable:$,maxCameraCloudStorageDurationStartDate:U}=t,F=Object(a.a)(t,["type","title","optional","options","max","onChange","onClear","onResetToDefault","minDateTime","maxDateTime","maxDateDifference","minDurationMins","maxDurationMins","defaultDurationMins","defaultStartTime","defaultEndTime","loading","placeholder","formatter","optionCount","hideOptionsWithZeroCount","
1initialValue","loadOptionImage","doesItemMatch","hideCounts","useCamerasSelectionTable","maxCameraCloudStorageDurationStartDate"]);switch(g){case"select":case"multiselect":default:const t=j?s(e,u,i):Object(r.a)(Object(r.a)({},u),{},{[i]:"multiselect"===g?[]:null}),x=(!V||L)&&d(n,e,t);let y;if(f){const e=o.a.keyBy(f,"key");y="multiselect"===g?u[i].reduce(((t,n)=>e[n]?t:t.concat({key:n,label:n})),[]):u[i]&&!e[u[i]]?[{key:u[i],label:u[i]}]:[]}const C=Object(r.a)({title:v,type:g,loading:D,options:f&&f.concat(y).reduce(((t,n)=>{let{key:o,count:c,hide:l}=n,s=Object(a.a)(n,["key","count","hide"]);const m="multiselect"===g?u[i].includes(o):u[i]===o;if(!m&&l&&l(u))return t;let p=c;if("number"!==typeof p&&x&&(p=d(x,e,{[i]:"multiselect"===g?[o]:o}).length),!m&&L&&0===p)return t;const h=Object(r.a)({selected:m,key:o,count:V?void 0:p},s);var v;"multiselect"===g&&(h.image=z&&(null!==(v=b[i][o])&&void 0!==v?v:"loading"));return t.concat(h)}),[]),onChange:h.current[i].onChange},F);return"multiselect"===g?Object.assign(C,{count:u[i].length,max:O,onClearAll:h.current[i].onClearAll,loadOptionImage:h.current[i].loadOptionImage,useCamerasSelectionTable:$,maxCameraCloudStorageDurationStartDate:U&&U(u),alwaysShowGroup:F.groups&&!!(null===f||void 0===f?void 0:f.slice(1).some((e=>{let{groupId:t}=e;return t!==f[0].groupId})))}):Object.assign(C,{selectedOption:u[i],onClear:h.current[i].onClear}),C;case"datetime-range":case"date-range":return Object(r.a)({title:v,type:g,loading:D,minDateTime:T,maxDateTime:w,maxDateDifference:k,startDateTime:u[i][0],endDateTime:u[i][1],onChange:e=>h.current[i].onChange({newRange:e,timezone:p}),onClear:h.current[i].onClear},F);case"time-range":return Object(r.a)({title:v,type:g,loading:D,minDateTime:T,maxDateTime:w,maxDurationMins:S,startDateTime:u[i][0],endDateTime:u[i][1],defaultStartTime:R,defaultEndTime:N,onChange:h.current[i].onChange,onClear:h.current[i].onClear},F);case"time-duration":return Object(r.a)({title:v,type:g,loading:D,minDateTime:T,maxDateTime:w,minDurationMins:E,maxDurationMins:S,startDateTime:u[i][0],endDateTime:u[i][1],defaultStartTime:R,defaultDurationMins:I,onChange:e=>h.current[i].onChange({newRange:e,timezone:p}),onClear:h.current[i].onClear},F);case"search":return Object(r.a)({value:u[i],onChange:h.current[i].onChange,placeholder:A,type:g,mobileBreakpoint:c,disabled:m,large:l},F)}})).value(),onClearAll:g.current,onResetAllToDefaults:v.current,mobileBreakpoint:c,disabled:m,large:l,desktopPanelExpanded:j,toggleDesktopPanelExpanded:O.current,timezone:p},f),d(n,e,u)]}),[j,e,n,b,t,u])}},389:function(e,t,n){"use strict";n.d(t,"a",(function(){return Qe}));var a,r=n(3),i=n(9),o=n(8),c=n.n(o),l=n(1),s=n(375),d=n(114),u=n(70),m=n(17),b=n(386),p=n(54),h=n(159),g=n(30),v=n(14),j=n(408),f=n(5),O=n(12),x=n(4),y=n(48);function C(){return(C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function T(e,t){let{title:n,titleId:r}=e,i=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return l.createElement("svg",C({fill:"none",stroke:"currentColor",strokeWidth:1.5,viewBox:"0 0 16.5 18",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":r},i),n?l.createElement("title",{id:r},n):null,a||(a=l.createElement("path",{d:"m2.25 10.5v-9.75m0 9.75a1.5 1.5 0 0 1 0 3m0-3a1.5 1.5 0 0 0 0 3m0 3.75v-3.75m12-3v-9.75m0 9.75a1.5 1.5 0 0 1 0 3m0-3a1.5 1.5 0 0 0 0 3m0 3.75v-3.75m-6-9v-3.75m0 3.75a1.5 1.5 0 0 1 0 3m0-3a1.5 1.5 0 0 0 0 3m0 9.75v-9.75",strokeLinecap:"round",strokeLinejoin:"round"})))}const w=l.forwardRef(T);var k;n.p;function E(){return(E=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function S(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return l.createElement("svg",E({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",ref:t,"aria-labelledby":a},r),n?l.createElement("title",{id:a},n):null,k||(k=l.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px"},l.createElement("line",{className:"cls-1",x1:50,y1:11.5,x2:50,y2:27.02}),l.createElement("line",{className:"cls-1",x1:50,y1:72.98,x2:50,y2:88.5}),l.createElement("line",{className:"cls-1",x1:88.5,y1:50,x2:72.98,y2:50}),l.createElement("line",{className:"cls-1",x1:27.02,y1:50,x2:11.5,y2:50}),l.createElement("line",{className:"cls-1",x1:76.59,y1:23.15,x2:65.46,y2:33.98}),l.createElement("line",{className:"cls-1",x1:32.52,y1:66.02,x2:21.39,y2:76.85}),l.createElement("line",{className:"cls-1",x1:75.84,y1:77.6,x2:65.01,y2:66.47}),l.createElement("line",{className:"cls-1",x1:32.97,y1:33.53,x2:22.14,y2:22.4}))))}const I=l.forwardRef(S);n.p;var R,N,D,A=n(122),M=n(93),P=n(400);function L(){return(L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function _(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return l.createElement("svg",L({viewBox:"0 0 80 69.82",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?l.createElement("title",{id:a},n):null,R||(R=l.createElement("g",{transform:"translate(-10.89,-18.29)"},l.createElement("path",{fill:"none",stroke:"currentColor",strokeMiterlimit:10,strokeWidth:"5px",d:"m47.28 74.79h-28.89c-2.76 0-5-2.24-5-5v-44c0-2.76 2.24-5 5-5h37c2.76 0 5 2.24 5 5v26.48"}),l.createElement("path",{fill:"none",stroke:"currentColor",strokeMiterlimit:10,strokeWidth:"5px",strokeLinecap:"round",d:"m69.31 33.62 13.29-6.47c2.01-0.98 4.51-0.13 5.35 1.94 0.28 0.69 0.44 1.48 0.44 2.31v34.58c0 0.8-0.15 1.56-0.41 2.24-0.84 2.14-3.45 2.96-5.48 1.88"}))),N||(N=l.createElement("circle",{fill:"none",stroke:"currentColor",strokeMiterlimit:10,strokeWidth:"5px",cx:53.52,cy:51.19,r:16.13})),D||(D=l.createElement("path",{fill:"currentColor",d:"m51.81 53.81c0-0.78 0.12-1.42 0.35-1.9s0.69-0.95 1.38-1.42l1.13-0.74c0.48-0.32 0.82-0.65 1.03-1 0.21-0.34 0.31-0.76 0.31-1.26 0-0.58-0.17-1.03-0.52-1.37-0.34-0.34-0.8-0.5-1.36-0.5-0.7 0-1.27 0.21-1.69 0.62-0.42 0.42-0.64 1.04-0.64 1.87h-3.84c0-1.6 0.53-2.9 1.6-3.91 1.06-1.01 2.63-1.51 4.69-1.51 1.7 0 3.06 0.4 4.09 1.21s1.55 1.95 1.55 3.42c0 0.94-0.21 1.74-0.64 2.39s-1 1.25-1.74 1.81l-0.98 0.72c-0.37 0.27-0.62 0.52-0.74 0.73-0.13 0.22-0.19 0.48-0.19 0.78v0.29h-3.79v-0.24zm0.12 5.6c-0.48-0.49-0.72-1.07-0.72-1.74s0.24-1.25 0.72-1.73 1.07-0.72 1.78-0.72 1.28 0.24 1.76 0.72c0.49 0.48 0.73 1.06 0.73 1.73s-0.24 1.25-0.73 1.74-1.08 0.73-1.76 0.73-1.3-0.24-1.78-0.73z"})))}const z=l.forwardRef(_);var B;n.p;function V(){return(V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function $(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return l.createElement("svg",V({viewBox:"0 0 85.29 67.942",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?l.createElement("title",{id:a},n):null,B||(B=l.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px"},l.createElement("path",{d:"m74.03 24.362-6.56-16.18c-1.27-3.39-4.49-5.65-8.11-5.68h-31.68c-3.65-0.08-6.97 2.11-8.32 5.5l-6.55 16.37"}),l.createElement("line",{x1:24.48,x2:16.13,y1:36.382,y2:34.362}),l.createElement("line",{x1:72.44,x2:64.17,y1:34.212,y2:36.532}),l.createElement("line",{x1:79.64,x2:82.77,y1:17.872,y2:17.872}),l.createElement("line",{x1:2.5,x2:5.63,y1:17.872,y2:17.872}),l.createElement("path",{d:"m82.77 33.102c0-4.83-3.92-8.74-8.74-8.74h-61.22c-4.83 0-8.74 3.92-8.74 8.74v17.49c0 0.2 0.02 0.4 0.03 0.6l-0.03-0.03v12.49c0 0.98 0.8 1.78 1.78 1.78h5.78c0.98 0 1.78-0.8 1.78-1.78v-4.31c0.12 0 0.23 0.02 0.34 0.02h59.31c0.11 0 0.22-0.01 0.32-0.02l0.07 0.87v3.45c0 0.98 0.8 1.78 1.78 1.78h5.78c0.98 0 1.78-0.8 1.78-1.78v-12.49l-0.03 0.03c0.01-0.2 0.03-0.4 0.03-0.6v-17.49z"}))))}const U=l.forwardRef($);var F,W;n.p;function H(){return(H=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function G(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return l.createElement("svg",H({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",ref:t,"aria-labelledby":a},r),n?l.createElement("title",{id:a},n):null,F||(F=l.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px"},l.createElement("path",{className:"cls-1",d:"M53.32,81.7v-42.11c0-3.35,2.71-6.06,6.06-6.06h4.08v-17.33c0-1.74-1.41-3.15-3.15-3.15H16c-1.74,0-3.15,1.41-3.15,3.15v68.4c0,1.74,1.41,3.15,3.15,3.15h43.38c-3.35,0-6.06-2.71-6.06-6.06Z"}),l.createElement("path",{className:"cls-1",d:"M60.31,87.76h22.59c3.35,0,6.06-2.71,6.06-6.06v-42.11c0-3.35-2.71-6.06-6.06-6.06h-19.44"}))),W||(W=l.createElement("line",{className:"cls-1",x1:72.2,y1:77.71,x2:72.2,y2:77.71})))}const q=l.forwardRef(G);n.p;var X,Z=n(207),K=n(206);function Y(){return(Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function Q(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return l.createElement("svg",Y({viewBox:"0 0 81.65 81.68",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?l.createElement("title",{id:a},n):null,X||(X=l.createElement("g",{fill:"none",stroke:"currentColor",strokeLinejoin:"round",strokeWidth:"5px"},l.createElement("circle",{cx:46.6,cy:19.75,r:1.92}),l.createElement("circle",{cx:61.93,cy:35.09,r:1.92}),l.createElement("circle",{cx:27.43,cy:23.59,r:1.92}),l.createElement("circle",{cx:19.76,cy:42.76,r:1.92}),l.createElement("path",{d:"m40.84 2.5c-21.09 0-38.34 17.25-38.34 38.34s17.25 38.34 38.34 38.34c3.55 0 6.32-2.86 6.32-6.47 0-1.68-0.69-3.2-1.68-4.31-1.11-1.11-1.68-2.5-1.68-4.31-0.06-3.47 2.71-6.34 6.18-6.4h0.22 7.65c11.7 0 21.3-9.6 21.3-21.29-0.1-18.51-17.37-33.89-38.31-33.89z"}))))}const J=l.forwardRef(Q);n.p;var ee,te,ne,ae,re,ie,oe=n(199),ce=n(121),le=n(188),se=n(194),de=n(183),ue=n(104),me=n(193);function be(){return(be=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function pe(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return l.createElement("svg",be({viewBox:"0 0 69.37 77.05",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?l.createElement("title",{id:a},n):null,ee||(ee=l.createElement("path",{fill:"currentColor",d:"m48.62 60.81c0-0.78 0.12-1.42 0.35-1.9s0.69-0.95 1.38-1.42l1.13-0.74c0.48-0.32 0.82-0.65 1.03-1 0.21-0.34 0.31-0.76 0.31-1.26 0-0.58-0.17-1.03-0.52-1.37-0.34-0.34-0.8-0.5-1.36-0.5-0.7 0-1.27 0.21-1.69 0.62-0.42 0.42-0.64 1.04-0.64 1.87h-3.84c0-1.6 0.53-2.9 1.6-3.91 1.06-1.01 2.63-1.51 4.69-1.51 1.7 0 3.06 0.4 4.09 1.21s1.55 1.95 1.55 3.42c0 0.94-0.21 1.74-0.64 2.39s-1 1.25-1.74 1.81l-0.98 0.72c-0.37 0.27-0.62 0.52-0.74 0.73-0.13 0.22-0.19 0.48-0.19 0.78v0.29h-3.79v-0.24zm0.12 5.6c-0.48-0.49-0.72-1.07-0.72-1.74s0.24-1.25 0.72-1.73 1.07-0.72 1.78-0.72 1.28 0.24 1.76 0.72c0.49 0.48 0.73 1.06 0.73 1.73s-0.24 1.25-0.73 1.74-1.08 0.73-1.76 0.73-1.3-0.24-1.78-0.73z"})),te||(te=l.createElement("circle",{strokeLinejoin:"round",fill:"none",stroke:"currentColor",strokeWidth:"5px",strokeLinecap:"round",cx:50.74,cy:58.42,r:16.13})),ne||(ne=l.createElement("polyline",{strokeLinejoin:"round",fill:"none",stroke:"currentColor",strokeWidth:"5px",strokeLinecap:"round",transform:"translate(-21.42,-13.77)",points:"72.24 55.54 72.24 16.27 23.92 16.27 23.92 80.26"})),ae||(ae=l.createElement("path",{fill:"none",stroke:"currentColor",strokeWidth:"5px",strokeMiterlimit:10,d:"m35.78 66.44c-4.16 0-4.16-4-8.32-4s-4.16 4-8.32 4-4.16-4-8.32-4-4.16 4-8.32 4"})),re||(re=l.createElement("line",{fill:"none",stroke:"currentColor",strokeWidth:"5px",strokeMiterlimit:10,strokeLinecap:"round",x1:15.86,x2:37.47,y1:21.34,y2:21.34})),ie||(ie=l.createElement("line",{fill:"none",stroke:"currentColor",strokeWidth:"5px",strokeMiterlimit:10,strokeLinecap:"round",x1:15.85,x2:37.46,y1:32.04,y2:32.04})))}const he=l.forwardRef(pe);n.p;var ge=n(115),ve=n(57),je=n(19),fe=n(210),Oe=n(204),xe=n(211),ye=n(212),Ce=n(213),Te=n(401),we=n(71),ke=n(42),Ee=n(202),Se=n(34),Ie=n(405),Re=n(406),Ne=n(187),De=n(21),Ae=n(396),Me=n(190),Pe=n(409),Le=n(2);const _e=700,ze=Object(s.a)()((e=>
1{let{filters:t,mobileBreakpoint:n,tabletBreakpoint:a,onClearAll:o,onResetAllToDefaults:s,showFirstOptionNameForTypeSelect:u=!0,disabled:b=!1,large:p=!1,expandableOnDesktop:h=!1,desktopPanelExpanded:g,toggleDesktopPanelExpanded:v,expandableDesktopPanelTriggerId:C,expandableDesktopPanelId:T,t:k,tReady:E,timezone:S,availableTimezones:I,timezoneSelectorProps:R,desktopBottomPanelBreakpoint:N=_e,popupZIndex:D,variant:A}=e,M=Object(i.a)(e,["filters","mobileBreakpoint","tabletBreakpoint","onClearAll","onResetAllToDefaults","showFirstOptionNameForTypeSelect","disabled","large","expandableOnDesktop","desktopPanelExpanded","toggleDesktopPanelExpanded","expandableDesktopPanelTriggerId","expandableDesktopPanelId","t","tReady","timezone","availableTimezones","timezoneSelectorProps","desktopBottomPanelBreakpoint","popupZIndex","variant"]);const{accentColour:P,accentColour2:L,useAccentColour2:_,whiteOverAccent:z,isVideoloft:B}=Object(m.a)(),V=B&&L||!O.c&&z||O.c&&Object(f.B)(P,Object(f.v)())?Object(f.v)():Object(f.s)(),[$,U]=Object(l.useState)(Object(j.a)(n,a));Object(l.useEffect)((()=>{if(n||a){const e=()=>U(Object(j.a)(n,a));return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}}),[n,a]);const[F,W,H]=Object(d.a)(),{closeRef:G}=F,q=Object(i.a)(F,["closeRef"]),[X,Z]=Object(l.useState)();Object(l.useEffect)((()=>{q.show||Z(null)}),[q.show]),Object(l.useEffect)((()=>{var e;!X||"select"!==t[X].type&&"multiselect"!==t[X].type||0!==(null===(e=t[X].options)||void 0===e?void 0:e.length)||t[X].bottomButton||Z(null)}),[X,t]);const K=qe(t);return Object(Le.jsxs)(Le.Fragment,{children:[Object(Le.jsxs)(je.c,Object(r.a)(Object(r.a)({gap:p?18:12,alignItems:"centre",wrap:!0},M),{},{children:[("desktop"===$||"tablet"===$)&&c.a.chain(t).filter((e=>{let{type:t}=e;return"search"===t})).map(((e,t)=>Object(Le.jsx)(Ee.a,Object(r.a)(Object(r.a)({readOnly:b},e),{},{type:"text",large:p}),t))).value(),"desktop"===$&&!h&&Object(Le.jsx)(Be,{filters:t,disabled:b,large:p,alternativeTextColour:V,showFirstOptionNameForTypeSelect:u,onClearAll:o,timezone:S,availableTimezones:I,timezoneSelectorProps:R,desktopBottomPanelBreakpoint:N,popupZIndex:D,variant:A}),("mobile"===$||"tablet"===$||"desktop"===$&&h)&&Object(Le.jsxs)(Pe.o,{$hoverBackgroundColour:null!==L&&void 0!==L?L:P,$hoverTextColour:V,$large:p,$popupOpen:"desktop"===$?g:q.show,onClick:"desktop"===$?v:W,disabled:b,id:"desktop"===$?null!==C&&void 0!==C?C:"expandable-desktop-panel-trigger":void 0,"aria-controls":"desktop"===$?null!==T&&void 0!==T?T:"expandable-desktop-panel":void 0,"aria-expanded":"desktop"===$?g:void 0,variant:A,children:[Object(Le.jsx)(Pe.s,{children:Object(Le.jsx)(w,{})}),k(x.a.filters.FILTERS),K>0&&Object(Le.jsx)(Pe.d,{$textColour:B?Object(f.s)():V,$backgroundColour:_?L:P,children:K})]})]})),("mobile"===$||"tablet"===$)&&Object(Le.jsx)(ge.b,Object(r.a)(Object(r.a)({},q),{},{zIndex:500,children:Object(Le.jsx)(Pe.n,{onClick:H,children:Object(Le.jsxs)(Pe.u,{onClick:e=>e.stopPropagation(),children:[Object(Le.jsxs)(je.c,{justifyContent:"space-between",children:[Object(Le.jsx)(ve.a,{variant:"1",style:{margin:0,color:"inherit"},children:k(x.a.filters.FILTERS)}),Object(Le.jsx)(Pe.m,{onClick:H,children:Object(Le.jsx)(y.a,{})})]}),Object(Le.jsx)(je.c,{column:!0,style:{overflowY:"auto"},children:c.a.map(t,((e,t)=>{var n;let{title:a,type:r,selectedOption:i,options:o,count:c,startDateTime:l,endDateTime:s,loading:d,bottomButton:u,icon:m,defaultValueText:b}=e;if("search"===r)return null;const p=("select"===r||"multiselect"===r)&&0===(null===o||void 0===o?void 0:o.length)&&!u,h=m&&Ye(m);return Object(Le.jsxs)(Pe.p,{disabled:d||p,onClick:()=>Z(t),$accentColour:P,$icon:!!h,children:[h&&Object(Le.jsx)(Pe.s,{$filterPanel:!0,$filterPanelMenu:!0,children:Object(Le.jsx)(h,{})}),Object(Le.jsx)(Pe.k,{children:a}),d?Object(Le.jsx)(ke.a,{}):Object(Le.jsxs)(Le.Fragment,{children:[Object(Le.jsx)(Pe.r,{children:"multiselect"===r?c||k(x.a.filters.ALL):"select"===r?(null===(n=o.find((e=>{let{key:t}=e;return t===i})))||void 0===n?void 0:n.label)||k(x.a.filters.ALL):l&&s?Object(Le.jsx)(He,{startDateTime:l,endDateTime:s}):b||k(x.a.filters.ANY)}),!p&&Object(Le.jsx)(Pe.q,{})]})]},t)}))}),Object(Le.jsxs)(Pe.a,{children:[Object(Le.jsx)(Pe.l,{ref:G,onClick:H,children:k(x.a.filters.APPLY_FILTERS)}),Object(Le.jsx)(Pe.l,{variant:"secondary",onClick:o,disabled:!(o&&Xe(c.a.pickBy(t,(e=>{let{type:t}=e;return"search"!==t})))),children:k(x.a.filters.RESET_TO_DEFAULT)})]}),X&&Object(Le.jsx)(Ge,{selectedFilterConfig:t[X],close:()=>Z(null),timezone:S,availableTimezones:I,timezoneSelectorProps:R})]})})}))]})}));ze.MobileSearchBox=e=>{let{mobileBreakpoint:t,style:n,disabled:a,large:o}=e,c=Object(i.a)(e,["mobileBreakpoint","style","disabled","large"]);return Object(Le.jsx)(Pe.t,{$mobileBreakpoint:t,style:n,children:Object(Le.jsx)(Ee.a,Object(r.a)(Object(r.a)({readOnly:a},c),{},{style:{maxWidth:"100%"},type:"text",large:o}))})};ze.ExpandableDesktopPanel=e=>{let{filters:t,disabled:n,large:a,showFirstOptionNameForTypeSelect:o,onClearAll:c,onResetAllToDefaults:s,desktopPanelExpanded:d,mobileBreakpoint:u,tabletBreakp
1oint:b,marginTop:h,expandableDesktopPanelId:g,expandableDesktopPanelTriggerId:v,timezone:j,availableTimezones:x,timezoneSelectorProps:y,desktopBottomPanelBreakpoint:C,popupZIndex:T}=e,k=Object(i.a)(e,["filters","disabled","large","showFirstOptionNameForTypeSelect","onClearAll","onResetAllToDefaults","desktopPanelExpanded","mobileBreakpoint","tabletBreakpoint","marginTop","expandableDesktopPanelId","expandableDesktopPanelTriggerId","timezone","availableTimezones","timezoneSelectorProps","desktopBottomPanelBreakpoint","popupZIndex"]);const{accentColour:E,whiteOverAccent:S,isVideoloft:I}=Object(m.a)(),R=I||!O.c&&S||O.c&&Object(f.B)(E,Object(f.v)())?Object(f.v)():Object(f.s)(),[N,D]=Object(l.useState)(0),A=Object(l.useRef)();return Object(p.a)(A,((e,t)=>{let n=parseInt(getComputedStyle(t).marginTop);"number"!==typeof n&&(n=0),D(t.offsetHeight+n)})),Object(Le.jsx)(Pe.h,Object(r.a)(Object(r.a)({$expanded:d,$innerContainerHeight:N,$mobileBreakpoint:u,$tabletBreakpoint:b,id:null!==g&&void 0!==g?g:"expandable-desktop-panel",role:"region","aria-labelledby":null!==v&&void 0!==v?v:"expandable-desktop-panel-trigger"},k),{},{children:Object(Le.jsxs)(Pe.i,{ref:A,$large:a,$marginTop:h,variant:k.variant,collapsed:!0,children:[Object(Le.jsx)(w,{"aria-hidden":"true",color:"dark"===k.variant?Object(f.s)():Object(f.v)()}),Object(Le.jsx)(Be,{filters:t,disabled:n,large:a,alternativeTextColour:R,showFirstOptionNameForTypeSelect:o,onClearAll:c,collapsed:!d,timezone:j,availableTimezones:x,timezoneSelectorProps:y,desktopBottomPanelBreakpoint:C,popupZIndex:T,variant:k.variant})]})}))};const Be=Object(s.a)()((e=>{let{filters:t,disabled:n,large:a,alternativeTextColour:i,showFirstOptionNameForTypeSelect:o,onClearAll:s,collapsed:d,timezone:u,availableTimezones:b,timezoneSelectorProps:p,desktopBottomPanelBreakpoint:h=_e,popupZIndex:g,variant:v,t:j,i18n:{format:f}}=e;const{accentColour:C,accentColour2:T,isVideoloft:w}=Object(m.a)(),[k,E]=Object(l.useState)(window.innerWidth<h);Object(l.useLayoutEffect)((()=>{const e=()=>E(window.innerWidth<h);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[h]);const S=k?Ue:$e;return Object(Le.jsxs)(Le.Fragment,{children:[c.a.chain(t).filter((e=>{let{type:t}=e;return"search"!==t})).map(((e,t)=>{return"multiselect"===e.type&&e.useCamerasSelectionTable?Object(Le.jsx)(Fe,Object(r.a)(Object(r.a)({disabled:n,large:a,accessibilityHidden:d},e),{},{hoverTextColour:i}),t):"datetime-range"===e.type||"date-range"===e.type?Object(Le.jsx)("div",{"aria-hidden":d,tabIndex:d?-1:void 0,style:O.i?{width:"100%"}:{},children:Object(Le.jsx)(Te.a,Object(r.a)(Object(r.a)({disabled:n,buttonText:e.startDateTime&&e.endDateTime?Object(Le.jsx)(He,{startDateTime:e.startDateTime,endDateTime:e.endDateTime,timezone:u,excludeTime:"date-range"===e.type}):null!==(c=e.defaultValueText)&&void 0!==c?c:e.title,timezone:u,availableTimezones:b,timezoneSelectorProps:p,bottomPanelBreakpoint:h},e),{},{zIndex:g}))},t):Object(Le.jsx)(S,Object(r.a)(Object(r.a)({disabled:n,large:a,accessibilityHidden:d,variant:v},e),{},{hoverTextColour:i,formatDate:f,showFirstOptionNameForTypeSelect:o,timezone:u,availableTimezones:b,timezoneSelectorProps:p,popupZIndex:g}),t);var c})).value(),s&&Xe(t)&&Object(Le.jsxs)(Pe.e,{variant:"text",onClick:s,$hoverColour:"dark"===v?w?T:C:w?C:null!==T&&void 0!==T?T:C,"aria-hidden":d,tabIndex:d?-1:void 0,children:[Object(Le.jsx)(y.a,{"aria-hidden":"true"}),Object(Le.jsx)("span",{children:j(x.a.filters.CLEAR_FILTERS)})]})]})})),Ve=Object(s.a)()((e=>{var t,n;let{title:a,type:o="multiselect",loading:c=!1,icon:s,count:d,selectedOption:u,formatDate:b,options:p,maxListHeight:h,showFirstOptionNameForTypeSelect:g,disabled:v,large:j,t:O,tReady:C,children:T,triggerButtonProps:w,filterOpen:k,accessibilityHidden:E,timezone:S,showDesktopClearButton:I=!1}=e,R=Object(i.a)(e,["title","type","loading","icon","count","selectedOption","formatDate","options","maxListHeight","showFirstOptionNameForTypeSelect","disabled","large","t","tReady","children","triggerButtonProps","filterOpen","accessibilityHidden","timezone","showDesktopClearButton"]);const{accentColour:N,accentColour2:D,useAccentColour2:A,isVideoloft:M}=Object(m.a)(),P=Object(l.useMemo)((()=>Ye(s)),[s]);return Object(Le.jsxs)(Pe.f,{children:[Object(Le.jsxs)(Pe.j,Object(r.a)(Object(r.a)({$hoverBackgroun
1dColour:null!==D&&void 0!==D?D:N,$popupOpen:k,$singleSelectSelected:"select"===o&&!!u,$hoverTextColour:R.hoverTextColour,$loading:c,disabled:v||("select"===o||"multiselect"===o)&&0===(null===p||void 0===p?void 0:p.length)&&!R.bottomButton,$large:j,$showDesktopClearButton:"select"===o&&u&&I},w),{},{variant:R.variant,"aria-hidden":E,tabIndex:E?-1:void 0,children:[P&&Object(Le.jsx)(Pe.s,{"aria-hidden":"true",$large:j,children:Object(Le.jsx)(P,{})}),"select"===o&&u&&(g||u!==(null===(t=p[0])||void 0===t?void 0:t.key))?p.find((e=>{let{key:t}=e;return t===u})).label:("datetime-range"===o||"date-range"===o||"time-range"===o||"time-duration"===o)&&R.startDateTime&&R.endDateTime?Object(Le.jsx)(He,{startDateTime:R.startDateTime,endDateTime:R.endDateTime,timezone:S,excludeTime:"date-range"===o}):null!==(n=R.defaultValueText)&&void 0!==n?n:a,"multiselect"===o&&d>0&&Object(Le.jsx)(Pe.d,{$textColour:M?Object(f.s)():R.hoverTextColour,$backgroundColour:A?D:N,$large:j,children:d}),c&&Object(Le.jsx)(ke.a,{style:{display:"inline-block",marginLeft:5,height:j?void 0:14,width:j?void 0:14}})]})),"select"===o&&u&&I&&Object(Le.jsx)(Pe.g,{"aria-label":O(x.a.forms.CLEAR),onClick:R.onClear,children:Object(Le.jsx)(y.a,{"aria-hidden":"true"})}),T]})})),$e=e=>{var t,n;const{accentColour:a}=Object(m.a)(),[i,o]=Object(u.a)({fixedPositioning:!0,placement:"bottom"}),c=i.open&&("select"===e.type||"multiselect"===e.type)&&0===(null===(t=e.options)||void 0===t?void 0:t.length)&&!e.bottomButton;return Object(l.useEffect)((()=>{if(c){(0,i.closePopup)()}}),[c,i.closePopup]),Object(Le.jsx)(Ve,Object(r.a)(Object(r.a)({triggerButtonProps:o,filterOpen:i.open},e),{},{children:!e.loading&&("datetime-range"===e.type||"date-range"===e.type||"time-range"===e.type||"time-duration"===e.type?Object(Le.jsx)(we.a,Object(r.a)(Object(r.a)(Object(r.a)({type:e.type},i),e),{},{colour:a,zIndex:e.popupZIndex})):Object(Le.jsx)(we.b,Object(r.a)(Object(r.a)(Object(r.a)({type:e.type,accentColour:a,maxListHeight:null!==(n=e.maxListHeight)&&void 0!==n?n:"60vh",options:e.options,usePortal:!0},i),e),{},{zIndex:e.popupZIndex})))}))},Ue=e=>{var t;const{accentColour:n}=Object(m.a)(),[a,i,o]=Object(d.a)(),s=Object(l.useRef)(0);return!a.show||"select"!==e.type&&"multiselect"!==e.type||0!==(null===(t=e.options)||void 0===t?void 0:t.length)||e.bottomButton||o(),Object(Le.jsx)(Ve,Object(r.a)(Object(r.a)({triggerButtonProps:{onClick:e=>{const{bottom:t}=e.target.getBoundingClientRect();s.current=100*(1-c.a.clamp((t+60)/window.innerHeight,0,1)),i()}},filterOpen:a.show},e),{},{children:!e.loading&&Object(Le.jsx)(Ae.a,Object(r.a)(Object(r.a)({},a),{},{headerText:e.title,headerIcon:e.icon&&Ye(e.icon),hideButton:"select"===e.type,minHeightPercentage:s.current,children:"datetime-range"===e.type||"date-range"===e.type||"time-range"===e.type||"time-duration"===e.type?Object(Le.jsx)(Me.a,Object(r.a)(Object(r.a)({type:e.type},e),{},{colour:n})):Object(Le.jsx)(fe.a,Object(r.a)(Object(r.a)({type:e.type,accentColour:n,options:e.options},e),{},{onChange:"select"===e.type?function(){e.onChange(...arguments),o()}:e.onChange}))}))}))},Fe=Object(s.a)()((e=>{let{t:t}=e,n=Object(i.a)(e,["t"]);const[a,o]=Object(d.a)();return Object(l.useEffect)((()=>{var e,t,n,r,i;const o=null===(e=a.containerRef.current)||void 0===e||null===(t=e.children)||void 0===t||null===(n=t[0])||void 0===n||null===(r=n.children)||void 0===r||null===(i=r[0])||void 0===i?void 0:i.querySelector("div");(null===o||void 0===o?void 0:o.scrollTop)>0&&(o.scrollTop=0)}),[a.show,a.containerRef]),Object(Le.jsx)(Ve,Object(r.a)(Object(r.a)({triggerButtonProps:{onClick:o},filterOpen:a.show},n),{},{children:Object(Le.jsx)(ge.c,Object(r.a)(Object(r.a)({"aria-label":t(x.a.cameras.select.SELECT_CAMERAS),leftAlign:!0,style:{width:"min(90%, 1000px)",height:"90%"},wide:!0,zIndex:499},a),{},{children:a.show&&Object(Le.jsx)(We,Object(r.a)({},n))}))}))})),We=Object(s.a)()(Object(l.memo)((e=>{let{options:t,cameraGroups:n,organisations:a,onChange:i,max:o,loadOptionImage:s,maxCameraCloudStorageDurationStartDate:d,mobile:u,t:m}=e;const{isDemo:p}=Object(h.a)(),v=Object(l.useMemo)((()=>({search:{type:"search",doesItemMatch:(e,t)=>Object(g.b)(t.name,e),variant:"dark"},owner:{title:m(x.a.cameras.OWNER),type:"multiselect",options:null===a||void 0===a?void 0:a.map((e=>{let{id:t,name:n}=e;return{label:n,key:t.toString()}})).sort(((e,t)=>{let{label:n}=e,{label:a}=t;return Object(g.a)(n,a)})),doesItemMatch:(e,t)=>e.some((e=>parseInt(e)===t.owner)),hideOptionsWithZeroCount:!0,hidden:!a||a.length<2||p,icon:"person"},tags:{title:m(x.a.cameras.tags.TAGS),type:"multiselect",options:c.a.chain(t).map("tags").flatten().uniq().value(
1).map((e=>({key:e,label:e}))).concat({key:"\0",label:m(x.a.cameras.tags.NO_TAGS)}),hideOptionsWithZeroCount:!0,doesItemMatch:(e,t)=>e.includes("\0")&&0===t.tags.length||t.tags.some((t=>e.includes(t))),icon:"tag"},cameraGroups:{title:m(x.a.cameras.groups.CAMERA_GROUPS),type:"multiselect",options:null===n||void 0===n?void 0:n.map((e=>{let{name:t,id:n}=e;return{label:n<=0?m(t):t,key:n.toString()}})),hideOptionsWithZeroCount:!0,doesItemMatch:(e,t)=>n.some((n=>{let{id:a,cameras:r}=n;return e.includes(a.toString())&&r.includes(t.uidd)})),hidden:!n,icon:"camera-group"}})),[t,a,n,p,m]),[j,O,y]=Object(b.a)(v,{expandableOnDesktop:!0},t),C=Object(l.useMemo)((()=>{const e=[{header:m(x.a.cameras.tags.TAGS),renderCell:e=>{let{tags:t}=e;return Object(Le.jsx)(Ne.a,{tags:t})}}],[n,...a]=t;return a.some((e=>{let{cloudStorageDuration:t}=e;return t!==n.cloudStorageDuration}))&&e.splice(2,0,{header:m(x.a.technical.cloudStorage.CLOUD_STORAGE_DURATION),renderCell:e=>{let{cloudStorageDuration:t,maxCameraCloudStorageDurationStartDate:n}=e;return Object(Le.jsx)(De.a,{colour:n&&Ke(n,t)?"red":void 0,children:m(x.a.time.X_DAYS,{count:t})})},sort:(e,t)=>{let{cloudStorageDuration:n}=e,{cloudStorageDuration:a}=t;return n-a}}),e}),[t,m]),T=t.reduce(((e,t)=>t.selected?[...e,t.uidd]:e),[]);return Object(Le.jsxs)(Pe.b,{$mobile:u,children:[Object(Le.jsxs)(je.c,{justifyContent:"space-between",style:u?{flexDirection:"column-reverse"}:void 0,alignItems:u?"centre":void 0,gap:20,children:[Object(Le.jsxs)("div",{style:u?{width:"100%",display:"flex",justifyContent:"center",flexWrap:"wrap"}:void 0,children:[Object(Le.jsx)(ze,Object(r.a)(Object(r.a)({},O),{},{variant:"dark"})),u&&Object(Le.jsx)(ze.ExpandableDesktopPanel,Object(r.a)({marginTop:20,style:{width:"100%"}},O))]}),Object(Le.jsx)(Ie.a,{clearSelection:()=>{i(T.reduce(((e,t)=>Object(r.a)(Object(r.a)({},e),{},{[t]:!1})),{}))},selectionMade:T.length>0,maxReached:"number"===typeof o&&T.length>=o,variant:"dark",children:m(x.a.cameras.select.SELECT_FROM_LIMIT,{count:"number"===typeof o?Math.min(o,t.length):t.length,selected:T.length})})]}),!u&&Object(Le.jsx)(ze.ExpandableDesktopPanel,Object(r.a)(Object(r.a)({},O),{},{variant:"dark",marginTop:10})),y.length>0?Object(Le.jsx)(Pe.c,{$usingPagination:Object.keys(t).length>25,children:Object(Le.jsx)(Re.a,{columns:C,searchTerm:j.search,cameras:y.map((e=>Object(r.a)(Object(r.a)({},e),{},{img:"loading"===e.image?void 0:e.image,maxCameraCloudStorageDurationStartDate:d,disabled:!!d&&Ke(d,e.cloudStorageDuration)}))),selectedCameras:T,fetchImage:s,updateSelectedCameras:i,limit:o,mobileMaxWidth:u?Number.MAX_SAFE_INTEGER:void 0,style:{marginTop:u?0:10},variant:"dark",checkboxVariant:"light",headerBackground:f.h})}):Object(Le.jsx)(Se.a,{centre:!0,children:m(x.a.cameras.NONE_MATCHING_FILTERS)})]})}),c.a.isEqual)),He=Object(l.memo)((e=>{let{startDateTime:t,endDateTime:n,timezone:a,excludeTime:r=!1}=e;const i="00:00:00"===new Date(t).toLocaleTimeString("en-GB",{timeZone:a}),o="23:59:59"===new Date(n).toLocaleTimeString("en-GB",{timeZone:a});let c;if(r||new Date(t).toLocaleDateString("en-GB",{timeZone:a})!==new Date(n).toLocaleDateString("en-GB",{timeZone:a})||i&&o){const e=Object(v.B)(t,{timezone:a,includeTime:!i&&!r}),l=Object(v.B)(n,{timezone:a,includeTime:!o&&!r});c=e===l?e:"".concat(e," - ").concat(l)}else c="".concat(Object(v.B)(t,{timezone:a})," - ").concat(new Date(n).toLocaleTimeString(void 0,{timeZone:a,hour:"2-digit",minute:"2-digit"}));return Object(Le.jsx)(De.a,{children:c})})),Ge=Object(s.a)()((e=>{let{close:t,selectedFilterConfig:n,timezone:a,availableTimezones:i,timezoneSelectorProps:o,t:c}=e;const[l]=Object(d.a)(!0);let s;return n.icon&&(s=Ye(n.icon)),Object(Le.jsx)(Ae.a,Object(r.a)(Object(r.a)({},l),{},{closeModal:()=>{l.closeModal(),t()},headerText:n.title,headerIcon:s,buttonText:c(x.a.filters.APPLY_FILTER),children:"datetime-range"===n.type?Object(Le.jsx)(Oe.a,Object(r.a)(Object(r.a)({},n),{},{timezone:a,availableTimezones:i,timezoneSelectorProps:o,title:void 0})):"date-range"===n.type?Object(Le.jsx)(xe.a,Object(r.a)(Object(r.a)({},n),{},{timezone:a,availableTimezones:i,timezoneSelectorProps:o,title:void 0})):"time-range"===n.type?Object(Le.jsx)(ye.a,Object(r.a)(Object(r.a)({},n),{},{onChange:function(){n.onChange(...arguments),t()},onClear:function(){n.onClear(...arguments),t()},title:void 0})):"time-duration"===n.type?Object(Le.jsx)(Ce.a,Object(r.a)(Object(r.a)({},n),{},{onChange:function(){n.onChange(...arguments),t()},onClear:function(){n.onClear(...arguments),t()},timezone:a,availableTimezones:i,timezoneSelectorProps:o,title:void 0})):"multiselect"===n.type&&n.useCamerasSelectionTable?Object(Le.jsx)(We,Object(r.a)(Object(r.a)({},n),{},{mobile:!0})):Object(Le.jsx)(fe.a,Object(r.a)(Object(r.a)({},n),{},{fullHeight:!0,title:void 0}))}))})),qe=e=>Object.values(e).reduce(((e,t)=>"search"!==t.type&&Ze(t)?e+1:e),0),Xe=e=>c.a.some(e,(e=>"search"!==e.type&&Ze(e))),Ze=e=>{let{type:t,count:n,startDateTime:a,endDateTime:r,value:i,selectedOption:o}=e;switch(t){default:return!!i;case"select":return!!o;case"multiselect":return n>0;case"datetime-range":case"date-range":case"time-range":case"time-duration":return a||r;case"search":return i.length>0}},Ke=(e,t)=>Object(v.m)(new Date,e)>t,Ye=e=>{switch(e){case"action":return I;case"analytics":return A.a;case"camera":return M.a;case"camera-group":return P.a;case"camera-status":return z;case"car-front":return U;case"colour":return J;case"devices":return q;case"hard-hat":return Z.a;case"multiuser":return K.a;case"person":return oe.a;case"prohibition":return ce.a;case"site":return le.a;case"tag":return se.a;case"takeaway-kitchen":return me.a;case"takeaway-order-status":return he;case"time":return de.a;case"vehicle":return ue.a;default:return null}};var Qe=ze},391:function(e,t,n){"use strict";var a=n(398);n.d(t,"a",(function(){return a.a}))},392:function(e,t,n){"use strict";n.d(t,"d",(function(){return xe})),n.d(t,"c",(function(){return Ce})),n.d(t,"e",(function(){return Ee})),n.d(t,"a",(function(){return Se}));var a,r,i,o,c=n(3),l=n(9),s=n(1),d=n(8),u=n.n(d),m=n(375),b=n(24),p=n(114),h=n(65),g=n(5),v=n(30),j=n(12),f=n(413),O=n(394),x=n(415),y=n(13),C=n(4),T=n(66),w=n(184),k=n(161),E=n(387),S=n(35),I=n(21),R=n(19),N=n(201),D=n(188),A=n(185),M=n(203),P=n(208);function L(){return(L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function _(e,t){let{title:n,titleId:c}=e,l=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return s.createElement("svg",L({id:"Layer_1","data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",ref:t,"aria-labelledby":c},l),n?s.createElement("title",{id:c},n):null,a||(a=s.createElement("defs",null,s.createElement("style",null,"\n      .cls-1 {\n        fill: none;\n        stroke: currentColor;\n        stroke-linecap: round;\n        stroke-linejoin: round;\n        stroke-width: 5px;\n      }\n    "))),r||(r=s.createElement("g",null,s.createElement("path",{className:"cls-1",d:"M14.1,50.22v-23.21c0-2.8,2.27-5.07,5.07-5.07h37.55c2.8,0,5.07,2.27,5.07,5.07v44.66c0,2.8-2.27,5.07-5.07,5.07h-15.47"}),s.createElement("path",{className:"cls-1",d:"M70.83,37.53l11.22-5.46c1.7-.83,3.81-.11,4.52,1.64.24.58.37,1.25.37,1.95v29.2c0,.68-.13,1.32-.35,1.89-.71,1.8-2.91,2.5-4.62,1.59l-11.28-6"}))),i||(i=s.createElement("line",{className:"cls-1",x1:22.62,y1:55.32,x2:22.62,y2:80.55})),o||(o=s.createElement("line",{className:"cls-1",x1:35.23,y1:67.93,x2:10,y2:67.93})))}const z=s.forwardRef(_);n.p;var B,V,$,U,F,W=n(198);function H(){return(H=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function G(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return s.createElement("svg",H({id:"Layer_1","data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",ref:t,"aria-labelledby":a},r),n?s.createElement("title",{id:a},n):null,B||(B=s.createElement("defs",null,s.createElement("style",null,"\n      .cls-1 {\n        stroke-width: 5.37px;\n      }\n\n      .cls-1, .cls-2 {\n        fill: none;\n        stroke: currentColor;\n        stroke-linecap: round;\n        stroke-linejoin: round;\n      }\n\n      .cls-2 {\n        stroke-width: 5px;\n      }\n    "))),V||(V=s.createElement("rect",{className:"cls-2",x:13.04,y:50.51,width:74.74,height:37.28})),$||($=s.createElement("g",null,s.createElement("path",{className:"cls-1",d:"M80.27,26.88c-7.44-8.59-18.41-14.05-30.64-14.05-11.83,0-22.48,5.09-29.9,13.2"}),s.createElement("path",{className:"cls-1",d:"M28.94,35.86c4.98-5.88,12.4-9.63,20.69-9.63,8.76,0,16.55,4.2,21.51,10.66"}),s.createElement("path",{className:"cls-1",d:"M71.14,36.9c-4.96-6.47-12.75-10.66-21.51-10.66-8.29,0-15.71,3.75-20.69,9.63"}))),U||(U=s.createElement("line",{className:"cls-2",x1:25.3,y1:77.41,x2:35.97,y2:77.41})),F||(F=s.createElement("line",{className:"cls-2",x1:47.6,y1:77.41,x2:47.6,y2:77.41})))}const q=s.forwardRef(G);var X,Z,K;n.p;function Y(){return(Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function Q(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return s.createElement("svg",Y({id:"Layer_1","data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",ref:t,"aria-labelledby":a},r),n?s.createElement("title",{id:a},n):null,X||(X=s.createElement("defs",null,s.createElement("style",null,"\n      .cls-1 {\n        fill: none;\n        stroke: currentColor;\n        stroke-linecap: round;\n        stroke-linejoin: round;\n        stroke-width: 5px;\n      }\n    "))),Z||(Z=s.createElement("path",{className:"cls-1",d:"M77.14,39.97c0-14.99-12.15-27.14-27.14-27.14s-27.14,12.15-27.14,27.14c0,8.01,4.27,14.96,8.66,21.34,4.55,6.61,8.85,13.36,13.17,20.12,1.32,2.06,2.63,4.12,3.95,6.18.12.19,1.64,2.22,1.53,2.4,5.17-8.18,10.22-16.42,15.45-24.56,4.91-7.63,11.03-14.65,11.5-24.12.02-.45.03-.9.03-1.35Z"})),K||(K=s.createElement("g",null,s.createElement("line",{className:"cls-1",x1:50,y1:30.88,x2:50,y2:51.42}),s.createElement("line",{className:"cls-1",x1:60.27,y1:41.15,x2:39.73,y2:41.15}))))}const J=s.forwardRef(Q);n.p;var ee=n(456),te=n(15),ne=n(31),ae=n(40),re=n(159),ie=n(385),oe=n(39),ce=n(34),le=n(115),se=n(383),de=n(70),ue=n(71),me=n(443),be=n(2);const pe={height:30,minHeight:30,maxHeight:30,paddingTop:0,paddingBottom:0,display:"flex",gap:10},he=e=>{let{actions:t,group:n}=e;const[a,r]=Object(de.a)({placement:"bottom"}),i=t.map((e=>({key:e.key,label:e.label,disabled:e.disabled})));return Object(be.jsxs)("div",{children:[Object(be.jsx)(S.a,Object(c.a)(Object(c.a)({},r),{},{variant:"hover",$isActive:a.open,style:pe,disabled:t.every((e=>e.disabled)),onClick:e=>{e.stopPropagation(),r.onClick()},"aria-label":n.ariaLabel,children:n.label})),Object(be.jsx)(ue.b,Object(c.a)(Object(c.a)({type:"select",options:i},a),{},{onChange:e=>{const n=t.find((t=>t.key===e));n&&n.onClick()}}))]})},ge=e=>{let{actions:t,groups:n,mobileView:a,t:r}=e;const[i,o]=Object(de.a)({placement:"left"});return a?Object(be.jsxs)(R.c,{style:{position:"relative",marginLeft:15},children:[Object(be.jsx)(S.a,Object(c.a)(Object(c.a)({},o),{},{style:{padding:0,background:"none",border:"none",minHeight:10,minWidth:10},stopPropagation:!0,children:Object(be.jsx)(me.c,{})})),Object(be.jsx)(ue.b,Object(c.a)(Object(c.a)({},i),{},{type:"select",options:t,groups:n,alwaysShowGroup:!0,selectGroupAllowed:!1,onChange:e=>{const n=t.find((t=>t.key===e));n&&n.onClick()},usePortal:!0}))]}):Object(be.jsx)(R.c,{row:!0,wrap:!0,gap:10,justifyContent:"flex-end",style:{width:"100%"},children:u.a.entries(n).map(((e,n)=>{let[a,r]=e;return Object(be.jsx)(s.Fragment,{children:Object(be.jsx)(he,{group:r,actions:t.filter((e=>e.groupId===a))})},n)}))})},ve={height:15,width:15},je={scan:Object(be.jsx)(q,{style:ve}),ip:Object(be.jsx)(J,{style:ve}),delete:Object(be.jsx)(A.a,{style:ve}),uninstall:Object(be.jsx)(A.a,{style:ve}),repair:Object(be.jsx)(W.a,{style:ve}),unlink:Object(be.jsx)(ee.a,{style:ve}),add:Object(be.jsx)(z,{style:ve}),remove:Object(be.jsx)(ee.a,{style:ve}),adapter:Object(be.jsx)(P.a,{style:ve})},fe=Object(m.a)()((e=>{let{modalProps:t,explanationOnly:n,closeModal:a,setCameras:r,selectedCameras:i,selectedCamerasLoggers:o,organisations:l,setSelectedCameras:d,shouldDelete:m,t:b}=e;const[p,g]=Object(s.useState)(0),[v,j]=Object(s.useState)({loading:!1,error:!1}),f=i.map((e=>e.uidd)),O=i.reduce(((e,t)=>{var n,a;const r=l.find((e=>e.id===t.owner)),i=null!==(n=null===r||void 0===r?void 0:r.name)&&void 0!==n?n:null===r||void 0===r?void 0:r.email;return Object(c.a)(Object(c.a)({},e),{},{[i]:(null!==(a=e[i])&&void 0!==a?a:0)+1})}),{}),x=()=>{j({loading:!1,error:!1}),g(0),a()},y=async e=>{const t=u.a.uniq(u.a.map(e,"cloudAdapterId").filter((e=>!u.a.isNil(e)||!u.a.isEmpty(e))));let n=[];return await Promise.all(t.map((t=>Object(ae.r)(t,u.a.map(e,"deviceId"),e[0].owner).then((()=>{n=[...n,...u.a.map(e,"uidd")]})).catch((e=>{Object(h.a)(e,{identifier:"Dashboard - uninstall camera deregister",cid:t})}))))),n},{handleRestrictedDemoButtonAsyncAction:w,handleRestrictedDemoFormProps:k}=Object(re.a)(),[E,S,I]=Object(ie.a)({please:{required:!!m,validation:{test:e=>e===b(C.a.cameras.delete.CONFIRMATION_INPUT)}}},(async(e,t)=>{Object(ne.f)("delete",f);const n=await Promise.all(i.map((e=>Promise.all([...u.a.isNil(e.cloudAdapterId)||u.a.isEmpty(e.cloudAdapterId)?[()=>!0]:[Object(ae.N)(e.logger,e.uidd)],Object(ae.p)(e.uidd)]).then((()=>!0)).catch((e=>(Object(h.a)(e,{identifier:"Dashboard - delete camera"}),!1))))));await y(i);const a=f.filter(((e,t)=>n[t]));a.length>0&&(d(a.reduce(((e,t)=>Object(c.a)(Object(c.a)({},e),{},{[t]:!1})),{})),r((e=>{const t=Object(c.a)({},e);return a.forEach((e=>{delete t[e]})),t})));const o=f.filter(((e,t)=>!n[t]));o.length>0?g(o.length):x(),Object(se.b)("delete_camera"),t()}),{resetOnSuccess:!0});
1return Object(be.jsx)(le.c,Object(c.a)(Object(c.a)({},t),{},{heading:b(m?C.a.cameras.delete.DELETE_CAMERAS:C.a.cameras.delete.UNINSTALL_CAMERAS),buttons:!n&&(u.a.some(u.a.values(v),(e=>e))?[]:[{variant:"secondary-grey",text:b(C.a.forms.CANCEL),onClick:x},...m?[Object(c.a)(Object(c.a)({text:b(p>0?C.a.errors.TRY_AGAIN:C.a.actions.DELETE),form:"pleaseDeleteForm"},I),{},{type:"submit"})]:[{text:b(C.a.install.device.UNINSTALL),asyncAction:w((async e=>{Object(se.b)("uninstall_camera"),Object(ne.f)("uninstall",f),j({loading:!0,error:!1});const t=i.reduce(((e,t)=>{let{logger:n,uidd:a}=t;return[...e,{logger:n,uidd:a}]}),[]),n=await(async e=>{let t=[];try{t=await Object(ae.O)(e)}catch(n){Object(ne.T)(u.a.values(e).map((e=>{let{uidd:t}=e;return t})),{error:n,info:"Failed to uninstall all cameras"})}return t})(t),a=await y(i);Object(ne.f)("uninstall_complete",a);const o=await Object(ae.B)(t);r((e=>{const t=Object(c.a)({},e);return u.a.values(t).forEach(((e,n)=>{var r;t[e.uidd]=Object(c.a)(Object(c.a)({},e),{},{cloudAdapterId:a.includes(e.uidd)?null:e.cloudAdapterId,status:(null===o||void 0===o||null===(r=o[e.uidd])||void 0===r?void 0:r.status)||(null===e||void 0===e?void 0:e.status)})})),t}));const l=n.length!==i.length||a.length!==i.length;j({loading:!1,error:l}),d((e=>u.a.difference(e,a))),l||x(),e()}))}]]),closeModal:()=>{v.loading||x()},children:v.loading?Object(be.jsxs)(be.Fragment,{children:[Object(be.jsx)(ce.a,{children:b(C.a.install.install_progress.UNINSTALL_PROGRESS)}),Object(be.jsx)(oe.a,{})]}):v.error?Object(be.jsx)(be.Fragment,{children:Object(be.jsx)(ce.a,{children:b(C.a.errors.ERROR_GENERIC)})}):Object(be.jsxs)(be.Fragment,{children:[p>0?Object(be.jsx)(ce.a,{colour:"#f00",children:b(C.a.cameras.delete.MULTIPLE_FAILURE,{count:p})}):Object(be.jsxs)(be.Fragment,{children:[!n&&Object(be.jsxs)(be.Fragment,{children:[Object(be.jsx)(ce.a,{style:{marginBottom:2},children:b(C.a.cameras.delete["CONFIRMATION_MESSAGE".concat(m?"":"_UNINSTALL","_MULTIPLE")])}),u.a.keys(O).map((e=>Object(be.jsx)(ce.a,{margin:0,children:b(C.a.cameras.delete.CONFIRMATION_MESSAGE_ACCOUNT,{owner:e,count:O[e]})})))]}),Object(be.jsx)(ce.a,{style:{marginTop:15,marginBottom:2},children:b(C.a.cameras.delete.THIS_WILL)}),Object(be.jsx)("ul",{style:{textAlign:"left",marginTop:2},children:[1,2,3].map((e=>Object(be.jsx)("li",{children:b(C.a.cameras.delete[(m?"DELETE":"UNINSTALL")+"_"+e],{count:m?i.length:i.filter((e=>{let{cloudAdapterId:t}=e;return!u.a.isNil(t)})).length})},e)))})]}),m&&!n&&Object(be.jsx)(T.n,Object(c.a)(Object(c.a)({id:"pleaseDeleteForm"},k(S)),{},{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:Object(be.jsx)(T.n.Input,Object(c.a)(Object(c.a)({label:b(C.a.cameras.delete.CONFIRMATION_INPUT_LABEL,{confirmationInput:b(C.a.cameras.delete.CONFIRMATION_INPUT)})},E.please),{},{variant:"light",style:{width:"100%"},autoComplete:"off","aria-label":b(C.a.cameras.delete.CONFIRMATION_INPUT)}))}))]})}))})),Oe=(e,t)=>{var n,a,r,i;const o=e=>""===e||u.a.isNil(e)?"zzzzzz":e.toLowerCase(),c=o(e.siteName),l=o(t.siteName),s=o(e.cloudAdapterId),d=o(t.cloudAdapterId),m=null!==(n=null===(a=e.name)||void 0===a?void 0:a.toLowerCase())&&void 0!==n?n:"zzzzzzz",b=null!==(r=null===(i=t.name)||void 0===i?void 0:i.toLowerCase())&&void 0!==r?r:"zzzzzzz";return s<d?u.a.includes(e.id,"NO_CAMS")&&!u.a.isNil(t.cloudAdapterId)?1:-1:s>d?u.a.includes(t.id,"NO_CAMS")&&!u.a.isNil(e.cloudAdapterId)?-1:1:c<l?u.a.includes(e.id,"NO_CAMS")?-1:1:c>l?u.a.includes(t.id,"NO_CAMS")?1:-1:m<b?-1:m>b?1:0},xe=(e,t,n)=>{var a;const r=n?15:20;return(null===t||void 0===t||null===(a=t.find((t=>e&&t.cloudIds.includes(e))))||void 0===a?void 0:a.siteName)?Object(be.jsx)(D.a,{style:{width:r,height:r,margin:"-4px 5px"},id:"expandable-group-icon"}):e?Object(be.jsx)(M.a,{style:{width:r,height:r,margin:"-4px 10px"},id:"expandable-group-icon"}):Object(be.jsx)(be.Fragment,{})},ye=(e,t,n)=>{var a;return null===t||void 0===t||null===(a=t.find((t=>e&&n===t.uid&&t.cloudIds.includes(e))))||void 0===a?void 0:a.siteName},Ce=(e,t,n)=>{var a;const r=null===t||void 0===t||null===(a=t.find((t=>e&&n===t.uid&&t.cloudIds.includes(e))))||void 0===a?void 0:a.siteName;return r?Object(be.jsxs)("div",{id:"expandable-group-header",style:{maxWidth:"32vw"},children:[Object(be.jsx)(I.a,{children:r}),Object(be.jsx)(N.a,{colour:Object(g.v)()}),Object(be.jsx)(I.a,{children:e})]}):e},Te=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e){const i=t.find((t=>t.id===e));var a,r;return i?n?Object(be.jsxs)("div",{id:"expandable-group-owner",children:[Object(be.jsx)(N.a,{colour:Object(g.v)()}),Object(be.jsx)(I.a,{children:null!==(a=i.name)&&void 0!==a?a:i.email})]}):null!==(r=null===i||void 0===i?void 0:i.name)&&void 0!==r?r:null===i||void 0===i?void 0:i.email:(Object(h.a)({message:"getGroupOwnerName - undefined"},{uid:e,organisations:t,identifier:"getGroupOwnerName"}),"")}return""},we=e=>{let{children:t}=e;return Object(be.jsx)("div",{style:{minWidth:0,maxWidth:"70%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:1,display:"inline-block"},children:t})};t.b=Object(m.a)()((e=>{var t;let{columns:n=[],updateSelectedCameras:a,searchTerm:r,cameras:i,adapterSites:o,selectedCameras:d,fetchImage:m,updateCameras:w,linkedAdapters:D,updateLinkedAdapters:A,adapterGrouping:M=!1,organisations:P,limit:L=1/0,t:_}=e,z=Object(l.a)(e,["columns","updateSelectedCameras","searchTerm","cameras","adapterSites","selectedCameras","fetchImage","updateCameras","linkedAdapters","updateLinkedAdapters","adapterGrouping","organisations","limit","t"]);const B=Object(b.h)(),V=Object(y.t)(),[$,U,F]=Object(p.a)(),[W,H]=Object(s.useState)(""),[G,q]=Object(s.useState)(!1),X=null===P||void 0===P?void 0:P.filter((e=>e.coowner)),Z=Object(s.useMemo)((()=>[{key:"checkbox",header:e=>{var t,n;return Object(be.jsx)(T.a,{"aria-label":_(C.a.actions.select.SELECT_ALL),value:(null===e||void 0===e||null===(t=e.filter((e=>!e.uidd.includes("NO_CAMS"))))||void 0===t?void 0:t.length)>0&&e.filter((e=>!e.uidd.includes("NO_CAMS"))).every((e=>{let{selected:t}=e;return t})),disabled:0===(null===e||void 0===e||null===(n=e.filter((e=>!e.uidd.includes("NO_CAMS"))))||void 0===n?void 0:n.length)||(null===e||void 0===e?void 0:e[0].totalSelected)>=L&&!e.every((e=>{let{selected:t}=e;return t}))||e.every((e=>{let{disabled:t}=e;return t})),onChange:t=>{const n=e.filter((e=>{let{selected:t}=e;return t})).length;if(t.target.checked){const t=[];for(const{selected:a,disabled:r,uidd:i}of e){if(t.length+n>=L)break;a||r||i.includes("NO_CAMS")||t.push(i)}t.length>0&&a(t.reduce(((e,t)=>Object(c.a)(Object(c.a)({},e),{},{[t]:!0})),{}))}else n>0&&a(e.reduce(((e,t)=>{let{uidd:n}=t;return Object(c.a)(Object(c.a)({},e),{},{[n]:!1})}),{}))},variant:z.checkboxVariant,$noMTop:!0})},renderCell:e=>u.a.includes(e.id,"NO_CAMS")?null:Object(be.jsx)(Se,Object(c.a)(Object(c.a)({},e),{},{limit:L,updateSelectedCameras:a,variant:z.checkboxVariant})),hideOnMobile:!0,width:"30px"},{key:"thumb",renderCell:e=>Ee(e,m),width:100},{header:_(C.a.cameras.CAMERA),renderCell:e=>{let{name:t,searchTerm:n}=e;return Object(be.jsx)(k.a,{searchString:n,text:t})},sort:(e,t)=>{let{name:n}=e,{name:a}=t;return Object(v.a)(n,a)},key:"camera",width:"30%"},...n]),[_,m,a,n,L]),[K,Y]=Object(s.useState)(window.innerWidth<600);Object(s.useLayoutEffect)((()=>{const e=()=>Y(window.innerWidth<600);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]);const[Q,J,ee]=Object(p.a)(),[ne,ae]=Object(s.useState)(""),[re,ie]=Object(s.useState)();return Object(be.jsxs)(be.Fragment,{children:[Object(be.jsx)(E.a,Object(c.a)({columns:Z,data:i.sort(((e,t)=>Oe(e,t))).map((e=>Object(c.a)({key:e.uidd,selected:d.includes(e.uidd),searchTerm:r,mobileView:K,totalSelected:d.length},e))),groupBy:M?"cloudAdapterId":void 0,getRowGroupCells:M?e=>(e=>{var t,n,r,l;const s=function(e){var t,n;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=null!==(t=null===(n=D.find((t=>t.cloudid===e)))||void 0===n?void 0:n.uid)&&void 0!==t?t:a[0].owner,o="?d=true&cloudid=".concat(e,"&as=").concat(r),c=a.filter((e=>d.includes(e.uidd))),l=[{key:"scan",label:Object(be.jsxs)(R.c,{row:!0,alignItems:"center",gap:5,children:[je.scan,Object(be.jsx)(I.a,{children:_(C.a.install.AUTO_SCAN)})]}),onClick:()=>{B.push(te.f.install.path+"".concat(o,"&action=new"))},groupId:"add"},{key:"ip",label:Object(be.jsxs)(R.c,{row:!0,alignItems:"center",gap:5,children:[je.ip,Object(be.jsx)(I.a,{children:_(C.a.install.add_by_ip.ADD_BY_IP)})]}),onClick:()=>{B.push(te.f.install.path+"".concat(o,"&action=new&type=addip"))},groupId:"add"}],s=0===c.length||c.some((e=>"a"!==e.access))||u.a.isNil(e)||r!==V&&!P.filter((e=>e.coowner)).map((e=>e.id)).includes(r),m=0===c.length||c.some((e=>"a"!==e.access)),b=[{key:"delete",label:Object(be.jsxs)(R.c,{row:!0,alignItems:"center",gap:5,style:{color:m?Object(g.s)(50):g.u},children:[je.delete,Object(be.jsx)(I.a,{colour:m?Object(g.s)(50):g.u,children:_(C.a.technical.DELETE_SELECTED)})]}),onClick:()=>{ae("DELETE"),ie(c),J()},groupId:"remove",disabled:m},{key:"uninstall",label:Object(be.jsxs)(R.c,{row:!0,alignItems:"center",gap:5,style:{color:s?Object(g.s)(50):Object(g.s)()},children:[je.uninstall,Object(be.jsx)(I.a,{children:_(C.a.technical.UNINSTALL_SELECTED)})]}),onClick:()=>{ae("UNINSTALL"),ie(c),J()},groupId:"remove",disabled:s}],p={name:"remove",label:Object(be.jsxs)(R.c,{row:!0,centre:!0,gap:5,children:[je.remove," ",_(C.a.technical.REMOVE_CAMERAS)]}),disabled:b.every((e=>e.disabled)),ariaLabel:_(C.a.actions.REMOVE_CAMERAS_FROM_ADAPTER,{cloudId:e})},h={add:{name:"add",label:Object(be.jsxs)(R.c,{row:!0,centre:!0,gap:5,children:[je.add," ",_(C.a.actions.ADD_CAMERAS)]}),disabled:l.every((e=>e.disabled)),ariaLabel:_(C.a.actions.ADD_CAMERAS_TO_ADAPTER,{cloudId:e})},remove:p};if(e&&r&&(V===r||X.map((e=>e.id)).includes(r))){const t=a.length>0,n=[{key:"repair",label:Object(be.jsxs)(R.c,{row:!0,alignItems:"center",gap:5,children:[je.repair,Object(be.jsx)(I.a,{children:_(C.a.technical.REPAIR_ADAPTER)})]}),onClick:()=>{localStorage.setItem("devicesToRepair",i.filter((t=>t.cloudAdapterId===e)).map((e=>e.deviceId))),B.push(te.f.install.path+"".concat(o,"&action=repair"))},disabled:!t,groupId:"adapter"},{key:"unlink",label:Object(be.jsxs)(R.c,{row:!0,alignItems:"center",gap:5,style:{color:g.u},children:[je.unlink,Object(be.jsx)(I.a,{children:_(C.a.technical.UNLINK_ADAPTER)})]}),onClick:()=>{H(e),U()},groupId:"adapter"}];h.adapter={name:"adapter",label:Object(be.jsxs)(R.c,{row:!0,centre:!0,gap:5,children:[je.adapter," ",_(C.a.actions.ADAPTER_MAINTENANCE)]}),ariaLabel:_(C.a.actions.ADAPTER_MAINTENANCE,{cloudId:e})};const r=[...l,...b,...n];return Object(be.jsx)(ge,{actions:r,groups:h,mobileView:K})}return u.a.isNil(e)||a.some((e=>"a"===e.access))?Object(be.jsx)(ge,{actions:[...b],groups:{remove:p},mobileView:K}):Object(be.jsx)(be.Fragment,{})},m=null!==(t=null===(n=D.find((t=>t.cloudid===e)))||void 0===n?void 0:n.uid)&&void 0!==t?t:null===(r=i.find((t=>t.cloudAdapterId===e)))||void 0===r?void 0:r.owner,b=ye(e,o,m);return K?[{content:Object(be.jsxs)(R.c,{row:!0,justifyContent:"space-between",alignItems:"center",style:{width:"100%",fontSize:17},children:[Object(be.jsxs)(R.c,{row:!0,alignItems:"center",children:[xe(e,o,K),e?null!==b&&void 0!==b?b:e:_(C.a.playback.selection.NO_CLOUD_ADAPTER)]}),s(e,i.filter((t=>t.cloudAdapterId===e&&!t.uidd.includes("NO_CAMS"))))]})},{content:Object(be.jsxs)(R.c,{row:!0,justifyContent:"space-between",alignItems:"center",style:{width:"100%",fontWeight:100},children:[Object(be.jsxs)(we,{children:[e&&b&&Object(be.jsx)("span",{children:e}),e&&b&&e&&!j.d&&Object(be.jsx)(N.a,{colour:Object(g.v)(),style:{display:"inline"}}),e&&!j.d&&Object(be.jsx)("span",{children:Te(m,P,!1)})]}),i.filter((t=>t.cloudAdapterId===e&&!t.uidd.includes(t.cloudAdapterId))).length>0&&Object(be.jsx)(S.a,{variant:"text",onClick:t=>{const n=i.filter((t=>t.cloudAdapterId===e)).map((e=>e.uidd)).every((e=>d.includes(e)));a(i.reduce(((t,a)=>a.cloudAdapterId===e?Object(c.a)(Object(c.a)({},t),{},{[a.uidd]:!n}):t),{})),t.stopPropagation()},children:i.filter((t=>t.cloudAdapterId===e)).map((e=>e.uidd)).every((e=>d.includes(e)))?"deselect all":"select all"})]})}]:[{cellProps:{colSpan:(Z.length>5?Z.length-5:2).toString(),style:{textAlign:"left"}},content:Object(be.jsxs)(R.c,{row:!0,alignItems:"center",wrap:!0,style:{height:45},id:"expandable-group-name",children:[i.filter((t=>t.cloudAdapterId===e&&!t.uidd.includes(t.cloudAdapterId))).length>0&&Object(be.jsx)(T.a,{"aria-label":_(C.a.actions.select.SELECT_OPTION,{option:e}),value:i.filter((t=>t.cloudAdapterId===e)).map((e=>e.uidd)).every((e=>d.includes(e))),onChange:t=>{a(i.reduce(((n,a)=>a.cloudAdapterId===e?Object(c.a)(Object(c.a)({},n),{},{[a.uidd]:t.target.checked}):n),{}))},onClick:e=>e.stopPropagation(),style:{marginRight:5}}),xe(e,o),null!==(l=Ce(e,o,m))&&void 0!==l?l:_(C.a.playback.selection.NO_CLOUD_ADAPTER),e&&!j.d?Te(m,P):Object(be.jsx)(be.Fragment,{})]}),key:"".concat(e," group name")},{cellProps:{colSpan:(Z.length>5?Z.length-3:2).toString(),style:{}},content:s(e,i.filter((t=>t.cloudAdapterId===e&&!t.uidd.includes("NO_CAMS")))),key:"".concat(e," group actions")}]})(e):void 0,fullWidth:!0,memoize:!0,pageLimit:i.length>25?[25,50]:void 0,cellPadding:10,mobileMaxWidth:600,mobileRowHeader:"camera",getMobileRowIcon:e=>e.unselectable?Object(be.jsx)(be.Fragment,{}):Object(be.jsx)(Se,Object(c.a)(Object(c.a)({},e),{},{limit:L,updateSelectedCameras:a})),alternatingRows:!1,marginTop:0},z)),Object(be.jsx)(x.a,{modalProps:$,cancelCb:F,continueCb:e=>(async(e,t)=>{q(!1);const n=i.filter((e=>e.cloudAdapterId===t)),a=D.find((e=>e.cloudid===t)).uid;if(a===V||X.map((e=>e.id)).includes(a)){try{await Object(f.j)(t,a,(e=>{throw q(!0),Error(e)})),await Object(O.f)(t,a,(()=>{A((e=>e.filter((e=>e.cloudid!==t)))),w((e=>{const a=Object(c.a)({},e);
1return n.forEach((e=>{let{uidd:n}=e;n.includes(t)?delete a[n]:a[n]=Object(c.a)(Object(c.a)({},a[n]),{},{cloudAdapterId:null})})),a})),H(""),F()}),(()=>{q(!0)}))}catch(r){Object(h.a)(r,{identifier:"Dashboard - unlink adapter - unlink",cloudId:t})}e()}else Object(h.a)({message:"Unlink adapter - forbidden"},{identifier:"Dashboard - unlink adapter - unlink",cloudId:t,CAOwner:a,currentUserId:V})})(e,W),unlinkError:G,cloudId:W,account:W?Te(null===D||void 0===D||null===(t=D.find((e=>e.cloudid===W)))||void 0===t?void 0:t.uid,P,!1):"",t:_}),re&&re.length>0&&Object(be.jsx)(fe,{modalProps:Q,closeModal:ee,setCameras:w,organisations:P,selectedCameras:re,setSelectedCameras:a,shouldDelete:ne.includes("DELETE"),explanationOnly:ne.includes("explanation")})]})}));const ke=e=>{let{loadImage:t,img:n,name:a}=e;return Object(be.jsx)(w.a,{width:80,height:45,src:n,alt:a,enlargeOnHover:!0,loadImage:t,timeout:1e3,placeholder:Object(be.jsx)("div",{style:{height:45,width:80},"data-testid":"ImageLoader.Placeholder"})})},Ee=(e,t)=>{let{img:n,name:a,uidd:r,id:i}=e;return u.a.includes(i,"NO_CAMS")?Object(be.jsx)("div",{style:{minWidth:80,minHeight:45}}):Object(be.jsx)(ke,{loadImage:()=>t(r),img:n,name:a})},Se=Object(m.a)()((e=>{let{uidd:t,selected:n,name:a,updateSelectedCameras:r,disabled:i,limit:o=1/0,totalSelected:c,variant:l,t:s}=e;const d=!n&&c>=o||i;return Object(be.jsx)(T.a,{onChange:e=>r({[t]:e.target.checked}),"aria-label":s(C.a.actions.select.SELECT_OPTION,{option:a}),value:n,disabled:d,style:{cursor:d?"not-allowed":"pointer"},variant:l,$noMTop:!0})}))},393:function(e,t,n){"use strict";var a=n(386);n.d(t,"a",(function(){return a.a}))},394:function(e,t,n){"use strict";n.d(t,"d",(function(){return s})),n.d(t,"b",(function(){return d})),n.d(t,"a",(function(){return u})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return b})),n.d(t,"e",(function(){return p}));var a=n(3),r=n(8),i=n.n(r),o=n(10),c=n(31),l=n(13);const s={400:"NOT_EXIST",401:"UNAUTHORISED",404:"NOT_EXIST",403:"anotherAccount"},d=e=>!e||e.length<6||e.length>6,u=async e=>{let t=(await Object(o.e)("auth","GET","/adapter/".concat(e,"/platform"))).data.limit;return 0===t&&(t=64),t},m=Object(o.c)((async function(e,t){let n,{makePrivateRequest:r}=e,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object(l.t)(),s=arguments.length>3?arguments[3]:void 0;const d=Object(a.a)(Object(a.a)({},s),{},{cloudId:t,owner:i});let u;try{var m,b;let e=await r("auth","POST","/adapter/".concat(t,"/link/").concat(i),{headers:{"api-version":"2.0.0"},region:Object(l.s)(i)});return u=null===(m=e.data)||void 0===m?void 0:m.location,(null===(b=e.data)||void 0===b?void 0:b.location)&&(e=await Object(o.e)(e.data.location,"POST","/adapter/".concat(t,"/link/").concat(i),{headers:{Authorization:"ManythingToken ".concat(Object(l.f)())}})),n=e.status,Object(c.c)(d,n,u),e.data.result}catch(p){throw n=p.response.status,400===n&&(n=404),Object(c.c)(d,n,u),p}})),b=Object(o.c)((async function(e,t){let{makePrivateRequest:n}=e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object(l.t)(),i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};try{const e=await n("auth","POST","/adapter/".concat(t,"/unlink/").concat(r),{region:Object(l.s)(r)});if(Object(c.V)(Object(a.a)(Object(a.a)({},s),{},{cloudId:t,owner:r}),e.status),"done"!==e.data.result)throw e.data.result;i()}catch(d){Object(c.V)(Object(a.a)(Object(a.a)({},s),{},{cloudId:t,owner:r}),d.status),o()}})),p=(e,t)=>{Object(c.N)(e,"start_wizard",{type:i.a.isNil(t)?"new_adapter":t});const n=new Date;Object(c.X)(e,navigator.userAgent,navigator.language,n.getHours()+":"+n.getMinutes()+":"+n.getSeconds())}},395:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"c",(function(){return l})),n.d(t,"d",(function(){return s}));var a=n(3),r=n(10),i=n(13);const o=Object(r.c)((async e=>{let{makePrivateRequest:t}=e;const{data:n}=await t("auth","GET","/adapters/sitenames");return n})),c=Object(r.c)((async function(e,t,n){let{makePrivateRequest:a}=e,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Object(i.t)();return a("auth","PUT","/adapters/".concat(r,"/sitenames"),{data:{siteName:null!==n&&void 0!==n?n:void 0,cloudIds:t},region:Object(i.s)(r)})})),l=Object(r.c)((async function(e){let{makePrivateRequest:t}=e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object(i.t)();const{data:a}=await t("auth","GET","/adapters/".concat(n),{region:Object(i.s)(n)});return a})),s=Object(r.c)((async function(e){let{makePrivateRequest:t}=e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[Object(i.t)()];const r=n.map((e=>t("auth","GET","/adapters/".concat(e),{region:Object(i.s)(e)}).then((t=>t.data.map((t=>Object(a.a)(Object(a.a)({},t),{},{uid:e}
1))))).catch((t=>(console.error("Failed to fetch adapters for uid ".concat(e,":"),t),[]))))),o=await Promise.all(r);return o.flat()}))},396:function(e,t,n){"use strict";n.d(t,"a",(function(){return S}));var a,r,i,o,c,l,s,d=n(375),u=n(48),m=n(4),b=n(57),p=n(102),h=n(35),g=n(19),v=n(6),j=n(7),f=n(5);const O=j.c.div(a||(a=Object(v.a)(["\n    width: 100%;\n    display: grid;\n    grid-template-columns: 100%;\n    grid-template-rows: auto minmax(auto, 1fr);\n    border-radius: 10px 10px 0 0;\n    overflow: hidden;\n    max-height: ","%;\n    background: ",";\n    color: ",";\n    padding: ","px;\n"])),90,Object(f.v)(),Object(f.s)(),15);O.displayName="ContainerCard";const x=j.c.div(r||(r=Object(v.a)(["\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) min-content;\n    grid-template-rows: auto;\n    gap: 20px;\n    align-items: center;\n    margin-bottom: ","px;\n"])),15);x.displayName="HeaderRow";const y=j.c.div(i||(i=Object(v.a)(["\n    \n    width: 26px;\n    height: 20px;\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n\n    svg {\n        width: auto;\n        height: auto;\n        max-width: 100%;\n        max-height: 100%;\n\n        /* Safari needs this. */\n        flex-grow: 1;\n    }\n"])));y.displayName="HeaderIconContainer";const C=j.c.button(o||(o=Object(v.a)(["\n    background: none;\n    border: none;\n    height: 20px;\n    width: 20px;\n    min-height: 20px;\n    min-width: 20px;\n    padding: 0;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    color: inherit;\n\n    svg {\n        height: 75%;\n        width: 75%;\n    }\n"])));C.displayName="CloseButton";const T=j.c.div(c||(c=Object(v.a)(["\n    display: grid;\n    grid-template-columns: 100%;\n    grid-template-rows: ",";\n    gap: ","px;\n    border-radius: 10px 10px 0 0;\n\n    // To ensure it scrolls\n    min-height: 0;\n"])),(e=>{let{$button:t}=e;return t?"minmax(0, 1fr) auto":"100%"}),15);T.displayName="LightCard";const w=j.c.div(l||(l=Object(v.a)(["\n    overflow-y: auto;\n    background: #fff;\n    border-radius: 10px 10px 0 0;\n"])));w.displayName="Content";const k=j.c.div(s||(s=Object(v.a)(["\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n    background: #fff;\n    padding 0 15px;\n"])));k.displayName="ButtonRow";var E=n(2);var S=Object(d.a)()((e=>{let{show:t,closeModal:n,containerRef:a,headerText:r,headerIcon:i,buttonText:o,hideButton:c=!1,minHeightPercentage:l=0,children:s,t:d}=e;const v=i;return Object(E.jsx)(p.a,{show:t,closeModal:n,containerRef:a,style:{alignItems:"flex-end"},children:Object(E.jsxs)(O,{onClick:e=>e.stopPropagation(),style:{minHeight:l?"".concat(Math.min(l,90),"%"):void 0},children:[Object(E.jsxs)(x,{children:[Object(E.jsxs)(g.c,{alignItems:"centre",gap:10,children:[v&&Object(E.jsx)(y,{children:Object(E.jsx)(v,{})}),r&&Object(E.jsx)(b.a,{variant:"4",noDot:!0,style:{margin:0,color:"inherit"},children:r})]}),Object(E.jsx)(C,{onClick:n,"aria-label":d(m.a.actions.CLOSE),children:Object(E.jsx)(u.a,{})})]}),Object(E.jsxs)(T,{$button:!c,children:[Object(E.jsx)(w,{children:s}),!c&&Object(E.jsx)(k,{style:{padding:0},children:Object(E.jsx)(h.a,{onClick:n,style:{width:"100%"},children:null!==o&&void 0!==o?o:d(m.a.forms.APPLY)})})]})]})})}))},398:function(e,t,n){"use strict";var a=n(3),r=n(1),i=n(103),o=n.n(i),c=n(24),l=n(60);t.a=()=>{const e=Object(c.h)(),t=Object(r.useCallback)((t=>{const n=o.a.stringify(Object(a.a)(Object(a.a)({},Object(l.a)(e.location.search)),t),{arrayFormat:"brackets"});return"".concat(e.location.pathname).concat(n.length>0?"?".concat(n):"")}),[e]),n=Object(r.useCallback)((function(n){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(r){const t=o.a.stringify(Object(a.a)(Object(a.a)({},Object(l.a)(e.location.search)),n),{arrayFormat:"brackets"});e.replace({pathname:e.location.pathame,search:t.length>0?"?".concat(t):void 0,state:e.location.state})}else e.push(t(n))}),[e,t]);return{getCurrentPathWithUpdatedParams:t,modifyQueryString:n}}},400:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a,r=n(1);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function o(e,t){let{title:n,titleId:o}=e,c=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return r.createElement("svg",i({"data-name":"Layer 1",viewBox:"0 0 79.02 60.89",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":o},c),n?r.createElement("title",{id:o},n):null,a||(a=r.createElement("g",{fill:"none"},r.createElement("path",{fill:"none",d:"m48.11 5h-31.55a1.76 1.76 0 0 0-1.76 1.76v37.52a1.76 1.76 0 0 0 1.76 1.81h31.55a1.77 1.77 0 0 0 1.77-1.77v-37.56a1.76 1.76 0 0 0-1.77-1.76z"}),r.createElement("path",{fill:"none",d:"m9.8 44.28v-29.8h-3a1.81 1.81 0 0 0-1.8 1.8v37.81a1.8 1.8 0 0 0 1.8 1.8h31.79a1.8 1.8 0 0 0 1.8-1.8v-3h-23.83a6.77 6.77 0 0 1-6.76-6.81z"}),r.createElement("path",{fill:"currentColor",d:"m48.11 0h-31.55a6.76 6.76 0 0 0-6.76 6.76v2.72h-3a6.81 6.81 0 0 0-6.8 6.8v37.81a6.81 6.81 0 0 0 6.8 6.8h31.79a6.81 6.81 0 0 0 6.8-6.8v-3h2.72a6.78 6.78 0 0 0 6.77-6.77v-37.56a6.77 6.77 0 0 0-6.77-6.76zm-7.72 54.09a1.8 1.8 0 0 1-1.8 1.8h-31.82a1.8 1.8 0 0 1-1.8-1.8v-37.81
1a1.81 1.81 0 0 1 1.8-1.8h3v29.8a6.77 6.77 0 0 0 6.79 6.81h23.83zm9.49-9.83a1.77 1.77 0 0 1-1.77 1.83h-31.55a1.76 1.76 0 0 1-1.76-1.77v-37.56a1.76 1.76 0 0 1 1.76-1.76h31.55a1.76 1.76 0 0 1 1.77 1.76z"}),r.createElement("path",{fill:"currentColor",d:"m73.04 2.78a2.45 2.45 0 0 0-1.09 0.25l-12.81 6.24a2.5 2.5 0 1 0 2.19 4.49l12-5.85a2.24 2.24 0 0 1 0.66 1.71v29.47a2.26 2.26 0 0 1-0.64 1.69l-12.1-6.45a2.5029 2.5029 0 1 0-2.35 4.42l12.95 6.89a2.43 2.43 0 0 0 1.17 0.3c3.29 0 6-3.07 6-6.85v-29.47c-0.01-3.78-2.69-6.84-5.98-6.84z"}))))}const c=r.forwardRef(o);n.p},401:function(e,t,n){"use strict";n.d(t,"a",(function(){return G}));var a,r,i,o,c=n(3),l=n(9),s=n(1),d=n(375),u=n(8),m=n.n(u),b=n(118),p=n(189),h=n(183),g=n(390),v=n(14),j=n(4),f=n(70),O=n(17),x=n(73),y=n(114),C=n(116),T=n(21),w=n(71),k=n(72),E=n(190),S=n(396),I=n(6),R=n(7),N=n(5),D=n(36),A=n(12);const M=R.c.div(a||(a=Object(I.a)(["\n    height: ","px;\n    border-radius: 1000px;\n    display: flex;\n    align-items: center;\n    gap: 4px;\n    font-size: 90%;\n\n    ","\n\n    button {\n        cursor: pointer;\n        ","\n    }\n    button:disabled {\n        cursor: not-allowed;\n        opacity: .6;\n    }\n"])),30,A.i?"\n        width: min(100%, 400px);\n        justify-self:center;\n    ":"\n        width: auto;\n    ",A.i?"\n            flex-grow: 1;\n        ":"");M.displayName="DesktopDateTimePickerButtonContainer";const P=R.c.div(r||(r=Object(I.a)(["\n\n    button {\n        height: ","px;\n        width: ","px;\n        border-radius: ","px;\n        background: "," !important;\n        color: #fff;\n    }\n"])),26,26,26,(e=>"dark"===e?Object(N.v)(15):Object(N.s)(15)));P.displayName="ArrowButtonContainer";const L=R.c.button(i||(i=Object(I.a)(["\n\n    ","\n"])),(e=>{let{styleType:t,variant:n}=e;return"input"===t?"\n        ".concat(Object(D.e)({variant:n}),"\n    "):"\n        border: none;\n        height: 100%;\n        padding: 0;\n        font-weight: 100;\n        padding: 0 10px;\n        border-radius: ".concat(30,"px;\n    ")}));L.displayName="PopupTriggerButton";const _=R.c.button(o||(o=Object(I.a)(["\n    border: none;\n    background: ",";\n    color: ",";\n    border-radius: ","px;\n    font-weight: 100;\n    padding: 0 10px;\n    height: 100%;\n\n    ","\n"])),(e=>{let{$backgroundColour:t}=e;return t}),(e=>{let{$whiteText:t}=e;return t?"#FFF":"#000"}),30,(e=>{let{$breakpoint:t}=e;return"number"===typeof t?"\n        @media (max-width: ".concat(t,"px) {\n            display: none;\n        }\n    "):""}));_.displayName="ShortcutButton";var z=n(2);const B=["datetime","date-range","datetime-range"],V=700,$=Object(d.a)()(Object(s.memo)((e=>{let{buttonText:t,todayButtonBreakpoint:n,bottomPanelBreakpoint:a=V,disabled:r=!1,defaultValue:i,variant:o="dark",buttonType:d,noShortcuts:u=!1,clickOnly:b=!1,t:p,tReady:h}=e,g=Object(l.a)(e,["buttonText","todayButtonBreakpoint","bottomPanelBreakpoint","disabled","defaultValue","variant","buttonType","noShortcuts","clickOnly","t","tReady"]);const f=B.includes(g.type)&&!u,[y,C,w]=Object(s.useMemo)((()=>{const e=(e,t)=>{const n=Object(v.l)(e,g.timezone),a=new Date(n.year,n.month,n.day);a.setDate(a.getDate()+t);const r=a.getFullYear(),i=a.getMonth(),o=a.getDate();return Object(v.f)(r,i,o,n.hour,n.minute,g.timezone,!0)+e%6e4},t=e=>{const t="datetime"===g.type?g.min:g.minDateTime,n="datetime"===g.type?g.max:g.maxDateTime,a="datetime"===g.type;return(!t||e>=t||!a&&Object(v.a)(t,e,g.timezone))&&(!n||e<=n||!a&&Object(v.a)(n,e,g.timezone))};if("date-range"===g.type||"datetime-range"===g.type){var n,a;const r=null!==(n=g.startDateTime)&&void 0!==n?n:null===i||void 0===i?void 0:i[0],o=null!==(a=g.endDateTime)&&void 0!==a?a:null===i||void 0===i?void 0:i[1];let c,l;if(r&&o){const n=Object(v.l)(r,g.timezone),a=Object(v.l)(o,g.timezone),i=Object(v.f)(n.year,n.month,n.day,0,0,g.timezone,!0),s=Object(v.f)(a.year,a.month,a.day,0,0,g.timezone,!0),d=Math.round((s-i)/Object(v.g)(1))+1,u=e(r,-d),m=e(o,-d),b=e(r,d),p=e(o,d);c=t(u)&&t(m)?[u,m]:null,l=t(b)&&t(p)?[b,p]:null}const{year:s,month:d,day:u}=Object(v.l)((new Date).getTime(),g.timezone),m=Object(v.f)(s,d,u,0,0,g.timezone,!0),b=Object(v.f)(s,d,u,23,59,g.timezone,!1);let p=t(m)&&t(b)&&!(m===r&&b===o);return"date-range"===g.type&&p&&(p=!Object(v.a)(m,r,g.timezone)||!Object(v.a)(b,o,g.timezone)),[c,l,p?[m,b]:null]}if("datetime"===g.type){const n=g.value?e(g.value,-1):null,a=g.value?e(g.value,1):null;let i;const{year:o,month:c,day:l}=Object(v.l)(Date.now(),g.timezone),s=Object(v.f)(o,c,l,0,0,g.timezone,!0),d=Object(v.f)(o,c,l,23,59,g.timezone,!1);if(!g.value||g.value<s||g.value>d){if(g.value){const{hour:e,minute:n}=Object(v.l)(g.value,g.timezone),a=Object(v.f)(o,c,l,e,n,g.timezone,!0);t(a)&&(i=a)}var r;if(!i)if(t(s))i=m.a.clamp(Date.now()-Object(v.x)(1),s,null!==(r=g.max)&&void 0!==r?r:Number.MAX_SAFE_INTEGER)}return[t(n)?n:null,t(a)?a:null,i]}
1return[null,null,null]}),[g.type,g.value,g.startDateTime,g.endDateTime,g.timezone,g.min,g.minDateTime,g.max,g.maxDateTime,i]),{accentColour:E,accentColour2:S,whiteOverAccent:I}=Object(O.a)(),[R,N]=Object(x.a)({disabled:r||!w}),[D,A]=Object(s.useState)(window.innerWidth<a);Object(s.useLayoutEffect)((()=>{const e=()=>A(window.innerWidth<a);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[a]);const P="date-range"!==g.type;return Object(z.jsx)(z.Fragment,{children:Object(z.jsxs)(M,{children:[f&&Object(z.jsx)(W,{next:!1,onChange:g.onChange,value:y,disabled:r,timezone:g.timezone,includeTimeInDescription:P}),D?Object(z.jsx)(F,Object(c.a)({disabled:r,buttonText:t,styleType:d,variant:o},g)):Object(z.jsx)(U,Object(c.a)({disabled:r,buttonText:t,styleType:d,variant:o,clickOnly:b},g)),f&&Object(z.jsx)(W,{next:!0,onChange:g.onChange,value:C,disabled:r,timezone:g.timezone,includeTimeInDescription:P}),f&&Object(z.jsxs)(z.Fragment,{children:[Object(z.jsx)(_,Object(c.a)(Object(c.a)({onClick:()=>g.onChange(w),$whiteText:S||I,$backgroundColour:null!==S&&void 0!==S?S:E,$breakpoint:n},N),{},{children:p(j.a.time.TODAY)})),Object(z.jsx)(k.a,Object(c.a)(Object(c.a)({},R),{},{children:Object(z.jsx)(T.a,{block:!0,style:{width:"max-content",maxWidth:"90vw"},children:H(Array.isArray(w)?w[0]:w,Array.isArray(w)?w[1]:w,g.timezone,j.a.time.goTo.GO_TO_DATE,j.a.time.goTo.GO_TO_DATE_RANGE,p,!P)})}))]})]})})}))),U=e=>{let{disabled:t,buttonText:n,styleType:a,variant:r,clickOnly:i=!1}=e,o=Object(l.a)(e,["disabled","buttonText","styleType","variant","clickOnly"]);const[s,d]=Object(f.a)({fixedPositioning:!0,placement:"bottom",clickOnly:i});return Object(z.jsxs)(z.Fragment,{children:[Object(z.jsx)(L,Object(c.a)(Object(c.a)({},d),{},{disabled:t,styleType:a,variant:r,children:i?Object(z.jsxs)(T.a,{block:!0,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"8px"},children:[Object(z.jsx)("span",{children:n}),Object(z.jsx)(g.a,{style:{width:"12px",height:"12px",transform:s.open?"rotate(0deg)":"rotate(180deg)",transition:"transform 0.2s"}})]}):n})),Object(z.jsx)(w.a,Object(c.a)(Object(c.a)({},s),o))]})},F=Object(d.a)()((e=>{let{disabled:t,buttonText:n,styleType:a,variant:r,title:i,t:o}=e,s=Object(l.a)(e,["disabled","buttonText","styleType","variant","title","t"]);const{accentColour:d}=Object(O.a)(),[u,m]=Object(y.a)();return Object(z.jsxs)(z.Fragment,{children:[Object(z.jsx)(L,{onClick:m,disabled:t,styleType:a,variant:r,children:n}),Object(z.jsx)(S.a,Object(c.a)(Object(c.a)({},u),{},{headerText:null!==i&&void 0!==i?i:o(s.type.includes("datetime")?j.a.time.DATE_TIME:s.type.includes("date")?j.a.time.DATE:s.type.includes("time")?j.a.time.TIME:""),headerIcon:h.a,children:Object(z.jsx)(E.a,Object(c.a)(Object(c.a)({type:s.type},s),{},{colour:d}))}))]})})),W=Object(d.a)()((e=>{let t,{next:n=!1,onChange:a,value:r,disabled:i,timezone:o,includeTimeInDescription:c=!0,t:l}=e;return"number"===typeof r?t=l(n?j.a.time.next.GO_TO_NEXT_DAY_X:j.a.time.previous.GO_TO_PREVIOUS_DAY_X,{date:Object(v.B)(r,{timezone:o,includeTime:c})}):Array.isArray(r)&&(t=H(r[0],r[1],o,n?j.a.time.next.GO_TO_NEXT_PERIOD_X:j.a.time.previous.GO_TO_PREVIOUS_PERIOD_X,n?j.a.time.next.GO_TO_NEXT_PERIOD_X_TO_X:j.a.time.previous.GO_TO_PREVIOUS_PERIOD_X_TO_X,l,!c)),Object(z.jsx)(P,{children:Object(z.jsx)(C.a,{disabled:i||!r,onClick:()=>{a(r)},svgMaxWidth:"45%",svgMaxHeight:"45%",description:Object(z.jsx)(T.a,{block:!0,style:{width:"max-content",maxWidth:"90vw"},children:t}),"aria-label":t,tooltipPlacement:"bottom",children:n?Object(z.jsx)(p.a,{}):Object(z.jsx)(b.a,{})})})})),H=function(e,t,n,a,r,i){let o=arguments.length>6&&void 0!==arguments[6]&&arguments[6];const c="00:00:00"===new Date(e).toLocaleTimeString("en-GB",{timeZone:n}),l="23:59:59"===new Date(t).toLocaleTimeString("en-GB",{timeZone:n}),s=Object(v.B)(e,{timezone:n,includeTime:!c&&!o}),d=Object(v.B)(t,{timezone:n,includeTime:!l&&!o});return s===d?i(a,{date:s}):i(r,{date1:s,date2:d})};var G=$},404:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n(3),r=n(1),i=n(8),o=n.n(i),c=n(160),l=n(40);var s=function(e,t){let{maxEntries:n=1/0,storeAsObjectUrl:i=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=Object(r.useMemo)((()=>o.a.mapValues(e,"logger")),[e]),[d,u]=Object(r.useState)({}),m=Object(r.useRef)([]),b=Object(r.useRef)({}),p=Object(r.useRef)([]),h=Object(r.useCallback)((e=>{const t=b.current[e];t&&(URL.revokeObjectURL(t),delete b.current[e])}),[]),g=Object(r.useCallback)((e=>{p.current=[...p.current.filter((t=>t!==e)),e]}),[]),v=Object(r.useCallback)((function(e,r){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const o=b.current[e];if(o&&o!==r&&(URL.revokeObjectURL(o),delete b.current[e]),i&&(b.current[e]=r),g(e),t)return void t((t=>{const n=Object(a.a)({},t);return n[e]?(n[e].img=r,n):t}));const c=[];u((t=>{const i=Object(a.a)(Object(a.a)({},t),{},{[e]:r});if(Number.isFinite(n)&&n>0)for(;p.current.length>n;){const t=p.current.shift();t&&t!==e&&(delete i[t],c.push(t))}return i}
1)),c.forEach((e=>{h(e)}))}),[g,n,h,t]);Object(r.useEffect)((()=>()=>{Object.values(b.current).forEach((e=>{URL.revokeObjectURL(e)})),b.current={},p.current=[]}),[]),Object(r.useEffect)((()=>{const n=new Set(Object.keys(null!==e&&void 0!==e?e:{})),a=p.current.filter((e=>!n.has(e)));0!==a.length&&(p.current=p.current.filter((e=>n.has(e))),a.forEach((e=>{h(e)})),t||u((e=>Object.entries(e).reduce(((e,t)=>{let[a,r]=t;return n.has(a)&&(e[a]=r),e}),{}))))}),[e,h,t]);const j=Object(r.useCallback)((async t=>{if(!m.current.includes(t)){if(!(null===e||void 0===e?void 0:e[t]))return;let a;m.current.push(t);let r=!1;try{let o;if(e[t].lastThumbTime){try{o=await Object(l.F)(s[t],t,e[t].lastThumbTime)}catch(n){o=await Object(l.D)(s[t],t)}o||(o=await Object(l.D)(s[t],t))}else o=await Object(l.D)(s[t],t);const d=i?Object(c.e)(o):Object(c.d)(o);await Object(c.f)(d)?(a=d,r=i):(i&&URL.revokeObjectURL(d),a="error")}catch(n){console.error(n),a="error"}try{v(t,a,r)}finally{m.current=m.current.filter((e=>e!==t))}}}),[e,s,i,v]);return[j,t?void 0:d]}},405:function(e,t,n){"use strict";var a,r,i,o,c=n(9),l=n(375),s=n(4),d=n(48),u=n(19),m=n(6),b=n(7),p=n(5);const h=b.c.button(a||(a=Object(m.a)(["\n    background: none;\n    border: none;\n    padding: 0;\n    display: flex;\n    align-items: center;\n    cursor: pointer;\n\n    svg {\n        width: 12px;\n        height: 12px;\n        color: ","\n    }\n"])),(e=>{let{variant:t}=e;return Object(p.y)(t)}));h.displayName="ClearButton";const g=b.c.span(r||(r=Object(m.a)(['\n    transition-property: opacity;\n    transition-duration: .3s;\n    position: relative;\n    \n    &::before {\n        content: "";\n        position: absolute;\n        top: 50%;\n        width: 100%;\n        height: 2px;\n        transform-origin: left;\n        background-color: currentColor;\n        transform: scaleX(0);\n    }\n'])));g.displayName="SelectionText";const v=b.c.span(i||(i=Object(m.a)(["\n    position: absolute;\n    left: 0;\n    top: 0;\n    opacity: 0;\n"])));v.displayName="ClearSelectionText";const j=b.c.div(o||(o=Object(m.a)(["\n    font-weight: 100;\n    position: relative;\n    white-space: nowrap;\n    overflow: hidden;\n\n    @media (hover: hover) {\n        ",":hover ~ &, ",":focus-visible ~ & {\n\n            "," {\n                opacity: 0;\n                transition-delay: .4s;\n\n                &::before {\n                    transform: scaleX(1);\n                    transition: transform .3s 0s;\n                }\n            }\n            \n            "," {\n                opacity: 1;\n                transition: opacity .3s .4s;\n            }\n        }\n    }\n"])),h,h,g,v);j.displayName="SelectionTextContainer";var f=n(2);t.a=Object(l.a)()((e=>{let{clearSelection:t,selectionMade:n,maxReached:a,variant:r="light",children:i,clearTextOverride:o,t:l,tReady:m}=e,b=Object(c.a)(e,["clearSelection","selectionMade","maxReached","variant","children","clearTextOverride","t","tReady"]);const p=o||(m?l(s.a.actions.select.CLEAR_SELECTION):"Clear selection");return Object(f.jsxs)(u.c,{gap:10,alignItems:"centre",style:b.style,children:[n&&Object(f.jsx)(h,{onClick:t,"aria-label":p,variant:r,children:Object(f.jsx)(d.a,{"aria-hidden":"true"})}),Object(f.jsxs)(j,{children:[Object(f.jsx)(g,{style:a?{color:"red"}:void 0,children:i}),Object(f.jsx)(v,{"aria-hidden":"true",children:p})]})]})}))},406:function(e,t,n){"use strict";var a=n(392);n.d(t,"a",(function(){return a.b}))},407:function(e,t,n){"use strict";n.d(t,"d",(function(){return s})),n.d(t,"i",(function(){return d})),n.d(t,"g",(function(){return u})),n.d(t,"b",(function(){return m})),n.d(t,"c",(function(){return b})),n.d(t,"h",(function(){return p})),n.d(t,"f",(function(){return h})),n.d(t,"e",(function(){return g})),n.d(t,"a",(function(){return v}));var a=n(3),r=n(30);const i=(e,t)=>{let n,a=-1,r=-1*new Date(Date.UTC(e,t,0,0,0,0,0)).getTimezoneOffset()/60;for(let i=0;i<50;i++){let o=new Date(Date.UTC(e,t,i,0,0,0,0,0)),c=-1*o.getTimezoneOffset()/60;if(c!==r){let l=0;for(o=new Date(Date.UTC(e,t,i-1,0,0,0,0)),c=-1*o.getTimezoneOffset()/60;-1===a;){if(o=new Date(Date.UTC(e,t,i-1,0,l,0,0)),c=-1*o.getTimezoneOffset()/60,c!==r){c=new Date(Date.UTC(e,t,i-1,0,l-1,0,0)),a=l;break}l++}return n=c.getMonth()+1,n=c.getDate()+"/"+n+"/"+e+" ",o=new Date(Date.UTC(e,t,i-1,0,l,0,0)),n=o,n}}},o=()=>{let e=(new Date).getFullYear(),t=0,n=0,a=99;
1for(let i=0;i<12;i++){let r=-1*new Date(Date.UTC(e,i,0,0,0,0,0)).getTimezoneOffset()/60;r>a?t=i-1:r<a&&(n=i-1),a=r}let r=i(e,n),o=i(e,t);return null===o&&null===r?0:[o,r]},c=e=>{const t=e.getTimezoneOffset(),n=l(e);return t!==n?t-n:0},l=e=>{const[t,n]=o();let a=e.getTimezoneOffset();if(t&&n){a=n.getTimezoneOffset()}return a},s=e=>new Promise((t=>setTimeout(t,e))),d=()=>{window.location.reload()},u=()=>{const e=new Date;return[(e=>{let t=!1;const[n,a]=o();let r="",i="",s=c(e);n&&a&&(t=!0,r="M".concat(n.getMonth()+1,".").concat(Math.ceil(n.getDate()/7),".").concat(n.getDay(),"/").concat(n.getHours()<10?"0":"").concat(n.getHours(),":00:00"),i="M".concat(a.getMonth()+1,".").concat(Math.ceil(a.getDate()/7),".").concat(a.getDay(),"/").concat(a.getHours()<10?"0":"").concat(a.getHours(),":00:00"),s=c(n));const d=l(e),u=Math.ceil(d/60);let m=d%60;m=m<0?-1*m:m;const b="".concat(u,":").concat(m<10?"0":"").concat(m,":00");let p=Math.ceil(s/1e3/60%60);const h=Math.floor(s/1e3/60/60%24),g="".concat(h<10?"0":"").concat(h.toString().replace("-",""),":").concat(parseInt(p)<10?"0":"").concat(p,":00");let v="".concat("CST").concat(parseInt(b)>=0?"+":"").concat(b);return t&&(v+="".concat("DST").concat(g,",").concat(r,",").concat(i)),v})(e),60*l(e)*-1]},m=e=>JSON.parse(JSON.stringify(e)),b=e=>e.map((e=>Object(a.a)({},e))),p=e=>{if(!new RegExp(/^(([0-9]{1,3}\.){3}[0-9]{1,3})$/).test(e))return!1;{let t=e.split(".");for(let e of t){if(e.length>1&&"0"===e.charAt(0))return!1;if(parseInt(e)<0||parseInt(e)>=256)return!1}}return!0},h=(e,t)=>{let n=1e3*Math.max(3*e,30);return t&&(n+=6e4),n+=6e4,n},g=e=>{const t=e.map((e=>parseInt(e.split("-")[1])));t.sort(((e,t)=>e-t));return t[t.length-1]+1},v=(e,t)=>
1{const n=Number(null===e||void 0===e?void 0:e.split(".")[3]),a=Number(null===t||void 0===t?void 0:t.split(".")[3]);return Object(r.e)(n)?1:Object(r.e)(a)?-1:n-a}},408:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));const a=(e,t)=>e&&window.innerWidth<=e?"mobile":t&&window.innerWidth<=t?"tablet":"desktop"},409:function(e,t,n){"use strict";n.d(t,"j",(function(){return N})),n.d(t,"s",(function(){return D})),n.d(t,"d",(function(){return A})),n.d(t,"f",(function(){return M})),n.d(t,"g",(function(){return L})),n.d(t,"e",(function(){return B})),n.d(t,"h",(function(){return V})),n.d(t,"i",(function(){return $})),n.d(t,"o",(function(){return U})),n.d(t,"n",(function(){return F})),n.d(t,"u",(function(){return W})),n.d(t,"m",(function(){return H})),n.d(t,"p",(function(){return G})),n.d(t,"q",(function(){return q})),n.d(t,"k",(function(){return X})),n.d(t,"r",(function(){return Z})),n.d(t,"a",(function(){return K})),n.d(t,"l",(function(){return Y})),n.d(t,"t",(function(){return Q})),n.d(t,"b",(function(){return ee})),n.d(t,"c",(function(){return te}));var a,r,i,o,c,l,s,d,u,m,b,p,h,g,v,j,f,O,x,y,C,T,w,k=n(6),E=n(7),S=n(5),I=n(94),R=n(35);const N=E.c.button.attrs((()=>({type:"button"})))(a||(a=Object(k.a)(["\n    display: flex;\n\n    ","\n\n    ","\n\n    ","\n    \n    ","\n"])),(e=>{let{$loading:t,$popupOpen:n,$singleSelectSelected:a,$hoverBackgroundColour:r,$hoverTextColour:i,$large:o,$showDesktopClearButton:c,disabled:l,variant:s}=e;return Object(I.b)({hoverBackgroundColour:r,hoverTextColour:i,disabled:l,large:o,loading:t,alternativeHoverCondition:n,active:a,variant:s,$noArrow:c})}),(e=>{let{disabled:t,$hoverTextColour:n}=e;return!t&&"\n        @media (hover: hover) {\n            :hover {\n                ".concat(A," {\n                    background-color: ").concat(n,";\n                    color: ").concat(n===Object(S.s)()?Object(S.v)(75):Object(S.s)(),";\n                }\n\n                ").concat(J," {\n                    color: ").concat(n===Object(S.s)()?Object(S.v)(75):Object(S.s)(),";\n                }\n            }\n        }\n    ")}),(e=>{let{$popupOpen:t,$hoverTextColour:n}=e;return t?"\n        ".concat(A," {\n            background-color: ").concat(n,";\n            color: ").concat(n===Object(S.s)()?Object(S.v)(75):Object(S.s)(),";\n        }\n\n        ").concat(J," {\n            color: ").concat(n,";\n        }\n    "):""}),(e=>{let{$showDesktopClearButton:t}=e;return t?"\n        padding-right: ".concat(P+15,"px;\n    "):""}));N.displayName="FilterButton";const D=E.c.div(r||(r=Object(k.a)(["\n    \n    width: ","px;\n    height: ","px;\n    margin-right: ","px;\n    display: inline-flex;\n    justify-content: center;
1\n    align-items: center;\n\n    svg {\n        width: auto;\n        height: auto;\n        max-width: 100%;\n        max-height: 100%;\n\n        /* Safari needs this. */\n        flex-grow: 1;\n    }\n\n    ","\n"])),(e=>{let{$filterPanel:t,$large:n}=e;return t?26:n?18:16}),(e=>{let{$filterPanel:t,$large:n}=e;return t?20:n?16:14}),(e=>{let{$filterPanel:t,$large:n}=e;return t?10:n?8:5}),(e=>{let{$filterPanelMenu:t}=e;return t?"\n        position: absolute;\n        top: 0;\n        left: 30px;\n        height: 100%;\n        width: ".concat(20,"px;\n        margin-right: 0;\n    "):""}));D.displayName="IconContainer";const A=E.c.span(i||(i=Object(k.a)(["\n    margin-left: 5px;\n    background-color: ",";\n    height: ","px;\n    width: ","px;\n    min-width: min-content; // Allow for larger numbers\n    padding: 0 2px;\n    border-radius: 100px;\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    color: ",";\n    font-size: ","%; // Parent button uses larger font which is why large here uses lower percentage\n    line-height: 0;\n    transition: color .3s, background-color .3s;\n"])),(e=>{let{$backgroundColour:t}=e;return t}),(e=>{let{$large:t}=e;return t?18:16}),(e=>{let{$large:t}=e;return t?18:16}),(e=>{let{$textColour:t}=e;return t}),(e=>{let{$large:t}=e;return t?80:85}));A.displayName="CountBubble";const M=E.c.div(o||(o=Object(k.a)(["\n    display: flex;\n    flex-direction: row;\n    justify-content: flex-start;\n    gap: 4px;\n    align-items: center;\n    position: relative;\n"])));M.displayName="DesktopFilterContainer";const P=16,L=E.c.button(c||(c=Object(k.a)(["\n    width: ","px;\n    height: ","px;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n    background: none;\n    position: absolute;\n    right: 10px;\n    padding: 0;\n    border: 1px solid currentColor;\n    margin: 0;\n    border-radius: ","px;\n    color: #a1a1a1;\n    transition: color .3s;\n\n    svg {\n        width: ","px;\n        height: ","px;\n    }\n\n    @media (hover: hover) {\n        :hover {\n            color: red;\n        }\n    }\n\n    :focus-visible {\n        color: red;\n    }\n"])),P,P,P,P-8,P-8);L.displayName="DesktopIndividualFilterClearButton";const _=e=>{const t=e.replace(/\s/g,"").match(/^rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)$/);if(t){return"#"+[t[1],t[2],t[3]].map((e=>{const t=parseInt(e).toString(16);return 1===t.length?"0"+t:t})).join("")}return e},z=e=>"\n    color: ".concat(e,";\n    transition: color .3s;\n    transition-delay: .15s;\n"),B=E.c.button.attrs((()=>({type:"button"})))(l||(l=Object(k.a)(["\n    background: none;\n    border: none;\n    height: ","px;\n    font-weight: 100;\n    font-size: 80%;\n    cursor: pointer;\n    position: relative;\n    padding: 0 7px;\n    display: inline-flex;\n    align-items: center;\n    line-height: 0;\n    color: ",";\n\n    span {\n        color: transparent;\n    }\n\n    svg {\n        width: ","px;\n        height: ","px;\n        position: absolute;\n        top: ","px;\n        left: ","px;\n        ",'\n    }\n\n    &::after {\n        content: "";\n        display: block;\n        box-sizing: border-box;\n        width: ',"px;\n        height: 100%;\n        position: absolute;\n        top: 0;\n        left: 0;\n        border-width: 1px;\n        border-style: solid;\n        border-color: ",";\n        border-radius: 50px;\n        transition: width .3s, border-color .3s;\n    }\n\n    @media (hover: hover) {\n        :hover, :focus-visible {\n            ","\n\n            ","\n\n            span {\n                ","\n            }\n        }\n    }\n"])),(e=>{let{$large:t}=e;return t?30:24}),(e=>{let{$hoverColour:t}=e;return _(t)}),(e=>{let{$large:t}=e;return t?10:8}),(e=>{let{$large:t}=e;return t?10:8}),(e=>{let{$large:t}=e;return t?10:8}),(e=>{let{$large:t}=e;return t?10:8}),z(S.d),(e=>{let{$large:t}=e;return t?30:24}),S.d,(e=>{let{$hoverColour:t}=e;return z(_(t))}),(e=>{let{$keepIcon:t,$hoverColour:n}=e;return"\n                svg {\n                    ".concat(z(t?_(n):"transparent"),"\n                }\n                &::after {\n                    border-color: ").concat(n,";\n                    ").concat(!t&&"width: 100%;","\n                }\n            ")}),(e=>{let{$hoverColour:t}=e;return z(_(t))}));B.displayName="DesktopClearAllButton";const V=E.c.div(s||(s=Object(k.a)(["\n    max-height: ",";\n    overflow-y: ",";\n    transition: max-height .3s;\n    \n    ","\n"])),(e=>{let{$expanded:t,$innerContainerHeight:n}=e;return t&&n?"".concat(n,"px"):"0px"}),(e=>{let{$expanded:t}=e;return t?void 0:"hidden"}),(e=>{let{$mobileBreakpoint:t,$tabletBreakpoint:n}=e;const a=null!==n&&void 0!==n?n:t;return a?"\n                @media only screen and (max-width: ".concat(a,"px) {\n                    display: none;\n                }\n            "):""}));V.displayName="ExpandableDesktopPanelContainer";const $=E.c.div(d||(d=Object(k.a)(["\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    gap: ","px;\n    padding: ",";\n    padding-left: ","px;\n    background: ",";\n    border-radius: 5px;\n    align-items: center;\n\n    margin-top: ","px;\n\n    > svg {\n        display: block;\n        position: absolute;\n        top: ","px;\n        left: ",";\n        width: 18px;\n    }\n"])),(e=>{let{$large:t}=e;return t?14:6}),(e=>{let{$large:t}=e;return t?"10px 14px":"8px 12px"}),(e=>{let{$large:t}=e;return t?51:42}),(e=>{let{variant:t}=e;return"transparent"===t?"none":"dark"===t?S.h:Object(S.s)(75)}),(e=>{let{$marginTop:t}=e;return null!==t&&void 0!==t?t:0}),(e=>{let{$large:t}=e;return t?14:12}),(e=>{let{$large:t}=e;return t?"14px":"12px"}));$.displayName="ExpandableDesktopPanelInnerContainer";const U=Object(E.c)(N).attrs((()=>({type:"button"})))(u||(u=Object(k.a)(["\n    display: flex;\n"])));U.displayName="FilterPanelTrigger";const F=E.c.div(m||(m=Object(k.a)(["\n    height: calc(100vh-60px);\n    width: 100vw;\n"])));F.displayName="FilterPanelContainer";const W=E.c.div(b||(b=Object(k.a)(["\n    background: #fff;\n    color: ",";\n    height: 100vh;\n    width: min(100vw, 500px);\n    position: relative;\n    padding: ","px;\n    padding-top: 40px;\n    padding-bottom: 170px;\n    overflow: hidden;\n    display: grid;\n    grid-template-rows: min-content 1fr;\n    gap: 30px;\n"])),Object(S.s)(),20);W.displayName="Panel";const H=E.c.button(p||(p=Object(k.a)(["\n    background: none;\n    border: none;\n    height: 30px;\n    width: 30px;\n    min-height: 30px;\n    min-width: 30px;\n    padding: 0;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n    color: inherit;\n\n    svg {\n        height: 75%;\n        width: 75%;\n    }\n"])));H.displayName="FilterPanelCloseButton";const G=E.c.button.attrs((()=>({type:"button"})))(h||(h=Object(k.a)(["\n    background: none;\n    padding: 10px 30px;\n    border-radius: 50px;\n    width: 100%;\n    border: 1px solid #dfdfdf;\n    text-align: left;\n    cursor: pointer;\n    position: relative;\n    transition: border-color 0.3s;\n    color: #000;\n    margin-bottom: 10px;\n\n    ","\n\n    :disabled {\n        opacity: 0.4;\n        cursor: not-allowed;\n    }\n\n    @media (hover: hover) {\n        :not(:disabled):hover {\n            border-color: ",";\n        }\n    }\n"])),(e=>{let{$icon:t}=e;return t?"padding-left: ".concat(70,"px;"):""}),(e=>{let{$accentColour:t}=e;return t}));G.displayName="FilterSection";const q=E.c.span(g||(g=Object(k.a)(["\n    position: absolute;\n    right: 40px;\n    top: 0;\n    font-size: 20px;\n    color: #777777;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    height: 100%;\n    transition: all 0.3s;\n\n    ::after {\n        content: '\\2192';\n    }\n\n    @media (hover: hover) {\n        ",":hover & {\n            transform: translateX(10px);\n            color: #000;\n        }\n    }\n"],["\n    position: absolute;\n    right: 40px;\n    top: 0;\n    font-size: 20px;\n    color: #777777;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    height: 100%;\n    transition: all 0.3s;\n\n    ::after {\n        content: '\\\\2192';\n    }\n\n    @media (hover: hover) {\n        ",":hover & {\n            transform: translateX(10px);\n            color: #000;\n        }\n    }\n"])),G);q.displayName="FilterSectionArrow";const X=E.c.h2(v||(v=Object(k.a)(["\n    margin: 0;\n    font-weight: 300;\n    color: #000;\n    font-size: 20px;\n"])));X.displayName="FilterName";const Z=E.c.span(j||(j=Object(k.a)(["\n    font-weight: 100;\n"])));Z.displayName="FilterValue";const K=E.c.div(f||(f=Object(k.a)(["\n    position: fixed;\n    border-top: 2px solid #dfdfdf;\n    background: #fff;\n    bottom: 0;\n    left: 0;\n    padding: 15px;\n    display: flex;\n    flex-direction: column;\n    gap: 15px;\n    align-items: center;\n    width: min(100vw, 500px);\n"])));K.displayName="ButtonsFooter";const Y=Object(E.c)(R.a).attrs({large:!0})(O||(O=Object(k.a)(["\n    min-width: 75%;\n\n    &:disabled {\n        opacity: 0;\n    }\n"])));Y.displayName="FilterPanelButton";const Q=E.c.div(x||(x=Object(k.a)(["\n    display: none;\n\n    ","\n"])),(e=>{let{$mobileBreakpoint:t}=e;return t?"\n        @media only screen and (max-width: ".concat(t,"px) {\n            display: flex;\n        }\n        "):""}));Q.displayName="MobileSearchContainer";const J=E.c.span(y||(y=Object(k.a)(["\n    color: ",";\n    transition: color .3s;\n"])),(e=>{let{$colour:t}=e;return t}));J.displayName="InterpolatedTimeValue";const ee=E.c.div(C||(C=Object(k.a)(["\n    height: 100%;\n    display: grid;\n    grid-template-rows: auto "," 1fr;\n    grid-template-columns: auto;\n    gap: ","px;\n"])),(e=>{let{$mobile:t}=e;return t?"":"min-content"}),(e=>{let{$mobile:t}=e;return t?30:0}));ee.displayName="CameraSelectionContainer";const te=E.c.div(T||(T=Object(k.a)(["\n\n    height: 100%;\n    max-height: 100%;\n\n    // This is a messy way of removing top margin from table pagination controls\n    ","\n\n"])),(e=>{let{$usingPagination:t}=e;return t?"\n        > div:first-child {\n            margin-top:  20px !important;\n        }\n    ":""}));E.c.button(w||(w=Object(k.a)(["\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n    cursor: pointer;\n    width: 20px;\n    height: 20px;\n    color: ",";\n    border: ",";\n    border-radius: 50px;\n    padding: 4px;\n    background-color: transparent;\n\n    &:hover {\n        color: ",";\n    border: ",";\n    }\n"])),(e=>{let{$variant:t}=e;return Object(S.y)(t,25)}),(e=>{let{$variant:t}=e;return"1px solid ".concat(Object(S.y)(t,25),"}")}),(e=>{let{$variant:t}=e;return Object(S.y)(t)}),(e=>{let{$variant:t}=e;return"1px solid ".concat(Object(S.y)(t),"}")}));te.displayName="CameraSelectionTableContainer"},411:function(e,t,n){"use strict";n.d(t,"a",(function(){return $e}));var a,r=n(3),i=n(9),o=n(8),c=n.n(o),l=n(1),s=n(375),d=n(158),u=n(381),m=n(395),b=n(40),p=n(114),h=n(41),g=n(159),v=n(70),j=n(385),f=n(17),O=n(73),x=n(4),y=n(30),C=n(65),T=n(37),w=n(12),k=n(5),E=n(20),S=n(119),I=n(194),R=n(400),N=n(125),D=n(390),A=n(93),M=n(193),P=n(19),L=n(389),_=n(186),z=n(102),B=n(34),V=n(21),$=n(66),U=n(161),F=n(116),W=n(184),H=n(71),G=n(187),q=n(218),X=n.n(q),Z=n(6),K=n(7),Y=n(36);const Q=K.c.div(a||(a=Object(Z.a)(["\n\n    width: ","px;\n    height: ",";\n\n    .suggestionslistinput-container {\n        position: relative;\n    }\n\n    .suggestionslistinput-input {\n        ",'\n        width: 100%;\n        height: 100%;\n    }\n\n    .suggestionslistinput-suggestions-container {\n        display: none;\n    }\n\n    .suggestionslistinput-suggestions-container-open {\n        display: block;\n        width: 100%;\n        position: absolute;\n        top: 100%;\n        \n        z-index: 1;\n\n        // Make sure there is 5px gap to bottom of page\n        &::after {\n            content: "";\n            display: block;\n            height: 5px;\n        }\n    }\n\n    .suggestionslistinput-suggestions-list {\n        margin: 0;\n        padding: 0;\n        \n        background: #fff;\n        border: 1px solid #ccc;\n\n        max-height: 200px;\n        overflow: auto;\n    }\n\n    .suggestionslistinput-suggestion {\n        cursor: pointer;\n        border-top: 1px solid #d3d2d2;\n        padding: 5px;\n        font-size: 14px;\n        list-style: none;\n    }\n\n    .suggestionslistinput-suggestion-first {\n        cursor: pointer;\n        border-top: none;\n    }\n\n    .suggestionslistinput-suggestion-highlighted {\n        background: #f5f5f5;\n    }\n'])),(e=>{let{narrowWidth:t}=e;return t?Y.d:Y.b}),(e=>{let{large:t,fullWidth:n}=e;return n?"100%":"".concat(t?Y.c:Y.a,"px")}),(e=>Object(Y.e)(e)));Q.displayName="SuggestionsListInputContainer";var J=n(2);var ee,te,ne,ae,re,ie,oe,ce,le,se,de=Object(l.forwardRef)(((e,t)=>{let{onChange:n,name:a,error:o=!1,value:c="",required:s=!1,large:d=!1,fullWidth:u=!1,narrowWidth:m=!1,descriptionId:b,possibleSuggestions:p=[],inputProps:h={}}=e,g=Object(i.a)(e,["onChange","name","error","value","required","large","fullWidth","narrowWidth","descriptionId","possibleSuggestions","inputProps"]);const[v,j]=Object(l.useState)([]);return Object(J.jsx)(Q,Object(r.a)(Object(r.a)({large:d,fullWidth:u,narrowWidth:m,error:o},g),{},{children:Object(J.jsx)(X.a,{suggestions:v,onSuggestionsFetchRequested:e=>{let t,{value:n}=e;0===n.length&&(t=p),t=p.filter((e=>e.toLocaleLowerCase().slice(0,n.length)===n.toLocaleLowerCase())),j(t)},onSuggestionsClearRequested:()=>j([]),getSuggestionValue:e=>e,renderSuggestion:e=>Object(J.jsx)(V.a,{colour:Object(k.s)(),children:e}),shouldRenderSuggestions:()=>!0,id:a,inputProps:Object(r.a)({ref:t,onChange:(e,t)=>
1{let{newValue:r}=t;e.target.value===r?n(e):n({target:{name:a,value:r}})},value:c,name:a,required:s,"aria-invalid":o,"aria-describedby":b},h),theme:{container:"suggestionslistinput-container",input:"suggestionslistinput-input",suggestionsContainer:"suggestionslistinput-suggestions-container",suggestionsContainerOpen:"suggestionslistinput-suggestions-container-open",suggestionsList:"suggestionslistinput-suggestions-list",suggestion:"suggestionslistinput-suggestion",suggestionFirst:"suggestionslistinput-suggestion-first",suggestionHighlighted:"suggestionslistinput-suggestion-highlighted"}})}))})),ue=n(42),me=n(72);const be=20,pe=K.c.div(ee||(ee=Object(Z.a)(["\n    width: 100%;\n    grid-area: navigator;\n    height: min-content;\n    display: flex;\n    flex-direction: column;\n\n    ","\n    ","\n"])),(e=>{let{$open:t}=e;return t?"\n        background: ".concat(Object(k.s)(75),";\n        border-radius: 10px;\n        box-shadow: 0 0 6px 0 ").concat(Object(k.s)(75),";\n        height: 100%;\n    "):""}),(e=>{let{$showInMobileApp:t}=e;return w.i&&!t?"\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background: #181828;\n        border-radius: 0;\n        z-index: 1;\n    ":""}));pe.displayName="CameraNavigatorContainer";const he=K.c.div(te||(te=Object(Z.a)(["\n    width: 100%;\n    padding: ","px 10px;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    font-size: 90%;\n"])),6);he.displayName="NavigatorToggleContainer";const ge=K.c.button(ne||(ne=Object(Z.a)(["\n    width: 100%;\n    padding: 0 20px;\n    height: 30px;\n    min-height: ","px;\n    border-radius: 100px;\n    cursor: pointer;\n    font-weight: 100;\n    background: ",";\n    color: ",";\n    border: 1px solid ",';\n    text-align: left;\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n\n    &::after {\n        content: "";\n        margin-left: auto;\n        display: block;\n        width: 8px;\n        height: 8px;\n        border-left: 2px solid ',";\n        border-bottom: 2px solid ",";\n        transform: rotate(","deg);\n        transform: ",";\n        transition: transform .3s;\n        transform-origin: center center;\n    }\n"])),30,(e=>{let{$accentColour:t}=e;return t}),(e=>{let{$textColour:t}=e;return t}),(e=>{let{$accentColour:t}=e;return t}),(e=>{let{$textColour:t}=e;return t}),(e=>{let{$textColour:t}=e;return t}),(e=>{let{$expanded:t}=e;return t?45:-45}),(e=>{let{$expanded:t}=e;return t?"rotate(45deg)":"rotate(-45deg) translateY(-2px)"}));ge.displayName="NavigatorToggle";const ve=K.c.div(ae||(ae=Object(Z.a)(["\n    width: 100%;\n    height: 100px;\n    flex-grow: 1;\n    padding: ","px 0;\n    overflow: hidden;\n    button {\n        color: #fff;\n    }\n"])),be);ve.displayName="CameraNavigatorDesktopSidebar";const je=K.c.div(re||(re=Object(Z.a)(["\n    height: 100%;\n"])));je.displayName="MobileMenuContainer";const fe=K.c.div(ie||(ie=Object(Z.a)(["\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    margin-top: 10px;\n    height: 20px;\n\n    ","\n"])),(e=>{let{$showButtons:t}=e;return t?"":"\n        @media (hover: hover) {\n\n            > button:nth-child(n + 2) {\n                opacity: 0;\n            }\n\n            :hover {\n                > button:nth-child(n + 2) {\n                    opacity: 1;\n                }\n            }\n        }\n    "}));fe.displayName="AdapterGroupHeaderRow";const Oe=K.c.button(oe||(oe=Object(Z.a)(["\n    background: none;\n    padding: 0;\n    border: none;\n    position: relative;\n    cursor: pointer;\n    flex-grow: 1;\n    text-align: left;\n    font-weight: 100;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    font-size: 90%;\n    display: grid;\n    grid-template-columns: 17px 22px minmax(0, min-content) min-content;\n    align-items: center;\n\n    svg {\n        width: 20px;\n        height: 20px;\n    }\n\n    svg:first-of-type {\n        width: 12px;\n        height: 12px;\n        transform: ",";\n        transition: transform .2s;\n    }\n\n    span {\n        white-space: nowrap;\n        overflow: hidden;\n        text-overflow: ellipsis;\n    }\n    ","\n\n"])),(e=>{let{$expanded:t}=e;return t?"rotate(none)":"rotate(-90deg)"}),(e=>{let{$disabled:t}=e;return t?"\n        span:first-of-type, input {\n            opacity: 0.4;\n        }\n    ":""}));Oe.displayName="AdapterGroupButton";const xe=K.c.div(ce||(ce=Object(Z.a)(["\n    display: flex;\n    padding-left: 19px; // aligning with adapter checkbox\n    gap: 4px;
1\n    align-items: center;\n\n    ","\n"])),(e=>{let{$showEditButton:t}=e;return t?"":"\n        @media (hover: hover) {\n\n            > button:last-child {\n                opacity: 0;\n            }\n\n            :hover {\n                > button:last-child {\n                    opacity: 1;\n                }\n            }\n        }\n    "}));xe.displayName="CameraRow";const ye=K.c.button(le||(le=Object(Z.a)(["\n    background: none;\n    padding: 0;\n    border: none;\n    cursor: pointer;\n    flex-grow: 1;\n    text-align: left;\n    font-weight: 100;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    font-size: 85%;\n    display: flex;\n    align-items: center;\n    gap: 5px;\n\n    span {\n        // Handle long camera names\n        text-overflow: ellipsis;\n        overflow: hidden;\n    }\n\n    &:disabled {\n        opacity: 0.4;\n        cursor: not-allowed;\n    }\n"])));ye.displayName="CameraToggleButton";const Ce=K.c.div(se||(se=Object(Z.a)(["\n\n    display: grid;\n    grid-template-columns: 16px 1fr;\n    grid-template-rows: auto;\n    align-items: flex-start;\n    gap: 10px;\n    color: ",";\n\n    & > div {\n        gap: 4px !important;\n\n        & > div {\n            font-size: 75%;\n            padding: 2px 8px;\n        }\n    }\n\n"])),Object(k.s)());Ce.displayName="CameraPopupTagsGroupsRow";const Te=Object(l.memo)((e=>{let{type:t="camera",navigatorOpen:n,setNavigatorOpen:a,filtersProps:o,filtersValues:s,clearSelection:d,disableSelection:u,t:m}=e,b=Object(i.a)(e,["type","navigatorOpen","setNavigatorOpen","filtersProps","filtersValues","clearSelection","disableSelection","t"]);const p=Object(l.useCallback)((()=>{a((e=>(Object(E.G)(!e),!e)))}),[a]),{accentColour:h,accentColour2:g,whiteOverAccent:v,isVideoloft:j}=Object(f.a)(),{mobileWebView:C,selectedCameras:T,limit:S,filteredCameras:I,selectCameras:R,cameras:N,adapterSites:D}=b,[z,B]=Object(l.useState)((()=>{if("organisation"===t)return[];const e=[],n=[];let a=!1;return[...D].sort(((e,t)=>{let{siteName:n}=e,{siteName:a}=t;return Object(y.a)(n,a)})).forEach((t=>{let{cloudIds:a}=t;e.push([...a]),n.push(...a)})),c.a.forEach(N,(t=>{let{cloudAdapterId:r}=t;r?n.includes(r)||(n.push(r),e.push([r])):a=!0})),a&&e.push([null]),e})),[U,F]=Object(l.useState)(w.i),[W,H,G]=Object(O.a)({fixedPositioning:!0,disabled:u}),q="organisation"===t?b.filteredOrganisations.every((e=>{let{id:t}=e;return b.selectedOrganisations.includes(t)})):I.every((e=>{let{uidd:t}=e;return T.includes(t)})),X=0===("organisation"===t?b.selectedOrganisations:T).length,Z=Object(J.jsxs)(P.c,{column:!0,gap:10,alignItems:"centre",style:{width:"100%",height:"100%"},children:[!w.i&&Object(J.jsx)(L.a,Object(r.a)(Object(r.a)({},o),{},{filters:c.a.mapValues(o.filters,(e=>Object(r.a)(Object(r.a)({},e),{},{variant:C?"dark":"light"}))),style:{width:"calc(100% - ".concat(be,"px)")},variant:C?"dark":"light"})),Object(J.jsxs)(P.c,{justifyContent:"space-between",alignItems:"flex-end",style:{width:"calc(100% - ".concat(40,"px)"),marginTop:10},children:[Object(J.jsx)($.a,Object(r.a)({"aria-label":m(X?x.a.filters.SELECT_ALL:x.a.filters.CLEAR_ALL),value:q,indeterminate:!X&&!q,onChange:X?()=>{if("organisation"===t){let e;e=S?[...b.filteredOrganisations].sort(((e,t)=>{let{name:n}=e,{name:a}=t;return Object(y.a)(n,a)})).reduce(((e,t)=>{let{id:n}=t;return b.selectedOrganisations.includes(n)?e:e.concat(n)}),[]).slice(0,S-b.selectOrganisations.length):b.filteredOrganisations.map((e=>{let{id:t}=e;return t})),b.selectOrganisations(e)}else{let t;if(S){var e;const n=c.a.groupBy(N,(e=>{let{cloudAdapterId:t}=e;return t||null})),a=new Set(I.map((e=>{let{uidd:t}=e;return t}))),r=new Set(T);t=z.reduce(((e,t)=>{const a=t.reduce(((e,t)=>{var a;return e.concat(null!==(a=n[t])&&void 0!==a?a:[])}),[]);return a.sort(((e,t)=>{let{name:n}=e,{name:a}=t;return Object(y.a)(n,a)})),e.concat(a)}),[]).concat((null!==(e=n.null)&&void 0!==e?e:[]).sort(((e,t)=>{let{name:n}=e,{name:a}=t;return Object(y.a)(n,a)}))).reduce(((e,t)=>{let{uidd:n}=t;return a.has(n)&&!r.has(n)?e.concat(n):e}),[]).slice(0,S-T.length)}else t=I.map((e=>{let{uidd:t}=e;return t}));R(t)}G()}:d,large:!1,$noMTop:!0,variant:C?"light":"dark",style:{marginLeft:"organisation"===t?0:C?17:15,minWidth:C?18:16,minHeight:C?18:16,opacity:u?.4:1}},H)),Object(J.jsx)(me.a,Object(r.a)(Object(r.a)({},W),{},{children:m(X?x.a.filters.SELECT_ALL:x.a.filters.CLEAR_ALL)})),"camera"===t&&!w.i&&Object(J.jsx)(_.a,{variant:"switch",leftLabel:m(x.a.cameras.layouts.preview.PREVIEW),value:U,onChange:()=>F((e=>!e)),theme:C?"dark":"light"})]}),"organisation"===t?Object(J.jsx)(ke,Object(r.a)({searchTerm:s.search},b)):Object(J.jsx)(we,Object(r.a)({searchTerm:s.search,adapterGroups:z,setAdapterGroups:B,showThumbs:U,disableSelection:u},b))]});return Object(J.jsxs)(pe,{$open:n&&!C,$showInMobileApp:"organisation"===t,children:[(!w.i||"organisation"===t)&&Object(J.jsx)(he,{children:Object(J.jsx)(ge,{$expanded:n&&!C,onClick:p,$textColour:j&&g||v?Object(k.v)():Object(k.s)(),$accentColour:null!==g&&void 0!==g?g:h,children:"organisation"===t?Object(J.jsxs)(J.Fragment,{children:[Object(J.jsx)(M.a,{width:"20px"}
1),Object(J.jsxs)(V.a,{children:[m(x.a.takeaways.KITCHENS)," ","(",b.selectedOrganisations.length,")"]})]}):Object(J.jsxs)(J.Fragment,{children:[Object(J.jsx)(A.a,{width:"20px"}),Object(J.jsxs)(V.a,{children:[m(x.a.cameras.CAMERAS)," (",T.length,")"]})]})})}),n&&(C?Object(J.jsx)(Ee,{toggleNavigator:p,children:Z}):Object(J.jsx)(ve,{children:Z}))]})}));Te.displayName="CameraNavigator";const we=Object(s.a)()(Object(l.memo)((e=>{let{limit:t,adapterSites:n,cameraGroups:a,organisations:i,changeCameraNameInState:o,createAdapterSiteInState:s,editAdapterSiteNameInState:u,deleteAdapterSiteInState:m,fetchCameraThumb:b,loggedInUserUid:h,selectedCameras:g,selectCameras:v,deselectCameras:j,mobileWebView:f,searchTerm:O,filteredCameras:y,adapterGroups:C,setAdapterGroups:T,showThumbs:w,disableSelection:k,showCloudIdWithSiteName:E,hideSiteEditButtons:S,t:I}=e;const R=Object(l.useRef)(),[N,D]=Object(p.a)(),A=Object(l.useCallback)((e=>{R.current=e,D()}),[D]),M=Object(l.useMemo)((()=>{const e=c.a.groupBy(y,(e=>{let{cloudAdapterId:t}=e;return t||null}));return C.reduce(((t,n)=>{const a=n.reduce(((t,n)=>{var a;return[...t,...null!==(a=e[n])&&void 0!==a?a:[]]}),[]);return 0===a.length||(t[null===n[0]?null:n.join(",")]=c.a.keyBy(a,"uidd")),t}),{})}),[y,C]),L=Object(l.useCallback)(((e,t)=>{m(e,t),T((e=>{const n=e.findIndex((e=>c.a.isEqual([...e].sort(),[...t].sort()))),a=[...e];return a.splice(n,1,...t.map((e=>[e]))),a}))}),[m,T]);return Object(J.jsxs)(J.Fragment,{children:[Object(J.jsx)(P.c,{column:!0,gap:6,style:{width:"calc(100% - ".concat(be,"px)"),height:200,flexGrow:1,overflow:"auto",marginLeft:be,paddingRight:be},children:c.a.map(M,((e,r)=>{var l,d;let m,p,x;
1if("null"===r)m=[];else{m=r.split(","),p=c.a.values(e)[0].owner;const t=n.find((e=>0===c.a.difference(m,e.cloudIds).length));t&&(x=t.siteName)}return Object(J.jsx)(Se,{cloudIds:m,cameras:e,cameraGroups:a,siteName:x,selectedCameras:g,selectCameras:v,deselectCameras:j,ownerEmail:p&&(null===(l=i.find((e=>{let{id:t}=e;return t===p})))||void 0===l?void 0:l.email),showPermissionDeniedModal:A,changeCameraNameInState:o,createAdapterSiteInState:s,editAdapterSiteNameInState:u,deleteAdapterSiteInState:L,fetchCameraThumb:b,showCameraThumbs:w,loggedInUserIsOwnerOrCoOwner:p&&(p===h||(null===(d=i.find((e=>{let{id:t}=e;return t===p})))||void 0===d?void 0:d.coowner)),searchTerm:O,maxCamerasSelected:t&&g.length>=t,maxCameras:t,allSiteNames:n.map((e=>{let{siteName:t}=e;return t})),mobileWebView:f,disableSelection:k,showCloudIdWithSiteName:E,hideSiteEditButtons:S},m)}))}),Object(J.jsx)(z.b,Object(r.a)(Object(r.a)({},N),{},{"aria-label":I(x.a.multiuser.ACCESS_DENIED),children:Object(J.jsx)(B.a,{children:Object(J.jsxs)(d.a,{i18nKey:x.a.playback.selection.CONTACT_OWNER_FOR_SITE_EDIT_PERMISSION,children:["Please contact your system administrator ",Object(J.jsx)(V.a,{style:{fontStyle:"italic"},children:{email:R.current}})," for permissions to edit camera and site names."]})})}))]})}))),ke=Object(s.a)()(Object(l.memo)((e=>{let{selectedOrganisations:t,selectOrganisations:n,deselectOrganisations:a,limit:r,mobileWebView:i,searchTerm:o,filteredOrganisations:c}=e;const l=r&&t.length>=r;return Object(J.jsx)(P.c,{column:!0,gap:6,style:{width:"calc(100% - ".concat(be,"px)"),height:200,flexGrow:1,overflow:"auto",marginLeft:be,paddingRight:be},children:[...c].sort(((e,t)=>{let{name:n}=e,{name:a}=t;return Object(y.a)(n,a)})).map((e=>{let{id:r,name:c}=e;const s=t.includes(r);return Object(J.jsx)("div",{style:{marginTop:8,height:20},children:Object(J.jsxs)(ye,{onClick:s?()=>a([r]):()=>n([r]),disabled:!s&&l,style:{fontSize:"inherit",gap:10,width:"100%"},children:[Object(J.jsx)($.a,{value:s,onChange:e=>{e.target.checked?n([r]):a([r])},onClick:e=>{e.stopPropagation()},disabled:!s&&l,large:!1,$noMTop:!0,variant:i?"light":"dark"}),Object(J.jsx)(U.a,{searchString:o,text:c})]})},r)}))})}))),Ee=Object(s.a)()(Object(l.memo)((e=>{let{children:t,toggleNavigator:n,t:a}=e;const[i]=Object(p.a)(!0);return Object(J.jsx)(z.b,Object(r.a)(Object(r.a)({"aria-label":a(x.a.cameras.CAMERAS)},i),{},{zIndex:400,style:{width:"min(90%, 700px)",height:"90%"},wide:!0,closeModal:n,children:Object(J.jsx)(je,{style:{height:"100%"},children:t})}))}))),Se=Object(s.a)()((e=>{let{cloudIds:t,cameras:n,cameraGroups:a,siteName:i,showCloudIdWithSiteName:o=!1,selectedCameras:s,selectCameras:v,deselectCameras:j,showPermissionDeniedModal:f,ownerEmail:O,changeCameraNameInState:T,createAdapterSiteInState:w,editAdapterSiteNameInState:E,deleteAdapterSiteInState:I,loggedInUserIsOwnerOrCoOwner:R,fetchCameraThumb:A,showCameraThumbs:M,searchTerm:L,maxCamerasSelected:_,maxCameras:W,allSiteNames:H,mobileWebView:G,disableSelection:q,hideSiteEditButtons:X=!1,t:Z}=e;const[K,Y]=Object(l.useState)(!1),[Q,ee]=Object(l.useState)(!1),te=(null===L||void 0===L?void 0:L.length)>0;Object(l.useEffect)((()=>{te||ee(!1)}),[te]);const ne=K||!Q&&(null===L||void 0===L?void 0:L.length)>0,[ae,re]=Object(l.useState)(!1),[ie,oe]=Object(l.useState)(),[ce,le,se]=Object(p.a)(),[de,ue]=Object(l.useMemo)((()=>{const e=a.reduce(((e,t)=>c.a.intersection(t.cameras,c.a.keys(n)).length===c.a.keys(n).length?e.concat(t.name):e),[]);let t;for(const a in n)if(t){if(t=c.a.intersection(t,n[a].tags),0===t.length)break}else t=n[a].tags;return[t,e]}),[n,a]),[me,be]=De(de,ue),{isFocusVisible:pe}=Object(u.a)(),{isManything:he}=Object(h.b)(),{handleRestrictedDemoFunction:ge}=Object(g.a)(),ve=t.length>0?t.join(","):"none",je=i&&o&&(null===t||void 0===t?void 0:t.length)?"".concat(t[0]," (").concat(i,")"):i,ye=je||(t[0]?"".concat(Z(x.a.technical.CLOUD_ID),": ").concat(t[0]):he?"Manything":Z(x.a.playback.selection.NO_CLOUD_ADAPTER)),Ce=c.a.intersection(c.a.keys(n),s).length;return Object(J.jsxs)(J.Fragment,{children:[Object(J.jsxs)(fe,{$showButtons:ae||pe,children:[ae?Object(J.jsx)(Ne,{initialValue:null!==i&&void 0!==i?i:"",onCancel:()=>re(!1),onFormSubmit:async(e,a)=>{let{name:{value:r,changed:o}}=e;if(o)try{const e=c.a.values(n)[0].owner;await Object(m.a)(t,r,e),i?E(e,r,t):w(e,r,t),re(!1)}catch(l){Object(C.a)({identifier:"Playback - ".concat(i?"edit":"create"," adapter site name"),cloudIds:t}),a(Z(x.a.errors.ERROR_GENERIC))}else re(!1)},suggestions:H,variant:G?"light":"dark"}):Object(J.jsxs)(J.Fragment,{children:[Object(J.jsxs)(Oe,Object(r.a)(Object(r.a)({},be),{},{$expanded:ne,onClick:()=>{Y((e=>!e)),(null===L||void 0===L?void 0:L.length)>0&&ee(!0)},$disabled:Ce<c.a.keys(n).length&&_||q,"aria-expanded":ne,"aria-controls":ve,"aria-label":Z(ne?x.a.playback.selection.COLLAPSE_CAMERAS_LIST_FOR_X:x.a.playback.selection.EXPAND_CAMERAS_LIST_FOR_X,{name:ye}),children:[Object(J.jsx)(D.a,{}
1),Object(J.jsx)($.a,{large:!0,value:Ce===c.a.keys(n).length,disabled:Ce!==c.a.keys(n).length&&_||q,onChange:()=>{if(Ce===c.a.keys(n).length)j(c.a.keys(n));else{let e;e=W&&W>0?c.a.values(n).sort(((e,t)=>{let{name:n}=e,{name:a}=t;return Object(y.a)(n,a)})).map((e=>{let{uidd:t}=e;return t})).filter((e=>!s.includes(e))).slice(0,W-s.length):c.a.keys(n),v(e)}},onClick:e=>{e.stopPropagation()},$noMTop:!0,variant:G?"light":"dark"}),Object(J.jsx)(U.a,{searchString:L,text:ye}),Ce>0&&Object(J.jsx)(V.a,{style:{minWidth:"min-content",overflow:"hidden",marginLeft:5,backgroundColor:G?"transparent":Object(k.v)(),border:G?"1px solid ".concat(Object(k.s)()):"none",height:20,width:20,padding:"0 3px",borderRadius:100,display:"inline-flex",justifyContent:"center",alignItems:"center",color:"#464646",fontSize:"70%",lineHeight:0},children:Ce})]})),me&&Object(J.jsx)(Re,Object(r.a)({},me))]}),!X&&Object(J.jsxs)(J.Fragment,{children:[t.length>0&&Object(J.jsx)(F.a,{style:{height:25,width:30,minWidth:20},colour:G?Object(k.s)():Object(k.v)(),backgroundColour:G?Object(k.s)(15):Object(k.v)(15),onClick:ge(R?()=>re(!0):()=>f(O)),description:Z(i?x.a.playback.selection.EDIT_SITE_NAME:x.a.playback.selection.ADD_SITE_NAME),children:Object(J.jsx)(S.a,{})}),i&&Object(J.jsxs)(J.Fragment,{children:[Object(J.jsx)(F.a,{style:{height:25,width:30,minWidth:20},colour:G?Object(k.s)():Object(k.v)(),backgroundColour:G?Object(k.s)(15):Object(k.v)(15),onClick:ge(R?le:()=>f(O)),description:Z(x.a.playback.selection.RESET_SITE),children:Object(J.jsx)(N.a,{})}),Object(J.jsx)(z.b,Object(r.a)(Object(r.a)({},ce),{},{heading:Z(x.a.playback.selection.RESET_SITE),buttons:[{variant:"danger",text:Z(x.a.playback.selection.RESET_SITE),asyncAction:async e=>{try{const a=c.a.values(n)[0].owner;await Object(m.a)(t,null,a),I(a,t),1===t.length&&re(!1),e(),se()}catch(a){console.error(a),e(Z(x.a.errors.ERROR_GENERIC))}}},{text:Z(x.a.forms.CANCEL),variant:"secondary-grey",onClick:()=>{se()}}],children:Object(J.jsx)(B.a,{children:Object(J.jsxs)(d.a,{i18nKey:x.a.playback.selection.RESET_SITE_MESSAGE,children:["This will remove"," ",Object(J.jsx)("strong",{children:{siteName:i}})," ","for all cameras"]})})}))]})]})]}),ne&&Object(J.jsx)(P.c,{id:ve,column:!0,gap:10,children:c.a.values(n).sort(((e,t)=>{let{name:n}=e,{name:a}=t;return Object(y.a)(n,a)})).map((e=>{let{uidd:t,name:n,access:r,img:i,tags:o}=e;const c=s.includes(t);return Object(J.jsxs)(xe,{$showEditButton:ie===t||pe,children:[ie===t?Object(J.jsx)(Ne,{initialValue:n,onCancel:()=>oe(null),onFormSubmit:async(e,n)=>{let{name:{value:a,changed:r}}=e;if(r)try{await Object(b.f)(t,a),T(t,a),oe(null)}catch(i){Object(C.a)({identifier:"Playback - change camera name",uidd:t}),n(Z(x.a.errors.ERROR_GENERIC))}else oe(null)},variant:G?"light":"dark"}):Object(J.jsx)(Ie,{uidd:t,name:n,selected:c,onClick:c?()=>j([t]):()=>v([t]),fetchCameraThumb:A,img:i,tags:o,cameraGroups:a,searchTerm:L,maxCamerasSelected:_,showThumb:M,mobileWebView:G,disableSelection:q}),Object(J.jsx)(F.a,{style:{height:28,width:28,minWidth:28,minHeight:28},colour:G?Object(k.s)():Object(k.v)(),backgroundColour:G?Object(k.s)(15):Object(k.v)(15),description:Z(x.a.cameras.EDIT_CAMERA_NAME),onClick:ge("a"===r?()=>oe(t):()=>f(O)),children:Object(J.jsx)(S.a,{})})]},t)}))})]})})),Ie=e=>{let{uidd:t,selected:n,onClick:a,name:i,img:o,fetchCameraThumb:c,tags:s,cameraGroups:d,searchTerm:u,maxCamerasSelected:m,showThumb:b,mobileWebView:p,disableSelection:h}=e;const g=Object(l.useMemo)((()=>d.reduce(((e,n)=>{let{cameras:a,name:r}=n;return a.includes(t)?e.concat(r):e}),[])),[d,t]),[v,j]=De(s,g,t,o,i,c),f=!n&&m||h;return Object(J.jsxs)(J.Fragment,{children:[Object(J.jsxs)(ye,Object(r.a)(Object(r.a)({onClick:a,disabled:f},j),{},{children:[Object(J.jsx)($.a,{value:n,onChange:a,onClick:e=>{e.stopPropagation()},disabled:f,large:!1,$noMTop:!0,variant:p?"light":"dark","aria-label":i}),b&&c&&Object(J.jsx)(W.a,{width:50,height:28,loadImage:()=>c(t),timeout:200,src:o,alt:i,error:"error"===o}),Object(J.jsx)(U.a,{searchString:u,text:i})]})),Object(J.jsx)(Re,Object(r.a)({},v))]})},Re=Object(s.a)(null,{withRef:!0})(Object(l.forwardRef)(((e,t)=>{let{thumbSrc:n,thumbAlt:a,fetchThumb:o,tags:c,cameraGroups:l,t:s}=e,d=Object(i.a)(e,["thumbSrc","thumbAlt","fetchThumb","tags","cameraGroups","t"]);return Object(J.jsx)(H.c,Object(r.a)(Object(r.a)({ref:t,width:244},d),{},{children:Object(J.jsxs)(P.c,{column:!0,gap:10,children:[o&&Object(J.jsx)(W.a,{width:224,height:126,src:n,alt:a,error:"error"===n,loadImage:o,timeout:200}),c.length>0&&Object(J.jsxs)(Ce,{children:[Object(J.jsx)(I.a,{height:"18px","aria-label":s(x.a.cameras.tags.TAGS)}),Object(J.jsx)(G.a,{tags:c})]}),l.length>0&&Object(J.jsxs)(Ce,{children:[Object(J.jsx)(R.a,{width:"20px","aria-label":s(x.a.cameras.groups.CAMERA_GROUPS)}),Object(J.jsx)(G.a,{tags:l})]})]})}))}))),Ne=Object(s.a)()((e=>
1{let{initialValue:t,onFormSubmit:n,onCancel:a,suggestions:i,variant:o}=e;const c=Object(l.useRef)();Object(l.useEffect)((()=>{c.current.focus()}),[]);const[{name:s},d,{loading:u}]=Object(j.a)({name:{initialValue:t}},n,{canSubmitWithoutChanges:!0,markChangesOnSubmission:!0}),m={width:100,height:28,flexGrow:1},b=e=>{"Escape"===e.key&&a()},p=d.errorMessage?void 0:a,h="3px 6px";return Object(J.jsxs)($.n,Object(r.a)(Object(r.a)({},d),{},{showErrorsInModal:!0,style:{display:"flex",gap:6,margin:0,flexGrow:1},children:[i?Object(J.jsx)(de,Object(r.a)(Object(r.a)({ref:c},s),{},{possibleSuggestions:i,style:m,inputProps:{style:{padding:h},onKeyUp:b,onBlur:p},variant:o})):Object(J.jsx)($.f,Object(r.a)(Object(r.a)({ref:c},s),{},{style:Object(r.a)(Object(r.a)({},m),{},{padding:h}),onKeyUp:b,onBlur:p,variant:o})),Object(J.jsx)(P.c,{centre:!0,style:{width:20},children:u&&Object(J.jsx)(ue.a,{colour:"light"===o?Object(k.s)():void 0})})]}))})),De=(e,t,n,a,i,o)=>{const[c,{onClick:l,ref:s}]=Object(v.a)({arrow:!1,placement:"right-start",fixedPositioning:!0,data:a,offset:[30,0]}),{isFocusVisible:d}=Object(u.a)();return e.length>0||t.length>0||n?[Object(r.a)(Object(r.a)({},c),{},{thumbSrc:a,thumbAlt:i,fetchThumb:o&&(()=>o(n)),tags:e,cameraGroups:t}),{ref:s,onMouseEnter:!c.open&&Object(T.a)()?l:void 0,onMouseLeave:c.open&&Object(T.a)()?l:void 0,onFocus:d&&!c.open?l:void 0,onBlur:d&&c.open?l:void 0}]:[]};var Ae,Me,Pe,Le=Object(s.a)()(Te);const _e=K.c.div(Ae||(Ae=Object(Z.a)(["\n    height: 100%;\n    width: 100%;\n    overflow: hidden;\n\n    display: grid;\n    gap: 20px;\n\n    ","\n"])),(e=>{let{$hideNavigator:t,$mobileWebView:n,$navigatorOpen:a,$toolbar:r,$showInMobileApp:i}=e;return t||w.i&&!i?"\n        grid-template-columns: auto;\n        grid-template-rows: ".concat(r?"auto ":"","minmax(10px, 1fr);\n        grid-template-areas:\n            ").concat(r?'"toolbar"':"",'\n            "content";\n    '):n?"\n        grid-template-columns: auto;\n        grid-template-rows: auto".concat(r?" auto":"",' minmax(10px, 1fr);\n        grid-template-areas:\n            "navigator"\n            ').concat(r?'"toolbar"':"",'\n            "content";\n        gap: 20px;\n    '):a?"\n        grid-template-columns: ".concat(300,"px minmax(0, 1fr);\n        grid-template-rows: ").concat(r?"auto minmax(0, 1fr)":"100%",";\n        grid-template-areas:\n            ").concat(r?'"navigator toolbar"':"",'\n            "navigator content";\n    '):"\n        grid-template-columns: ".concat(r?"".concat(300,"px minmax(0, 1fr)"):"100%",";\n        grid-template-rows: auto minmax(0, 1fr);\n        grid-template-areas: ").concat(r?'\n            "navigator toolbar"\n            "content content"\n        ':'\n            "navigator"\n            "content"\n        ',";\n\n        // Even if there is no toolbar, toggle button must be same width on desktop as when navigator is o
1pen\n        > div:first-child {\n            max-width: ").concat(300,"px;\n        }\n    ")}));_e.displayName="CameraNavigatorLayoutGrid";const ze=K.c.div(Me||(Me=Object(Z.a)(["\n    grid-area: toolbar;\n    width: 100%;\n\n    // Maintain toolbar height when navigator expands and toggle button no longer contributes to height of grid row\n    min-height: ","px;\n"])),42);ze.displayName="CameraNavigatorLayoutToolbar";const Be=K.c.div(Pe||(Pe=Object(Z.a)(["\n    grid-area: content;\n    height: 100%;\n    width: 100%;\n    overflow: hidden;\n"])));Be.displayName="CameraNavigatorLayoutContent";const Ve=Object(l.memo)((e=>{let{children:t,hideNavigatorOnMobileWebView:n=!1,toolbar:a=!0}=e,o=Object(i.a)(e,["children","hideNavigatorOnMobileWebView","toolbar"]);const c=n&&o.mobileWebView&&!w.i;return Object(J.jsxs)(_e,{$hideNavigator:c,$mobileWebView:o.mobileWebView,$navigatorOpen:o.navigatorOpen,$toolbar:a,$showInMobileApp:"organisation"===o.type,children:[!c&&Object(J.jsx)(Le,Object(r.a)({},o)),t]})}));Ve.Toolbar=ze,Ve.Content=Be;var $e=Ve},413:function(e,t,n){"use strict";n.d(t,"f",(function(){return m})),n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return p})),n.d(t,"c",(function(){return h})),n.d(t,"k",(function(){return v})),n.d(t,"n",(function(){return j})),n.d(t,"o",(function(){return f})),n.d(t,"q",(function(){return O})),n.d(t,"e",(function(){return x})),n.d(t,"g",(function(){return y})),n.d(t,"m",(function(){return C})),n.d(t,"l",(function(){return T})),n.d(t,"p",(function(){return w})),n.d(t,"h",(function(){return k})),n.d(t,"i",(function(){return E})),n.d(t,"d",(function(){return S})),n.d(t,"j",(function(){return I}));var a=n(3),r=n(8),i=n.n(r),o=n(447),c=n(31),l=n(394),s=n(414);n(407);const d="publish",u="subscribe",m=async(e,t,n,a)=>{try{const{endpointAddress:n,iotCredentials:{AccessKeyId:r,SecretAccessKey:i,SessionToken:o},secretKey:c,thingName:s}=await Object(l.c)(e,t,a),d=n.split(".")[2];return{endpoint:n,accessKeyId:r,secretAccessKey:i,sessionToken:o,region:d,secretKey:c,cloudId:s}}catch(r){n(e,r)}},b={CONNECT:"connect",DISCONNECT:"disconnect",ERROR:"error",INTERRUPT:"interrupt",RESUME:"resume",MESSAGE:"message",CONNECTION_SUCCESS:"success",CONNECTION_FAILURE:"failure",CLOSED:"closed"},p=[b.CONNECT,b.RESUME,b.CONNECTION_SUCCESS],h=async(e,t,n,a,r,i,c,l,s,d,u)=>{try{const s="connect_".concat((new Date).toISOString());let m=o.iot.AwsIotMqttConnectionConfigBuilder.new_default_builder().with_clean_session(!1).with_client_id(s).with_endpoint(e).with_credentials(t,n,a,r).with_keep_alive_seconds(10).with_reconnect_min_sec(1).with_reconnect_max_sec(10).with_ping_timeout_ms(2e3).build();const p=(new o.mqtt.MqttClient).new_connection(m),h=new o.iotshadow.IotShadowClient(p);return p.on(b.CONNECT,(async e=>{console.log(b.CONNECT,s),u("connection_".concat(b.CONNECT),{session_present:e,client_id:s}),await d(b.CONNECT)})),p.on(b.DISCONNECT,(async()=>{console.log(b.DISCONNECT,s),u("connection_".concat(b.DISCONNECT),{client_id:s}),await d(b.DISCONNECT)})),p.on(b.ERROR,(async e=>{console.log("CONNECTION_ERROR",s),u("connection_".concat(b.ERROR),{error:e,client_id:s}),await d(b.ERROR)})),p.on(b.INTERRUPT,(async e=>{console.log(b.INTERRUPT,s),u("connection_".concat(b.INTERRUPT),{error:e,client_id:s}),await d(b.INTERRUPT)})),p.on(b.RESUME,(async(e,t)=>{console.log(b.RESUME,s),u("connection_".concat(b.RESUME),{return_code:e,session_present:t,client_id:s}),await d(b.RESUME)})),p.on(b.CONNECTION_SUCCESS,(async e=>{console.log(b.CONNECTION_SUCCESS,s),u("connection_".concat(b.CONNECTION_SUCCESS),{callback_data:e,client_id:s}),await d(b.CONNECTION_SUCCESS)})),p.on(b.CONNECTION_FAILURE,(async e=>{console.log(b.CONNECTION_FAILURE,s),u("connection_".concat(b.CONNECTION_FAILURE),{callback_data:e,client_id:s}),await d(b.CONNECTION_FAILURE)})),p.on(b.CLOSED,(async e=>{console.log(b.CLOSED,s),u("connection_".concat(b.CLOSED),{callback_data:e,client_id:s}),await d(b.CLOSED)})),await l(h,i,c),p}catch(m){s(m,i)}},g=async(e,t,n,a)=>{try{const r=await t();e===d&&r&&r.packet_id||e===u&&r&&r.topic?n&&n():a&&a()}catch(r){Object(c.N)(void 0,"iot_connection_error",{op:e,error:r}),a&&a(r)}},v=async(e,t,n,a,r)=>{await(async(e,t,n,a)=>{await g(u,(async()=>await e.subscribeToGetShadowAccepted({thingName:t},o.mqtt.QoS.AtLeastOnce,(async(a,r)=>await n(a,r,e,t)))),(()=>{}),a)})(e,t,n,r),await(async(e,t,n,a)=>{await g(u,(async()=>await e.subscribeToUpdateShadowAccepted({thingName:t},o.mqtt.QoS.AtLeastOnce,((e,a)=>n(t,e,a)))),(()=>{}),a)})(e,t,a,r)},j=async(e,t,n,r,i,c)=>{let l={actions:n};c&&(l=Object(a.a)(Object(a.a)({},l),c));await g(d,(async()=>await e.publishUpdateShadow({thingName:t,state:{reported:l}},o.mqtt.QoS.AtLeastOnce)),r,i)},f=async(e,t,n,a,r)=>{await g(d,(async()=>await e.publishUpdateShadow({thingName:t,state:{reported:{devices:n}},clientToken:"web-debug"},o.mqtt.QoS.AtLeastOnce)),a,r)},O=async(e,t,n,a,r)=>{await g(d,(async()=>await e.publishUpdateShadow({thingName:t,state:{reported:{shadows:n}}},o.mqtt.QoS.AtLeastOnce)),a,r)},x=async(e,t,n)=>{await g(d,(async()=>await e.publishGetShadow({thingName:t},o.mqtt.QoS.AtLeastOnce)),(()=>{}),n)},y=async(e,t,n,a)=>{await g(d,(async()=>await e.publishGetNamedShadow({thingName:t,shadowName:n},o.mqtt.QoS.AtLeastOnce)),(()=>{}),a)},C=async(e,t,n,a,r,i)=>{await g(u,(async()=>await e.subscribeToNamedShadowUpdatedEvents({thingName:t,shadowName:n},o.mqtt.QoS.AtLeastOnce,((e,t)=>
1a(e,t,n)))),r,i)},T=async(e,t,n,a,r,i,c)=>{await(async(e,t,n,a,r)=>{await g(u,(async()=>await e.subscribeToGetNamedShadowAccepted({thingName:t,shadowName:n},o.mqtt.QoS.AtLeastOnce,((e,t)=>a(e,t,n)))),(()=>{}),r)})(e,t,n,a,i),await C(e,t,n,r,i,c)},w=async(e,t,n,a,r,i)=>{await g(d,(async()=>await e.publishUpdateNamedShadow({thingName:t,shadowName:n,state:{reported:{devices:a}},clientToken:"web-debug"},o.mqtt.QoS.AtLeastOnce)),r,i)},k=async(e,t,n,r,o,l,d)=>{const u=s.a,m=Object.entries(n);let b=[],p=0;for(let s=0;s<m.length;s+=u){p+=1;const n="Shadow-".concat(p),r=m.slice(s,s+u);let o={};r.forEach((e=>{let t=e[1];delete t.shadow,o=Object(a.a)(Object(a.a)({},o),{},{[e[0]]:Object(a.a)({},t)})})),b.push({name:n,subscribe:!0,devices:i.a.keys(o)}),await w(e,t,n,o),await T(e,t,n,l,d,(()=>Object(c.N)("subscribe_success",{shadow:n})),(()=>{Object(c.N)("subscribe_failure",{shadow:n})}))}return b},E=async(e,t,n,a,r)=>{await g(d,(async()=>await e.publishUpdateShadow({thingName:t,state:{reported:{shadows:n.map((e=>e.name)),devices:null}}},o.mqtt.QoS.AtLeastOnce)))},S=async(e,t,n,a,r)=>{await g(d,(async()=>await e.publishDeleteNamedShadow({thingName:t,shadowName:n},o.mqtt.QoS.AtLeastOnce)),a,r)},I=async(e,t,n)=>{const r=async(a,r)=>{await j(a,r,{uninstall:!0},(()=>{Object(c.S)({cloudId:e,owner:t},!0)}),(a=>{Object(c.S)({cloudId:e,owner:t},!1),n(a)}))};try{const n=await m(e,t);await h(n.endpoint,n.region,n.accessKeyId,n.secretAccessKey,n.sessionToken,n.cloudId,n.secretKey,r,(e=>{throw Error(e)}),(()=>null),((n,r)=>Object(c.W)({owner:t,cloudId:e},Object(a.a)({state:n},r))))}catch(i){n(i)}}},414:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return r}));const a=32,r={DEVICES_AUTHENTICATING:"DEVICES_AUTHENTICATING",DEVICE_LIMIT_REACHED:"DEVICE_LIMIT_REACHED",DEVICE_FAILED_AUTH:"DEVICE_FAILED_AUTH",NO_DEVICES_SELECTED:"NO_DEVICES_SELECTED",NO_CHANNELS_SELECTED:"NO_CHANNELS_SELECTED",DEVICE_NEEDS_ACTIVATION:"DEVICE_NEEDS_ACTIVATION",DUPLICATE_MAC_INSTALL:"DUPLICATE_MAC_INSTALL"}},415:function(e,t,n){"use strict";var a=n(3),r=n(102),i=n(195),o=n(4),c=n(5),l=n(2);t.a=e=>{let{cloudId:t,account:n,modalProps:s,cancelCb:d,continueCb:u,unlinkError:m=!1,t:b}=e;return Object(l.jsx)(r.b,Object(a.a)(Object(a.a)({},s),{},{closeModal:s.closeModal,heading:b(o.a.install.link_adapter.UNLINK_CA),show:s.show,buttons:[{text:b(o.a.forms.CANCEL),variant:"secondary-grey",onClick:d,id:"btnUnlinkCancel"},{text:b(m?o.a.actions.RETRY:o.a.navigation.CONTINUE),asyncAction:u,"data-testid":"unlink-confirm",id:"btnUnlinkConfirm"}],children:Object(l.jsxs)("div",{children:[Object(l.jsx)(i.a,{bold:!0,fontSize:17,children:b(o.a.install.link_adapter.UNLINK_CONFIRM,{cloudId:t,account:n})}),Object(l.jsx)(i.a,{children:b(o.a.install.link_adapter.UNLINK_WARNING)}),Object(l.jsx)(i.a,{colour:c.u,id:"unlink-error",children:m?b(o.a.errors.ERROR_GENERIC):""})]})}))}},417:function(e,t,n){"use strict";var a=n(1);t.a=e=>{const[t,n]=Object(a.useState)("visible"===document.visibilityState);return Object(a.useEffect)((()=>(o(n),()=>c(n))),[n]),Object(a.useEffect)((()=>{if(e)return o(e),()=>c(e)}),[e]),t};const r=[],i=()=>{const e="visible"===document.visibilityState;r.forEach((t=>t(e)))},o=e=>{0===r.length&&document.addEventListener("visibilitychange",i),r.push(e)},c=e=>{const t=r.findIndex((t=>t===e));r.splice(t,1),0===r.length&&document.removeEventListener("visibilitychange",i)}},426:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var a=n(3),r=n(8),i=n.n(r),o=n(24),c=n(1),l=n(395),s=n(382),d=n(404),u=n(393),m=n(391),b=n(20),p=n(60),h=n(12),g=n(30);const v=1200,j=(e,t,n,a,r,o)=>{var c;let l;if((null===o||void 0===o?void 0:o.uidds)&&Array.isArray(o.uidds)&&(l=i.a.intersection(o.uidds,i.a.keys(e))),!l&&t&&n){const a=Object(b.o)(n,t);a&&(l=i.a.intersection(a,i.a.keys(e)))}return l&&0!==l.length||!r||(l=i.a.keys(e)),(null!==(c=l)&&void 0!==c?c:[]).slice(0,a||Number.MAX_SAFE_INTEGER)};var f=function(e,t){let{cameraGroups:n=[],limit:r,page:f,loggedInUserUid:O,organisations:x,adapterSites:y,showCloudIdWithSiteName:C=!1,hideSiteEditButtons:T=!1,selectAllByDefault:w=!1,maintainSelectedCamerasInQueryString:k=!1,disableSelection:E=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[S]=Object(s.a)(l.b,[]),[I,R]=Object(c.useState)(null!==y&&void 0!==y?y:null);Object(c.useEffect)((()=>{const e=null!==y&&void 0!==y?y:S;i.a.isNil(e)||R(e)}),[y,S]);const[N]=Object(d.a)(e,t),[D,A]=Object(c.useState)(window.innerWidth<v);Object(c.useLayoutEffect)((()=>
1{if(!h.i){const e=()=>A(window.innerWidth<v);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}}),[]);const[M,P]=Object(c.useState)((()=>{if(!D&&!h.i)try{const e=Object(b.n)();if("boolean"===typeof e)return e}catch(e){console.error(e)}return!1}));Object(c.useLayoutEffect)((()=>{D&&P(!1)}),[D]);const L=Object(o.h)(),[_,z]=Object(c.useState)((()=>{if(e)return j(e,f,O,r,w,k?Object(p.a)(L.location.search):void 0)}));e&&!_&&z(j(e,f,O,r,w,k?Object(p.a)(L.location.search):void 0));const B=!!e,{modifyQueryString:V}=Object(m.a)();Object(c.useEffect)((()=>{if(k&&B&&_){const e=Object(p.a)(L.location.search),t=null===e||void 0===e?void 0:e.uidds;i.a.isEqual(_,t)||V({uidds:_})}}),[k,B,_,V,L]);const $=Object(c.useCallback)((e=>{z((t=>{const n=[...new Set([...t,...e])].slice(0,r||Number.MAX_SAFE_INTEGER);return O&&f&&Object(b.H)(O,f,n),n}))}),[O,f,r]),U=Object(c.useCallback)((e=>{z((t=>{const n=t.filter((t=>!e.includes(t)));return O&&f&&Object(b.H)(O,f,n),n}))}),[O,f]),F=Object(c.useCallback)((()=>{z((e=>(O&&f&&Object(b.H)(O,f,[]),[])))}),[O,f]),W=Object(c.useCallback)((e=>{z((t=>{const n=e(t);return O&&f&&Object(b.H)(O,f,n),n}))}),[O,f]),H=Object(c.useCallback)(((e,n)=>{t((t=>{const r=Object(a.a)({},t);return r[e].name=n,r}))}),[t]),G=Object(c.useCallback)(((e,t,n)=>{R((r=>{const i=r.findIndex((n=>n.uid===e&&n.siteName===t));if(-1!==i){const e=[...r];return e[i]=Object(a.a)(Object(a.a)({},r[i]),{},{cloudIds:[...r[i].cloudIds,...n]}),e}return r.concat({uid:e,siteName:t,cloudIds:n})}))}),[R]),q=Object(c.useCallback)(((e,t,n)=>{R((r=>{const o=[...r],c=r.findIndex((t=>t.uid===e&&0===i.a.difference(n,t.cloudIds).length));return i.a.isEqual([...r[c].cloudIds].sort(),[...n].sort())?(o[c]=Object(a.a)(Object(a.a)({},r[c]),{},{siteName:t}),o):(o[c].cloudIds=i.a.difference(o[c].cloudIds,n),o.push({uid:e,siteName:t,cloudIds:n}),o)}))}),[R]),X=Object(c.useCallback)(((e,t)=>{R((n=>n.reduce(((n,r)=>{if(r.uid!==e||i.a.difference(t,r.cloudIds).length>0)return n.concat(r);const o=i.a.difference(r.cloudIds,t);return 0===o.length?n:n.concat(Object(a.a)(Object(a.a)({},r),{},{cloudIds:o}))}),[])))}),[R]),Z=Object(c.useMemo)((()=>{const e=n.reduce(((e,t)=>{let{name:n,cameras:a}=t;return a.forEach((t=>{e[t]||(e[t]=[]),e[t].push(n)})),e}),{});return{search:{type:"search",doesItemMatch:(t,n)=>{var a,r,i,o;return Object(g.b)(n.name,t)||n.cloudAdapterId&&Object(g.b)(null!==(a=null===(r=I.find((e=>e.uid===n.owner&&e.cloudIds.includes(n.cloudAdapterId))))||void 0===r?void 0:r.siteName)&&void 0!==a?a:n.cloudAdapterId,t)||(null===(i=n.tags)||void 0===i?void 0:i.some((e=>Object(g.b)(e,t))))||(null===(o=e[n.uidd])||void 0===o?void 0:o.some((e=>Object(g.b)(e,t))))},style:{width:100,flexGrow:1}}}}),[I,n]),[K,Y,Q]=Object(u.a)(Z,{},i.a.values(e)),J=!!(e&&I&&_);return[{cameras:e,organisations:x,cameraGroups:n,adapterSites:I,fetchCameraThumb:N,selectedCameras:_,limit:r,selectCameras:$,deselectCameras:U,clearSelection:F,changeCameraNameInState:H,createAdapterSiteInState:G,editAdapterSiteNameInState:q,deleteAdapterSiteInState:X,mobileWebView:D,filtersValues:K,filtersProps:Y,filteredCameras:Q,loggedInUserUid:O,navigatorOpen:M,setNavigatorOpen:P,disableSelection:E,ready:J,showCloudIdWithSiteName:C,hideSiteEditButtons:T},J,_,{adjustCameraSelection:W}]}},427:function(e,t,n){"use strict";var a=n(428);n.d(t,"a",(function(){return a.a}))},428:function(e,t,n){"use strict";var a=n(1);t.a=e=>{const[t,n]=Object(a.useState)((()=>{const t=localStorage.getItem("timezone");return e&&e.length>0?t&&e.includes(t)?t:e[0]:null!==t&&void 0!==t?t:Intl.DateTimeFormat().resolvedOptions().timeZone}));Object(a.useEffect)((()=>{var a;const r=null!==(a=null===e||void 0===e?void 0:e[0])&&void 0!==a?a:Intl.DateTimeFormat().resolvedOptions().timeZone;if(e&&0!==e.length){const a=localStorage.getItem("timezone");a&&e.includes(a)?t!==a&&n(t):n(r)}}),[e]),Object(a.useEffect)((()=>{t?localStorage.setItem("timezone",t):localStorage.removeItem("timezone")}),[t]);const r={onChange:e=>n(e),onClear:()=>n(),value:t,options:e};return[null!==t&&void 0!==t?t:Intl.DateTimeFormat().resolvedOptions().timeZone,r]}},434:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var a,r,i=n(1);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function c(e,t){let{title:n,titleId:c}=e,l=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",o({width:20,height:18,viewBox:"0 0 20 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":c},l),n?i.createElement("title",{id:c},n):null,a||(a=i.createElement("path",{d:"M1.66663 6.48086C1.66663 6.18892 1.66663 6.04296 1.67881 5.92001C1.79629 4.73423 2.73435 3.79617 3.92014 3.67869C4.04308 3.6665 4.19692 3.6665 4.50461 3.6665C4.62317 3.6665 4.68245 3.6665 4.73278 3.66346C5.37547 3.62453 5.93825 3.2189 6.17841 2.6215C6.19722 2.57472 6.2148 2.52198 6.24996 2.4165C6.28512 2.31103 6.3027 2.25829 6.32151 2.21151C6.56167 1.61411 7.12445 1.20848 7.76714 1.16955C7.81747 1.1665 7.87306 1.1665 7.98424 1.1665H12.0157C12.1269 1.1665 12.1825 1.1665 12.2328 1.16955C12.8755 1.20848 13.4383 1.61411 13.6784 2.21151C13.6972 2.25829 13.7148 2.31103 13.75 2.4165C13.7851 2.52198 13.8027 2.57472 13.8215 2.6215C14.0617 3.2189 14.6245 3.62453 15.2671 3.66346C15.3175 3.6665 15.3767 3.6665 15.4953 3.6665C15.803 3.6665 15.9568 3.6665 16.0798 3.67869C17.2656 3.79617 18.2036 4.73423 18.3211 5.92001C18.3333 6.04296 18.3333 6.18892 18.3333 6.48086V12.9998C18.3333 14.4 18.3333 15.1 18.0608 15.6348C17.8211 16.
11052 17.4387 16.4877 16.9683 16.7274C16.4335 16.9998 15.7334 16.9998 14.3333 16.9998H5.66663C4.26649 16.9998 3.56643 16.9998 3.03165 16.7274C2.56124 16.4877 2.17879 16.1052 1.93911 15.6348C1.66663 15.1 1.66663 14.4 1.66663 12.9998V6.48086Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})),r||(r=i.createElement("path",{d:"M9.99996 13.2498C11.8409 13.2498 13.3333 11.7575 13.3333 9.9165C13.3333 8.07555 11.8409 6.58317 9.99996 6.58317C8.15901 6.58317 6.66663 8.07555 6.66663 9.9165C6.66663 11.7575 8.15901 13.2498 9.99996 13.2498Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})))}const l=i.forwardRef(c);n.p},440:function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var a=n(1),r=n(24),i=n(375),o=n(19),c=n(4),l=n(93),s=n(195),d=n(106),u=n(15),m=n(2);const b=Object(a.memo)((e=>{var t,n,a;let{installAllowed:i,organisations:b,t:p}=e;const h=Object(r.i)(),g=i||(null===b||void 0===b?void 0:b.some((e=>e.coowner))),v=g&&(null===(t=u.f.install)||void 0===t?void 0:t.path)?"".concat(null===(n=u.f.install)||void 0===n?void 0:n.path).concat(h.pathname!==u.f.dashboard.path?"":"?d=true"):"";return Object(m.jsxs)(o.c,{column:!0,alignItems:"centre",style:{width:"100%",height:"100%",paddingTop:"max(20px, 20%)"},gap:40,children:[Object(m.jsx)(o.c,{style:{width:"min(50%, 80px)",aspectRatio:"1 / 1",padding:20,background:"#e9e9e9",borderRadius:1e3},"aria-hidden":"true",children:Object(m.jsx)(l.a,{style:{width:"100%",height:"auto",color:"#626262"}})}),Object(m.jsx)(s.a,{margin:0,centre:!0,children:p(i?c.a.cameras.NONE_INSTALLED:c.a.cameras.NONE_ACCESS)}),(null===(a=u.f.install)||void 0===a?void 0:a.path)&&g&&Object(m.jsx)(d.a,{link:v,children:p(c.a.install.INSTALL_CAMERAS)})]})}));var p=Object(i.a)()(b)},442:function(e,t){},448:function(e,t){},449:function(e,t){},450:function(e,t){},451:function(e,t){},452:function(e,t){},453:function(e,t){},454:function(e,t){},455:function(e,t){},463:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var a,r,i=n(1);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function c(e,t){let{title:n,titleId:c}=e,l=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",o({width:22,height:22,id:"Layer_2","data-name":"Layer 2",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",ref:t,"aria-labelledby":c},l),n?i.createElement("title",{id:c},n):null,a||(a=i.createElement("defs",null,i.createElement("style",null,"\n      .cls-1 {\n        fill: none;\n        stroke: currentColor;\n        stroke-linecap: round;\n        stroke-linejoin: round;\n        stroke-width: 5px;\n      }\n    "))),r||(r=i.createElement("path",{className:"cls-1",d:"M37.75,49.53c1.69,2.26,7.39,7.67,9.86,9.02,2.48,1.35,5.22,2.16,8.04,2.36,2.82.2,5.64-.2,8.29-1.19,2.65-.99,5.05-2.53,7.05-4.53l11.82-11.82c3.59-3.71,5.57-8.69,5.53-13.85-.04-5.16-2.12-10.1-5.77-13.75-3.65-3.65-8.59-5.72-13.75-5.77-5.16-.04-10.14,1.94-13.85,5.53l-11.35,11.29M60.66,49.29c-1.69-2.26-7.46-8.24-9.94-9.59-2.48-1.35-5.22-2.16-8.04-2.36-2.82-.2-5.64.2-8.29,1.19-2.65.99-5.05,2.53-7.05,4.53l-11.82,11.82c-3.59,3.71-5.57,8.69-5.53,13.85.04,5.16,2.12,10.1,5.77,13.75,3.65,3.65,8.59,5.72,13.75,5.77s10.14-1.94,13.85-5.53l11.62-11.62"})))}const l=i.forwardRef(c);n.p},470:function(e,t,n){"use strict";var a,r,i,o=n(3),c=n(66),l=n(385),s=n(123),d=n(375),u=n(225),m=n(6),b=n(7),p=n(5),h=n(35);const g=b.c.div(a||(a=Object(m.a)(["\n  display: flex;\n  align-items: center;
1\n"]))),v=b.c.input(r||(r=Object(m.a)(["\n  padding: 8px 12px;\n  border: 1px solid #ccc;\n  border-radius: 5px 0 0 5px;\n  border-right: none;\n  flex: 1;\n  outline: none;\n  font-weight: 100;\n  font-size: 0.8rem;\n"]))),j=Object(b.c)(h.a)(i||(i=Object(m.a)(["\n  border-radius: 0 5px 5px 0;\n  min-height: unset;\n  height: 32px;\n  transition: all 0.2s ease;\n  ","\n"])),(e=>{let{$success:t}=e;return t?"filter: brightness(0.9);":""}));var f,O,x,y;const C=b.c.div(f||(f=Object(m.a)(["\n    display: flex;\n    flex-direction: column;\n    justify-content: flex-start;\n    gap: 5px;\n    font-weight: 100;\n    margin: 20px 0;\n\n    ","\n"])),(e=>{let{$greyed:t}=e;return t?"\n        padding: 15px;\n        background-color: ".concat(Object(p.s)(3),";\n        border-radius: 7px;\n    "):""})),T=b.c.label(O||(O=Object(m.a)(["\n    color: ",";\n    width: fit-content;\n    font-weight: 300;\n"])),(e=>{let{$disabled:t}=e;return t?p.d:p.n})),w=b.c.label(x||(x=Object(m.a)(["\n    display: grid;\n    align-items: center;\n    grid-template-columns: 25px 1fr;\n    gap: 5px;\n    cursor: pointer;\n    text-align: left;\n    svg {\n        max-height: 15px;\n    }\n"]))),k=Object(b.c)(j)(y||(y=Object(m.a)(["\n    align-self: flex-start;\n    margin-top: 10px;\n    border-radius: 5px;\n    padding: 0 16px;\n    min-height: 36px;\n    gap: 6px;\n\n    svg {\n        width: 14px;\n        height: 14px;\n    }\n"])));var E,S,I,R,N,D=n(1),A=n(39),M=n(183);const P=b.c.div(E||(E=Object(m.a)(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  color: ",";\n\n  svg {\n    max-height: 17px;\n   \n  }\n"])),(e=>{let{$disabled:t}=e;return t?p.d:p.b})),L=b.c.div(S||(S=Object(m.a)(["\n  display: flex;\n  align-items: center;\n  border: 1px solid ",";\n  background: ",";\n  border-radius: 4px;\n  padding: 0;\n  font-family: monospace;\n  \n  &:focus-within {\n    border-color: ",";\n  }\n  \n"])),(e=>e.isInvalid?p.u:p.h),(e=>{let{$disabled:t}=e;return t?Object(p.s)(5):Object(p.v)()}),(e=>e.isInvalid?p.u:p.e)),_=b.c.input(I||(I=Object(m.a)(["\n  width: 50px;\n  padding: 8px 4px;\n  border: none;\n  text-align: center;\n  background: transparent;\n  \n  &:focus {\n    outline: none;\n  }\n\n"]))),z=b.c.span(R||(R=Object(m.a)(["\n"])));b.c.span(N||(N=Object(m.a)(["\n  font-size: 14px;\n"])));var B=n(2);var V=e=>{let{max:t,onChange:n=(()=>{}),value:a="00:00",disabled:r}=e;const[i,o]=Object(D.useState)(parseInt(null===a||void 0===a?void 0:a.split(":")[0])),[c,l]=Object(D.useState)(parseInt(null===a||void 0===a?void 0:a.split(":")[1])),{maxMinutes:s,maxSeconds:d}=(e=>{if(!e)return{maxMinutes:1/0,maxSeconds:59};const[t,n]=e.split(":").map((e=>parseInt(e)||0));return{maxMinutes:t,maxSeconds:n}})(t);return Object(B.jsxs)(P,{$disabled:r,children:[Object(B.jsx)(M.a,{}),Object(B.jsxs)(L,{isInvalid:(()=>{if(!t)return!1;return 60*i+c>60*s+d})(),$disabled:r,children:[Object(B.jsx)(_,{type:"number",min:"0",value:i.toString().padStart(2,"0"),onChange:e=>{const t=Math.max(0,parseInt(e.target.value)||0);o(t),n(t,c)},variant:"light",disabled:r}),Object(B.jsx)(z,{children:":"}),Object(B.jsx)(_,{type:"number",min:"0",max:"59",value:c.toString().padStart(2,"0"),onChange:e=>{const t=Math.max(0,Math.min(59,parseInt(e.target.value)||0));l(t),n(i,t)},style:{paddingLeft:8},variant:"light",disabled:r})]})]})},$=n(463),U=n(169),F=n(4),W=n(401),H=n(21),G=n(14),q=n(17),X=n(427),Z=n(31),K=n(12);var Y=async e=>{const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.opacity="0",document.body.appendChild(t);const n=document.getSelection(),a=(null===n||void 0===n?void 0:n.rangeCount)?n.getRangeAt(0):null;t.focus(),t.select(),t.setSelectionRange(0,t.value.length);try{if(document.execCommand("copy"))return a&&n&&(n.removeAllRanges(),n.addRange(a)),document.body.removeChild(t),!0}catch(o){}try{var r,i;if(null===(r=navigator)||void 0===r||null===(i=r.clipboard)||void 0===i?void 0:i.writeText)return await navigator.clipboard.writeText(e),a&&n&&(n.removeAllRanges(),n.addRange(a)),document.body.removeChild(t),!0}catch(o){}return a&&n&&(n.removeAllRanges(),n.addRange(a)),document.body.removeChild(t),!1};var Q=Object(d.a)()((e=>{let{value:t="",disabled:n=!1,onCopy:a=(()=>{}),t:r}=e;const[i,o]=Object(D.useState)(!1),c=Object(D.useRef)(null);return Object(D.useEffect)((()=>{const e=c.current;if(!e)return;const t=e=>{(e.ctrlKey||e.metaKey)&&"c"===e.key&&a("keyboard")};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}),[a]),Object(B.jsxs)(g,{children:[Object(B.jsx)(v,{ref:c,type:"text",value:t,readOnly:!0}),Object(B.jsx)(j,{onClick:()=>{o(!0),setTimeout((()=>{o(!1)}),1e3),Y(t).then((()=>a("button")))},disabled:n,$success:i,children:r(i?F.a.sharing.COPIED:F.a.actions.COPY)})]})}));t.a=Object(d.a)()((e=>{let{variant:t="light",maxStartTime:n,otherTokenData:a={},initialStartTime:r,availableTimezones:i,t:d}=e;const{appName:m}=Object(q.a)(),[b,h]=Object(X.a)(i),g=[1,7,30].map((e=>({value:e,text:d(F.a.time.X_DAYS,{count:e})}))),[v,j]=Object(D.useState)(Date.now()+1728e5),[f,O]=Object(D.useState)(!1),[x,y]=Object(D.useState)(!1),[E,S]=Object(D.useState)(null),I=(e,t)=>99===e?{type:"timestamp",value:Math.floor(t/1e3)}:0===e?u.a:{type:"ttl",value:24*parseInt(e)*60*60},R={useStartTime:{initialValue:!1},startTime:{initialValue:r?Object(G.t)(r):"00:00",max:n}
1,shareWith:{initialValue:"private",onChange:()=>{y(!1)}},expiry:{isDropdownWithOther:!0,initialValue:g[1].value,options:g.concat([{value:0,text:d(F.a.sharing.EXPIRY.NEVER)}]),otherOption:{value:99,text:d(F.a.sharing.EXPIRY.CUSTOM)},onChange:()=>{}}},[N,M,,P]=Object(l.a)(R,(()=>{}));Object(D.useEffect)((()=>{S(null),y(!1)}),[P.expiry,P.shareWith,v]),Object(D.useEffect)((()=>{y(!1)}),[P.useStartTime,P.startTime]);const L="".concat(d(F.a.sharing.LINK)," ").concat(d(F.a.sharing.COPIED)),_="".concat(d(F.a.actions.SHOW)," ").concat(d(F.a.sharing.LINK));return Object(B.jsxs)(c.n,Object(o.a)(Object(o.a)({},M),{},{style:{margin:0},children:[Object(B.jsx)(C,{children:Object(B.jsxs)(s.a,{row:!0,wrap:!0,alignItems:"center",justifyContent:"flex-start",gap:10,children:[Object(B.jsx)(c.a,Object(o.a)(Object(o.a)({},N.useStartTime),{},{label:d(F.a.sharing.START_AT)})),Object(B.jsx)(V,Object(o.a)(Object(o.a)({max:n},N.startTime),{},{onChange:(e,t)=>{N.startTime.onChange({target:{value:"".concat(e.toString().padStart(2,"0"),":").concat(t.toString().padStart(2,"0")),name:N.startTime.name}})},disabled:!P.useStartTime}))]})}),Object(B.jsxs)(C,{children:[Object(B.jsx)(T,{children:d(F.a.sharing.ACCESS.LABEL)}),Object(B.jsxs)(s.a,{row:!0,gap:10,alignItems:"center",children:[Object(B.jsx)(c.l,Object(o.a)({id:"public",groupName:"public",buttonValue:"public","aria-label":d(F.a.sharing.ACCESS.PUBLIC)},N.shareWith)),Object(B.jsxs)(w,{htmlFor:"public",children:[Object(B.jsx)($.a,{}),d(F.a.sharing.ACCESS.PUBLIC)]})]}),Object(B.jsxs)(s.a,{row:!0,gap:10,alignItems:"center",style:{marginTop:5},children:[Object(B.jsx)(c.l,Object(o.a)({id:"private",groupName:"private",buttonValue:"private","aria-label":d(F.a.sharing.ACCESS.PRIVATE,{appName:m})},N.shareWith)),Object(B.jsxs)(w,{htmlFor:"private",children:[Object(B.jsx)(U.a,{}),d(F.a.sharing.ACCESS.PRIVATE,{appName:m})]})]})]}),"public"===P.shareWith&&Object(B.jsxs)(C,{style:{position:"relative"},children:[Object(B.jsx)(T,{children:d(F.a.sharing.EXPIRY.LINK)}),Object(B.jsx)(c.d,Object(o.a)(Object(o.a)({layout:"horizontal"},N.expiry),{},{variant:t,otherOptionComponent:!0,valueType:"number",style:K.i?{width:"100%"}:{},children:Object(B.jsx)(W.a,{buttonText:Object(B.jsxs)(H.a,{block:!0,children:[(z=v,Y=b,new Date(z).toLocaleDateString(void 0,{weekday:"short",day:"2-digit",month:"short",year:"numeric",timeZone:Y}))," | ",new Date(v).toLocaleTimeString(void 0,{timeZone:b})]}),type:"datetime",variant:"light",buttonType:"input",noShortcuts:!0,value:v,min:Date.now(),max:Date.now()+36e10,onChange:e=>{j(e)},timezone:b,timezoneSelectorProps:h,popupPlacement:"right"})})),Object(B.jsx)(H.a,{colour:p.d,fontSize:14,children:d(F.a.sharing.EXPIRY.NEVER_INFO)})]}),Object(B.jsx)(C,{children:Object(B.jsx)(k,{type:"button",disabled:f,onClick:async()=>{if(!f){O(!0),y(!1);try{const e=I(P.expiry,v),t=await(async(e,t)=>await Object(u.c)(e,t,a))(e,P.shareWith);S(t)}catch(e){S(null)}finally{O(!1)}}},children:_})}),(E||f)&&Object(B.jsxs)(C,{$greyed:!0,children:[Object(B.jsx)(T,{children:d(F.a.sharing.LINK)}),f?Object(B.jsx)(A.a,{}):Object(B.jsxs)(B.Fragment,{children:[Object(B.jsx)(Q,{value:(e=>{const t="".concat(window.location.origin,"/shared/").concat(e);if(!P.useStartTime)return t;const a=Object(G.q)(P.startTime),r=n?Object(G.q)(n):a,i=Math.min(a,r);return"".concat(t,"?t=").concat(i)})(E),onCopy:e=>{Object(Z.r)(I(P.expiry,v),P.shareWith,e),y(!0)}}),x&&Object(B.jsx)(H.a,{colour:p.d,children:L})]})]})]}));var z,Y}))},471:function(e,t,n){"use strict";n.d(t,"a",(function(){return I})),n.d(t,"b",(function(){return A}));var a,r,i,o,c,l,s=n(3),d=n(9),u=n(1),m=n(16),b=n.n(m),p=n(17),h=n(92),g=n(6),v=n(7),j=n(5);const f=Object(v.d)(a||(a=Object(g.a)(["\nfrom {\n    opacity: 0;\n}\n\nto  { \n    opacity: 1;\n}\n"]))),O=v.c.div(r||(r=Object(g.a)(["\n    width: 100%;\n    ","\n    position: relative;\n    overflow: hidden;\n    border-radius: ",";\n"])),(e=>{let{$aspectRatio:t}=e;return t?"padding-top: ".concat(100/t,"%;"):"height: 100%;"}),(e=>{let{$rounded:t}=e;return t?"5px":0}));O.displayName="TileOuterContainer";const x=v.c.button.attrs((e=>{let{$image:t}=e;return t?{style:{backgroundImage:t.startsWith("http")?"url(".concat(t,")"):"url(data:image/jpeg;base64,".concat(t,")")}}:{}}))(i||(i=Object(g.a)(["\n    margin: 0;\n    border: none;\n    padding: 0;\n\n    background-size: cover;\n    background-position: center;\n    background-color: #000;\n    background-repeat: no-repeat;\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    position: absolute;\n    ","\n    \n    /* Animation duration should be 0.1s for every 0.1 opacity */\n    ","\n\n    /*\n        Tile can be faded, i.e. lower opacity.\n        If we actually set 'opacity', it will interfere with `fadeIn` animation.\n        So instead, we put a white pseudo element over the top that has 60% opacity, which\n        achieves the same effect.\n        Note: This only works if background colour is always white.\n    */\n    ","\n\n    /*\n        Show a border around selected tiles.\n        Don't want to put that border on TileContainer as that would affect its size and thus affect the image.\n        Instead, use a pseudo element.\n    */\n    ","\n"],["\n    margin: 0;\n    border: none;\n    padding: 0;\n\n    background-size: cover;\n    background-position: center;\n    background-color: #000;\n    background-repeat: no-repeat;\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    position: absolute;\n    ","\n    \n    /* Animation duration should be 0.1s for every 0.1 opacity */\n    ","\n\n    /*\n        Tile can be faded, i.e. lower opacity.\n        If we actually set 'opacity', it will interfere with \\`fadeIn\\` animation.\n        So instead, we put a white pseudo element over the top that has 60% opacity, which\n        achieves the same effect.\n        Note: This only works if background colour is always white.\n    */\n    ","\n\n    /*\n        Show a border around selected tiles.\n        Don't want to put that border on TileContainer as that would affect its size and thus affect the image.\n        Instead, use a pseudo element.\n    */\n    ","\n"])),(e=>{let{onClick:t}=e;return t?"cursor: pointer;":""}),(e=>{let{$fadeIn:t}=e;return t?Object(v.b)(o||(o=Object(g.a)(["\n        animation: "," ","s;\n    "])),f,(e=>{let{$faded:t}=e;return t?.6:1})):""}),(e=>{let{$faded:t,$selected:n}=e;return t&&!n?'\n        ::after {\n            content: "";\n            width: 100%;\n            height: 100%;\n            position: absolute;\n            top: 0;\n            left: 0;\n            z-index: 5;\n\n            /* White to event image in ratio (1 - SELECT_MODE_OPACITY):SELECT_MODE_OPACITY */\n            background: #FFFFFF'.concat(Math.round(102.4).toString(16),";\n        }\n    "):""}),(e=>{let{$selected:t,$selectedColour:n}=e;if(t){return'\n                ::after {\n                    content: "";\n                    width: 100%;\n                    height: 100%;\n                    box-sizing: border-box;\n                    top: 0;\n                    left: 0;\n                    z-index: 5;\n                    position: absolute;\n                    border: '.concat(2,"px solid ").concat(n,";\n                }\n            ")}return""}));x.displayName="TileInnerContainer";const y=v.c.div.attrs((e=>{let{onClick:t}=e;return t?{as:"button"}:{}}))(c||(c=Object(g.a)(["\n    background: ",";\n    position: absolute;\n    margin: 5px;\n    color: #fff;\n    font-weight: 100;\n    font-size: 90%;\n    padding: 5px 8px;\n    border-radius: 5px;\n    transition: opacity 0.3s;\n    border: none;\n    line-height: 17px;\n\n    ","\n\n    ","\n\n    /* If prop 'onlyShowOnHover' is provided, then the label only appears when mouse hovers over TileInnerContainer. */\n    ","\n"])),(e=>{let{background:t}=e;return null!==t&&void 0!==t?t:"#000000b3"}),(e=>{let{position:t}=e;switch(t){case"top-left":default:return"\n                    top: 0;\n                    left: 0;\n                ";case"top-right":return"\n                    top: 0;\n                    right: 0;\n                ";case"bottom-left":return"\n                    bottom: 0;\n                    left: 0;\n                ";case"bottom-right":return"\n                    bottom: 0;\n                    right: 0;\n                "}}),(e=>{let{onClick:t}=e;return t?"\n        cursor: pointer;\n        @media (hover: hover) {\n            :hover {\n                text-decoration: underline;\n            }\n        }\n    ":""}),(e=>{let{onlyShowOnHover:t}=e;return t?"\n                @media (hover: hover) {\n                    opacity: 0;\n\n                    ".concat(x,":hover &, ").concat(x,":focus-visible &, &:focus-visible {\n                        opacity: 1;\n                    }\n                }\n            "):""}));y.displayName="CornerLabel";const C=v.c.div(l||(l=Object(g.a)(["\n    color: #fff;\n    background: ",";\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    font-weight: 100;\n    padding: 5px 15px;\n    transition: opacity 0.3s;\n\n    /* If prop 'onlyShowOnHover' is provided, then the banner only appears when mouse hovers over TileInnerContainer. */\n    ","\n"])),Object(j.s)(),(e=>{let{onlyShowOnHover:t}=e;return t?"\n                @media (hover: hover) {\n                    opacity: 0;\n\n                    ".concat(x,":hover &, ").concat(x,":focus-visible & {\n                        opacity: 1;\n                    }\n                }\n            "):""}));C.displayName="BottomBanner";var T=n(2);const w=Object(u.forwardRef)(((e,t)=>{let{image:n,onClick:a,fadeIn:r=!1,faded:i=!1,selected:o=!1,aspectRatio:c=16/9,children:l,rounded:u}=e,m=Object(d.a)(e,["image","onClick","fadeIn","faded","selected","aspectRatio","children","rounded"]);const{accentColour:b}=Object(p.a)();return Object(T.jsx)(O,{$aspectRatio:c,$rounded:u,children:Object(T.jsx)(x,Object(s.a)(Object(s.a)({ref:t,as:a?void 0:"div",$image:n,onClick:a,$faded:i,$selected:o,$selectedColour:b,$fadeIn:r},m),{},{children:l}))})}));w.CornerLabel=e=>{var t;let{icon:n,children:a}=e,r=Object(d.a)(e,["icon","children"]);return Object(T.jsxs)(y,Object(s.a)(Object(s.a)({},r),{},{children:[n&&Object(T.jsx)(h.b,Object(s.a)({height:null!==(t=r.iconHeight)&&void 0!==t?t:17,style:{verticalAlign:"bottom",marginRight:a?5:void 0}},n)),a]}))},w.CornerLabel.propTypes={position:b.a.oneOf(["top-right","top-left","bottom-right","bottom-left"]),button:b.a.bool,onlyShowOnHover:b.a.bool,icon:b.a.shape({variant:b.a.string.isRequired,accessibilityDescription:b.a.string.isRequired}),background:b.a.string}
1,w.BottomBanner=C,w.BottomBanner.propTypes={onlyShowOnHover:b.a.bool};var k,E,S,I=w;const R=v.c.div(k||(k=Object(g.a)(["\n    display: grid;\n    gap: ","px;\n\n    ","\n"])),(e=>{let{$gap:t}=e;return t}),(e=>{let{$minTileWidths:t,$gridTemplateColumnsCSS:n}=e;if(n)return"grid-template-columns: ".concat(n,";justify-content:center;");{const e=e=>"grid-template-columns: repeat(auto-fill, minmax(".concat(e,"px, 1fr));");return"\n                \n                ".concat(e(t[void 0]),"\n\n                ").concat(Object.entries(t).filter((e=>{let[t]=e;return t})).sort(((e,t)=>{let[n]=e,[a]=t;return parseInt(n)-parseInt(a)})).map((t=>{let[n,a]=t;return"\n                            @media only screen and (max-width: ".concat(n,"px) {\n                                ").concat(e(a),"\n                            }\n                        ")})),"\n            ")}}));R.displayName="TilesGrid";const N=v.c.div(E||(E=Object(g.a)([""])));N.displayName="GroupsContainer";const D=v.c.h3(S||(S=Object(g.a)(["\n    color: ",";\n    font-size: 16px;\n    font-weight: 100;\n    margin-top: 40px;\n    margin-bottom: 20px;\n\n    :first-of-type {\n        margin-top: 25px;\n    }\n"])),Object(j.v)());D.displayName="GroupHeading";var A=Object(u.forwardRef)(((e,t)=>{let{tiles:n,renderTile:a,gap:r=10,minTileWidths:i={600:210,undefined:430},gridTemplateColumnsCSS:o}=e;return Array.isArray(n)?Object(T.jsx)(R,{ref:t,$gridTemplateColumnsCSS:o,$minTileWidths:i,$gap:r,children:n.map((e=>a(e)))}):Object(T.jsx)(N,{ref:t,children:Object.entries(n).map((e=>{let[t,n]=e;return Object(T.jsxs)(u.Fragment,{children:[Object(T.jsx)(D,{children:t}),Object(T.jsx)(R,{$minTileWidths:i,$gap:r,children:n.map((e=>a(e)))})]},t)}))})}))},474:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(1);var r=e=>{const[t,n]=Object(a.useState)();return Object(a.useEffect)((()=>{if(n(void 0),!e)return;let t=!1;const a=new Image;return a.onload=()=>{!t&&a.naturalWidth&&a.naturalHeight&&n(a.naturalWidth/a.naturalHeight)},a.src=e,()=>{t=!0,a.onload=null,a.src=""}}),[e]),t}},475:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"c",(function(){return m})),n.d(t,"d",(function(){return b})),n.d(t,"b",(function(){return p}));var a=n(3),r=n(10),i=n(49),o=n(13);const c=e=>{let{groupId:t,tracks:n}=e;const a=n[0].userId,r=n[0].deviceId,i=[],o=[];n.forEach((e=>{i.push(e.startTime),o.push(e.endTime)}));const c=Math.min(...i),l=Math.max(...o);return{groupId:t,uid:a,deviceId:r,cameraUidd:"".concat(a,".").concat(r),startTime:new Date(1e3*c),endTime:new Date(1e3*l),durationSeconds:Math.round(l-c),tracks:n,heroThumbId:n.length>1?t:n[0].heroThumbId}},l=(e,t,n,r)=>Object(a.a)({startTime:t instanceof Date?t.getTime():t,endTime:e instanceof Date?e.getTime():e,labels:null!==n&&void 0!==n?n:void 0},r?(()=>{const e=Object(i.a)(r.coordinates);return"line"===r.type?{line:e}:{polygon:[...e,e[0]]}})():void 0),s=Object(r.c)((async function(e,t,n){let{makePrivateRequest:r}=e,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,d=arguments.length>5?arguments[5]:void 0;const[u,m]=t.split("."),b="/analytics/standard/".concat(u,"/").concat(m,"/tracks"),p=50,h=10,g=[],v=new Set;let j=n,f=!1;for(let O=0;O<h;O++){const e=l(j,i,s,d),{data:t}=await r("analytics","POST",b,{data:Object(a.a)({},e),region:Object(o.s)(u)});let n,m=0;for(const r of t){const e=c(Object(a.a)({},r));if(!v.has(e.groupId)){v.add(e.groupId),g.push(e),m++;const t=e.startTime.getTime();(void 0===n||t<n)&&(n=t)}}if(0===m||void 0===n){f=!0;break}if(t.length===p){f=!1;break}j=n}return[g,f]})),d=e=>"object"===typeof e&&null!==e,u=e=>Array.isArray(e)?e.filter(d):[],m=Object(r.c)((async(e,t,n)=>{let{makePrivateRequest:a}=e;if(0===n.length)return[];const[r,i]=t.split("."),c="/analytics/standard/".concat(r,"/").concat(i,"/tracks"),{data:l}=await a("analytics","POST",c,{data:{ids:n},region:Object(o.s)(r)});return(e=>d(e)&&Array.isArray(e.tracks)?u(e.tracks):Array.isArray(e)?e.flatMap((e=>d(e)&&Array.isArray(e.tracks)?u(e.tracks):d(e)?[e]:[])):[])(l)})),b=Object(r.c)((async(e,t,n,r,i)=>{let{makePrivateRequest:c}=e;if(t)return i(!0),!0;const[s,d]=n.split("."),u="/analytics/standard/".concat(s,"/").concat(d,"/tracks"),m=l(void 0,r,void 0,void 0),{data:b}=await c("analytics","POST",u,{data:Object(a.a)(Object(a.a)({},m),{},{limit:1}),region:Object(o.s)(s)});return i&&i(b.length>0),b.length>0})),p=Object(r.c)((async function(e,t,n){let{makePrivateRequest:a}=e,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const i={startTime:r instanceof Date?r.getTime():r,endTime:n instanceof Date?n.getTime():n},c=await Promise.all(t.map((async e=>{const[t,n]=e.split("."),{data:r}=await a("analytics","GET","/analytics/standard/".concat(t,"/").concat(n,"/markers"),{params:i,region:Object(o.s)(t)});return r})));return t.reduce(((e,t,n)=>(e[t]=c[n],e)),{})}))},482:function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var a=n(3),r=(n(1),n(295)),i=n(114),o=n(4),c=n(5),l=n(14),s=n(226),d=n(116),u=n(115),m=n(19),b=n(470),p=n(2);var h=e=>{let{eventData:t,onClickCb:n=(()=>{}),getCurrentTime:h=(()=>{}),timezone:g,availableTimezones:v,backgroundColour:j=c.h}=e;const{t:f}=Object(r.a)(),[O,x,y]=Object(i.a)();return Object(p.jsxs)(p.Fragment,{children:[Object(p.jsx)(d.a,{onClick:()=>{n(),x()},description:f(o.a.actions.SHARE),tooltipPlacement:"top",colour:"inherit",backgroundColour:j,children:Object(p.jsx)(s.a,{})}),O.show&&Object(p.jsx)(u.c,Object(a.a)(Object(a.a)({},O),{},{heading:f(o.a.sharing.VIDEO),buttons:[{onClick:y,text:f(o.a.common.DONE)}],children:Object(p.jsx)(m.c,{column:!0,style:{fontWeight:100},children:Object(p.jsx)(b.a,{maxStartTime:Object(l.t)(t.durationSeconds||0),otherTokenData:{uidd:[t.cameraUidd||""],startt:t.startTime/1e3,endt:t.endTime/1e3},initialStartTime:h(),availableTimezones:v})})}))]})}},522:function(e,t,n){"use strict";n.d(t,"b",(function(){return Wn}
1)),n.d(t,"a",(function(){return la}));var a=n(9),r=n(3),i=n(1),o=n(8),c=n.n(o),l=n(24),s=n(375),d=n(381),u=n(107),m=n.n(u),b=n(525),p=n(551),h=n(504),g=n(534),v=n(221),j=n(165),f=n(31),O=n(13),x=n(40),y=n(28),C=n(4),T=n(160),w=n(383),k=n(120),E=n(59),S=n(60),I=n(5),R=n(14),N=n(20),D=n(65),A=n(56),M=n(391),P=n(54),L=n(535);var _,z,B=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{600:200,undefined:230};const[r,o]=Object(i.useState)(),c=Object(i.useRef)({count:e.length,gap:n,minTileWidths:a,calculateContainerHeight:t}),l=Object(i.useRef)(),s=Object(i.useCallback)((()=>{const{gap:e,count:t,minTileWidths:n,calculateContainerHeight:a}=c.current;if(t>0&&l.current){const[r,,i]=Object(L.a)(l.current.getBoundingClientRect().width,a(l.current)-1,e,t,n);o([r,i])}}),[]),d=Object(i.useRef)();return Object(P.a)(d,((e,t)=>{let{width:n}=e;s()})),Object(i.useLayoutEffect)((()=>{c.current.count=e.length,c.current.gap=n,s()}),[e.length,n,s]),[{gap:n,tiles:e,minTileWidths:c.current.minTileWidths,gridTemplateColumnsCSS:null===r||void 0===r?void 0:r[0],ref:l},d,s,null===r||void 0===r?void 0:r[1]]},V=n(70),$=n(114),U=n(417),F=n(130),W=n(427),H=n(17),G=n(426),q=n(382),X=n(474);function Z(){return(Z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function K(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",Z({viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?i.createElement("title",{id:a},n):null,_||(_=i.createElement("g",{transform:"matrix(.25546 0 0 .25546 -3.8698 -2.7536)",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"5px"},i.createElement("path",{d:"m83.59 49.92c0-7.17-2.34-14.15-6.66-19.87-10.9-14.45-31.77-17.37-46.22-6.47s-17.37 31.77-6.47 46.22 31.77 17.37 46.22 6.47",strokeMiterlimit:10}),i.createElement("polyline",{points:"75.34 48.13 83.21 56 90.94 48.27",strokeLinejoin:"round"}))),z||(z=i.createElement("g",{transform:"matrix(.25546 0 0 .25546 -3.8698 -2.7536)",fill:"currentColor"},i.createElement("path",{d:"m39.23 47.3h-4.32v-3.81c4.05 0 4.95-1.17 4.95-3.69h4.2v20.4h-4.83z"}),i.createElement("path",{d:"m48.05 50c0-6.93 2.97-10.65 8.52-10.65s8.52 3.72 8.52 10.65-2.97 10.65-8.52 10.65-8.52-3.72-8.52-10.65zm12.42 0c0-4.59-1.26-6.75-3.9-6.75s-3.9 2.16-3.9 6.75 1.26 6.75 3.9 6.75 3.9-2.16 3.9-6.75z"}))))}const Y=i.forwardRef(K);var Q,J;n.p;function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function te(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",ee({viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?i.createElement("title",{id:a},n):null,Q||(Q=i.createElement("g",{transform:"matrix(.25546 0 0 .25546 -1.8265 -2.7741)",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"5px"}
1,i.createElement("path",{d:"m17 50c0-7.17 2.34-14.15 6.66-19.87 10.9-14.45 31.77-17.37 46.22-6.47s17.37 31.77 6.47 46.22-31.77 17.37-46.22 6.47",strokeMiterlimit:10}),i.createElement("polyline",{points:"25.25 48.13 17.38 56 9.65 48.27",strokeLinejoin:"round"}))),J||(J=i.createElement("g",{transform:"matrix(.25546 0 0 .25546 -1.8265 -2.7741)",fill:"currentColor"},i.createElement("path",{d:"m39.23 47.3h-4.32v-3.81c4.05 0 4.95-1.17 4.95-3.69h4.2v20.4h-4.83z"}),i.createElement("path",{d:"m48.05 50c0-6.93 2.97-10.65 8.52-10.65s8.52 3.72 8.52 10.65-2.97 10.65-8.52 10.65-8.52-3.72-8.52-10.65zm12.42 0c0-4.59-1.26-6.75-3.9-6.75s-3.9 2.16-3.9 6.75 1.26 6.75 3.9 6.75 3.9-2.16 3.9-6.75z"}))))}const ne=i.forwardRef(te);n.p;var ae,re=n(197),ie=n(95),oe=n(132);function ce(){return(ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function le(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",ce({width:17,height:17,viewBox:"0 0 17 17",fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?i.createElement("title",{id:a},n):null,ae||(ae=i.createElement("path",{d:"M15.6667 1.83333L6.08333 11.4167M6.08333 5.58333L15.6667 15.1667M4 1C5.38071 1 6.5 2.11929 6.5 3.5C6.5 4.88071 5.38071 6 4 6C2.61929 6 1.5 4.88071 1.5 3.5C1.5 2.11929 2.61929 1 4 1ZM4 11C5.38071 11 6.5 12.1193 6.5 13.5C6.5 14.8807 5.38071 16 4 16C2.61929 16 1.5 14.8807 1.5 13.5C1.5 12.1193 2.61929 11 4 11Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})))}const se=i.forwardRef(le);n.p;var de,ue,me,be=n(229),pe=n(243),he=n(434),ge=n(118),ve=n(189),je=n(217),fe=n(128),Oe=n(129),xe=n(238);function ye(){return(ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function Ce(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",ye({viewBox:"0 0 85 85",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?i.createElement("title",{id:a},n):null,de||(de=i.createElement("circle",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px",cx:42.5,cy:42.5,r:40})),ue||(ue=i.createElement("line",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px",x1:23.47,x2:61.53,y1:23.47,y2:61.53})),me||(me=i.createElement("line",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px",x1:61.53,x2:23.47,y1:23.47,y2:61.53})))}const Te=i.forwardRef(Ce);var we;n.p;function ke(){return(ke=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function Ee(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",ke({viewBox:"0 0 91 85",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?i.createElement("title",{id:a},n):null,we||(we=i.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px"},i.createElement("rect",{x:24.58,y:27.18,width:42.5,height:31.71}),i.createElement("g",{transform:"translate(-4.17,-6.5)"},i.createElement("line",{x1:77.02,x2:90.5,y1:24.45,y2:10.97}),i.createElement("polyline",{points:"92.22 20.68 92.22 9.55 81.29 9.55"})),i.createElement("g",{transform:"translate(-4.17,-6.5)"},i.createElement("line",{x1:22.02,x2:8.54,y1:24.6,y2:11.12}
1),i.createElement("polyline",{points:"18.25 9.4 7.12 9.4 7.12 20.33"})),i.createElement("g",{transform:"translate(-4.17,-6.5)"},i.createElement("line",{x1:22.32,x2:8.84,y1:73.55,y2:87.03}),i.createElement("polyline",{points:"7.12 77.32 7.12 88.45 18.05 88.45"})),i.createElement("g",{transform:"translate(-4.17,-6.5)"},i.createElement("line",{x1:77.32,x2:90.81,y1:73.4,y2:86.88}),i.createElement("polyline",{points:"81.09 88.6 92.22 88.6 92.22 77.67"})))))}const Se=i.forwardRef(Ee);var Ie;n.p;function Re(){return(Re=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function Ne(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",Re({viewBox:"0 0 91 85",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?i.createElement("title",{id:a},n):null,Ie||(Ie=i.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px"},i.createElement("rect",{x:24.58,y:27.18,width:42.5,height:31.71}),i.createElement("g",{transform:"translate(-4.17 -6.5)"},i.createElement("line",{x1:92.22,x2:78.74,y1:9.55,y2:23.03}),i.createElement("polyline",{points:"77.02 13.32 77.02 24.45 87.95 24.45"})),i.createElement("g",{transform:"translate(-4.17 -6.5)"},i.createElement("line",{x1:7.12,x2:20.6,y1:9.4,y2:22.88}),i.createElement("polyline",{points:"10.88 24.6 22.02 24.6 22.02 13.67"})),i.createElement("g",{transform:"translate(-4.17 -6.5)"},i.createElement("line",{x1:7.12,x2:20.6,y1:88.45,y2:74.97}),i.createElement("polyline",{points:"22.32 84.68 22.32 73.55 11.39 73.55"})),i.createElement("g",{transform:"translate(-4.17 -6.5)"},i.createElement("line",{x1:92.22,x2:78.74,y1:88.6,y2:75.12}),i.createElement("polyline",{points:"88.46 73.4 77.32 73.4 77.32 84.33"})))))}const De=i.forwardRef(Ne);var Ae;n.p;function Me(){return(Me=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function Pe(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",Me({viewBox:"0 0 73 77",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?i.createElement("title",{id:a},n):null,Ae||(Ae=i.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px"},i.createElement("polygon",{transform:"translate(-13.955,-11.5)",points:"66.57 50 16.94 15.26 16.94 84.74"}),i.createElement("line",{x1:70.015,x2:70.015,y1:2.59,y2:74.41}))))}const Le=i.forwardRef(Pe);var _e;n.p;function ze(){return(ze=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(null,arguments)}function Be(e,t){let{title:n,titleId:a}=e,r=function(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;n[a]=e[a]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,["title","titleId"]);return i.createElement("svg",ze({viewBox:"0 0 73 77",xmlns:"http://www.w3.org/2000/svg",ref:t,"aria-labelledby":a},r),n?i.createElement("title",{id:a},n):null,_e||(_e=i.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"5px"},i.createElement("polygon",{transform:"translate(-13.955 -11.5)",points:"83.97 15.26 34.35 50 83.97 84.74"}),i.createElement("line",{x1:2.985,x2:2.985,y1:74.41,y2:2.59}))))}const Ve=i.forwardRef(Be);n.p;var $e,Ue,Fe,We,He,Ge,qe,Xe,Ze,Ke,Ye,Qe,Je,et,tt,nt,at,rt,it,ot,ct,lt,st,dt,ut,mt,bt,pt,ht,gt,vt,jt,ft,Ot,xt,yt,Ct,Tt=n(127),wt=n(78),kt=n(471),Et=n(21),St=n(66),It=n(19),Rt=n(34),Nt=n(35),Dt=n(42),At=n(71),Mt=n(115),Pt=n(116),Lt=n(186),_t=n(39),zt=n(401),Bt=n(440),Vt=n(200),$t=n(411),Ut=n(237),Ft=n(6),Wt=n(7),Ht=n(96);const Gt=Wt.c.div($e||($e=Object(Ft.a)(["\n    width: 100%;\n    height: 100%;\n    display: grid;\n    grid-template-rows: minmax(0, 1fr) auto;\n    grid-template-columns: 100%;\n"])));
1Gt.displayName="VideoAndControlsGrid";const qt=Wt.c.div(Ue||(Ue=Object(Ft.a)(["\n    width: 100%;\n    height: 100%;\n    display: flex;\n    align-items: flex-start;\n    position: relative;\n\n    > div {\n        width: 100%;\n    }\n"])));qt.displayName="ScrollableContainer";const Xt=Wt.c.div(Fe||(Fe=Object(Ft.a)(["\n    position: absolute;\n    width: 100%;\n    height: 100%;\n\n    > div {\n        width: 100%;\n    }\n"])));Xt.displayName="DroppableOutlineGridContainer";const Zt=Wt.c.div(We||(We=Object(Ft.a)(['\n    width: 100%;\n    padding-top: 56.25%;\n    position: relative;\n\n    ::after {\n        content: "";\n        position: absolute;\n        top: 4px;\n        left: 4px;\n        right: 4px;\n        bottom: 4px;\n        border: 1px solid #fff;\n        display: block;\n    }\n'])));Zt.displayName="DroppableOutline";const Kt=Wt.c.div(He||(He=Object(Ft.a)(['\n    width: 100%;\n    height: 100%;\n\n    position: relative;\n    &::after {\n        content: "";\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        border: 3px solid ',";\n        background: radial-gradient(#faeabb00 60%, #faeabb88); //FDE295\n        opacity: ",";\n        transition: opacity .3s;\n        pointer-events: none;\n    }\n"])),(e=>{let{$accentColour:t}=e;return null!==t&&void 0!==t?t:I.g}),(e=>{let{$highlight:t}=e;return t?1:0}));Kt.displayName="PlayerContainer";const Yt=Wt.c.div(Ge||(Ge=Object(Ft.a)(["\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    right: 0;\n    color: ",";\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    pointer-events: none;\n    opacity: ",";\n    transition: ",";\n\n    svg {\n        z-index: 1;\n    }\n"])),Object(I.v)(),(e=>{let{$show:t}=e;return t?1:0}),(e=>{let{$show:t,$fadeIn:n}=e;return t&&!n?"none":"opacity .3s"}));Yt.displayName="VideoMessageOverlay";const Qt=Wt.c.div(qe||(qe=Object(Ft.a)(["\n    position: absolute;\n    left: 10px;\n    top: 10px;\n    width: 30px;\n    height: 30px;\n    border: 1px solid #000;\n    border-radius: 5px;\n    background: ",";\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n    color: ",";\n\n    svg {\n        width: auto;\n        height: auto;\n        max-width: 70%;\n        max-height: 70%;\n        flex-grow: 1;\n        color: ",";\n\n        ","\n    }\n\n    input {\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        opacity: 0;\n    }\n"])),(e=>{let{$checked:t,$accentColour:n}=e;return t?n:Object(I.v)()}),Object(I.v)(),Object(I.s)(),(e=>{let{$checked:t}=e;return t?"":"display: none;"}));Qt.displayName="CameraCheckboxContainer";const Jt=640,en=10,tn=31,nn=11,an=16,rn=29.2,on=30,cn=16,ln=Wt.c.div(Xe||(Xe=Object(Ft.a)(["\n    display: flex;\n    flex-direction: column;\n    margin-top: ","px;\n    gap: 10px;\n    position: relative; // Relative for buffering\n    z-index: 1;\n    background-color: ",";\n    padding: 10px;\n    border-radius: 10px;\n    color: ",";\n\n    @media screen and (max-width: ",") {\n        padding: 5px;\n    }\n"])),10,Object(I.s)(75),Object(I.v)(),Jt);ln.displayName="PlaybackFooter";const sn=Object(Wt.d)(Ze||(Ze=Object(Ft.a)(["\n    from {\n        transform: translateY(0px);\n    }\n\n    to {\n        transform: translateY(-44px);\n    }\n"]))),dn=Wt.c.div(Ke||(Ke=Object(Ft.a)(["\n    position: absolute;\n    left: 0;\n    right: 0;\n    top: 0;\n    display: flex;\n    justify-content: center;\n    z-index: -1;\n    animation: "," .6s forwards;\n    // Don't block any UI behind\n    pointer-events: none;\n"])),sn);dn.displayName="BufferingIndicatorContainer";const un=Wt.c.div(Ye||(Ye=Object(Ft.a)(["\n    color: ",";\n    background: #000;\n    border: 1px solid #828282;\n    display: flex;\n    border-radius: 100px;\n    padding: 8px 30px;\n    box-shadow: 0 0 10px 0 #0008;\n"])),Object(I.v)());un.displayName="BufferingIndicator";const mn=Wt.c.div(Qe||(Qe=Object(Ft.a)(["\n    padding: 0 ","px;\n    border-radius: 10px;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: 1fr auto 1fr;\n    background: ",";\n    background: ",";\n    height: 46px;\n\n    @media screen and (max-width: 320px) {\n        gap: 0; /** helps keep the buttons on the same line on a very small screen */\n    }\n"])),10,Object(I.v)(),Object(I.v)(5));mn.displayName="VideoControlsBar";const bn=Wt.c.div(Je||(Je=Object(Ft.a)(["\n    display: flex;\n    gap: ","px;\n    align-items: center;\n    @media (max-width: ","px) {\n        // Put play button first and group other buttons on mobile\n        button:nth-child(3) {\n            // Play button\n            order: -1;\n        }\n        button:nth-child(1) {\n            // Previous motion\n            order: 1;\n        }\n        button:last-child {\n            // Next motion\n            order: 1;\n        }\n    }\n"])),15,Jt);bn.displayName="VideoControlsGroupCentre";const pn=Wt.c.button(et||(et=Object(Ft.a)(["\n    background: none;\n    padding: 0;\n    border: none;\n    margin: 0;\n    width: 22px;\n    height: 22px;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n    color: inherit;\n\n    :disabled {\n        opacity: 0.4;\n        cursor: not-allowed;\n    }\n\n    @media (hover: hover) {\n        :hover:not(:disabled) {\n            color: ",";\n        }\n    }\n\n    svg {\n        width: auto;\n        height: auto;\n        max-width: 100%;\n        max-height: 100%;\n        flex-grow: 1;\n    }\n"])),(e=>{let{$hoverColour:t}=e;return t}));pn.displayName="VideoControlButton";const hn=Wt.c.div(tt||(tt=Object(Ft.a)(["\n    left: ","px;\n    display: flex;\n    gap: ","px;\n    align-items: center;\n\n    @media (max-width: ","px) {\n        position: absolute;\n        bottom: 12px;\n        z-index: 2;\n    }\n"])),10,15,Jt);hn.displayName="VideoControlsGroupLeft";const gn=Wt.c.div(nt||(nt=Object(Ft.a)(["\n    position: relative;\n\n    select {\n        border: none;\n        padding: 0;\n        background: ",";\n        width: auto;\n        cursor: pointer;\n        appearance: none;\n        text-align: center;\n        padding-right: 15px;\n        padding-left: 10px;\n        border-radius: 20px;\n        height: 22px;\n\n        &:hover:not(:disabled) {\n            background: ",';\n        }\n    }\n\n    &::after {\n        content: "";\n        display: block;\n        width: 5px;\n        height: 5px;\n        border-left: 1px solid ',";\n        border-bottom: 1px solid ",";\n        transform: rotate(-45deg);\n        position: absolute;\n        right: 5px;\n        top: calc(50% - 4px);\n\n        // Make sure it doesn't interfere with clicking dropdown\n        pointer-events: none;\n    }\n\n    @media only screen and (max-width: ","px) {\n        width: min-content;\n    }\n"])),Object(I.v)(15),Object(I.v)(50),Object(I.v)(),Object(I.v)(),Jt);gn.displayName="PlaybackRateContainer";const vn=Wt.c.div(at||(at=Object(Ft.a)(["\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 5px;\n\n    @media screen and (min-width: ","px) {\n        min-width: 170px;\n        gap: 10px;\n    }\n"])),Jt);vn.displayName="VideoControlsGroupRight";const jn=Wt.c.div(rt||(rt=Object(Ft.a)(["\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: ","px;\n    \n    ","\n"])),en,(e=>{let{$showCentreLine:t,$lineColour:n}=e;return t?'\n        &::after {\n            content: "";\n            display: block;\n            border-left: '.concat(3,"px solid ").concat(n,";\n            height: calc(100% - ").concat(44,"px);\n            position: absolute;\n            top: ").concat(14,"px;\n            left: calc(50% - ").concat(3,"px);\n            pointer-events: none;\n        }\n\n        @media (max-width: ").concat(Jt,"px) {\n            &::after {\n                height: calc(100% - ").concat(84,"px);\n            }\n        }\n    "):""}));jn.displayName="TimelineContainer";const fn=Wt.c.div.attrs((e=>{let{$motionRowsCount:t}=e;return{style:{height:tn+(1===t?39.2:26*t)+1}}}))(it||(it=Object(Ft.a)(["\n    position: relative;\n    overflow: hidden;\n    width: 100%;\n"])));fn.displayName="TimelineContainer";const On=Wt.c.div(ot||(ot=Object(Ft.a)(["\n    display: flex;\n    flex-direction: column;\n    gap: ","px;\n\n    position: absolute;\n    left: 0;\n    top: 0;\n\n    ",";\n"])),en,(e=>{let{$movingTimeline:t}=e;return t?"\n                cursor: grabbing;\n\n                ".concat(wn," {\n                    cursor: inherit;\n                }\n            "):"cursor: grab;"}));On.displayName="TimelineInnerContainer";const xn=Wt.c.span.attrs((e=>{let{$rowIndex:t,$onlyRow:n}=e;
1return{style:{top:41+(n?6.6:26*t+1)}}}))(ct||(ct=Object(Ft.a)(["\n    position: absolute;\n    font-weight: 100;\n    font-size: 0.9em;\n    padding-left: 5px;\n    pointer-events: none;\n    line-height: ","px; // Make sure label height doesn't exceed row height\n    width: 17%;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    background: ",";\n    color: ",";\n"])),15,I.p,Object(I.s)());xn.displayName="MotionIndicatorsCameraLabel";const yn=Wt.c.div(lt||(lt=Object(Ft.a)(["\n    display: flex;\n    flex-direction: column;\n    gap: ","px;\n    position: relative; \n"])),en);yn.displayName="MotionRowsContainer";const Cn=Wt.c.button(st||(st=Object(Ft.a)(["\n    position: absolute;\n    top: ",'px;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    padding: 0;\n    border: none;\n    background: none;\n    pointer-events: none;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    &:focus-visible {\n        &::after {\n            content: "','";\n            position: absolute;\n            display: block;\n            background: #fff;\n            border: 1px solid grey;\n            padding: 2px 4px;\n            z-index: 1;\n            font-weight: 400;\n            max-width: 90%;\n        }\n    }\n'])),41,(e=>{let{$instructions:t}=e;return t}));Cn.displayName="EventKeyboardNavigationTrigger";const Tn=Wt.c.div(dt||(dt=Object(Ft.a)(["\n    height: ","px;\n    width: 100%;\n    position: relative;\n    background: ",";\n\n    // If this is the only row, make it larger\n    &:first-of-type:last-of-type {\n        height: ","px;\n    }\n"])),an,(e=>{let{$isContinuous:t,$accentColour:n}=e;return t?Object(I.z)(n,60):Object(I.v)(15)}),rn);Tn.displayName="MotionIndicatorsTrack";const wn=Wt.c.button(ut||(ut=Object(Ft.a)(["\n    ","\n    position: absolute;\n\n    padding: 0;\n    margin: 0;\n    border: none;\n    border-radius: 36px;\n    background: ",";\n    cursor: pointer;\n\n    // Centre child div used as popup reference point\n    display: flex;\n    justify-content: center;\n\n    @media (hover: hover) {\n        :hover {\n            filter: brightness(1.2);\n        }\n    }\n"])),(e=>{let{position:t}=e;return"\n            height: ".concat("full"===t?"98%":"28%",";\n            bottom: ").concat("top"===t?"auto":"middle"===t?"36%":0,";\n            top: ").concat("top"===t?0:"auto",";\n        ")}),(e=>{let{$accentColour:t}=e;return t}));wn.displayName="MotionIndicatorButton";const kn=Wt.c.div(mt||(mt=Object(Ft.a)(["\n    position: sticky;\n    left: 0;\n    right: 0;\n    height: 100%;\n    width: 1px;\n\n    // Make sure any click events have <button> as target\n    // This is for mouse listeners in Timeline that check whether a mouse down event happened over a MotionIndicator\n    pointer-events: none;\n"])));kn.displayName="MotionIndicatorButtonPopupReference";const En=Object(Wt.c)(Ht.a)(bt||(bt=Object(Ft.a)(["\n    width: 100%;\n"])));En.displayName="EventThumb";const Sn=Wt.c.div(pt||(pt=Object(Ft.a)(["\n    position: absolute;\n    top: ","px;\n    height: calc(100% - ","px);\n    left: 0;\n    width: 100%;\n"])),41,42);Sn.displayName="ClippingControlsContainer";const In=Wt.c.div.attrs((e=>{let{$rangeLeft:t,$rangeRight:n}=e;return{style:{left:t-1,right:n-1}}}))(ht||(ht=Object(Ft.a)(["\n    position: absolute;\n    top: -","px;\n    bottom: -","px;\n    border: 1px solid currentColor;\n"])),1,1);In.displayName="ClippingControlsRange";const Rn=Wt.c.button(gt||(gt=Object(Ft.a)(["\n    height: 100%;\n    width: ","px;\n    position: absolute;\n    top: 0;\n    background: red;\n    border: none;\n    padding: 0;\n    border-radius: 100;\n\n    // Only keyboard actions use this button for scrubbing\n    pointer-events: none;\n"])),3);Rn.displayName="ClipPlayLine";const Nn=Wt.c.button.attrs((e=>{let{$position:t,$start:n}=e;const a={style:{}};return n?a.style.left=t-cn:a.style.right=t-cn,a}))(vt||(vt=Object(Ft.a)(["\n    padding: 0;\n    position: absolute;\n    top: -","px;\n    bottom: -","px;\n    background: ",";\n    width: ","px;\n    border: none;\n    cursor: col-resize;\n    display: flex;\n    justify-content: center;
1\n    align-items: center;\n\n    ","\n\n    svg {\n        color: ",";\n        width: 50%;\n        transform: scaleY(1.4);\n    }\n"])),1,1,I.h,cn,(e=>{let{$start:t}=e;return t?"\n        border-radius: 5px 0 0 5px;\n    ":"\n        border-radius: 0 5px 5px 0;\n    "}),Object(I.s)());Nn.displayName="ClippingControlButton";const Dn=Wt.c.span.attrs((e=>{let{$start:t,$rangeLeft:n,$rangeRight:a,$timelineWidth:r}=e;const i=r-n-a>204,o={style:{}};return t?i||n<204?o.style.left=n+12:o.style.right=r-n+cn+12:i||a<204?o.style.right=a+12:o.style.left=r-a+cn+12,o}))(jt||(jt=Object(Ft.a)(["\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    color: ",";\n    background-color: ",";\n    min-width: 180px;\n    height: ","px;\n    padding: 1px 6px;\n    pointer-events: none;\n    border-radius: 100px;\n    font-weight: 100;\n    font-size: 0.8em;\n    position: absolute;\n\n    ","\n"])),Object(I.v)(),Object(I.s)(),12.8,(e=>{let{$start:t}=e;return t?"\n        top: ".concat(1.6,"px;\n    "):"\n        bottom: ".concat(1.6,"px;\n    ")}));Dn.displayName="ClipTimeLabel";const An=Wt.c.div(ft||(ft=Object(Ft.a)(["\n    display: flex;\n    justify-content: center;
1\n    align-items: flex-start;\n    position: relative;\n    height: ","px;\n\n    @media (max-width: ","px) {\n        height: ","px;\n    }\n"])),on,Jt,70);An.displayName="TimelineFooter";const Mn=Wt.c.div(Ot||(Ot=Object(Ft.a)(["\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    height: ","px;\n    max-height: ","px;\n    min-width: min(220px, 75%);\n    background: ",";\n    color: #FFF;\n    border: 1px solid ",";\n    padding: 5px 10px;\n    border-radius: 4px;\n    font-weight: 100;\n    font-size: 0.9em;\n    margin: 0 5px;\n\n    @media (max-width: ","px) {\n        ","\n        font-size: 0.8em;\n    }\n"])),on,36,(e=>{let{$backgroundColour:t}=e;return t}),Object(I.v)(50),Jt,(e=>{let{$inClippingMode:t}=e;return t?"padding: 2px;":""}));Mn.displayName="ClipRangeLabel";const Pn=Wt.c.div(xt||(xt=Object(Ft.a)(["\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    height: ","px;\n    display: flex;\n    gap: 10px;\n    align-items: center;\n\n    @media screen and (max-width: ",") {\n        bottom: 5px;\n    }\n"])),on,Jt);Pn.displayName="TimelineFooterLeft";const Ln=Wt.c.div(yt||(yt=Object(Ft.a)(["\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    height: ","px;\n    display: flex;\n    gap: 4px;\n    align-items: center;\n\n    @media screen and (max-width: ",") {\n        bottom: 5px;\n    }\n"])),on,Jt);Ln.displayName="TimelineFooterRight";const _n=Object(Wt.c)(St.c)(Ct||(Ct=Object(Ft.a)(["\n    height: 100%;\n    padding: 2px 7px;\n    background: none;\n    border: 1px solid ",";\n    border-radius: 12px;\n    appearance: none;\n    cursor: pointer;\n    text-align: center;\n\n    :focus-visible {\n        outline: none;\n        background: ",";\n    }\n\n    @media (hover: hover) {\n        :hover:not(:disabled) {\n            background: ",";\n        }\n    }\n"])),Object(I.v)(15),Object(I.v)(50),Object(I.v)(50));_n.displayName="TimeRangeDropdown";var zn=n(475),Bn=n(482),Vn=n(15),$n=n(72),Un=n(73),Fn=n(2);const Wn=[{labelTranslationKey:"15m",value:9e5},{labelTranslationKey:"30m",value:18e5},{labelTranslationKey:"1h",value:36e5},{labelTranslationKey:"3h",value:108e5},{labelTranslationKey:"6h",value:216e5}],Hn=9e4,Gn=500,qn=1e3,Xn=32,Zn=1e4,Kn="MODE_NORMAL",Yn="MODE_CLIPPING",Qn="VIDEO_STATE_LOADING",Jn="VIDEO_STATE_BUFFERING",ea="VIDEO_STATE_READY",ta="OVERLAY_NO_MOTION",na="OVERLAY_BUILD_ERROR",aa="OVERLAY_MEDIA_ERROR_GENERIC";let ra,ia,oa=[];const ca=Object(i.memo)((e=>{let{organisations:t,cameraGroups:n,loggedInUserUid:a,installAllowed:o}=e;const[l,s]=Object(q.a)(Na,[t]),[d,u,m,{adjustCameraSelection:b}]=Object(G.a)(l,s,{cameraGroups:n,organisations:t,loggedInUserUid:a,limit:16,maintainSelectedCamerasInQueryString:!0,page:"playback"}),p=d.deselectCameras,h=Object(i.useCallback)((e=>{p([e])}),[p]);return l&&u?c.a.isEmpty(l)?Object(Fn.jsx)(Bt.a,{installAllowed:o,organisations:t}):Object(Fn.jsx)($t.a,Object(r.a)(Object(r.a)({},d),{},{toolbar:!1,children:Object(Fn.jsx)($t.a.Content,{children:Object(Fn.jsx)(la,{cameras:l,selectedCameras:m,deselectCamera:h,fetchCameraThumb:d.fetchCameraThumb,reorderSelectedCameras:b})})})):Object(Fn.jsx)(_t.a,{fill:!0})})),la=Object(s.a)()((e=>{var t,n,o,s;let{cameras:d,selectedCameras:u,deselectCamera:m,fetchCameraThumb:h,reorderSelectedCameras:v,t:j}=e;const O=Object(l.i)(),x=Vn.f.playback&&(null===(t=O.pathname)||void 0===t?void 0:t.includes(Vn.f.playback.path))?"playback":"singlecam",y=Object(l.h)(),T=Object(i.useRef)(c.a.mapValues(d,"recordedStreamName")),w=Object(i.useRef)({validTimeRangeStart:6e4*Math.ceil(((new Date).getTime()-24*c.a.reduce(d,((e,t)=>{let{cloudStorageDuration:n}=t;return Math.max(e,n)}),0)*60*60*1e3)/6e4),validTimeRangeEnd:6e4*Math.floor((new Date).getTime()/6e4),uidds:[],videosCurrentTime:null,eventDataRangeStart:null,eventDataRangeEnd:null,visibleRangeSize:(e=>{const t=e=>!!Wn.find((t=>{let{value:n}=t;return n===e})),n=null===(e=y.location.state)||void 0===e?void 0:e.visibleRangeSize;if(n&&t(n))return n;const a=Object(N.A)();return a&&t(a)?a:c.a.last(Wn).value})(),timelineCentreTime:null,mode:Kn,clipStart:null,clipEnd:null,draggingClipHandle:null,downloadExcludedUidds:[],paused:!1,mouseSeeking:!1,playbackRate:1,currentChunk:null,nextChunk:null,pendingChunk:null,videoState:ea,overlays:{}
1,overlayBackgrounds:{},tabIsVisible:!0,playerRefs:{},expandedUidd:null,reorderingUidd:null,showReorderingInstructions:!1,reorderingTileOverUidd:null,currentEventData:{},showSmartMotion:(e=>{const t=e=>!!Wn.find((t=>{let{value:n}=t;return n===e})),n=null===(e=y.location.state)||void 0===e?void 0:e.visibleRangeSize;if(n&&t(n))return n===Wn[0].value;const a=Object(N.A)();return!(!a||!t(a))&&a===Wn[0].value})()}),[R,D]=Object(i.useState)({uidds:[],eventDataRangeStart:null,eventDataRangeEnd:null,videosCurrentTime:null,currentEventData:{},timelineCentreTime:null,currentChunk:null,nextChunk:null,videoState:ea,overlays:{},overlayBackgrounds:{},showPauseIcon:!0,disablePlayPauseButton:!0,downloadExcludedUidds:[],playbackRate:1,visibleRangeSize:w.current.visibleRangeSize,mouseSeeking:!1,disableAllSnapshotsButton:!1,disableIndividualSnapshotButtons:[],inClippingMode:!1,unsyncedVideos:[],expandedUidd:null,reorderingUidd:null,showReorderingInstructions:!1,showDroppableOutlineInPositionOfUidd:null,showSmartMotion:w.current.visibleRangeSize===Wn[0].value}),P=Object(i.useRef)();Object(i.useEffect)((()=>()=>{var e;clearInterval(P.current),clearTimeout(null===(e=w.current.pendingChunk)||void 0===e?void 0:e.timeout)}),[]);const{updateState:L,updateInterval:_,updateTimelineCentreTime:z,updateOverlayBackgroundIfNotCurrentlyShowing:V,updateAllOverlayBackgroundsWhereNotCurrentlyShowing:$,updateOverlay:F,updateAllOverlays:H,addNextChunkIfNeeded:G,playVideosIfPermitted:q,stopPlayingVideos:X,runBufferingCheck:Z,updateVideoToTime:K,switchToNextChunk:Y,createInitialCameraVideoObject:Q}=Object(i.useMemo)((()=>{const e=()=>{D((e=>{const t={uidds:[...w.current.uidds],eventDataRangeStart:w.current.eventDataRangeStart,eventDataRangeEnd:w.current.eventDataRangeEnd,videosCurrentTime:1e3*Math.round(w.current.videosCurrentTime/1e3),timelineCentreTime:1e3*Math.round(w.current.timelineCentreTime/1e3),currentChunk:w.current.currentChunk&&{startTime:w.current.currentChunk.startTime,endTime:w.current.currentChunk.endTime,cameras:c.a.chain(w.current.currentChunk.videos).pickBy((e=>{let{hasVideo:t,loaded:n}=e;return!n||t})).mapValues((e=>{let{url:t,resets:n}=e;return{url:t,resets:null!==n&&void 0!==n?n:0}})).value()},nextChunk:w.current.nextChunk&&{startTime:w.current.nextChunk.startTime,endTime:w.current.nextChunk.endTime,cameras:c.a.chain(w.current.nextChunk.videos).pickBy((e=>{let{hasVideo:t,loaded:n}=e;return!n||t})).mapValues((e=>{let{url:t,resets:n}=e;return{url:t,resets:null!==n&&void 0!==n?n:0}})).value()},videoState:w.current.videoState,overlays:Object(r.a)({},w.current.overlays),overlayBackgrounds:Object(r.a)({},w.current.overlayBackgrounds),showPauseIcon:w.current.uidds.length>0&&!w.current.paused&&w.current.videosCurrentTime<(w.current.mode===Yn?w.current.clipEnd:w.current.validTimeRangeEnd),disablePlayPauseButton:0===w.current.uidds.length||w.current.mode===Kn&&w.current.videosCurrentTime>=w.current.validTimeRangeEnd,downloadExcludedUidds:[...w.current.downloadExcludedUidds],clipStart:w.current.clipStart,clipEnd:w.current.clipEnd,draggingClipHandle:w.current.draggingClipHandle,playbackRate:w.current.playbackRate,visibleRangeSize:w.current.visibleRangeSize,mouseSeeking:w.current.mouseSeeking,disableAllSnapshotsButton:!w.current.currentChunk||w.current.uidds.every((e=>!w.current.currentChunk.videos[e].loaded||w.current.overlays[e])),disableIndividualSnapshotButtons:w.current.uidds.filter((e=>{var t;return!(null===(t=w.current.currentChunk)||void 0===t?void 0:t.videos[e].loaded)||w.current.overlays[e]})),inClippingMode:w.current.mode===Yn,unsyncedVideos:w.current.uidds.filter((e=>{var t;return!(null===(t=w.current.currentChunk)||void 0===t?void 0:t.videos[e].synced)})),expandedUidd:w.current.expandedUidd,reorderingUidd:w.current.reorderingUidd,showReorderingInstructions:w.current.showReorderingInstructions,showDroppableOutlineInPositionOfUidd:w.current.reorderingTileOverUidd,currentEventData:Object(r.a)({},w.current.currentEventData),showSmartMotion:w.current.showSmartMotion};return c.a.isEqual(e,t)?e:t}))},t=()=>{const{currentChunk:e,videosCurrentTime:t,tabIsVisible:n,mouseSeeking:a,paused:r,videoState:i,mode:o,clipEnd:c,validTimeRangeEnd:l}=w.current,s=e&&!r&&!a&&i===ea&&(o===Yn?t<c:t<l)&&n;return Xa("areVideosPermittedToPlay","Returning ".concat(s),{currentChunk:e,videosCurrentTime:t,tabIsVisible:n,mouseSeeking:a,paused:r,videoState:i,mode:o,clipEnd:c,validTimeRangeEnd:l}),s},n=function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const i={loaded:!1,resets:a,url:qa(e,t,n,T.current[e],r),tryingTranscoding:r};return Xa("createInitialCameraVideoObject","Object created",{state:i}),i},a=function(){var a,r,i,o;let l=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const{videoState:s,videosCurrentTime:d,currentChunk:{startTime:u,endTime:m,videos:b}
1,nextChunk:h,mode:v,clipEnd:O,playbackRate:x,validTimeRangeEnd:y,uidds:C}=w.current;Xa("runBufferingCheck","invoked",{shouldUpdateState:l,currentChunkLastBuffered:(null===(a=ra)||void 0===a?void 0:a.startTime)===u?ra:null,nextChunkLastBuffered:(null===(r=ia)||void 0===r?void 0:r.startTime)===(null===h||void 0===h?void 0:h.startTime)?ia:null}),(null===(i=ra)||void 0===i?void 0:i.startTime)!==u&&(ra={startTime:u}),h?(null===(o=ia)||void 0===o?void 0:o.startTime)!==(null===h||void 0===h?void 0:h.startTime)&&(ia={startTime:h.startTime}):ia=null;const T=1e3*x,k=d-u;let S=!1;const I=(e,t,a,r)=>{const{hasVideo:i,offset:o,start:l,ref:s,loaded:m,tryingTranscoding:p,codec:g}=e,j=t===u;if(Xa("canVideoPlay","".concat(r," ").concat(j?"current":"next"," chunk"),{chunkStartTime:t,chunkEndTime:a,uidd:r,loaded:m,hasVideo:i,isCurrentChunk:j,hasRef:!!s,buffered:Za(null===s||void 0===s?void 0:s.getBuffered())}),!m)return Xa("canVideoPlay","Not loaded"),!1;if(!i)return Xa("canVideoPlay","No video"),!0;const f=j?k:0,x=Math.max(1e3*l-f,0);if(x>=T)return Xa("canVideoPlay","No video for ".concat(r," ").concat(j?"current":"next"," chunk in next second"),{msIntoChunk:f,timeBetweenNowAndVideoStart:x,missingStart:l,videoTimeThatWillElapseInNextSecond:T}),!0;if(s){var y;const e=t===u?d:t,i=s,m=i.getBuffered(),f=Za(m),C=f.reduce(((e,t)=>{let[n,a]=t;return e+(a-n)}),0),w=j?ra:ia;if(w[r]||(w[r]={changes:[]}),c.a.isEqual(w[r].bufferedArray,f)||w[r].changes.push(f),"number"===typeof w[r].total&&w[r].total>C&&Xa("canVideoPlay","".concat(r," ").concat(j?"current":"next"," chunk buffered total has decreased"),{previousArray:w[r].bufferedArray,newArray:f,previousTotal:w[r].total,newTotal:C,changes:w[r].changes}),w[r].bufferedArray=f,w[r].total=C,w[r].currentTime=s.getCurrentTime(),-1!==Array(null!==(y=null===m||void 0===m?void 0:m.length)&&void 0!==y?y:0).fill(0).findIndex(((c,s)=>{const d=Ya(m.start(s),t,a,o,l),p=e+x;if(p<d){if(!(0===s&&d-qn<p&&i.getReadyState()===HTMLMediaElement.HAVE_ENOUGH_DATA&&Math.abs(i.getCurrentTime()-m.start(s))<qn)){if(Xa("canVideoPlay","".concat(r," ").concat(j?"current":"next"," chunk range ").concat(s," fails start test"),{start:d,desiredStart:p,timeToCompare:e,timeBetweenNowAndVideoStart:x,VIDEO_CHUNK_MISSING_START_ALLOWANCE:qn,index:s,"timeToCompare - chunkStartTime":e-t,"start - desiredStart":d-p,"desiredStart < start":p<d,safety:0===s&&d-qn<p&&i.getReadyState()===HTMLMediaElement.HAVE_ENOUGH_DATA&&i.getCurrentTime()===m.start(s),readyState:i.getReadyState(),currentTime:i.getCurrentTime(),bufferedStart:m.start(s),bufferedEnd:m.end(s),videoDuration:i.getDuration(),chunkStartTime:t,chunkEndTime:a,missingStart:l,offset:o}),0===s){const e=j?b:h.videos,i=e[r].resets||0;i<5?(Xa("canVideoPlay","".concat(r," ").concat(j?"current":"next"," chunk buffer starts after desired time so reloading")),e[r]=n(r,t,a,i+1),S=!0):Xa("canVideoPlay","".concat(r," ").concat(j?"current":"next"," chunk buffer starts after desired time but max resets count reached so not reloading"),{resetsCount:i})}return!1}Xa("canVideoPlay","".concat(r," ").concat(j?"current":"next"," chunk range ").concat(s," fails initial start test but passes second"))}return Math.min(e+T,v===Yn?O:a)<=Ya(m.end(s),t,a,o,l)||m.end(s)===i.getDuration()?(Xa("canVideoPlay","".concat(r," ").concat(t===u?"current chunk":"next chunk"," range ").concat(s," passes both tests")),!0):(Xa("canVideoPlay","".concat(r," ").concat(j?"current":"next"," chunk range ").concat(s," fails end test"),{end:Ya(m.end(s),t,a,o,l),desiredEnd:e+T,"computedDesiredEnd - end":Math.min(e+T,v===Yn?O:a)-Ya(m.end(s),t,a,o,l),"computedDesiredEnd - chunkStartTime":Math.min(e+T,v===Yn?O:a)-t,mode:v,clipEnd:O,chunkEndTime:a,computedDesiredEnd:Math.min(e+T,v===Yn?O:a)<=Ya(m.end(s),t,a,o,l),timeToCompare:e,videoTimeThatWillElapseInNextSecond:T,videoDuration:i.getDuration(),index:s,firstCheck:Math.min(e+T,v===Yn?O:a)<=Ya(m.end(s),t,a,o,l),secondCheck:m.end(s)===i.getDuration(),readyState:i.getReadyState(),currentTime:i.getCurrentTime(),bufferedStart:m.start(s),bufferedEnd:m.end(s),chunkStartTime:t,missingStart:l,offset:o}),!1)})))return"hevc"===g?Object(E.d)():p&&E.a&&(Xa("canVideoPlay","Transcoded video now plays"),Object(E.e)()),!0}return Xa("canVideoPlay","".concat(r," ").concat(j?"current":"next"," chunk fail
1s canVideoPlay"),{hasRef:!!s,chunkStartTime:t,chunkEndTime:a,currentChunk:u===t}),!1},R=Math.min(d+T,y)>m,N=!(R&&!h||!C.every((e=>I(b[e],u,m,e)&&(!R||I(h.videos[e],h.startTime,h.endTime,e)))));Xa("runBufferingCheck","All checks run",{canPlayAllVideos:N,needNextVideosWithinNextSecond:R,nextChunk:h,videoState:s,videosCurrentTime:d,currentChunkLastBuffered:ra,nextChunkLastBuffered:ia}),N!==(s===ea)?(Xa("runBufferingCheck","State change",{canPlayAllVideos:N,videoState:s}),N?(w.current.videoState=ea,c.a.forEach(b,((e,t)=>{Xa("runBufferingCheck","Invoking updateVideoToTime to sync ".concat(t)),g(w.current.videosCurrentTime,e,u,m)})),t()?j():(Xa("runBufferingCheck","Videos not permitted to play so just calling updateInterval to clear buffering interval"),p())):(w.current.videoState=Jn,f()),l&&e()):S&&l&&e()},i=e=>{w.current.timelineCentreTime=c.a.clamp(e,w.current.validTimeRangeStart,w.current.validTimeRangeEnd);const{visibleRangeSize:t,timelineCentreTime:n,eventDataRangeStart:a,eventDataRangeEnd:r,validTimeRangeStart:i,validTimeRangeEnd:o}=w.current,l=.5*t;if(n<a+l&&a>i||n>r-l&&r<o){const[e,a]=$a(n,t,i,o);w.current.eventDataRangeStart=e,w.current.eventDataRangeEnd=a}},o=()=>{Xa("switchToNextChunk","invoked"),w.current.currentChunk=w.current.nextChunk,w.current.nextChunk=null,h(),j()},l=e=>{const{currentChunk:t,playerRefs:n}=w.current,a=null===t||void 0===t?void 0:t.videos[e];if(Xa("updateOverlayBackground","invoked",{uidd:e,video:a}),a&&a.loaded&&a.ref&&a.hasVideo&&a.synced&&n[e]){Xa("updateOverlayBackground","Video exists so requesting snapshot",{uidd:e});const t=n[e].getSnapshot(a.ref);t.width>0&&t.height>0?(Xa("updateOverlayBackground","Canvas valid",{uidd:e,width:t.width,height:t.height}),w.current.overlayBackgrounds[e]=t.toDataURL("image/jpeg")):Xa("updateOverlayBackground","Canvas invalid as width and height are 0",{uidd:e,width:t.width,height:t.height})}},s=e=>{const{overlays:t}=w.current,n=!t[e];Xa("updateOverlayBackgroundIfNotCurrentlyShowing","invoked",{uidd:e,noCurrentOverlay:n}),n&&l(e)},d=e=>{const{videosCurrentTime:t,currentChunk:n,playbackRate:a,overlays:r}=w.current,i=!!r[e];if(Xa("updateOverlay","invoked",{uidd:e,currentlyShowingOverlay:i}),!(null===n||void 0===n?void 0:n.videos[e].loaded))return w.current.overlays[e]=null,void Xa("updateOverlay","No overlay as chunk not loaded",{uidd:e});const{hasVideo:o,error:c,start:s,padding:d,mediaError:u}=n.videos[e];c?w.current.overlays[e]=u?aa:na:!o||(t-n.startTime)/1e3<s||d.find((e=>{let[n,r]=e;return t+Gn*a>=n&&t<=r}))?w.current.overlays[e]=ta:w.current.overlays[e]=null,Xa("updateOverlay","Overlay set to ".concat(w.current.overlays[e]),{hasVideo:o,error:c,start:s,padding:d,mediaError:u,videosCurrentTime:t,currentChunkStartTime:n.startTime,playbackRate:a,UPDATE_INTERVAL:Gn}),!i&&w.current.overlays[e]&&l(e)},u=()=>{const{currentChunk:e}=w.current;Xa("updateAllOverlays","invoked",{currentChunkExists:!!e}),e?c.a.forEach(c.a.keys(e.videos),(e=>{d(e)})):w.current.overlays={}};let m;const b=n=>{const{uidds:r,videosCurrentTime:l,currentChunk:{startTime:s,endTime:d,videos:b},nextChunk:p,playbackRate:g,mode:j}=w.current,f=(l-s)/1e3,O=t(),x=r.reduce(((e,t)=>{let[a,r]=e;const{hasVideo:i,start:o,ref:c,synced:l}=b[t];return!(c&&i&&l&&o<=f&&o<r)||n&&O&&c.getPaused()?[a,r]:[t,o]}),["",Number.MAX_SAFE_INTEGER])[0];let y;if(Xa("updateTime","invoked",{uidds:r,videosCurrentTime:l,currentChunkStartTime:s,currentChunkEndTime:d,currentChunkVideos:b,nextChunk:p,playbackRate:g,controlVideoUidd:x,timeOfLastUpdate:m,runningOnInterval:n,intervalRefValue:P.current,areVideosPermittedToPlay:t,secondsIntoCurrentChunk:f}),x){const{offset:e,start:t,ref:a}=b[x];let r=a.getCurrentTime();if("number"===typeof r){if(a.getDuration()&&r===a.getDuration()){r=Qa(s,d,(d-s)/1e3,e,t)}y=Math.max(Math.round(Ya(r,s,d,e,t)),l),n&&O&&y===l&&m&&m<(new Date).getTime()&&(console.warn("Time from ".concat(x," has not increased as expected so updating manually")),Xa("updateTime","Time from ".concat(x," has not increased as expected so updating manually"),{runningOnInterval:n,videosPermittedToPlay:O,newVideosCurrentTime:y,videosCurrentTime:l,timeOfLastUpdate:m,now:Date.now(),UPDATE_INTERVAL:Gn,playedSeconds:r,duration:a.getDuration(),offset:e,start:t,videoTime:Math.round(Ya(r,s,d,e,t))}),y+=Math.min((new Date).getTime()-m,Gn)*g)}}else if(n&&O){const e=m?Math.min((new Date).getTime()-m,Gn):Gn;y=Math.min(l+e*g,d),Xa("updateTime","Updating time manually as no control video",{timeChange:e,timeOfLastUpdate:m,UPDATE_INTERVAL:Gn,now:Date.now(),videosCurrentTime:l,playbackRate:g,currentChunkEndTime:d})}if(Xa("updateTime","Identified newVideosCurrentTime",{newVideosCurrentTime:y}),y&&y!==l){Xa("updateTime","videos current time has changed");const t=(l-s)/1e3,r=(y-s)/1e3;w.current.videosCurrentTime=y,n&&O&&c.a.forEach(b,((e,n)=>{let{start:a}=e;a>t&&a<=r&&v(n)})),j===Kn&&i(w.current.videosCurrentTime),h(),p&&y===p.startTime&&o(),u(),a(!1),e()}m=(new Date).getTime()},p=()=>{Xa("updateInterval","invoked",{uiddsLength:w.current.uidds.length,tabIsVisible:w.current.tabIsVisible,videoState:w.current.videoState,currentChunk:w.current.currentChunk,intervalRefValue:P.current}),P.current&&clearInterval(P.current),w.current.uidds.length>0&&w.current.tabIsVisible?t()&&w.current.videoState===ea?(Xa("updateInterval","Create updateTime interval"),P.current=setInterval((()=>
1{if(Xa("Interval for updateTime","invoked"),b(!0),t()){const{videosCurrentTime:e,currentChunk:{startTime:t,endTime:n,videos:a}}=w.current;c.a.forEach(a,((a,r)=>{const{ref:i,start:o,loaded:c,offset:l,hasVideo:s}=a;c&&s&&e>t+1e3*o&&i.getCurrentTime()!==i.getDuration()&&(i.getPaused()?(Xa("Interval for updateTime","Video for ".concat(r," is paused but is supposed to be playing. Invoking playVideo()."),{start:o,loaded:c,offset:l,hasVideo:s,videosCurrentTime:e,currentChunkStartTime:t,currentTime:i.getCurrentTime(),duration:i.getDuration()}),v(r)):Math.abs(e-Ya(i.getCurrentTime(),t,n,l,o))>2e3&&(Xa("Interval for updateTime","Video for ".concat(r," has drifted from correct time. Invoking updateVideoToTime()."),{start:o,loaded:c,offset:l,hasVideo:s,videosCurrentTime:e,currentChunkStartTime:t,currentChunkEndTime:n,currentTime:i.getCurrentTime()}),g(e,a,t,n)))}))}}),Gn)):w.current.videoState!==ea&&w.current.currentChunk&&c.a.every(w.current.currentChunk.videos,"loaded")?(Xa("updateInterval","Create buffering interval"),P.current=setInterval(a,Gn)):Xa("updateInterval","Some cameras selected and tab is visible but no new interval to create"):Xa("updateInterval","Either no cameras selected or tab hidden so no new interval to create",{uidds:w.current.uidds,tabIsVisible:w.current.tabIsVisible})},h=()=>{const{videosCurrentTime:e,playbackRate:t,currentChunk:a,nextChunk:i,validTimeRangeEnd:o,uidds:c}=w.current;if(Xa("addNextChunkIfNeeded","invoked",{videosCurrentTime:e,playbackRate:t,currentChunk:a,nextChunk:i,validTimeRangeEnd:o,uidds:c,NEXT_CHUNK_PREPARATION_TIME:15e3}),!i&&e+15e3*t>=(null===a||void 0===a?void 0:a.endTime)&&(null===a||void 0===a?void 0:a.endTime)<o){Xa("addNextChunkIfNeeded","Creating next chunk");const e=a.endTime,t=Math.min(a.endTime+Hn,o);w.current.nextChunk={startTime:e,endTime:t,videos:c.reduce(((a,i)=>Object(r.a)(Object(r.a)({},a),{},{[i]:n(i,e,t)})),{})}}},g=(e,t,n,a)=>{const{ref:r,offset:i,start:o,synced:c}=t;if(Xa("updateVideoToTime","invoked",{desiredTime:e,chunkStartTime:n,chunkEndTime:a,offset:i,start:o,synced:c}),r){const c=Qa(n,a,(e-n)/1e3,i,o),l=r.setCurrentTime(c);t.synced=l,Xa("updateVideoToTime","".concat(l?"Successfully":"Failed to"," set video current time to ").concat(c))}},v=e=>{const{currentChunk:{startTime:t,endTime:n,videos:a},videosCurrentTime:r,playbackRate:i}=w.current,{ref:o}=a[e];var c;(Xa("playVideo","invoke for ".concat(e),{currentChunkStartTime:t,currentChunkEndTime:n,videosCurrentTime:r,playbackRate:i,hasRef:!!o}),o)&&(g(r,a[e],t,n),o.setPlaybackRate(i),null===(c=o.play())||void 0===c||c.catch((()=>{console.error("".concat(e," didn't play")),Xa("playVideo","".concat(e," didn't play"))})))},j=()=>{const{currentChunk:e,videosCurrentTime:n}=w.current;if(Xa("playVideosIfPermitted","invoked",{currentChunk:e,videosCurrentTime:n}),t()){Xa("playVideosIfPermitted","videos are permitted to play");const t=(n-e.startTime)/1e3;c.a.forEach(e.videos,((e,n)=>{let{hasVideo:a,ref:r,start:i}=e;r&&a&&t>=i&&v(n)})),p()}},f=()=>{Xa("stopPlayingVideos","invoked"),w.current.currentChunk&&(c.a.forEach(w.current.currentChunk.videos,(e=>{let{hasVideo:t,ref:n}=e;n&&t&&n.pause()})),b(!1)),p()};return{updateState:e,updateInterval:p,updateTimelineCentreTime:i,updateOverlayBackground:l,updateOverlayBackgroundIfNotCurrentlyShowing:s,updateAllOverlayBackgroundsWhereNotCurrentlyShowing:()=>{const{uidds:e}=w.current;Xa("updateAllOverlayBackgroundsWhereNotCurrentlyShowing","invoked",{uidds:e}),e.forEach((e=>{s(e)}))},updateOverlay:d,updateAllOverlays:u,addNextChunkIfNeeded:h,playVideosIfPermitted:j,stopPlayingVideos:f,runBufferingCheck:a,updateVideoToTime:g,switchToNextChunk:o,createInitialCameraVideoObject:n}}),[]),{setNewVisibleRangeSize:J,onChunkLoaded:ee,onChunkMediaError:te,seekTo:ne,skip:ae,skipToMotionAt:re,setPlaybackRate:ie,onPlayPauseClicked:oe,enterClipMode:ce,exitClipMode:le,setDraggingClipHandle:de,moveTimelineInClipMode:ue,goToClipHandle:me,changeClipTime:be,takeAllSnapshots:pe,takeIndividualSnapshot:ge,setMouseSeeking:ve,toggleSelectCameraForDownload:je,handlePlayerRef:fe,handleVideoRef:Oe,toggleExpandCamera:xe,startReorderingTile:ye,stopReorderingTile:Ce}=Object(i.useMemo)((()=>{const e=e=>{Xa("seekTo","invoked",{requestedTime:e});const{mode:t,clipStart:n,clipEnd:a,validTimeRangeStart:i,validTimeRangeEnd:o,currentChunk:l,nextChunk:s}=w.current,d=t===Yn?c.a.clamp(Math.round(e),n,a):c.a.clamp(Math.round(e),i,o);if(w.current.videosCurrentTime!==d){if(w.current.videosCurrentTime=d,t===Kn&&z(w.current.videosCurrentTime),(null===l||void 0===l?void 0:l.startTime)<=d&&(null===l||void 0===l?void 0:l.endTime)>d)Xa("seekTo","seek within current chunk"),c.a.forEach(l.videos,((e,t)=>{e.hasVideo?(Xa("seekTo","invoking updateVideoToTime for ".concat(t," current chunk")),K(d,e,l.startTime,l.endTime)):Xa("seekTo","hasVideo is not true for ".concat(t," current chunk so not invoking updateVideoToTime"),{hasVideo:e.hasVideo})})),G(),c.a.every(l.videos,(e=>{let{loaded:t}=e;return t}))&&(Xa("seekTo","all current chunk videos loaded so runBufferingCheck"),Z(!1),w.current.videoState===Jn&&(Xa("seekTo","runBufferingCheck set state to buffering so changing to loading"),w.current.videoState=Qn));else if((null===s||void 0===s?void 0:s.startTime)<=d&&(null===s||void 0===s?void 0:s.endTime)>d)Xa("seekTo","seek to next chunk"),c.a.forEach(s.videos,((e,t)=>{e.hasVideo?(Xa("seekTo","invoking updateVideoToTime for ".concat(t," next chunk")),K(d,e,s.startTime,s.endTime)):Xa("seekTo","hasVideo is not true for ".concat(t," next chunk so not invoking updateVideoToTime"),{hasVideo:e.hasVideo})})),Y(),c.a.every(w.current.currentChunk.videos,(e=>{let{loaded:t}=e;return t}))?(Z(!1),w.current.videoState===Jn&&(Xa("seekTo","runBufferingCheck set state to buffering so changing to loading"),w.current.videoState=Qn)):w.current.videoState=Qn;else{var u;Xa("seekTo","seek to new chunk"),w.current.currentChunk=null,w.current.nextChunk=null,w.current.videoState=Qn,(null===(u=w.current.pendingChunk)||void 0===u?void 0:u.timeout)&&clearTimeout(w.current.pendingChunk.timeout);const[e,t]=Ka(d,i,o);w.current.pendingChunk={startTime:e,endTime:t,timeout:setTimeout((()=>{const e=w.current.pendingChunk.startTime,t=w.current.pendingChunk.endTime;w.current.currentChunk={startTime:e,endTime:t,videos:w.current.uidds.reduce(((n,a)=>Object(r.a)(Object(r.a)({},n),{},{[a]:Q(a,e,t)})),{})},w.current.pendingChunk=null,G(),L()}),200)},_()}H(),L()}else Xa("seekTo","time to seek to has not changed")},t={},n={};return{setNewVisibleRangeSize:e=>{if(e!==w.current.visibleRangeSize){w.current.visibleRangeSize=e,Object(N.T)(e);const[t,n]=$a(w.current.videosCurrentTime,w.current.visibleRangeSize,w.current.validTimeRangeStart,w.current.validTimeRangeEnd);w.current.eventDataRangeStart=t,w.current.eventDataRangeEnd=n,w.current.showSmartMotion=e===Wn[0].value,L()}},onChunkLoaded:(e,t,n,a)=>{var i,o;Xa("onChunkLoaded","invoked",{uidd:e,chunkStartTime:t,chunkEndTime:n,info:a,currentChunk:(null===(i=w.current.currentChunk)||void 0===i?void 0:i.startTime)===t,nextChunk:(null===(o=w.current.nextChunk)||void 0===o?void 0:o.startTime)===t});
1const l=[w.current.currentChunk,w.current.nextChunk];for(const s of l)if((null===s||void 0===s?void 0:s.startTime)===t&&(null===s||void 0===s?void 0:s.endTime)===n)return s.videos[e]=Object(r.a)(Object(r.a)({},s.videos[e]),{},{loaded:!0},a),s===w.current.currentChunk&&(Xa("onChunkLoaded","this is current chunk",{currentChunk:w.current.currentChunk}),F(e),c.a.find(w.current.currentChunk.videos,(e=>{let{loaded:t}=e;return!t}))||(Xa("onChunkLoaded","invoke updateInterval"),_())),void L()},onChunkMediaError:function(e,t,n){var a,i;let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];Xa("onChunkMediaError","invoked",{uidd:e,chunkStartTime:t,chunkEndTime:n,probablyCodec:o,currentChunk:(null===(a=w.current.currentChunk)||void 0===a?void 0:a.startTime)===t,nextChunk:(null===(i=w.current.nextChunk)||void 0===i?void 0:i.startTime)===t});const c=[w.current.currentChunk,w.current.nextChunk];for(const s of c)if((null===s||void 0===s?void 0:s.startTime)===t&&(null===s||void 0===s?void 0:s.endTime)===n){var l;if(o&&"hevc"===s.videos[e].codec&&!s.videos[e].transcoded)s.videos[e]=Q(e,t,n,(null!==(l=s.videos[e].resets)&&void 0!==l?l:0)+1,!0),Xa("onChunkMediaError","Trying transcoding so resetting");else s.videos[e]=Object(r.a)(Object(r.a)({},s.videos[e]),{},{error:!0,mediaError:!0,mediaErrorProbablyCodec:o,hasVideo:!1,loaded:!0}),s===w.current.currentChunk&&(F(e),_());return void L()}},seekTo:e,skip:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Zn;Xa("skip","Skip ".concat(t?"forwards":"backwards"),{timeChange:n}),$(),e(w.current.videosCurrentTime+n*(t?1:-1))},skipToMotionAt:t=>{Xa("skipToMotionAt","invoked'}",{motionStartTime:t}),$(),e(t)},setPlaybackRate:e=>{Xa("setPlaybackRate","Change from ".concat(w.current.playbackRate," to ").concat(e)),w.current.playbackRate=e,w.current.currentChunk&&c.a.forEach(w.current.currentChunk.videos,(t=>{let{ref:n}=t;n&&n.setPlaybackRate(e)})),L(),Ja("change_rate")},onPlayPauseClicked:()=>{const{paused:t,mode:n,videosCurrentTime:a,clipStart:r,clipEnd:i}=w.current;Xa("onPlayPauseClicked","invoked",{paused:t,mode:n,videosCurrentTime:a,clipStart:r,clipEnd:i}),n===Yn&&a>=i?e(r):(Xa("onPlayPauseClicked","Toggle play/pause"),w.current.paused=!t,w.current.paused?X():q(),L(),Ja("".concat(t?"play":"pause","_videos")))},enterClipMode:()=>{const{paused:e,videosCurrentTime:t,visibleRangeSize:n,validTimeRangeStart:a,validTimeRangeEnd:r}=w.current;e||(w.current.paused=!0,X());const i=Math.floor(t/1e3),o=Math.min(1800,n/2e3)/2;w.current.mode=Yn,w.current.clipStart=Math.max(1e3*(i-o),a),w.current.clipEnd=Math.min(1e3*(i+o),r),w.current.downloadExcludedUidds=[],w.current.expandedUidd=null,L()},exitClipMode:()=>{w.current.mode=Kn,z(w.current.videosCurrentTime),L()},setDraggingClipHandle:e=>{e!==w.current.draggingClipHandle&&(w.current.draggingClipHandle=e,L())},moveTimelineInClipMode:e=>{const{timelineCentreTime:t}=w.current;e!==t&&(z(e),L())},goToClipHandle:(t,n)=>{const{visibleRangeSize:a,clipStart:r,clipEnd:i}=w.current,o=n/2-Xn,c=a/n,l=t?r:i,s=l+(t?1:-1)*Math.round(o*c);z(s),e(l)},changeClipTime:(t,n,a)=>{const{clipStart:r,clipEnd:i,validTimeRangeStart:o,validTimeRangeEnd:l,visibleRangeSize:s,timelineCentreTime:d}=w.current;n=t?c.a.clamp(n,i-36e5,i-1e4):c.a.clamp(n,r+1e4,r+36e5);const u=s/a,m=((n=c.a.clamp(1e3*Math.round(n/1e3),o,l))-(d-a/2*u))/u,b=(d+a/2*u-n)/u;if(m<Xn){const e=Xn-m;w.current.timelineCentreTime-=Math.round(e*u)}else if(b<Xn){const e=Xn-b;w.current.timelineCentreTime+=Math.round(e*u)}t?w.current.clipStart=n:w.current.clipEnd=n,e(n)},takeAllSnapshots:async e=>{const{videosCurrentTime:t,uidds:n,overlays:a,currentChunk:r,playerRefs:i}=w.current;if(!r)return;const o=n.reduce(((e,t)=>(!a[t]&&i[t]&&r.videos[t].ref&&(e[t]=i[t].getSnapshot(r.videos[t].ref)),e)),{});if(!c.a.isEmpty(o)){const n=Ga(t),a=c.a.entries(o).length;if(1===a)c.a.values(o)[0].toBlob((n=>{Object(k.b)(n,"".concat(e[c.a.keys(o)[0]],"_").concat(Ga(t)))}),"image/jpeg");else{const t=Math.ceil(Math.sqrt(a)),r=Math.ceil(a/t),i=16/9,l=2,s=c.a.values(o).reduce(((e,t)=>{let n;return n=t.width/t.height>=i?t.width:t.height*i,Math.min(e,n)}),Number.MAX_SAFE_INTEGER),d=s/i,u=(s+l)*t-l,m=(d+l)*r-l,b=document.createElement("canvas");b.width=u,b.height=m;const p=b.getContext("2d");
1c.a.values(o).forEach(((e,n)=>{const a=n%t,r=Math.floor(n/t),o=(s+l)*a-l,c=(d+l)*r-l,u=e.width/e.height;let m,b;u>=i?(m=s,b=m/u):(b=d,m=b*u);const h=o+(s-m)/2,g=c+(d-b)/2;p.drawImage(e,h,g,m,b)}));const h=[{filename:n,canvas:b},...c.a.map(o,((t,a)=>({filename:"".concat(e[a],"_").concat(n),canvas:t})))],g=await Promise.all(h.map((e=>{let{filename:t,canvas:n}=e;return new Promise((e=>{n.toBlob((n=>{e({name:"".concat(t.replaceAll("/","-"),".jpeg"),lastModified:new Date,input:n})}),"image/jpeg")}))})));Object(k.c)(g,"".concat(n,".zip")),Ja("snapshot")}}},takeIndividualSnapshot:(e,t)=>{const{videosCurrentTime:n,overlays:a,currentChunk:r,playerRefs:i}=w.current;if((null===r||void 0===r?void 0:r.videos[e].ref)&&i[e]&&!a[e]){i[e].getSnapshot(r.videos[e].ref).toBlob((e=>{Object(k.b)(e,"".concat(t.replaceAll("/","-"),"_").concat(Ga(n)))}),"image/jpeg"),Ja("snapshot_individual")}},setMouseSeeking:e=>{Xa("setMouseSeeking","invoked",{mouseSeeking:e,currentValue:w.current.mouseSeeking}),e!==w.current.mouseSeeking&&(w.current.mouseSeeking=e,e?(X(),$(),Ja("seek")):q(),L())},toggleSelectCameraForDownload:e=>{const{downloadExcludedUidds:t}=w.current;t.includes(e)?w.current.downloadExcludedUidds=t.filter((t=>t!==e)):w.current.downloadExcludedUidds.push(e),L()},handlePlayerRef:e=>(t[e]||(t[e]=n=>{w.current.playerRefs[e]=n,n||delete t[e]}),t[e]),handleVideoRef:(e,t,a)=>{const r="".concat(e,"-").concat(t,"-").concat(a);return n[r]||(n[r]=i=>{var o,c;(null===(o=w.current.currentChunk)||void 0===o?void 0:o.startTime)===t&&w.current.currentChunk.endTime===a&&w.current.currentChunk.videos[e]?w.current.currentChunk.videos[e].ref=i:(null===(c=w.current.nextChunk)||void 0===c?void 0:c.startTime)===t&&w.current.nextChunk.endTime===a&&w.current.nextChunk.videos[e]&&(w.current.nextChunk.videos[e].ref=i),i||delete n[r]}),n[r]},toggleExpandCamera:e=>{const{expandedUidd:t}=w.current;w.current.expandedUidd=t===e?null:e,L()},startReorderingTile:function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];w.current.reorderingUidd!==e&&(w.current.reorderingUidd=e,w.current.showReorderingInstructions=t,V(e),L())},stopReorderingTile:e=>{w.current.reorderingUidd===e&&(w.current.reorderingUidd=null,w.current.showReorderingInstructions=!1,w.current.reorderingTileOverUidd=null,L())}}}),[L,_,q,X,G,Y,Z,K,z,V,$,F,H,Q]);Object(i.useEffect)((()=>{var e;let t;const n=parseInt(null===(e=Object(S.a)(y.location.search))||void 0===e?void 0:e.time)||Object(N.z)();t=!isNaN(n)&&n>=w.current.validTimeRangeStart&&n<=w.current.validTimeRangeEnd?n:w.current.validTimeRangeEnd;const[a,i]=$a(t,w.current.visibleRangeSize,w.current.validTimeRangeStart,w.current.validTimeRangeEnd);w.current=Object(r.a)(Object(r.a)({},w.current),{},{videosCurrentTime:t,timelineCentreTime:t,eventDataRangeStart:a,eventDataRangeEnd:i}),L()}),[L,y]),Object(i.useEffect)((()=>{const{uidds:e,videosCurrentTime:t,validTimeRangeStart:n,validTimeRangeEnd:a}=w.current,r=c.a.difference(u,e),i=c.a.difference(e,u);if(Xa("useEffect for handling changes to selectedCameras","invoked",{newCameras:r,removedCameras:i,uidds:e,selectedCameras:u,videosCurrentTime:t,validTimeRangeStart:n,validTimeRangeEnd:a}),r.length>0){if(0===e.length){const[e,r]=Ka(t,n,a);w.current.currentChunk={startTime:e,endTime:r,videos:{}},G()}w.current.videoState=Qn;for(const t of r)e.push(t),w.current.currentChunk.videos[t]=Q(t,w.current.currentChunk.startTime,w.current.currentChunk.endTime),w.current.nextChunk&&(w.current.nextChunk.videos[t]=Q(t,w.current.nextChunk.startTime,w.current.nextChunk.endTime)),h(t)}if(i.length>0)if(w.current.uidds=w.current.uidds.filter((e=>!i.includes(e))),0===w.current.uidds.length){var o;w.current.currentChunk=null,w.current.nextChunk=null,w.current.pendingChunk=null,clearTimeout(null===(o=w.current.pendingChunk)||void 0===o?void 0:o.timeout),w.current.mode=Kn,w.current.overlays={},w.current.videoState=ea,w.current.expandedUidd=null}else{const{currentChunk:e,nextChunk:t,overlays:n,expandedUidd:a}=w.current;for(const r of i)e&&delete e.videos[r],t&&delete t.videos[r],delete n[r],a===r&&(w.current.expandedUidd=null);w.current.mode===Yn&&w.current.uidds.length<=1&&(w.current.downloadExcludedUidds=[])}w.current.uidds=[...u],(r.length>0||i.length>0||!c.a.isEqual(e,u))&&(_(),L())}),[u,L,_,G,h,Q]);const Te=Object(i.useCallback)((e=>{Xa("onVisibilityChange","Tab visibility changed from ".concat(w.current.tabIsVisible," to ").concat(e),{videoState:w.current.videoState,currentChunk:w.current.currentChunk}),w.current.tabIsVisible=e,w.current.videoState!==ea?(Xa("onVisibilityChange","Videos aren't playing in state ".concat(w.current.videoState," so just ").concat(e?"resume":"pause"," buffering interval")),_()):w.current.currentChunk&&(e?(Xa("onVisibilityChange","Videos state is ready. Play videos if permitted."),q()):(Xa("onVisibilityChange","Videos state is ready. Stop playing videos."),X()))}),[q,X,_]);Object(U.a)(Te),Object(i.useEffect)((()=>{window.debugPlayback=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t={state:c.a.cloneDeep(w.current),WEB_APP_VERSION:A.b,host:window.location.hostname};
1if([w.current.currentChunk,w.current.nextChunk].forEach(((e,n)=>{if(e){const{startTime:a,endTime:r,videos:i}=e;c.a.forEach(i,((e,i)=>{let{hasVideo:o,ref:c,start:l,offset:s,padding:d,synced:u,loaded:m,resets:b}=e;var p,h,g,v;o&&(null===c||void 0===c?void 0:c.getVideoElement())&&(t["".concat(0===n?"Current":"Next"," chunk for ").concat(i)]={chunkStartTime:a,chunkEndTime:r,chunkDuration:r-a,buffered:c&&Za(c.getBuffered()),bufferedAdjusted:Array(c.getBuffered().length).fill(0).map(((e,t)=>[Ya(c.getBuffered().start(t),a,r,s,l),Ya(c.getBuffered().end(t),a,r,s,l)])),bufferedChanges:0===n&&(null===(p=ra)||void 0===p?void 0:p.startTime)===a?null===(h=ra[i])||void 0===h?void 0:h.changes:1===n&&(null===(g=ia)||void 0===g?void 0:g.startTime)===a?null===(v=ia[i])||void 0===v?void 0:v.changes:null,videoCurrentTime:c.getCurrentTime(),readyState:c.getReadyState(),videoDuration:c.getDuration(),videoPaused:c.getVideoElement().paused,videoEnded:c.getVideoElement().ended,offset:s,missingStart:l,padding:d,loaded:m,synced:u,resets:null!==b&&void 0!==b?b:0,timeToCompare:0===n?w.current.videosCurrentTime:a,videoTimeThatWillElapseInNextSecond:1e3*w.current.playbackRate})}))}})),e){t.logs=oa;const e=JSON.stringify(t,null,4).replace(/token=[^&\s"']+/g,"token=REDACTED").replace(/("data:image\/jpeg;base64)[^"]+/g,"$1...");Object(k.b)(new Blob([e]),"playback-logs-".concat((new Date).toISOString(),".json"))}else console.log(t)},window.exposeNativeVideoControls=()=>{Array.prototype.slice.call(document.querySelectorAll('[data-testid="tile"]')).forEach((e=>{const t=e.querySelector("video");t&&(t.style.position="relative",t.style.zIndex=500,t.setAttribute("controls",!0),t.style.opacity=1,e.lastChild.style.display="none");const n=document.createElement("span");n.style.position="absolute",n.style.right="20px",n.style.top="20px",n.style.color="red",n.style.fontSize="30px",n.style.zIndex=501,n.innerHTML=e.getAttribute("data-uidd"),e.firstChild.firstChild.firstChild.appendChild(n)}))}}),[]),Object(i.useEffect)((()=>{if(R.videoState===Qn){const e=(new Date).getTime(),t=()=>{const{videosCurrentTime:e,currentChunk:t,nextChunk:n,playbackRate:i}=w.current,o={videosCurrentTime:e,playbackRate:i};return[t,n].forEach(((e,t)=>{e&&(o[0===t?"currentChunk":"nextChunk"]={startTime:e.startTime,endTime:e.endTime,videos:c.a.mapValues(e.videos,(e=>{let{ref:t}=e,n=Object(a.a)(e,["ref"]);return Object(r.a)(Object(r.a)({},n),{},{videoCurrentTime:null===t||void 0===t?void 0:t.getCurrentTime(),buffered:Za(null===t||void 0===t?void 0:t.getBuffered()),videoDuration:null===t||void 0===t?void 0:t.getDuration(),videoReadyState:null===t||void 0===t?void 0:t.getReadyState(),videoPaused:null===t||void 0===t?void 0:t.getPaused(),videoEnded:null===t||void 0===t?void 0:t.getVideoElement().ended})}))})})),o},n=t(),i=setTimeout((()=>{Object(f.F)(e,(new Date).getTime(),n,t())}),2e4);return()=>{clearTimeout(i)}}}),[R.videoState,null===(n=R.currentChunk)||void 0===n?void 0:n.startTime]);const{modifyQueryString:we}=Object(M.a)(),ke=Object(i.useRef)();Object(i.useEffect)((()=>{if(R.videosCurrentTime){const e=()=>{ke.current=(new Date).getTime(),we({time:R.videosCurrentTime},!0),Object(N.S)(R.videosCurrentTime)};let t;return!ke.current||ke.current<(new Date).getTime()-1e3?e():t=setTimeout(e,1e3),()=>{clearTimeout(t)}}}),[R.videosCurrentTime,we]);const Ee=c.a.find(d,"logger").logger,[Se,Ie]=Object(i.useState)(),[Re,Ne]=Object(i.useState)();Object(i.useEffect)((()=>{if(R.showSmartMotion&&R.videosCurrentTime&&((null===Se||void 0===Se?void 0:Se.individual)||Re)){const e=Ra(R.videosCurrentTime,null===Se||void 0===Se?void 0:Se.individual,R.uidds);c.a.isEqual(w.current.currentEventData,e)||(w.current.currentEventData=e)}}),[R.videosCurrentTime,Se,Re,R.uidds,R.showSmartMotion]);const De=Object(i.useRef)(),Ae=Object(i.useRef)(),[[,Me],Pe]=Object(i.useState)([]),[Le,_e]=Object(i.useState)(!0);Object(i.useEffect)((()=>{!Le&&R.uidds.length<3&&_e(!0)}),[Le,R.uidds.length]);const[ze,Be]=Object(i.useMemo)((()=>(null===Se||void 0===Se?void 0:Se.individual)?[null!==xa(Se.individual,R.videosCurrentTime),null!==Oa(Se.individual,R.videosCurrentTime)]:[!1,!1]),[R.videosCurrentTime,Se]);Object(i.useEffect)((()=>
1{if(!(null===Se||void 0===Se?void 0:Se.individual)||0===R.uidds.length)return;if(Se.start!==R.eventDataRangeStart||Se.end!==R.eventDataRangeEnd)return;const e=!ze&&R.eventDataRangeStart>w.current.validTimeRangeStart,t=!Be&&R.eventDataRangeEnd<w.current.validTimeRangeEnd;if(!e&&!t)return;const[n,a]=Ua(R.eventDataRangeStart,R.eventDataRangeEnd,R.visibleRangeSize,w.current.validTimeRangeStart,w.current.validTimeRangeEnd,e,t);n===R.eventDataRangeStart&&a===R.eventDataRangeEnd||(w.current.eventDataRangeStart=n,w.current.eventDataRangeEnd=a,L())}),[Se,ze,Be,R.uidds.length,R.eventDataRangeStart,R.eventDataRangeEnd,R.visibleRangeSize,L]);const[Ve,$e]=Object(i.useState)(null),Ue=Object(i.useCallback)((e=>{$e((t=>t===e?null:e))}),[]);Object(i.useEffect)((()=>{if(!R.eventDataRangeStart||!R.eventDataRangeEnd)return;De.current&&De.current.start===R.eventDataRangeStart&&De.current.end===R.eventDataRangeEnd&&De.current.uidds.length===R.uidds.length&&R.uidds.every((e=>De.current.uidds.includes(e)))||(0===R.uidds.length?Ie(null):(async()=>{De.current&&De.current.abortController.abort();const e=new AbortController;if(De.current={start:R.eventDataRangeStart,end:R.eventDataRangeEnd,uidds:R.uidds,abortController:e},Ee){let t,n;if(Se){const e=[];R.eventDataRangeStart<Se.start&&e.push(Da(d,R.eventDataRangeStart,Math.min(Se.start,R.eventDataRangeEnd),R.uidds)),R.eventDataRangeEnd>Se.end&&e.push(Da(d,Math.max(Se.end,R.eventDataRangeStart),R.eventDataRangeEnd,R.uidds));const a=c.a.difference(R.uidds,c.a.keys(Se.individual));a.length>0&&e.push(Da(d,Se.start,Se.end,a));const i=(await Promise.all(e)).flat(),o=R.eventDataRangeStart<Se.end&&R.eventDataRangeEnd>Se.start,l=c.a.chain(R.uidds).keyBy((e=>e)).mapValues((e=>o&&Se.individual[e]?Se.individual[e].reduce(((e,t)=>t.startTime>=R.eventDataRangeStart&&t.endTime<=R.eventDataRangeEnd?[...e,t]:t.startTime>=R.eventDataRangeStart&&t.startTime<R.eventDataRangeEnd?[...e,Object(r.a)(Object(r.a)({},t),{},{endTime:R.eventDataRangeEnd})]:t.endTime<=R.eventDataRangeEnd&&t.endTime>R.eventDataRangeStart?[...e,Object(r.a)(Object(r.a)({},t),{},{startTime:R.eventDataRangeStart})]:e),[]):[])).value();n=_a(i,R.eventDataRangeStart,R.eventDataRangeEnd,l),t=Pa(n)}else[t,n]=await Ba(d,R.eventDataRangeStart,R.eventDataRangeEnd,R.uidds);e.signal.aborted||Ie({start:R.eventDataRangeStart,end:R.eventDataRangeEnd,combined:t,individual:n})}})())}),[R.eventDataRangeStart,R.eventDataRangeEnd,Ee,d,R.uidds,Se]),Object(i.useEffect)((()=>{if(!R.eventDataRangeStart||!R.eventDataRangeEnd)return;Ae.current&&Ae.current.start===R.eventDataRangeStart&&Ae.current.end===R.eventDataRangeEnd&&Ae.current.uidds.length===R.uidds.length&&R.uidds.every((e=>Ae.current.uidds.includes(e)))||(0===R.uidds.length?Ne(null):(async()=>{Ae.current&&Ae.current.abortController.abort();const e=new AbortController;let t;if(Ae.current={start:R.eventDataRangeStart,end:R.eventDataRangeEnd,uidds:R.uidds,abortController:e},Re){const e=[];R.eventDataRangeStart<Re.start&&e.push(Aa(R.eventDataRangeStart,Math.min(Re.start,R.eventDataRangeEnd),R.uidds)),R.eventDataRangeEnd>Re.end&&e.push(Aa(Math.max(Re.end,R.eventDataRangeStart),R.eventDataRangeEnd,R.uidds));const n=(await Promise.all(e)).reduce(((e,t)=>(Object.entries(t).forEach((t=>{let[n,a]=t;e[n]||(e[n]={person:[],vehicle:[]}),Object.entries(a).forEach((t=>{let[a,r]=t;e[n][a]||(e[n][a]=[]),e[n][a]=e[n][a].concat(r)}))})),e)),R.uidds.reduce(((e,t)=>Object(r.a)(Object(r.a)({},e),{},{[t]:{person:[],vehicle:[]}})),{})),a=R.eventDataRangeStart<Re.end&&R.eventDataRangeEnd>Re.start,i=c.a.chain(R.uidds).keyBy((e=>e)).mapValues((e=>{var t,n;if(!a||!Re.individual[e])return{person:[],vehicle:[]};const i=e=>e?e.reduce(((e,t)=>t.startTime>=R.eventDataRangeStart&&t.endTime<=R.eventDataRangeEnd?[...e,t]:t.startTime>=R.eventDataRangeStart&&t.startTime<R.eventDataRangeEnd?[...e,Object(r.a)(Object(r.a)({},t),{},{endTime:R.eventDataRangeEnd})]:t.endTime<=R.eventDataRangeEnd&&t.endTime>R.eventDataRangeStart?[...e,Object(r.a)(Object(r.a)({},t),{},{startTime:R.eventDataRangeStart})]:e),[]):[];return{person:i(null===(t=Re.individual[e])||void 0===t?void 0:t.person),vehicle:i(null===(n=Re.individual[e])||void 0===n?void 0:n.vehicle)}}
1)).value();t=za(n,R.eventDataRangeStart,R.eventDataRangeEnd,i)}else[,t]=await Va(R.eventDataRangeStart,R.eventDataRangeEnd,R.uidds);e.signal.aborted||Ne({start:R.eventDataRangeStart,end:R.eventDataRangeEnd,combined:[],individual:t})})())}),[R.eventDataRangeStart,R.eventDataRangeEnd,R.uidds,Re]);const[Fe,We]=Object(i.useState)(),He=Object(i.useRef)(new Set);Object(i.useEffect)((()=>{const e=R.uidds.filter((e=>!He.current.has(e)));e.length>0&&(async e=>{e.forEach((e=>{He.current.add(e)}));const t=(await Ma(w.current.validTimeRangeEnd,e)).reduce(((e,t)=>{const n="".concat(t.uid,".").concat(t.deviceid);e[n]||(e[n]=[]);const a=e[n],i=a.length>0&&!c.a.last(a).endt;return 1===t.recordonmotion?i&&(c.a.last(a).endt=t.startt):i||e[n].push(Object(r.a)({},t)),e}),{});We((e=>Object(r.a)(Object(r.a)({},e),t)))})(e)}),[R.uidds]);const[Ge,qe,Xe,Ze]=B(R.expandedUidd?[R.expandedUidd]:R.uidds,(()=>qe.current.offsetHeight),2,{undefined:1});Object(i.useLayoutEffect)(Xe,[Se,Le,R.expandedUidd,Xe]);const Ke=Object(i.useCallback)((e=>{const t=Wn.findIndex((e=>{let{value:t}=e;return t===w.current.visibleRangeSize})),n=c.a.clamp(t+(e?-1:1),0,Wn.length-1);J(Wn[n].value)}),[J,w]),Ye=Object(b.o)(Object(b.n)(b.e),Object(b.n)(b.f)),Qe=Object(i.useCallback)((e=>{ye(e.active.id,!1)}),[ye]),Je=Object(i.useCallback)((e=>{const{active:t,over:n}=e;(null===n||void 0===n?void 0:n.id)&&t.id!==n.id&&v((e=>{const a=e.findIndex((e=>e===t.id)),r=e.findIndex((e=>e===n.id));return Object(p.b)(e,a,r)})),Ce(t.id)}),[v,Ce]),et=Object(i.useCallback)((e=>{var t,n;const a=null!==(t=null===(n=e.over)||void 0===n?void 0:n.id)&&void 0!==t?t:null;w.current.reorderingTileOverUidd!==a&&(w.current.reorderingTileOverUidd=a,L())}),[L]);Object(i.useEffect)((()=>{if(R.reorderingUidd){const e=e=>{switch(e.key){case"ArrowRight":case"ArrowLeft":case"ArrowUp":case"ArrowDown":return void v((t=>{const n=t.findIndex((e=>e===R.reorderingUidd)),a=Math.floor(n/Ze),r=n%Ze;return"ArrowRight"===e.key&&r<Ze-1&&n<t.length-1?Object(p.b)(t,n,n+1):"ArrowLeft"===e.key&&r>0?Object(p.b)(t,n,n-1):"ArrowUp"===e.key&&a>0?Object(p.b)(t,n,n-Ze):"ArrowDown"===e.key&&n+Ze<t.length?Object(p.b)(t,n,n+Ze):t}));case"Escape":case"Enter":return void Ce(R.reorderingUidd);default:return}};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[R.reorderingUidd,Ce,Ze,v]);const tt=[...new Set([...null===(o=c.a.values(d))||void 0===o?void 0:o.filter((e=>{var t,n;return!(!c.a.isNil(null===(t=w.current)||void 0===t?void 0:t.uidds)&&(null===(n=w.current.uidds)||void 0===n?void 0:n.length)>0)||w.current.uidds.includes(e.uidd)})).map((e=>e.timezoneName)),Intl.DateTimeFormat().resolvedOptions().timeZone])],[nt,at]=Object(W.a)(tt.filter((e=>!c.a.isNil(e))));return Object(Fn.jsxs)(Gt,{children:[Object(Fn.jsx)(qt,{ref:qe,children:Object(Fn.jsxs)(b.a,{sensors:Ye,onDragStart:Qe,onDragEnd:Je,onDragOver:et,modifiers:[g.a],children:[R.showDroppableOutlineInPositionOfUidd&&Object(Fn.jsx)(Xt,{children:Object(Fn.jsx)(kt.b,{gap:Ge.gap,minTileWidths:Ge.minTileWidths,gridTemplateColumnsCSS:Ge.gridTemplateColumnsCSS,tiles:R.uidds,renderTile:e=>Object(Fn.jsx)(Zt,{style:{opacity:e===R.showDroppableOutlineInPositionOfUidd?1:0}},e)})}),Object(Fn.jsx)(p.a,{items:u.map((e=>e)),strategy:p.c,children:R.uidds.length>0?Object(Fn.jsx)(kt.b,Object(r.a)(Object(r.a)({},Ge),{},{tiles:R.uidds,renderTile:e=>{var t,n,a,r,i,o,l,s,u,b,p,h,g,v,j;const f=R.unsyncedVideos.includes(e);return Object(Fn.jsx)(sa,{ref:fe(e),currentChunkVideoURL:null!==(t=null===(n=R.currentChunk)||void 0===n||null===(a=n.cameras[e])||void 0===a?void 0:a.url)&&void 0!==t?t:"",currentChunkStartTime:null===(r=R.currentChunk)||void 0===r?void 0:r.startTime,currentChunkEndTime:null===(i=R.currentChunk)||void 0===i?void 0:i.endTime,handleCurrentChunkVideoRef:R.currentChunk&&Oe(e,R.currentChunk.startTime,R.currentChunk.endTime),currentChunkResetsCount:null===(o=R.currentChunk)||void 0===o||null===(l=o.cameras[e])||void 0===l?void 0:l.resets,nextChunkVideoURL:null!==(s=null===(u=R.nextChunk)||void 0===u||null===(b=u.cameras[e])||void 0===b?void 0:b.url)&&void 0!==s?s:"",nextChunkStartTime:null===(p=R.nextChunk)||void 0===p?void 0:p.startTime,nextChunkEndTime:null===(h=R.nextChunk)||void 0===h?void 0:h.endTime,handleNextChunkVideoRef:R.nextChunk&&Oe(e,R.nextChunk.startTime,R.nextChunk.endTime),nextChunkResetsCount:null===(g=R.nextChunk)||void 0===g||null===(v=g.cameras[e])||void 0===v?void 0:v.resets,hideVideo:f,onChunkLoaded:ee,onChunkMediaError:te,highlight:null===Me||void 0===Me?void 0:Me.includes(e),cameraName:d[e].name,uidd:e,overlay:R.overlays[e],overlayBackgroun
1d:R.overlayBackgrounds[e]||d[e].img,cameraVideoCodec:d[e].videoCodec,cameraIsContinuous:!c.a.isNil(null===Fe||void 0===Fe?void 0:Fe[e])&&!c.a.isNil(null===Fe||void 0===Fe||null===(j=Fe[e])||void 0===j?void 0:j.find((e=>R.videosCurrentTime>=e.startt&&(c.a.isNil(e.endt)||e.endt>=R.videosCurrentTime)))),playAudio:Ve===e,cameraHasAudio:d[e].audioEnabled,toggleAudio:Ue,takeIndividualSnapshot:ge,disableIndividualSnapshotButton:R.disableIndividualSnapshotButtons.includes(e),inClippingMode:R.inClippingMode,selectedForDownload:!R.downloadExcludedUidds.includes(e),toggleSelectCameraForDownload:R.uidds.length>1&&je,onDeselectCamera:m,expanded:R.expandedUidd===e,hideTile:!(!R.expandedUidd||R.expandedUidd===e),toggleExpandCamera:xe,offerExpansion:R.uidds.length>1&&"1fr"!==(null===Ge||void 0===Ge?void 0:Ge.gridTemplateColumnsCSS),reordering:R.reorderingUidd===e,showReorderingInstructions:R.reorderingUidd===e&&R.showReorderingInstructions,startReorderingTile:ye,stopReorderingTile:Ce,offerReordering:R.uidds.length>1&&!R.expandedUidd,showTileControls:"playback"===x,seekingDisplayTime:R.mouseSeeking&&(f||R.overlays[e])?"".concat(Fa(R.videosCurrentTime,nt)," ").concat(new Date(R.videosCurrentTime).toLocaleTimeString(void 0,{timeZone:nt})):void 0},e)}})):Object(Fn.jsx)(Et.a,{bold:!0,fontSize:"1.5em",colour:Object(I.v)(75),style:{margin:"auto",textAlign:"center"},children:j(C.a.playback.SELECT_CAMERAS_TO_VIEW_FOOTAGE)})})]})}),Object(Fn.jsxs)(ln,{children:[Object(Fn.jsx)(ka,{show:!R.mouseSeeking&&R.videoState!==ea,loading:R.videoState===Qn}),Object(Fn.jsxs)(mn,{children:[Object(Fn.jsxs)(hn,{children:[Object(Fn.jsx)(va,{visibleRangeSize:R.visibleRangeSize,zoomTimeline:Ke,setNewVisibleRangeSize:J,disabled:0===(null===(s=R.uidds)||void 0===s?void 0:s.length)}),Object(Fn.jsx)(Sa,{playbackRate:R.playbackRate,setPlaybackRate:ie,disabled:0===R.uidds.length,t:j})]}),Object(Fn.jsxs)(bn,{children:[Object(Fn.jsx)(ya,{next:!1,disabled:!ze||R.inClippingMode,individualMotionTimeSpans:null===Se||void 0===Se?void 0:Se.individual,videosCurrentTime:R.videosCurrentTime,skipToMotionAt:re}),Object(Fn.jsx)(fa,{forwards:!1,skip:ae,disabled:0===R.uidds.length}),Object(Fn.jsx)(Ea,{pauseIcon:R.showPauseIcon,onClick:oe,disabled:R.disablePlayPauseButton}),Object(Fn.jsx)(fa,{forwards:!0,skip:ae,disabled:0===R.uidds.length}),Object(Fn.jsx)(ya,{next:!0,disabled:!Be||R.inClippingMode,individualMotionTimeSpans:null===Se||void 0===Se?void 0:Se.individual,videosCurrentTime:R.videosCurrentTime,skipToMotionAt:re})]}),Object(Fn.jsx)(vn,{children:R.inClippingMode?Object(Fn.jsxs)(Fn.Fragment,{children:[Object(Fn.jsx)(Ia,{valuesRef:w,disabled:0===c.a.difference(R.uidds,R.downloadExcludedUidds).length,cameras:d}),Object(Fn.jsx)(Nt.a,{variant:"secondary",style:{minHeight:23,height:23},onClick:le,children:j(C.a.forms.CANCEL)})]}):Object(Fn.jsxs)(Fn.Fragment,{children:[Vn.f.playback&&"playback"!==x&&Object(Fn.jsx)(Pt.a,{description:j(C.a.events.eventPlayer.PLAYBACK_PROMPT),onClick:()=>{y.push({pathname:Vn.f.playback.path,search:"?uidds[]=".concat(R.uidds[0],"&time=").concat(R.videosCurrentTime)})},colour:"inherit",backgroundColour:Object(I.v)(25),children:Object(Fn.jsx)(Tt.a,{})}),w.current.currentEventData[R.uidds[0]]&&R.showSmartMotion&&1===R.uidds.length&&Object(Fn.jsx)(Bn.a,{eventData:{cameraUidd:R.uidds[0],deviceId:d[R.uidds[0]].deviceid,startTime:w.current.currentEventData[R.uidds[0]].startTime,endTime:w.current.currentEventData[R.uidds[0]].endTime,durationSeconds:(w.current.currentEventData[R.uidds[0]].endTime-w.current.currentEventData[R.uidds[0]].startTime)/1e3},onClickCb:()=>{w.current.paused||oe()},getCurrentTime:()=>parseInt(w.current.videosCurrentTime-w.current.currentEventData[R.uidds[0]].startTime)/1e3,backgroundColour:Object(I.v)(25)}),Object(Fn.jsx)(Pt.a,{onClick:()=>{pe(c.a.mapValues(d,"name"))},disabled:R.disableAllSnapshotsButton,description:Object(Fn.jsx)(Et.a,{block:!0,style:{width:"max-content"},children:j(C.a.actions.TAKE_SNAPSHOT)}),"aria-label":j(C.a.actions.TAKE_SNAPSHOT),children:Object(Fn.jsx)(he.a,{})}),Object(Fn.jsx)(Pt.a,{onClick:ce,description:Object(Fn.jsx)(Et.a,{block:!0,style:{width:"max-content"},children:j(C.a.playback.clipping.SHOW_CLIPPING_CONTROLS)}),"aria-label":j(C.a.playback.clipping.SHOW_CLIPPING_CONTROLS),disabled:0===R.uidds.length,children:Object(Fn.jsx)(se,{})})]})})]}),Object(Fn.jsx)(ba,{valuesRef:w,videosCurrentTime:R.videosCurrentTime,timelineCentreTime:R.timelineCentreTime,eventDataRangeStart:R.eventDataRangeStart,eventDataRangeEnd:R.eventDataRangeEnd,validTimeRangeStart:w.current.validTimeRangeStart,validTimeRangeEnd:w.current.validTimeRangeEnd,visibleRangeSize:R.visibleRangeSize,setNewVisibleRangeSize:J,seekTo:ne,mouseSeeking:R.mouseSeeking,setMouseSeeking:ve,motionTimeSpans:Se,smartMotionTimeSpans:Re,motionExpanded:Le,setMotionExpanded:_e,availableTimezones:tt,timezone:nt,timezoneSelectorProps:at,sessionsTimeSpans:Fe,uidds:R.uidds,setMotionBeingHoveredOver:Pe,logger:Ee,cameras:d,skip:ae,inClippingMode:R.inClippingMode,clipStart:R.clipStart,clipEnd:R.clipEnd,moveTimelineInClipMode:ue,goToClipHandle:me,changeClipTime:be,draggingClipHandle:R.draggingClipHandle,setDraggingClipHandle:de})]})]})})),sa=Object(s.a)(null,{withRef:!0})(Object(i.memo)(Object(i.forwardRef)(((e,t)=>{let{t:n}=e,o=Object(a.a)(e,["t"]);const[c,l]=Object(i.useState)(!1),s=Object(i.useCallback)(((e,t)=>{let{scale:n}=t;c&&1===n?l(!1):c||1===n||l(!0)}
1),[c]),{attributes:d,listeners:u,setNodeRef:m,setActivatorNodeRef:b,transform:g,transition:v,isDragging:j}=Object(p.e)({id:o.uidd,disabled:!o.reordering&&c||!o.offerReordering});return Object(Fn.jsx)("div",{ref:m,style:{width:"100%",transform:h.a.Transform.toString(g),transition:v,cursor:j?"grabbing":o.reordering?"grab":void 0,zIndex:j?200:void 0},children:Object(Fn.jsx)(da,Object(r.a)({ref:t,draggingProps:Object(r.a)(Object(r.a)({},d),u),setRefForDragging:b,onZoomTransformed:s},o))})})))),da=Object(s.a)(null,{withRef:!0})(Object(i.memo)(Object(i.forwardRef)(((e,t)=>{var n;let{currentChunkVideoURL:a,currentChunkStartTime:o,currentChunkEndTime:c,handleCurrentChunkVideoRef:l,currentChunkResetsCount:s,hideVideo:u,nextChunkStartTime:m,nextChunkEndTime:b,nextChunkVideoURL:p,handleNextChunkVideoRef:h,nextChunkResetsCount:g,onChunkLoaded:v,onChunkMediaError:j,highlight:f,uidd:O,cameraName:x,cameraVideoCodec:y,overlay:T,overlayBackground:w,playAudio:k,cameraHasAudio:S,toggleAudio:I,onDeselectCamera:R,takeIndividualSnapshot:N,disableIndividualSnapshotButton:D,seekingDisplayTime:A,inClippingMode:M,selectedForDownload:L,toggleSelectCameraForDownload:_,cameraIsContinuous:z,expanded:B,hideTile:V,toggleExpandCamera:$,offerExpansion:U,draggingProps:W,setRefForDragging:G,reordering:q,showReorderingInstructions:Z,startReorderingTile:K,offerReordering:Y,onZoomTransformed:Q,showTileControls:J=!0,t:ee}=e;const{accentColour:te,accentColour2:ne,accentColour3:ae}=Object(H.a)(),re=null!==(n=null!==ae&&void 0!==ae?ae:ne)&&void 0!==n?n:te,ie=Object(i.useRef)(),oe=Object(i.useRef)(),ce=!(!T&&!q);Object(F.a)(ie,{zoomControlsRef:oe,disabled:ce});const le=Object(X.a)(w),se=Object(E.f)(le),de=Object(i.useCallback)((e=>(Xa("getSnapshot","invoked",{refProvided:!!e}),Object(E.b)(e.getVideoElement(),ie.current,oe.current.instance.transformState))),[]);Object(i.useImperativeHandle)(t,(()=>({getSnapshot:de})),[de]);const ue=Object(i.useRef)([0,0]),me=Object(i.useCallback)(((e,t)=>{const{width:n,height:a}=ie.current.getBoundingClientRect(),r=n*t.scale,i=a*t.scale;ue.current=[Math.abs(t.positionX)/r,Math.abs(t.positionY)/i],Q(e,t)}),[Q]);Object(P.a)(ie,(e=>{let{width:t,height:n}=e;const{setTransform:a,instance:{transformState:{scale:r}}}=oe.current;if(r>1){const e=t*r,i=n*r;a(-ue.current[0]*e,-ue.current[1]*i,r,0)}}));const{isFocusVisible:be}=Object(d.a)(),[pe,ge]=Object(i.useState)(!1),[ve,ye]=Object(i.useState)(!1),Ce=Object(i.useRef)({text:"",style:{}});return Z?Ce.current={text:ee(C.a.playback.reordering.DRAG_TO_REORDER),style:{}}:A?Ce.current={text:A,style:{fontFamily:"monospace"}}:T&&(Ce.current={text:ee(T===na?C.a.video.errors.ERROR_BUILDING_VIDEO:T===ta?z?C.a.events.NO_VIDEO_AVAILABLE:C.a.events.NO_MOTION_DETECTED:T===aa?C.a.video.errors.VIDEO_ERROR:""),style:{}}),Object(Fn.jsx)("div",{style:V?{position:"absolute",opacity:0,visibility:"hidden",pointerEvents:"none"}:{display:"block"},children:Object(Fn.jsxs)(kt.a,{ref:e=>{ie.current=e,G(e)},"data-testid":"tile","data-uidd":O,onFocus:()=>{ge(!0)},onBlur:()=>{ie.current.contains(document.activeElement)||ge(!1)},onMouseEnter:()=>ye(!0),onMouseLeave:()=>ye(!1),tabIndex:"0",rounded:!0,children:[Object(Fn.jsxs)(wt.c,{ref:oe,disabled:ce,controls:ve||be&&pe,onTransformed:me,children:[Object(Fn.jsxs)(wt.b,{children:[Object(Fn.jsx)(Kt,{$highlight:f,$accentColour:re,children:[{url:a,isCurrentChunk:!0},{url:p,isCurrectChunk:!1}].map((e=>{let{url:t,isCurrentChunk:n}=e;return t?Object(Fn.jsx)(ua,{ref:n?l:h,url:t,hide:!n||u,muted:!n||!k||!!T||V,onChunkLoaded:v,onChunkMediaError:j,uidd:O,chunkStartTime:n?o:m,chunkEndTime:n?c:b},t+(n?s:g)):null}))}),Object(Fn.jsx)("div",Object(r.a)({style:{position:"absolute",width:"100%",height:"100%",top:0,left:0}},W))]}),!ce&&Object(Fn.jsx)(wt.a,{style:{opacity:ve||be&&pe?1:0}})]}),Object(Fn.jsxs)(Yt,{$show:T||A||u||Z,$fadeIn:!u,children:[Object(Fn.jsx)("div",{style:{position:"absolute",width:"100%",height:"100%",top:0,left:0,pointerEvents:"none",backgroundColor:"#000",backgroundImage:w&&void 0!==le?"url(".concat(w,")"):void 0,backgroundRepeat:"no-repeat",backgroundSize:se?"100% 100%":"contain",backgroundPosition:"center",filter:"blur(3px) brightness(0.6)"}}),Object(Fn.jsx)("svg",{width:"100%",height:"100%",viewBox:"0 0 50 20",children:Object(Fn.jsx)("foreignObject",{x:"0",y:"0",width:"100%",height:"100%",children:Object(Fn.jsx)(Rt.a,{xmlns:"http://www.w3.org/1999/xhtml",margin:"auto",centre:!0,fontSize:2,style:Object(r.a)(Object(r.a)({display:"flex",justifyContent:"center",alignItems:"center",height:"20px",width:"80%"},Ce.current.style),{},{opacity:T||A||Z?1:0,transition:"opacity .3s"}),children:Ce.current.text})})})]}),Object(Fn.jsx)(kt.a.BottomBanner,{onlyShowOnHover:!(be&&pe),style:{paddingTop:2,paddingBottom:2,opacity:q?0:void 0,pointerEvents:q?"none":void 0},children:Object(Fn.jsxs)(It.c,{alignItems:"centre",gap:4,children:[Object(Fn.jsx)(Et.a,{style:{textOverflow:"ellipsis",flexGrow:1,overflow:"hidden",
1whiteSpace:"nowrap"},children:x}),S&&Object(Fn.jsx)(ma,{onClick:()=>{I(O)},description:ee(k?C.a.video.audio.TURN_OFF:C.a.video.audio.TURN_ON),children:k?Object(Fn.jsx)(fe.a,{}):Object(Fn.jsx)(Oe.a,{})}),J&&Object(Fn.jsxs)(Fn.Fragment,{children:[Object(Fn.jsx)(ma,{onClick:()=>{N(O,x)},disabled:D,description:ee(C.a.actions.TAKE_SNAPSHOT),children:Object(Fn.jsx)(he.a,{})}),Object(Fn.jsx)(ma,{onClick:()=>{K(O,!0)},disabled:q||!Y,description:ee(C.a.playback.reordering.MOVE_TILE),children:Object(Fn.jsx)(xe.a,{})}),(B||U)&&Object(Fn.jsx)(ma,{onClick:()=>{$(O)},description:ee(B?C.a.actions.shrink.SHRINK:C.a.actions.expand.EXPAND),disabled:M,children:B?Object(Fn.jsx)(De,{}):Object(Fn.jsx)(Se,{})},B),Object(Fn.jsx)(ma,{onClick:()=>{R(O)},description:ee(C.a.actions.REMOVE),children:Object(Fn.jsx)(Te,{})})]})]})}),M&&_&&Object(Fn.jsxs)(Qt,{$accentColour:re,$checked:L,children:[Object(Fn.jsx)(je.a,{}),Object(Fn.jsx)(St.f,{type:"checkbox",value:L,onChange:()=>_(O)})]})]})})})))),ua=Object(i.memo)(Object(i.forwardRef)(((e,t)=>{let{url:n,muted:a,onChunkLoaded:o,onChunkMediaError:c,uidd:l,chunkStartTime:s,chunkEndTime:d,hide:u}=e;const b=Object(i.useRef)();Object(i.useImperativeHandle)(t,(()=>({getCurrentTime:()=>{var e;return null===(e=b.current.getInternalPlayer("mpegts"))||void 0===e?void 0:e.currentTime},setCurrentTime:e=>{const t=b.current.getInternalPlayer("mpegts");if(t){const n=t.buffered;if(Xa("setCurrentTime","invoked",{currentTime:t.currentTime,newCurrentTime:e,buffered:Za(n)}),(null===n||void 0===n?void 0:n.length)>0){let a=n.start(0);if(e<a-1)return t.currentTime=a,Xa("setCurrentTime","Desired time ".concat(e," is less than first buffered time ").concat(a,". runBufferingCheck should now reload this video.")),!1;for(let t=0;t<n.length;t++){const r=n.start(t),i=n.end(t);if(e>=r&&e<=i){a=e;break}i<e&&i>a&&(a=i)}t.currentTime=a,Xa("setCurrentTime",a===e?"Setting to ".concat(e," as requested"):"Unable to set to desired time ".concat(e," as not in buffered ranges. Setting to closest time ").concat(a))}else Xa("setCurrentTime","Unable to set to desired time ".concat(e," as nothing buffered"))}return t&&Math.abs(t.currentTime-e)<1},getDuration:()=>{var e;return null===(e=b.current.getInternalPlayer("mpegts"))||void 0===e?void 0:e.duration},getBuffered:()=>{var e;return null===(e=b.current.getInternalPlayer("mpegts"))||void 0===e?void 0:e.buffered},getReadyState:()=>{var e;return null===(e=b.current.getInternalPlayer())||void 0===e?void 0:e.readyState},getVideoElement:()=>b.current.getInternalPlayer(),play:()=>{var e;return Xa("play","Invoking mpegts.js play() for ".concat(l)),null===(e=b.current.getInternalPlayer("mpegts"))||void 0===e?void 0:e.play()},pause:()=>{var e;return null===(e=b.current.getInternalPlayer("mpegts"))||void 0===e?void 0:e.pause()},setPlaybackRate:e=>{Xa("setPlaybackRate","Setting playback rate to ".concat(e," for ").concat(l)),b.current.getInternalPlayer().playbackRate=e},getPaused:()=>{var e;return null===(e=b.current.getInternalPlayer())||void 0===e?void 0:e.paused}})),[l]);const p=Object(i.useMemo)((()=>{const e=(new Date).getTime(),t=(t,n)=>{const a=(new Date).getTime()-e;Object(f.D)(l,s,d,a,t,n)};return{onHeaders:e=>{const n=parseInt(e.get("X-Vl-Start")),a=parseInt(e.get("X-Vl-Seek")),r=JSON.parse(e.get("X-Vl-Padding")),i=e.get("X-Vl-Codec"),c="true"===e.get("X-Vl-Transcoded"),u=e.get("X-Vl-Server");Xa("onHeaders","headers received",{uidd:l,chunkStartTime:s,chunkEndTime:d,start:n,offset:a,padding:r,codec:i,transcoded:c}),o(l,s,d,{hasVideo:!0,start:n,offset:a,padding:r.map((e=>{let[t,r]=e;return[Ya(t,s,d,a,n),Ya(r,s,d,a,n)]})),codec:i,transcoded:c}),t(200,{start:n,offset:a,padding:r,codec:i,transcoded:c,sourceServer:u})},onError:function(){for(var e=arguments.length,a=new Array(e),r=0;r<e;r++)a[r]=arguments[r];if(Xa("on mpegts.js error","error thrown",{type:a[0],error:a[1],details:a[2]}),a[0]instanceof Error)return Object(D.a)(a[0],{identifier:"Playback - create mpegts.js player",uidd:l,chunkStartTime:s,chunkEndTime:d,url:n}),void c(l,s,d,!1);let i=!0;if(a[0]===m.a.ErrorTypes.NETWORK_ERROR){if(a[1]===m.a.LoaderErrors.HTTP_STATUS_CODE_INVALID){var u,b;switch(null===(u=a[2])||void 0===u?void 0:u.code){case 404:o(l,s,d,{hasVideo:!1}),i=!1;break;case 500:default:o(l,s,d,{hasVideo:!1,error:!0})}return void t(null===(b=a[2])||void 0===b?void 0:b.code)}}else if(a[0]===m.a.ErrorTypes.MEDIA_ERROR){var p,h;c(l,s,d,a[1]===m.a.ErrorDetails.MEDIA_MSE_ERROR&&("MediaSource.addSourceBuffer: Can't play type"===(null===(p=a[2])||void 0===p?void 0:p.msg)||!!(null===(h=a[2])||void 0===h?void 0:h.msg.match(/codecs=hvc1/)))),Object(f.E)(l,s,d,a)}i&&console.error("mpegtsjs error",a)}}}),[n,l,s,d,o,c]);return Object(i.useEffect)((()=>{const e=b.current.getInternalPlayer("mpegts");e&&(e.on(m.a.Events.LOADING_COMPLETE,(()=>{Xa("on mpegts.js loading complete","loading complete",{uidd:l,chunkStartTime:s,chunkEndTime:d,buffered:Za(e.buffered)})})),[m.a.Events.RECOVERED_EARLY_EOF,m.a.Events.MEDIA_INFO,m.a.Events.METADATA_ARRIVED].forEac
1h((t=>{e.on(t,(function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];Xa("on mpegts.js event",t,{args:n})}))})))}),[n,l,s,d,o,c]),Object(Fn.jsx)(Vt.default,Object(r.a)(Object(r.a)({ref:b,url:n},p),{},{width:"100%",height:"100%",style:u?{opacity:0}:void 0,muted:a,playsInline:!0}))}))),ma=e=>{let{children:t}=e,n=Object(a.a)(e,["children"]);return Object(Fn.jsx)(Pt.a,Object(r.a)(Object(r.a)({style:{height:30,width:30,minWidth:30},svgMaxHeight:18,svgMaxWidth:18},n),{},{children:t}))},ba=Object(s.a)()((e=>{let{valuesRef:t,videosCurrentTime:n,timelineCentreTime:a,eventDataRangeStart:o,eventDataRangeEnd:l,validTimeRangeStart:s,validTimeRangeEnd:d,visibleRangeSize:u,setNewVisibleRangeSize:m,seekTo:b,mouseSeeking:p,setMouseSeeking:h,motionTimeSpans:g,smartMotionTimeSpans:v,motionExpanded:j,setMotionExpanded:O,availableTimezones:x,timezone:y,timezoneSelectorProps:T,sessionsTimeSpans:w,uidds:k,setMotionBeingHoveredOver:E,logger:S,cameras:R,skip:N,inClippingMode:D,clipStart:A,clipEnd:M,moveTimelineInClipMode:L,goToClipHandle:_,changeClipTime:z,draggingClipHandle:B,setDraggingClipHandle:V,t:$}=e;const[U,F]=Object(i.useState)(0),W=u/U,H=Object(i.useCallback)((e=>{F(e.clientWidth)}),[]),G=Object(i.useRef)();Object(P.a)(G,((e,t)=>{H(t)}));const q=Object(i.useRef)(),X=Object(i.useMemo)((()=>{const e=6e4*Math.floor((a-W*U/2)/6e4),t=6e4*Math.ceil((a+W*U/2)/6e4),n=3*u,r=Math.max(Math.min(null!==o&&void 0!==o?o:e,e),e-n),i=Math.min(Math.max(null!==l&&void 0!==l?l:t,t),t+n);return{start:r,end:i,size:i-r}}),[a,o,l,W,U]),Z=Object(i.useRef)(),K=Object(i.useRef)();Object(i.useEffect)((()=>{const e=Z.current,t=K.current,n=a=>{"Enter"!==a.key&&a.preventDefault();const{left:r,right:i}=G.current.getBoundingClientRect(),o=document.activeElement,c=null===o||void 0===o?void 0:o.parentNode;switch(a.key){case"ArrowLeft":case"ArrowRight":if(o&&t.contains(o)){const e=Array.prototype.indexOf.call(c.children,o),t="ArrowLeft"===a.key?Array.prototype.slice.call(c.children,0,e).reverse():Array.prototype.slice.call(c.children,e+1,c.children.length);for(const n of t)if("BUTTON"===n.tagName){const{left:e,right:t}=n.getBoundingClientRect();if(e>r&&t<i)return void n.focus()}}break;case"ArrowUp":case"ArrowDown":if(o&&t.contains(o)){const{left:e,width:n}=o.getBoundingClientRect(),l=e+n/2,s=Array.prototype.indexOf.call(t.children,c),d="ArrowUp"===a.key?Array.prototype.slice.call(t.children,0,s).reverse():Array.prototype.slice.call(t.children,s+1,t.children.length);for(const t of d){let e,n;for(const a of t.children)if("BUTTON"===a.tagName){const{left:t,width:o,right:c}=a.getBoundingClientRect(),s=t+o/2,d=Math.abs(l-s);if(t>r&&c<i&&(!e||d<n))e=a,n=d;else if(e)break}if(e)return void e.focus()}}break;case"Escape":document.removeEventListener("keydown",n),e.focus()}},a=e=>{if("Enter"===e.key){e.preventDefault();const{left:a,right:r}=G.current.getBoundingClientRect(),i=(()=>{for(const e of t.children)for(const t of e.children){const{left:e}=t.getBoundingClientRect();if(e>=r)break;
1if(e>a)return t}})();i?(i.focus(),document.addEventListener("keydown",n)):alert("There are no events in range.")}};return e.addEventListener("keydown",a),()=>{e.removeEventListener("keydown",a),document.removeEventListener("keydown",n)}}),[]);const Y=Object(i.useRef)(),[Q,J]=Object(i.useState)(!1),ee=Object(i.useRef)(!1),te=0===k.length;Object(i.useEffect)((()=>{if(!te){let e,n;const a=()=>{t.current.mode===Yn?J(!1):h(!1),document.removeEventListener("mousemove",r),document.removeEventListener("touchmove",r)},r=a=>{const r=a.clientX||a.touches&&a.touches[0].clientX;if("number"===typeof r){const a=r-e,i=t.current.mode===Yn;if(!ee.current&&Math.abs(a)>4&&(ee.current=!0,i||h(!0)),ee.current){const e=G.current.offsetWidth,r=t.current.visibleRangeSize/e;i?L(n-a*r):(Xa("onPointerMove","Timeline dragged",{seekTo:n-a*r,valueOnPointerDown:n,mouseDisplacement:a,msPerPx:r}),b(n-a*r))}}},i=i=>{i.preventDefault(),ee.current=!(i.target instanceof HTMLButtonElement),e=i.clientX||i.touches&&i.touches[0].clientX,"number"===typeof e&&(t.current.mode===Yn?(n=t.current.timelineCentreTime,J(!0)):(n=t.current.videosCurrentTime,ee.current&&h(!0)),i.touches?(document.addEventListener("touchend",a,{once:!0}),document.addEventListener("touchmove",r)):(document.addEventListener("mouseup",a,{once:!0}),document.addEventListener("mousemove",r)))},o=q.current;o.addEventListener("mousedown",i),o.addEventListener("touchstart",i);const c=e=>{if("ArrowLeft"===e.key||"ArrowRight"===e.key){const n="ArrowRight"===e.key;t.current.mode===Yn?L(t.current.timelineCentreTime+Zn*(n?1:-1)):N(n)}},l=Y.current;return l.addEventListener("keydown",c),()=>{o.removeEventListener("mousedown",i),o.removeEventListener("touchstart",i),l.removeEventListener("keydown",c),document.removeEventListener("mouseup",a),document.removeEventListener("touchend",a),document.removeEventListener("mousemove",r),document.removeEventListener("touchmove",r)}}}),[h,t,b,N,L,te]);const ne=Object(i.useCallback)((e=>{const n=Wn.findIndex((e=>{let{value:n}=e;return n===t.current.visibleRangeSize})),a=c.a.clamp(n+(e?-1:1),0,Wn.length-1);m(Wn[a].value)}),[m,t]);Object(i.useEffect)((()=>{if(!te){let e=0,t=0,n=0,a=!1;const r=r=>{r.preventDefault(),(new Date).getTime()-e<300&&(new Date).getTime()-t<700?n+=r.deltaY:(n=r.deltaY,a=!1),e=(new Date).getTime(),!a&&Math.abs(n)>25&&(a=!0,t=(new Date).getTime(),ne(n<0))},i=G.current;return i.addEventListener("wheel",r,{passive:!1}),()=>{i.removeEventListener("wheel",r)}}}),[ne,te]);const ae=Object(i.useMemo)((()=>La(null===v||void 0===v?void 0:v.individual)),[v]),re=Object(i.useMemo)((()=>{var e,t;return Object(Fn.jsxs)(Fn.Fragment,{children:[W>0&&Object(Fn.jsx)(ja,{ref:Y,start:X.start,end:X.end,validTimeRangeStart:s,validTimeRangeEnd:d,msPerPx:W,width:X.size/W,timezone:y}),Object(Fn.jsx)(yn,{ref:K,children:te?Object(Fn.jsx)(Ca,{draggingTimelineInNormalModeRef:ee,start:o,end:l,msPerPx:W,width:X.size/W,motionTimeSpans:[],timezone:y}):j?k.map((e=>{var t,n,a,r,i,c;return Object(Fn.jsx)(Ca,{sessionsTimeSpans:null===w||void 0===w?void 0:w[e],draggingTimelineInNormalModeRef:ee,restrictToUidd:e,start:o,end:l,msPerPx:W,width:X.size/W,motionTimeSpans:null===g||void 0===g?void 0:g.individual[e],smartMotionTimeSpans:null===v||void 0===v?void 0:v.individual[e],showSmartMotionTimeSpans:!(!(null===v||void 0===v||null===(t=v.individual)||void 0===t||null===(n=t[e])||void 0===n||null===(a=n.person)||void 0===a?void 0:a.length)&&!(null===v||void 0===v||null===(r=v.individual)||void 0===r||null===(i=r[e])||void 0===i||null===(c=i.vehicle)||void 0===c?void 0:c.length)),seekTo:b,setMotionBeingHoveredOver:E,cameras:R,timezone:y},e)})):Object(Fn.jsx)(Ca,{start:o,end:l,msPerPx:W,width:X.size/W,motionTimeSpans:null===g||void 0===g?void 0:g.combined,smartMotionTimeSpans:ae,showSmartMotionTimeSpans:!(!(null===ae||void 0===ae||null===(e=ae.person)||void 0===e?void 0:e.length)&&!(null===ae||void 0===ae||null===(t=ae.vehicle)||void 0===t?void 0:t.length)),seekTo:b,setMotionBeingHoveredOver:E,cameras:R,timezone:y,draggingTimelineInNormalModeRef:ee})})]})}),[S,j,g,v,ae,w,b,E,o,l,k,X,W,te,y,s,d]),ie=a-u/2+Xn*W,oe=a+u/2-Xn*W,ce=Object(i.useRef)(),le=Object(i.useRef)(),de=!D&&k.length>0;Object(i.useLayoutEffect)((()=>
1{if(de){const e=()=>{const e=parseFloat(ce.current.style.paddingLeft)||0,{left:t,width:n}=ce.current.getBoundingClientRect(),a=t+n/2,{left:r,width:i}=le.current.getBoundingClientRect(),o=2*(a-(r-e/2+i/2));ce.current.style.paddingLeft="".concat(o,"px")};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}}),[de]);const ue=Object(i.useMemo)((()=>!(!(null===v||void 0===v?void 0:v.individual)||0===k.length)&&k.some((e=>{var t,n;const a=v.individual[e];return!(!(null===a||void 0===a||null===(t=a.person)||void 0===t?void 0:t.length)&&!(null===a||void 0===a||null===(n=a.vehicle)||void 0===n?void 0:n.length))}))),[v,k]);return Object(Fn.jsxs)(jn,{$showCentreLine:!D&&k.length>0,$lineColour:I.u,children:[Object(Fn.jsxs)(fn,{ref:G,$motionRowsCount:te?1:j?k.length:1,children:[Object(Fn.jsx)(On,{ref:q,$movingTimeline:D?Q:p,style:{width:X.size/W||0,left:"".concat((a-u/2-X.start)/u*-100,"%")},children:re}),j&&k.length>1&&k.map(((e,t)=>Object(Fn.jsx)(xn,{$rowIndex:t,$onlyRow:1===k.length,children:R[e].name},e))),D&&Object(Fn.jsx)(pa,{valuesRef:t,videosCurrentTime:n,timelineWidth:U,clipStart:A,clipEnd:M,timelineCentreTime:a,visibleRangeSize:u,skip:N,draggingClipHandle:B,setDraggingClipHandle:V,changeClipTime:z,msPerPx:W,timelineOuterContainerRef:G,seekTo:b,setMouseSeeking:h,timezone:y}),!D&&Object(Fn.jsx)(Cn,{ref:Z,$instructions:$(C.a.playback.timeline.EVENT_NAVIGATION_KEYBOARD_PROMPT)})]}),Object(Fn.jsxs)(An,{children:[ue&&Object(Fn.jsxs)(Pn,{style:{fontWeight:100,fontSize:"90%"},children:[Object(Fn.jsxs)(It.c,{row:!0,centre:!0,gap:3,children:[Object(Fn.jsx)("div",{style:{backgroundColor:I.w,width:10,height:10,borderRadius:10}}),Object(Fn.jsx)(Et.a,{children:$(C.a.technical.analytics.analyticsLabels.person)})]}),Object(Fn.jsxs)(It.c,{row:!0,centre:!0,gap:3,children:[Object(Fn.jsx)("div",{style:{backgroundColor:I.i,width:10,height:10,borderRadius:10}}),Object(Fn.jsx)(Et.a,{children:$(C.a.technical.analytics.analyticsLabels.vehicle)})]}),Object(Fn.jsxs)(It.c,{row:!0,centre:!0,gap:3,children:[Object(Fn.jsx)("div",{style:{backgroundColor:Object(I.v)(),width:10,height:10,borderRadius:10}}),Object(Fn.jsx)(Et.a,{children:$(C.a.events.ALL_MOTION)})]})]}),Object(Fn.jsx)(It.c,{row:!0,centre:!0,style:{width:"100%"},children:de?Object(Fn.jsx)("div",{ref:ce,children:Object(Fn.jsx)(zt.a,{buttonText:Object(Fn.jsxs)(Et.a,{block:!0,ref:le,style:{minWidth:"min(200px, 75vw)"},children:[Fa(n,y)," | ",new Date(n).toLocaleTimeString(void 0,{timeZone:y})]}),type:"datetime",value:n,min:s,max:d,onChange:e=>b(e),timezone:y,availableTimezones:x,timezoneSelectorProps:Object(r.a)(Object(r.a)({},T),{},{onChange:e=>{T.onChange(e),Object(f.P)(e,x,"playback")}}),todayButtonBreakpoint:800,clickOnly:!0})}):D?Object(Fn.jsxs)(Fn.Fragment,{children:[Object(Fn.jsx)(It.c,{justifyContent:"flex-end",style:{width:24},children:(A<ie||A>oe)&&Object(Fn.jsx)(ga,{start:!0,goToClipHandle:_,timelineWidth:U})}),Object(Fn.jsxs)(Mn,{$backgroundColour:Object(I.v)(25),children:[Fa(A,y)," | ",new Date(A).toLocaleTimeString(void 0,{timeZone:y})," - ",new Date(M).toLocaleTimeString(void 0,{timeZone:y})," | ",Object(Fn.jsx)(se,{style:{height:12,width:"auto",margin:"0 4px"}})," ",Ha((M-A)/1e3)]}),Object(Fn.jsx)(It.c,{style:{width:24},children:(M<ie||M>oe)&&Object(Fn.jsx)(ga,{start:!1,goToClipHandle:_,timelineWidth:U})})]}):null}),k.length>=3&&Object(Fn.jsx)(Ln,{children:Object(Fn.jsx)(Lt.a,{variant:"switch",value:!j,rightLabel:$(C.a.common.SUMMARY),onChange:e=>{O(!e.target.checked),Ja("motion_toggle")}})})]})]})})),pa=Object(i.memo)((e=>{let{valuesRef:t,videosCurrentTime:n,timelineWidth:a,clipStart:r,clipEnd:o,timelineCentreTime:l,visibleRangeSize:s,skip:d,draggingClipHandle:u,setDraggingClipHandle:m,changeClipTime:b,msPerPx:p,timelineOuterContainerRef:h,seekTo:g,setMouseSeeking:v,timezone:j}=e;const f=Math.floor(a*(r-(l-s/2))/s),O=Math.floor(a*(l+s/2-o)/s),x=Object(i.useRef)();return Object(i.useEffect)((()=>{const e=x.current,n=n=>{const{left:a,width:r}=e.getBoundingClientRect(),i=(n-a)/r,{clipStart:o,clipEnd:c}=t.current,l=Math.round(o+(c-o)*i);g(l)},a=e=>{v(!1),document.removeEventListener("mousemove",r),document.removeEventListener("touchmove",r)},r=e=>{n(e.clientX||e.touches&&e.touches[0].clientX)},i=e=>{e.preventDefault(),v(!0),n(e.clientX||e.touches&&e.touches[0].clientX),e.touches?(document.addEventListener("touchend",a,{once:!0}),document.addEventListener("touchmove",r)):(document.addEventListener("mouseup",a,{once:!0}),document.addEventListener("mousemove",r))};return e.addEventListener("mousedown",i),e.addEventListener("touchstart",i),(
1)=>{e.removeEventListener("mousedown",i),e.removeEventListener("touchstart",i),document.removeEventListener("mouseup",a),document.removeEventListener("touchend",a),document.removeEventListener("mousemove",r),document.removeEventListener("touchmove",r)}}),[g,t,v]),Object(Fn.jsxs)(Sn,{style:{background:"linear-gradient(to right, #181828BF 0, #181828BF ".concat(Math.max(0,f),"px, #0000 ").concat(Math.max(0,f),"px, #0000 ").concat(Math.min(a,a-O),"px, #181828BF ").concat(Math.min(a,a-O),"px, #181828BF 100%)")},children:[Object(Fn.jsx)(In,{ref:x,$rangeLeft:f,$rangeRight:O}),Object(Fn.jsx)(Rn,{onKeyDown:e=>{"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||d("ArrowRight"===e.key,5e3)},style:{left:c.a.clamp(Math.floor(f+(n-r)/p)-1,f,a-O-3)}}),Object(Fn.jsx)(ha,{start:!0,setDraggingClipHandle:m,changeClipTime:b,msPerPx:p,boundingContainerRef:h,position:f,seekTo:g,valuesRef:t}),Object(Fn.jsx)(ha,{start:!1,setDraggingClipHandle:m,changeClipTime:b,msPerPx:p,boundingContainerRef:h,position:O,seekTo:g,valuesRef:t}),"start"===u&&Object(Fn.jsxs)(Dn,{$start:!0,$rangeLeft:f,$rangeRight:O,$timelineWidth:a,children:[Fa(r,j)," | ",new Date(r).toLocaleTimeString(void 0,{timeZone:j})]}),"end"===u&&Object(Fn.jsxs)(Dn,{$start:!1,$rangeLeft:f,$rangeRight:O,$timelineWidth:a,children:[Fa(o,j)," | ",new Date(o).toLocaleTimeString(void 0,{timeZone:j})]})]})})),ha=Object(s.a)()(Object(i.memo)((e=>{let{start:t,setDraggingClipHandle:n,changeClipTime:a,msPerPx:r,boundingContainerRef:o,position:c,seekTo:l,valuesRef:s,t:d}=e;const u=Object(i.useRef)();return Object(i.useEffect)((()=>{const e=u.current;let i,c;const l=e=>{document.removeEventListener("mousemove",d),document.removeEventListener("touchmove",d),n(null)},d=e=>{const n=((e.clientX||e.touches&&e.touches[0].clientX)-c)*r,l=1e3*Math.round((i+n)/1e3);a(t,l,o.current.offsetWidth)},m=e=>{e.preventDefault(),c=e.clientX||e.touches&&e.touches[0].clientX,i=t?s.current.clipStart:s.current.clipEnd,e.touches?(document.addEventListener("touchend",l,{once:!0}),document.addEventListener("touchmove",d)):(document.addEventListener("mouseup",l,{once:!0}),document.addEventListener("mousemove",d)),n(t?"start":"end")},b=e=>{if("ArrowLeft"===e.key||"ArrowRight"===e.key){const n=5e3*("ArrowRight"===e.key?1:-1),r=t?s.current.clipStart:s.current.clipEnd;a(t,r+n,o.current.offsetWidth)}};return e.addEventListener("mousedown",m),e.addEventListener("touchstart",m),e.addEventListener("keydown",b),()=>{e.removeEventListener("mousedown",m),e.removeEventListener("touchstart",m),e.removeEventListener("keydown",b),document.removeEventListener("mouseup",l),document.removeEventListener("touchend",l),document.removeEventListener("mousemove",d),document.removeEventListener("touchmove",d)}}),[t,r,o,s,l,a,n]),Object(Fn.jsx)(Nn,{ref:u,$start:t,$position:c,"aria-label":d(t?C.a.playback.clipping.ADJUST_CLIP_START:C.a.playback.clipping.ADJUST_CLIP_END),children:t?Object(Fn.jsx)(ge.a,{}):Object(Fn.jsx)(ve.a,{})})}))),ga=Object(s.a)()(Object(i.memo)((e=>{let{start:t,goToClipHandle:n,timelineWidth:a,t:r}=e;return Object(Fn.jsx)(Pt.a,{description:r(t?C.a.playback.clipping.GO_TO_CLIP_START:C.a.playback.clipping.GO_TO_CLIP_END),style:{height:24,width:24},svgMaxWidth:"60%",svgMaxHeight:"60%",onClick:()=>{n(t,a)},children:t?Object(Fn.jsx)(ge.a,{}):Object(Fn.jsx)(ve.a,{})})}))),va=Object(s.a)()(Object(i.memo)((e=>{let{visibleRangeSize:t,zoomTimeline:n,setNewVisibleRangeSize:a,disabled:i,t:o}=e;const[l,s]=Object(Un.a)();return Object(Fn.jsxs)(Fn.Fragment,{children:[Object(Fn.jsx)($n.a,Object(r.a)(Object(r.a)({},l),{},{children:o(C.a.playback.CHANGE_TIMEFRAME)})),Object(Fn.jsxs)(It.c,Object(r.a)(Object(r.a)({alignItems:"center",gap:5,style:{position:"relative"}},s),{},{children:[Object(Fn.jsx)(Pt.a,{"aria-label":o(C.a.playback.timeline.ZOOM_OUT_TIMELINE),disabled:i||c.a.last(Wn).value===t,onClick:()=>{n(!1),Ja("timeline_zoom_out")},style:{height:20,width:20,borderRadius:10},svgMaxHeight:10,svgMaxWidth:10,defaultBackgroundColour:Object(I.v)(10),children:Object(Fn.jsx)(pe.a,{})}),Object(Fn.jsx)(_n,{disabled:i,"aria-label":o(C.a.playback.timeline.CHOOSE_TIME_RANGE),value:t.toString(),onChange:e=>{let{target:{value:t}}=e;a(parseFloat(t)),Ja("timeline_zoom_change")},options:Wn.map((e=>{let{labelTranslationKey:t,value:n}=e;return{text:o(t),value:n.toString()}})),narrowWidth:!0}),Object(Fn.jsx)(Pt.a,{"aria-label":o(C.a.playback.timeline.ZOOM_IN_TIMELINE),disabled:i||Wn[0].value===t,onClick:()=>{n(!0),Ja("timeline_zoom_in")},style:{height:20,width:20,borderRadius:10}
1,svgMaxHeight:10,svgMaxWidth:10,defaultBackgroundColour:Object(I.v)(10),children:Object(Fn.jsx)(be.a,{})})]}))]})}))),ja=Object(i.memo)(Object(i.forwardRef)(((e,t)=>{let{start:n,end:a,msPerPx:r,width:o,timezone:l,validTimeRangeStart:s,validTimeRangeEnd:d}=e;return Object(i.useLayoutEffect)((()=>{var e,i;if(!o||!n||!a||!r)return;const u=[1e3,15e3,6e4,3e5,9e5,18e5,36e5],m=26*r,b=null!==(e=u.find((e=>e>=6e4&&e>=m)))&&void 0!==e?e:c.a.last(u);let p=6*r;b>6e4&&p<6e4&&(p=6e4);const h=null!==(i=u.find((e=>e>=p&&b/e>=3)))&&void 0!==i?i:b,g=b/r,v=Math.ceil(40/g),j=t.current,f=j.getContext("2d");j.width=o*devicePixelRatio,j.height=31*devicePixelRatio,f.scale(devicePixelRatio,devicePixelRatio),f.strokeStyle=Object(I.v)(),f.lineWidth=1,f.fillStyle=Object(I.v)(),f.font="100 ".concat(nn,"px GT-Walsheim"),f.textAlign="center",f.textBaseline="top";f.clearRect(0,0,o,31);const O=22.5;if(s>n||d<a){const e=(s-n)/r,t=(d-n)/r;f.globalAlpha=.3,f.fillRect(0,O,e,1),f.fillRect(t,O,o-t,1),f.globalAlpha=1,f.fillRect(e,O,t-e,1)}else f.fillRect(0,O,o,1);const x=Math.ceil(n/h)*h,y=(a-n)/h,C=864e5*Math.floor(x/864e5);for(let t=0;t<y;t++){const e=x+t*h;f.globalAlpha=e<s||e>d?.3:1;const a=e%b===0,i=Math.floor((e-n)/r),o=a?17:8.5;if(f.fillRect(i,14+(17-o)/2,1,o),a){(e-C)/b%v===0&&f.fillText(Wa(e,!1,l),i,0)}}}),[t,a,n,o,r,l,s,d]),Object(Fn.jsx)("canvas",{ref:t,tabIndex:0,style:{height:tn,width:o||0}})}))),fa=Object(s.a)()(Object(i.memo)((e=>{var t;let{forwards:n=!0,skip:a,disabled:r,t:i}=e;const{accentColour:o,accentColour2:c,accentColour3:l}=Object(H.a)(),s=null!==(t=null!==l&&void 0!==l?l:c)&&void 0!==t?t:o;return Object(Fn.jsx)(pn,{$forwards:n,onClick:()=>{a(n),Ja("skip_".concat(n?"forwards":"back"))},$hoverColour:s,"aria-label":i(n?C.a.video.skip.SKIP_FORWARDS_X_SECONDS:C.a.video.skip.SKIP_BACK_X_SECONDS,{count:10}),disabled:r,children:n?Object(Fn.jsx)(Y,{}):Object(Fn.jsx)(ne,{})})}))),Oa=(e,t)=>{if(!e)return null;const n=c.a.values(e).reduce(((e,n)=>{const a=c.a.sortedLastIndexBy(n,{startTime:t},"startTime");return a>=n.length?e:Math.min(e,n[a].startTime)}),Number.MAX_SAFE_INTEGER);return n<Number.MAX_SAFE_INTEGER?n:null},xa=(e,t)=>{if(!e)return null;const n=t=>c.a.values(e).reduce(((e,n)=>{const a=c.a.sortedIndexBy(n,{startTime:t},"startTime")-1;return a<0?e:Math.max(e,n[a].startTime)}),Number.NEGATIVE_INFINITY),a=n(t);if(a===Number.NEGATIVE_INFINITY)return null;if(t-a<=2e3){const e=n(a);if(e>Number.NEGATIVE_INFINITY)return e}return a},ya=Object(s.a)()(Object(i.memo)((e=>{var t;let{next:n,skipToMotionAt:a,individualMotionTimeSpans:r,videosCurrentTime:i,disabled:o,t:c}=e;const{accentColour:l,accentColour2:s,accentColour3:d}=Object(H.a)(),u=null!==(t=null!==d&&void 0!==d?d:s)&&void 0!==t?t:l;return Object(Fn.jsx)(pn,{disabled:o,$hoverColour:u,"aria-label":c(n?C.a.playback.motion.NEXT_MOTION:C.a.playback.motion.PREVIOUS_MOTION),onClick:()=>{const e=n?Oa(r,i):xa(r,i);null!==e&&a(e)},children:n?Object(Fn.jsx)(Le,{}):Object(Fn.jsx)(Ve,{})})}),((e,t)=>{let{disabled:n}=e,{disabled:a}=t;return n&&a}))),Ca=Object(i.memo)((e=>{var t,n,a,r,i,o;let{restrictToUidd:l,motionTimeSpans:s,seekTo:d,setMotionBeingHoveredOver:u,cameras:m,start:b,end:p,msPerPx:h,width:g,draggingTimelineInNormalModeRef:v,timezone:j,sessionsTimeSpans:f,smartMotionTimeSpans:O}=e;const{accentColour:x,accentColour2:y,useAccentColour2:C}=Object(H.a)(),T=null!==(t=null===s||void 0===s?void 0:s.reduce(((e,t)=>{let{uidds:n,image:a,eventId:r,startTime:i,endTime:o}=t;if(o<=b||i>=p)return e;const l=Math.max(Math.floor((i-b)/h),0),s=Math.min(Math.ceil((o-b)/h),Math.ceil(g))-1,d=e.length>0?c.a.last(e).lastPx:-1;if(l>d)return e.concat({uidds:n,image:a,eventId:r,startTime:i,endTime:o,firstPx:l,lastPx:s,count:1});if(s<=d)return e;{const t=c.a.last(e);return t.lastPx=s,t.endTime=o,t.uidds=c.a.union(t.uidds,n),t.count++,e}}),[]))&&void 0!==t?t:[],w=null!==(n=null===O||void 0===O||null===(a=O.person)||void 0===a?void 0:a.reduce(((e,t)=>{let{uidds:n,id:a,startTime:r,endTime:i,tracks:o}=t;if(i<=b||r>=p)return e;const l=Math.max(Math.floor((r-b)/h),0),s=Math.min(Math.ceil((i-b)/h),Math.ceil(g))-1,d=e.length>0?c.a.last(e).lastPx:-1;if(l>d)return e.concat({uidds:n,id:a,startTime:r,endTime:i,tracks:o,firstPx:l,lastPx:s,count:1});if(s<=d)return e;{var u;const t=c.a.last(e);return t.lastPx=s,t.endTime=i,t.uidds=c.a.union(t.uidds,n),t.tracks=[...null!==(u=t.tracks)&&void 0!==u?u:[],...null!==o&&void 0!==o?o:[]],t.count++,e}}),[]))&&void 0!==n?n:[],k=null!==(r=null===O||void 0===O||null===(i=O.vehicle)||void 0===i?void 0:i.reduce(((e,t)=>{let{uidds:n,id:a,startTime:r,endTime:i,tracks:o}=t;if(i<=b||r>=p)return e;const l=Math.max(Math.floor((r-b)/h),0),s=Math.min(Math.ceil((i-b)/h),Math.ceil(g))-1,d=e.length>0?c.a.last(e).lastPx:-1;if(l>d)return e.concat({uidds:n,id:a,startTime:r,endTime:i,firstPx:l,lastPx:s,tracks:o,count:1});if(s<=d)return e;{var u;const t=c.a.last(e);return t.lastPx=s,t.endTime=i,t.uidds=c.a.union(t.uidds,n),t.tracks=[...null!==(u=t.tracks)&&void 0!==u?u:[],...null!==o&&void 0!==o?o:[]],t.count++,e}}),[]))&&void 0!==r?r:[],E=w.length>0||k.length>0,S=null!==(o=null===f||void 0===f?void 0:f.reduce(((e,t)=>{let{startt:n,endt:a}=t;if(!c.a.isNil(a)&&a<=b||n>=p)return e;const r=Math.max(Math.floor((n-b)/h),0),i=c.a.isNil(a)?Math.ceil(g)-1:Math.min(Math.ceil((a-b)/h),Math.ceil(g))-1,o=e.length>0?c.a.last(e).lastPx:-1;if(r>o)return e.concat({firstPx:r,lastPx:i,startt:n});if(i<=o)return e;return c.a.last(e).lastPx=i,e}),[]))&&void 0!==o?o:[];return Object(Fn.jsxs)(Tn,{children:[S.map((e=>{let{firstPx:t,lastPx:n,startt:a}=e;return Object(Fn.jsx)("div",{style:{backgroundColor:Object(I.z)(C?y:x,60),left:t,width:n-t+1,position:"absolute",bottom:0,height:"97%"}},a)})),E&&w.map((e=>{var t;let{uidds:n,id:a,startTime:r,endTime:i,firstPx:o,lastPx:c,count:s,tracks:b}=e;return Object(Fn.jsx)(wa,{uidds:n,draggingTimelineInNormalModeRef:v,firstPx:o,width:c-o+1,startTime:r,endTime:i,imageUidd:l,imageType:"ai",imageEventId:a,count:s,seekTo:d,setMotionBeingHoveredOver:u,logger:null===m||void 0===m||null===(t=m[l])||void 0===t?void 0:t.logger,timezone:j,position:"top",tracks:b,tracksForLabel:"person"},r)})),E&&k.map((e=>{var t;let{uidds:n,id:a,startTime:r,endTime:i,firstPx:o,lastPx:c,count:s,tracks:b}=e;return Object(Fn.jsx)(wa,{uidds:n,draggingTimelineInNormalModeRef:v,firstPx:o,width:c-o+1,startTime:r,endTime:i,imageType:"ai",imageUidd:l,imageEventId:a,count:s,seekTo:d,setMotionBeingHoveredOver:u,logger:null===m||void 0===m||null===(t=m[l])||void 0===t?void 0:t.logger,timezone:j,position:"middle",tracks:b,tracksForLabel:"vehicle"},r)})),T.map((e=>{var t;let{uidds:n,image:a,eventId:r,startTime:i,endTime:o,firstPx:c,lastPx:s,count:b}=e;return Object(Fn.jsx)(wa,{uidds:n,draggingTimelineInNormalModeRef:v,firstPx:c,width:s-c+1,startTime:i,endTime:o,imageUidd:null!==l&&void 0!==l?l:null===a||void 0===a?void 0:a.uidd,imageEventId:null!==r&&void 0!==r?r:null===a||void 0===a?void 0:a.eventId,count:b,seekTo:d,setMotionBeingHoveredOver:u,logger:null===m||void 0===m||null===(t=m[null!==l&&void 0!==l?l:null===a||void 0===a?void 0:a.uidd])||void 0===t?void 0:t.logger,timezone:j,position:E?"bottom":"full"},i)}))]})}),((e,t)=>{var n,a,r,i,o,c,l,s,d,u,m,b,p,h,g,v,j,f,O,x,y,C,T,w,k,E,S,I,R,N,D,A,M,P,L,_,z,B,V,$,U,F,W,H,G,q,X,Z;return e.showSmartMotionTimeSpans===t.showSmartMotionTimeSpans&&(e.timezone===t.timezone&&e.width===t.width&&e.msPerPx===t.msPerPx&&e.start===t.start&&e.end===t.end&&(null===(n=e.motionTimeSpans)||void 0===n||null===(a=n[0])||void 0===a?void 0:a.startTime)===(null===(r=t.motionTimeSpans)||void 0===r||null===(i=r[0])||void 0===i?void 0:i.startTime)&&(null===(o=e.motionTimeSpans)||void 0===o||null===(c=o[(null===(l=e.motionTimeSpans)||void 0===l?void 0:l.length)-1])||void 0===c?void 0:c.endTime)===(null===(s=t.motionTimeSpans)||void 0===s||null===(d=s[(null===(u=t.motionTimeSpans)||void 0===u?void 0:u.length)-1])||void 0===d?void 0:d.endTime)&&void 0===(null===(m=e.smartMotionTimeSpans)||void 0===m?void 0:m.person)===(void 0===(null===(b=t.smartMotionTimeSpans)||void 0===b?void 0:b.person))&&void 0===(null===(p=e.smartMotionTimeSpans)||void 0===p?void 0:p.vehicle)===(void 0===(null===(h=t.smartMotionTimeSpans)||void 0===h?void 0:h.vehicle))&&(null===(g=e.smartMotionTimeSpans)||void 0===g||null===(v=g.person)||void 0===v||null===(j=v[0])||void 0===j?void 0:j.startTime)===(null===(f=t.smartMotionTimeSpans)||void 0===f||null===(O=f.person)||void 0===O||null===(x=O[0])||void 0===x?void 0:x.startTime)&&(null===(y=e.smartMotionTimeSpans)||void 0===y||null===(C=y.person)||void 0===C||null===(T=C[(null===(w=e.smartMotionTimeSpans)||void 0===w||null===(k=w.person)||void 0===k?void 0:k.length)-1])||void 0===T?void 0:T.endTime)===(null===(E=t.smartMotionTimeSpans)||void 0===E||null===(S=E.person)||void 0===S||null===(I=S[(null===(R=t.smartMotionTimeSpans)||void 0===R||null===(N=R.person)||void 0===N?void 0:N.length)-1])||void 0===I?void 0:I.endTime)&&(null===(D=e.smartMotionTimeSpans)||void 0===D||null===(A=D.vehicle)||void 0===A||null===(M=A[0])||void 0===M?void 0:M.startTime)===(null===(P=t.smartMotionTimeSpans)||void 0===P||null===(L=P.vehicle)||void 0===L||null===(_=L[0])||void 0===_?void 0:_.startTime)&&(null===(z=e.smartMotionTimeSpans)||void 0===z||null===(B=z.vehicle)||void 0===B||null===(V=B[(null===($=e.smartMotionTimeSpans)||void 0===$||null===(U=$.vehicle)||void 0===U?void 0:U.length)-1])||void 0===V?void 0:V.endTime)===(null===(F=t.smartMotionTimeSpans)||void 0===F||null===(W=F.vehicle)||void 0===W||null===(H=W[(null===(G=t.smartMotionTimeSpans)||void 0===G||null===(q=G.vehicle)||void 0===q?void 0:q.length)-1])||void 0===H?void 0:H.endTime)&&(null===(X=e.sessionsTimeSpans)||void 0===X?void 0:X.length)===(null===(Z=t.sessionsTimeSpans)||void 0===Z?void 0:Z.length))})),Ta="error",wa=Object(s.a)()(Object(i.memo)((e=>{let{uidds:t,firstPx:n,width:a,seekTo:o,setMotionBeingHoveredOver:l,imageType:s="event",imageUidd:u,imageEventId:m,startTime:b,endTime:p,logger:h,count:g,draggingTimelineInNormalModeRef:j,timezone:f,t:O,position:y,tracks:w,tracksForLabel:k}=e;const{isFocusVisible:E}=Object(d.a)(),[S,{onClick:R,ref:N}]=Object(V.a)({placement:"top",fixedPositioning:!0,preventOverflowPadding:10}),D=Object(i.useRef)(!1),[A,M]=Object(i.useState)(),[P,L]=Object(i.useState)(Wa(b,!0,f)),_=Wa(p,!0,f);Object(i.useEffect)((()=>{L(Wa(b,!0,f))}),[f,b]);const z=()=>{l([b,t]),(async()=>
1{if(!D.current){D.current=!0;try{let e;"event"===s?e=await Object(v.k)(h,u,m):"ai"===s&&(e=await Object(x.x)(u,m)),M(Object(T.d)(e))}catch(e){console.error(e),M(Ta)}}})(),R(),Ja("motion_indicator_hover")},B=()=>{l((e=>c.a.isEqual(e,[b,t])?[]:e)),R()};return Object(Fn.jsxs)(Fn.Fragment,{children:[Object(Fn.jsx)(wn,{"aria-label":O(C.a.events.SEEK_TO_MOTION_EVENT_AT,{timestamp:P}),onClick:()=>{j.current?j.current=!1:(o(b),R(),Ja("motion_indicator_click"))},style:{width:a,left:n},$accentColour:"top"===y?I.w:"middle"===y?I.i:Object(I.v)(),onMouseEnter:S.open?void 0:z,onMouseLeave:S.open?B:void 0,onFocus:E?z:void 0,onBlur:E?B:void 0,tabIndex:-1,position:y,children:Object(Fn.jsx)(kn,{ref:N})}),Object(Fn.jsx)(At.c,Object(r.a)(Object(r.a)({},S),{},{children:Object(Fn.jsxs)(It.c,{column:!0,centre:!0,gap:4,children:[A===Ta?Object(Fn.jsx)(Et.a,{colour:"red",children:O(C.a.errors.ERROR_LOADING_IMAGE)}):A?Object(Fn.jsxs)("div",{style:{position:"relative",width:"100%"},children:[Object(Fn.jsx)(En,{src:A,alt:O(C.a.events.MOTION_EVENT_AT,{timestamp:P})}),w&&w.length>0&&Object(Fn.jsx)(Ut.a,{tracks:w,label:k,id:b})]}):Object(Fn.jsx)(Dt.a,{colour:Object(I.s)()}),Object(Fn.jsxs)(Et.a,{light:!0,style:{marginTop:6,color:Object(I.s)(),backgroundColor:Object(I.v)(),border:"1px solid ".concat(I.h),borderRadius:2,padding:"3px 20px"},children:[P," - ",_]}),g>1&&Object(Fn.jsxs)(Et.a,{light:!0,fontSize:"80%",children:["(",g," events)"]})]})}))]})}))),ka=Object(s.a)()(Object(i.memo)((e=>{let{show:t,loading:n=!1,t:a}=e;return t?Object(Fn.jsx)(dn,{children:Object(Fn.jsxs)(un,{children:[Object(Fn.jsx)(Dt.a,{colour:"#FFF",style:{marginRight:15}}),a(n?C.a.cameras.status.LOADING:C.a.cameras.liveStream.buffering.BUFFERING)]})}):null}))),Ea=Object(s.a)()(Object(i.memo)((e=>{var t;let{pauseIcon:n,onClick:a,disabled:r,t:i}=e;const{accentColour:o,accentColour2:c,accentColour3:l}=Object(H.a)(),s=null!==(t=null!==l&&void 0!==l?l:c)&&void 0!==t?t:o;return Object(Fn.jsx)(pn,{disabled:r,onClick:a,$hoverColour:s,"aria-label":i(n?C.a.video.PAUSE:C.a.video.PLAY),children:n?Object(Fn.jsx)(oe.a,{}):Object(Fn.jsx)(ie.a,{})})}))),Sa=Object(i.memo)((e=>{let{playbackRate:t,setPlaybackRate:n,disabled:a,t:i}=e;const[o,c]=Object(Un.a)();return Object(Fn.jsxs)(Fn.Fragment,{children:[Object(Fn.jsx)($n.a,Object(r.a)(Object(r.a)({},o),{},{children:i(C.a.playback.CHANGE_SPEED)})),Object(Fn.jsx)(gn,Object(r.a)(Object(r.a)({},c),{},{children:Object(Fn.jsx)(St.c,{value:t,onChange:e=>{let{target:{value:t}}=e;n(parseFloat(t)),Ja("change_rate")},options:[{text:"0.5x",value:.5},{text:"0.75x",value:.75},{text:"1x",value:1},{text:"1.5x",value:1.5},{text:"2x",value:2},{text:"3x",value:3},{text:"4x",value:4},{text:"8x",value:8},{text:"16x",value:16}],narrowWidth:!0,disabled:a})}))]})})),Ia=Object(s.a)()(Object(i.memo)((e=>{var t;let{valuesRef:n,disabled:a,cameras:o,t:l}=e;const[s,d]=Object(i.useState)(null),u=Object(i.useRef)(),[m,b]=Object($.a)(),p=Object(i.useCallback)((async e=>{try{d(0),Ja("download_clip");const t=e=>{switch(e){case"all-error":default:u.current=l(C.a.errors.ERROR_GENERIC);break;case"some-error":u.current=l(C.a.video.download.ERROR_ON_SOME_VIDEOS);break;case"no-video":u.current=l(C.a.video.download.NO_VIDEO_IN_TIME_PERIOD)}b()};await Object(j.a)(c.a.difference(n.current.uidds,n.current.downloadExcludedUidds).map((e=>({uidd:e,name:o[e].name,recordedStreamName:o[e].recordedStreamName,timezoneName:o[e].timezoneName}))),n.current.clipStart,n.current.clipEnd,d,t)}catch(t){console.error(t),u.current=l(C.a.errors.ERROR_GENERIC),b()}finally{d(null),e()}}),[o,n,l,b]);return Object(Fn.jsxs)(Fn.Fragment,{children:["number"===typeof s&&Object(Fn.jsxs)(Et.a,{light:!0,style:{minWidth:40},children:[Math.round(100*s),"%"]}),Object(Fn.jsx)(Pt.a,{asyncAction:p,loading:"number"===typeof s,description:l(C.a.actions.DOWNLOAD),disabled:a,children:Object(Fn.jsx)(re.a,{})}),Object(Fn.jsx)(Mt.c,Object(r.a)(Object(r.a)({"aria-label":null!==(t=u.current)&&void 0!==t?t:l(C.a.errors.ERROR_GENERIC)},m),{},{text:u.current}))]})}))),Ra=(e,t,n)=>e&&n?n.reduce(((n,a)=>{var r;if((null===t||void 0===t||null===(r=t[a])||void 0===r?void 0:r.length)>0){const r=((null===t||void 0===t?void 0:t[a])||[]).find((t=>t.startTime<=e&&t.endTime>=e));r&&(n[a]={eventId:r.eventId,startTime:r.startTime,endTime:r.endTime})}return n}),{}):{},Na=async e=>{const t=await Object(x.u)(),n=await Object(x.B)(Object.values(t));return c.a.reduce(t,((t,a,i)=>("l"!==a.access&&(t[i]=Object(r.a)(Object(r.a)(Object(r.a)({},a),n[a.uidd]),{},{cloudStorageDuration:Object(R.A)(e.find((e=>{let{id:t}=e;return t===a.owner})).cloudStorageDuration)})),t)),{})},Da=async(e,t,n,a)=>{try{return await Object(v.e)(e,a,n,t-3e5)}catch(r){return[]}},Aa=async(e,t,n)=>{try{return await Object(zn.b)(n,t,e-3e5)}catch(a){return[]}},Ma=async(e,t)=>{try{return Object(f.J)(t,void 0,e),await Object(v.f)(t,void 0,e)}catch(n){return Object(D.a)(n,{identifier:"Playback - GET sessions",uidds:t,end:e}),[]}},Pa=e=>c.a.chain(e).mapValues(((e,t)=>e.map((e=>Object(r.a)(Object(r.a)({},e),{},{uidd:t}
1))))).values().flatten().reduce(((e,t)=>{let{startTime:n,endTime:a,uidd:r}=t;const i=e.findIndex((e=>e.endTime>=n));if(-1===i)return e.concat([{uidds:[r],startTime:n,endTime:a}]);if(a<e[i].startTime)return[...e.slice(0,i),{uidds:[r],startTime:n,endTime:a},...e.slice(i)];{let t=e.findIndex((e=>{let{startTime:t}=e;return t>a}));return-1===t&&(t=e.length),[...e.slice(0,i),{uidds:c.a.uniq([r,...e.slice(i,t).map((e=>{let{uidds:t}=e;return t})).flat()]),startTime:Math.min(n,e[i].startTime),endTime:Math.max(a,e[t-1].endTime)},...e.slice(t)]}}),[]).value(),La=e=>{if(!e)return{person:[],vehicle:[]};return["person","vehicle"].reduce(((t,n)=>(t[n]=c.a.chain(e).toPairs().flatMap((e=>{var t;let[a,i]=e;return(null!==(t=null===i||void 0===i?void 0:i[n])&&void 0!==t?t:[]).map((e=>Object(r.a)(Object(r.a)({},e),{},{uidds:[a]})))})).sortBy("startTime").value(),t)),{person:[],vehicle:[]})},_a=(e,t,n,a)=>e.reduce(((e,a)=>{let{startTime:i,endTime:o,cameraUidd:c,id:l}=a;if(o<=t)return e;const s=Math.max(i.getTime(),t),d=Math.min(o.getTime(),n),u=e[c].findIndex((e=>e.eventId===l));if(-1!==u){const t=e[c][u];return Object(r.a)(Object(r.a)({},e),{},{[c]:[...e[c].slice(0,u),Object(r.a)(Object(r.a)({},t),{},{startTime:Math.min(t.startTime,s),endTime:Math.max(t.endTime,d)}),...e[c].slice(u+1)]})}{let t=e[c].findIndex((e=>e.startTime>s));return-1===t&&(t=e[c].length),Object(r.a)(Object(r.a)({},e),{},{[c]:[...e[c].slice(0,t),{eventId:l,startTime:s,endTime:d},...e[c].slice(t)]})}}),a),za=(e,t,n,a)=>{const i=Object(r.a)({},a);return Object.entries(e).forEach((e=>{let[a,r]=e;i[a]||(i[a]={}),Object.entries(r).forEach((e=>{let[r,o]=e;i[a][r]||(i[a][r]=[]),o.forEach((e=>{let{startt:o,endt:c,thumbId:l,tracks:s}=e;const d=1e3*o,u=1e3*c;if(u<=t)return;const m=Math.max(d,t),b=Math.min(u,n),p=i[a][r].findIndex((e=>e.startTime===m&&e.endTime===b));if(-1!==p){const e=i[a][r][p];i[a][r][p]={startTime:Math.min(e.startTime,m),endTime:Math.max(e.endTime,b)}}else{let e=i[a][r].findIndex((e=>e.startTime>m));-1===e&&(e=i[a][r].length),i[a][r].splice(e,0,{startTime:m,endTime:b,id:l,tracks:s})}}))}))})),i},Ba=async(e,t,n,a)=>{const i=await Da(e,t,n,a),o=_a(i,t,n,a.reduce(((e,t)=>Object(r.a)(Object(r.a)({},e),{},{[t]:[]})),{}));return[Pa(o),o]},Va=async(e,t,n)=>{const a=await Aa(e,t,n);return[[],za(a,e,t,n.reduce(((e,t)=>Object(r.a)(Object(r.a)({},e),{},{[t]:{person:[],vehicle:[]}})),{}))]},$a=(e,t,n,a)=>{const r=.5*t*3,i=e=>6e4*Math.floor(e/6e4),o=3e5;let c=i(e-r);c<n+o&&(c=n);let l=i(e+r);return l>a-o&&(l=a),[c,l]},Ua=(e,t,n,a,r,i,o)=>{const c=3*n;return[i?Math.max(a,e-c):e,o?Math.min(r,t+c):t]},Fa=(e,t)=>new Date(e).toLocaleDateString(void 0,{weekday:"short",day:"2-digit",month:"short",year:"numeric",timeZone:t}),Wa=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0;return new Date(parseInt(e)).toLocaleTimeString(void 0,{hour:"numeric",minute:"numeric",second:t?"numeric":void 0,timeZone:n}).replace(/\s[APap][Mm]$/,"")},Ha=e=>{const t=Math.floor(e/3600),n=Math.floor(e%3600/60).toString().padStart(2,"0"),a=(e%60).toString().padStart(2,"0");return t>0?"".concat(t,":").concat(n,":").concat(a):"".concat(n,":").concat(a)},Ga=e=>"".concat(new Date(e).toLocaleDateString().replaceAll("/","-"),"_").concat(new Date(e).toLocaleTimeString().replaceAll(":","-")),qa=(e,t,n,a,r)=>Object(E.c)(e,t,n,a,Object(O.f)(),{videoServer:Object(y.k)(Object(O.s)(e.split(".")[0])),format:"mpegts",padding:!0,codec:r?"h264":void 0}),Xa=(e,t,n)=>{const a=["".concat((new Date).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3})).concat(e?" : ".concat(e):"").concat(t?" : ".concat(t):"")];n&&a.push(c.a.cloneDeep(n)),oa.push(a);oa.length>8e3&&(oa=oa.slice(oa.length-8e3)),"true"===sessionStorage.playbackVerboseLogging&&console.log(...a)},Za=e=>{var t;return Array(null!==(t=null===e||void 0===e?void 0:e.length)&&void 0!==t?t:0).fill(0).map(((t,n)=>[e.start(n),e.end(n)]))},Ka=(e,t,n)=>{let a,r=1e3*Math.floor(e/1e3);return r-t<3e4?(a=r+Hn,r=t):r<n-Hn-3e4?a=r+Hn:r<n-Hn?a=n:(a=n,r=a-Hn),[r,a]},Ya=(e,t,n,a,r)=>Math.min(t+1e3*Math.max(e-a+r,0),n),Qa=(e,t,n,a,r)=>c.a.clamp(n+a-r,0,(t-e)/1e3+a),Ja=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Object(w.d)("playback",...t)};t.c=ca},535:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}
1));var a=n(8),r=n.n(a);const i=(e,t,n,a,r)=>{const i=t=>Math.ceil(a/Math.floor((e+n)/(t+n)))*(.5625*t+n)-n;let o=c(r);if(i(o)>t){const t=Math.floor((e+n)/(o+n));return["repeat(auto-fill,".concat(o,"px)"),o,t]}let l=e;if(i(l)<=t)return["1fr",e,1];const s=Math.ceil(Math.log2(l-o));for(let c=0;c<s;c++){const e=Math.floor((o+l)/2);if(i(e)>t?l=e:o=e,l-o<=1)break}const d=Math.floor((e+n)/(o+n));return["repeat(".concat(d,",min(").concat(o,"px,100%))"),o,d]},o=(e,t,n,a,r,o)=>{const l=c(o),s=Math.floor((e+n)/(l+n)),d=Math.floor((t+n)/(.5625*l+n));if(a<=r&&a<=s*d)return i(e,t,n,a,o);for(let i=Math.min(a,r);i>=1;i--){let r,o=0;for(let c=Math.ceil(i/d);c<=Math.min(i,s);c++)if(i%c===0){const l=i/c,s=Math.floor((t-n*(l-1))/(.5625*l));if(c*s+n*(c-1)<=e){s>o&&(o=s,r=c);continue}const d=Math.floor((e-n*(c-1))/c),u=.5625*d,m=l*u+n*(l-1);if(m<=t&&(a<=i||m+n+u>t)){d>o&&(o=d,r=c);continue}}if(o)return["repeat(".concat(r,",min(").concat(o,"px,100%))"),o,r]}return["min(".concat(l,"px, 100%)"),Math.min(l,e),1]},c=e=>r.a.chain(Object.entries(e)).sortBy((e=>{let[t]=e;return"undefined"===t?1/0:parseInt(t)})).find((e=>{let[t,n]=e;return"undefined"===t||parseInt(t)<window.innerWidth})).last().value()}}]);
2//# sourceMappingURL=24.743e184e.chunk.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.