Loading
function(e,t,n){n.d(t,{A:()=>x});var i=n(17928),l=n(713402),s=n(228366),r=n(725613),a=n(734057),o=n(994500),u=n(287809),d=n(977997),c=n(898926);function h(e,t){return`voice-activity-${e}-${t}`}function g(e){return`voice-user-${e}`}let f="past";function A(e){switch(e.eventType){case c.i.USER_JOINED:return["present-user",e.userId];case c.i.USER_LEFT:return[f,e.userId];case c.i.ACTIVITY_STARTED:return["present-activity",e.userId];case c.i.ACTIVITY_ENDED:return[f,e.userId];default:return[]}}function E(e){return-e.timestamp}let I=new Map,S=new Map,m=new Map,p=new Map,C=[];function _(e){let t=I.get(e);if(null==t)return;let n=t.values(f,!0);if(!(n.length<=100))for(let e of n.slice(100))t.delete(e.key)}function N(e){let t=I.get(e),n=m.get(e),i=t?.values(f).find(e=>e.eventType===c.i.USER_LEFT&&!o.A.isBlockedOrIgnored(e.userId));if(null!=i){if(m.set(e,i.userId),n!==i.userId)return!0}else if(m.delete(e),null!=n)return!0;return!1}function T(e){let t=I.get(e)?.values(f)??[],n=p.get(e)??C,i=t.filter(e=>!o.A.isBlockedOrIgnored(e.userId));return p.set(e,i.length>0?i:C),i.length!==n.length}function v(e,t){let n=g(t),i=I.get(e);return null!=i&&(i.set(n,{userId:t,timestamp:Date.now(),eventType:c.i.USER_JOINED,key:n}),!0)}function M(e,t,n){let i=g(t),l=I.get(e);if(null==l)return!1;let s=l.get(i);if(null==s)return null!=n&&(l.set(i,{userId:t,key:i,eventType:c.i.USER_LEFT,timestamp:n}),_(e),!0);if(null!=n&&(s.eventType===c.i.USER_JOINED||s.timestamp>=n))return!1;let r=n??Date.now();return l.set(i,{userId:t,key:i,eventType:c.i.USER_LEFT,timestamp:r}),_(e),!0}function D(){let e=function(){let e=!1;for(let t of I.keys())e=N(t)||e;return e}();return function(){let e=!1;for(let t of I.keys())e=T(t)||e;return e}()||e}class y extends i.Ay.Store{initialize(){this.waitFor(a.A,r.A,d.A,o.A,u.default)}__getLocalVars=()=>({channelEventMaps:I,lastLeftUserIds:m});getLastLeftUserId(e){return m.get(e)}getHistory(e){return p.get(e)??C}getHistoryVersion(e){return I.get(e)?.version??0}getHistoryExists(e){return I.has(e)}getLastFetchTime(e){return S.get(e)}}let x=new y(s.h,{VOICE_CHANNEL_SELECT:function(e){let t=u.default.getCurrentUser()?.id,{channelId:n,currentVoiceChannelId:i}=e;if(null==t||null==i||n===i)return!1;let l=M(i,t);return l&&(N(i),T(i)),l},VOICE_STATE_UPDATES:function(e){let t=!1,n=new Set,i=e.voiceStates.filter(e=>null!=e.oldChannelId&&I.has(e.oldChannelId)),l=e.voiceStates.filter(e=>null!=e.channelId&&I.has(e.channelId));return new Set(i.map(e=>e.oldChannelId).filter(e=>null!=e)).forEach(e=>{var t;let n;0===Object.keys(d.A.getVoiceStatesForChannel(e)).length&&(t=e,null!=(n=I.get(t))&&n.clear(),m.delete(t),p.delete(t))}),i.forEach(e=>{let{userId:i,oldChannelId:l}=e,s=null!=l?I.get(l):null;null!=l&&null!=s&&s.values().length>0&&M(l,i)&&(t=!0,n.add(l))}),l.forEach(e=>{let{userId:i,channelId:l}=e;null!=l&&I.has(l)&&v(l,i)&&(t=!0,n.add(l))}),n.forEach(N),n.forEach(T),t},CHANNEL_DELETE:function(e){let{channel:t}=e;return!!I.has(t.id)&&(I.delete(t.id),S.delete(t.id),m.delete(t.id),p.delete(t.id),!0)},VOICE_CHANNEL_HISTORY_START_TRACKING:function(e){let{channelId:t}=e;if(!I.has(t))return I.has(t)||(I.set(t,new l.J(A,E)),Object.values(d.A.getVoiceStatesForChannel(t)).forEach(e=>{v(t,e.userId)})),!0;return!1},VOICE_CHANNEL_HISTORY_FETCH_COMPLETE:function(e){let{channelId:t,voiceLeaves:n,activities:i}=e,l=I.get(t);if(null==l)return!1;let s=!1;for(let{userId:e,leftAt:i}of n)s=M(t,e,i)||s;let r=new Set(i.map(e=>{let{userId:t,applicationId:n,applicationName:i}=e;return h(t,n??i)}));for(let e of l.values(f))e.eventType!==c.i.ACTIVITY_ENDED||r.has(e.key)||(s=l.delete(e.key)||s);for(let{userId:e,applicationId:n,applicationName:l,endedAt:r}of i)s=function(e,t,n,i,l){let s=n??i;if(null==s)return!1;let r=I.get(e);if(null==r)return!1;let a=h(t,s);return r.set(a,{userId:t,key:a,timestamp:l,applicationId:n,applicationName:i,activityType:"PLAYED_GAME",eventType:c.i.ACTIVITY_ENDED}),_(e),!0}(t,e,n,l,r)||s;return s&&(N(t),T(t)),s},VOICE_CHANNEL_HISTORY_UPDATE_LAST_FETCH_TIME:function(e){let{channelId:t,timestamp:n}=e;S.set(t,n)},CONNECTION_OPEN:function(){return 0!==I.size&&(I.clear(),S.clear(),m.clear(),p.clear(),!0)},RELATIONSHIP_UPDATE:D,RELATIONSHIP_ADD:D,RELATIONSHIP_REMOVE:D,LOAD_RELATIONSHIPS_SUCCESS:D})}