if (self.CavalryLogger) { CavalryLogger.start_js(["bXvYY"]); } __d("ChannelConstants",[],(function(a,b,c,d,e,f){var g="channel/";a={CHANNEL_MANUAL_RECONNECT_DEFER_MSEC:2e3,MUTE_WARNING_TIME_MSEC:25e3,WARNING_COUNTDOWN_THRESHOLD_MSEC:15e3,ON_SHUTDOWN:g+"shutdown",ON_INVALID_HISTORY:g+"invalid_history",ON_CONFIG:g+"config",ON_ENTER_STATE:g+"enter_state",ON_EXIT_STATE:g+"exit_state",ATTEMPT_RECONNECT:g+"attempt_reconnect",RTI_SESSION:g+"new_rti_address",CONSOLE_LOG:g+"message:console_log",GET_RTI_SESSION_REQUEST:g+"rti_session_request",SKYWALKER:g+"skywalker",CHANNEL_ESTABLISHED:g+"established",OK:"ok",ERROR:"error",ERROR_MAX:"error_max",ERROR_MISSING:"error_missing",ERROR_MSG_TYPE:"error_msg_type",ERROR_SHUTDOWN:"error_shutdown",ERROR_STALE:"error_stale",SYS_OWNER:"sys_owner",SYS_NONOWNER:"sys_nonowner",SYS_ONLINE:"sys_online",SYS_OFFLINE:"sys_offline",SYS_TIMETRAVEL:"sys_timetravel",HINT_AUTH:"shutdown auth",HINT_CONN:"shutdown conn",HINT_DISABLED:"shutdown disabled",HINT_INVALID_STATE:"shutdown invalid state",HINT_MAINT:"shutdown maint",HINT_UNSUPPORTED:"shutdown unsupported",reason_Unknown:0,reason_AsyncError:1,reason_TooLong:2,reason_Refresh:3,reason_RefreshDelay:4,reason_UIRestart:5,reason_NeedSeq:6,reason_PrevFailed:7,reason_IFrameLoadGiveUp:8,reason_IFrameLoadRetry:9,reason_IFrameLoadRetryWorked:10,reason_PageTransitionRetry:11,reason_IFrameLoadMaxSubdomain:12,reason_NoChannelInfo:13,reason_NoChannelHost:14,CAPABILITY_VOIP_INTEROP:8,CAPABILITY_ACTIVE_ON_DESKTOP_APP:16384,CAPABILITY_PLAYING_INSTANT_GAME:2097152,FANTAIL_SERVICE:"WebchatClient",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",FAKE_DFF:"fake_dff",THROTTLED:g+"throttled",JUMPSTART:g+"jumpstart",ENTITY_PRESENCE_ACTIVE_PING:"entity_presence/active_ping",ENTITY_PRESENCE_SKIPPED_PING:"entity_presence/skipped_ping",SUBSCRIPTION_STATE:{SUBSCRIBE:"s",MUTATE_CONTEXT:"m",UNSUBSCRIBE:"u"},DEFAULT_MAX_SUBSCRIPTIONS:300,DEFAULT_EVICTION_BATCH_SIZE:20,DEFAULT_MAX_SUBSCRIPTION_FLUSH_BATCH_SIZE:300,DEFAULT_MAX_CONSECUTIVE_FLUSH_FAILURES:3,getArbiterType:function(a){return g+"message:"+a},getRTISkywalkerArbiterType:function(a,b){return g+"skywalker:"+a+":"+b}};e.exports=a}),null); __d("AvailableListConstants",["AvailableListState"],(function(a,b,c,d,e,f){a=Object.freeze({ON_AVAILABILITY_CHANGED:"buddylist/availability-changed",ON_UPDATE_ERROR:"buddylist/update-error",ON_UPDATED:"buddylist/updated",ON_CHAT_NOTIFICATION_CHANGED:"chat-notification-changed",OFFLINE:b("AvailableListState").OFFLINE,IDLE:b("AvailableListState").IDLE,ACTIVE:b("AvailableListState").ACTIVE,MOBILE:b("AvailableListState").MOBILE,WEB_STATUS:"webStatus",FB_APP_STATUS:"fbAppStatus",MESSENGER_STATUS:"messengerStatus",OTHER_STATUS:"otherStatus",STATUS_ACTIVE:"active",STATUS_IDLE:"idle",STATUS_OFFLINE:"offline"});e.exports=a}),null); __d("PresenceUtil",["CurrentUser","randomInt"],(function(a,b,c,d,e,f){var g=b("randomInt")(0,4294967295)+1;function a(){return g}function c(){return b("CurrentUser").isLoggedInNow()}e.exports={getSessionID:a,hasUserCookie:c}}),null); __d("PresencePrivacy",["Arbiter","ArbiterMixin","AsyncRequest","ChannelConstants","CurrentUser","JSLogger","PresencePrivacyInitialData","PresenceUtil","mixin"],(function(a,b,c,d,e,f){__p&&__p();var g,h="/ajax/chat/privacy/settings.php",i="/ajax/chat/privacy/online_policy.php",j="/ajax/chat/privacy/visibility.php",k="friend_visibility",l="visibility",m="online_policy",n=babelHelpers["extends"]({},b("PresencePrivacyInitialData").privacyData),o=b("PresencePrivacyInitialData").visibility,p=babelHelpers["extends"]({},b("PresencePrivacyInitialData").privacyData),q=o,r=b("PresencePrivacyInitialData").onlinePolicy,s=r,t=[],u=!1;function v(){return b("JSLogger").create("blackbird")}d=babelHelpers.inherits(a,b("mixin")(b("ArbiterMixin")));g=d&&d.prototype;function a(){var a,b;for(var c=arguments.length,d=new Array(c),e=0;e0){var c={};for(var d=0;d0){a=t.shift();B(a.request,a.data)}}function G(a,c){if(b("PresenceUtil")!=null){var d=a.getData();d.window_id=b("PresenceUtil").getSessionID();a.setData(d)}a.setHandler(D.bind(this,c)).setErrorHandler(E.bind(this,c)).setTransportErrorHandler(E.bind(this,c)).setFinallyHandler(F.bind(this)).setAllowCrossPageTransition(!0);return a}function H(a,c,d){return G(new(b("AsyncRequest"))(a).setData(c),d)}function c(a,c){__p&&__p();var d=c.obj;if(d.viewer_id!=b("CurrentUser").getID()){v().error("invalid_viewer_for_channel_message",{type:a,data:c});throw new Error("Viewer got from the channel is not the real viewer")}if(d.window_id===b("PresenceUtil").getSessionID())return;var e=d.data;if(d.event=="access_control_entry")e.target_ids.forEach(function(a){y(a,e.setting),p[a]=e.setting});else{if(d.event=="visibility_update"){a=e.visibility?w.ONLINE:w.OFFLINE;z(a);q=a}else d.event=="online_policy_update"&&(A(e.online_policy),s=e.online_policy);w.inform("privacy-user-presence-response")}v().log("channel_message_received",{data:c.obj})}w.inform("privacy-changed");w.inform("privacy-user-presence-changed","state");v().log("initialized",{visibility:o,policy:r});b("Arbiter").subscribe(b("JSLogger").DUMP_EVENT,function(a,c){c.presence_privacy={initial:b("PresencePrivacyInitialData").privacyData,current:n}});b("Arbiter").subscribe(b("ChannelConstants").getArbiterType("privacy_changed"),c.bind(this));b("Arbiter").subscribe(b("ChannelConstants").ON_CONFIG,function(a,b){a=b.getConfig("visibility",null);if(a!==null&&typeof a!=="undefined"){b=a?w.ONLINE:w.OFFLINE;z(b);v().log("config_visibility",{vis:b})}}.bind(this));e.exports=w}),null); __d("ChatVisibility",["Arbiter","JSLogger","PresencePrivacy"],(function(a,b,c,d,e,f){var g={isOnline:function(){return b("PresencePrivacy").getVisibility()===b("PresencePrivacy").ONLINE},hasBlackbirdEnabled:function(){return this.isVisibleToMostFriends()||this.isVisibleToSomeFriends()},isVisibleToMostFriends:function(){return b("PresencePrivacy").getOnlinePolicy()===b("PresencePrivacy").ONLINE_TO_BLACKLIST&&b("PresencePrivacy").getBlacklist().length>0},isVisibleToSomeFriends:function(){return b("PresencePrivacy").getOnlinePolicy()===b("PresencePrivacy").ONLINE_TO_WHITELIST&&b("PresencePrivacy").getWhitelist().length>0},goOnline:function(a){b("PresencePrivacy").getVisibility()===b("PresencePrivacy").OFFLINE&&(b("JSLogger").create("blackbird").log("chat_go_online"),b("PresencePrivacy").setVisibility(b("PresencePrivacy").ONLINE),b("Arbiter").inform("chat-visibility/go-online")),a&&a()},goOffline:function(a){b("PresencePrivacy").getVisibility()===b("PresencePrivacy").ONLINE&&(b("JSLogger").create("blackbird").log("chat_go_offline"),b("PresencePrivacy").setVisibility(b("PresencePrivacy").OFFLINE),b("Arbiter").inform("chat-visibility/go-offline")),a&&a()},toggleVisibility:function(){g.isOnline()?g.goOffline():g.goOnline()}};e.exports=g}),null); __d("LastActiveTimes",["fbt","ServerTime"],(function(a,b,c,d,e,f,g){__p&&__p();var h={};function i(a){__p&&__p();if(!a||a<0)return null;a=b("ServerTime").get()/1e3-a;a=Math.floor(a/60);var c=Math.floor(a/60),d=Math.floor(c/24);if(a<=1)return g._({"*":"{count}m"},[g._param("count",1,[0])]);else if(a<60)return g._({"*":"{count}m"},[g._param("count",a,[0])]);else if(c<24)return g._({"*":"{count}h"},[g._param("count",c,[0])]);else if(d<3)return g._({"*":"{count}d"},[g._param("count",d,[0])]);else return null}function j(a,b){(!(a in h)||h[a]0&&a<22e8||a>=1e14&&a<=100099999989999||a>=89e12&&a<=89999999999999||a>=6000001e7&&a<=60000019999999}};e.exports=a}),null); __d("PresenceStatus",["ArbiterMixin","AvailableListConstants","AvailableListInitialData","BanzaiODS","Bootloader","PresenceConfig","ChatVisibility","CurrentUser","FBIDCheck","FBLogger","LastActiveTimes","PresencePrivacy","ServerTime","createObjectFrom","debounceAcrossTransitions","gkx"],(function(a,b,c,d,e,f){__p&&__p();b("BanzaiODS").setEntitySample("presence",1e-4);var g={},h={},i={},j={},k=Object.assign({},b("ArbiterMixin")),l=b("debounceAcrossTransitions")(function(){return k.inform("change")},0);function m(a){var c,d=parseInt(a.topic.match(/\d+$/),10);a=parseInt(JSON.parse(a.payload).lat,10);var e=Date.now()-a*1e3;e=b("PresenceConfig").get("active_cutoff")*1e3-e;b("LastActiveTimes").update((c={},c[d]=a,c));k.checkPresence(d);k.get(d)===b("AvailableListConstants").ACTIVE&&(clearTimeout(j[d].timeout),j[d].timeout=setTimeout(function(){k.checkPresence(d)},e))}function n(a){return/^\d+$/.test(a)}Object.assign(k,{resetPresenceData:function(){g={},h={}},reset:function(){k.resetPresenceData(),i={}},get:function(a){!n(a)&&b("PresenceConfig").get("presence_throw_for_malformed_id")&&b("FBLogger")("presence").warn("received malformed id '%s'",a);if(a==b("CurrentUser").getID())return b("ChatVisibility").isOnline()?b("AvailableListConstants").ACTIVE:b("AvailableListConstants").OFFLINE;n(a)&&!b("FBIDCheck").isUser_deprecated(a)&&!j[a]&&(b("BanzaiODS").bumpEntityKey("presence","page_subscribe"),j[a]={},b("PresenceConfig").get("presence_page_green_dot_sub")&&b("Bootloader").loadModules(["SkywalkerManager"],function(b){return b.subscribe("presence_push/fb/"+a,m)},"PresenceStatus"));var c=b("AvailableListConstants").OFFLINE;a in g&&(c=g[a]);b("PresencePrivacy").allows(a)||(c=b("AvailableListConstants").OFFLINE);return c},getCapabilities:function(a){a=h[a];return a?a:0},isPlayingCanvasGameUser:function(a){return!!i[a]},getGroup:function(a){return a.some(function(a){return a==b("CurrentUser").getID()?!1:k.get(a)===b("AvailableListConstants").ACTIVE})?b("AvailableListConstants").ACTIVE:b("AvailableListConstants").OFFLINE},set:function(a,c,d,e,f,i){__p&&__p();if(a==b("CurrentUser").getID())return!1;var j;if(c!==null&&c!==undefined){c=c==b("AvailableListConstants").ACTIVE?b("AvailableListConstants").ACTIVE:b("AvailableListConstants").OFFLINE;d=k.get(a);j=d!=c;if((j||c==b("AvailableListConstants").ACTIVE)&&b("FBIDCheck").isUser_deprecated(a)){b("LastActiveTimes").update((e={},e[a]=b("ServerTime").get()/1e3,e))}g[a]=c}d=!1;f!==undefined&&f!==null&&(d=k.getCapabilities(a)!=f,h[a]=f);e=j||d;e&&!i&&l();return e},setPlayingCanvasGameFriends:function(a){if(!b("gkx")("678262"))return;i=b("createObjectFrom")(a)},getOnlineIDs:function(){var a,c=[];for(a in g)k.get(a)===b("AvailableListConstants").ACTIVE&&c.push(a);return c},getAllIDs:function(){return Object.keys(g)},getOnlineCount:function(){return k.getOnlineIDs().length},getPresenceStats:function(){__p&&__p();var a=0,c=0,d=0;for(var e in g){a+=1;switch(k.get(e)){case b("AvailableListConstants").OFFLINE:c+=1;break;case b("AvailableListConstants").ACTIVE:d+=1;break;default:break}}return{total:a,offline:c,active:d}},getAllDebugInfo:function(){var a={};for(var b in g)a[b]={p:g[b],vc:h[b]};return a},setMultiChatproxy:function(a){var c={};for(var d in a){a[d].lat&&(c[d]=a[d].lat);var e=a[d].p;k.set(d,e,!1,"chatproxy",a[d].vc,!0)}b("LastActiveTimes").update(c);l()},setMultiActive:function(a,c){var d=!1;a.forEach(function(a){k.set(a,b("AvailableListConstants").ACTIVE,!1,c,null,!0)&&(d=!0)});d&&l()},checkPresence:function(a){var c=!1,d=Math.ceil(Date.now()/1e3)-b("LastActiveTimes").get(a);k.set(a,d0&&k.setMultiActive(b("AvailableListInitialData").activeList,"available_list_active");b("AvailableListInitialData").playingNow&&b("AvailableListInitialData").playingNow.length>0&&k.setPlayingCanvasGameFriends(b("AvailableListInitialData").playingNow);b("AvailableListInitialData").lastActiveTimes&&Object.keys(b("AvailableListInitialData").lastActiveTimes).length>0&&b("LastActiveTimes").update(b("AvailableListInitialData").lastActiveTimes);e.exports=k}),null);