1"use strict";(globalThis.webpackChunklibertin||=[]).push([[1503],{55174(e,t,n){const r=async(e,t,n={},{displayMessageConfirmApi:r,dialogueLogger:o}={})=>{if("function"!=typeof r)return"";try{return await r(e,t,n)}catch(e){return o?.error?.("displayMessageConfirm failed",e),""}},o=(e,t,n,{domApi:r,appendTrustedHtmlApi:o,cleanupTrailingDateTagsApi:i,refreshDialogueTooltipsApi:a}={})=>{if(!n)return;const l=e.getActiveConversationMemberId();if(null===l||String(l)!==String(t))return;const s=o(document.getElementById("dialogueMessages"),n);s&&(r(s).hide().fadeIn(),i(document.getElementById("dialogueMessages")),a(),e.scrollActiveDialogueToBottom())};n.d(t,["IS",0,r,"Y",0,o,"_K",0,async(e,t,n,i={},a={})=>{const l=await r(t,n,i,a);o(e,n,l,a)}])},53456(e,t,n){var r=n(2217),o=n(96087);const i=Symbol.for("lib.private1to1.unload-signal-state");n.d(t,["X",0,(e,{private1to1SocketEvent:t}={})=>{const n=new Map,a={},l=new Proxy(a,{get(t,o,i){if(Reflect.has(t,o))return Reflect.get(t,o,i);if("string"!=typeof o)return;const a=(t=>{const o=String(t||"").trim();return o?(n.has(o)||n.set(o,(0,r.Pt)(e,o)),n.get(o)):null})(o)?.();return"function"==typeof a?a:void 0}}),s=()=>l,d={},c=(t,n,r,o=e=>e)=>{const i=Object.getOwnPropertyDescriptor(e,n);i?.get||i?.set||(t[r]=o(e[n]),Object.defineProperty(e,n,{configurable:!0,enumerable:!0,get:()=>u()[r],set(e){u()[r]=o(e)}}))},u=()=>{if(e[i]&&"object"==typeof e[i])return e[i];e[i]={bound:!1,handler:null,lastUnloadSignalAt:0};const t=e[i];return c(t,"private1to1UnloadSignalBound","bound",e=>!0===e),c(t,"private1to1UnloadSignalHandler","handler",e=>"function"==typeof e?e:null),c(t,"private1to1LastUnloadSignalAt","lastUnloadSignalAt",e=>Number(e||0)||0),t};return d.private1to1BindUnloadSignal=(e=null)=>{const n=u();if(n.bound)return;if("undefined"==typeof window)return;n.bound=!0;const r=r=>{const o=s(),i=Date.now();if(n.lastUnloadSignalAt&&i-n.lastUnloadSignalAt<600)return;n.lastUnloadSignalAt=i,o.releaseAcceptedCallOwner?.(o.resolveLatestActiveCall?.(),{chat:e,force:!0});const a=o.resolveChatContext?.(e),l=o.resolveSignalSocket?.(a);if(!l?.emit)return;const d=o.resolveOutgoingCloseTargets?.();Array.isArray(d)&&d.length&&d.forEach(e=>{const n=o.buildClosePayload?.(e,{closeWebcam:!1,reason:String(r?.type||"pagehide").trim().toLowerCase()});n&&l.emit(t.CLOSE,n)})};n.handler=r,window.addEventListener("pagehide",r),window.addEventListener("beforeunload",r)},d.private1to1UnbindUnloadSignal=()=>{const e=u();if(!e.bound)return;"undefined"!=typeof window&&e.handler&&(window.removeEventListener("pagehide",e.handler),window.removeEventListener("beforeunload",e.handler));const t=s();t.releaseAcceptedCallOwner?.(t.resolveLatestActiveCall?.(),{force:!0}),e.handler=null,e.bound=!1},Object.entries(d).forEach(([e,t])=>{if(!e.startsWith("private1to1")||"function"!=typeof t)return;const n=`${e.charAt(11).toLowerCase()}${e.slice(12)}`;a[n]=t}),(0,o.cf)(e,d,{ownerKey:"unload-signal"}),e}])},30981(e,t,n){n.d(t,{B:()=>v});var r=n(96087);const o=Symbol.for("lib.private1to1.video-device-claim-runtime-state"),i=e=>Boolean(e)&&"object"==typeof e,a=e=>Array.isArray(e)?e:null,l=e=>"function"==typeof e?e:null,s=e=>String(e||"").trim(),d=e=>i(e)?(i(e[o])||(e[o]={claimsCache:a(null),storageHandler:l(null),syncStorageKey:s("")}),e[o]):{claimsCache:null,storageHandler:null,syncStorageKey:""},c=(e,t=null)=>{const n=d(e);return n.claimsCache=a(t),n.claimsCache},u=(e,t=null)=>{const n=d(e);return n.storageHandler=l(t),n.storageHandler},g=(e,t="")=>{const n=d(e);return n.syncStorageKey=s(t),n.syncStorageKey},m="storage",v=(e,{dialogLogger:t,resolveCurrentTabId:n=()=>"",normalizeCallSessionId:o=e=>String(e||"").trim(),normalizeMemberId:i=e=>String(e||"").trim(),resolveParticipantStateIdentity:a=(e=null)=>e&&"object"==typeof e?e:{},resolveLatestActiveCall:l=(e=null)=>e,buildVideoDeviceClaimsStorageKey:s=()=>"",ensureScopedRuntime:v=()=>{}}={})=>{const f={},y=()=>d(e),w=(e,t=Date.now())=>{if(!e||"object"!=typeof e||Array.isArray(e))return null;const n=String(e.tabId||"").trim(),r=o(e.callSessionId||""),a=i(e.memberId||""),l=String(e.videoDeviceId||"").trim(),s=Number(e.expiresAt||0);return n&&r&&l&&Number.isFinite(s)&&!(s<=t)?{tabId:n,callSessionId:r,memberId:a,videoDeviceId:l,updatedAt:Number(e.updatedAt||t),expiresAt:s}:null};f.private1to1NormalizeVideoDeviceClaim=w;const p=(e,t=Date.now())=>(Array.isArray(e)?e:[]).map(e=>
1w(e,t)).filter(Boolean),S=(e,t=Date.now())=>{if(!e||"undefined"==typeof window||!window.localStorage)return[];try{const n=window.localStorage.getItem(e);if(!n)return[];const r=JSON.parse(n),o=Array.isArray(r)?r:Array.isArray(r?.claims)?r.claims:[],i=p(o,t);return i.length!==o.length&&(0===i.length?window.localStorage.removeItem(e):window.localStorage.setItem(e,JSON.stringify(i))),i}catch{return[]}},b=(t,n=Date.now())=>c(e,p(t,n)),I=(e=null,t=Date.now())=>{const n=s(e),r=y();if(!n||"undefined"==typeof window||!window.localStorage)return[];if(r.syncStorageKey===n&&Array.isArray(r.claimsCache))return p(r.claimsCache,t);const o=S(n,t);return r.syncStorageKey===n&&b(o,t),o};f.private1to1ReadVideoDeviceClaims=I;const h=(e,t=null)=>{const n=s(t),r=y();if(n&&"undefined"!=typeof window&&window.localStorage)try{const t=Array.isArray(e)?e.filter(Boolean):[];if(0===t.length)return window.localStorage.removeItem(n),void(r.syncStorageKey===n&&b([],Date.now()));window.localStorage.setItem(n,JSON.stringify(t)),r.syncStorageKey===n&&b(t,Date.now())}catch{}};return f.private1to1WriteVideoDeviceClaims=h,f.private1to1InitVideoDeviceClaimSync=(n=null)=>{const r=s(n),o=y();if(!r||"undefined"==typeof window||!window.localStorage)return!1;if(o.storageHandler&&o.syncStorageKey===r)return!0;if(f.private1to1DisposeVideoDeviceClaimSync?.(),g(e,r),b(S(r),Date.now()),"function"!=typeof window.addEventListener)return!0;const i=e=>{const n=y();if(String(e?.key||"").trim()!==n.syncStorageKey)return;let r=[];if(e?.newValue)try{r=p(JSON.parse(e.newValue),Date.now())}catch{r=[]}b(r,Date.now()),t?.debug?.("private1to1 video device claims synced from storage",{storageKey:n.syncStorageKey,claimsCount:n.claimsCache.length})};return u(e,i),window.addEventListener(m,i),!0},f.private1to1DisposeVideoDeviceClaimSync=()=>{const t=y();return"undefined"!=typeof window&&"function"==typeof window.removeEventListener&&t.storageHandler&&window.removeEventListener(m,t.storageHandler),u(e,null),g(e,""),c(e,null),!0},f.private1to1ResolveVideoDeviceClaim=({callSessionId:e="",videoDeviceId:t=""}={},{chat:n=null,now:r=Date.now()}={})=>{const i=o(e),a=String(t||"").trim();return i&&a&&I(n,r).find(e=>e.callSessionId===i&&e.videoDeviceId===a)||null},f.private1to1TryClaimVideoDevice=(e=null,{chat:r=null,ttlMs:s=105e3,videoDeviceId:d="",source:c=""}={})=>{v(r),f.private1to1InitVideoDeviceClaimSync?.(r);const u=n(),g=String(d||"").trim(),m=l(e),y=a(m),w=o(m?.callSessionId||y?.callSessionId||"");if(!(u&&w&&g&&"undefined"!=typeof window&&window.localStorage))return!0;const p=I(r),S=p.find(e=>e.callSessionId===w&&e.videoDeviceId===g&&e.tabId!==u);if(S)return t?.debug?.("private1to1 video device claim skipped: already used by another tab",{source:String(c||"").trim(),callSessionId:w,ownerTabId:S.tabId,ownerMemberId:S.memberId,memberId:y?.memberId||"",videoDeviceId:g}),!1;const b=Date.now(),A=Number.isFinite(Number(s))&&Number(s)>0?Number(s):105e3,D=p.filter(e=>!(e.callSessionId===w&&e.tabId===u));return D.push({tabId:u,callSessionId:w,memberId:i(y?.memberId||""),videoDeviceId:g,updatedAt:b,expiresAt:b+A}),h(D,r),!0},f.private1to1ReleaseVideoDeviceClaim=(e=null,{chat:t=null,force:r=!1,videoDeviceId:i=""}={})=>{const a=I(t);if(!a.length)return!1;const s=n();if(!r&&!s)return!1;const d=l(e),c=o(d?.callSessionId||""),u=String(i||"").trim();if(!r&&!c&&!u)return!1;let g=!1;const m=a.filter(e=>{const t=r||e.tabId===s,n=!c||e.callSessionId===c,o=!u||e.videoDeviceId===u,i=t&&n&&o;return i&&(g=!0),!i});return!!g&&(h(m,t),!0)},(0,r.cf)(e,f,{ownerKey:"video-device-claim-runtime"}),e}}}]);
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.