{"version":3,"sources":["js/http.js","../node_modules/phoenix/priv/static/phoenix.js","js/webSocket.js","index.js"],"names":["fetchTokens","baseUrl","id","url","response","result","Date","now","fetch","cache","headers","drmToken","json","drm_token","securityToken","security_token","fetchSecurityToken","_url","Accept","fetchFeatures","retwitterBaseUrl","then","res","data","features","identity","x","castDebugLogger","cast","debug","CastDebugLogger","getInstance","TAG","webSocket","itemRefNumber","onSessionStart","onSessionEnd","replace","info","socket","Socket","params","userToken","connect","itemsChannel","channel","on","join","receive","messages","reason","context","framework","CastReceiverContext","playerManager","getPlayerManager","queryString","window","location","search","urlParams","URLSearchParams","tvAppToken","decodeURIComponent","get","setEnabled","showDebugLogs","loggerLevelByTags","receiver","LoggerLevel","DEBUG","loggerLevelByEvents","ERROR","verifyUserToken","status","stop","Promise","reject","JSON","stringify","scheduleChecks","timeout","catch","err","scheduleTimeout","Math","max","setTimeout","addEventListener","events","category","CORE","event","type","error","setMediaPlaybackInfoHandler","loadRequest","playbackConfig","autoResumeDuration","licenseUrl","check_session_using_sockets","media","customData","protectionSystem","ContentProtection","WIDEVINE","licenseRequestHandler","requestInfo","verifyUserUrl","setMessageInterceptor","MessageType","LOAD","request","autoplay","contentId","chromecastSrc","contentUrl","start"],"mappings":";AAyDC,aAlDM,eAAeA,GAAY,QAAEC,EAAF,GAAWC,IACvCC,IACAC,EACAC,EAFAF,KAASF,gBAAsBC,oBAAqBI,KAAKC,QActD,OAXPH,QAAiBI,MAAML,EAAK,CAC1BM,MAAO,WACPC,QAAS,CACS,eAAA,sBAQb,CAAEC,UALTN,QAAeD,EAASQ,QAEFC,UAGHC,cAFCT,EAAOU,gBAWtB,SAASC,GAAmB,IAAEb,EAAF,cAAOW,IACpCG,IAAAA,KAAUd,0BAA4BW,QAAoBR,KAAKC,QAC5DC,OAAAA,MAAMS,EAAM,CACjBR,MAAO,WACPC,QAAS,CACS,eAAA,mBAChBQ,OAAQ,sBASP,SAASC,GAAc,iBAAEC,EAAF,GAAoBlB,IAC5Ce,IAAAA,KAAUG,yBAAwClB,kBAAmBI,KAAKC,QACvEC,OAAAA,MAAMS,EAAM,CACjBR,MAAO,WACPC,QAAS,CACS,eAAA,mBAChBQ,OAAQ,sBAGTG,KAAMC,GAAQA,EAAIV,QAClBS,KAAMC,GAAQA,EAAIC,KAAKC,UAC3B,OAAA,eAAA,QAAA,aAAA,CAAA,OAAA,IAAA,QAAA,YAAA,EAAA,QAAA,mBAAA,EAAA,QAAA,cAAA;;;ACzDD,IAAA,GAAA,SAAA,EAAA,GAAA,iBAAA,SAAA,iBAAA,OAAA,OAAA,QAAA,IAAA,mBAAA,GAAA,EAAA,IAAA,EAAA,GAAA,GAAA,iBAAA,QAAA,QAAA,QAAA,IAAA,EAAA,QAAA,IAAA,CAAA,KAAA,WAAA,OAAA,SAAA,GAAA,IAAA,EAAA,GAAA,SAAA,EAAA,GAAA,GAAA,EAAA,GAAA,OAAA,EAAA,GAAA,QAAA,IAAA,EAAA,EAAA,GAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,IAAA,OAAA,EAAA,GAAA,KAAA,EAAA,QAAA,EAAA,EAAA,QAAA,GAAA,EAAA,GAAA,EAAA,EAAA,QAAA,OAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,IAAA,OAAA,eAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,KAAA,EAAA,EAAA,SAAA,GAAA,oBAAA,QAAA,OAAA,aAAA,OAAA,eAAA,EAAA,OAAA,YAAA,CAAA,MAAA,WAAA,OAAA,eAAA,EAAA,aAAA,CAAA,OAAA,KAAA,EAAA,EAAA,SAAA,EAAA,GAAA,GAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,GAAA,EAAA,GAAA,iBAAA,GAAA,GAAA,EAAA,WAAA,OAAA,EAAA,IAAA,EAAA,OAAA,OAAA,MAAA,GAAA,EAAA,EAAA,GAAA,OAAA,eAAA,EAAA,UAAA,CAAA,YAAA,EAAA,MAAA,IAAA,EAAA,GAAA,iBAAA,EAAA,IAAA,IAAA,KAAA,EAAA,EAAA,EAAA,EAAA,EAAA,SAAA,GAAA,OAAA,EAAA,IAAA,KAAA,KAAA,IAAA,OAAA,GAAA,EAAA,EAAA,SAAA,GAAA,IAAA,EAAA,GAAA,EAAA,WAAA,WAAA,OAAA,EAAA,SAAA,WAAA,OAAA,GAAA,OAAA,EAAA,EAAA,EAAA,IAAA,GAAA,GAAA,EAAA,EAAA,SAAA,EAAA,GAAA,OAAA,OAAA,UAAA,eAAA,KAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,GAAA,CAAA,CAAA,SAAA,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,KAAA,KAAA,EAAA,KAAA,SAAA,EAAA,GAAA,IAAA,EAAA,EAAA,WAAA,OAAA,KAAA,GAAA,IAAA,EAAA,GAAA,IAAA,SAAA,cAAA,GAAA,MAAA,GAAA,iBAAA,SAAA,EAAA,QAAA,EAAA,QAAA,GAAA,SAAA,EAAA,EAAA,GAAA,aAAA,SAAA,EAAA,GAAA,OAAA,SAAA,GAAA,GAAA,MAAA,QAAA,GAAA,OAAA,EAAA,GAAA,CAAA,IAAA,SAAA,GAAA,GAAA,oBAAA,QAAA,OAAA,YAAA,OAAA,GAAA,OAAA,MAAA,KAAA,GAAA,CAAA,IAAA,EAAA,IAAA,WAAA,MAAA,IAAA,UAAA,wIAAA,GAAA,SAAA,EAAA,GAAA,OAAA,EAAA,mBAAA,QAAA,iBAAA,OAAA,SAAA,SAAA,GAAA,cAAA,GAAA,SAAA,GAAA,OAAA,GAAA,mBAAA,QAAA,EAAA,cAAA,QAAA,IAAA,OAAA,UAAA,gBAAA,IAAA,GAAA,SAAA,EAAA,EAAA,GAAA,OAAA,SAAA,GAAA,GAAA,MAAA,QAAA,GAAA,OAAA,EAAA,CAAA,IAAA,SAAA,EAAA,GAAA,GAAA,oBAAA,QAAA,OAAA,YAAA,OAAA,GAAA,CAAA,IAAA,EAAA,GAAA,GAAA,EAAA,GAAA,EAAA,OAAA,EAAA,IAAA,IAAA,IAAA,EAAA,EAAA,EAAA,OAAA,cAAA,GAAA,EAAA,EAAA,QAAA,QAAA,EAAA,KAAA,EAAA,QAAA,GAAA,EAAA,SAAA,GAAA,GAAA,IAAA,MAAA,GAAA,GAAA,EAAA,EAAA,EAAA,QAAA,IAAA,GAAA,MAAA,EAAA,QAAA,EAAA,SAAA,QAAA,GAAA,EAAA,MAAA,GAAA,OAAA,GAAA,CAAA,EAAA,IAAA,EAAA,EAAA,IAAA,WAAA,MAAA,IAAA,UAAA,6IAAA,GAAA,SAAA,EAAA,EAAA,GAAA,GAAA,EAAA,CAAA,GAAA,iBAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA,EAAA,OAAA,UAAA,SAAA,KAAA,GAAA,MAAA,GAAA,GAAA,MAAA,WAAA,GAAA,EAAA,cAAA,EAAA,EAAA,YAAA,MAAA,QAAA,GAAA,QAAA,EAAA,MAAA,KAAA,GAAA,cAAA,GAAA,2CAAA,KAAA,GAAA,EAAA,EAAA,QAAA,GAAA,SAAA,EAAA,EAAA,IAAA,MAAA,GAAA,EAAA,EAAA,UAAA,EAAA,EAAA,QAAA,IAAA,IAAA,EAAA,EAAA,EAAA,IAAA,MAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,EAAA,GAAA,OAAA,EAAA,SAAA,EAAA,EAAA,GAAA,KAAA,aAAA,GAAA,MAAA,IAAA,UAAA,qCAAA,SAAA,EAAA,EAAA,GAAA,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,OAAA,IAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,cAAA,EAAA,UAAA,IAAA,EAAA,UAAA,GAAA,OAAA,eAAA,EAAA,EAAA,IAAA,IAAA,SAAA,EAAA,EAAA,EAAA,GAAA,OAAA,GAAA,EAAA,EAAA,UAAA,GAAA,GAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,EAAA,UAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,aAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,SAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,WAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,OAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,WAAA,WAAA,OAAA,IAAA,IAAA,EAAA,oBAAA,KAAA,KAAA,KAAA,EAAA,oBAAA,OAAA,OAAA,KAAA,EAAA,GAAA,QAAA,EAAA,EAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,YAAA,EAAA,SAAA,GAAA,MAAA,mBAAA,EAAA,EAAA,WAAA,OAAA,IAAA,EAAA,WAAA,SAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,KAAA,GAAA,KAAA,QAAA,EAAA,KAAA,MAAA,EAAA,KAAA,QAAA,GAAA,WAAA,MAAA,IAAA,KAAA,aAAA,KAAA,KAAA,QAAA,EAAA,KAAA,aAAA,KAAA,KAAA,SAAA,GAAA,KAAA,MAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA,IAAA,SAAA,MAAA,SAAA,GAAA,KAAA,QAAA,EAAA,KAAA,QAAA,KAAA,SAAA,CAAA,IAAA,OAAA,MAAA,WAAA,KAAA,YAAA,aAAA,KAAA,eAAA,KAAA,MAAA,EAAA,KAAA,QAAA,OAAA,KAAA,CAAA,MAAA,KAAA,QAAA,MAAA,MAAA,KAAA,MAAA,QAAA,KAAA,UAAA,IAAA,KAAA,IAAA,SAAA,KAAA,QAAA,eAAA,CAAA,IAAA,UAAA,MAAA,SAAA,EAAA,GAAA,OAAA,KAAA,YAAA,IAAA,EAAA,KAAA,aAAA,UAAA,KAAA,SAAA,KAAA,CAAA,OAAA,EAAA,SAAA,IAAA,OAAA,CAAA,IAAA,QAAA,MAAA,WAAA,KAAA,iBAAA,KAAA,IAAA,KAAA,KAAA,SAAA,KAAA,KAAA,aAAA,KAAA,KAAA,MAAA,IAAA,CAAA,IAAA,eAAA,MAAA,SAAA,GAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,IAAA,KAAA,SAAA,OAAA,SAAA,GAAA,OAAA,EAAA,SAAA,IAAA,QAAA,SAAA,GAAA,OAAA,EAAA,SAAA,OAAA,CAAA,IAAA,iBAAA,MAAA,WAAA,KAAA,UAAA,KAAA,QAAA,IAAA,KAAA,YAAA,CAAA,IAAA,gBAAA,MAAA,WAAA,aAAA,KAAA,cAAA,KAAA,aAAA,OAAA,CAAA,IAAA,eAAA,MAAA,WAAA,IAAA,EAAA,KAAA,KAAA,cAAA,KAAA,gBAAA,KAAA,IAAA,KAAA,QAAA,OAAA,UAAA,KAAA,SAAA,KAAA,QAAA,eAAA,KAAA,KAAA,KAAA,QAAA,GAAA,KAAA,SAAA,SAAA,GAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,EAAA,aAAA,KAAA,KAAA,aAAA,WAAA,WAAA,EAAA,QAAA,UAAA,KAAA,KAAA,WAAA,CAAA,IAAA,cAAA,MAAA,SAAA,GAAA,OAAA,KAAA,cAAA,KAAA,aAAA,SAAA,IAAA,CAAA,IAAA,UAAA,MAAA,SAAA,EAAA,GAAA,KAAA,QAAA,QAAA,KAAA,SAAA,CAAA,OAAA,EAAA,SAAA,QAAA,EAAA,GAAA,EAAA,WAAA,SAAA,EAAA,EAAA,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,KAAA,GAAA,KAAA,MAAA,EAAA,KAAA,MAAA,EAAA,KAAA,OAAA,EAAA,GAAA,IAAA,KAAA,OAAA,EAAA,KAAA,SAAA,GAAA,KAAA,WAAA,EAAA,KAAA,QAAA,KAAA,OAAA,QAAA,KAAA,YAAA,EAAA,KAAA,SAAA,IAAA,EAAA,KAAA,EAAA,KAAA,OAAA,KAAA,SAAA,KAAA,WAAA,GAAA,KAAA,gBAAA,GAAA,KAAA,YAAA,IAAA,EAAA,WAAA,EAAA,OAAA,eAAA,EAAA,UAAA,KAAA,OAAA,eAAA,KAAA,gBAAA,KAAA,KAAA,OAAA,QAAA,WAAA,OAAA,EAAA,YAAA,WAAA,KAAA,gBAAA,KAAA,KAAA,OAAA,OAAA,WAAA,EAAA,YAAA,QAAA,EAAA,aAAA,EAAA,YAAA,KAAA,SAAA,QAAA,KAAA,WAAA,EAAA,MAAA,EAAA,EAAA,YAAA,QAAA,EAAA,WAAA,QAAA,SAAA,GAAA,OAAA,EAAA,SAAA,EAAA,WAAA,KAAA,KAAA,SAAA,QAAA,QAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,eAAA,EAAA,YAAA,oBAAA,KAAA,QAAA,WAAA,EAAA,YAAA,QAAA,EAAA,OAAA,aAAA,EAAA,OAAA,IAAA,UAAA,SAAA,OAAA,EAAA,MAAA,KAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,OAAA,KAAA,KAAA,QAAA,SAAA,GAAA,EAAA,OAAA,aAAA,EAAA,OAAA,IAAA,UAAA,SAAA,OAAA,EAAA,OAAA,GAAA,EAAA,aAAA,EAAA,SAAA,QAAA,EAAA,MAAA,EAAA,EAAA,OAAA,eAAA,EAAA,YAAA,oBAAA,KAAA,SAAA,QAAA,UAAA,WAAA,EAAA,OAAA,aAAA,EAAA,OAAA,IAAA,UAAA,WAAA,OAAA,EAAA,MAAA,MAAA,OAAA,EAAA,UAAA,KAAA,EAAA,SAAA,SAAA,IAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAA,OAAA,EAAA,MAAA,EAAA,EAAA,SAAA,QAAA,EAAA,OAAA,eAAA,EAAA,YAAA,oBAAA,KAAA,GAAA,EAAA,SAAA,EAAA,GAAA,EAAA,QAAA,EAAA,eAAA,GAAA,KAAA,OAAA,EAAA,EAAA,CAAA,CAAA,IAAA,OAAA,MAAA,WAAA,IAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,KAAA,QAAA,GAAA,KAAA,WAAA,MAAA,IAAA,MAAA,8FAAA,OAAA,KAAA,QAAA,EAAA,KAAA,YAAA,EAAA,KAAA,SAAA,KAAA,WAAA,CAAA,IAAA,UAAA,MAAA,SAAA,GAAA,KAAA,GAAA,EAAA,KAAA,CAAA,IAAA,UAAA,MAAA,SAAA,GAAA,OAAA,KAAA,GAAA,EAAA,SAAA,GAAA,OAAA,EAAA,OAAA,CAAA,IAAA,KAAA,MAAA,SAAA,EAAA,GAAA,IAAA,EAAA,KAAA,aAAA,OAAA,KAAA,SAAA,KAAA,CAAA,MAAA,EAAA,IAAA,EAAA,SAAA,IAAA,IAAA,CAAA,IAAA,MAAA,MAAA,SAAA,EAAA,GAAA,KAAA,SAAA,KAAA,SAAA,OAAA,SAAA,GAAA,QAAA,EAAA,QAAA,SAAA,IAAA,GAAA,IAAA,EAAA,UAAA,CAAA,IAAA,UAAA,MAAA,WAAA,OAAA,KAAA,OAAA,eAAA,KAAA,aAAA,CAAA,IAAA,OAAA,MAAA,SAAA,EAAA,GAAA,IAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,KAAA,QAAA,GAAA,EAAA,GAAA,IAAA,KAAA,WAAA,MAAA,IAAA,MAAA,kBAAA,OAAA,EAAA,UAAA,OAAA,KAAA,MAAA,+DAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,OAAA,GAAA,GAAA,OAAA,KAAA,UAAA,EAAA,QAAA,EAAA,eAAA,KAAA,WAAA,KAAA,IAAA,IAAA,CAAA,IAAA,QAAA,MAAA,WAAA,IAAA,EAAA,KAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,KAAA,QAAA,KAAA,YAAA,QAAA,KAAA,SAAA,gBAAA,KAAA,MAAA,EAAA,IAAA,EAAA,WAAA,EAAA,OAAA,aAAA,EAAA,OAAA,IAAA,UAAA,SAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,KAAA,EAAA,EAAA,IAAA,GAAA,OAAA,EAAA,QAAA,KAAA,WAAA,OAAA,MAAA,QAAA,UAAA,WAAA,OAAA,MAAA,EAAA,OAAA,KAAA,WAAA,EAAA,QAAA,KAAA,IAAA,IAAA,CAAA,IAAA,YAAA,MAAA,SAAA,EAAA,EAAA,GAAA,OAAA,IAAA,CAAA,IAAA,mBAAA,MAAA,SAAA,GAAA,OAAA,EAAA,QAAA,IAAA,IAAA,CAAA,IAAA,WAAA,MAAA,SAAA,EAAA,EAAA,EAAA,GAAA,QAAA,KAAA,QAAA,GAAA,GAAA,IAAA,KAAA,WAAA,KAAA,iBAAA,KAAA,KAAA,OAAA,aAAA,KAAA,OAAA,IAAA,UAAA,4BAAA,CAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,IAAA,MAAA,CAAA,IAAA,UAAA,MAAA,WAAA,OAAA,KAAA,SAAA,MAAA,CAAA,IAAA,SAAA,MAAA,WAAA,IAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,KAAA,QAAA,KAAA,cAAA,KAAA,OAAA,eAAA,KAAA,OAAA,KAAA,MAAA,EAAA,KAAA,SAAA,OAAA,MAAA,CAAA,IAAA,UAAA,MAAA,SAAA,EAAA,EAAA,EAAA,GAAA,IAAA,EAAA,KAAA,UAAA,EAAA,EAAA,EAAA,GAAA,GAAA,IAAA,EAAA,MAAA,IAAA,MAAA,+EAAA,IAAA,IAAA,EAAA,KAAA,SAAA,OAAA,SAAA,GAAA,OAAA,EAAA,QAAA,IAAA,EAAA,EAAA,EAAA,EAAA,OAAA,IAAA,EAAA,GAAA,SAAA,EAAA,EAAA,GAAA,KAAA,aAAA,CAAA,IAAA,iBAAA,MAAA,SAAA,GAAA,MAAA,cAAA,OAAA,KAAA,CAAA,IAAA,WAAA,MAAA,WAAA,OAAA,KAAA,QAAA,IAAA,CAAA,IAAA,YAAA,MAAA,WAAA,OAAA,KAAA,QAAA,IAAA,CAAA,IAAA,WAAA,MAAA,WAAA,OAAA,KAAA,QAAA,IAAA,CAAA,IAAA,YAAA,MAAA,WAAA,OAAA,KAAA,QAAA,IAAA,CAAA,IAAA,YAAA,MAAA,WAAA,OAAA,KAAA,QAAA,MAAA,EAAA,GAAA,EAAA,CAAA,cAAA,EAAA,YAAA,EAAA,MAAA,CAAA,KAAA,EAAA,MAAA,EAAA,UAAA,GAAA,OAAA,SAAA,EAAA,GAAA,GAAA,EAAA,QAAA,cAAA,YAAA,OAAA,EAAA,KAAA,aAAA,IAAA,IAAA,EAAA,CAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,OAAA,EAAA,KAAA,UAAA,KAAA,OAAA,SAAA,EAAA,GAAA,GAAA,EAAA,cAAA,YAAA,OAAA,EAAA,KAAA,aAAA,IAAA,IAAA,EAAA,EAAA,KAAA,MAAA,GAAA,GAAA,OAAA,EAAA,CAAA,SAAA,EAAA,GAAA,IAAA,EAAA,GAAA,MAAA,EAAA,GAAA,MAAA,EAAA,GAAA,QAAA,EAAA,MAAA,aAAA,SAAA,GAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,KAAA,YAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,IAAA,YAAA,KAAA,cAAA,GAAA,EAAA,IAAA,SAAA,GAAA,EAAA,EAAA,EAAA,SAAA,IAAA,KAAA,MAAA,MAAA,EAAA,SAAA,IAAA,EAAA,QAAA,EAAA,SAAA,IAAA,EAAA,QAAA,EAAA,SAAA,IAAA,EAAA,QAAA,EAAA,SAAA,IAAA,EAAA,QAAA,MAAA,KAAA,EAAA,SAAA,GAAA,OAAA,EAAA,SAAA,IAAA,EAAA,WAAA,MAAA,MAAA,KAAA,EAAA,SAAA,GAAA,OAAA,EAAA,SAAA,IAAA,EAAA,WAAA,MAAA,MAAA,KAAA,EAAA,SAAA,GAAA,OAAA,EAAA,SAAA,IAAA,EAAA,WAAA,MAAA,MAAA,KAAA,EAAA,SAAA,GAAA,OAAA,EAAA,SAAA,IAAA,EAAA,WAAA,MAAA,IAAA,EAAA,IAAA,WAAA,EAAA,WAAA,EAAA,YAAA,OAAA,EAAA,IAAA,IAAA,WAAA,GAAA,GAAA,EAAA,IAAA,IAAA,WAAA,GAAA,EAAA,YAAA,EAAA,QAAA,aAAA,SAAA,GAAA,IAAA,EAAA,IAAA,SAAA,GAAA,EAAA,EAAA,SAAA,GAAA,EAAA,IAAA,YAAA,OAAA,GAAA,KAAA,KAAA,MAAA,KAAA,OAAA,KAAA,WAAA,EAAA,EAAA,GAAA,KAAA,KAAA,MAAA,MAAA,OAAA,KAAA,YAAA,EAAA,EAAA,GAAA,KAAA,KAAA,MAAA,UAAA,OAAA,KAAA,gBAAA,EAAA,EAAA,KAAA,WAAA,SAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EAAA,SAAA,GAAA,EAAA,EAAA,SAAA,GAAA,EAAA,EAAA,SAAA,GAAA,EAAA,KAAA,cAAA,KAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,OAAA,GAAA,EAAA,CAAA,SAAA,EAAA,IAAA,KAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,cAAA,YAAA,SAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EAAA,SAAA,GAAA,EAAA,EAAA,SAAA,GAAA,EAAA,EAAA,SAAA,GAAA,EAAA,EAAA,SAAA,GAAA,EAAA,KAAA,cAAA,KAAA,YAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,YAAA,MAAA,CAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,CAAA,OAAA,EAAA,SAAA,KAAA,gBAAA,SAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EAAA,SAAA,GAAA,EAAA,EAAA,SAAA,GAAA,EAAA,KAAA,cAAA,EAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,IAAA,OAAA,GAAA,EAAA,CAAA,SAAA,KAAA,IAAA,KAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,WAAA,SAAA,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,GAAA,EAAA,KAAA,GAAA,KAAA,qBAAA,CAAA,KAAA,GAAA,MAAA,GAAA,MAAA,GAAA,QAAA,IAAA,KAAA,SAAA,GAAA,KAAA,WAAA,GAAA,KAAA,IAAA,EAAA,KAAA,QAAA,EAAA,SAAA,IAAA,KAAA,UAAA,EAAA,WAAA,EAAA,WAAA,EAAA,KAAA,eAAA,EAAA,OAAA,KAAA,GAAA,KAAA,eAAA,EAAA,OAAA,KAAA,GAAA,KAAA,eAAA,EAAA,KAAA,UAAA,EAAA,KAAA,WAAA,EAAA,YAAA,cAAA,KAAA,YAAA,GAAA,KAAA,OAAA,EAAA,QAAA,KAAA,eAAA,KAAA,OAAA,EAAA,QAAA,KAAA,iBAAA,KAAA,OAAA,KAAA,eAAA,KAAA,OAAA,KAAA,gBAAA,GAAA,EAAA,kBAAA,EAAA,iBAAA,eAAA,SAAA,GAAA,EAAA,OAAA,EAAA,UAAA,EAAA,EAAA,cAAA,eAAA,KAAA,oBAAA,EAAA,qBAAA,IAAA,KAAA,cAAA,SAAA,GAAA,OAAA,EAAA,cAAA,EAAA,cAAA,GAAA,CAAA,IAAA,IAAA,KAAA,EAAA,IAAA,KAAA,KAAA,iBAAA,SAAA,GAAA,OAAA,EAAA,SAAA,IAAA,EAAA,iBAAA,EAAA,iBAAA,GAAA,CAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAAA,EAAA,IAAA,KAAA,KAAA,OAAA,EAAA,QAAA,KAAA,KAAA,kBAAA,EAAA,mBAAA,IAAA,KAAA,OAAA,EAAA,EAAA,QAAA,IAAA,KAAA,SAAA,GAAA,OAAA,EAAA,KAAA,OAAA,GAAA,KAAA,IAAA,EAAA,KAAA,QAAA,KAAA,eAAA,KAAA,KAAA,oBAAA,KAAA,KAAA,eAAA,IAAA,EAAA,WAAA,EAAA,SAAA,WAAA,OAAA,EAAA,aAAA,KAAA,kBAAA,OAAA,EAAA,EAAA,CAAA,CAAA,IAAA,WAAA,MAAA,WAAA,OAAA,SAAA,SAAA,MAAA,UAAA,MAAA,OAAA,CAAA,IAAA,cAAA,MAAA,WAAA,IAAA,EAAA,EAAA,aAAA,EAAA,aAAA,KAAA,SAAA,KAAA,UAAA,CAAA,IAAA,KAAA,MAAA,MAAA,MAAA,EAAA,OAAA,GAAA,EAAA,MAAA,EAAA,OAAA,GAAA,GAAA,OAAA,KAAA,WAAA,KAAA,OAAA,GAAA,GAAA,OAAA,KAAA,WAAA,OAAA,OAAA,SAAA,MAAA,OAAA,KAAA,CAAA,IAAA,aAAA,MAAA,SAAA,EAAA,EAAA,GAAA,KAAA,eAAA,EAAA,KAAA,eAAA,QAAA,KAAA,SAAA,EAAA,EAAA,KAAA,CAAA,IAAA,UAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,IAAA,SAAA,QAAA,IAAA,2FAAA,KAAA,OAAA,EAAA,IAAA,KAAA,OAAA,KAAA,eAAA,EAAA,KAAA,KAAA,IAAA,KAAA,UAAA,KAAA,eAAA,KAAA,KAAA,WAAA,KAAA,WAAA,KAAA,KAAA,QAAA,KAAA,kBAAA,KAAA,KAAA,OAAA,WAAA,OAAA,EAAA,cAAA,KAAA,KAAA,QAAA,SAAA,GAAA,OAAA,EAAA,YAAA,IAAA,KAAA,KAAA,UAAA,SAAA,GAAA,OAAA,EAAA,cAAA,IAAA,KAAA,KAAA,QAAA,SAAA,GAAA,OAAA,EAAA,YAAA,OAAA,CAAA,IAAA,MAAA,MAAA,SAAA,EAAA,EAAA,GAAA,KAAA,OAAA,EAAA,EAAA,KAAA,CAAA,IAAA,YAAA,MAAA,WAAA,OAAA,OAAA,KAAA,SAAA,CAAA,IAAA,SAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,UAAA,OAAA,KAAA,qBAAA,KAAA,KAAA,CAAA,EAAA,IAAA,IAAA,CAAA,IAAA,UAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,UAAA,OAAA,KAAA,qBAAA,MAAA,KAAA,CAAA,EAAA,IAAA,IAAA,CAAA,IAAA,UAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,UAAA,OAAA,KAAA,qBAAA,MAAA,KAAA,CAAA,EAAA,IAAA,IAAA,CAAA,IAAA,YAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,UAAA,OAAA,KAAA,qBAAA,QAAA,KAAA,CAAA,EAAA,IAAA,IAAA,CAAA,IAAA,aAAA,MAAA,WAAA,KAAA,aAAA,KAAA,IAAA,YAAA,gBAAA,OAAA,KAAA,gBAAA,KAAA,UAAA,EAAA,KAAA,eAAA,EAAA,KAAA,kBAAA,KAAA,eAAA,QAAA,KAAA,iBAAA,KAAA,qBAAA,KAAA,QAAA,SAAA,GAAA,OAAA,EAAA,EAAA,EAAA,GAAA,UAAA,CAAA,IAAA,iBAAA,MAAA,WAAA,IAAA,EAAA,KAAA,KAAA,MAAA,KAAA,KAAA,gBAAA,KAAA,oBAAA,KAAA,cAAA,KAAA,gBAAA,KAAA,eAAA,YAAA,WAAA,OAAA,EAAA,iBAAA,KAAA,wBAAA,CAAA,IAAA,WAAA,MAAA,SAAA,EAAA,EAAA,GAAA,IAAA,EAAA,KAAA,IAAA,KAAA,KAAA,OAAA,GAAA,IAAA,KAAA,kBAAA,WAAA,EAAA,OAAA,EAAA,EAAA,KAAA,MAAA,EAAA,GAAA,IAAA,EAAA,KAAA,SAAA,EAAA,oBAAA,WAAA,EAAA,OAAA,EAAA,KAAA,QAAA,aAAA,EAAA,KAAA,MAAA,GAAA,UAAA,CAAA,IAAA,oBAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,EAAA,IAAA,GAAA,KAAA,MAAA,KAAA,KAAA,eAAA,WAAA,WAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,IAAA,GAAA,MAAA,CAAA,IAAA,sBAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,EAAA,IAAA,GAAA,KAAA,MAAA,IAAA,KAAA,KAAA,WAAA,WAAA,WAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,IAAA,GAAA,MAAA,CAAA,IAAA,cAAA,MAAA,SAAA,GAAA,KAAA,aAAA,KAAA,IAAA,YAAA,QAAA,GAAA,KAAA,mBAAA,cAAA,KAAA,gBAAA,KAAA,eAAA,KAAA,eAAA,kBAAA,KAAA,qBAAA,MAAA,QAAA,SAAA,GAAA,OAAA,EAAA,EAAA,EAAA,GAAA,IAAA,OAAA,CAAA,IAAA,cAAA,MAAA,SAAA,GAAA,KAAA,aAAA,KAAA,IAAA,YAAA,GAAA,KAAA,mBAAA,KAAA,qBAAA,MAAA,QAAA,SAAA,GAAA,OAAA,EAAA,EAAA,EAAA,GAAA,IAAA,OAAA,CAAA,IAAA,mBAAA,MAAA,WAAA,KAAA,SAAA,QAAA,SAAA,GAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,QAAA,OAAA,CAAA,IAAA,kBAAA,MAAA,WAAA,OAAA,KAAA,MAAA,KAAA,KAAA,YAAA,KAAA,EAAA,MAAA,aAAA,KAAA,EAAA,MAAA,OAAA,KAAA,EAAA,MAAA,UAAA,QAAA,MAAA,YAAA,CAAA,IAAA,cAAA,MAAA,WAAA,MAAA,SAAA,KAAA,oBAAA,CAAA,IAAA,SAAA,MAAA,SAAA,GAAA,KAAA,IAAA,EAAA,iBAAA,KAAA,SAAA,KAAA,SAAA,OAAA,SAAA,GAAA,OAAA,EAAA,YAAA,EAAA,cAAA,CAAA,IAAA,MAAA,MAAA,SAAA,GAAA,IAAA,IAAA,KAAA,KAAA,qBAAA,KAAA,qBAAA,GAAA,KAAA,qBAAA,GAAA,OAAA,SAAA,GAAA,IAAA,EAAA,EAAA,EAAA,GAAA,GAAA,OAAA,IAAA,EAAA,QAAA,OAAA,CAAA,IAAA,UAAA,MAAA,SAAA,GAAA,IAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,GAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,OAAA,KAAA,SAAA,KAAA,GAAA,IAAA,CAAA,IAAA,OAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,GAAA,KAAA,YAAA,CAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,KAAA,IAAA,OAAA,GAAA,OAAA,EAAA,KAAA,OAAA,EAAA,MAAA,OAAA,EAAA,MAAA,OAAA,EAAA,KAAA,GAAA,KAAA,cAAA,KAAA,OAAA,EAAA,SAAA,GAAA,OAAA,EAAA,KAAA,KAAA,KAAA,KAAA,WAAA,KAAA,WAAA,OAAA,EAAA,OAAA,EAAA,SAAA,GAAA,OAAA,EAAA,KAAA,KAAA,SAAA,CAAA,IAAA,UAAA,MAAA,WAAA,IAAA,EAAA,KAAA,IAAA,EAAA,OAAA,IAAA,KAAA,IAAA,KAAA,IAAA,EAAA,KAAA,IAAA,EAAA,KAAA,IAAA,aAAA,CAAA,IAAA,gBAAA,MAAA,WAAA,GAAA,KAAA,cAAA,CAAA,GAAA,KAAA,oBAAA,OAAA,KAAA,oBAAA,KAAA,KAAA,aAAA,KAAA,IAAA,YAAA,iEAAA,KAAA,cAAA,qBAAA,KAAA,oBAAA,KAAA,UAAA,KAAA,KAAA,CAAA,MAAA,UAAA,MAAA,YAAA,QAAA,GAAA,IAAA,KAAA,yBAAA,CAAA,IAAA,gBAAA,MAAA,SAAA,GAAA,KAAA,eAAA,EAAA,IAAA,KAAA,KAAA,YAAA,KAAA,KAAA,MAAA,IAAA,KAAA,CAAA,IAAA,kBAAA,MAAA,WAAA,KAAA,eAAA,KAAA,WAAA,OAAA,IAAA,KAAA,WAAA,QAAA,SAAA,GAAA,OAAA,MAAA,KAAA,WAAA,MAAA,CAAA,IAAA,gBAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,KAAA,OAAA,EAAA,KAAA,SAAA,GAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,GAAA,IAAA,EAAA,sBAAA,EAAA,oBAAA,MAAA,EAAA,aAAA,EAAA,IAAA,UAAA,GAAA,OAAA,EAAA,QAAA,GAAA,KAAA,OAAA,EAAA,KAAA,OAAA,EAAA,KAAA,OAAA,GAAA,IAAA,EAAA,KAAA,IAAA,GAAA,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,SAAA,OAAA,IAAA,CAAA,IAAA,EAAA,EAAA,SAAA,GAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,GAAA,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,qBAAA,QAAA,OAAA,KAAA,EAAA,EAAA,EAAA,qBAAA,QAAA,GAAA,GAAA,IAAA,OAAA,CAAA,IAAA,iBAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,SAAA,KAAA,SAAA,GAAA,OAAA,EAAA,QAAA,IAAA,EAAA,YAAA,EAAA,eAAA,IAAA,KAAA,aAAA,KAAA,IAAA,YAAA,4BAAA,OAAA,EAAA,MAAA,EAAA,aAAA,EAAA,GAAA,EAAA,WAAA,SAAA,EAAA,GAAA,EAAA,KAAA,GAAA,KAAA,SAAA,KAAA,KAAA,MAAA,KAAA,KAAA,eAAA,EAAA,KAAA,OAAA,aAAA,KAAA,QAAA,aAAA,KAAA,UAAA,aAAA,KAAA,QAAA,aAAA,KAAA,aAAA,KAAA,kBAAA,GAAA,KAAA,WAAA,EAAA,KAAA,OAAA,OAAA,EAAA,EAAA,CAAA,CAAA,IAAA,oBAAA,MAAA,SAAA,GAAA,OAAA,EAAA,QAAA,QAAA,WAAA,QAAA,SAAA,YAAA,QAAA,IAAA,OAAA,QAAA,GAAA,iBAAA,CAAA,IAAA,cAAA,MAAA,WAAA,OAAA,EAAA,aAAA,KAAA,aAAA,CAAA,MAAA,KAAA,UAAA,CAAA,IAAA,gBAAA,MAAA,WAAA,KAAA,QAAA,KAAA,WAAA,IAAA,CAAA,IAAA,YAAA,MAAA,WAAA,KAAA,QAAA,WAAA,KAAA,kBAAA,CAAA,IAAA,OAAA,MAAA,WAAA,IAAA,EAAA,KAAA,IAAA,KAAA,YAAA,KAAA,aAAA,GAAA,EAAA,QAAA,MAAA,KAAA,cAAA,mBAAA,KAAA,KAAA,QAAA,KAAA,UAAA,KAAA,MAAA,SAAA,GAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,MAAA,OAAA,EAAA,EAAA,OAAA,GAAA,KAAA,IAAA,EAAA,QAAA,SAAA,GAAA,OAAA,EAAA,UAAA,CAAA,KAAA,MAAA,EAAA,OAAA,MAAA,KAAA,IAAA,EAAA,OAAA,MAAA,KAAA,IAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAAA,OAAA,MAAA,KAAA,IAAA,EAAA,UAAA,EAAA,QAAA,MAAA,KAAA,EAAA,KAAA,IAAA,EAAA,UAAA,EAAA,gBAAA,MAAA,QAAA,MAAA,IAAA,MAAA,yBAAA,OAAA,SAAA,CAAA,IAAA,OAAA,MAAA,SAAA,GAAA,IAAA,EAAA,KAAA,EAAA,QAAA,OAAA,KAAA,cAAA,mBAAA,EAAA,KAAA,QAAA,KAAA,QAAA,KAAA,KAAA,WAAA,SAAA,GAAA,GAAA,MAAA,EAAA,SAAA,EAAA,QAAA,GAAA,EAAA,QAAA,EAAA,qBAAA,CAAA,IAAA,QAAA,MAAA,SAAA,EAAA,GAAA,KAAA,WAAA,EAAA,KAAA,cAAA,EAAA,GAAA,EAAA,WAAA,SAAA,IAAA,EAAA,KAAA,GAAA,OAAA,EAAA,EAAA,KAAA,CAAA,CAAA,IAAA,UAAA,MAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GAAA,EAAA,eAAA,CAAA,IAAA,EAAA,IAAA,eAAA,KAAA,eAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,eAAA,KAAA,WAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,MAAA,CAAA,IAAA,iBAAA,MAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,EAAA,KAAA,EAAA,GAAA,EAAA,OAAA,WAAA,IAAA,EAAA,EAAA,UAAA,EAAA,cAAA,GAAA,EAAA,IAAA,IAAA,EAAA,UAAA,GAAA,EAAA,WAAA,aAAA,EAAA,KAAA,KAAA,CAAA,IAAA,aAAA,MAAA,SAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,GAAA,GAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,eAAA,GAAA,EAAA,QAAA,WAAA,GAAA,EAAA,OAAA,EAAA,mBAAA,WAAA,GAAA,EAAA,aAAA,EAAA,OAAA,UAAA,EAAA,CAAA,IAAA,EAAA,EAAA,UAAA,EAAA,cAAA,EAAA,KAAA,IAAA,EAAA,UAAA,GAAA,EAAA,KAAA,KAAA,CAAA,IAAA,YAAA,MAAA,SAAA,GAAA,IAAA,GAAA,KAAA,EAAA,OAAA,KAAA,IAAA,OAAA,KAAA,MAAA,GAAA,MAAA,GAAA,OAAA,SAAA,QAAA,IAAA,gCAAA,GAAA,QAAA,CAAA,IAAA,YAAA,MAAA,SAAA,EAAA,GAAA,IAAA,EAAA,GAAA,IAAA,IAAA,KAAA,EAAA,GAAA,EAAA,eAAA,GAAA,CAAA,IAAA,EAAA,EAAA,GAAA,OAAA,EAAA,KAAA,OAAA,EAAA,KAAA,EAAA,EAAA,EAAA,GAAA,WAAA,EAAA,GAAA,EAAA,KAAA,KAAA,UAAA,EAAA,IAAA,EAAA,KAAA,mBAAA,GAAA,IAAA,mBAAA,IAAA,OAAA,EAAA,KAAA,OAAA,CAAA,IAAA,eAAA,MAAA,SAAA,EAAA,GAAA,GAAA,IAAA,OAAA,KAAA,GAAA,OAAA,OAAA,EAAA,IAAA,EAAA,EAAA,MAAA,MAAA,IAAA,IAAA,MAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,KAAA,UAAA,QAAA,EAAA,GAAA,EAAA,OAAA,CAAA,SAAA,GAAA,IAAA,EAAA,WAAA,SAAA,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAA,GAAA,EAAA,KAAA,GAAA,IAAA,EAAA,EAAA,QAAA,CAAA,MAAA,iBAAA,KAAA,iBAAA,KAAA,MAAA,GAAA,KAAA,aAAA,GAAA,KAAA,QAAA,EAAA,KAAA,QAAA,KAAA,KAAA,OAAA,CAAA,OAAA,aAAA,QAAA,aAAA,OAAA,cAAA,KAAA,QAAA,GAAA,EAAA,MAAA,SAAA,GAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,aAAA,QAAA,SAAA,GAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,aAAA,GAAA,MAAA,KAAA,QAAA,GAAA,EAAA,KAAA,SAAA,GAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,aAAA,KAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,GAAA,OAAA,OAAA,EAAA,EAAA,CAAA,CAAA,IAAA,SAAA,MAAA,SAAA,GAAA,KAAA,OAAA,OAAA,IAAA,CAAA,IAAA,UAAA,MAAA,SAAA,GAAA,KAAA,OAAA,QAAA,IAAA,CAAA,IAAA,SAAA,MAAA,SAAA,GAAA,KAAA,OAAA,OAAA,IAAA,CAAA,IAAA,OAAA,MAAA,SAAA,GAAA,OAAA,EAAA,KAAA,KAAA,MAAA,KAAA,CAAA,IAAA,qBAAA,MAAA,WAAA,OAAA,KAAA,SAAA,KAAA,UAAA,KAAA,QAAA,aAAA,CAAA,CAAA,IAAA,YAAA,MAAA,SAAA,EAAA,EAAA,EAAA,GAAA,IAAA,EAAA,KAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,EAAA,GAAA,OAAA,KAAA,IAAA,EAAA,SAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,KAAA,KAAA,IAAA,EAAA,SAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,MAAA,IAAA,SAAA,GAAA,OAAA,EAAA,UAAA,EAAA,EAAA,MAAA,IAAA,SAAA,GAAA,OAAA,EAAA,UAAA,EAAA,EAAA,MAAA,OAAA,SAAA,GAAA,OAAA,EAAA,QAAA,EAAA,SAAA,IAAA,EAAA,EAAA,MAAA,OAAA,SAAA,GAAA,OAAA,EAAA,QAAA,EAAA,SAAA,IAAA,EAAA,OAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,MAAA,GAAA,EAAA,OAAA,IAAA,EAAA,GAAA,EAAA,MAAA,GAAA,EAAA,GAAA,MAAA,QAAA,EAAA,GAAA,IAAA,KAAA,SAAA,EAAA,CAAA,MAAA,EAAA,OAAA,GAAA,EAAA,KAAA,CAAA,IAAA,WAAA,MAAA,SAAA,EAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,KAAA,MAAA,GAAA,OAAA,IAAA,EAAA,cAAA,IAAA,EAAA,cAAA,KAAA,IAAA,EAAA,SAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAA,GAAA,EAAA,GAAA,EAAA,EAAA,CAAA,IAAA,EAAA,EAAA,EAAA,GAAA,MAAA,IAAA,SAAA,GAAA,OAAA,EAAA,UAAA,EAAA,EAAA,MAAA,OAAA,SAAA,GAAA,OAAA,EAAA,QAAA,EAAA,SAAA,KAAA,EAAA,EAAA,GAAA,OAAA,QAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,KAAA,IAAA,EAAA,SAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,MAAA,IAAA,SAAA,GAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,OAAA,SAAA,GAAA,OAAA,EAAA,QAAA,EAAA,SAAA,IAAA,EAAA,EAAA,EAAA,GAAA,IAAA,EAAA,MAAA,eAAA,EAAA,MAAA,IAAA,CAAA,IAAA,OAAA,MAAA,SAAA,EAAA,GAAA,OAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,IAAA,KAAA,IAAA,EAAA,SAAA,EAAA,GAAA,OAAA,EAAA,EAAA,OAAA,CAAA,IAAA,MAAA,MAAA,SAAA,EAAA,GAAA,OAAA,OAAA,oBAAA,GAAA,IAAA,SAAA,GAAA,OAAA,EAAA,EAAA,EAAA,QAAA,CAAA,IAAA,QAAA,MAAA,SAAA,GAAA,OAAA,KAAA,MAAA,KAAA,UAAA,QAAA,EAAA,GAAA,EAAA,WAAA,SAAA,EAAA,EAAA,GAAA,EAAA,KAAA,GAAA,KAAA,SAAA,EAAA,KAAA,UAAA,EAAA,KAAA,MAAA,KAAA,KAAA,MAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA,IAAA,QAAA,MAAA,WAAA,KAAA,MAAA,EAAA,aAAA,KAAA,SAAA,CAAA,IAAA,kBAAA,MAAA,WAAA,IAAA,EAAA,KAAA,aAAA,KAAA,OAAA,KAAA,MAAA,WAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,YAAA,KAAA,UAAA,KAAA,MAAA,QAAA,EAAA;;ACoDC,aAAA,OAAA,eAAA,QAAA,aAAA,CAAA,OAAA,IAAA,QAAA,QAAA,EAnDD,IAAA,EAAA,QAAA,WACA,MAAMC,EAAYC,GAAMA,EAElBC,EAAkBC,KAAKC,MAAMC,gBAAgBC,cAC7CC,EAAM,YAEG,SAASC,GAAU,IAChC9B,EADgC,cAEhC+B,EAFgC,cAGhCpB,EAHgC,eAIhCqB,EAJgC,aAKhCC,IAEAjC,EACEA,EAAIkC,QAAQ,UAAW,SAASA,QAAQ,WAAY,UAAY,UAElEV,EAAgBW,KAAKN,EAAK,0BAA4B7B,KAClDoC,IAAAA,EAAS,IAAIC,EAAJ,OAAWrC,EAAK,CAAEsC,OAAQ,CAAEC,UAAW,SAEpDH,EAAOI,UAEHC,IAAAA,EAAeL,EAAOM,gBAAgBX,IAAiB,CACzDnB,eAAgBD,IAyBX,OAvBPa,EAAgBW,KAAKN,EAAK,4BAA8BlB,GACxDa,EAAgBW,KAAKN,EAAK,4BAA8BE,GAExDC,EAAiBA,GAAkBV,EACnCW,EAAeA,GAAgBX,EAE/BmB,EAAaE,GAAG,gBAAiBX,GACjCS,EAAaE,GAAG,cAAeV,GAC/BQ,EACGG,OACAC,QAAQ,KAAM,EAAGC,SAAAA,KAChBtB,EAAgBW,KAAKN,EAAK,6BAA+BiB,IAE1DD,QAAQ,QAAS,EAAGE,OAAAA,KACnBvB,EAAgBW,KAAKN,EAAK,6BAA+BkB,IAE1DF,QAAQ,UAAW,IAClBrB,EAAgBW,KACdN,EACA,oDAIC,CACLO,OAAAA,EACAK,aAAAA;;ACsLH,aAvOD,IAAA,EAAA,QAAA,gBACA,EAAA,EAAA,QAAA,sBAsOC,SAAA,EAAA,GAAA,OAAA,GAAA,EAAA,WAAA,EAAA,CAAA,QAAA,GApOD,MAAMO,EAAUvB,KAAKwB,UAAUC,oBAAoBtB,cAC7CJ,EAAkBC,KAAKC,MAAMC,gBAAgBC,cAC7CuB,EAAgBH,EAAQI,mBAGxBC,EAAcC,OAAOC,SAASC,OAC9BC,EAAY,IAAIC,gBAAgBL,GAChCM,EAAaC,mBAAmBH,EAAUI,IAAI,iBAEtB,QAA1BJ,EAAUI,IAAI,UAEhBrC,EAAgBsC,YAAW,GAGA,QAAzBL,EAAUI,IAAI,SAChBrC,EAAgBuC,eAAc,GAGhCvC,EAAgBwC,kBAAoB,CAClCC,SAAUxC,KAAKwB,UAAUiB,YAAYC,OAGvC3C,EAAgB4C,oBAAsB,CACG3C,sCAAAA,KAAKwB,UAAUiB,YAAYG,OAOpE,MAAMxC,EAAM,WA8KZ,SAASyC,GAAgB,IAAEtE,EAAF,cAAOW,IACvB,OAAA,EAAmB,EAAA,oBAAA,CAAEX,IAAAA,EAAKW,cAAAA,IAC9BO,KAAMC,IACLK,EAAgBW,KAAKN,EAAK,eAAiBV,EAAIoD,QAC5B,MAAfpD,EAAIoD,QACNpB,EAAcqB,OACPC,QAAQC,OAAO,QAGjBvD,EAAIV,SAEZS,KAAMC,IACLK,EAAgBW,KAAKN,EAAK,aAAe8C,KAAKC,UAAUzD,IACxD0D,EAAe,CAAE7E,IAAAA,EAAKW,cAAAA,EAAemE,QAAS3D,EAAI2D,YAEnDC,MAAOC,IACNxD,EAAgBW,KAAKN,EAAK,UAAYmD,KAI5C,SAASH,GAAe,IAAE7E,EAAF,cAAOW,EAAP,QAAsBmE,EAAU,MACtDtD,EAAgBW,KAAKN,EAAK,YAAciD,GAClCG,MAAAA,EAAkBC,KAAKC,IAAIL,EAAS,KAC1CM,WAAW,IAAMd,EAAgB,CAAEtE,IAAAA,EAAKW,cAAAA,IAAkBsE,GAnM5D9B,EAAckC,iBAAiB5D,KAAKwB,UAAUqC,OAAOC,SAASC,KAAOC,KAC9DA,EAAMC,KAAO,UAChBlE,EAAgBmE,MACd9D,EACA,sCAAwC8C,KAAKC,UAAUa,MAM7DtC,EAAcyC,4BACZ,MAAOC,EAAaC,KAKlBA,EAAeC,mBAAqB,EAQpCvE,EAAgBW,KACdN,EACA,8BAAgCiE,EAAeE,YAO7C,IAAA,4BAAEC,SAAsC,EAAc,EAAA,eAAA,CACxDhF,iBAAkB4E,EAAYK,MAAMC,WAAWlF,iBAC/ClB,GAAI8F,EAAYK,MAAMC,WAAWpG,MAG/B,SAAES,EAAF,cAAYG,SAAwB,EAAY,EAAA,aAAA,CAClDb,QAAS+F,EAAYK,MAAMC,WAAWrG,QACtCC,GAAI8F,EAAYK,MAAMC,WAAWpG,KAuB/BkG,GApBJzE,EAAgBW,KAAKN,EAAK,aAAerB,GAErCA,GAAwB,IAAZA,IACdsF,EAAeE,WACb,oDAEFF,EAAeM,iBACb3E,KAAKwB,UAAUoD,kBAAkBC,SAEnCR,EAAeS,sBAAyBC,CAAAA,IAEtCA,EAAYjG,QAAQ,0BAA4BC,EAChDgB,EAAgBW,KACdN,EACA,0BAA4B8C,KAAKC,UAAU4B,IAEtCA,MAIyB,IAAhCP,EAAsC,CACxCzE,EAAgBW,KACdN,EACA,uCAAyC8B,GAEvC,IAAA,OAAEvB,EAAF,aAAUK,IAAiB,EAAU,EAAA,SAAA,CACvCzC,IAAK6F,EAAYK,MAAMC,WAAWlF,iBAClCc,cAAe8D,EAAYK,MAAMC,WAAWpG,GAC5CY,cAAegD,EACf3B,eAAgB,WACdR,EAAgBW,KAAKN,EAAK,mBAE5BI,aAAc,WACZT,EAAgBW,KAAKN,EAAK,gBAC1BsB,EAAcqB,eAIlBK,EAAe,CACb7E,IAAK6F,EAAYK,MAAMC,WAAWM,cAClC9F,cAAAA,IAQGmF,OAAAA,IAOX3C,EAAcuD,sBACZjF,KAAKwB,UAAUH,SAAS6D,YAAYC,KACnCC,IACCA,EAAQC,UAAW,EAEnBD,EAAQX,MAAMa,UACZF,EAAQX,MAAMC,WAAWa,eACzBH,EAAQX,MAAMa,WACdF,EAAQX,MAAMe,WAEhBzF,EAAgBW,KACdN,EACA,2BAA6BgF,EAAQX,MAAMa,WAGtCF,IAiCX7D,EAAQkE","file":"src.bb99666e.js","sourceRoot":"../src","sourcesContent":["//@ts-check\n\n/**\n * @param {Object} query\n * @param {string} query.baseUrl\n * @param {string} query.id\n */\nexport async function fetchTokens({ baseUrl, id }) {\n let url = `${baseUrl}/api/stream/${id}/chromecast/?_t=${Date.now()}`;\n let response;\n let result;\n response = await fetch(url, {\n cache: \"no-cache\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n result = await response.json();\n\n let drmToken = result.drm_token;\n let securityToken = result.security_token;\n\n return { drmToken, securityToken };\n}\n\n/**\n * Check if current token is still active\n * @param {Object} query\n * @param {string} query.url\n * @param {string} query.securityToken\n */\nexport function fetchSecurityToken({ url, securityToken }) {\n let _url = `${url}.json/?security_token=${securityToken}&_t=${Date.now()}`;\n return fetch(_url, {\n cache: \"no-cache\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n });\n}\n/**\n * @param {Object} query\n * @param {string} query.retwitterBaseUrl\n * @param {string} query.id\n */\nexport function fetchFeatures({ retwitterBaseUrl, id }) {\n let _url = `${retwitterBaseUrl}/public_api/v1/items/${id}/features/?_t=${Date.now()}`;\n return fetch(_url, {\n cache: \"no-cache\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n })\n .then((res) => res.json())\n .then((res) => res.data.features);\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.Phoenix=t():e.Phoenix=t()}(this,(function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}([function(e,t,n){(function(t){e.exports=t.Phoenix=n(2)}).call(this,n(1))},function(e,t){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){\"use strict\";function i(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||s(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);i=!0);}catch(e){o=!0,r=e}finally{try{i||null==a.return||a.return()}finally{if(o)throw r}}return n}(e,t)||s(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function s(e,t){if(e){if(\"string\"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:this.timeout;if(this.joinedOnce)throw new Error(\"tried to join multiple times. 'join' can only be called a single time per channel instance\");return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}},{key:\"onClose\",value:function(e){this.on(E,e)}},{key:\"onError\",value:function(e){return this.on(R,(function(t){return e(t)}))}},{key:\"on\",value:function(e,t){var n=this.bindingRef++;return this.bindings.push({event:e,ref:n,callback:t}),n}},{key:\"off\",value:function(e,t){this.bindings=this.bindings.filter((function(n){return!(n.event===e&&(void 0===t||t===n.ref))}))}},{key:\"canPush\",value:function(){return this.socket.isConnected()&&this.isJoined()}},{key:\"push\",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.timeout;if(t=t||{},!this.joinedOnce)throw new Error(\"tried to push '\".concat(e,\"' to '\").concat(this.topic,\"' before joining. Use channel.join() before pushing events\"));var i=new P(this,e,(function(){return t}),n);return this.canPush()?i.send():(i.startTimeout(),this.pushBuffer.push(i)),i}},{key:\"leave\",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.timeout;this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=C;var n=function(){e.socket.hasLogger()&&e.socket.log(\"channel\",\"leave \".concat(e.topic)),e.trigger(E,\"leave\")},i=new P(this,w,O({}),t);return i.receive(\"ok\",(function(){return n()})).receive(\"timeout\",(function(){return n()})),i.send(),this.canPush()||i.trigger(\"ok\",{}),i}},{key:\"onMessage\",value:function(e,t,n){return t}},{key:\"isLifecycleEvent\",value:function(e){return A.indexOf(e)>=0}},{key:\"isMember\",value:function(e,t,n,i){return this.topic===e&&(!i||i===this.joinRef()||!this.isLifecycleEvent(t)||(this.socket.hasLogger()&&this.socket.log(\"channel\",\"dropping outdated message\",{topic:e,event:t,payload:n,joinRef:i}),!1))}},{key:\"joinRef\",value:function(){return this.joinPush.ref}},{key:\"rejoin\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.timeout;this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=j,this.joinPush.resend(e))}},{key:\"trigger\",value:function(e,t,n,i){var o=this.onMessage(e,t,n,i);if(t&&!o)throw new Error(\"channel onMessage callbacks must return the payload, modified or unmodified\");for(var r=this.bindings.filter((function(t){return t.event===e})),s=0;s1&&void 0!==arguments[1]?arguments[1]:{};c(this,e),this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.timeout=i.timeout||1e4,this.transport=i.transport||d.WebSocket||D,this.defaultEncoder=H.encode.bind(H),this.defaultDecoder=H.decode.bind(H),this.closeWasClean=!1,this.unloaded=!1,this.binaryType=i.binaryType||\"arraybuffer\",this.transport!==D?(this.encode=i.encode||this.defaultEncoder,this.decode=i.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder),f&&f.addEventListener&&f.addEventListener(\"beforeunload\",(function(e){n.conn&&(n.unloaded=!0,n.abnormalClose(\"unloaded\"))})),this.heartbeatIntervalMs=i.heartbeatIntervalMs||3e4,this.rejoinAfterMs=function(e){return i.rejoinAfterMs?i.rejoinAfterMs(e):[1e3,2e3,5e3][e-1]||1e4},this.reconnectAfterMs=function(e){return n.unloaded?100:i.reconnectAfterMs?i.reconnectAfterMs(e):[10,50,100,150,200,250,500,1e3,2e3][e-1]||5e3},this.logger=i.logger||null,this.longpollerTimeout=i.longpollerTimeout||2e4,this.params=O(i.params||{}),this.endPoint=\"\".concat(t,\"/\").concat(x),this.vsn=i.vsn||\"2.0.0\",this.heartbeatTimer=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new J((function(){n.teardown((function(){return n.connect()}))}),this.reconnectAfterMs)}return h(e,[{key:\"protocol\",value:function(){return location.protocol.match(/^https/)?\"wss\":\"ws\"}},{key:\"endPointURL\",value:function(){var e=M.appendParams(M.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return\"/\"!==e.charAt(0)?e:\"/\"===e.charAt(1)?\"\".concat(this.protocol(),\":\").concat(e):\"\".concat(this.protocol(),\"://\").concat(location.host).concat(e)}},{key:\"disconnect\",value:function(e,t,n){this.closeWasClean=!0,this.reconnectTimer.reset(),this.teardown(e,t,n)}},{key:\"connect\",value:function(e){var t=this;e&&(console&&console.log(\"passing params to connect is deprecated. Instead pass :params to the Socket constructor\"),this.params=O(e)),this.conn||(this.closeWasClean=!1,this.conn=new this.transport(this.endPointURL()),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=function(){return t.onConnOpen()},this.conn.onerror=function(e){return t.onConnError(e)},this.conn.onmessage=function(e){return t.onConnMessage(e)},this.conn.onclose=function(e){return t.onConnClose(e)})}},{key:\"log\",value:function(e,t,n){this.logger(e,t,n)}},{key:\"hasLogger\",value:function(){return null!==this.logger}},{key:\"onOpen\",value:function(e){var t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}},{key:\"onClose\",value:function(e){var t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}},{key:\"onError\",value:function(e){var t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}},{key:\"onMessage\",value:function(e){var t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}},{key:\"onConnOpen\",value:function(){this.hasLogger()&&this.log(\"transport\",\"connected to \".concat(this.endPointURL())),this.unloaded=!1,this.closeWasClean=!1,this.flushSendBuffer(),this.reconnectTimer.reset(),this.resetHeartbeat(),this.stateChangeCallbacks.open.forEach((function(e){return(0,r(e,2)[1])()}))}},{key:\"resetHeartbeat\",value:function(){var e=this;this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval((function(){return e.sendHeartbeat()}),this.heartbeatIntervalMs))}},{key:\"teardown\",value:function(e,t,n){var i=this;if(!this.conn)return e&&e();this.waitForBufferDone((function(){i.conn&&(t?i.conn.close(t,n||\"\"):i.conn.close()),i.waitForSocketClosed((function(){i.conn&&(i.conn.onclose=function(){},i.conn=null),e&&e()}))}))}},{key:\"waitForBufferDone\",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;5!==n&&this.conn&&this.conn.bufferedAmount?setTimeout((function(){t.waitForBufferDone(e,n+1)}),150*n):e()}},{key:\"waitForSocketClosed\",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;5!==n&&this.conn&&this.conn.readyState!==m?setTimeout((function(){t.waitForSocketClosed(e,n+1)}),150*n):e()}},{key:\"onConnClose\",value:function(e){this.hasLogger()&&this.log(\"transport\",\"close\",e),this.triggerChanError(),clearInterval(this.heartbeatTimer),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach((function(t){return(0,r(t,2)[1])(e)}))}},{key:\"onConnError\",value:function(e){this.hasLogger()&&this.log(\"transport\",e),this.triggerChanError(),this.stateChangeCallbacks.error.forEach((function(t){return(0,r(t,2)[1])(e)}))}},{key:\"triggerChanError\",value:function(){this.channels.forEach((function(e){e.isErrored()||e.isLeaving()||e.isClosed()||e.trigger(R)}))}},{key:\"connectionState\",value:function(){switch(this.conn&&this.conn.readyState){case p:return\"connecting\";case v:return\"open\";case y:return\"closing\";default:return\"closed\"}}},{key:\"isConnected\",value:function(){return\"open\"===this.connectionState()}},{key:\"remove\",value:function(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter((function(t){return t.joinRef()!==e.joinRef()}))}},{key:\"off\",value:function(e){for(var t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter((function(t){var n=r(t,1)[0];return-1===e.indexOf(n)}))}},{key:\"channel\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new _(e,t,this);return this.channels.push(n),n}},{key:\"push\",value:function(e){var t=this;if(this.hasLogger()){var n=e.topic,i=e.event,o=e.payload,r=e.ref,s=e.join_ref;this.log(\"push\",\"\".concat(n,\" \").concat(i,\" (\").concat(s,\", \").concat(r,\")\"),o)}this.isConnected()?this.encode(e,(function(e){return t.conn.send(e)})):this.sendBuffer.push((function(){return t.encode(e,(function(e){return t.conn.send(e)}))}))}},{key:\"makeRef\",value:function(){var e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}},{key:\"sendHeartbeat\",value:function(){if(this.isConnected()){if(this.pendingHeartbeatRef)return this.pendingHeartbeatRef=null,this.hasLogger()&&this.log(\"transport\",\"heartbeat timeout. Attempting to re-establish connection\"),void this.abnormalClose(\"heartbeat timeout\");this.pendingHeartbeatRef=this.makeRef(),this.push({topic:\"phoenix\",event:\"heartbeat\",payload:{},ref:this.pendingHeartbeatRef})}}},{key:\"abnormalClose\",value:function(e){this.closeWasClean=!1,this.conn.readyState===v&&this.conn.close(1e3,e)}},{key:\"flushSendBuffer\",value:function(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach((function(e){return e()})),this.sendBuffer=[])}},{key:\"onConnMessage\",value:function(e){var t=this;this.decode(e.data,(function(e){var n=e.topic,i=e.event,o=e.payload,s=e.ref,a=e.join_ref;s&&s===t.pendingHeartbeatRef&&(t.pendingHeartbeatRef=null),t.hasLogger()&&t.log(\"receive\",\"\".concat(o.status||\"\",\" \").concat(n,\" \").concat(i,\" \").concat(s&&\"(\"+s+\")\"||\"\"),o);for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:{};c(this,e);var o=i.events||{state:\"presence_state\",diff:\"presence_diff\"};this.state={},this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(o.state,(function(t){var i=n.caller,o=i.onJoin,r=i.onLeave,s=i.onSync;n.joinRef=n.channel.joinRef(),n.state=e.syncState(n.state,t,o,r),n.pendingDiffs.forEach((function(t){n.state=e.syncDiff(n.state,t,o,r)})),n.pendingDiffs=[],s()})),this.channel.on(o.diff,(function(t){var i=n.caller,o=i.onJoin,r=i.onLeave,s=i.onSync;n.inPendingSyncState()?n.pendingDiffs.push(t):(n.state=e.syncDiff(n.state,t,o,r),s())}))}return h(e,[{key:\"onJoin\",value:function(e){this.caller.onJoin=e}},{key:\"onLeave\",value:function(e){this.caller.onLeave=e}},{key:\"onSync\",value:function(e){this.caller.onSync=e}},{key:\"list\",value:function(t){return e.list(this.state,t)}},{key:\"inPendingSyncState\",value:function(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}}],[{key:\"syncState\",value:function(e,t,n,i){var o=this,r=this.clone(e),s={},a={};return this.map(r,(function(e,n){t[e]||(a[e]=n)})),this.map(t,(function(e,t){var n=r[e];if(n){var i=t.metas.map((function(e){return e.phx_ref})),c=n.metas.map((function(e){return e.phx_ref})),u=t.metas.filter((function(e){return c.indexOf(e.phx_ref)<0})),h=n.metas.filter((function(e){return i.indexOf(e.phx_ref)<0}));u.length>0&&(s[e]=t,s[e].metas=u),h.length>0&&(a[e]=o.clone(n),a[e].metas=h)}else s[e]=t})),this.syncDiff(r,{joins:s,leaves:a},n,i)}},{key:\"syncDiff\",value:function(e,t,n,o){var r=t.joins,s=t.leaves,a=this.clone(e);return n||(n=function(){}),o||(o=function(){}),this.map(r,(function(e,t){var o=a[e];if(a[e]=t,o){var r,s=a[e].metas.map((function(e){return e.phx_ref})),c=o.metas.filter((function(e){return s.indexOf(e.phx_ref)<0}));(r=a[e].metas).unshift.apply(r,i(c))}n(e,o,t)})),this.map(s,(function(e,t){var n=a[e];if(n){var i=t.metas.map((function(e){return e.phx_ref}));n.metas=n.metas.filter((function(e){return i.indexOf(e.phx_ref)<0})),o(e,n,t),0===n.metas.length&&delete a[e]}})),a}},{key:\"list\",value:function(e,t){return t||(t=function(e,t){return t}),this.map(e,(function(e,n){return t(e,n)}))}},{key:\"map\",value:function(e,t){return Object.getOwnPropertyNames(e).map((function(n){return t(n,e[n])}))}},{key:\"clone\",value:function(e){return JSON.parse(JSON.stringify(e))}}]),e}(),J=function(){function e(t,n){c(this,e),this.callback=t,this.timerCalc=n,this.timer=null,this.tries=0}return h(e,[{key:\"reset\",value:function(){this.tries=0,clearTimeout(this.timer)}},{key:\"scheduleTimeout\",value:function(){var e=this;clearTimeout(this.timer),this.timer=setTimeout((function(){e.tries=e.tries+1,e.callback()}),this.timerCalc(this.tries+1))}}]),e}()}])}));","//@ts-check\nimport { Socket } from \"phoenix\";\nconst identity = (x) => x;\n\nconst castDebugLogger = cast.debug.CastDebugLogger.getInstance();\nconst TAG = \"webSocket\";\n\nexport default function webSocket({\n url,\n itemRefNumber,\n securityToken,\n onSessionStart,\n onSessionEnd,\n}) {\n url =\n url.replace(\"http://\", \"ws://\").replace(\"https://\", \"wss://\") + \"/socket\";\n\n castDebugLogger.info(TAG, \"webSocket finalURL: \" + `${url}`);\n let socket = new Socket(url, { params: { userToken: \"123\" } });\n\n socket.connect();\n\n let itemsChannel = socket.channel(`item:${itemRefNumber}`, {\n security_token: securityToken,\n });\n castDebugLogger.info(TAG, \"webSocket securityToken: \" + securityToken);\n castDebugLogger.info(TAG, \"webSocket itemRefNumber: \" + itemRefNumber);\n\n onSessionStart = onSessionStart || identity;\n onSessionEnd = onSessionEnd || identity;\n\n itemsChannel.on(\"start_session\", onSessionStart);\n itemsChannel.on(\"end_session\", onSessionEnd);\n itemsChannel\n .join()\n .receive(\"ok\", ({ messages }) =>\n castDebugLogger.info(TAG, \"itemsChannel catching up: \" + messages)\n )\n .receive(\"error\", ({ reason }) =>\n castDebugLogger.info(TAG, \"itemsChannel failed join: \" + reason)\n )\n .receive(\"timeout\", () =>\n castDebugLogger.info(\n TAG,\n \"itemsChannel Networking issue. Still waiting...\"\n )\n );\n\n return {\n socket,\n itemsChannel,\n };\n}\n","//@ts-check\nimport { fetchFeatures, fetchTokens, fetchSecurityToken } from \"./js/http.js\";\nimport webSocket from \"./js/webSocket.js\";\n\nconst context = cast.framework.CastReceiverContext.getInstance();\nconst castDebugLogger = cast.debug.CastDebugLogger.getInstance();\nconst playerManager = context.getPlayerManager();\n// const playbackConfig = new cast.framework.PlaybackConfig();\n\nconst queryString = window.location.search;\nconst urlParams = new URLSearchParams(queryString);\nconst tvAppToken = decodeURIComponent(urlParams.get(\"tv-app-token\"));\n\nif (urlParams.get(\"debug\") == \"true\") {\n // configure the cast debugger\n castDebugLogger.setEnabled(true);\n}\n\nif (urlParams.get(\"logs\") == \"true\") {\n castDebugLogger.showDebugLogs(true);\n}\n\ncastDebugLogger.loggerLevelByTags = {\n receiver: cast.framework.LoggerLevel.DEBUG,\n};\n\ncastDebugLogger.loggerLevelByEvents = {\n \"cast.framework.events.category.CORE\": cast.framework.LoggerLevel.ERROR,\n // \"cast.framework.events.EventType.MEDIA_STATUS\":\n // cast.framework.LoggerLevel.DEBUG,\n};\n\n// cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);\n\nconst TAG = \"RECEIVER\";\n\nplayerManager.addEventListener(cast.framework.events.category.CORE, (event) => {\n if ((event.type = \"ERROR\")) {\n castDebugLogger.error(\n TAG,\n \"cast.framework.events.category.CORE\" + JSON.stringify(event)\n );\n }\n});\n\n// Update playback config licenseUrl according to provided value in load request.\nplayerManager.setMediaPlaybackInfoHandler(\n async (loadRequest, playbackConfig) => {\n /**\n * Set the player to start playback as soon as there are five seconds of\n * media content buffered. Default is 10.\n */\n playbackConfig.autoResumeDuration = 5;\n\n // castDebugLogger.info(\n // TAG,\n // \"loadRequest.media.customData: \" +\n // JSON.stringify(loadRequest.media.customData)\n // );\n\n castDebugLogger.info(\n TAG,\n \"playbackConfig.licenseUrl: \" + playbackConfig.licenseUrl\n );\n // castDebugLogger.info(\n // TAG,\n // \"loadRequest.media.customData.drmToken: \" +\n // loadRequest.media.customData.drmToken\n // );\n let { check_session_using_sockets } = await fetchFeatures({\n retwitterBaseUrl: loadRequest.media.customData.retwitterBaseUrl,\n id: loadRequest.media.customData.id,\n });\n\n let { drmToken, securityToken } = await fetchTokens({\n baseUrl: loadRequest.media.customData.baseUrl,\n id: loadRequest.media.customData.id,\n });\n\n castDebugLogger.info(TAG, \"drmToken: \" + drmToken);\n\n if (drmToken && drmToken != \"\") {\n playbackConfig.licenseUrl =\n \"https://license.pallycon.com/ri/licenseManager.do\";\n\n playbackConfig.protectionSystem =\n cast.framework.ContentProtection.WIDEVINE;\n\n playbackConfig.licenseRequestHandler = (requestInfo) => {\n // requestInfo.withCredentials = true;\n requestInfo.headers[\"pallycon-customdata-v2\"] = drmToken;\n castDebugLogger.info(\n TAG,\n \"licenseRequestHandler: \" + JSON.stringify(requestInfo)\n );\n return requestInfo;\n };\n }\n\n if (check_session_using_sockets === true) {\n castDebugLogger.info(\n TAG,\n \"!!!INIT SOCKETS SESSION CHECK TOKEN:\" + tvAppToken\n );\n let { socket, itemsChannel } = webSocket({\n url: loadRequest.media.customData.retwitterBaseUrl,\n itemRefNumber: loadRequest.media.customData.id,\n securityToken: tvAppToken,\n onSessionStart: function () {\n castDebugLogger.info(TAG, \"onSessionStart\");\n },\n onSessionEnd: function () {\n castDebugLogger.info(TAG, \"onSessionEnd\");\n playerManager.stop();\n },\n });\n } else {\n scheduleChecks({\n url: loadRequest.media.customData.verifyUserUrl,\n securityToken,\n });\n }\n\n // let drmToken = loadRequest.media.customData.drmToken;\n\n // playbackConfig.licenseCustomData = drmToken;\n\n return playbackConfig;\n }\n);\n\n/**\n * Load interceptor\n */\nplayerManager.setMessageInterceptor(\n cast.framework.messages.MessageType.LOAD,\n (request) => {\n request.autoplay = true;\n\n request.media.contentId =\n request.media.customData.chromecastSrc ||\n request.media.contentId ||\n request.media.contentUrl;\n\n castDebugLogger.info(\n TAG,\n \"request.media.contentId:\" + request.media.contentId\n );\n\n return request;\n }\n);\n\n// playerManager.removeSupportedMediaCommands(\n// cast.framework.messages.Command.SEEK,\n// true\n// );\n\n/**\n * Seek a seek interceptor is called whenever CAF receives a request to seek to\n * a different location in media. This interceptor can be used to modify that\n * seek request or disable seeking completely.\n * @param {cast.framework.messages.MessageType.SEEK} The message to intercept.\n */\n// playerManager.setMessageInterceptor(\n// cast.framework.messages.MessageType.SEEK,\n// (seekData) => {\n// // if the SEEK supported media command is disabled, block seeking\n// if (\n// !(\n// playerManager.getSupportedMediaCommands() &\n// cast.framework.messages.Command.SEEK\n// )\n// ) {\n// castDebugLogger.info(TAG, \"Seek blocked.\");\n// return null;\n// }\n\n// return seekData;\n// }\n// );\n\ncontext.start();\n// context.start({ playbackConfig: playbackConfig });\n\n// async function fetchTokens({ baseUrl, id }) {\n// let url = `${baseUrl}/api/stream/${id}/chromecast/?_t=${Date.now()}`;\n// castDebugLogger.info(TAG, \"URL for token:\" + url);\n// let response;\n// let result;\n// response = await fetch(url, {\n// // mode: \"cors\",\n// cache: \"no-cache\",\n// headers: {\n// \"Content-Type\": \"application/json\",\n// },\n// });\n// result = await response.json();\n\n// let drmToken = result.drm_token;\n// let securityToken = result.security_token;\n\n// castDebugLogger.info(TAG, \"drmToken: \" + drmToken);\n// castDebugLogger.info(TAG, \"securityToken: \" + securityToken);\n\n// return { drmToken, securityToken };\n// }\n\nfunction verifyUserToken({ url, securityToken }) {\n return fetchSecurityToken({ url, securityToken })\n .then((res) => {\n castDebugLogger.info(TAG, \"res.status: \" + res.status);\n if (res.status === 403) {\n playerManager.stop();\n return Promise.reject(\"403\");\n }\n\n return res.json();\n })\n .then((res) => {\n castDebugLogger.info(TAG, \"res text: \" + JSON.stringify(res));\n scheduleChecks({ url, securityToken, timeout: res.timeout });\n })\n .catch((err) => {\n castDebugLogger.info(TAG, \"catch: \" + err);\n });\n}\n\nfunction scheduleChecks({ url, securityToken, timeout = 60000 }) {\n castDebugLogger.info(TAG, \"timeout: \" + timeout);\n const scheduleTimeout = Math.max(timeout, 60000);\n setTimeout(() => verifyUserToken({ url, securityToken }), scheduleTimeout);\n}\n"]}