@streamlayer/sdk-web 0.33.2 → 0.33.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const jn=require("pino"),I=require("@streamlayer/sl-eslib/interactive/interactive.common_pb"),nt=require("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb"),R=require("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb"),it=require("@streamlayer/sl-eslib/analytics/v1/invitations/invitations_pb"),X=require("nanostores"),qt=require("nanoid"),M=require("@connectrpc/connect"),yr=require("@connectrpc/connect-web"),gr=require("@nanostores/query"),Mn=require("@streamlayer/sl-eslib/sports/events/events_connect"),Xe=require("@streamlayer/sl-eslib/sdkSettings/client/client_connect"),rr=require("@streamlayer/sl-eslib/users/users_connect"),me=require("@streamlayer/sl-eslib/interactive/feed/interactive.feed_connect"),Gr=require("@streamlayer/sl-eslib/interactive/leaderboard/interactive.leaderboard_connect");require("@streamlayer/sl-eslib/interactive/leaderboard/interactive.leaderboard_pb");const Un=require("@streamlayer/sl-eslib/shortLinks/linksClient_connect"),v=require("@streamlayer/sl-eslib/analytics/v1/common/analytics.common_pb"),Kr=require("@streamlayer/sl-eslib/analytics/v2/streaming/streaming_connect"),mr=require("@streamlayer/sl-eslib/analytics/v1/interactions/interactions_pb"),Y=require("@streamlayer/sl-eslib/analytics/v1/notifications/notifications_pb");function qn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var zr={exports:{}},j=zr.exports={},te,re;function xt(){throw new Error("setTimeout has not been defined")}function Bt(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?te=setTimeout:te=xt}catch{te=xt}try{typeof clearTimeout=="function"?re=clearTimeout:re=Bt}catch{re=Bt}})();function Hr(t){if(te===setTimeout)return setTimeout(t,0);if((te===xt||!te)&&setTimeout)return te=setTimeout,setTimeout(t,0);try{return te(t,0)}catch{try{return te.call(null,t,0)}catch{return te.call(this,t,0)}}}function xn(t){if(re===clearTimeout)return clearTimeout(t);if((re===Bt||!re)&&clearTimeout)return re=clearTimeout,clearTimeout(t);try{return re(t)}catch{try{return re.call(null,t)}catch{return re.call(this,t)}}}var de=[],je=!1,Te,at=-1;function Bn(){!je||!Te||(je=!1,Te.length?de=Te.concat(de):at=-1,de.length&&Wr())}function Wr(){if(!je){var t=Hr(Bn);je=!0;for(var e=de.length;e;){for(Te=de,de=[];++at<e;)Te&&Te[at].run();at=-1,e=de.length}Te=null,je=!1,xn(t)}}j.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];de.push(new Jr(t,e)),de.length===1&&!je&&Hr(Wr)};function Jr(t,e){this.fun=t,this.array=e}Jr.prototype.run=function(){this.fun.apply(null,this.array)};j.title="browser";j.browser=!0;j.env={};j.argv=[];j.version="";j.versions={};function he(){}j.on=he;j.addListener=he;j.once=he;j.off=he;j.removeListener=he;j.removeAllListeners=he;j.emit=he;j.prependListener=he;j.prependOnceListener=he;j.listeners=function(t){return[]};j.binding=function(t){throw new Error("process.binding is not supported")};j.cwd=function(){return"/"};j.chdir=function(t){throw new Error("process.chdir is not supported")};j.umask=function(){return 0};var Qn=zr.exports;const w=qn(Qn),Gn=jn.pino({level:"trace",enabled:!!window.localStorage.getItem("SL_DEBUG"),browser:{write:t=>{console.log(t)}}}),be=(t,e)=>Gn.child({name:t},e);class Kn extends Event{slEventBus;constructor(e,r){super(e),this.slEventBus=r}}const zn=be("event-bus");class Hn{name;listeners;constructor(e="sl-event-bus"){this.name=e,this.listeners=new Set}emit=(e,r)=>{const n=new Kn(this.name,{...r,type:e});zn.debug(n,"Emitting event"),window.dispatchEvent(n)};listen(e){return window.addEventListener(this.name,e),this.listeners.add(e),()=>{this.off(e)}}off(e){window.removeEventListener(this.name,e),this.listeners.delete(e)}destroy=()=>{this.listeners.forEach(e=>{window.removeEventListener(this.name,e),this.listeners.delete(e)}),this.listeners.clear()}}class Wn{}window.slStore=Object.create(null);class vt{store;name;constructor(e,r){this.store=e,this.name=r}getStore(){return this.store}}const Jn=t=>{const e=Object.keys(t);return X.computed(e.map(r=>t[r].getStore()),(...r)=>Object.fromEntries(e.map((n,i)=>[n,r[i]])))};class Ae extends vt{getValues=()=>this.getStore().get();getValue=e=>this.getStore().get()[e];setValue=(e,r)=>this.getStore().setKey(e,r);subscribe=(...e)=>this.getStore().subscribe(...e);unsubscribe=()=>this.getStore().off()}const ie=t=>X.map(t);var ue;(function(t){t.ORGANIZATION="ORGANIZATION",t.STREAM="STREAM"})(ue||(ue={}));const Yn={[R.SdkOverlayType.BETTING]:"betting",[R.SdkOverlayType.GAMES]:"games",[R.SdkOverlayType.PUBLIC_CHAT]:"publicChat",[R.SdkOverlayType.TWITTER]:"twitter"};var ze;(function(t){t.Ready="ready",t.Suspended="suspended"})(ze||(ze={}));class Yr{status;source;config;settings;listeners=new Set;settingsKey;constructor({settings:e,...r},n){this.settingsKey=Yn[r.type],this.status=X.atom(ze.Suspended),this.config=new Ae(ie(r),`feature:config:${this.settingsKey}`),this.settingsKey!==void 0&&e?.overlaySettings.case===this.settingsKey?this.settings=new Ae(ie(e.overlaySettings.value),`feature:settings:${this.settingsKey}`):this.settings=new Ae(ie({}),`feature:settings:${this.settingsKey}`),this.source=n}get featureConfig(){return this.config.getStore()}get featureSettings(){return this.settings.getStore()}registerEventListener(e){this.listeners.add(e)}enable=()=>{this.status.set(ze.Ready)};disable=()=>{this.status.set(ze.Suspended)};setFeatureConfig=({settings:e,...r})=>{let n;for(n in r)this.config.setValue(n,r[n]);if(e?.overlaySettings?.case!==void 0&&e?.overlaySettings.case===this.settingsKey){const i=e.overlaySettings.value;if(i!==void 0){let o;for(o in i)i[o]!==0&&i[o]!==""&&this.settings.setValue(o,i[o])}}};update=(e,r)=>{this.source===ue.STREAM&&r===ue.ORGANIZATION||(this.setFeatureConfig(e),this.source=r)};fireEvent(e){for(const r of this.listeners.values())try{r.onEvent(e)}catch(n){console.error(n)}}}class H extends vt{getValue=()=>this.getStore().get();getValues(){throw new Error("not implemented")}setValue=e=>this.getStore().set(e);subscribe=e=>this.getStore().subscribe(e);unsubscribe=()=>this.getStore().off();listen(e){return this.getStore().listen(e)}get(){return this.getStore().get()}}const Q=t=>X.atom(t);class pe extends vt{atomStore;constructor(e,r,n){super(e,`api:${r}`),this.atomStore=X.atom(),n&&e.subscribe(i=>{const o=this.atomStore.get(),s=n(i,o);o!==s&&this.atomStore.set(s)})}getAtomStore=()=>this.atomStore;getValue=async()=>{const e=this.getStore();if(e.value===void 0)throw new Error("no store");return await e.value.promise,e.get().data};getValues=()=>this.getStore().get();setValue=e=>this.getStore().set({loading:!1,data:e?.data});subscribe=e=>this.getStore().subscribe(e);unsubscribe=()=>{throw new Error("not implemented")};invalidate=()=>{this.store.invalidate()};listen=e=>this.getStore().listen(e);get(){throw new Error("not implemented")}key=()=>this.getStore().key;off=()=>this.getStore().off()}const fe=new Hn;async function*Xn(t,e){for await(const r of e){t.response.message=r,t.received_at=Date.now();const n={type:"__GRPC_DEVTOOLS_EXTENSION__",data:t};window.postMessage(n),yield r}}const Zn=()=>t=>async e=>{const r={name:e.url,stream:e.stream,sent_at:Date.now(),request:{header:Object.fromEntries(e.header.entries())},response:{}};try{const n=await t(e);if(r.received_at=Date.now(),r.response.header=Object.fromEntries(n.header.entries()),r.response.trailer=Object.fromEntries(n.trailer.entries()),e.stream){r.request.message=e.message;const i={type:"__GRPC_DEVTOOLS_EXTENSION__",data:{...r,stream:!1}};return window.postMessage(i),{...n,message:Xn(r,n.message)}}else{r.request.message=e.message,r.response.message=n.message,r.latency=r.received_at-r.sent_at;const i={type:"__GRPC_DEVTOOLS_EXTENSION__",data:r};window.postMessage(i)}return n}catch(n){r.received_at=Date.now(),r.request.message=e.message,r.response.trailer={"grpc-status":n.code,"grpc-message":n.rawMessage},r.response.message=n.rawMessage,r.latency=r.received_at-r.sent_at;const i={type:"__GRPC_DEVTOOLS_EXTENSION__",data:r};throw window.postMessage(i),n}};window.dispatchEvent(new CustomEvent("grpc_devtools_loaded"));var J;(function(t){t.Init="init",t.Ready="ready",t.Connecting="connecting",t.Connected="connected",t.Disconnected="disconnected",t.Failed="failed",t.Reconnect="reconnect",t.Reconnecting="reconnecting"})(J||(J={}));class ei{params;streamCancel;method;options;headers;listeners;state;store;paramsListener;reconnectTimeout;attempt=0;constructor(e,r,n,i){const o={status:J.Init,ts:new Date,log:[]};this.state=new Ae(ie(o),`subscription:${i.name}:state`),this.options={...i,reconnectDelay:i.reconnectDelay??1e3,reconnectMaxDelay:i.reconnectMaxDelay??3e4,reconnectMaxAttempts:i.reconnectMaxAttempts??10,withStore:i.withStore??!1},this.headers=e,this.listeners=new Map,this.params=n,this.method=r,i.withStore&&(this.store=new H(Q(null),`subscription:${i.name}:store`)),"subscribe"in n&&typeof n.subscribe=="function"&&(this.paramsListener=n.subscribe(s=>{this.state.getValue("status")===J.Connected&&(this.addStateLog(`params updated, reconnect => ${JSON.stringify(s)}`),this.reconnect())})),this.updateState(J.Ready)}updateState=e=>{this.state.setValue("status",e),this.state.setValue("ts",new Date),this.addStateLog(`status => ${e}`)};addStateLog=e=>{const r=this.state.getStore().get().log,n=`${this.options.name} ${new Date().toISOString()}: ${e}`;r.push(n),this.state.setValue("log",r),window.sessionStorage.setItem("slstreamlogs",window.sessionStorage.getItem("slstreamlogs")+`
2
- `+n)};addListener=(e,r)=>this.listeners.has(e)?(this.addStateLog(`listener '${e}' not added, already exists`),()=>{}):(this.listeners.set(e,r),this.addStateLog(`listener '${e}' added`),()=>this.removeListener(e));removeListener=e=>{this.listeners.delete(e),this.addStateLog(`listener '${e}' removed`)};connect=()=>{this.updateState(J.Connecting),this.streamCancel&&(this.addStateLog("disconnect prev connection"),this.streamCancel.abort(),this.streamCancel=void 0);const e="get"in this.params&&typeof this.params.get=="function"?this.params.get():this.params;(async()=>{this.streamCancel=new AbortController;try{const n={headers:this.headers.getValues(),signal:this.streamCancel.signal},i=this.method(e,n);for await(const o of i)this.attempt=0,this.onData(o)}catch(n){n instanceof M.ConnectError&&n.code!=M.Code.Canceled&&this.onStreamError(n)}})(),this.updateState(J.Connected)};disconnect=()=>{this.streamCancel&&this.streamCancel.abort(),this.listeners.clear(),this.paramsListener?.(),clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0,this.updateState(J.Disconnected)};reconnect=()=>{if(this.reconnectTimeout)this.addStateLog("already reconnecting");else if(this.attempt<this.options.reconnectMaxAttempts){this.updateState(J.Reconnect);const e=Math.min(this.options.reconnectMaxDelay,Math.pow(2,this.attempt)*this.options.reconnectDelay),r=Math.round(e*(1+Math.random())/2);this.reconnectTimeout=setTimeout(()=>{this.attempt++,this.updateState(J.Reconnecting),this.addStateLog(`reconnect attempt ${this.attempt} after ${r}ms`),this.connect(),this.reconnectTimeout=void 0},r)}else this.addStateLog("max reconnect attempts reached"),this.disconnect()};getStore=()=>this.store?.getStore();onData=e=>{try{this.addStateLog(`received data => ${JSON.stringify(e)}`),this.store&&this.store.setValue(e);for(const[,r]of this.listeners)r(e);this.addStateLog(`data routed to ${this.listeners.size} listeners`)}catch(r){this.addStateLog(`error process data => ${r}`)}};onStreamError=e=>{if(this.addStateLog(`error => ${e?JSON.stringify(e):"undefined"}}`),e!==void 0){if(e instanceof M.ConnectError&&e.code!==M.Code.Canceled){this.updateState(J.Failed),this.state.setValue("error",e),this.reconnect();return}this.disconnect()}}}const ti=new Set([M.Code.Unknown,M.Code.Internal,M.Code.DeadlineExceeded,M.Code.ResourceExhausted,M.Code.FailedPrecondition,M.Code.Unavailable,M.Code.DataLoss]),br=be("grpc:retry"),ri=t=>async e=>{const r=e.contextValues.get(Qt.retryAttempts),n=300,i=e.contextValues.get(Qt.retryDelay);if(e.stream||r===0)return t(e);br.trace({url:e.url,attempts:r,maxDelay:i},"retry options");for(let o=0;;o++)try{return await t(e)}catch(s){br.trace({attempt:o,error:s},"retry attempt");const a=M.ConnectError.from(s);if(o>=r||!(a instanceof M.ConnectError)||!ti.has(a.code))throw s;const u=Math.min(i,Math.pow(2,o)*n),d=Math.round(u*(1+Math.random())/2);await new Promise(c=>setTimeout(c,d))}},Qt={retryAttempts:M.createContextKey(5,{description:"Number of attempts to retry"}),retryDelay:M.createContextKey(3e4,{description:"Max delay between retries in milliseconds"})},ni=()=>{const t=localStorage.getItem("sl-device-id");if(t)return t;const e=qt.nanoid();return localStorage.setItem("sl-device-id",e),e},ii=()=>navigator.userAgentData?.platform||navigator.platform;class vr{toJsonOptions={emitDefaultValues:!1,enumAsInteger:!0,useProtoFieldName:!1};transport;streamTransport;nanoquery;host;$headers;interceptors=[];clients;streamClients;subscriptions;opts;constructor(e,r){this.host=e,this.opts=r,this.$headers=new Ae(ie({"sl-device-id":ni(),"sl-device-os":ii()}),"transport:headers"),this.initInterceptors(),this.clients=new Map,this.streamClients=new Map,this.subscriptions=new Map;const[n,i,o]=gr.nanoquery({dedupeTime:r?.dedupeTime,refetchInterval:r?.refetchInterval});this.nanoquery={createFetcherStore:n,createMutatorStore:i,utils:o},this.transport=yr.createGrpcWebTransport({baseUrl:e,defaultTimeoutMs:1e4,interceptors:this.interceptors,useBinaryFormat:!0}),this.streamTransport=yr.createGrpcWebTransport({baseUrl:e,interceptors:this.interceptors,useBinaryFormat:!0})}addSubscription=(e,r,n)=>{const i=this.subscriptions.get(r);if(i)return i;const o=new ei(this.$headers,e,r,n);return this.subscriptions.set(r,o),o};removeSubscription=e=>{e.disconnect(),this.subscriptions.delete(e.params)};disconnect=()=>{for(const[i,o]of this.subscriptions)o.disconnect(),this.subscriptions.delete(i);this.clients.clear(),this.streamClients.clear(),this.subscriptions.clear();const[e,r,n]=gr.nanoquery({dedupeTime:1e3*60*5,refetchInterval:1e3*60*5});this.nanoquery={createFetcherStore:e,createMutatorStore:r,utils:n}};registerInterceptor=e=>{this.interceptors.push(e)};removeInterceptor=e=>{this.interceptors=this.interceptors.filter(r=>r!==e)};getClient=e=>{const r=e.typeName;if(this.clients.has(r))return this.clients.get(r);const n=M.createPromiseClient(e,this.transport);return this.clients.set(r,n),n};getStreamClient=e=>{const r=`stream-${e.typeName}`;if(this.clients.has(r))return this.clients.get(r);const n=M.createPromiseClient(e,this.streamTransport);return this.clients.set(r,n),n};createPromiseClient=(e,{params:r=[],method:n})=>{const i=this.getClient(e),o=e.methods[n].name,s=[e.typeName,o.charAt(0).toLowerCase()+o.slice(1),...Array.isArray(r)?r:[r]],a=[e.typeName,o.charAt(0).toLowerCase()+o.slice(1)];return{client:i,createRequestOptions:d=>{const c=M.createContextValues();for(const f in d){const h=Qt[f];c.set(h,d[f])}return c},queryKey:s,queryKeyStr:a.join("")}};createStreamClient=e=>({client:this.getStreamClient(e)});setSdkKey=e=>{this.$headers.setValue("sdk",e)};setAuth=(e,r)=>{this.$headers.setValue("authorization",e),this.$headers.setValue("sl-user-id",r)};setHeader=(e,r)=>this.$headers.setValue(e,r);getHeader=e=>this.$headers.getValue(e);getHeaders=()=>this.$headers.getValues();initInterceptors=()=>{if(this.interceptors.length!==0)return;const e=r=>n=>{const i=this.$headers.getValues();for(const o in i)n.header.set(o,i[o]);return r(n)};this.interceptors.push(e),this.interceptors.push(Zn()),this.opts?.retryable&&this.interceptors.push(ri)}}const oi=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Mn.Events,{method:"retrieveEventId",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>{if(!s||typeof s!="string")return"";try{return(await r.retrieveEventId({id:s})).data?.id||""}catch{return""}}})},si=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Xe.Client,{method:"getStream",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>s?(await r.getStream({id:s})).data?.attributes:void 0})},ai=(t,e)=>{const{queryKey:r,client:n}=e.createPromiseClient(rr.Users,{method:"me",params:[t]});return e.nanoquery.createFetcherStore(r,{fetcher:()=>n.me({})})},ui=t=>{const{client:e,createRequestOptions:r}=t.createPromiseClient(rr.Users,{method:"bypassAuth"}),n=r({retryAttempts:0});return({userKey:i,schema:o,init:s,inviterKey:a})=>e.bypassAuth({userKey:i,schema:o,init:s,inviterKey:a},{contextValues:n})},ci=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Xe.Client,{method:"get",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async()=>(await r.get({})).data?.attributes})},li=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Xe.Client,{method:"getOrganization",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async()=>{const i=await r.getOrganization({});return i.data?{...i.data.attributes,id:i.data.id}:void 0}})},di=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Xe.Client,{method:"getOrganizationAdvertising",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async()=>(await r.getOrganizationAdvertising({})).data?.attributes})},fi=(t,e,r)=>{t.transport=new vr(e.host,{dedupeTime:1e3*60*5,refetchInterval:1e3*60*5,retryable:!0}),t.analyticsTransport=new vr(e.analyticsHost),t.sdk.host=t.transport.host,t.transport.setSdkKey(e.sdkKey),t.transport.setHeader("sl-sdk-version",e.version||"-"),t.transport.$headers.subscribe(n=>{t.analyticsTransport.$headers.getStore().set(n)}),t.sdk.onMount(()=>()=>{t.transport.disconnect(),t.analyticsTransport.disconnect()}),r()};class St{delimiter=":";prefix;storage;constructor(e="main",r=window.localStorage){this.prefix=`sl-sdk${this.delimiter}${e}`,this.storage=r}clear=()=>{for(const e in window.localStorage)e.startsWith(this.prefix)&&this.storage.removeItem(e)};generateKey=e=>`${this.prefix}${this.delimiter}${e.join(this.delimiter)}`;write=(...e)=>{const r=e.pop()||"";this.storage.setItem(this.generateKey(e),r)};read=(...e)=>{const r=this.storage.getItem(this.generateKey(e));return r===null?void 0:r};remove=(...e)=>{this.storage.removeItem(this.generateKey(e))}}var ae;(function(t){t.SCHEMA="schema",t.EXTERNAL_TOKEN="eToken",t.TOKEN="token"})(ae||(ae={}));class Re extends St{constructor(){super("user")}setSchema=e=>{this.write(ae.SCHEMA,e)};getSchema=()=>this.read(ae.SCHEMA);setToken=e=>{this.write(ae.TOKEN,e)};getToken=()=>this.read(ae.TOKEN);setExternalToken=e=>{this.write(ae.EXTERNAL_TOKEN,e)};getExternalToken=()=>this.read(ae.EXTERNAL_TOKEN);removeToken=()=>{this.remove(ae.TOKEN)}}var ce;(function(t){t.DISABLED="disabled",t.INITIALIZATION="initialization",t.READY="ready",t.FAILED="failed",t.SUSPENDED="suspended"})(ce||(ce={}));const pi=t=>{const e=new Re,r=new H(Q(e.getExternalToken()),"userKey"),n=new H(Q(e.getToken()),"userToken"),i=new pe(ai(n.getStore(),t),"user",({data:s,error:a,loading:u},d)=>{if(!a)return s?.data?.id?s.data.id:u===!1?void 0:d}),o=new pe(ci(n.getStore(),t),"userSettings");return{userKey:r,userToken:n,user:i,userSettings:o}},hi=t=>{const e=new H(Q(void 0),"providerStreamId"),r=new pe(oi(e.getStore(),t),"slStreamId",i=>i?.data),n=new pe(si(r.getAtomStore(),t),"streamSettings");return r.getAtomStore().listen(i=>{(i===""||i===void 0)&&n.getStore().mutate(void 0)}),{providerStreamId:e,slStreamId:r,streamSettings:n}},yi=t=>{const e=new H(Q(void 0),"enabled"),r=new H(Q(ce.DISABLED),"status"),n=new pe(li(e.getStore(),t),"organizationSettings",a=>a?.data?.id),i=new pe(di(n.getAtomStore(),t),"organizationAdvertising"),o=pi(t),s=hi(t);return{enabled:e,status:r,providerStreamId:s.providerStreamId,slStreamId:s.slStreamId,streamSettings:s.streamSettings,user:o.user,userKey:o.userKey,userToken:o.userToken,userSettings:o.userSettings,organizationSettings:n,organizationAdvertising:i}};class gi extends vt{stores;constructor(e){const r=yi(e),n=Jn(r);super(n,"core"),this.stores=r}getValue(){throw new Error("Not implemented")}getValues(){return this.stores}setValue(){throw new Error("Not implemented")}subscribe=e=>{let r;for(r in this.stores){const n=e[r];r in e&&n!==void 0&&this.stores[r].subscribe(e[r])}};unsubscribe=()=>this.getStore().off()}const mi=(t,e,r)=>{t.store=new gi(t.transport),t.stores=t.store.getValues(),t.sdk.enabled=t.stores.enabled.getStore(),t.sdk.status=t.stores.status.getStore(),t.sdk.sdkStore=Object.fromEntries(Object.entries(t.stores).map(([n,i])=>[n,i.getStore()])),t.sdk.organizationStore=()=>t.stores.organizationSettings.getStore(),t.sdk.streamStore=()=>t.stores.streamSettings.getStore(),t.storeUnsubscribe=()=>{t.store.unsubscribe()},r()},bi=t=>{const{client:e}=t.createPromiseClient(Gr.Leaderboard,{method:"list"});return r=>e.list(r)},Xr=t=>{const{client:e}=t.createPromiseClient(Gr.Leaderboard,{method:"summary"});return r=>e.summary(r)},vi=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(rr.Users,{method:"getFriends",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>s?(await r.getFriends({})).data:[]})},Si=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(me.Feed,{method:"get",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>(await r.get({eventId:s})).data?.attributes,refetchInterval:0,dedupeTime:1e3*60*60})},wi=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(me.Feed,{method:"syncQuestion",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>s?(await r.syncQuestion({filter:{eventId:s}})).data?.attributes:void 0,dedupeTime:1e3*60*10,refetchInterval:0})},Ti=(t,e)=>{const{client:r}=e.createStreamClient(me.Feed),n=X.atom({eventId:t.get()||"",feedId:""});return t.subscribe((o="")=>{n.set({eventId:o,feedId:""})}),e.addSubscription(r.subscription,n,{name:"feedSubscription"})},Ai=(t,e)=>{const{client:r}=e.createStreamClient(me.Feed);return e.addSubscription(r.questionSubscription,{questionId:t},{name:"questionSubscription"})},Gt=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(me.Feed,{method:"questionByUser",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>(await r.questionByUser({questionId:s})).data?.attributes?.question,dedupeTime:1e3*60*5})},Ei=(t,e,r)=>{const{client:n,queryKey:i}=r.createPromiseClient(me.Feed,{method:"list",params:[t,e]});return r.nanoquery.createFetcherStore(i,{fetcher:async(o,s,a,u)=>a?(await n.list({eventId:a,filter:{types:u===Ee.ALLOWED?[]:[I.QuestionType.FACTOID,I.QuestionType.PROMOTION,I.QuestionType.TWEET],statuses:[I.QuestionStatus.ACTIVE,I.QuestionStatus.RESOLVED]}})).data:[],dedupeTime:0,refetchInterval:0})},Ii=(t,e,r)=>{const n=X.batched([e,r],()=>{const a=e.get();if(!a)return;const u=r.get().data?.find(c=>c.id===a?.questionId),d=a?.question?.openedFrom;return u?(u.openedFrom=d,u):a.question}),i=X.batched(n,a=>a&&a.type==="question"?a.id:void 0),o=Gt(i,t);return{$store:n,$extendedStore:o,updateExtendedQuestion:a=>{const u=o.get().data,d=(c,f)=>{if(!c||!f)return c||f||[];const h=[];for(let m=0;m<c.length;m++)h.push({...c[m],...f[m],correct:c[m].correct,youVoted:c[m].youVoted,pointsEarned:c[m].pointsEarned});return h};o.mutate({...a,options:u?.options,subject:u?.subject,appearance:u?.appearance,answers:d(u?.answers,a?.answers)})}}};var Ee;(function(t){t.ALLOWED="allowed",t.DISALLOWED="disallowed"})(Ee||(Ee={}));class Oi{slStreamId;organizationId;userId;interactiveAllowed;openedQuestionId;openedQuestion;activeQuestionId;feedList;moderationId;moderation;feedSubscription;questionSubscription;notifications;log;transport;cancels=new Set;constructor(e){this.transport=e.transport,this.log=be("gamification-background"),this.slStreamId=e.stores.slStreamId.getAtomStore(),this.organizationId=e.stores.organizationSettings.getAtomStore(),this.userId=e.stores.user.getAtomStore(),this.moderationId=new H(Q(void 0),"moderationId").getStore(),this.interactiveAllowed=new H(Q(Ee.DISALLOWED),"interactiveAllowed").getStore(),this.openedQuestionId=new H(Q(void 0),"openedQuestionId").getStore(),this.notifications=e.notifications,this.moderation=new pe(Si(this.slStreamId,e.transport),"gamification:moderation"),this.feedList=new pe(Ei(this.slStreamId,this.interactiveAllowed,e.transport),"gamification:feedList"),this.activeQuestionId=wi(this.slStreamId,e.transport),this.openedQuestion=Ii(e.transport,this.openedQuestionId,this.feedList.getStore()),this.cancels.add(this.openedQuestionId.listen(r=>{this.log.debug({item:r},"received question"),r?.questionId?(this.questionSubscription=Ai(r.questionId,e.transport),this.questionSubscription.addListener("feed-subscription-opened-question",n=>{this.openedQuestion.updateExtendedQuestion(n.data?.attributes?.question)}),this.questionSubscription.connect()):(this.log.info("cleanup on close question"),this.questionSubscription!==void 0&&(e.transport.removeSubscription(this.questionSubscription),this.questionSubscription=void 0))})),this.feedSubscription=Ti(this.slStreamId,e.transport),this.cancels.add(this.feedSubscription.addListener("feed-subscription-active-question",r=>{const n=this.activeQuestionId.get().data?.question?.id,i=r.data?.attributes?.question;i&&(n&&i.status===I.QuestionStatus.RESOLVED&&i.id!==n||this.activeQuestionId.mutate(r.data?.attributes))})),this.cancels.add(this.feedSubscription.addListener("moderation update",r=>{window.requestAnimationFrame(()=>{r.data?.attributes?.question===void 0&&r.data?.attributes?.moderation&&this.moderation.invalidate()})})),this.feedSubscription.connect(),this.cancels.add(this.interactiveAllowed.listen(()=>{window.requestAnimationFrame(()=>{this.activeQuestionId.invalidate()})})),e.sdk.onMount(()=>()=>{this.activeQuestionId.off();for(const r of this.cancels)r(),this.cancels.delete(r)})}getCurrentSessionId=e=>{const r=e.eventId||this.slStreamId.get()||"",n=e.userId||this.userId.get()||"",i=e.organizationId||this.organizationId.get()||"",o=e.entity||"",s=e.prefix||"";return[i,r,n,s,o].join(":")};disconnect=()=>{this.feedSubscription?.disconnect(),this.questionSubscription!==void 0&&(this.transport.removeSubscription(this.questionSubscription),this.questionSubscription=void 0)};openQuestion=(e,r)=>{this.openedQuestionId.set({questionId:e,question:r}),this.notifications.markAsViewed(this.getCurrentSessionId({prefix:"notification",entity:e}))};closeQuestion=e=>{this.openedQuestionId.set(void 0),e&&this.notifications.markAsViewed(this.getCurrentSessionId({prefix:"notification",entity:e}))}}class Ci{notificationsList;store;timeouts;waitingQueue;activeQueue;options;logger;constructor(e){this.options=e,this.logger=be("notifications"),this.store=new Map,this.timeouts=new Map,this.waitingQueue=new Set,this.activeQueue=new Set,this.notificationsList=Q(new Map)}addToQueue=e=>{if(this.store.has(e.id)){this.logger.debug({notification:e},"skip existed notification: %o");return}const r=e.close,n=e.action;if(this.store.set(e.id,{...e,close:(...i)=>{r&&r(...i),this.closeNotification(e.id)},action:(...i)=>{n&&n(...i),this.closeNotification(e.id)}}),this.waitingQueue.add(e.id),this.activeQueue.size===this.options.concurrency){const[i]=this.activeQueue;if(this.store.get(i)?.persistent!==!0)this.closeNotification(i);else{const[s]=this.waitingQueue;this.waitingQueue.size>1&&this.closeNotification(s),this.tickWaitingQueue()}}else this.tickWaitingQueue()};tickWaitingQueue=()=>{if(this.activeQueue.size<this.options.concurrency){const[e]=this.waitingQueue;if(!e)return;this.activeQueue.add(e),this.waitingQueue.delete(e),this.logger.debug({job:e},"waiting queue tick"),this.tickActiveQueue(e)}else this.logger.debug({queueSize:this.activeQueue.size,concurrency:this.options.concurrency},"waiting queue tick skipped")};tickActiveQueue=e=>{if(!e)return;const r=this.store.get(e);if(!r){this.logger.debug({notificationId:e},"active queue tick skipped, notification not exist");return}const n=setTimeout(()=>{const i=e,o=new Map(this.notificationsList.get());o.set(r.id,r),this.notificationsList.set(o);const s=setTimeout(()=>{this.logger.debug({notificationId:i,delay:r.autoHideDuration||5e3},"notification hiding by autoHideDuration"),this.closeNotification(i)},r.autoHideDuration||5e3);this.timeouts.set(i,s),this.logger.debug({notificationId:i,queue:[...o.values()]},"notification displayed")},r.delay||0);this.timeouts.set(e,n),this.logger.debug({notificationId:e},"active queue tick completed"),this.tickWaitingQueue()};closeNotification=e=>{const r=new Map(this.notificationsList.get()),n=r.get(e);if(n){n.hiding=!(this.waitingQueue.size>=this.options.concurrency),this.notificationsList.set(r);const i=setTimeout(()=>{const o=new Map(this.notificationsList.get());o.delete(e),this.notificationsList.set(o);const s=this.timeouts.get(e);s!==void 0&&(clearTimeout(s),this.timeouts.delete(e)),this.logger.debug({notificationId:e},"notification hidden")},this.options.animationDelay||0);this.timeouts.set(e,i)}return this.store.delete(e),this.activeQueue.delete(e),this.waitingQueue.delete(e),this.tickWaitingQueue(),this.logger.debug({notificationId:e},"notification hiding"),n};drain=()=>{this.store.clear(),this.timeouts.clear(),this.waitingQueue.clear(),this.activeQueue.clear(),this.notificationsList.off(),this.notificationsList.set(new Map)}}var pt;(function(t){t.OPENED="opened"})(pt||(pt={}));class _i extends St{constructor(){super("notification")}setOpened=e=>{this.write(pt.OPENED,e,"true")};isOpened=e=>this.read(pt.OPENED,e);clearNotification=()=>{this.clear()}}var ge;(function(t){t[t.ONBOARDING=1]="ONBOARDING",t[t.QUESTION=2]="QUESTION",t[t.QUESTION_RESOLVED=3]="QUESTION_RESOLVED"})(ge||(ge={}));class Li{queue;storage;constructor(e={}){this.storage=new _i,this.queue=new Ci({concurrency:1,animationDelay:1600,...e})}add=e=>{if(!this.storage.isOpened(e.id)){if(e.data&&e.emitEvent){const n=e.action;e.action=(...i)=>{n&&n(...i),fe.emit("notification",{action:"opened",payload:{questionId:e.data.questionId,questionType:e.data.questionType}})}}this.queue.addToQueue(e)}};close=(e,r=!0)=>{this.queue.closeNotification(e),r&&this.markAsViewed(e)};getActiveNotification=()=>{const e=this.queue.notificationsList.get();if(!e?.size)return null;for(const n of e.values())if(n.type===ge.ONBOARDING)return n;return e.values().next().value};getQueueStore=()=>this.queue.notificationsList;markAsViewed=e=>{this.storage.setOpened(e)}}const ki=(t,e,r)=>{t.notifications=new Li(void 0),t.addNotification=t.notifications.add,t.sdk.getNotificationsStore=()=>t.notifications.getQueueStore(),t.sdk.getActiveNotification=()=>t.notifications.getActiveNotification(),t.sdk.onMount(()=>()=>{t.notifications.queue.drain()}),r()};var Ye;(function(t){t.UNKNOWN="unknown",t.ALREADY_VOTED="already_voted"})(Ye||(Ye={}));const Pi=async(t,e)=>{const{client:r,createRequestOptions:n}=t.createPromiseClient(me.Feed,{method:"submitAnswer"}),i=n({retryAttempts:0});try{return await r.submitAnswer({data:e},{contextValues:i})}catch(o){throw M.ConnectError.from(o)?.code===M.Code.AlreadyExists?new Error(Ye.ALREADY_VOTED):new Error(Ye.UNKNOWN)}},Fi=(t,e)=>{const{client:r,createRequestOptions:n}=t.createPromiseClient(me.Feed,{method:"submitInplay"}),i=n({retryAttempts:0});return r.submitInplay({data:{eventId:+e}},{contextValues:i})};var Ve;(function(t){t.ONBOARDING="onboarding",t.ONBOARDING_IO="onboarding_io"})(Ve||(Ve={}));class Zr extends St{constructor(){super("gamification")}saveOnboardingStatus=({userId:e,eventId:r,organizationId:n},i)=>{this.write(Ve.ONBOARDING,n,e,r,i)};getOnboardingStatus=({userId:e,eventId:r,organizationId:n})=>this.read(Ve.ONBOARDING,n,e,r);setOnboardingInstantOpen=({userId:e,eventId:r,organizationId:n})=>{const i=this.generateKey([Ve.ONBOARDING_IO,n,e,r]);window.sessionStorage.setItem(i,"1")};getOnboardingInstantOpen=({userId:e,eventId:r,organizationId:n})=>{const i=this.generateKey([Ve.ONBOARDING_IO,n,e,r]);return window.sessionStorage.getItem(i)}}const Ni={pageSize:10},Di=(t,e,r,n,i)=>{let o=0;const s=Q({pageSize:i?.pageSize||Ni.pageSize,page:0}),a=ie({data:[],key:Date.now(),hasMore:!0,loading:void 0,error:void 0}),u=bi(t),d=async()=>{const h=e.get(),m=n.getStore().get().data?.map(b=>b.slId)||[];if(h&&m?.length){const b=r.get();b&&m.push(b),a.setKey("loading",!0),a.setKey("data",[]);const O=await u({eventId:h,usersIds:m});a.set({data:O.data.map((D,$)=>({...D.attributes,rank:$+1})),hasMore:!1,key:Date.now(),loading:!1}),O.meta&&(o=Math.round(O.meta.count/O.meta.pageSize))}},c=()=>{d()},f=h=>{const m=s.get(),b=h||m.page+1;b<=o&&s.set({...m,page:b})};return X.onMount(a,()=>{const h=e.listen(d),m=n.listen(d);return()=>{h(),m()}}),{$store:a,fetchMore:f,invalidate:c}};class Ri extends St{get=this.read;set=this.write;del=this.remove;constructor(){super("deep-link-context",window.sessionStorage)}}const Sr="sldl",wt="sldl_uid",en="sldl_eid",tn="sldl_e_eid",Vi=new Set([wt,en,tn]),wr=t=>{const e={},r={};for(const[n,i]of t)Vi.has(n)?e[n]=i:r[n]=i;return{result:e,remain:r}},$i=({hash:t,search:e})=>{if(t&&t.includes(Sr)){const r=new URLSearchParams(t.substr(1));return{hash:wr(r)}}if(e&&e.includes(Sr)){const r=new URLSearchParams(e);return{search:wr(r)}}return null},Tr=be("deep_link"),ne={debug:(...t)=>{Tr.debug(...t),localStorage.getItem("SL_DEBUG")&&console.log(...t)},trace:(...t)=>{Tr.trace(...t),localStorage.getItem("SL_DEBUG")&&console.log(...t)}},ji=(t,e)=>{const{hash:r,search:n}=window.location;if(ne.debug({hash:r,search:n},"get deep link data from"),r||n){const i=$i({hash:r,search:n});if(ne.debug(i,"parse deep link result"),i){const{hash:o,search:s}=i,{result:a,remain:u}=o||s;if(Object.keys(a).length!==0){t.setValue("data",a);const d=Object.keys(u).length!==0;if(o){let c="";d&&(c=`#${new URLSearchParams(u).toString()}`,ne.debug({updatedHash:c},"update hash")),window.history.replaceState(null,"",window.location.pathname+window.location.search+c)}if(s){let c="";d&&(c=`?${new URLSearchParams(u).toString()}`,ne.debug({updatedSearch:c},"update search")),window.history.replaceState(null,"",window.location.pathname+c+window.location.hash)}e(a)}}}t.setValue("parsed",!0)},Mi=(t,e,r)=>{const n=new Ri,i=n.get("sl-deep-link-store");let o={};if(i)try{o=JSON.parse(i)}catch(a){ne.debug(a)}t.deepLink={$store:new Ae(ie(o),"deep-link-context"),getDeepLinkData:()=>{const{data:a,used:u}=t.deepLink.$store.getValues();return{data:a,used:u}},deepLinkUsed:a=>{ne.debug(`logged in with inviterId: ${a}`),t.deepLink.$store.setValue("used",!0)},onDeepLinkHandlers:new Set},t.sdk.getInviter=()=>{const{data:a,used:u}=t.deepLink.getDeepLinkData();return u?a?.[wt]:void 0},t.sdk.inviteDisplayed=()=>{t.deepLink.$store.getStore().set({}),t.deepLink.$store.getStore().off(),n.del("sl-deep-link-store")},t.deepLink.$store.subscribe(a=>n.set("sl-deep-link-store",JSON.stringify(a))),t.sdk.addDeepLinkHandler=a=>{localStorage.getItem("SL_DEBUG")&&ne.trace("adding deep link handler"),t.deepLink.onDeepLinkHandlers.add(a)},e.onDeepLinkHandled&&t.sdk.addDeepLinkHandler(e.onDeepLinkHandled),t.sdk.removeDeepLinkHandler=a=>{ne.trace("removing deep link handler"),t.deepLink.onDeepLinkHandlers.delete(a)};const s=a=>{t.deepLink.$store.setValue("handled",!0),ne.trace({size:t.deepLink.onDeepLinkHandlers.size},"deep link handled, call callbacks");for(const u of t.deepLink.onDeepLinkHandlers)try{ne.trace("called handler"),u(a)}catch(d){console.error(d)}};ji(t.deepLink.$store,s),r()},Ui=be("bypass");class qi extends Wn{$coreStore;deepLink;transport;bypassLogin;constructor(e,r,n){super(),this.$coreStore=e,this.deepLink=n,this.transport=r,this.bypassLogin=ui(this.transport),this.connect()}me=async()=>(this.$coreStore.getValues().user.invalidate(),(await this.$coreStore.getValues().user.getValue())?.data);login=async(e,r)=>{this.$coreStore.getValues().userKey.setValue(r);const{used:n,data:i}=this.deepLink.getDeepLinkData(),o=n?"":i?.[wt];Ui.debug({inviterKey:o},"login with inviterKey");const s=await this.bypassLogin({schema:e,userKey:r,inviterKey:o,init:!1}),a=s.meta?.jwt,u=s.data?.id;if(!a||!u)throw new Error("internal: token missing");return s.meta?.inviterKey&&this.deepLink.deepLinkUsed(s.meta.inviterKey),this.$coreStore.getValues().user.getStore().mutate(s),this.saveUser(a,u),a};isAuthenticated=()=>this.me();logout=()=>{this.$coreStore.getValues().user.setValue(),this.$coreStore.getValues().userKey.setValue(),this.$coreStore.getValues().userToken.setValue(),this.transport.setAuth("",""),new Re().clear()};softLogout=()=>{const e=new Re;this.transport.setAuth("",""),e.setToken(""),this.reLogin()};reLogin=()=>{const e=new Re,r=e.getToken(),n=e.getExternalToken();if(this.$coreStore.getValues().userKey.setValue(n),r)return this.saveUser(r,""),this.me().then(i=>{if(i?.id){const o=i.id;this.saveUser(r,o)}});if(n&&!r){const i=e.getSchema();i&&n&&this.login(i,n).catch(()=>{this.logout()})}};saveUser=(e,r)=>{this.transport.setAuth(e,r),this.$coreStore.getValues().userToken.setValue(e),new Re().setToken(e)};connect=()=>{this.transport.registerInterceptor(e=>async r=>{try{return await e(r)}catch(n){throw n.code&&(n.code===7||n.code===16)&&this.transport.getHeader("authorization")&&this.softLogout(),n}})}}const Ke=new Re,xi=(t,e,r)=>{t.auth=new qi(t.store,t.transport,t.deepLink),t.stores.status.listen(n=>{n===ce.READY&&t.auth.reLogin()}),t.sdk.userId=t.stores.user.getAtomStore,t.sdk.authorizationBypass=async(n,i)=>{if(!(Ke.getSchema()===n&&Ke.getExternalToken()===i&&t.transport.getHeader("authorization")))try{await t.auth.login(n,i),Ke.setSchema(n),Ke.setExternalToken(i)}catch{t.sdk.logout()}},t.sdk.logout=()=>{t.auth.logout(),Ke.clear()},t.sdk.getUserStore=()=>t.stores.user.getStore(),t.sdk.isUserAuthorized=()=>t.auth.isAuthenticated(),r()},Ar=be("video_player"),ot={debug:(...t)=>{Ar.debug(...t),localStorage.getItem("SL_DEBUG")&&console.log(...t)},trace:(...t)=>{Ar.trace(...t),localStorage.getItem("SL_DEBUG")&&console.log(...t)}},Bi=(t,e,r)=>{t.videoPlayer={controllers:new Set},t.sdk.addVideoPlayerController=n=>{ot.trace("adding video player controller"),t.videoPlayer.controllers.add(n)},e.videoPlayerController&&t.sdk.addVideoPlayerController(e.videoPlayerController),t.sdk.removeVideoPlayerController=n=>{ot.trace("removing video player controller"),t.videoPlayer.controllers.delete(n)},t.sdk.controlVideoPlayer=n=>{ot.trace("controlling video player");for(const i of t.videoPlayer.controllers){ot.trace("calling video player controller");try{i(n)}catch(o){console.error(o)}}},r()},Qi=(t,e,r)=>{const n={onMountedFired:!1},i=new Set,o=new Set;t.sdk=Object.create(null),t.sdk.onMount=s=>{i.has(s)||(i.add(s),t?.stores?.enabled?.get()==="on"&&o.add(s()))},t.ready=()=>{t.stores.enabled.subscribe(s=>{s==="on"&&n.onMountedFired===!1&&(i.forEach(a=>o.add(a())),n.onMountedFired=!0),s!=="on"&&n.onMountedFired===!0&&(o.forEach(a=>a()),o.clear(),n.onMountedFired=!1)})},t.sdk.initializeApp=async s=>{if(t.contextConfig=s,t.stores.enabled.get()==="on")return{enabled:!0};t.storeSubscribe(),t.stores.enabled.setValue("on"),t.stores.status.setValue(ce.INITIALIZATION);try{const a=await t.stores.organizationSettings.getValue();return a?(t.stores.status.setValue(ce.READY),{enabled:!!a}):(t.stores.status.setValue(ce.FAILED),{err:"failed"})}catch(a){return t.stores.enabled.setValue(),t.stores.status.setValue(ce.FAILED),{err:`${a}`}}},t.sdk.disableApp=()=>{t.stores.enabled.get()==="on"&&(t.stores.enabled.setValue(),t.stores.status.setValue(ce.DISABLED),t.stores.slStreamId.setValue(),t.stores.providerStreamId.setValue(),t.sdk.closeFeature(!0),t.storeUnsubscribe(),t.transport.disconnect())},t.sdk.createEventSession=s=>{t.stores.providerStreamId.setValue(s)},r()},Gi=(t,e)=>{const{client:r,queryKey:n}=t.createPromiseClient(Xe.Client,{method:"generateDeepLink",params:e});return t.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s,a)=>s?(await r.generateDeepLink({data:{gamification:!0,externalEventId:a,eventId:s}})).data?.attributes:{},dedupeTime:1e3*60*60*24,refetchInterval:0})},Ki=(t,{web:e,mobile:r})=>{const{client:n}=t.createPromiseClient(Un.LinksClient,{method:"generate"});return n.generate({web:e,mobile:r})},Er=(t,e)=>{const r=new URLSearchParams(t);for(const[n,i]of Object.entries(e))r.append(n,i);return r.toString()},zi=(t,e,r,n)=>{const i=ie({});return X.onMount(i,()=>Gi(t,[e,r]).subscribe(async({data:a,error:u,loading:d})=>{const c=u?"https://masters.com":a?.url,f=n.get()||"",h=e.get()||"",m=r.get()||"",b={[wt]:f,[en]:h,[tn]:m};if(!d&&c){i.setKey("loading",!0);let C=window.location.search,O=window.location.hash;C&&O||O?C=`?${Er(C,b)}`:O=`#${Er("",b)}`;const D=window.location.origin+window.location.pathname+C+O,$=await Ki(t,{web:D,mobile:c});i.set({data:$.data?.link,loading:!1})}else i.setKey("loading",!0)})),{$store:i,fetch}};var x;(function(t){t.Unset="unset",t.Required="required",t.Optional="optional",t.Completed="completed",t.Disabled="disabled",t.Unavailable="unavailable"})(x||(x={}));const Hi=(t,e,r,n)=>{const{inplayGame:i}=t.featureSettings.get(),o=e.getCurrentSessionId({prefix:"onboarding"});i&&r.add({type:ge.ONBOARDING,id:o,action:t.openFeature,persistent:!0,autoHideDuration:1e6,data:{questionId:"onboarding",questionType:I.QuestionType.UNSET,onboarding:{...i,instantOpen:!n.getOnboardingInstantOpen({userId:e.userId.get()||"",organizationId:e.organizationId.get()||"",eventId:e.slStreamId.get()||""})}}})},st=(t,e,r,n,i,o)=>{try{const s=e.userId.get();if(!s)return;if(i.getOnboardingStatus({userId:s,organizationId:e.organizationId.get()||"",eventId:e.slStreamId.get()||""})===x.Completed){t.set(x.Completed);for(const h of o)h();return}const u=e.moderation.getStore().value?.data,d=r.featureSettings.get().inplayGame;if(u===void 0||d===void 0)return;const c=u?.options?.onboardingEnabled,f=d?.titleCard?.optIn;c?f?t.set(x.Required):t.set(x.Optional):(f?t.set(x.Unavailable):t.set(x.Disabled),n.close(e.getCurrentSessionId({prefix:"onboarding"}),!1))}catch(s){console.error(s)}},Wi=(t,e,r,n)=>{let i=!1;const o=new Zr,s=Q(x.Unset);s.subscribe(d=>{d!==x.Unset&&((d===x.Optional||d===x.Required)&&i===!1&&(Hi(t,e,n,o),i=!0),d===x.Completed&&e.activeQuestionId.invalidate(),o.setOnboardingInstantOpen({userId:e.userId.get()||"",organizationId:e.organizationId.get()||"",eventId:e.slStreamId.get()||""}))});const a=[];return st(s,e,t,n,o,a),s.get()!==x.Completed&&(a.push(e.userId.listen(d=>{d&&st(s,e,t,n,o,a)})),a.push(e.moderation.listen(d=>{d.data&&st(s,e,t,n,o,a)})),a.push(t.featureSettings.listen(d=>{d&&st(s,e,t,n,o,a)}))),{$store:s,submitInplay:async()=>{const d=e.slStreamId.get();if(d){await Fi(r,d),s.set(x.Completed),o.saveOnboardingStatus({organizationId:e.organizationId.get()||"",userId:e.userId.get()||"",eventId:d},x.Completed),fe.emit("poll",{action:"onboardingPassed",payload:{}}),t.openFeature();const c=e.getCurrentSessionId({prefix:"onboarding"});n.close(c)}}}},Ji=(t,e,r,n)=>{const i=ie(void 0),o=Xr(n),s=async()=>{const u=t.get(),d=e.get(),c=r.getStore().get().data?.map(b=>b.slId);if(!c)return;const f={eventId:u,userId:d,usersIds:[...c,d]},h=await o(f),m=i.get()?.summary?.friendsRank;h.data?.attributes?.summary?.friendsRank&&m!==void 0&&(h.data.attributes.summary.friendsRank=m),i.set(h.data?.attributes)},a=()=>{s()};return X.onMount(i,()=>{const u=t.listen(s),d=r.listen(s),c=e.listen(s);return()=>{u(),d(),c()}}),{$store:i,invalidate:a}},Yi=async(t,e,r,n,i)=>{const o=Xr(i),s=t.get(),a=e.get(),u=r.getStore().get().data?.map(h=>h.slId)||[],d={eventId:s,userId:n,usersIds:[...u,a]};return(await o(d)).data?.attributes?.summary},Xi=new Set([I.QuestionType.POLL,I.QuestionType.PREDICTION,I.QuestionType.TRIVIA]);class Zi extends Yr{userSummary;feedList;friends;leaderboardId;leaderboardList;deepLink;onboardingStatus;openedQuestion;currentUserId;openedUser;closeFeature;openFeature;feedSubscription;activeQuestionId;openedQuestionId;notifications;transport;background;storage;submitAnswerTimeout;cancels=new Set;constructor(e,r,n){super(e,r),this.background=new Oi(n),this.feedSubscription=this.background.feedSubscription,this.activeQuestionId=this.background.activeQuestionId,this.openedQuestionId=this.background.openedQuestionId,this.storage=new Zr,this.feedList=this.background.feedList,this.friends=new pe(vi(this.background.userId,n.transport),"gamification:friends"),this.currentUserId=this.background.userId,this.openedUser=Q(void 0),this.leaderboardId=new H(Q(this.settings.getValue("pinnedLeaderboardId")),"pinnedLeaderboardId").getStore(),this.onboardingStatus=Wi(this,this.background,n.transport,n.notifications),this.notifications=n.notifications,this.transport=n.transport,this.closeFeature=()=>n.sdk.closeFeature(!0),this.openFeature=()=>n.sdk.openFeature(R.SdkOverlayType.GAMES),this.openedQuestion=this.background.openedQuestion,this.deepLink=zi(this.transport,this.background.slStreamId,n.stores.providerStreamId.getStore(),this.background.userId),this.userSummary=Ji(this.background.slStreamId,this.background.userId,this.friends,this.transport),this.leaderboardList=Di(this.transport,this.background.slStreamId,this.background.userId,this.friends),this.connect(),this.cancels.add(this.userSummary.$store.listen((i,o)=>{o?.summary&&i?.summary&&!i.fromLeaderboard&&this.leaderboardList.invalidate()})),this.cancels.add(this.leaderboardList.$store.subscribe(i=>{const o={...this.userSummary.$store.get()||{}},s=o?.summary?.userId;if(i.data.length&&s){const a=i.data.find(u=>u.userId===s)?.rank;a!==void 0&&o?.summary&&(o.fromLeaderboard=!0,o.summary.friendsRank=a,this.userSummary.$store.set(o))}})),this.cancels.add(this.background.activeQuestionId.listen(this.showInApp)),this.cancels.add(this.onboardingStatus.$store.listen(this.checkInteractiveFlag)),this.cancels.add(this.background.moderation.getStore().listen(this.checkInteractiveFlag)),this.cancels.add(this.settings.subscribe(this.checkInteractiveFlag)),n.sdk.onMount(()=>()=>{for(const i of this.cancels)i(),this.cancels.delete(i)})}get isInteractiveAllowed(){return this.background.interactiveAllowed.get()===Ee.ALLOWED}checkInteractiveFlag=()=>{const e=this.onboardingStatus.$store.get(),r=this.background.moderation.getStore().value?.data?.options?.onboardingEnabled,n=this.settings.getValues().inplayGame?.titleCard?.optIn,i=e===x.Completed,o=!r||i||n!==!0;this.background.interactiveAllowed.set(o?Ee.ALLOWED:Ee.DISALLOWED)};connect=()=>{this.cancels.add(this.background.feedSubscription.addListener("feed-subscription-prediction-close",async e=>{if(!this.isInteractiveAllowed)return;const r=e.data?.attributes?.question,n=e.data?.attributes?.feedItem;if(!r||!n?.attributes)return;const{status:i,type:o,id:s,answers:a}=r;if(i===I.QuestionStatus.RESOLVED&&o===I.QuestionType.PREDICTION){const u=this.background.getCurrentSessionId({prefix:`notification-id:${s}`}),d=[...this.feedList.getValues().data||[]],c=d.findIndex(G=>G.id===s),f=d[c];let h=f?.attributes?.attributes?.value?.answerId;const m=Gt(s,this.transport),b=m.subscribe(()=>{});await m.get().promise;const C=m.get().data;b(),window.requestAnimationFrame(()=>{m.invalidate()}),h||(h=C?.answers.find(({youVoted:G})=>G)?.id);const O=a.find(({correct:G})=>G),D=h?a.find(({id:G})=>G===h):void 0,$=!!D?.correct;if(f&&d[c]?.attributes?.attributes.case==="question"){try{d[c].attributes.attributes.value.answerId=h,d[c].attributes.attributes.value.openForVoting=!1,h&&(d[c].attributes.attributes.value.status=$?nt.PickHistoryStatus.WON:nt.PickHistoryStatus.LOST)}catch{}this.feedList.getStore().mutate(d)}if(!D||!O)return;this.openedQuestionId.get()?.questionId!==r.id&&this.notifications.add({type:ge.QUESTION_RESOLVED,action:()=>this.openQuestion(r.id,n),close:()=>this.closeQuestion(s),autoHideDuration:$?15e3:12e3,id:u,emitEvent:!1,data:{questionId:s,questionType:I.QuestionType.PREDICTION,question:{title:$?`Congratulations! You answered correctly! You won ${O.points} pts!`:`Better luck next time! Correct: ${O?.text}!`,votedAnswer:{title:D?.text,points:D?.points},correctAnswerTitle:O?.text,correct:!!$,predictionResult:i===I.QuestionStatus.RESOLVED,questionTitle:r?.subject}}}),this.userSummary.invalidate()}})),this.cancels.add(this.background.feedSubscription.addListener("feed-subscription-questions-list",e=>{const r=[...this.feedList.getStore().value?.data||[]],n=e.data?.attributes?.feedItem,i=r.findIndex(o=>o.id===n?.id);if(n?.attributes&&!(n.attributes.status!==I.QuestionStatus.ACTIVE&&n.attributes.status!==I.QuestionStatus.RESOLVED)){if(i!==-1)if(n.attributes.attributes.case==="question"&&r[i].attributes?.attributes.case==="question"){const o=r[i];o.attributes&&(r[i]={...r[i],attributes:{...o.attributes,attributes:{...o.attributes.attributes,value:{...o.attributes.attributes.value,...n.attributes.attributes.value,answerId:o.attributes.attributes.value.answerId,status:o.attributes.attributes.value.status,openForVoting:o.attributes.attributes.value.openForVoting}}}})}else{const o=r[i];o.attributes&&n.attributes&&(r[i]={...r[i],attributes:{...o.attributes,attributes:{...o.attributes.attributes,value:{...o.attributes.attributes.value,...n.attributes.attributes.value}}}})}i===-1&&(r.unshift(n),fe.emit("poll",{action:"received",payload:{questionId:n.id,questionType:n.attributes?.type}})),this.feedList.getStore().mutate(r)}}))};disconnect=()=>{this.background.feedSubscription.removeListener("feed-subscription-prediction-close"),this.background.feedSubscription.removeListener("feed-subscription-questions-list")};submitAnswer=async(e,r)=>{const n=Gt(e,this.transport),i=()=>{const o=this.feedList.getValues().data;if(!o)return;const s=o.findIndex(d=>d.id===e),a=o[s],u=a?.attributes?.attributes.case==="question"&&a.attributes.attributes.value;if(u){fe.emit("poll",{action:"voted",payload:{questionId:e,questionType:u.questionType}});const d=n.subscribe(()=>{}),c=n.get().data;if(d(),c){const f=c.answers.find(b=>b.correct===!0),h=c.answers.findIndex(b=>b.id===r),m=c.answers[h];o[s].attributes.attributes.value.answerId=r,o[s].attributes.attributes.value.openForVoting=!1,o[s].attributes.attributes.value.text=m?.text||"",f&&(o[s].attributes.attributes.value.status=f.id===r?nt.PickHistoryStatus.WON:nt.PickHistoryStatus.LOST),this.feedList.getStore().mutate([...o]),c.answers[h].correct=f?.id===r,c.answers[h].youVoted=!0,c.answers.forEach(b=>{b.percentageDecimal=0}),f?.id===r&&(c.answers[h].pointsEarned=c.status===I.QuestionStatus.RESOLVED?0:f.points),n.mutate({...c})}this.submitAnswerTimeout&&clearTimeout(this.submitAnswerTimeout),this.submitAnswerTimeout=setTimeout(()=>{this.userSummary.invalidate()},1e3)}};try{await Pi(this.transport,{questionId:e,answerId:r}),i()}catch(o){if(o.message===Ye.ALREADY_VOTED){this.userSummary.invalidate();const s=n.subscribe(()=>{});n.invalidate(),s()}throw o}};openQuestion=(e,r)=>{if(!e)return()=>{};this.notifications.close(this.background.getCurrentSessionId({prefix:"notification",entity:e}));let n=r?.attributes?.type;return n||(n=(this.feedList.getStore().value?.data||[]).find(o=>o.id===e)?.attributes?.type),fe.emit("poll",{action:"opened",payload:{questionId:e,questionType:n,questionOpenedFrom:r?.openedFrom}}),this.background.openQuestion(e,r)};closeQuestion=e=>this.background.closeQuestion(e);openUser=async e=>{const r=this.leaderboardList.$store.get().data?.find(i=>i.userId===e);if(!r){this.openedUser.set(r);return}if(r.summaryLoaded){this.openedUser.set(r);return}const n={...r};try{const i=await Yi(this.background.slStreamId,this.background.userId,this.friends,e,this.transport);i?.inTop!==void 0&&(this.leaderboardList.$store.setKey("data",this.leaderboardList.$store.get().data?.map(o=>(o.userId===e&&(o.inTop=i.inTop),o))),n.inTop=i.inTop)}catch(i){console.error(i)}this.openedUser.set(n)};closeUser=()=>{this.openedUser.set(void 0)};showInApp=e=>{const r=this.onboardingStatus.$store.get();if(e&&e.data&&r&&r!==x.Unset&&e.data.question?.id!==void 0&&e.data.question.notification!==void 0&&e.data.question?.bypassNotifications?.inAppSilence!==I.SilenceSetting.ON&&e.data.question.status===I.QuestionStatus.ACTIVE&&!e.data.question.marketClosed){if(Xi.has(e.data.question.type))this.isInteractiveAllowed&&this.notifications.add({type:ge.QUESTION,action:()=>this.openQuestion(e.data?.question?.id,e.data?.feedItem),close:()=>this.closeQuestion(e.data?.question?.id),autoHideDuration:1e3*60,id:this.background.getCurrentSessionId({prefix:"notification",entity:e.data.question.id}),emitEvent:!0,data:{questionId:e.data.question.id,questionType:e.data.question.type,question:{title:e.data.question.notification.title}}});else if(e.data.question.type===I.QuestionType.FACTOID){const n=e.data.question.options?.options.value,i={heading:e.data.question.notification.title,body:e.data.question.notification.body,imageMode:n?.imageMode,image:n?.image,video:{id:n?.video?.id||"",url:n?.video?.url||"",thumbnailUrl:n?.video?.thumbnailUrl||""},webLink:{label:"",url:""}};this.notifications.add({type:ge.QUESTION,action:()=>this.openQuestion(e?.data?.question?.id,e?.data?.feedItem),close:()=>this.closeQuestion(e?.data?.question?.id),autoHideDuration:1e3*120,emitEvent:!0,id:this.background.getCurrentSessionId({prefix:"notification",entity:e.data.question.id}),data:{questionId:e.data.question.id,questionType:e.data.question.type,insight:i}})}else if(e.data.question.type===I.QuestionType.TWEET){const n=e.data.question.options?.options.value,i={title:e.data.question.notification?.title,body:e.data.question.notification?.body,image:e.data.question.notification?.image,account:n?.tweetMeta?.account||"",accountVerified:!!n?.tweetMeta?.accountVerified,tweet:n?.tweetMeta?.tweet,tweetId:e.data.question.id};this.notifications.add({type:ge.QUESTION,action:()=>this.openQuestion(e.data?.question?.id,e.data?.feedItem),close:()=>this.closeQuestion(e.data?.question?.id),autoHideDuration:1e3*120,emitEvent:!0,id:this.background.getCurrentSessionId({prefix:"notification",entity:e.data.question.id}),data:{questionId:e.data.question.id,questionType:e.data.question.type,tweet:i}})}}}}const eo={[R.SdkOverlayType.GAMES]:!0};class to extends Yr{constructor(e,r){super(e,r)}}const ro=(t,e,r)=>t.type===R.SdkOverlayType.GAMES?new Zi(t,e,r):new to(t,e),no=(t,e,r)=>{t.features=new Map,t.sdk.featuresList=new H(Q(new Set),"features-list"),t.activeFeature=new H(Q(R.SdkOverlayType.UNSET),"activeFeature"),t.sdk.getFeatures=()=>t.features,t.sdk.getFeature=n=>t.features.get(n),t.sdk.getActiveFeature=()=>t.activeFeature.getStore(),t.sdk.openFeature=n=>{t.activeFeature.setValue(n)},t.sdk.closeFeature=(n=!1)=>{const i=t.activeFeature.getValue();if(t.activeFeature.setValue(R.SdkOverlayType.UNSET),n&&i){t.features.delete(i);const o=t.sdk.featuresList.getValue();o&&o.delete(i),t.sdk.featuresList.setValue(o)}},t.initFeature=(n,i=ue.ORGANIZATION)=>{if(n.type in eo&&!t.features.has(n.type)){const o=ro(n,i,t);t.features.set(n.type,o);let s=t.sdk.featuresList.getValue();s?s.add(n.type):s=new Set([n.type]),t.sdk.featuresList.setValue(new Set(s))}},t.updateFeature=(n,i)=>{t.features.get(n.type)?.update(n,i)},t.destroyFeature=n=>{t.features.delete(n.type);const i=t.sdk.featuresList.getValue();i&&i.delete(n.type),t.sdk.featuresList.setValue(new Set(i))},t.reinitializeFeatures=async()=>{const n=await t.stores.organizationSettings.getValue();t.features.clear(),t.sdk.featuresList.setValue(new Set);for(const i of n?.overlays||[])t.initFeature(i,ue.ORGANIZATION)},t.stores.providerStreamId.listen(n=>{n||t.reinitializeFeatures()}),t.storeSubscribe=()=>{const n=(o,s)=>{if(s?.overlays&&!(t.contextConfig?.skipOrganizationSettings&&o===ue.ORGANIZATION))for(const a of s.overlays)a.sdkEnable===!0&&(t.features.has(a.type)?t.updateFeature(a,o):t.initFeature(a,o))},i={organizationSettings:o=>{if(o.data)try{n(ue.ORGANIZATION,o.data)}catch(s){console.log(s)}},streamSettings:o=>{if(o.data)try{n(ue.STREAM,o.data)}catch(s){console.log(s)}}};t.store.subscribe(i)},r()};class io{analytics;constructor(e){this.analytics=e,this.analytics.onConnect(()=>{const r=n=>{if(n.slEventBus?.type==="invitation")switch(n.slEventBus.action){case"sent":this.sent(n.slEventBus.payload);break}};return fe.listen(r)})}accepted=()=>{this.analytics.write("invitation",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.INVITATION_ACCEPTED},category:it.InvitationCategory.GAMES,from:it.InvitationFrom.UNSET})};sent=({from:e})=>{this.analytics.write("invitation",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.INVITATION_SENT},category:it.InvitationCategory.GAMES,from:e||it.InvitationFrom.UNSET})}}class oo{analytics;constructor(e){this.analytics=e,this.analytics.onConnect(()=>{const r=n=>{if(n.slEventBus?.type==="interactions")switch(n.slEventBus.action){case"tap":this.tap();break;case"scroll":this.scroll();break}};return fe.listen(r)})}tap=()=>{this.analytics.write("interactions",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.INTERACTIONS},actionType:mr.InteractionActionType.TAP})};scroll=()=>{this.analytics.write("interactions",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.INTERACTIONS},actionType:mr.InteractionActionType.SCROLL})}}const He={[I.QuestionType.UNSET]:v.TopicType.UNSET,[I.QuestionType.FACTOID]:v.TopicType.POLLS_INSIGHT,[I.QuestionType.POLL]:v.TopicType.POLLS_POLL,[I.QuestionType.PREDICTION]:v.TopicType.POLLS_PREDICTION,[I.QuestionType.PROMOTION]:v.TopicType.POLLS_PROMOTION,[I.QuestionType.TRIVIA]:v.TopicType.POLLS_TRIVIA,[I.QuestionType.TWEET]:v.TopicType.POLLS_TWITTER};I.QuestionType.UNSET+"",Y.NotificationKind.UNSET,I.QuestionType.FACTOID+"",Y.NotificationKind.POLLS,I.QuestionType.POLL+"",Y.NotificationKind.POLLS,I.QuestionType.PREDICTION+"",Y.NotificationKind.POLLS,I.QuestionType.PROMOTION+"",Y.NotificationKind.POLLS,I.QuestionType.TRIVIA+"",Y.NotificationKind.POLLS,I.QuestionType.TWEET+"",Y.NotificationKind.POLLS;const so={[R.SdkOverlayType.UNSET]:v.Category.UNSET,[R.SdkOverlayType.INPLAY]:v.Category.INPLAY,[R.SdkOverlayType.MESSAGING]:v.Category.MESSAGING,[R.SdkOverlayType.STATISTICS]:v.Category.STATS,[R.SdkOverlayType.BETTING]:v.Category.BETTING,[R.SdkOverlayType.TWITTER]:v.Category.TWITTER,[R.SdkOverlayType.MERCHANDISE]:v.Category.MERCHANDISE,[R.SdkOverlayType.CONTESTS]:v.Category.CONTESTS,[R.SdkOverlayType.VOICE_CHAT]:v.Category.CALLING,[R.SdkOverlayType.TICKETS]:v.Category.TICKETS,[R.SdkOverlayType.WHOIS_WATCHING]:v.Category.WHOISWATCHING,[R.SdkOverlayType.PROFILE]:v.Category.PROFILE,[R.SdkOverlayType.GAMES]:v.Category.POLLS,[R.SdkOverlayType.GOLF_STATISTICS]:v.Category.STATS,[R.SdkOverlayType.HIGHLIGHTS]:v.Category.HIGHLIGHTS,[R.SdkOverlayType.PUBLIC_CHAT]:v.Category.PUBLIC_CHAT};class ao{analytics;constructor(e){this.analytics=e,this.analytics.onConnect(()=>{const r=n=>{if(n.slEventBus?.type==="notification")switch(n.slEventBus.action){case"rendered":this.received(n.slEventBus.payload);break;case"opened":this.opened(n.slEventBus.payload);break}};return fe.listen(r)})}received=({questionId:e,questionType:r})=>{this.analytics.write("notification",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.NOTIFICATION_RECEIVED,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},notificationKind:Y.NotificationKind.POLLS,notificationType:Y.NotificationType.IN_APP})};opened=({questionId:e,questionType:r})=>{this.analytics.write("notification",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.NOTIFICATION_OPENED,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},notificationKind:Y.NotificationKind.POLLS,notificationType:Y.NotificationType.IN_APP})}}class uo{analytics;constructor(e){this.analytics=e,this.analytics.onConnect(()=>{const r=n=>{if(n.slEventBus?.type==="poll")switch(n.slEventBus.action){case"voted":this.voted(n.slEventBus.payload);break;case"navigated":this.navigated();break;case"onboardingPassed":this.onboardingPassed();break;case"received":this.received(n.slEventBus.payload);break;case"opened":this.opened(n.slEventBus.payload);break}};return fe.listen(r)})}received=({questionId:e,questionType:r})=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.POLLS_RECEIVED,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},pollOpenedFrom:v.PollOpenedFrom.UNSET})};opened=({questionId:e,questionType:r,questionOpenedFrom:n})=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.POLLS_OPENED,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},pollOpenedFrom:n==="list"?v.PollOpenedFrom.PICK_HISTORY:v.PollOpenedFrom.IN_APP})};voted=({questionId:e,questionType:r})=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.POLLS_VOTE,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},pollOpenedFrom:v.PollOpenedFrom.UNSET})};onboardingPassed=()=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.GAMES_JOINED},pollOpenedFrom:v.PollOpenedFrom.UNSET})};navigated=()=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.POLLS_NAVIGATED},pollOpenedFrom:v.PollOpenedFrom.UNSET})}}const co=({transport:t,$commonStore:e})=>{let r;const n=Q(!1),i=5e3,{client:o,queryKey:s}=t.createPromiseClient(Kr.AnalyticsService,{method:"send",params:[n]}),a=t.nanoquery.createFetcherStore(s,{fetcher:async()=>{const h=e.getStore().get();try{await o.unary({message:{case:"heartbeat",value:{common:{...h,kind:v.Kind.SESSION_HEARTBEAT}}}})}catch(m){le.error(m,"send heartbeat failed")}return Date.now()},refetchInterval:i}),u=()=>{le.debug("mounted heartbeat"),r=a.subscribe(()=>{})},d=()=>{le.debug("enabled heartbeat"),n.set(!0),a.lc===0&&u()},c=()=>{le.debug("disabled heartbeat"),n.set(!1)};return{enable:d,disable:c,mount:u,unmount:()=>{le.debug("unmounted heartbeat"),a.off(),r?.(),r=void 0,c()}}},le=be("analytics");class lo{commonStore;notifications;polls;invitation;interactions;heartbeat;analyticsClient;listeners;listenersCancels;connected=!1;constructor(e){this.listeners=new Set,this.listenersCancels=new Set,this.commonStore=new Ae(ie({}),"common-analytics"),this.connectToSDK(e),this.heartbeat=co({transport:e.analyticsTransport,$commonStore:this.commonStore}),this.notifications=new ao(this),this.polls=new uo(this),this.invitation=new io(this),this.interactions=new oo(this);const{client:r}=e.analyticsTransport.createPromiseClient(Kr.AnalyticsService,{method:"send"});this.analyticsClient=r}connect=()=>{this.writeCommon("sessionId",qt.nanoid()),this.heartbeat.enable(),this.listeners.forEach(e=>this.listenersCancels.add(e())),this.connected=!0,le.debug("analytics connected")};disconnect=()=>{this.writeCommon("sessionId",""),this.writeCommon("overlaySessionId",""),this.heartbeat.unmount(),this.listenersCancels.forEach(e=>e()),this.connected=!1,le.debug("analytics disconnected")};write=(e,r)=>{r&&this.analyticsClient.unary({message:{case:e,value:r}}).then(()=>{le.trace("send analytics success",e,r)}).catch(n=>{le.error(n,"send analytics failed")})};writeCommon=(e,r)=>{this.commonStore.setValue(e,r)};onConnect=e=>{this.listeners.add(e),this.connected&&this.listenersCancels.add(e())};connectToSDK=e=>{this.onConnect(()=>e.stores.slStreamId.getAtomStore().subscribe(r=>{this.writeCommon("eventId",r)})),this.onConnect(()=>e.sdk.getActiveFeature().subscribe(r=>{r&&this.writeCommon("category",so[r]),r!==R.SdkOverlayType.UNSET?this.writeCommon("overlaySessionId",qt.nanoid()):this.writeCommon("overlaySessionId","")})),this.onConnect(()=>{const r=window.matchMedia("(orientation: portrait)"),n=i=>{this.writeCommon("screenOrientation",i.matches?v.ScreenOrientation.PORTRAIT:v.ScreenOrientation.LANDSCAPE)};return r.addEventListener("change",n),()=>{r.removeEventListener("change",n)}}),this.onConnect(()=>e.deepLink.$store.subscribe(r=>{r?.handled&&this.invitation.accepted()}))}}const fo=(t,e,r)=>{t.analytics=new lo(t),t.sdk.onMount(()=>(t.analytics.connect(),()=>{t.analytics.disconnect()})),r()};var rn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function po(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var nr={exports:{}},ir={exports:{}};function ho(t){var e=new t,r=e;function n(){var o=e;return o.next?e=o.next:(e=new t,r=e),o.next=null,o}function i(o){r.next=o,r=o}return{get:n,release:i}}var yo=ho,go=yo;function nn(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var n=go(mo),i=null,o=null,s=0,a=null,u={push:C,drain:z,saturated:z,pause:c,paused:!1,concurrency:r,running:d,resume:m,idle:b,length:f,getQueue:h,unshift:O,empty:z,kill:$,killAndDrain:G,error:W};return u;function d(){return s}function c(){u.paused=!0}function f(){for(var P=i,V=0;P;)P=P.next,V++;return V}function h(){for(var P=i,V=[];P;)V.push(P.value),P=P.next;return V}function m(){if(u.paused){u.paused=!1;for(var P=0;P<u.concurrency;P++)s++,D()}}function b(){return s===0&&u.length()===0}function C(P,V){var E=n.get();E.context=t,E.release=D,E.value=P,E.callback=V||z,E.errorHandler=a,s===u.concurrency||u.paused?o?(o.next=E,o=E):(i=E,o=E,u.saturated()):(s++,e.call(t,E.value,E.worked))}function O(P,V){var E=n.get();E.context=t,E.release=D,E.value=P,E.callback=V||z,E.errorHandler=a,s===u.concurrency||u.paused?i?(E.next=i,i=E):(i=E,o=E,u.saturated()):(s++,e.call(t,E.value,E.worked))}function D(P){P&&n.release(P);var V=i;V?u.paused?s--:(o===i&&(o=null),i=V.next,V.next=null,e.call(t,V.value,V.worked),o===null&&u.empty()):--s===0&&u.drain()}function $(){i=null,o=null,u.drain=z}function G(){i=null,o=null,u.drain(),u.drain=z}function W(P){a=P}}function z(){}function mo(){this.value=null,this.callback=z,this.next=null,this.release=z,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,n){var i=t.callback,o=t.errorHandler,s=t.value;t.value=null,t.callback=z,t.errorHandler&&o(r,s),i.call(t.context,r,n),t.release(t)}}function bo(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function n(c,f){e.call(this,c).then(function(h){f(null,h)},f)}var i=nn(t,n,r),o=i.push,s=i.unshift;return i.push=a,i.unshift=u,i.drained=d,i;function a(c){var f=new Promise(function(h,m){o(c,function(b,C){if(b){m(b);return}h(C)})});return f.catch(z),f}function u(c){var f=new Promise(function(h,m){s(c,function(b,C){if(b){m(b);return}h(C)})});return f.catch(z),f}function d(){if(i.idle())return new Promise(function(h){h()});var c=i.drain,f=new Promise(function(h){i.drain=function(){c(),h()}});return f}}ir.exports=nn;ir.exports.promise=bo;var on=ir.exports,or={exports:{}},Me=typeof Reflect=="object"?Reflect:null,Ir=Me&&typeof Me.apply=="function"?Me.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},ut;Me&&typeof Me.ownKeys=="function"?ut=Me.ownKeys:Object.getOwnPropertySymbols?ut=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:ut=function(e){return Object.getOwnPropertyNames(e)};function vo(t){console&&console.warn&&console.warn(t)}var sn=Number.isNaN||function(e){return e!==e};function F(){F.init.call(this)}or.exports=F;or.exports.once=Ao;F.EventEmitter=F;F.prototype._events=void 0;F.prototype._eventsCount=0;F.prototype._maxListeners=void 0;var Or=10;function Tt(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(F,"defaultMaxListeners",{enumerable:!0,get:function(){return Or},set:function(t){if(typeof t!="number"||t<0||sn(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Or=t}});F.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};F.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||sn(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function an(t){return t._maxListeners===void 0?F.defaultMaxListeners:t._maxListeners}F.prototype.getMaxListeners=function(){return an(this)};F.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[e];if(u===void 0)return!1;if(typeof u=="function")Ir(u,this,r);else for(var d=u.length,c=fn(u,d),n=0;n<d;++n)Ir(c[n],this,r);return!0};function un(t,e,r,n){var i,o,s;if(Tt(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=an(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,vo(a)}return t}F.prototype.addListener=function(e,r){return un(this,e,r,!1)};F.prototype.on=F.prototype.addListener;F.prototype.prependListener=function(e,r){return un(this,e,r,!0)};function So(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function cn(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=So.bind(n);return i.listener=r,n.wrapFn=i,i}F.prototype.once=function(e,r){return Tt(r),this.on(e,cn(this,e,r)),this};F.prototype.prependOnceListener=function(e,r){return Tt(r),this.prependListener(e,cn(this,e,r)),this};F.prototype.removeListener=function(e,r){var n,i,o,s,a;if(Tt(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():wo(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};F.prototype.off=F.prototype.removeListener;F.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function ln(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?To(i):fn(i,i.length)}F.prototype.listeners=function(e){return ln(this,e,!0)};F.prototype.rawListeners=function(e){return ln(this,e,!1)};F.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):dn.call(t,e)};F.prototype.listenerCount=dn;function dn(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}F.prototype.eventNames=function(){return this._eventsCount>0?ut(this._events):[]};function fn(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function wo(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function To(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Ao(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}pn(t,e,o,{once:!0}),e!=="error"&&Eo(t,i,{once:!0})})}function Eo(t,e,r){typeof t.on=="function"&&pn(t,"error",e,r)}function pn(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}var hn=or.exports,At={},yn={},gn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;e[r]=i;for(r in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var o=Object.getOwnPropertySymbols(e);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(e,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0},Io=gn,sr=function(){return Io()&&!!Symbol.toStringTag},Cr=typeof Symbol<"u"&&Symbol,Oo=gn,Co=function(){return typeof Cr!="function"||typeof Symbol!="function"||typeof Cr("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Oo()},_r={foo:{}},_o=Object,Lo=function(){return{__proto__:_r}.foo===_r.foo&&!({__proto__:null}instanceof _o)},ko="Function.prototype.bind called on incompatible ",Po=Object.prototype.toString,Fo=Math.max,No="[object Function]",Lr=function(e,r){for(var n=[],i=0;i<e.length;i+=1)n[i]=e[i];for(var o=0;o<r.length;o+=1)n[o+e.length]=r[o];return n},Do=function(e,r){for(var n=[],i=r||0,o=0;i<e.length;i+=1,o+=1)n[o]=e[i];return n},Ro=function(t,e){for(var r="",n=0;n<t.length;n+=1)r+=t[n],n+1<t.length&&(r+=e);return r},Vo=function(e){var r=this;if(typeof r!="function"||Po.apply(r)!==No)throw new TypeError(ko+r);for(var n=Do(arguments,1),i,o=function(){if(this instanceof i){var c=r.apply(this,Lr(n,arguments));return Object(c)===c?c:this}return r.apply(e,Lr(n,arguments))},s=Fo(0,r.length-n.length),a=[],u=0;u<s;u++)a[u]="$"+u;if(i=Function("binder","return function ("+Ro(a,",")+"){ return binder.apply(this,arguments); }")(o),r.prototype){var d=function(){};d.prototype=r.prototype,i.prototype=new d,d.prototype=null}return i},$o=Vo,ar=Function.prototype.bind||$o,jo=Function.prototype.call,Mo=Object.prototype.hasOwnProperty,Uo=ar,qo=Uo.call(jo,Mo),A,qe=SyntaxError,mn=Function,Ue=TypeError,Ct=function(t){try{return mn('"use strict"; return ('+t+").constructor;")()}catch{}},Ie=Object.getOwnPropertyDescriptor;if(Ie)try{Ie({},"")}catch{Ie=null}var _t=function(){throw new Ue},xo=Ie?function(){try{return arguments.callee,_t}catch{try{return Ie(arguments,"callee").get}catch{return _t}}}():_t,Fe=Co(),Bo=Lo(),U=Object.getPrototypeOf||(Bo?function(t){return t.__proto__}:null),De={},Qo=typeof Uint8Array>"u"||!U?A:U(Uint8Array),Oe={"%AggregateError%":typeof AggregateError>"u"?A:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?A:ArrayBuffer,"%ArrayIteratorPrototype%":Fe&&U?U([][Symbol.iterator]()):A,"%AsyncFromSyncIteratorPrototype%":A,"%AsyncFunction%":De,"%AsyncGenerator%":De,"%AsyncGeneratorFunction%":De,"%AsyncIteratorPrototype%":De,"%Atomics%":typeof Atomics>"u"?A:Atomics,"%BigInt%":typeof BigInt>"u"?A:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?A:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?A:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?A:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?A:Float32Array,"%Float64Array%":typeof Float64Array>"u"?A:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?A:FinalizationRegistry,"%Function%":mn,"%GeneratorFunction%":De,"%Int8Array%":typeof Int8Array>"u"?A:Int8Array,"%Int16Array%":typeof Int16Array>"u"?A:Int16Array,"%Int32Array%":typeof Int32Array>"u"?A:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Fe&&U?U(U([][Symbol.iterator]())):A,"%JSON%":typeof JSON=="object"?JSON:A,"%Map%":typeof Map>"u"?A:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Fe||!U?A:U(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?A:Promise,"%Proxy%":typeof Proxy>"u"?A:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?A:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?A:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Fe||!U?A:U(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?A:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Fe&&U?U(""[Symbol.iterator]()):A,"%Symbol%":Fe?Symbol:A,"%SyntaxError%":qe,"%ThrowTypeError%":xo,"%TypedArray%":Qo,"%TypeError%":Ue,"%Uint8Array%":typeof Uint8Array>"u"?A:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?A:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?A:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?A:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?A:WeakMap,"%WeakRef%":typeof WeakRef>"u"?A:WeakRef,"%WeakSet%":typeof WeakSet>"u"?A:WeakSet};if(U)try{null.error}catch(t){var Go=U(U(t));Oe["%Error.prototype%"]=Go}var Ko=function t(e){var r;if(e==="%AsyncFunction%")r=Ct("async function () {}");else if(e==="%GeneratorFunction%")r=Ct("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Ct("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var i=t("%AsyncGenerator%");i&&U&&(r=U(i.prototype))}return Oe[e]=r,r},kr={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ze=ar,ht=qo,zo=Ze.call(Function.call,Array.prototype.concat),Ho=Ze.call(Function.apply,Array.prototype.splice),Pr=Ze.call(Function.call,String.prototype.replace),yt=Ze.call(Function.call,String.prototype.slice),Wo=Ze.call(Function.call,RegExp.prototype.exec),Jo=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Yo=/\\(\\)?/g,Xo=function(e){var r=yt(e,0,1),n=yt(e,-1);if(r==="%"&&n!=="%")throw new qe("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new qe("invalid intrinsic syntax, expected opening `%`");var i=[];return Pr(e,Jo,function(o,s,a,u){i[i.length]=a?Pr(u,Yo,"$1"):s||o}),i},Zo=function(e,r){var n=e,i;if(ht(kr,n)&&(i=kr[n],n="%"+i[0]+"%"),ht(Oe,n)){var o=Oe[n];if(o===De&&(o=Ko(n)),typeof o>"u"&&!r)throw new Ue("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:o}}throw new qe("intrinsic "+e+" does not exist!")},Be=function(e,r){if(typeof e!="string"||e.length===0)throw new Ue("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Ue('"allowMissing" argument must be a boolean');if(Wo(/^%?[^%]*%?$/,e)===null)throw new qe("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=Xo(e),i=n.length>0?n[0]:"",o=Zo("%"+i+"%",r),s=o.name,a=o.value,u=!1,d=o.alias;d&&(i=d[0],Ho(n,zo([0,1],d)));for(var c=1,f=!0;c<n.length;c+=1){var h=n[c],m=yt(h,0,1),b=yt(h,-1);if((m==='"'||m==="'"||m==="`"||b==='"'||b==="'"||b==="`")&&m!==b)throw new qe("property names with quotes must have matching quotes");if((h==="constructor"||!f)&&(u=!0),i+="."+h,s="%"+i+"%",ht(Oe,s))a=Oe[s];else if(a!=null){if(!(h in a)){if(!r)throw new Ue("base intrinsic for "+e+" exists, but the property is not available.");return}if(Ie&&c+1>=n.length){var C=Ie(a,h);f=!!C,f&&"get"in C&&!("originalValue"in C.get)?a=C.get:a=a[h]}else f=ht(a,h),a=a[h];f&&!u&&(Oe[s]=a)}}return a},bn={exports:{}},es=Be,Kt=es("%Object.defineProperty%",!0),zt=function(){if(Kt)try{return Kt({},"a",{value:1}),!0}catch{return!1}return!1};zt.hasArrayLengthDefineBug=function(){if(!zt())return null;try{return Kt([],"length",{value:1}).length!==1}catch{return!0}};var vn=zt,ts=Be,ct=ts("%Object.getOwnPropertyDescriptor%",!0);if(ct)try{ct([],"length")}catch{ct=null}var ur=ct,rs=vn(),cr=Be,We=rs&&cr("%Object.defineProperty%",!0);if(We)try{We({},"a",{value:1})}catch{We=!1}var ns=cr("%SyntaxError%"),Ne=cr("%TypeError%"),Fr=ur,is=function(e,r,n){if(!e||typeof e!="object"&&typeof e!="function")throw new Ne("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new Ne("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new Ne("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new Ne("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new Ne("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new Ne("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,o=arguments.length>4?arguments[4]:null,s=arguments.length>5?arguments[5]:null,a=arguments.length>6?arguments[6]:!1,u=!!Fr&&Fr(e,r);if(We)We(e,r,{configurable:s===null&&u?u.configurable:!s,enumerable:i===null&&u?u.enumerable:!i,value:n,writable:o===null&&u?u.writable:!o});else if(a||!i&&!o&&!s)e[r]=n;else throw new ns("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Sn=Be,Nr=is,os=vn(),Dr=ur,Rr=Sn("%TypeError%"),ss=Sn("%Math.floor%"),as=function(e,r){if(typeof e!="function")throw new Rr("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||ss(r)!==r)throw new Rr("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,o=!0;if("length"in e&&Dr){var s=Dr(e,"length");s&&!s.configurable&&(i=!1),s&&!s.writable&&(o=!1)}return(i||o||!n)&&(os?Nr(e,"length",r,!0,!0):Nr(e,"length",r)),e};(function(t){var e=ar,r=Be,n=as,i=r("%TypeError%"),o=r("%Function.prototype.apply%"),s=r("%Function.prototype.call%"),a=r("%Reflect.apply%",!0)||e.call(s,o),u=r("%Object.defineProperty%",!0),d=r("%Math.max%");if(u)try{u({},"a",{value:1})}catch{u=null}t.exports=function(h){if(typeof h!="function")throw new i("a function is required");var m=a(e,s,arguments);return n(m,1+d(0,h.length-(arguments.length-1)),!0)};var c=function(){return a(e,o,arguments)};u?u(t.exports,"apply",{value:c}):t.exports.apply=c})(bn);var wn=bn.exports,Tn=Be,An=wn,us=An(Tn("String.prototype.indexOf")),En=function(e,r){var n=Tn(e,!!r);return typeof n=="function"&&us(e,".prototype.")>-1?An(n):n},cs=sr(),ls=En,Ht=ls("Object.prototype.toString"),Et=function(e){return cs&&e&&typeof e=="object"&&Symbol.toStringTag in e?!1:Ht(e)==="[object Arguments]"},In=function(e){return Et(e)?!0:e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&Ht(e)!=="[object Array]"&&Ht(e.callee)==="[object Function]"},ds=function(){return Et(arguments)}();Et.isLegacyArguments=In;var fs=ds?Et:In,ps=Object.prototype.toString,hs=Function.prototype.toString,ys=/^\s*(?:function)?\*/,On=sr(),Lt=Object.getPrototypeOf,gs=function(){if(!On)return!1;try{return Function("return function*() {}")()}catch{}},kt,ms=function(e){if(typeof e!="function")return!1;if(ys.test(hs.call(e)))return!0;if(!On){var r=ps.call(e);return r==="[object GeneratorFunction]"}if(!Lt)return!1;if(typeof kt>"u"){var n=gs();kt=n?Lt(n):!1}return Lt(e)===kt},Cn=Function.prototype.toString,$e=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Wt,lt;if(typeof $e=="function"&&typeof Object.defineProperty=="function")try{Wt=Object.defineProperty({},"length",{get:function(){throw lt}}),lt={},$e(function(){throw 42},null,Wt)}catch(t){t!==lt&&($e=null)}else $e=null;var bs=/^\s*class\b/,Jt=function(e){try{var r=Cn.call(e);return bs.test(r)}catch{return!1}},Pt=function(e){try{return Jt(e)?!1:(Cn.call(e),!0)}catch{return!1}},dt=Object.prototype.toString,vs="[object Object]",Ss="[object Function]",ws="[object GeneratorFunction]",Ts="[object HTMLAllCollection]",As="[object HTML document.all class]",Es="[object HTMLCollection]",Is=typeof Symbol=="function"&&!!Symbol.toStringTag,Os=!(0 in[,]),Yt=function(){return!1};if(typeof document=="object"){var Cs=document.all;dt.call(Cs)===dt.call(document.all)&&(Yt=function(e){if((Os||!e)&&(typeof e>"u"||typeof e=="object"))try{var r=dt.call(e);return(r===Ts||r===As||r===Es||r===vs)&&e("")==null}catch{}return!1})}var _s=$e?function(e){if(Yt(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{$e(e,null,Wt)}catch(r){if(r!==lt)return!1}return!Jt(e)&&Pt(e)}:function(e){if(Yt(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(Is)return Pt(e);if(Jt(e))return!1;var r=dt.call(e);return r!==Ss&&r!==ws&&!/^\[object HTML/.test(r)?!1:Pt(e)},Ls=_s,ks=Object.prototype.toString,_n=Object.prototype.hasOwnProperty,Ps=function(e,r,n){for(var i=0,o=e.length;i<o;i++)_n.call(e,i)&&(n==null?r(e[i],i,e):r.call(n,e[i],i,e))},Fs=function(e,r,n){for(var i=0,o=e.length;i<o;i++)n==null?r(e.charAt(i),i,e):r.call(n,e.charAt(i),i,e)},Ns=function(e,r,n){for(var i in e)_n.call(e,i)&&(n==null?r(e[i],i,e):r.call(n,e[i],i,e))},Ds=function(e,r,n){if(!Ls(r))throw new TypeError("iterator must be a function");var i;arguments.length>=3&&(i=n),ks.call(e)==="[object Array]"?Ps(e,r,i):typeof e=="string"?Fs(e,r,i):Ns(e,r,i)},Rs=Ds,Ft=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],Vs=typeof globalThis>"u"?rn:globalThis,$s=function(){for(var e=[],r=0;r<Ft.length;r++)typeof Vs[Ft[r]]=="function"&&(e[e.length]=Ft[r]);return e},gt=Rs,js=$s,Vr=wn,lr=En,ft=ur,Ms=lr("Object.prototype.toString"),Ln=sr(),$r=typeof globalThis>"u"?rn:globalThis,Xt=js(),dr=lr("String.prototype.slice"),Nt=Object.getPrototypeOf,Us=lr("Array.prototype.indexOf",!0)||function(e,r){for(var n=0;n<e.length;n+=1)if(e[n]===r)return n;return-1},mt={__proto__:null};Ln&&ft&&Nt?gt(Xt,function(t){var e=new $r[t];if(Symbol.toStringTag in e){var r=Nt(e),n=ft(r,Symbol.toStringTag);if(!n){var i=Nt(r);n=ft(i,Symbol.toStringTag)}mt["$"+t]=Vr(n.get)}}):gt(Xt,function(t){var e=new $r[t],r=e.slice||e.set;r&&(mt["$"+t]=Vr(r))});var qs=function(e){var r=!1;return gt(mt,function(n,i){if(!r)try{"$"+n(e)===i&&(r=dr(i,1))}catch{}}),r},xs=function(e){var r=!1;return gt(mt,function(n,i){if(!r)try{n(e),r=dr(i,1)}catch{}}),r},kn=function(e){if(!e||typeof e!="object")return!1;if(!Ln){var r=dr(Ms(e),8,-1);return Us(Xt,r)>-1?r:r!=="Object"?!1:xs(e)}return ft?qs(e):null},Bs=kn,Qs=function(e){return!!Bs(e)};(function(t){var e=fs,r=ms,n=kn,i=Qs;function o(y){return y.call.bind(y)}var s=typeof BigInt<"u",a=typeof Symbol<"u",u=o(Object.prototype.toString),d=o(Number.prototype.valueOf),c=o(String.prototype.valueOf),f=o(Boolean.prototype.valueOf);if(s)var h=o(BigInt.prototype.valueOf);if(a)var m=o(Symbol.prototype.valueOf);function b(y,$n){if(typeof y!="object")return!1;try{return $n(y),!0}catch{return!1}}t.isArgumentsObject=e,t.isGeneratorFunction=r,t.isTypedArray=i;function C(y){return typeof Promise<"u"&&y instanceof Promise||y!==null&&typeof y=="object"&&typeof y.then=="function"&&typeof y.catch=="function"}t.isPromise=C;function O(y){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(y):i(y)||p(y)}t.isArrayBufferView=O;function D(y){return n(y)==="Uint8Array"}t.isUint8Array=D;function $(y){return n(y)==="Uint8ClampedArray"}t.isUint8ClampedArray=$;function G(y){return n(y)==="Uint16Array"}t.isUint16Array=G;function W(y){return n(y)==="Uint32Array"}t.isUint32Array=W;function P(y){return n(y)==="Int8Array"}t.isInt8Array=P;function V(y){return n(y)==="Int16Array"}t.isInt16Array=V;function E(y){return n(y)==="Int32Array"}t.isInt32Array=E;function Z(y){return n(y)==="Float32Array"}t.isFloat32Array=Z;function ee(y){return n(y)==="Float64Array"}t.isFloat64Array=ee;function Ce(y){return n(y)==="BigInt64Array"}t.isBigInt64Array=Ce;function ve(y){return n(y)==="BigUint64Array"}t.isBigUint64Array=ve;function oe(y){return u(y)==="[object Map]"}oe.working=typeof Map<"u"&&oe(new Map);function It(y){return typeof Map>"u"?!1:oe.working?oe(y):y instanceof Map}t.isMap=It;function ye(y){return u(y)==="[object Set]"}ye.working=typeof Set<"u"&&ye(new Set);function Ge(y){return typeof Set>"u"?!1:ye.working?ye(y):y instanceof Set}t.isSet=Ge;function _e(y){return u(y)==="[object WeakMap]"}_e.working=typeof WeakMap<"u"&&_e(new WeakMap);function Ot(y){return typeof WeakMap>"u"?!1:_e.working?_e(y):y instanceof WeakMap}t.isWeakMap=Ot;function Le(y){return u(y)==="[object WeakSet]"}Le.working=typeof WeakSet<"u"&&Le(new WeakSet);function se(y){return Le(y)}t.isWeakSet=se;function ke(y){return u(y)==="[object ArrayBuffer]"}ke.working=typeof ArrayBuffer<"u"&&ke(new ArrayBuffer);function et(y){return typeof ArrayBuffer>"u"?!1:ke.working?ke(y):y instanceof ArrayBuffer}t.isArrayBuffer=et;function l(y){return u(y)==="[object DataView]"}l.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&l(new DataView(new ArrayBuffer(1),0,1));function p(y){return typeof DataView>"u"?!1:l.working?l(y):y instanceof DataView}t.isDataView=p;var g=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function S(y){return u(y)==="[object SharedArrayBuffer]"}function L(y){return typeof g>"u"?!1:(typeof S.working>"u"&&(S.working=S(new g)),S.working?S(y):y instanceof g)}t.isSharedArrayBuffer=L;function k(y){return u(y)==="[object AsyncFunction]"}t.isAsyncFunction=k;function T(y){return u(y)==="[object Map Iterator]"}t.isMapIterator=T;function _(y){return u(y)==="[object Set Iterator]"}t.isSetIterator=_;function N(y){return u(y)==="[object Generator]"}t.isGeneratorObject=N;function K(y){return u(y)==="[object WebAssembly.Module]"}t.isWebAssemblyCompiledModule=K;function Se(y){return b(y,d)}t.isNumberObject=Se;function tt(y){return b(y,c)}t.isStringObject=tt;function Pe(y){return b(y,f)}t.isBooleanObject=Pe;function rt(y){return s&&b(y,h)}t.isBigIntObject=rt;function hr(y){return a&&b(y,m)}t.isSymbolObject=hr;function Rn(y){return Se(y)||tt(y)||Pe(y)||rt(y)||hr(y)}t.isBoxedPrimitive=Rn;function Vn(y){return typeof Uint8Array<"u"&&(et(y)||L(y))}t.isAnyArrayBuffer=Vn,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(y){Object.defineProperty(t,y,{enumerable:!1,value:function(){throw new Error(y+" is not supported in userland")}})})})(yn);var Gs=function(e){return e&&typeof e=="object"&&typeof e.copy=="function"&&typeof e.fill=="function"&&typeof e.readUInt8=="function"},Zt={exports:{}};typeof Object.create=="function"?Zt.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Zt.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}};var Ks=Zt.exports;(function(t){var e=Object.getOwnPropertyDescriptors||function(p){for(var g=Object.keys(p),S={},L=0;L<g.length;L++)S[g[L]]=Object.getOwnPropertyDescriptor(p,g[L]);return S},r=/%[sdj%]/g;t.format=function(l){if(!P(l)){for(var p=[],g=0;g<arguments.length;g++)p.push(s(arguments[g]));return p.join(" ")}for(var g=1,S=arguments,L=S.length,k=String(l).replace(r,function(_){if(_==="%%")return"%";if(g>=L)return _;switch(_){case"%s":return String(S[g++]);case"%d":return Number(S[g++]);case"%j":try{return JSON.stringify(S[g++])}catch{return"[Circular]"}default:return _}}),T=S[g];g<L;T=S[++g])$(T)||!ee(T)?k+=" "+T:k+=" "+s(T);return k},t.deprecate=function(l,p){if(typeof w<"u"&&w.noDeprecation===!0)return l;if(typeof w>"u")return function(){return t.deprecate(l,p).apply(this,arguments)};var g=!1;function S(){if(!g){if(w.throwDeprecation)throw new Error(p);w.traceDeprecation?console.trace(p):console.error(p),g=!0}return l.apply(this,arguments)}return S};var n={},i=/^$/;if(w.env.NODE_DEBUG){var o=w.env.NODE_DEBUG;o=o.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),i=new RegExp("^"+o+"$","i")}t.debuglog=function(l){if(l=l.toUpperCase(),!n[l])if(i.test(l)){var p=w.pid;n[l]=function(){var g=t.format.apply(t,arguments);console.error("%s %d: %s",l,p,g)}}else n[l]=function(){};return n[l]};function s(l,p){var g={seen:[],stylize:u};return arguments.length>=3&&(g.depth=arguments[2]),arguments.length>=4&&(g.colors=arguments[3]),D(p)?g.showHidden=p:p&&t._extend(g,p),E(g.showHidden)&&(g.showHidden=!1),E(g.depth)&&(g.depth=2),E(g.colors)&&(g.colors=!1),E(g.customInspect)&&(g.customInspect=!0),g.colors&&(g.stylize=a),c(g,l,g.depth)}t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function a(l,p){var g=s.styles[p];return g?"\x1B["+s.colors[g][0]+"m"+l+"\x1B["+s.colors[g][1]+"m":l}function u(l,p){return l}function d(l){var p={};return l.forEach(function(g,S){p[g]=!0}),p}function c(l,p,g){if(l.customInspect&&p&&oe(p.inspect)&&p.inspect!==t.inspect&&!(p.constructor&&p.constructor.prototype===p)){var S=p.inspect(g,l);return P(S)||(S=c(l,S,g)),S}var L=f(l,p);if(L)return L;var k=Object.keys(p),T=d(k);if(l.showHidden&&(k=Object.getOwnPropertyNames(p)),ve(p)&&(k.indexOf("message")>=0||k.indexOf("description")>=0))return h(p);if(k.length===0){if(oe(p)){var _=p.name?": "+p.name:"";return l.stylize("[Function"+_+"]","special")}if(Z(p))return l.stylize(RegExp.prototype.toString.call(p),"regexp");if(Ce(p))return l.stylize(Date.prototype.toString.call(p),"date");if(ve(p))return h(p)}var N="",K=!1,Se=["{","}"];if(O(p)&&(K=!0,Se=["[","]"]),oe(p)){var tt=p.name?": "+p.name:"";N=" [Function"+tt+"]"}if(Z(p)&&(N=" "+RegExp.prototype.toString.call(p)),Ce(p)&&(N=" "+Date.prototype.toUTCString.call(p)),ve(p)&&(N=" "+h(p)),k.length===0&&(!K||p.length==0))return Se[0]+N+Se[1];if(g<0)return Z(p)?l.stylize(RegExp.prototype.toString.call(p),"regexp"):l.stylize("[Object]","special");l.seen.push(p);var Pe;return K?Pe=m(l,p,g,T,k):Pe=k.map(function(rt){return b(l,p,g,T,rt,K)}),l.seen.pop(),C(Pe,N,Se)}function f(l,p){if(E(p))return l.stylize("undefined","undefined");if(P(p)){var g="'"+JSON.stringify(p).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return l.stylize(g,"string")}if(W(p))return l.stylize(""+p,"number");if(D(p))return l.stylize(""+p,"boolean");if($(p))return l.stylize("null","null")}function h(l){return"["+Error.prototype.toString.call(l)+"]"}function m(l,p,g,S,L){for(var k=[],T=0,_=p.length;T<_;++T)Le(p,String(T))?k.push(b(l,p,g,S,String(T),!0)):k.push("");return L.forEach(function(N){N.match(/^\d+$/)||k.push(b(l,p,g,S,N,!0))}),k}function b(l,p,g,S,L,k){var T,_,N;if(N=Object.getOwnPropertyDescriptor(p,L)||{value:p[L]},N.get?N.set?_=l.stylize("[Getter/Setter]","special"):_=l.stylize("[Getter]","special"):N.set&&(_=l.stylize("[Setter]","special")),Le(S,L)||(T="["+L+"]"),_||(l.seen.indexOf(N.value)<0?($(g)?_=c(l,N.value,null):_=c(l,N.value,g-1),_.indexOf(`
2
+ `+n)};addListener=(e,r)=>this.listeners.has(e)?(this.addStateLog(`listener '${e}' not added, already exists`),()=>{}):(this.listeners.set(e,r),this.addStateLog(`listener '${e}' added`),()=>this.removeListener(e));removeListener=e=>{this.listeners.delete(e),this.addStateLog(`listener '${e}' removed`)};connect=()=>{this.updateState(J.Connecting),this.streamCancel&&(this.addStateLog("disconnect prev connection"),this.streamCancel.abort(),this.streamCancel=void 0);const e="get"in this.params&&typeof this.params.get=="function"?this.params.get():this.params;(async()=>{this.streamCancel=new AbortController;try{const n={headers:this.headers.getValues(),signal:this.streamCancel.signal},i=this.method(e,n);for await(const o of i)this.attempt=0,this.onData(o)}catch(n){n instanceof M.ConnectError&&n.code!=M.Code.Canceled&&this.onStreamError(n)}})(),this.updateState(J.Connected)};disconnect=()=>{this.streamCancel&&this.streamCancel.abort(),this.listeners.clear(),this.paramsListener?.(),clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0,this.updateState(J.Disconnected)};reconnect=()=>{if(this.reconnectTimeout)this.addStateLog("already reconnecting");else if(this.attempt<this.options.reconnectMaxAttempts){this.updateState(J.Reconnect);const e=Math.min(this.options.reconnectMaxDelay,Math.pow(2,this.attempt)*this.options.reconnectDelay),r=Math.round(e*(1+Math.random())/2);this.reconnectTimeout=setTimeout(()=>{this.attempt++,this.updateState(J.Reconnecting),this.addStateLog(`reconnect attempt ${this.attempt} after ${r}ms`),this.connect(),this.reconnectTimeout=void 0},r)}else this.addStateLog("max reconnect attempts reached"),this.disconnect()};getStore=()=>this.store?.getStore();onData=e=>{try{this.addStateLog(`received data => ${JSON.stringify(e)}`),this.store&&this.store.setValue(e);for(const[,r]of this.listeners)r(e);this.addStateLog(`data routed to ${this.listeners.size} listeners`)}catch(r){this.addStateLog(`error process data => ${r}`)}};onStreamError=e=>{if(this.addStateLog(`error => ${e?JSON.stringify(e):"undefined"}}`),e!==void 0){if(e instanceof M.ConnectError&&e.code!==M.Code.Canceled){this.updateState(J.Failed),this.state.setValue("error",e),this.reconnect();return}this.disconnect()}}}const ti=new Set([M.Code.Unknown,M.Code.Internal,M.Code.DeadlineExceeded,M.Code.ResourceExhausted,M.Code.FailedPrecondition,M.Code.Unavailable,M.Code.DataLoss]),br=be("grpc:retry"),ri=t=>async e=>{const r=e.contextValues.get(Qt.retryAttempts),n=300,i=e.contextValues.get(Qt.retryDelay);if(e.stream||r===0)return t(e);br.trace({url:e.url,attempts:r,maxDelay:i},"retry options");for(let o=0;;o++)try{return await t(e)}catch(s){br.trace({attempt:o,error:s},"retry attempt");const a=M.ConnectError.from(s);if(o>=r||!(a instanceof M.ConnectError)||!ti.has(a.code))throw s;const u=Math.min(i,Math.pow(2,o)*n),d=Math.round(u*(1+Math.random())/2);await new Promise(c=>setTimeout(c,d))}},Qt={retryAttempts:M.createContextKey(5,{description:"Number of attempts to retry"}),retryDelay:M.createContextKey(3e4,{description:"Max delay between retries in milliseconds"})},ni=()=>{const t=localStorage.getItem("sl-device-id");if(t)return t;const e=qt.nanoid();return localStorage.setItem("sl-device-id",e),e},ii=()=>navigator.userAgentData?.platform||navigator.platform;class vr{toJsonOptions={emitDefaultValues:!1,enumAsInteger:!0,useProtoFieldName:!1};transport;streamTransport;nanoquery;host;$headers;interceptors=[];clients;streamClients;subscriptions;opts;constructor(e,r){this.host=e,this.opts=r,this.$headers=new Ae(ie({"sl-device-id":ni(),"sl-device-os":ii()}),"transport:headers"),this.initInterceptors(),this.clients=new Map,this.streamClients=new Map,this.subscriptions=new Map;const[n,i,o]=gr.nanoquery({dedupeTime:r?.dedupeTime,refetchInterval:r?.refetchInterval});this.nanoquery={createFetcherStore:n,createMutatorStore:i,utils:o},this.transport=yr.createGrpcWebTransport({baseUrl:e,defaultTimeoutMs:1e4,interceptors:this.interceptors,useBinaryFormat:!0}),this.streamTransport=yr.createGrpcWebTransport({baseUrl:e,interceptors:this.interceptors,useBinaryFormat:!0})}addSubscription=(e,r,n)=>{const i=this.subscriptions.get(r);if(i)return i;const o=new ei(this.$headers,e,r,n);return this.subscriptions.set(r,o),o};removeSubscription=e=>{e.disconnect(),this.subscriptions.delete(e.params)};disconnect=()=>{for(const[i,o]of this.subscriptions)o.disconnect(),this.subscriptions.delete(i);this.clients.clear(),this.streamClients.clear(),this.subscriptions.clear();const[e,r,n]=gr.nanoquery({dedupeTime:1e3*60*5,refetchInterval:1e3*60*5});this.nanoquery={createFetcherStore:e,createMutatorStore:r,utils:n}};registerInterceptor=e=>{this.interceptors.push(e)};removeInterceptor=e=>{this.interceptors=this.interceptors.filter(r=>r!==e)};getClient=e=>{const r=e.typeName;if(this.clients.has(r))return this.clients.get(r);const n=M.createPromiseClient(e,this.transport);return this.clients.set(r,n),n};getStreamClient=e=>{const r=`stream-${e.typeName}`;if(this.clients.has(r))return this.clients.get(r);const n=M.createPromiseClient(e,this.streamTransport);return this.clients.set(r,n),n};createPromiseClient=(e,{params:r=[],method:n})=>{const i=this.getClient(e),o=e.methods[n].name,s=[e.typeName,o.charAt(0).toLowerCase()+o.slice(1),...Array.isArray(r)?r:[r]],a=[e.typeName,o.charAt(0).toLowerCase()+o.slice(1)];return{client:i,createRequestOptions:d=>{const c=M.createContextValues();for(const f in d){const h=Qt[f];c.set(h,d[f])}return c},queryKey:s,queryKeyStr:a.join("")}};createStreamClient=e=>({client:this.getStreamClient(e)});setSdkKey=e=>{this.$headers.setValue("sdk",e)};setAuth=(e,r)=>{this.$headers.setValue("authorization",e),this.$headers.setValue("sl-user-id",r)};setHeader=(e,r)=>this.$headers.setValue(e,r);getHeader=e=>this.$headers.getValue(e);getHeaders=()=>this.$headers.getValues();initInterceptors=()=>{if(this.interceptors.length!==0)return;const e=r=>n=>{const i=this.$headers.getValues();for(const o in i)n.header.set(o,i[o]);return r(n)};this.interceptors.push(e),this.interceptors.push(Zn()),this.opts?.retryable&&this.interceptors.push(ri)}}const oi=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Mn.Events,{method:"retrieveEventId",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>{if(!s||typeof s!="string")return"";try{return(await r.retrieveEventId({id:s})).data?.id||""}catch{return""}}})},si=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Xe.Client,{method:"getStream",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>s?(await r.getStream({id:s})).data?.attributes:void 0})},ai=(t,e)=>{const{queryKey:r,client:n}=e.createPromiseClient(rr.Users,{method:"me",params:[t]});return e.nanoquery.createFetcherStore(r,{fetcher:()=>n.me({})})},ui=t=>{const{client:e,createRequestOptions:r}=t.createPromiseClient(rr.Users,{method:"bypassAuth"}),n=r({retryAttempts:0});return({userKey:i,schema:o,init:s,inviterKey:a})=>e.bypassAuth({userKey:i,schema:o,init:s,inviterKey:a},{contextValues:n})},ci=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Xe.Client,{method:"get",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async()=>(await r.get({})).data?.attributes})},li=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Xe.Client,{method:"getOrganization",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async()=>{const i=await r.getOrganization({});return i.data?{...i.data.attributes,id:i.data.id}:void 0}})},di=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(Xe.Client,{method:"getOrganizationAdvertising",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async()=>(await r.getOrganizationAdvertising({})).data?.attributes})},fi=(t,e,r)=>{t.transport=new vr(e.host,{dedupeTime:1e3*60*5,refetchInterval:1e3*60*5,retryable:!0}),t.analyticsTransport=new vr(e.analyticsHost),t.sdk.host=t.transport.host,t.transport.setSdkKey(e.sdkKey),t.transport.setHeader("sl-sdk-version",e.version||"-"),t.transport.$headers.subscribe(n=>{t.analyticsTransport.$headers.getStore().set(n)}),t.sdk.onMount(()=>()=>{t.transport.disconnect(),t.analyticsTransport.disconnect()}),r()};class St{delimiter=":";prefix;storage;constructor(e="main",r=window.localStorage){this.prefix=`sl-sdk${this.delimiter}${e}`,this.storage=r}clear=()=>{for(const e in window.localStorage)e.startsWith(this.prefix)&&this.storage.removeItem(e)};generateKey=e=>`${this.prefix}${this.delimiter}${e.join(this.delimiter)}`;write=(...e)=>{const r=e.pop()||"";this.storage.setItem(this.generateKey(e),r)};read=(...e)=>{const r=this.storage.getItem(this.generateKey(e));return r===null?void 0:r};remove=(...e)=>{this.storage.removeItem(this.generateKey(e))}}var ae;(function(t){t.SCHEMA="schema",t.EXTERNAL_TOKEN="eToken",t.TOKEN="token"})(ae||(ae={}));class Re extends St{constructor(){super("user")}setSchema=e=>{this.write(ae.SCHEMA,e)};getSchema=()=>this.read(ae.SCHEMA);setToken=e=>{this.write(ae.TOKEN,e)};getToken=()=>this.read(ae.TOKEN);setExternalToken=e=>{this.write(ae.EXTERNAL_TOKEN,e)};getExternalToken=()=>this.read(ae.EXTERNAL_TOKEN);removeToken=()=>{this.remove(ae.TOKEN)}}var ce;(function(t){t.DISABLED="disabled",t.INITIALIZATION="initialization",t.READY="ready",t.FAILED="failed",t.SUSPENDED="suspended"})(ce||(ce={}));const pi=t=>{const e=new Re,r=new H(Q(e.getExternalToken()),"userKey"),n=new H(Q(e.getToken()),"userToken"),i=new pe(ai(n.getStore(),t),"user",({data:s,error:a,loading:u},d)=>{if(!a)return s?.data?.id?s.data.id:u===!1?void 0:d}),o=new pe(ci(n.getStore(),t),"userSettings");return{userKey:r,userToken:n,user:i,userSettings:o}},hi=t=>{const e=new H(Q(void 0),"providerStreamId"),r=new pe(oi(e.getStore(),t),"slStreamId",i=>i?.data),n=new pe(si(r.getAtomStore(),t),"streamSettings");return r.getAtomStore().listen(i=>{(i===""||i===void 0)&&n.getStore().mutate(void 0)}),{providerStreamId:e,slStreamId:r,streamSettings:n}},yi=t=>{const e=new H(Q(void 0),"enabled"),r=new H(Q(ce.DISABLED),"status"),n=new pe(li(e.getStore(),t),"organizationSettings",a=>a?.data?.id),i=new pe(di(n.getAtomStore(),t),"organizationAdvertising"),o=pi(t),s=hi(t);return{enabled:e,status:r,providerStreamId:s.providerStreamId,slStreamId:s.slStreamId,streamSettings:s.streamSettings,user:o.user,userKey:o.userKey,userToken:o.userToken,userSettings:o.userSettings,organizationSettings:n,organizationAdvertising:i}};class gi extends vt{stores;constructor(e){const r=yi(e),n=Jn(r);super(n,"core"),this.stores=r}getValue(){throw new Error("Not implemented")}getValues(){return this.stores}setValue(){throw new Error("Not implemented")}subscribe=e=>{let r;for(r in this.stores){const n=e[r];r in e&&n!==void 0&&this.stores[r].subscribe(e[r])}};unsubscribe=()=>this.getStore().off()}const mi=(t,e,r)=>{t.store=new gi(t.transport),t.stores=t.store.getValues(),t.sdk.enabled=t.stores.enabled.getStore(),t.sdk.status=t.stores.status.getStore(),t.sdk.sdkStore=Object.fromEntries(Object.entries(t.stores).map(([n,i])=>[n,i.getStore()])),t.sdk.organizationStore=()=>t.stores.organizationSettings.getStore(),t.sdk.streamStore=()=>t.stores.streamSettings.getStore(),t.storeUnsubscribe=()=>{t.store.unsubscribe()},r()},bi=t=>{const{client:e}=t.createPromiseClient(Gr.Leaderboard,{method:"list"});return r=>e.list(r)},Xr=t=>{const{client:e}=t.createPromiseClient(Gr.Leaderboard,{method:"summary"});return r=>e.summary(r)},vi=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(rr.Users,{method:"getFriends",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>s?(await r.getFriends({})).data:[]})},Si=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(me.Feed,{method:"get",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>(await r.get({eventId:s})).data?.attributes,refetchInterval:0,dedupeTime:1e3*60*60})},wi=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(me.Feed,{method:"syncQuestion",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>s?(await r.syncQuestion({filter:{eventId:s}})).data?.attributes:void 0,dedupeTime:1e3*60*10,refetchInterval:0})},Ti=(t,e)=>{const{client:r}=e.createStreamClient(me.Feed),n=X.atom({eventId:t.get()||"",feedId:""});return t.subscribe((o="")=>{n.set({eventId:o,feedId:""})}),e.addSubscription(r.subscription,n,{name:"feedSubscription"})},Ai=(t,e)=>{const{client:r}=e.createStreamClient(me.Feed);return e.addSubscription(r.questionSubscription,{questionId:t},{name:"questionSubscription"})},Gt=(t,e)=>{const{client:r,queryKey:n}=e.createPromiseClient(me.Feed,{method:"questionByUser",params:[t]});return e.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s)=>(await r.questionByUser({questionId:s})).data?.attributes?.question,dedupeTime:1e3*60*5})},Ei=(t,e,r)=>{const{client:n,queryKey:i}=r.createPromiseClient(me.Feed,{method:"list",params:[t,e]});return r.nanoquery.createFetcherStore(i,{fetcher:async(o,s,a,u)=>a?(await n.list({eventId:a,filter:{types:u===Ee.ALLOWED?[]:[I.QuestionType.FACTOID,I.QuestionType.PROMOTION,I.QuestionType.TWEET],statuses:[I.QuestionStatus.ACTIVE,I.QuestionStatus.RESOLVED]}})).data:[],dedupeTime:0,refetchInterval:0})},Ii=(t,e,r)=>{const n=X.batched([e,r],()=>{const a=e.get();if(!a)return;const u=r.get().data?.find(c=>c.id===a?.questionId),d=a?.question?.openedFrom;return u?(u.openedFrom=d,u):a.question}),i=X.batched(n,a=>a&&a.type==="question"?a.id:void 0),o=Gt(i,t);return{$store:n,$extendedStore:o,updateExtendedQuestion:a=>{const u=o.get().data,d=(c,f)=>{if(!c||!f)return c||f||[];const h=[];for(let m=0;m<c.length;m++)h.push({...c[m],...f[m],correct:c[m].correct,youVoted:c[m].youVoted,pointsEarned:c[m].pointsEarned});return h};o.mutate({...a,options:u?.options,subject:u?.subject,appearance:u?.appearance,answers:d(u?.answers,a?.answers)})}}};var Ee;(function(t){t.ALLOWED="allowed",t.DISALLOWED="disallowed"})(Ee||(Ee={}));class Oi{slStreamId;organizationId;userId;interactiveAllowed;openedQuestionId;openedQuestion;activeQuestionId;feedList;moderationId;moderation;feedSubscription;questionSubscription;notifications;log;transport;cancels=new Set;constructor(e){this.transport=e.transport,this.log=be("gamification-background"),this.slStreamId=e.stores.slStreamId.getAtomStore(),this.organizationId=e.stores.organizationSettings.getAtomStore(),this.userId=e.stores.user.getAtomStore(),this.moderationId=new H(Q(void 0),"moderationId").getStore(),this.interactiveAllowed=new H(Q(Ee.DISALLOWED),"interactiveAllowed").getStore(),this.openedQuestionId=new H(Q(void 0),"openedQuestionId").getStore(),this.notifications=e.notifications,this.moderation=new pe(Si(this.slStreamId,e.transport),"gamification:moderation"),this.feedList=new pe(Ei(this.slStreamId,this.interactiveAllowed,e.transport),"gamification:feedList"),this.activeQuestionId=wi(this.slStreamId,e.transport),this.openedQuestion=Ii(e.transport,this.openedQuestionId,this.feedList.getStore()),this.cancels.add(this.openedQuestionId.listen(r=>{this.log.debug({item:r},"received question"),r?.questionId?(this.questionSubscription=Ai(r.questionId,e.transport),this.questionSubscription.addListener("feed-subscription-opened-question",n=>{this.openedQuestion.updateExtendedQuestion(n.data?.attributes?.question)}),this.questionSubscription.connect()):(this.log.info("cleanup on close question"),this.questionSubscription!==void 0&&(e.transport.removeSubscription(this.questionSubscription),this.questionSubscription=void 0))})),this.feedSubscription=Ti(this.slStreamId,e.transport),this.cancels.add(this.feedSubscription.addListener("feed-subscription-active-question",r=>{const n=this.activeQuestionId.get().data?.question?.id,i=r.data?.attributes?.question;i&&(n&&i.status===I.QuestionStatus.RESOLVED&&i.id!==n||this.activeQuestionId.mutate(r.data?.attributes))})),this.cancels.add(this.feedSubscription.addListener("moderation update",r=>{window.requestAnimationFrame(()=>{r.data?.attributes?.question===void 0&&r.data?.attributes?.moderation&&this.moderation.invalidate()})})),this.feedSubscription.connect(),this.cancels.add(this.interactiveAllowed.listen(()=>{window.requestAnimationFrame(()=>{this.activeQuestionId.invalidate()})})),e.sdk.onMount(()=>()=>{this.activeQuestionId.off();for(const r of this.cancels)r(),this.cancels.delete(r)})}getCurrentSessionId=e=>{const r=e.eventId||this.slStreamId.get()||"",n=e.userId||this.userId.get()||"",i=e.organizationId||this.organizationId.get()||"",o=e.entity||"",s=e.prefix||"";return[i,r,n,s,o].join(":")};disconnect=()=>{this.feedSubscription?.disconnect(),this.questionSubscription!==void 0&&(this.transport.removeSubscription(this.questionSubscription),this.questionSubscription=void 0)};openQuestion=(e,r)=>{this.openedQuestionId.set({questionId:e,question:r}),this.notifications.markAsViewed(this.getCurrentSessionId({prefix:"notification",entity:e}))};closeQuestion=e=>{this.openedQuestionId.set(void 0),e&&this.notifications.markAsViewed(this.getCurrentSessionId({prefix:"notification",entity:e}))}}class Ci{notificationsList;store;timeouts;waitingQueue;activeQueue;options;logger;constructor(e){this.options=e,this.logger=be("notifications"),this.store=new Map,this.timeouts=new Map,this.waitingQueue=new Set,this.activeQueue=new Set,this.notificationsList=Q(new Map)}addToQueue=e=>{if(this.store.has(e.id)){this.logger.debug({notification:e},"skip existed notification: %o");return}const r=e.close,n=e.action;if(this.store.set(e.id,{...e,close:(...i)=>{r&&r(...i),this.closeNotification(e.id)},action:(...i)=>{n&&n(...i),this.closeNotification(e.id)}}),this.waitingQueue.add(e.id),this.activeQueue.size===this.options.concurrency){const[i]=this.activeQueue;if(this.store.get(i)?.persistent!==!0)this.closeNotification(i);else{const[s]=this.waitingQueue;this.waitingQueue.size>1&&this.closeNotification(s),this.tickWaitingQueue()}}else this.tickWaitingQueue()};tickWaitingQueue=()=>{if(this.activeQueue.size<this.options.concurrency){const[e]=this.waitingQueue;if(!e)return;this.activeQueue.add(e),this.waitingQueue.delete(e),this.logger.debug({job:e},"waiting queue tick"),this.tickActiveQueue(e)}else this.logger.debug({queueSize:this.activeQueue.size,concurrency:this.options.concurrency},"waiting queue tick skipped")};tickActiveQueue=e=>{if(!e)return;const r=this.store.get(e);if(!r){this.logger.debug({notificationId:e},"active queue tick skipped, notification not exist");return}const n=setTimeout(()=>{const i=e,o=new Map(this.notificationsList.get());o.set(r.id,r),this.notificationsList.set(o);const s=setTimeout(()=>{this.logger.debug({notificationId:i,delay:r.autoHideDuration||5e3},"notification hiding by autoHideDuration"),this.closeNotification(i)},r.autoHideDuration||5e3);this.timeouts.set(i,s),this.logger.debug({notificationId:i,queue:[...o.values()]},"notification displayed")},r.delay||0);this.timeouts.set(e,n),this.logger.debug({notificationId:e},"active queue tick completed"),this.tickWaitingQueue()};closeNotification=e=>{const r=new Map(this.notificationsList.get()),n=r.get(e);if(n){n.hiding=!(this.waitingQueue.size>=this.options.concurrency),this.notificationsList.set(r);const i=setTimeout(()=>{const o=new Map(this.notificationsList.get());o.delete(e),this.notificationsList.set(o);const s=this.timeouts.get(e);s!==void 0&&(clearTimeout(s),this.timeouts.delete(e)),this.logger.debug({notificationId:e},"notification hidden")},this.options.animationDelay||0);this.timeouts.set(e,i)}return this.store.delete(e),this.activeQueue.delete(e),this.waitingQueue.delete(e),this.tickWaitingQueue(),this.logger.debug({notificationId:e},"notification hiding"),n};drain=()=>{this.store.clear(),this.timeouts.clear(),this.waitingQueue.clear(),this.activeQueue.clear(),this.notificationsList.off(),this.notificationsList.set(new Map)}}var pt;(function(t){t.OPENED="opened"})(pt||(pt={}));class _i extends St{constructor(){super("notification")}setOpened=e=>{this.write(pt.OPENED,e,"true")};isOpened=e=>this.read(pt.OPENED,e);clearNotification=()=>{this.clear()}}var ge;(function(t){t[t.ONBOARDING=1]="ONBOARDING",t[t.QUESTION=2]="QUESTION",t[t.QUESTION_RESOLVED=3]="QUESTION_RESOLVED"})(ge||(ge={}));class Li{queue;storage;constructor(e={}){this.storage=new _i,this.queue=new Ci({concurrency:1,animationDelay:1600,...e})}add=e=>{if(!this.storage.isOpened(e.id)){if(e.data&&e.emitEvent){const n=e.action;e.action=(...i)=>{n&&n(...i),fe.emit("notification",{action:"opened",payload:{questionId:e.data.questionId,questionType:e.data.questionType}})}}this.queue.addToQueue(e)}};close=(e,r=!0)=>{this.queue.closeNotification(e),r&&this.markAsViewed(e)};getActiveNotification=()=>{const e=this.queue.notificationsList.get();if(!e?.size)return null;for(const n of e.values())if(n.type===ge.ONBOARDING)return n;return e.values().next().value};getQueueStore=()=>this.queue.notificationsList;markAsViewed=e=>{this.storage.setOpened(e)}}const ki=(t,e,r)=>{t.notifications=new Li(void 0),t.addNotification=t.notifications.add,t.sdk.getNotificationsStore=()=>t.notifications.getQueueStore(),t.sdk.getActiveNotification=()=>t.notifications.getActiveNotification(),t.sdk.onMount(()=>()=>{t.notifications.queue.drain()}),r()};var Ye;(function(t){t.UNKNOWN="unknown",t.ALREADY_VOTED="already_voted"})(Ye||(Ye={}));const Pi=async(t,e)=>{const{client:r,createRequestOptions:n}=t.createPromiseClient(me.Feed,{method:"submitAnswer"}),i=n({retryAttempts:0});try{return await r.submitAnswer({data:e},{contextValues:i})}catch(o){throw M.ConnectError.from(o)?.code===M.Code.AlreadyExists?new Error(Ye.ALREADY_VOTED):new Error(Ye.UNKNOWN)}},Fi=(t,e)=>{const{client:r,createRequestOptions:n}=t.createPromiseClient(me.Feed,{method:"submitInplay"}),i=n({retryAttempts:0});return r.submitInplay({data:{eventId:+e}},{contextValues:i})};var Ve;(function(t){t.ONBOARDING="onboarding",t.ONBOARDING_IO="onboarding_io"})(Ve||(Ve={}));class Zr extends St{constructor(){super("gamification")}saveOnboardingStatus=({userId:e,eventId:r,organizationId:n},i)=>{this.write(Ve.ONBOARDING,n,e,r,i)};getOnboardingStatus=({userId:e,eventId:r,organizationId:n})=>this.read(Ve.ONBOARDING,n,e,r);setOnboardingInstantOpen=({userId:e,eventId:r,organizationId:n})=>{const i=this.generateKey([Ve.ONBOARDING_IO,n,e,r]);window.sessionStorage.setItem(i,"1")};getOnboardingInstantOpen=({userId:e,eventId:r,organizationId:n})=>{const i=this.generateKey([Ve.ONBOARDING_IO,n,e,r]);return window.sessionStorage.getItem(i)}}const Ni={pageSize:10},Di=(t,e,r,n,i)=>{let o=0;const s=Q({pageSize:i?.pageSize||Ni.pageSize,page:0}),a=ie({data:[],key:Date.now(),hasMore:!0,loading:void 0,error:void 0}),u=bi(t),d=async()=>{const h=e.get(),m=n.getStore().get().data?.map(b=>b.slId)||[];if(h&&m?.length){const b=r.get();b&&m.push(b),a.setKey("loading",!0),a.setKey("data",[]);const O=await u({eventId:h,usersIds:m});a.set({data:O.data.map((D,$)=>({...D.attributes,friendsRank:$+1})),hasMore:!1,key:Date.now(),loading:!1}),O.meta&&(o=Math.round(O.meta.count/O.meta.pageSize))}},c=()=>{d()},f=h=>{const m=s.get(),b=h||m.page+1;b<=o&&s.set({...m,page:b})};return X.onMount(a,()=>{const h=e.listen(d),m=n.listen(d);return()=>{h(),m()}}),{$store:a,fetchMore:f,invalidate:c}};class Ri extends St{get=this.read;set=this.write;del=this.remove;constructor(){super("deep-link-context",window.sessionStorage)}}const Sr="sldl",wt="sldl_uid",en="sldl_eid",tn="sldl_e_eid",Vi=new Set([wt,en,tn]),wr=t=>{const e={},r={};for(const[n,i]of t)Vi.has(n)?e[n]=i:r[n]=i;return{result:e,remain:r}},$i=({hash:t,search:e})=>{if(t&&t.includes(Sr)){const r=new URLSearchParams(t.substr(1));return{hash:wr(r)}}if(e&&e.includes(Sr)){const r=new URLSearchParams(e);return{search:wr(r)}}return null},Tr=be("deep_link"),ne={debug:(...t)=>{Tr.debug(...t),localStorage.getItem("SL_DEBUG")&&console.log(...t)},trace:(...t)=>{Tr.trace(...t),localStorage.getItem("SL_DEBUG")&&console.log(...t)}},ji=(t,e)=>{const{hash:r,search:n}=window.location;if(ne.debug({hash:r,search:n},"get deep link data from"),r||n){const i=$i({hash:r,search:n});if(ne.debug(i,"parse deep link result"),i){const{hash:o,search:s}=i,{result:a,remain:u}=o||s;if(Object.keys(a).length!==0){t.setValue("data",a);const d=Object.keys(u).length!==0;if(o){let c="";d&&(c=`#${new URLSearchParams(u).toString()}`,ne.debug({updatedHash:c},"update hash")),window.history.replaceState(null,"",window.location.pathname+window.location.search+c)}if(s){let c="";d&&(c=`?${new URLSearchParams(u).toString()}`,ne.debug({updatedSearch:c},"update search")),window.history.replaceState(null,"",window.location.pathname+c+window.location.hash)}e(a)}}}t.setValue("parsed",!0)},Mi=(t,e,r)=>{const n=new Ri,i=n.get("sl-deep-link-store");let o={};if(i)try{o=JSON.parse(i)}catch(a){ne.debug(a)}t.deepLink={$store:new Ae(ie(o),"deep-link-context"),getDeepLinkData:()=>{const{data:a,used:u}=t.deepLink.$store.getValues();return{data:a,used:u}},deepLinkUsed:a=>{ne.debug(`logged in with inviterId: ${a}`),t.deepLink.$store.setValue("used",!0)},onDeepLinkHandlers:new Set},t.sdk.getInviter=()=>{const{data:a,used:u}=t.deepLink.getDeepLinkData();return u?a?.[wt]:void 0},t.sdk.inviteDisplayed=()=>{t.deepLink.$store.getStore().set({}),t.deepLink.$store.getStore().off(),n.del("sl-deep-link-store")},t.deepLink.$store.subscribe(a=>n.set("sl-deep-link-store",JSON.stringify(a))),t.sdk.addDeepLinkHandler=a=>{localStorage.getItem("SL_DEBUG")&&ne.trace("adding deep link handler"),t.deepLink.onDeepLinkHandlers.add(a)},e.onDeepLinkHandled&&t.sdk.addDeepLinkHandler(e.onDeepLinkHandled),t.sdk.removeDeepLinkHandler=a=>{ne.trace("removing deep link handler"),t.deepLink.onDeepLinkHandlers.delete(a)};const s=a=>{t.deepLink.$store.setValue("handled",!0),ne.trace({size:t.deepLink.onDeepLinkHandlers.size},"deep link handled, call callbacks");for(const u of t.deepLink.onDeepLinkHandlers)try{ne.trace("called handler"),u(a)}catch(d){console.error(d)}};ji(t.deepLink.$store,s),r()},Ui=be("bypass");class qi extends Wn{$coreStore;deepLink;transport;bypassLogin;constructor(e,r,n){super(),this.$coreStore=e,this.deepLink=n,this.transport=r,this.bypassLogin=ui(this.transport),this.connect()}me=async()=>(this.$coreStore.getValues().user.invalidate(),(await this.$coreStore.getValues().user.getValue())?.data);login=async(e,r)=>{this.$coreStore.getValues().userKey.setValue(r);const{used:n,data:i}=this.deepLink.getDeepLinkData(),o=n?"":i?.[wt];Ui.debug({inviterKey:o},"login with inviterKey");const s=await this.bypassLogin({schema:e,userKey:r,inviterKey:o,init:!1}),a=s.meta?.jwt,u=s.data?.id;if(!a||!u)throw new Error("internal: token missing");return s.meta?.inviterKey&&this.deepLink.deepLinkUsed(s.meta.inviterKey),this.$coreStore.getValues().user.getStore().mutate(s),this.saveUser(a,u),a};isAuthenticated=()=>this.me();logout=()=>{this.$coreStore.getValues().user.setValue(),this.$coreStore.getValues().userKey.setValue(),this.$coreStore.getValues().userToken.setValue(),this.transport.setAuth("",""),new Re().clear()};softLogout=()=>{const e=new Re;this.transport.setAuth("",""),e.setToken(""),this.reLogin()};reLogin=()=>{const e=new Re,r=e.getToken(),n=e.getExternalToken();if(this.$coreStore.getValues().userKey.setValue(n),r)return this.saveUser(r,""),this.me().then(i=>{if(i?.id){const o=i.id;this.saveUser(r,o)}});if(n&&!r){const i=e.getSchema();i&&n&&this.login(i,n).catch(()=>{this.logout()})}};saveUser=(e,r)=>{this.transport.setAuth(e,r),this.$coreStore.getValues().userToken.setValue(e),new Re().setToken(e)};connect=()=>{this.transport.registerInterceptor(e=>async r=>{try{return await e(r)}catch(n){throw n.code&&(n.code===7||n.code===16)&&this.transport.getHeader("authorization")&&this.softLogout(),n}})}}const Ke=new Re,xi=(t,e,r)=>{t.auth=new qi(t.store,t.transport,t.deepLink),t.stores.status.listen(n=>{n===ce.READY&&t.auth.reLogin()}),t.sdk.userId=t.stores.user.getAtomStore,t.sdk.authorizationBypass=async(n,i)=>{if(!(Ke.getSchema()===n&&Ke.getExternalToken()===i&&t.transport.getHeader("authorization")))try{await t.auth.login(n,i),Ke.setSchema(n),Ke.setExternalToken(i)}catch{t.sdk.logout()}},t.sdk.logout=()=>{t.auth.logout(),Ke.clear()},t.sdk.getUserStore=()=>t.stores.user.getStore(),t.sdk.isUserAuthorized=()=>t.auth.isAuthenticated(),r()},Ar=be("video_player"),ot={debug:(...t)=>{Ar.debug(...t),localStorage.getItem("SL_DEBUG")&&console.log(...t)},trace:(...t)=>{Ar.trace(...t),localStorage.getItem("SL_DEBUG")&&console.log(...t)}},Bi=(t,e,r)=>{t.videoPlayer={controllers:new Set},t.sdk.addVideoPlayerController=n=>{ot.trace("adding video player controller"),t.videoPlayer.controllers.add(n)},e.videoPlayerController&&t.sdk.addVideoPlayerController(e.videoPlayerController),t.sdk.removeVideoPlayerController=n=>{ot.trace("removing video player controller"),t.videoPlayer.controllers.delete(n)},t.sdk.controlVideoPlayer=n=>{ot.trace("controlling video player");for(const i of t.videoPlayer.controllers){ot.trace("calling video player controller");try{i(n)}catch(o){console.error(o)}}},r()},Qi=(t,e,r)=>{const n={onMountedFired:!1},i=new Set,o=new Set;t.sdk=Object.create(null),t.sdk.onMount=s=>{i.has(s)||(i.add(s),t?.stores?.enabled?.get()==="on"&&o.add(s()))},t.ready=()=>{t.stores.enabled.subscribe(s=>{s==="on"&&n.onMountedFired===!1&&(i.forEach(a=>o.add(a())),n.onMountedFired=!0),s!=="on"&&n.onMountedFired===!0&&(o.forEach(a=>a()),o.clear(),n.onMountedFired=!1)})},t.sdk.initializeApp=async s=>{if(t.contextConfig=s,t.stores.enabled.get()==="on")return{enabled:!0};t.storeSubscribe(),t.stores.enabled.setValue("on"),t.stores.status.setValue(ce.INITIALIZATION);try{const a=await t.stores.organizationSettings.getValue();return a?(t.stores.status.setValue(ce.READY),{enabled:!!a}):(t.stores.status.setValue(ce.FAILED),{err:"failed"})}catch(a){return t.stores.enabled.setValue(),t.stores.status.setValue(ce.FAILED),{err:`${a}`}}},t.sdk.disableApp=()=>{t.stores.enabled.get()==="on"&&(t.stores.enabled.setValue(),t.stores.status.setValue(ce.DISABLED),t.stores.slStreamId.setValue(),t.stores.providerStreamId.setValue(),t.sdk.closeFeature(!0),t.storeUnsubscribe(),t.transport.disconnect())},t.sdk.createEventSession=s=>{t.stores.providerStreamId.setValue(s)},r()},Gi=(t,e)=>{const{client:r,queryKey:n}=t.createPromiseClient(Xe.Client,{method:"generateDeepLink",params:e});return t.nanoquery.createFetcherStore(n,{fetcher:async(i,o,s,a)=>s?(await r.generateDeepLink({data:{gamification:!0,externalEventId:a,eventId:s}})).data?.attributes:{},dedupeTime:1e3*60*60*24,refetchInterval:0})},Ki=(t,{web:e,mobile:r})=>{const{client:n}=t.createPromiseClient(Un.LinksClient,{method:"generate"});return n.generate({web:e,mobile:r})},Er=(t,e)=>{const r=new URLSearchParams(t);for(const[n,i]of Object.entries(e))r.append(n,i);return r.toString()},zi=(t,e,r,n)=>{const i=ie({});return X.onMount(i,()=>Gi(t,[e,r]).subscribe(async({data:a,error:u,loading:d})=>{const c=u?"https://masters.com":a?.url,f=n.get()||"",h=e.get()||"",m=r.get()||"",b={[wt]:f,[en]:h,[tn]:m};if(!d&&c){i.setKey("loading",!0);let C=window.location.search,O=window.location.hash;C&&O||O?C=`?${Er(C,b)}`:O=`#${Er("",b)}`;const D=window.location.origin+window.location.pathname+C+O,$=await Ki(t,{web:D,mobile:c});i.set({data:$.data?.link,loading:!1})}else i.setKey("loading",!0)})),{$store:i,fetch}};var x;(function(t){t.Unset="unset",t.Required="required",t.Optional="optional",t.Completed="completed",t.Disabled="disabled",t.Unavailable="unavailable"})(x||(x={}));const Hi=(t,e,r,n)=>{const{inplayGame:i}=t.featureSettings.get(),o=e.getCurrentSessionId({prefix:"onboarding"});i&&r.add({type:ge.ONBOARDING,id:o,action:t.openFeature,persistent:!0,autoHideDuration:1e6,data:{questionId:"onboarding",questionType:I.QuestionType.UNSET,onboarding:{...i,instantOpen:!n.getOnboardingInstantOpen({userId:e.userId.get()||"",organizationId:e.organizationId.get()||"",eventId:e.slStreamId.get()||""})}}})},st=(t,e,r,n,i,o)=>{try{const s=e.userId.get();if(!s)return;if(i.getOnboardingStatus({userId:s,organizationId:e.organizationId.get()||"",eventId:e.slStreamId.get()||""})===x.Completed){t.set(x.Completed);for(const h of o)h();return}const u=e.moderation.getStore().value?.data,d=r.featureSettings.get().inplayGame;if(u===void 0||d===void 0)return;const c=u?.options?.onboardingEnabled,f=d?.titleCard?.optIn;c?f?t.set(x.Required):t.set(x.Optional):(f?t.set(x.Unavailable):t.set(x.Disabled),n.close(e.getCurrentSessionId({prefix:"onboarding"}),!1))}catch(s){console.error(s)}},Wi=(t,e,r,n)=>{let i=!1;const o=new Zr,s=Q(x.Unset);s.subscribe(d=>{d!==x.Unset&&((d===x.Optional||d===x.Required)&&i===!1&&(Hi(t,e,n,o),i=!0),d===x.Completed&&e.activeQuestionId.invalidate(),o.setOnboardingInstantOpen({userId:e.userId.get()||"",organizationId:e.organizationId.get()||"",eventId:e.slStreamId.get()||""}))});const a=[];return st(s,e,t,n,o,a),s.get()!==x.Completed&&(a.push(e.userId.listen(d=>{d&&st(s,e,t,n,o,a)})),a.push(e.moderation.listen(d=>{d.data&&st(s,e,t,n,o,a)})),a.push(t.featureSettings.listen(d=>{d&&st(s,e,t,n,o,a)}))),{$store:s,submitInplay:async()=>{const d=e.slStreamId.get();if(d){await Fi(r,d),s.set(x.Completed),o.saveOnboardingStatus({organizationId:e.organizationId.get()||"",userId:e.userId.get()||"",eventId:d},x.Completed),fe.emit("poll",{action:"onboardingPassed",payload:{}}),t.openFeature();const c=e.getCurrentSessionId({prefix:"onboarding"});n.close(c)}}}},Ji=(t,e,r,n)=>{const i=ie(void 0),o=Xr(n),s=async()=>{const u=t.get(),d=e.get(),c=r.getStore().get().data?.map(b=>b.slId);if(!c)return;const f={eventId:u,userId:d,usersIds:[...c,d]},h=await o(f),m=i.get()?.summary?.friendsRank;h.data?.attributes?.summary?.friendsRank&&m!==void 0&&(h.data.attributes.summary.friendsRank=m),i.set(h.data?.attributes)},a=()=>{s()};return X.onMount(i,()=>{const u=t.listen(s),d=r.listen(s),c=e.listen(s);return()=>{u(),d(),c()}}),{$store:i,invalidate:a}},Yi=async(t,e,r,n,i)=>{const o=Xr(i),s=t.get(),a=e.get(),u=r.getStore().get().data?.map(h=>h.slId)||[],d={eventId:s,userId:n,usersIds:[...u,a]};return(await o(d)).data?.attributes?.summary},Xi=new Set([I.QuestionType.POLL,I.QuestionType.PREDICTION,I.QuestionType.TRIVIA]);class Zi extends Yr{userSummary;feedList;friends;leaderboardId;leaderboardList;deepLink;onboardingStatus;openedQuestion;currentUserId;openedUser;closeFeature;openFeature;feedSubscription;activeQuestionId;openedQuestionId;notifications;transport;background;storage;submitAnswerTimeout;cancels=new Set;constructor(e,r,n){super(e,r),this.background=new Oi(n),this.feedSubscription=this.background.feedSubscription,this.activeQuestionId=this.background.activeQuestionId,this.openedQuestionId=this.background.openedQuestionId,this.storage=new Zr,this.feedList=this.background.feedList,this.friends=new pe(vi(this.background.userId,n.transport),"gamification:friends"),this.currentUserId=this.background.userId,this.openedUser=Q(void 0),this.leaderboardId=new H(Q(this.settings.getValue("pinnedLeaderboardId")),"pinnedLeaderboardId").getStore(),this.onboardingStatus=Wi(this,this.background,n.transport,n.notifications),this.notifications=n.notifications,this.transport=n.transport,this.closeFeature=()=>n.sdk.closeFeature(!0),this.openFeature=()=>n.sdk.openFeature(R.SdkOverlayType.GAMES),this.openedQuestion=this.background.openedQuestion,this.deepLink=zi(this.transport,this.background.slStreamId,n.stores.providerStreamId.getStore(),this.background.userId),this.userSummary=Ji(this.background.slStreamId,this.background.userId,this.friends,this.transport),this.leaderboardList=Di(this.transport,this.background.slStreamId,this.background.userId,this.friends),this.connect(),this.cancels.add(this.userSummary.$store.listen((i,o)=>{o?.summary&&i?.summary&&!i.fromLeaderboard&&this.leaderboardList.invalidate()})),this.cancels.add(this.leaderboardList.$store.subscribe(i=>{const o={...this.userSummary.$store.get()||{}},s=o?.summary?.userId;if(i.data.length&&s){const a=i.data.find(u=>u.userId===s)?.rank;a!==void 0&&o?.summary&&(o.fromLeaderboard=!0,o.summary.friendsRank=a,this.userSummary.$store.set(o))}})),this.cancels.add(this.background.activeQuestionId.listen(this.showInApp)),this.cancels.add(this.onboardingStatus.$store.listen(this.checkInteractiveFlag)),this.cancels.add(this.background.moderation.getStore().listen(this.checkInteractiveFlag)),this.cancels.add(this.settings.subscribe(this.checkInteractiveFlag)),n.sdk.onMount(()=>()=>{for(const i of this.cancels)i(),this.cancels.delete(i)})}get isInteractiveAllowed(){return this.background.interactiveAllowed.get()===Ee.ALLOWED}checkInteractiveFlag=()=>{const e=this.onboardingStatus.$store.get(),r=this.background.moderation.getStore().value?.data?.options?.onboardingEnabled,n=this.settings.getValues().inplayGame?.titleCard?.optIn,i=e===x.Completed,o=!r||i||n!==!0;this.background.interactiveAllowed.set(o?Ee.ALLOWED:Ee.DISALLOWED)};connect=()=>{this.cancels.add(this.background.feedSubscription.addListener("feed-subscription-prediction-close",async e=>{if(!this.isInteractiveAllowed)return;const r=e.data?.attributes?.question,n=e.data?.attributes?.feedItem;if(!r||!n?.attributes)return;const{status:i,type:o,id:s,answers:a}=r;if(i===I.QuestionStatus.RESOLVED&&o===I.QuestionType.PREDICTION){const u=this.background.getCurrentSessionId({prefix:`notification-id:${s}`}),d=[...this.feedList.getValues().data||[]],c=d.findIndex(G=>G.id===s),f=d[c];let h=f?.attributes?.attributes?.value?.answerId;const m=Gt(s,this.transport),b=m.subscribe(()=>{});await m.get().promise;const C=m.get().data;b(),window.requestAnimationFrame(()=>{m.invalidate()}),h||(h=C?.answers.find(({youVoted:G})=>G)?.id);const O=a.find(({correct:G})=>G),D=h?a.find(({id:G})=>G===h):void 0,$=!!D?.correct;if(f&&d[c]?.attributes?.attributes.case==="question"){try{d[c].attributes.attributes.value.answerId=h,d[c].attributes.attributes.value.openForVoting=!1,h&&(d[c].attributes.attributes.value.status=$?nt.PickHistoryStatus.WON:nt.PickHistoryStatus.LOST)}catch{}this.feedList.getStore().mutate(d)}if(!D||!O)return;this.openedQuestionId.get()?.questionId!==r.id&&this.notifications.add({type:ge.QUESTION_RESOLVED,action:()=>this.openQuestion(r.id,n),close:()=>this.closeQuestion(s),autoHideDuration:$?15e3:12e3,id:u,emitEvent:!1,data:{questionId:s,questionType:I.QuestionType.PREDICTION,question:{title:$?`Congratulations! You answered correctly! You won ${O.points} pts!`:`Better luck next time! Correct: ${O?.text}!`,votedAnswer:{title:D?.text,points:D?.points},correctAnswerTitle:O?.text,correct:!!$,predictionResult:i===I.QuestionStatus.RESOLVED,questionTitle:r?.subject}}}),this.userSummary.invalidate()}})),this.cancels.add(this.background.feedSubscription.addListener("feed-subscription-questions-list",e=>{const r=[...this.feedList.getStore().value?.data||[]],n=e.data?.attributes?.feedItem,i=r.findIndex(o=>o.id===n?.id);if(n?.attributes&&!(n.attributes.status!==I.QuestionStatus.ACTIVE&&n.attributes.status!==I.QuestionStatus.RESOLVED)){if(i!==-1)if(n.attributes.attributes.case==="question"&&r[i].attributes?.attributes.case==="question"){const o=r[i];o.attributes&&(r[i]={...r[i],attributes:{...o.attributes,attributes:{...o.attributes.attributes,value:{...o.attributes.attributes.value,...n.attributes.attributes.value,answerId:o.attributes.attributes.value.answerId,status:o.attributes.attributes.value.status,openForVoting:o.attributes.attributes.value.openForVoting}}}})}else{const o=r[i];o.attributes&&n.attributes&&(r[i]={...r[i],attributes:{...o.attributes,attributes:{...o.attributes.attributes,value:{...o.attributes.attributes.value,...n.attributes.attributes.value}}}})}i===-1&&(r.unshift(n),fe.emit("poll",{action:"received",payload:{questionId:n.id,questionType:n.attributes?.type}})),this.feedList.getStore().mutate(r)}}))};disconnect=()=>{this.background.feedSubscription.removeListener("feed-subscription-prediction-close"),this.background.feedSubscription.removeListener("feed-subscription-questions-list")};submitAnswer=async(e,r)=>{const n=Gt(e,this.transport),i=()=>{const o=this.feedList.getValues().data;if(!o)return;const s=o.findIndex(d=>d.id===e),a=o[s],u=a?.attributes?.attributes.case==="question"&&a.attributes.attributes.value;if(u){fe.emit("poll",{action:"voted",payload:{questionId:e,questionType:u.questionType}});const d=n.subscribe(()=>{}),c=n.get().data;if(d(),c){const f=c.answers.find(b=>b.correct===!0),h=c.answers.findIndex(b=>b.id===r),m=c.answers[h];o[s].attributes.attributes.value.answerId=r,o[s].attributes.attributes.value.openForVoting=!1,o[s].attributes.attributes.value.text=m?.text||"",f&&(o[s].attributes.attributes.value.status=f.id===r?nt.PickHistoryStatus.WON:nt.PickHistoryStatus.LOST),this.feedList.getStore().mutate([...o]),c.answers[h].correct=f?.id===r,c.answers[h].youVoted=!0,c.answers.forEach(b=>{b.percentageDecimal=0}),f?.id===r&&(c.answers[h].pointsEarned=c.status===I.QuestionStatus.RESOLVED?0:f.points),n.mutate({...c})}this.submitAnswerTimeout&&clearTimeout(this.submitAnswerTimeout),this.submitAnswerTimeout=setTimeout(()=>{this.userSummary.invalidate()},1e3)}};try{await Pi(this.transport,{questionId:e,answerId:r}),i()}catch(o){if(o.message===Ye.ALREADY_VOTED){this.userSummary.invalidate();const s=n.subscribe(()=>{});n.invalidate(),s()}throw o}};openQuestion=(e,r)=>{if(!e)return()=>{};this.notifications.close(this.background.getCurrentSessionId({prefix:"notification",entity:e}));let n=r?.attributes?.type;return n||(n=(this.feedList.getStore().value?.data||[]).find(o=>o.id===e)?.attributes?.type),fe.emit("poll",{action:"opened",payload:{questionId:e,questionType:n,questionOpenedFrom:r?.openedFrom}}),this.background.openQuestion(e,r)};closeQuestion=e=>this.background.closeQuestion(e);openUser=async e=>{const r=this.leaderboardList.$store.get().data?.find(i=>i.userId===e);if(!r){this.openedUser.set(r);return}if(r.summaryLoaded){this.openedUser.set(r);return}const n={...r};try{const i=await Yi(this.background.slStreamId,this.background.userId,this.friends,e,this.transport);i?.inTop!==void 0&&(this.leaderboardList.$store.setKey("data",this.leaderboardList.$store.get().data?.map(o=>(o.userId===e&&(o.inTop=i.inTop),o))),n.inTop=i.inTop)}catch(i){console.error(i)}this.openedUser.set(n)};closeUser=()=>{this.openedUser.set(void 0)};showInApp=e=>{const r=this.onboardingStatus.$store.get();if(e&&e.data&&r&&r!==x.Unset&&e.data.question?.id!==void 0&&e.data.question.notification!==void 0&&e.data.question?.bypassNotifications?.inAppSilence!==I.SilenceSetting.ON&&e.data.question.status===I.QuestionStatus.ACTIVE&&!e.data.question.marketClosed){if(Xi.has(e.data.question.type))this.isInteractiveAllowed&&this.notifications.add({type:ge.QUESTION,action:()=>this.openQuestion(e.data?.question?.id,e.data?.feedItem),close:()=>this.closeQuestion(e.data?.question?.id),autoHideDuration:1e3*60,id:this.background.getCurrentSessionId({prefix:"notification",entity:e.data.question.id}),emitEvent:!0,data:{questionId:e.data.question.id,questionType:e.data.question.type,question:{title:e.data.question.notification.title}}});else if(e.data.question.type===I.QuestionType.FACTOID){const n=e.data.question.options?.options.value,i={heading:e.data.question.notification.title,body:e.data.question.notification.body,imageMode:n?.imageMode,image:n?.image,video:{id:n?.video?.id||"",url:n?.video?.url||"",thumbnailUrl:n?.video?.thumbnailUrl||""},webLink:{label:"",url:""}};this.notifications.add({type:ge.QUESTION,action:()=>this.openQuestion(e?.data?.question?.id,e?.data?.feedItem),close:()=>this.closeQuestion(e?.data?.question?.id),autoHideDuration:1e3*120,emitEvent:!0,id:this.background.getCurrentSessionId({prefix:"notification",entity:e.data.question.id}),data:{questionId:e.data.question.id,questionType:e.data.question.type,insight:i}})}else if(e.data.question.type===I.QuestionType.TWEET){const n=e.data.question.options?.options.value,i={title:e.data.question.notification?.title,body:e.data.question.notification?.body,image:e.data.question.notification?.image,account:n?.tweetMeta?.account||"",accountVerified:!!n?.tweetMeta?.accountVerified,tweet:n?.tweetMeta?.tweet,tweetId:e.data.question.id};this.notifications.add({type:ge.QUESTION,action:()=>this.openQuestion(e.data?.question?.id,e.data?.feedItem),close:()=>this.closeQuestion(e.data?.question?.id),autoHideDuration:1e3*120,emitEvent:!0,id:this.background.getCurrentSessionId({prefix:"notification",entity:e.data.question.id}),data:{questionId:e.data.question.id,questionType:e.data.question.type,tweet:i}})}}}}const eo={[R.SdkOverlayType.GAMES]:!0};class to extends Yr{constructor(e,r){super(e,r)}}const ro=(t,e,r)=>t.type===R.SdkOverlayType.GAMES?new Zi(t,e,r):new to(t,e),no=(t,e,r)=>{t.features=new Map,t.sdk.featuresList=new H(Q(new Set),"features-list"),t.activeFeature=new H(Q(R.SdkOverlayType.UNSET),"activeFeature"),t.sdk.getFeatures=()=>t.features,t.sdk.getFeature=n=>t.features.get(n),t.sdk.getActiveFeature=()=>t.activeFeature.getStore(),t.sdk.openFeature=n=>{t.activeFeature.setValue(n)},t.sdk.closeFeature=(n=!1)=>{const i=t.activeFeature.getValue();if(t.activeFeature.setValue(R.SdkOverlayType.UNSET),n&&i){t.features.delete(i);const o=t.sdk.featuresList.getValue();o&&o.delete(i),t.sdk.featuresList.setValue(o)}},t.initFeature=(n,i=ue.ORGANIZATION)=>{if(n.type in eo&&!t.features.has(n.type)){const o=ro(n,i,t);t.features.set(n.type,o);let s=t.sdk.featuresList.getValue();s?s.add(n.type):s=new Set([n.type]),t.sdk.featuresList.setValue(new Set(s))}},t.updateFeature=(n,i)=>{t.features.get(n.type)?.update(n,i)},t.destroyFeature=n=>{t.features.delete(n.type);const i=t.sdk.featuresList.getValue();i&&i.delete(n.type),t.sdk.featuresList.setValue(new Set(i))},t.reinitializeFeatures=async()=>{const n=await t.stores.organizationSettings.getValue();t.features.clear(),t.sdk.featuresList.setValue(new Set);for(const i of n?.overlays||[])t.initFeature(i,ue.ORGANIZATION)},t.stores.providerStreamId.listen(n=>{n||t.reinitializeFeatures()}),t.storeSubscribe=()=>{const n=(o,s)=>{if(s?.overlays&&!(t.contextConfig?.skipOrganizationSettings&&o===ue.ORGANIZATION))for(const a of s.overlays)a.sdkEnable===!0&&(t.features.has(a.type)?t.updateFeature(a,o):t.initFeature(a,o))},i={organizationSettings:o=>{if(o.data)try{n(ue.ORGANIZATION,o.data)}catch(s){console.log(s)}},streamSettings:o=>{if(o.data)try{n(ue.STREAM,o.data)}catch(s){console.log(s)}}};t.store.subscribe(i)},r()};class io{analytics;constructor(e){this.analytics=e,this.analytics.onConnect(()=>{const r=n=>{if(n.slEventBus?.type==="invitation")switch(n.slEventBus.action){case"sent":this.sent(n.slEventBus.payload);break}};return fe.listen(r)})}accepted=()=>{this.analytics.write("invitation",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.INVITATION_ACCEPTED},category:it.InvitationCategory.GAMES,from:it.InvitationFrom.UNSET})};sent=({from:e})=>{this.analytics.write("invitation",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.INVITATION_SENT},category:it.InvitationCategory.GAMES,from:e||it.InvitationFrom.UNSET})}}class oo{analytics;constructor(e){this.analytics=e,this.analytics.onConnect(()=>{const r=n=>{if(n.slEventBus?.type==="interactions")switch(n.slEventBus.action){case"tap":this.tap();break;case"scroll":this.scroll();break}};return fe.listen(r)})}tap=()=>{this.analytics.write("interactions",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.INTERACTIONS},actionType:mr.InteractionActionType.TAP})};scroll=()=>{this.analytics.write("interactions",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.INTERACTIONS},actionType:mr.InteractionActionType.SCROLL})}}const He={[I.QuestionType.UNSET]:v.TopicType.UNSET,[I.QuestionType.FACTOID]:v.TopicType.POLLS_INSIGHT,[I.QuestionType.POLL]:v.TopicType.POLLS_POLL,[I.QuestionType.PREDICTION]:v.TopicType.POLLS_PREDICTION,[I.QuestionType.PROMOTION]:v.TopicType.POLLS_PROMOTION,[I.QuestionType.TRIVIA]:v.TopicType.POLLS_TRIVIA,[I.QuestionType.TWEET]:v.TopicType.POLLS_TWITTER};I.QuestionType.UNSET+"",Y.NotificationKind.UNSET,I.QuestionType.FACTOID+"",Y.NotificationKind.POLLS,I.QuestionType.POLL+"",Y.NotificationKind.POLLS,I.QuestionType.PREDICTION+"",Y.NotificationKind.POLLS,I.QuestionType.PROMOTION+"",Y.NotificationKind.POLLS,I.QuestionType.TRIVIA+"",Y.NotificationKind.POLLS,I.QuestionType.TWEET+"",Y.NotificationKind.POLLS;const so={[R.SdkOverlayType.UNSET]:v.Category.UNSET,[R.SdkOverlayType.INPLAY]:v.Category.INPLAY,[R.SdkOverlayType.MESSAGING]:v.Category.MESSAGING,[R.SdkOverlayType.STATISTICS]:v.Category.STATS,[R.SdkOverlayType.BETTING]:v.Category.BETTING,[R.SdkOverlayType.TWITTER]:v.Category.TWITTER,[R.SdkOverlayType.MERCHANDISE]:v.Category.MERCHANDISE,[R.SdkOverlayType.CONTESTS]:v.Category.CONTESTS,[R.SdkOverlayType.VOICE_CHAT]:v.Category.CALLING,[R.SdkOverlayType.TICKETS]:v.Category.TICKETS,[R.SdkOverlayType.WHOIS_WATCHING]:v.Category.WHOISWATCHING,[R.SdkOverlayType.PROFILE]:v.Category.PROFILE,[R.SdkOverlayType.GAMES]:v.Category.POLLS,[R.SdkOverlayType.GOLF_STATISTICS]:v.Category.STATS,[R.SdkOverlayType.HIGHLIGHTS]:v.Category.HIGHLIGHTS,[R.SdkOverlayType.PUBLIC_CHAT]:v.Category.PUBLIC_CHAT};class ao{analytics;constructor(e){this.analytics=e,this.analytics.onConnect(()=>{const r=n=>{if(n.slEventBus?.type==="notification")switch(n.slEventBus.action){case"rendered":this.received(n.slEventBus.payload);break;case"opened":this.opened(n.slEventBus.payload);break}};return fe.listen(r)})}received=({questionId:e,questionType:r})=>{this.analytics.write("notification",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.NOTIFICATION_RECEIVED,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},notificationKind:Y.NotificationKind.POLLS,notificationType:Y.NotificationType.IN_APP})};opened=({questionId:e,questionType:r})=>{this.analytics.write("notification",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.NOTIFICATION_OPENED,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},notificationKind:Y.NotificationKind.POLLS,notificationType:Y.NotificationType.IN_APP})}}class uo{analytics;constructor(e){this.analytics=e,this.analytics.onConnect(()=>{const r=n=>{if(n.slEventBus?.type==="poll")switch(n.slEventBus.action){case"voted":this.voted(n.slEventBus.payload);break;case"navigated":this.navigated();break;case"onboardingPassed":this.onboardingPassed();break;case"received":this.received(n.slEventBus.payload);break;case"opened":this.opened(n.slEventBus.payload);break}};return fe.listen(r)})}received=({questionId:e,questionType:r})=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.POLLS_RECEIVED,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},pollOpenedFrom:v.PollOpenedFrom.UNSET})};opened=({questionId:e,questionType:r,questionOpenedFrom:n})=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.POLLS_OPENED,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},pollOpenedFrom:n==="list"?v.PollOpenedFrom.PICK_HISTORY:v.PollOpenedFrom.IN_APP})};voted=({questionId:e,questionType:r})=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.POLLS_VOTE,topicId:e,topicType:r?He[r]:v.TopicType.UNSET},pollOpenedFrom:v.PollOpenedFrom.UNSET})};onboardingPassed=()=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.GAMES_JOINED},pollOpenedFrom:v.PollOpenedFrom.UNSET})};navigated=()=>{this.analytics.write("games",{common:{...this.analytics.commonStore.getValues(),kind:v.Kind.POLLS_NAVIGATED},pollOpenedFrom:v.PollOpenedFrom.UNSET})}}const co=({transport:t,$commonStore:e})=>{let r;const n=Q(!1),i=5e3,{client:o,queryKey:s}=t.createPromiseClient(Kr.AnalyticsService,{method:"send",params:[n]}),a=t.nanoquery.createFetcherStore(s,{fetcher:async()=>{const h=e.getStore().get();try{await o.unary({message:{case:"heartbeat",value:{common:{...h,kind:v.Kind.SESSION_HEARTBEAT}}}})}catch(m){le.error(m,"send heartbeat failed")}return Date.now()},refetchInterval:i}),u=()=>{le.debug("mounted heartbeat"),r=a.subscribe(()=>{})},d=()=>{le.debug("enabled heartbeat"),n.set(!0),a.lc===0&&u()},c=()=>{le.debug("disabled heartbeat"),n.set(!1)};return{enable:d,disable:c,mount:u,unmount:()=>{le.debug("unmounted heartbeat"),a.off(),r?.(),r=void 0,c()}}},le=be("analytics");class lo{commonStore;notifications;polls;invitation;interactions;heartbeat;analyticsClient;listeners;listenersCancels;connected=!1;constructor(e){this.listeners=new Set,this.listenersCancels=new Set,this.commonStore=new Ae(ie({}),"common-analytics"),this.connectToSDK(e),this.heartbeat=co({transport:e.analyticsTransport,$commonStore:this.commonStore}),this.notifications=new ao(this),this.polls=new uo(this),this.invitation=new io(this),this.interactions=new oo(this);const{client:r}=e.analyticsTransport.createPromiseClient(Kr.AnalyticsService,{method:"send"});this.analyticsClient=r}connect=()=>{this.writeCommon("sessionId",qt.nanoid()),this.heartbeat.enable(),this.listeners.forEach(e=>this.listenersCancels.add(e())),this.connected=!0,le.debug("analytics connected")};disconnect=()=>{this.writeCommon("sessionId",""),this.writeCommon("overlaySessionId",""),this.heartbeat.unmount(),this.listenersCancels.forEach(e=>e()),this.connected=!1,le.debug("analytics disconnected")};write=(e,r)=>{r&&this.analyticsClient.unary({message:{case:e,value:r}}).then(()=>{le.trace("send analytics success",e,r)}).catch(n=>{le.error(n,"send analytics failed")})};writeCommon=(e,r)=>{this.commonStore.setValue(e,r)};onConnect=e=>{this.listeners.add(e),this.connected&&this.listenersCancels.add(e())};connectToSDK=e=>{this.onConnect(()=>e.stores.slStreamId.getAtomStore().subscribe(r=>{this.writeCommon("eventId",r)})),this.onConnect(()=>e.sdk.getActiveFeature().subscribe(r=>{r&&this.writeCommon("category",so[r]),r!==R.SdkOverlayType.UNSET?this.writeCommon("overlaySessionId",qt.nanoid()):this.writeCommon("overlaySessionId","")})),this.onConnect(()=>{const r=window.matchMedia("(orientation: portrait)"),n=i=>{this.writeCommon("screenOrientation",i.matches?v.ScreenOrientation.PORTRAIT:v.ScreenOrientation.LANDSCAPE)};return r.addEventListener("change",n),()=>{r.removeEventListener("change",n)}}),this.onConnect(()=>e.deepLink.$store.subscribe(r=>{r?.handled&&this.invitation.accepted()}))}}const fo=(t,e,r)=>{t.analytics=new lo(t),t.sdk.onMount(()=>(t.analytics.connect(),()=>{t.analytics.disconnect()})),r()};var rn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function po(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var nr={exports:{}},ir={exports:{}};function ho(t){var e=new t,r=e;function n(){var o=e;return o.next?e=o.next:(e=new t,r=e),o.next=null,o}function i(o){r.next=o,r=o}return{get:n,release:i}}var yo=ho,go=yo;function nn(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var n=go(mo),i=null,o=null,s=0,a=null,u={push:C,drain:z,saturated:z,pause:c,paused:!1,concurrency:r,running:d,resume:m,idle:b,length:f,getQueue:h,unshift:O,empty:z,kill:$,killAndDrain:G,error:W};return u;function d(){return s}function c(){u.paused=!0}function f(){for(var P=i,V=0;P;)P=P.next,V++;return V}function h(){for(var P=i,V=[];P;)V.push(P.value),P=P.next;return V}function m(){if(u.paused){u.paused=!1;for(var P=0;P<u.concurrency;P++)s++,D()}}function b(){return s===0&&u.length()===0}function C(P,V){var E=n.get();E.context=t,E.release=D,E.value=P,E.callback=V||z,E.errorHandler=a,s===u.concurrency||u.paused?o?(o.next=E,o=E):(i=E,o=E,u.saturated()):(s++,e.call(t,E.value,E.worked))}function O(P,V){var E=n.get();E.context=t,E.release=D,E.value=P,E.callback=V||z,E.errorHandler=a,s===u.concurrency||u.paused?i?(E.next=i,i=E):(i=E,o=E,u.saturated()):(s++,e.call(t,E.value,E.worked))}function D(P){P&&n.release(P);var V=i;V?u.paused?s--:(o===i&&(o=null),i=V.next,V.next=null,e.call(t,V.value,V.worked),o===null&&u.empty()):--s===0&&u.drain()}function $(){i=null,o=null,u.drain=z}function G(){i=null,o=null,u.drain(),u.drain=z}function W(P){a=P}}function z(){}function mo(){this.value=null,this.callback=z,this.next=null,this.release=z,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,n){var i=t.callback,o=t.errorHandler,s=t.value;t.value=null,t.callback=z,t.errorHandler&&o(r,s),i.call(t.context,r,n),t.release(t)}}function bo(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function n(c,f){e.call(this,c).then(function(h){f(null,h)},f)}var i=nn(t,n,r),o=i.push,s=i.unshift;return i.push=a,i.unshift=u,i.drained=d,i;function a(c){var f=new Promise(function(h,m){o(c,function(b,C){if(b){m(b);return}h(C)})});return f.catch(z),f}function u(c){var f=new Promise(function(h,m){s(c,function(b,C){if(b){m(b);return}h(C)})});return f.catch(z),f}function d(){if(i.idle())return new Promise(function(h){h()});var c=i.drain,f=new Promise(function(h){i.drain=function(){c(),h()}});return f}}ir.exports=nn;ir.exports.promise=bo;var on=ir.exports,or={exports:{}},Me=typeof Reflect=="object"?Reflect:null,Ir=Me&&typeof Me.apply=="function"?Me.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},ut;Me&&typeof Me.ownKeys=="function"?ut=Me.ownKeys:Object.getOwnPropertySymbols?ut=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:ut=function(e){return Object.getOwnPropertyNames(e)};function vo(t){console&&console.warn&&console.warn(t)}var sn=Number.isNaN||function(e){return e!==e};function F(){F.init.call(this)}or.exports=F;or.exports.once=Ao;F.EventEmitter=F;F.prototype._events=void 0;F.prototype._eventsCount=0;F.prototype._maxListeners=void 0;var Or=10;function Tt(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(F,"defaultMaxListeners",{enumerable:!0,get:function(){return Or},set:function(t){if(typeof t!="number"||t<0||sn(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Or=t}});F.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};F.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||sn(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function an(t){return t._maxListeners===void 0?F.defaultMaxListeners:t._maxListeners}F.prototype.getMaxListeners=function(){return an(this)};F.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[e];if(u===void 0)return!1;if(typeof u=="function")Ir(u,this,r);else for(var d=u.length,c=fn(u,d),n=0;n<d;++n)Ir(c[n],this,r);return!0};function un(t,e,r,n){var i,o,s;if(Tt(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=an(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,vo(a)}return t}F.prototype.addListener=function(e,r){return un(this,e,r,!1)};F.prototype.on=F.prototype.addListener;F.prototype.prependListener=function(e,r){return un(this,e,r,!0)};function So(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function cn(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=So.bind(n);return i.listener=r,n.wrapFn=i,i}F.prototype.once=function(e,r){return Tt(r),this.on(e,cn(this,e,r)),this};F.prototype.prependOnceListener=function(e,r){return Tt(r),this.prependListener(e,cn(this,e,r)),this};F.prototype.removeListener=function(e,r){var n,i,o,s,a;if(Tt(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():wo(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};F.prototype.off=F.prototype.removeListener;F.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function ln(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?To(i):fn(i,i.length)}F.prototype.listeners=function(e){return ln(this,e,!0)};F.prototype.rawListeners=function(e){return ln(this,e,!1)};F.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):dn.call(t,e)};F.prototype.listenerCount=dn;function dn(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}F.prototype.eventNames=function(){return this._eventsCount>0?ut(this._events):[]};function fn(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function wo(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function To(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Ao(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}pn(t,e,o,{once:!0}),e!=="error"&&Eo(t,i,{once:!0})})}function Eo(t,e,r){typeof t.on=="function"&&pn(t,"error",e,r)}function pn(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}var hn=or.exports,At={},yn={},gn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;e[r]=i;for(r in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var o=Object.getOwnPropertySymbols(e);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(e,r);if(s.value!==i||s.enumerable!==!0)return!1}return!0},Io=gn,sr=function(){return Io()&&!!Symbol.toStringTag},Cr=typeof Symbol<"u"&&Symbol,Oo=gn,Co=function(){return typeof Cr!="function"||typeof Symbol!="function"||typeof Cr("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Oo()},_r={foo:{}},_o=Object,Lo=function(){return{__proto__:_r}.foo===_r.foo&&!({__proto__:null}instanceof _o)},ko="Function.prototype.bind called on incompatible ",Po=Object.prototype.toString,Fo=Math.max,No="[object Function]",Lr=function(e,r){for(var n=[],i=0;i<e.length;i+=1)n[i]=e[i];for(var o=0;o<r.length;o+=1)n[o+e.length]=r[o];return n},Do=function(e,r){for(var n=[],i=r||0,o=0;i<e.length;i+=1,o+=1)n[o]=e[i];return n},Ro=function(t,e){for(var r="",n=0;n<t.length;n+=1)r+=t[n],n+1<t.length&&(r+=e);return r},Vo=function(e){var r=this;if(typeof r!="function"||Po.apply(r)!==No)throw new TypeError(ko+r);for(var n=Do(arguments,1),i,o=function(){if(this instanceof i){var c=r.apply(this,Lr(n,arguments));return Object(c)===c?c:this}return r.apply(e,Lr(n,arguments))},s=Fo(0,r.length-n.length),a=[],u=0;u<s;u++)a[u]="$"+u;if(i=Function("binder","return function ("+Ro(a,",")+"){ return binder.apply(this,arguments); }")(o),r.prototype){var d=function(){};d.prototype=r.prototype,i.prototype=new d,d.prototype=null}return i},$o=Vo,ar=Function.prototype.bind||$o,jo=Function.prototype.call,Mo=Object.prototype.hasOwnProperty,Uo=ar,qo=Uo.call(jo,Mo),A,qe=SyntaxError,mn=Function,Ue=TypeError,Ct=function(t){try{return mn('"use strict"; return ('+t+").constructor;")()}catch{}},Ie=Object.getOwnPropertyDescriptor;if(Ie)try{Ie({},"")}catch{Ie=null}var _t=function(){throw new Ue},xo=Ie?function(){try{return arguments.callee,_t}catch{try{return Ie(arguments,"callee").get}catch{return _t}}}():_t,Fe=Co(),Bo=Lo(),U=Object.getPrototypeOf||(Bo?function(t){return t.__proto__}:null),De={},Qo=typeof Uint8Array>"u"||!U?A:U(Uint8Array),Oe={"%AggregateError%":typeof AggregateError>"u"?A:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?A:ArrayBuffer,"%ArrayIteratorPrototype%":Fe&&U?U([][Symbol.iterator]()):A,"%AsyncFromSyncIteratorPrototype%":A,"%AsyncFunction%":De,"%AsyncGenerator%":De,"%AsyncGeneratorFunction%":De,"%AsyncIteratorPrototype%":De,"%Atomics%":typeof Atomics>"u"?A:Atomics,"%BigInt%":typeof BigInt>"u"?A:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?A:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?A:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?A:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?A:Float32Array,"%Float64Array%":typeof Float64Array>"u"?A:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?A:FinalizationRegistry,"%Function%":mn,"%GeneratorFunction%":De,"%Int8Array%":typeof Int8Array>"u"?A:Int8Array,"%Int16Array%":typeof Int16Array>"u"?A:Int16Array,"%Int32Array%":typeof Int32Array>"u"?A:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Fe&&U?U(U([][Symbol.iterator]())):A,"%JSON%":typeof JSON=="object"?JSON:A,"%Map%":typeof Map>"u"?A:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Fe||!U?A:U(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?A:Promise,"%Proxy%":typeof Proxy>"u"?A:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?A:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?A:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Fe||!U?A:U(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?A:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Fe&&U?U(""[Symbol.iterator]()):A,"%Symbol%":Fe?Symbol:A,"%SyntaxError%":qe,"%ThrowTypeError%":xo,"%TypedArray%":Qo,"%TypeError%":Ue,"%Uint8Array%":typeof Uint8Array>"u"?A:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?A:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?A:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?A:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?A:WeakMap,"%WeakRef%":typeof WeakRef>"u"?A:WeakRef,"%WeakSet%":typeof WeakSet>"u"?A:WeakSet};if(U)try{null.error}catch(t){var Go=U(U(t));Oe["%Error.prototype%"]=Go}var Ko=function t(e){var r;if(e==="%AsyncFunction%")r=Ct("async function () {}");else if(e==="%GeneratorFunction%")r=Ct("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Ct("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var i=t("%AsyncGenerator%");i&&U&&(r=U(i.prototype))}return Oe[e]=r,r},kr={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ze=ar,ht=qo,zo=Ze.call(Function.call,Array.prototype.concat),Ho=Ze.call(Function.apply,Array.prototype.splice),Pr=Ze.call(Function.call,String.prototype.replace),yt=Ze.call(Function.call,String.prototype.slice),Wo=Ze.call(Function.call,RegExp.prototype.exec),Jo=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Yo=/\\(\\)?/g,Xo=function(e){var r=yt(e,0,1),n=yt(e,-1);if(r==="%"&&n!=="%")throw new qe("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new qe("invalid intrinsic syntax, expected opening `%`");var i=[];return Pr(e,Jo,function(o,s,a,u){i[i.length]=a?Pr(u,Yo,"$1"):s||o}),i},Zo=function(e,r){var n=e,i;if(ht(kr,n)&&(i=kr[n],n="%"+i[0]+"%"),ht(Oe,n)){var o=Oe[n];if(o===De&&(o=Ko(n)),typeof o>"u"&&!r)throw new Ue("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:o}}throw new qe("intrinsic "+e+" does not exist!")},Be=function(e,r){if(typeof e!="string"||e.length===0)throw new Ue("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Ue('"allowMissing" argument must be a boolean');if(Wo(/^%?[^%]*%?$/,e)===null)throw new qe("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=Xo(e),i=n.length>0?n[0]:"",o=Zo("%"+i+"%",r),s=o.name,a=o.value,u=!1,d=o.alias;d&&(i=d[0],Ho(n,zo([0,1],d)));for(var c=1,f=!0;c<n.length;c+=1){var h=n[c],m=yt(h,0,1),b=yt(h,-1);if((m==='"'||m==="'"||m==="`"||b==='"'||b==="'"||b==="`")&&m!==b)throw new qe("property names with quotes must have matching quotes");if((h==="constructor"||!f)&&(u=!0),i+="."+h,s="%"+i+"%",ht(Oe,s))a=Oe[s];else if(a!=null){if(!(h in a)){if(!r)throw new Ue("base intrinsic for "+e+" exists, but the property is not available.");return}if(Ie&&c+1>=n.length){var C=Ie(a,h);f=!!C,f&&"get"in C&&!("originalValue"in C.get)?a=C.get:a=a[h]}else f=ht(a,h),a=a[h];f&&!u&&(Oe[s]=a)}}return a},bn={exports:{}},es=Be,Kt=es("%Object.defineProperty%",!0),zt=function(){if(Kt)try{return Kt({},"a",{value:1}),!0}catch{return!1}return!1};zt.hasArrayLengthDefineBug=function(){if(!zt())return null;try{return Kt([],"length",{value:1}).length!==1}catch{return!0}};var vn=zt,ts=Be,ct=ts("%Object.getOwnPropertyDescriptor%",!0);if(ct)try{ct([],"length")}catch{ct=null}var ur=ct,rs=vn(),cr=Be,We=rs&&cr("%Object.defineProperty%",!0);if(We)try{We({},"a",{value:1})}catch{We=!1}var ns=cr("%SyntaxError%"),Ne=cr("%TypeError%"),Fr=ur,is=function(e,r,n){if(!e||typeof e!="object"&&typeof e!="function")throw new Ne("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new Ne("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new Ne("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new Ne("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new Ne("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new Ne("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,o=arguments.length>4?arguments[4]:null,s=arguments.length>5?arguments[5]:null,a=arguments.length>6?arguments[6]:!1,u=!!Fr&&Fr(e,r);if(We)We(e,r,{configurable:s===null&&u?u.configurable:!s,enumerable:i===null&&u?u.enumerable:!i,value:n,writable:o===null&&u?u.writable:!o});else if(a||!i&&!o&&!s)e[r]=n;else throw new ns("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Sn=Be,Nr=is,os=vn(),Dr=ur,Rr=Sn("%TypeError%"),ss=Sn("%Math.floor%"),as=function(e,r){if(typeof e!="function")throw new Rr("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||ss(r)!==r)throw new Rr("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,o=!0;if("length"in e&&Dr){var s=Dr(e,"length");s&&!s.configurable&&(i=!1),s&&!s.writable&&(o=!1)}return(i||o||!n)&&(os?Nr(e,"length",r,!0,!0):Nr(e,"length",r)),e};(function(t){var e=ar,r=Be,n=as,i=r("%TypeError%"),o=r("%Function.prototype.apply%"),s=r("%Function.prototype.call%"),a=r("%Reflect.apply%",!0)||e.call(s,o),u=r("%Object.defineProperty%",!0),d=r("%Math.max%");if(u)try{u({},"a",{value:1})}catch{u=null}t.exports=function(h){if(typeof h!="function")throw new i("a function is required");var m=a(e,s,arguments);return n(m,1+d(0,h.length-(arguments.length-1)),!0)};var c=function(){return a(e,o,arguments)};u?u(t.exports,"apply",{value:c}):t.exports.apply=c})(bn);var wn=bn.exports,Tn=Be,An=wn,us=An(Tn("String.prototype.indexOf")),En=function(e,r){var n=Tn(e,!!r);return typeof n=="function"&&us(e,".prototype.")>-1?An(n):n},cs=sr(),ls=En,Ht=ls("Object.prototype.toString"),Et=function(e){return cs&&e&&typeof e=="object"&&Symbol.toStringTag in e?!1:Ht(e)==="[object Arguments]"},In=function(e){return Et(e)?!0:e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&Ht(e)!=="[object Array]"&&Ht(e.callee)==="[object Function]"},ds=function(){return Et(arguments)}();Et.isLegacyArguments=In;var fs=ds?Et:In,ps=Object.prototype.toString,hs=Function.prototype.toString,ys=/^\s*(?:function)?\*/,On=sr(),Lt=Object.getPrototypeOf,gs=function(){if(!On)return!1;try{return Function("return function*() {}")()}catch{}},kt,ms=function(e){if(typeof e!="function")return!1;if(ys.test(hs.call(e)))return!0;if(!On){var r=ps.call(e);return r==="[object GeneratorFunction]"}if(!Lt)return!1;if(typeof kt>"u"){var n=gs();kt=n?Lt(n):!1}return Lt(e)===kt},Cn=Function.prototype.toString,$e=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Wt,lt;if(typeof $e=="function"&&typeof Object.defineProperty=="function")try{Wt=Object.defineProperty({},"length",{get:function(){throw lt}}),lt={},$e(function(){throw 42},null,Wt)}catch(t){t!==lt&&($e=null)}else $e=null;var bs=/^\s*class\b/,Jt=function(e){try{var r=Cn.call(e);return bs.test(r)}catch{return!1}},Pt=function(e){try{return Jt(e)?!1:(Cn.call(e),!0)}catch{return!1}},dt=Object.prototype.toString,vs="[object Object]",Ss="[object Function]",ws="[object GeneratorFunction]",Ts="[object HTMLAllCollection]",As="[object HTML document.all class]",Es="[object HTMLCollection]",Is=typeof Symbol=="function"&&!!Symbol.toStringTag,Os=!(0 in[,]),Yt=function(){return!1};if(typeof document=="object"){var Cs=document.all;dt.call(Cs)===dt.call(document.all)&&(Yt=function(e){if((Os||!e)&&(typeof e>"u"||typeof e=="object"))try{var r=dt.call(e);return(r===Ts||r===As||r===Es||r===vs)&&e("")==null}catch{}return!1})}var _s=$e?function(e){if(Yt(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{$e(e,null,Wt)}catch(r){if(r!==lt)return!1}return!Jt(e)&&Pt(e)}:function(e){if(Yt(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(Is)return Pt(e);if(Jt(e))return!1;var r=dt.call(e);return r!==Ss&&r!==ws&&!/^\[object HTML/.test(r)?!1:Pt(e)},Ls=_s,ks=Object.prototype.toString,_n=Object.prototype.hasOwnProperty,Ps=function(e,r,n){for(var i=0,o=e.length;i<o;i++)_n.call(e,i)&&(n==null?r(e[i],i,e):r.call(n,e[i],i,e))},Fs=function(e,r,n){for(var i=0,o=e.length;i<o;i++)n==null?r(e.charAt(i),i,e):r.call(n,e.charAt(i),i,e)},Ns=function(e,r,n){for(var i in e)_n.call(e,i)&&(n==null?r(e[i],i,e):r.call(n,e[i],i,e))},Ds=function(e,r,n){if(!Ls(r))throw new TypeError("iterator must be a function");var i;arguments.length>=3&&(i=n),ks.call(e)==="[object Array]"?Ps(e,r,i):typeof e=="string"?Fs(e,r,i):Ns(e,r,i)},Rs=Ds,Ft=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],Vs=typeof globalThis>"u"?rn:globalThis,$s=function(){for(var e=[],r=0;r<Ft.length;r++)typeof Vs[Ft[r]]=="function"&&(e[e.length]=Ft[r]);return e},gt=Rs,js=$s,Vr=wn,lr=En,ft=ur,Ms=lr("Object.prototype.toString"),Ln=sr(),$r=typeof globalThis>"u"?rn:globalThis,Xt=js(),dr=lr("String.prototype.slice"),Nt=Object.getPrototypeOf,Us=lr("Array.prototype.indexOf",!0)||function(e,r){for(var n=0;n<e.length;n+=1)if(e[n]===r)return n;return-1},mt={__proto__:null};Ln&&ft&&Nt?gt(Xt,function(t){var e=new $r[t];if(Symbol.toStringTag in e){var r=Nt(e),n=ft(r,Symbol.toStringTag);if(!n){var i=Nt(r);n=ft(i,Symbol.toStringTag)}mt["$"+t]=Vr(n.get)}}):gt(Xt,function(t){var e=new $r[t],r=e.slice||e.set;r&&(mt["$"+t]=Vr(r))});var qs=function(e){var r=!1;return gt(mt,function(n,i){if(!r)try{"$"+n(e)===i&&(r=dr(i,1))}catch{}}),r},xs=function(e){var r=!1;return gt(mt,function(n,i){if(!r)try{n(e),r=dr(i,1)}catch{}}),r},kn=function(e){if(!e||typeof e!="object")return!1;if(!Ln){var r=dr(Ms(e),8,-1);return Us(Xt,r)>-1?r:r!=="Object"?!1:xs(e)}return ft?qs(e):null},Bs=kn,Qs=function(e){return!!Bs(e)};(function(t){var e=fs,r=ms,n=kn,i=Qs;function o(y){return y.call.bind(y)}var s=typeof BigInt<"u",a=typeof Symbol<"u",u=o(Object.prototype.toString),d=o(Number.prototype.valueOf),c=o(String.prototype.valueOf),f=o(Boolean.prototype.valueOf);if(s)var h=o(BigInt.prototype.valueOf);if(a)var m=o(Symbol.prototype.valueOf);function b(y,$n){if(typeof y!="object")return!1;try{return $n(y),!0}catch{return!1}}t.isArgumentsObject=e,t.isGeneratorFunction=r,t.isTypedArray=i;function C(y){return typeof Promise<"u"&&y instanceof Promise||y!==null&&typeof y=="object"&&typeof y.then=="function"&&typeof y.catch=="function"}t.isPromise=C;function O(y){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(y):i(y)||p(y)}t.isArrayBufferView=O;function D(y){return n(y)==="Uint8Array"}t.isUint8Array=D;function $(y){return n(y)==="Uint8ClampedArray"}t.isUint8ClampedArray=$;function G(y){return n(y)==="Uint16Array"}t.isUint16Array=G;function W(y){return n(y)==="Uint32Array"}t.isUint32Array=W;function P(y){return n(y)==="Int8Array"}t.isInt8Array=P;function V(y){return n(y)==="Int16Array"}t.isInt16Array=V;function E(y){return n(y)==="Int32Array"}t.isInt32Array=E;function Z(y){return n(y)==="Float32Array"}t.isFloat32Array=Z;function ee(y){return n(y)==="Float64Array"}t.isFloat64Array=ee;function Ce(y){return n(y)==="BigInt64Array"}t.isBigInt64Array=Ce;function ve(y){return n(y)==="BigUint64Array"}t.isBigUint64Array=ve;function oe(y){return u(y)==="[object Map]"}oe.working=typeof Map<"u"&&oe(new Map);function It(y){return typeof Map>"u"?!1:oe.working?oe(y):y instanceof Map}t.isMap=It;function ye(y){return u(y)==="[object Set]"}ye.working=typeof Set<"u"&&ye(new Set);function Ge(y){return typeof Set>"u"?!1:ye.working?ye(y):y instanceof Set}t.isSet=Ge;function _e(y){return u(y)==="[object WeakMap]"}_e.working=typeof WeakMap<"u"&&_e(new WeakMap);function Ot(y){return typeof WeakMap>"u"?!1:_e.working?_e(y):y instanceof WeakMap}t.isWeakMap=Ot;function Le(y){return u(y)==="[object WeakSet]"}Le.working=typeof WeakSet<"u"&&Le(new WeakSet);function se(y){return Le(y)}t.isWeakSet=se;function ke(y){return u(y)==="[object ArrayBuffer]"}ke.working=typeof ArrayBuffer<"u"&&ke(new ArrayBuffer);function et(y){return typeof ArrayBuffer>"u"?!1:ke.working?ke(y):y instanceof ArrayBuffer}t.isArrayBuffer=et;function l(y){return u(y)==="[object DataView]"}l.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&l(new DataView(new ArrayBuffer(1),0,1));function p(y){return typeof DataView>"u"?!1:l.working?l(y):y instanceof DataView}t.isDataView=p;var g=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function S(y){return u(y)==="[object SharedArrayBuffer]"}function L(y){return typeof g>"u"?!1:(typeof S.working>"u"&&(S.working=S(new g)),S.working?S(y):y instanceof g)}t.isSharedArrayBuffer=L;function k(y){return u(y)==="[object AsyncFunction]"}t.isAsyncFunction=k;function T(y){return u(y)==="[object Map Iterator]"}t.isMapIterator=T;function _(y){return u(y)==="[object Set Iterator]"}t.isSetIterator=_;function N(y){return u(y)==="[object Generator]"}t.isGeneratorObject=N;function K(y){return u(y)==="[object WebAssembly.Module]"}t.isWebAssemblyCompiledModule=K;function Se(y){return b(y,d)}t.isNumberObject=Se;function tt(y){return b(y,c)}t.isStringObject=tt;function Pe(y){return b(y,f)}t.isBooleanObject=Pe;function rt(y){return s&&b(y,h)}t.isBigIntObject=rt;function hr(y){return a&&b(y,m)}t.isSymbolObject=hr;function Rn(y){return Se(y)||tt(y)||Pe(y)||rt(y)||hr(y)}t.isBoxedPrimitive=Rn;function Vn(y){return typeof Uint8Array<"u"&&(et(y)||L(y))}t.isAnyArrayBuffer=Vn,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(y){Object.defineProperty(t,y,{enumerable:!1,value:function(){throw new Error(y+" is not supported in userland")}})})})(yn);var Gs=function(e){return e&&typeof e=="object"&&typeof e.copy=="function"&&typeof e.fill=="function"&&typeof e.readUInt8=="function"},Zt={exports:{}};typeof Object.create=="function"?Zt.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Zt.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}};var Ks=Zt.exports;(function(t){var e=Object.getOwnPropertyDescriptors||function(p){for(var g=Object.keys(p),S={},L=0;L<g.length;L++)S[g[L]]=Object.getOwnPropertyDescriptor(p,g[L]);return S},r=/%[sdj%]/g;t.format=function(l){if(!P(l)){for(var p=[],g=0;g<arguments.length;g++)p.push(s(arguments[g]));return p.join(" ")}for(var g=1,S=arguments,L=S.length,k=String(l).replace(r,function(_){if(_==="%%")return"%";if(g>=L)return _;switch(_){case"%s":return String(S[g++]);case"%d":return Number(S[g++]);case"%j":try{return JSON.stringify(S[g++])}catch{return"[Circular]"}default:return _}}),T=S[g];g<L;T=S[++g])$(T)||!ee(T)?k+=" "+T:k+=" "+s(T);return k},t.deprecate=function(l,p){if(typeof w<"u"&&w.noDeprecation===!0)return l;if(typeof w>"u")return function(){return t.deprecate(l,p).apply(this,arguments)};var g=!1;function S(){if(!g){if(w.throwDeprecation)throw new Error(p);w.traceDeprecation?console.trace(p):console.error(p),g=!0}return l.apply(this,arguments)}return S};var n={},i=/^$/;if(w.env.NODE_DEBUG){var o=w.env.NODE_DEBUG;o=o.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),i=new RegExp("^"+o+"$","i")}t.debuglog=function(l){if(l=l.toUpperCase(),!n[l])if(i.test(l)){var p=w.pid;n[l]=function(){var g=t.format.apply(t,arguments);console.error("%s %d: %s",l,p,g)}}else n[l]=function(){};return n[l]};function s(l,p){var g={seen:[],stylize:u};return arguments.length>=3&&(g.depth=arguments[2]),arguments.length>=4&&(g.colors=arguments[3]),D(p)?g.showHidden=p:p&&t._extend(g,p),E(g.showHidden)&&(g.showHidden=!1),E(g.depth)&&(g.depth=2),E(g.colors)&&(g.colors=!1),E(g.customInspect)&&(g.customInspect=!0),g.colors&&(g.stylize=a),c(g,l,g.depth)}t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function a(l,p){var g=s.styles[p];return g?"\x1B["+s.colors[g][0]+"m"+l+"\x1B["+s.colors[g][1]+"m":l}function u(l,p){return l}function d(l){var p={};return l.forEach(function(g,S){p[g]=!0}),p}function c(l,p,g){if(l.customInspect&&p&&oe(p.inspect)&&p.inspect!==t.inspect&&!(p.constructor&&p.constructor.prototype===p)){var S=p.inspect(g,l);return P(S)||(S=c(l,S,g)),S}var L=f(l,p);if(L)return L;var k=Object.keys(p),T=d(k);if(l.showHidden&&(k=Object.getOwnPropertyNames(p)),ve(p)&&(k.indexOf("message")>=0||k.indexOf("description")>=0))return h(p);if(k.length===0){if(oe(p)){var _=p.name?": "+p.name:"";return l.stylize("[Function"+_+"]","special")}if(Z(p))return l.stylize(RegExp.prototype.toString.call(p),"regexp");if(Ce(p))return l.stylize(Date.prototype.toString.call(p),"date");if(ve(p))return h(p)}var N="",K=!1,Se=["{","}"];if(O(p)&&(K=!0,Se=["[","]"]),oe(p)){var tt=p.name?": "+p.name:"";N=" [Function"+tt+"]"}if(Z(p)&&(N=" "+RegExp.prototype.toString.call(p)),Ce(p)&&(N=" "+Date.prototype.toUTCString.call(p)),ve(p)&&(N=" "+h(p)),k.length===0&&(!K||p.length==0))return Se[0]+N+Se[1];if(g<0)return Z(p)?l.stylize(RegExp.prototype.toString.call(p),"regexp"):l.stylize("[Object]","special");l.seen.push(p);var Pe;return K?Pe=m(l,p,g,T,k):Pe=k.map(function(rt){return b(l,p,g,T,rt,K)}),l.seen.pop(),C(Pe,N,Se)}function f(l,p){if(E(p))return l.stylize("undefined","undefined");if(P(p)){var g="'"+JSON.stringify(p).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return l.stylize(g,"string")}if(W(p))return l.stylize(""+p,"number");if(D(p))return l.stylize(""+p,"boolean");if($(p))return l.stylize("null","null")}function h(l){return"["+Error.prototype.toString.call(l)+"]"}function m(l,p,g,S,L){for(var k=[],T=0,_=p.length;T<_;++T)Le(p,String(T))?k.push(b(l,p,g,S,String(T),!0)):k.push("");return L.forEach(function(N){N.match(/^\d+$/)||k.push(b(l,p,g,S,N,!0))}),k}function b(l,p,g,S,L,k){var T,_,N;if(N=Object.getOwnPropertyDescriptor(p,L)||{value:p[L]},N.get?N.set?_=l.stylize("[Getter/Setter]","special"):_=l.stylize("[Getter]","special"):N.set&&(_=l.stylize("[Setter]","special")),Le(S,L)||(T="["+L+"]"),_||(l.seen.indexOf(N.value)<0?($(g)?_=c(l,N.value,null):_=c(l,N.value,g-1),_.indexOf(`
3
3
  `)>-1&&(k?_=_.split(`
4
4
  `).map(function(K){return" "+K}).join(`
5
5
  `).slice(2):_=`
package/lib/es/index.js CHANGED
@@ -1211,7 +1211,7 @@ const Wi = {
1211
1211
  a.set({
1212
1212
  data: E.data.map((F, V) => ({
1213
1213
  ...F.attributes,
1214
- rank: V + 1
1214
+ friendsRank: V + 1
1215
1215
  })),
1216
1216
  hasMore: !1,
1217
1217
  key: Date.now(),
package/lib/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { StreamLayerContext } from '@streamlayer/sdk-web-interfaces';
2
2
  import { type DeepLinkCallback, type VideoPlayerCallback } from '@streamlayer/sdk-web-core';
3
3
  import avvio from 'avvio';
4
+ import './polyfills/raf';
4
5
  export type StreamLayerInstance = avvio.mixedInstance<StreamLayerContext>;
5
6
  export type StreamLayerPlugin = (instance: StreamLayerContext, opts: unknown, done: DoneFn) => void;
6
7
  type DoneFn = Function;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@streamlayer/sdk-web",
3
3
  "peerDependencies": {
4
- "@connectrpc/connect": "^1.3.0",
5
- "@connectrpc/connect-web": "^1.3.0",
4
+ "@connectrpc/connect": "^1.4.0",
5
+ "@connectrpc/connect-web": "^1.4.0",
6
6
  "@nanostores/query": "^0.2.10",
7
- "@streamlayer/sl-eslib": "^5.83.1",
7
+ "@streamlayer/sl-eslib": "^5.84.0",
8
8
  "nanoid": "3.3.7",
9
9
  "nanostores": "^0.10.0",
10
- "pino": "^8.17.2"
10
+ "pino": "^8.19.0"
11
11
  },
12
12
  "types": "./lib/index.d.ts",
13
13
  "exports": {
@@ -24,18 +24,18 @@
24
24
  "devDependencies": {
25
25
  "avvio": "^8.2.1",
26
26
  "tslib": "^2.6.2",
27
- "@streamlayer/feature-gamification": "^0.40.0",
28
- "@streamlayer/sdk-web-analytics": "^0.1.2",
29
- "@streamlayer/sdk-web-api": "^0.24.2",
30
- "@streamlayer/sdk-web-core": "^0.22.2",
31
- "@streamlayer/sdk-web-features": "^0.11.26",
32
- "@streamlayer/sdk-web-interfaces": "^0.21.0",
33
- "@streamlayer/sdk-web-logger": "^0.5.18",
34
- "@streamlayer/sdk-web-notifications": "^0.15.1",
35
- "@streamlayer/sdk-web-storage": "^0.4.5",
36
- "@streamlayer/sdk-web-types": "^0.23.0"
27
+ "@streamlayer/feature-gamification": "^0.40.1",
28
+ "@streamlayer/sdk-web-analytics": "^0.1.3",
29
+ "@streamlayer/sdk-web-api": "^0.24.3",
30
+ "@streamlayer/sdk-web-core": "^0.22.3",
31
+ "@streamlayer/sdk-web-features": "^0.11.27",
32
+ "@streamlayer/sdk-web-interfaces": "^0.21.1",
33
+ "@streamlayer/sdk-web-logger": "^0.5.19",
34
+ "@streamlayer/sdk-web-notifications": "^0.15.2",
35
+ "@streamlayer/sdk-web-storage": "^0.4.6",
36
+ "@streamlayer/sdk-web-types": "^0.23.1"
37
37
  },
38
- "version": "0.33.2",
38
+ "version": "0.33.3",
39
39
  "type": "module",
40
40
  "main": "./src/index.js",
41
41
  "typings": "./src/index.d.ts"