Build 584177stable
Module 562708
9,682 characters · in no known chunkDependencies
Required by (125)
492148602550826741668346731971547724447746879779832579706098596103407105289111185128783128846138617139286143547151080154672174459180275190930208882213281218738220995235693239093246605253463258599262797267889272244284778287706313998317084317248318009333216352043352774365225371764372711376728385318396495401843421617430690468689477156480178492275493527500414516259516889521489525828526369540462549711550560552258554601556387557722577381623161631709639245639719651930662367671884672957682455686757715069723028726561732071734195742424744064745299748579753031755584776971777307780907784578786115795816797489812633828614829773830215840559846966878831885168885293887476889426902527902592914724935462943457963765964661970163974800979748985629
Lazily required by (0)none
Requires (22)
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";let i,r,a,s,l,o,d,c;n.r(t),n.d(t,{encodeProperties:()=>I,isThrottled:()=>eI,analyticsTrackingStoreMaker:()=>K,getOS:()=>ea,getDevice:()=>el,getCampaignParams:()=>ed,ImpressionNames:()=>z.I,ImpressionGroups:()=>$.q,getSuperPropertiesBase64:()=>eE,trackMaker:()=>ef,AnalyticsActionHandlers:()=>H,NetworkActionNames:()=>z.D,getSuperProperties:()=>e_,ImpressionTypes:()=>$.z,extendSuperProperties:()=>eu});var u=n(812729),_=n.n(u),E=n(284009),A=n.n(E),h=n(264572).Buffer;function I(e){try{return h.from(JSON.stringify(e)).toString("base64")}catch(e){return null}}n(142703),n(667532),n(321073);var f=n(132500);n(423034);var p=n(80703),T=n(17928),m=n(562465),g=n(187207),S=n(818348);let N="x-science-test",C=1500,O=0,R=0,L=0,y=0,D=0,v=null,b=0,M=Number.MAX_SAFE_INTEGER,P=0,U=0,w=null,G=!1,x=null,k=null;function F(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e+t}let V=window.requestIdleCallback??(e=>setImmediate(()=>e())),B=new g.n,H={handleConnectionOpen:()=>{},handleConnectionClosed:()=>{},handleFingerprint:()=>{},handleTrack:()=>{},handleSetAnalyticsToken:()=>{}},j=[],W=null,Y=()=>Promise.resolve({sessionId:void 0}),K=e=>{let{dispatcher:t,actionHandler:n,getFingerprint:a,getSessionId:s=Y,TRACKING_URL:l,drainTimeoutOverride:o,waitFor:d,scheduleWhenIdle:c=V,getLaunchSignature:u=()=>null,submitEvents:_}=e;function E(){return 0!==j.length&&(null!=r?null!=i:null!=a())}function A(e){let{shouldFlushOnNextTick:t=!1}=e;null==W&&E()&&(W=t?setTimeout(h,0):c(h,{timeout:C}))}function h(){if(W=null,!E())return Promise.resolve();let e=j.slice();j=[],b=F(b);let t=e.length;M=Math.min(M,t),P=Math.max(P,t),U=F(U,t);let n=I(e);return n.then(()=>{e.forEach(e=>{e.resolve?.()}),L=F(L)},t=>{j.unshift(...e),y=F(y);let{message:n}=t.body||t;console.warn("[AnalyticsTrackingStore] Track:",n)}),n}function I(e,t){let n=Date.now(),r=e.map(e=>({...e,properties:{...e.properties,client_send_timestamp:n}}));if(null!=_)return _(r,i);let a={};return G||(k=(0,f.A)(),a[N]=k,G=!0),m.Bo.post({url:t??l,headers:a,body:{token:i,events:r},retries:3,rejectWithError:!1}).then(e=>(a[N]&&(x=e?.headers?.[N]??null),e))}function g(){let e={type:S.bZ.CLIENT_TELEMETRY,properties:{client_track_timestamp:Date.now(),rpc_success_count:L,rpc_failure_count:y,first_seen_event_sequence_number:D,last_seen_event_sequence_number:O,telemetry_period_start_timestamp:v,telemetry_period_end_timestamp:Date.now(),event_queue_rejection_count:R,event_queue_batch_count:b,event_queue_batch_min_size:M===Number.MAX_SAFE_INTEGER?0:M,event_queue_batch_max_size:P,event_queue_batch_avg_size:b>0?U/b:0,science_request_id:k,science_response:x,launch_signature:u()}};return R=0,L=0,y=0,b=0,M=Number.MAX_SAFE_INTEGER,P=0,U=0,v=Date.now(),D=O,I([e],S.mX.CLIENT_TELEMETRY)}C=o??1500,H.handleConnectionOpen=function(e){let{analyticsToken:t,user:n}=e;return null!=t&&(i=t),null!=n.id&&(r=n.id),!function(){if(null!=w)return;let e=()=>{w={type:"timeout",id:setTimeout(()=>{g(),e()},Math.max(36e5+(Math.floor(36e4*Math.random()*2)-36e4),6e4))}};w={type:"timeout",id:setTimeout(()=>{g(),e()},Math.floor(354e4*Math.random()+6e4))}}(),A({shouldFlushOnNextTick:!1}),!1},H.handleConnectionClosed=function(){return h(),function(){if(null==w)return;switch(w.type){case"timeout":clearTimeout(w.id);break;case"interval":clearInterval(w.id);break;default:w.type}w=null}(),i=null,r=null,!1},H.handleFingerprint=function(){return h(),!1},H.handleTrack=function(e){let{event:t,properties:n,flush:i,fingerprint:l,resolve:o}=e;return s().then(e=>{let{sessionId:s}=e,d={type:t,fingerprint:l,properties:{client_track_timestamp:Date.now(),client_heartbeat_session_id:s,event_sequence_number:++O,...n},resolve:o},c=function(e){if(null!=r)return r;let t=e.fingerprint??a();return null!=t?(0,p.d)(t):null}(d);if(null!=c&&(d.properties.client_uuid=B.generate(c)),j.push(d),j.length>1e4){let e=j.length-1e4;R=F(R,e),j=j.slice(-1e4)}i?A({shouldFlushOnNextTick:!0}):A({shouldFlushOnNextTick:!1})}),!1},H.handleSetAnalyticsToken=function(e){let{analyticsToken:t,userId:n}=e;return null==i&&null!=t&&(i=t,r=n,A({shouldFlushOnNextTick:!1})),!1};class K extends T.Ay.Store{static displayName="AnalyticsTrackingStore";initialize(){null!=d&&this.waitFor(...d)}submitEventsImmediately=I}return new K(t,n)};var $=n(412728),z=n(239947),q=n(214958),Z=n.n(q);n(689953);var X=n(70298),Q=n(175259),J=n(506774),ee=n(362474),et=n(71931);let en="deviceProperties",ei="referralProperties",er=window.DiscordNative;if(null!=er){let e,t=er.app.getVersion(),n=er.process.platform,i=er.os.release,r=er.os.arch,s=er.os.appArch,l=er.app.getReleaseChannel(),o=(0,Q.c)();switch(n){case"win32":e="Windows";break;case"darwin":e="Mac OS X";break;case"linux":e="Linux";break;default:e=n}if(a={os:e,browser:"Discord Client",release_channel:l||"unknown",client_version:t,os_version:i,os_arch:r,app_arch:s,system_locale:o,has_client_mods:(0,X.b)(),client_launch_id:et.C},Z().name?.toLocaleLowerCase()==="electron"&&(a.browser_user_agent=Z().ua||"",a.browser_version=Z().version||""),"linux"===n){let e=er.crashReporter.getMetadata();a.window_manager=e.wm,a.distro=e.distro,a.runtime_environment=e.runtime_environment,a.display_server=e.display_server}else"darwin"===n?a.os_sdk_version=i?.split(".")[0]:"win32"===n&&(a.os_sdk_version=i?.split(".")[2])}function ea(){let{userAgent:e}=window.navigator;if(/Windows/i.test(e))return/Phone/.test(e)?"Windows Mobile":"Windows";if(/(iPhone|iPad|iPod)/.test(e))return"iOS";if(/Android/.test(e))return"Android";if(/(BlackBerry|PlayBook|BB10)/i.test(e))return"BlackBerry";if(/Mac/i.test(e))return null!=window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>2?"iOS":"Mac OS X";else if(/Linux/i.test(e))return"Linux";else return""}function es(e,t){if(null==e)return"";t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");let n=RegExp(`[\\?&]${t}=([^&#]*)`).exec(e);return null===n||"string"!=typeof n[1]&&n[1].length?"":decodeURIComponent(n[1]).replace(/\+/g," ")}function el(){let{userAgent:e}=window.navigator;if(/(BlackBerry|PlayBook|BB10)/i.test(e))return"BlackBerry";if(/Windows Phone/i.test(e))return"Windows Phone";if(/Android/.test(e))return"Android";if(/iPhone/.test(e))return"iPhone";if(/iPad/.test(e))return"iPad";else return""}let eo="utm_source utm_medium utm_campaign utm_content utm_term".split(" ");function ed(e){let t={};return eo.forEach(n=>{let i=es(e,n);i.length>0&&(t[n]=i)}),t}function ec(){let e,t={};return t.referrer=document.referrer,t.referring_domain=(e=document.referrer.split("/")).length>=3?e[2]:"",t={...t,...ed(window.location.href),...function(){let e,t={},n=document.referrer,i=0===(e=document.referrer).search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null;if(null!=i){t.search_engine=i;let e=es(n,"yahoo"!==i?"q":"p");e.length>0&&(t.mp_keyword=e)}return t}()}}if(null==a)try{a=function(){let e=J.w.get(en);if(null==e){let t;(t={}).os=ea(),t.browser=function(){let{userAgent:e,vendor:t=""}=window.navigator,{opera:n}=window;if(n)return/Mini/.test(e)?"Opera Mini":"Opera";if(/(BlackBerry|PlayBook|BB10)/i.test(e))return"BlackBerry";if(/FBIOS/.test(e))return"Facebook Mobile";if(/CriOS/.test(e))return"Chrome iOS";if(/Apple/.test(t))return/Mobile/.test(e)||null!=window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>2?"Mobile Safari":"Safari";else if(/Android/.test(e))return/Chrome/.test(e)?"Android Chrome":"Android Mobile";else if(/Edge/.test(e))return"Edge";else if(/Chrome/.test(e))return"Chrome";else if(/Konqueror/.test(e))return"Konqueror";else if(/Firefox/.test(e))return"Firefox";else if(/MSIE|Trident\//.test(e))return"Internet Explorer";else if(/Gecko/.test(e))return"Mozilla";else return""}(),t.device=el(),t.system_locale=(0,Q.c)(),t.has_client_mods=(0,X.b)(),e=t,J.w.set(en,e)}let t=J.w.get(ei);null==t&&(t=ec(),J.w.set(ei,t));let n=ee.u.get(ei);if(null==n){var i;let e;i=ec(),e={},Object.keys(i).map(t=>e[`${t}_current`]=i[t]),n=e,ee.u.set(ei,n)}return{...e,...{...{browser_user_agent:window.navigator.userAgent||"",browser_version:Z().version||""},os_version:Z()?.os?.version??""},...t,...n}}()}catch(e){a={}}function eu(e){s=I(a={...a,...e})}function e_(){return a}function eE(){return s}eu((l={},(o=window.GLOBAL_ENV.RELEASE_CHANNEL)&&(null==l.release_channel||""===l.release_channel)&&(l.release_channel=o.split("-")[0]),isNaN(d=parseInt("584177",10))||(l.client_build_number=d),null==(c=er?.app.getBuildNumber())||isNaN(c)||(l.native_build_number=c),l.client_event_source=function(){try{if(__OVERLAY__)return"OVERLAY"}catch(e){}return null}(),l.has_client_mods=(0,X.b)(),l.client_launch_id=et.C,l));let eA={},eh={};function eI(e){return null!=eA[e]&&eA[e]>Date.now()}let ef=e=>{let{addBreadcrumb:t,analyticEventConfigs:i,dispatcher:r,TRACK_ACTION_NAME:a}=e,s=function(e,t,n){return new Promise(i=>{r.dispatch({type:a,event:e,properties:t,flush:n?.flush??!1,fingerprint:n?.fingerprint,resolve:i})})};return function(e,r){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null!=n.g.isServerRendering&&!0===n.g.isServerRendering)return Promise.resolve();let l=r??{},o=i[e];if("function"==typeof o&&(o=o(l)??null),null!=o)if("throttlePeriod"in o){let t=[e,...o.throttleKeys(l)].join("_");if(eI(t)||"number"==typeof o.throttlePercent&&Math.random()>o.throttlePercent)return Promise.resolve();if(o.deduplicate){let e=eh[t];if(_()(e,l))return Promise.resolve();eh[t]=l}eA[t]=Date.now()+o.throttlePeriod}else if("throttlePercent"in o){if(Math.random()>o.throttlePercent)return Promise.resolve()}else A()(!1,`Unsupported analytics event config: ${o}`);return t?.(e),s(e,r,a)}}}