@spotlightjs/spotlight 4.8.0 → 4.9.0

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.
@@ -1,4 +1,4 @@
1
- import"./main.js";import{r as Ia,g as Sl,m as yl,c as El,u as bl,a as Tl}from"./serverTimingMeta.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77e7b014-df98-4cd8-bbed-dbd5db0540fa",e._sentryDebugIdIdentifier="sentry-dbid-77e7b014-df98-4cd8-bbed-dbd5db0540fa")}catch{}})();const v=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,L=globalThis,_t="10.26.0";function Rt(){return vn(L),L}function vn(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||_t,t[_t]=t[_t]||{}}function Jt(e,t,n=L){const r=n.__SENTRY__=n.__SENTRY__||{},s=r[_t]=r[_t]||{};return s[e]||(s[e]=t())}const wa=["debug","info","warn","error","log","assert","trace"],vl="Sentry Logger ",ar={};function at(e){if(!("console"in L))return e();const t=L.console,n={},r=Object.keys(ar);r.forEach(s=>{const i=ar[s];n[s]=t[s],t[s]=i});try{return e()}finally{r.forEach(s=>{t[s]=n[s]})}}function Il(){qs().enabled=!0}function wl(){qs().enabled=!1}function ka(){return qs().enabled}function kl(...e){js("log",...e)}function Rl(...e){js("warn",...e)}function Cl(...e){js("error",...e)}function js(e,...t){v&&ka()&&at(()=>{L.console[e](`${vl}[${e}]:`,...t)})}function qs(){return v?Jt("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const m={enable:Il,disable:wl,isEnabled:ka,log:kl,warn:Rl,error:Cl},Ra=50,Tt="?",Ui=/\(error: (.*)\)/,Hi=/captureMessage|captureException/;function Ca(...e){const t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,s=0)=>{const i=[],o=n.split(`
1
+ import"./main.js";import{r as Ia,g as Sl,m as yl,c as El,u as bl,a as Tl}from"./serverTimingMeta.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b8e74489-a9a3-4737-b7eb-7ac9371810c3",e._sentryDebugIdIdentifier="sentry-dbid-b8e74489-a9a3-4737-b7eb-7ac9371810c3")}catch{}})();const v=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,L=globalThis,_t="10.26.0";function Rt(){return vn(L),L}function vn(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||_t,t[_t]=t[_t]||{}}function Jt(e,t,n=L){const r=n.__SENTRY__=n.__SENTRY__||{},s=r[_t]=r[_t]||{};return s[e]||(s[e]=t())}const wa=["debug","info","warn","error","log","assert","trace"],vl="Sentry Logger ",ar={};function at(e){if(!("console"in L))return e();const t=L.console,n={},r=Object.keys(ar);r.forEach(s=>{const i=ar[s];n[s]=t[s],t[s]=i});try{return e()}finally{r.forEach(s=>{t[s]=n[s]})}}function Il(){qs().enabled=!0}function wl(){qs().enabled=!1}function ka(){return qs().enabled}function kl(...e){js("log",...e)}function Rl(...e){js("warn",...e)}function Cl(...e){js("error",...e)}function js(e,...t){v&&ka()&&at(()=>{L.console[e](`${vl}[${e}]:`,...t)})}function qs(){return v?Jt("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const m={enable:Il,disable:wl,isEnabled:ka,log:kl,warn:Rl,error:Cl},Ra=50,Tt="?",Ui=/\(error: (.*)\)/,Hi=/captureMessage|captureException/;function Ca(...e){const t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,s=0)=>{const i=[],o=n.split(`
2
2
  `);for(let c=r;c<o.length;c++){let a=o[c];a.length>1024&&(a=a.slice(0,1024));const u=Ui.test(a)?a.replace(Ui,"$1"):a;if(!u.match(/\S*Error: /)){for(const d of t){const l=d(u);if(l){i.push(l);break}}if(i.length>=Ra+s)break}}return xl(i.slice(s))}}function Ml(e){return Array.isArray(e)?Ca(...e):e}function xl(e){if(!e.length)return[];const t=Array.from(e);return/sentryWrapped/.test($n(t).function||"")&&t.pop(),t.reverse(),Hi.test($n(t).function||"")&&(t.pop(),Hi.test($n(t).function||"")&&t.pop()),t.slice(0,Ra).map(n=>({...n,filename:n.filename||$n(t).filename,function:n.function||Tt}))}function $n(e){return e[e.length-1]||{}}const Gr="<anonymous>";function Ke(e){try{return!e||typeof e!="function"?Gr:e.name||Gr}catch{return Gr}}function Wi(e){const t=e.exception;if(t){const n=[];try{return t.values.forEach(r=>{r.stacktrace.frames&&n.push(...r.stacktrace.frames)}),n}catch{return}}}function Ma(e){return"__v_isVNode"in e&&e.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const Jn={},zi={};function ct(e,t){Jn[e]=Jn[e]||[],Jn[e].push(t)}function ut(e,t){if(!zi[e]){zi[e]=!0;try{t()}catch(n){v&&m.error(`Error while instrumenting ${e}`,n)}}}function Ae(e,t){const n=e&&Jn[e];if(n)for(const r of n)try{r(t)}catch(s){v&&m.error(`Error while triggering instrumentation handler.
3
3
  Type: ${e}
4
4
  Name: ${Ke(r)}
@@ -21,5 +21,5 @@ Error:`,s)}}function Jh(){return Bh(e=>{Nn("cls",{metric:e}),Xc=e},{reportAllCha
21
21
  `).reduce((n,r)=>{const[s,i]=r.split(": ");return i&&(n[s.toLowerCase()]=i),n},{}):{}}const as=[],ir=new Map,Nt=new Map,Hm=60;function Wm(){if(On()&&he()){const t=zm();return()=>{t()}}return()=>{}}const As={click:"click",pointerdown:"click",pointerup:"click",mousedown:"click",mouseup:"click",touchstart:"click",touchend:"click",mouseover:"hover",mouseout:"hover",mouseenter:"hover",mouseleave:"hover",pointerover:"hover",pointerout:"hover",pointerenter:"hover",pointerleave:"hover",dragstart:"drag",dragend:"drag",drag:"drag",dragenter:"drag",dragleave:"drag",dragover:"drag",drop:"drag",keydown:"press",keyup:"press",keypress:"press",input:"press"};function zm(){return eu(jm)}const jm=({metric:e})=>{if(e.value==null)return;const t=oe(e.value);if(t>Hm)return;const n=e.entries.find(h=>h.duration===e.value&&As[h.name]);if(!n)return;const{interactionId:r}=n,s=As[n.name],i=oe(he()+n.startTime),o=pe(),c=o?le(o):void 0,a=r!=null?ir.get(r):void 0,u=(a==null?void 0:a.span)||c,d=u?U(u).description:G().getScopeData().transactionName,l=(a==null?void 0:a.elementName)||Ee(n.target),f={[ae]:"auto.http.browser.inp",[Ue]:`ui.interaction.${s}`,[nn]:n.duration},p=_i({name:l,transaction:d,attributes:f,startTime:i});p&&(p.addEvent("inp",{[kn]:"millisecond",[Rn]:e.value}),p.end(i+t))};function qm(){const e=Object.keys(As);Is()&&e.forEach(s=>{x.addEventListener(s,t,{capture:!0,passive:!0})});function t(s){const i=s.target;if(!i)return;const o=Ee(i),c=Math.round(s.timeStamp);if(Nt.set(c,o),Nt.size>50){const a=Nt.keys().next().value;a!==void 0&&Nt.delete(a)}}function n(s){const i=Math.round(s.startTime);let o=Nt.get(i);if(!o)for(let c=-5;c<=5;c++){const a=Nt.get(i+c);if(a){o=a;break}}return o||"<unknown>"}const r=({entries:s})=>{const i=pe(),o=i&&le(i);s.forEach(c=>{if(!nm(c))return;const a=c.interactionId;if(a==null||ir.has(a))return;const u=c.target?Ee(c.target):n(c);if(as.length>10){const d=as.shift();ir.delete(d)}as.push(a),ir.set(a,{span:o,elementName:u})})};kt("event",r),kt("first-input",r)}const Vm=40;function yi(e,t=Si("fetch")){let n=0,r=0;async function s(i){const o=i.body.length;n+=o,r++;const c={body:i.body,method:"POST",referrerPolicy:"strict-origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};try{const a=await t(e.url,c);return{statusCode:a.status,headers:{"x-sentry-rate-limits":a.headers.get("X-Sentry-Rate-Limits"),"retry-after":a.headers.get("Retry-After")}}}catch(a){throw Bm("fetch"),a}finally{n-=o,r--}}return lp(e,s,Mc(e.bufferSize||Vm))}const Gm=30,Ym=50;function Ns(e,t,n,r){const s={filename:e,function:t==="<anonymous>"?Tt:t,in_app:!0};return n!==void 0&&(s.lineno=n),r!==void 0&&(s.colno=r),s}const Km=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,Xm=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Jm=/\((\S*)(?::(\d+))(?::(\d+))\)/,Qm=/at (.+?) ?\(data:(.+?),/,Zm=e=>{const t=e.match(Qm);if(t)return{filename:`<data:${t[2]}>`,function:t[1]};const n=Km.exec(e);if(n){const[,s,i,o]=n;return Ns(s,Tt,+i,+o)}const r=Xm.exec(e);if(r){if(r[2]&&r[2].indexOf("eval")===0){const c=Jm.exec(r[2]);c&&(r[2]=c[1],r[3]=c[2],r[4]=c[3])}const[i,o]=fu(r[1]||Tt,r[2]);return Ns(o,i,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},eg=[Gm,Zm],tg=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,ng=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,rg=e=>{const t=tg.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const i=ng.exec(t[3]);i&&(t[1]=t[1]||"eval",t[3]=i[1],t[4]=i[2],t[5]="")}let r=t[3],s=t[1]||Tt;return[s,r]=fu(s,r),Ns(r,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},sg=[Ym,rg],ig=[eg,sg],og=Ca(...ig),fu=(e,t)=>{const n=e.indexOf("safari-extension")!==-1,r=e.indexOf("safari-web-extension")!==-1;return n||r?[e.indexOf("@")!==-1?e.split("@")[0]:Tt,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},I=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,qn=1024,ag="Breadcrumbs",cg=(e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:ag,setup(n){t.console&&Lc(fg(n)),t.dom&&ou(dg(n,t.dom)),t.xhr&&au(pg(n)),t.fetch&&Uc(hg(n)),t.history&&Dr(mg(n)),t.sentry&&n.on("beforeSendEvent",lg(n))}}},ug=cg;function lg(e){return function(n){H()===e&&it({category:`sentry.${n.type==="transaction"?"transaction":"event"}`,event_id:n.event_id,level:n.level,message:pt(n)},{event:n})}}function dg(e,t){return function(r){if(H()!==e)return;let s,i,o=typeof t=="object"?t.serializeAttribute:void 0,c=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;c&&c>qn&&(I&&m.warn(`\`dom.maxStringLength\` cannot exceed ${qn}, but a value of ${c} was configured. Sentry will use ${qn} instead.`),c=qn),typeof o=="string"&&(o=[o]);try{const u=r.event,d=gg(u)?u.target:u;s=Ee(d,{keyAttrs:o,maxStringLength:c}),i=Da(d)}catch{s="<unknown>"}if(s.length===0)return;const a={category:`ui.${r.name}`,message:s};i&&(a.data={"ui.component_name":i}),it(a,{event:r.event,name:r.name,global:r.global})}}function fg(e){return function(n){if(H()!==e)return;const r={category:"console",data:{arguments:n.args,logger:"console"},level:Dc(n.level),message:Gi(n.args," ")};if(n.level==="assert")if(n.args[0]===!1)r.message=`Assertion failed: ${Gi(n.args.slice(1)," ")||"console.assert"}`,r.data.arguments=n.args.slice(1);else return;it(r,{input:n.args,level:n.level})}}function pg(e){return function(n){if(H()!==e)return;const{startTimestamp:r,endTimestamp:s}=n,i=n.xhr[ht];if(!r||!s||!i)return;const{method:o,url:c,status_code:a,body:u}=i,d={method:o,url:c,status_code:a},l={xhr:n.xhr,input:u,startTimestamp:r,endTimestamp:s},f={category:"xhr",data:d,type:"http",level:$c(a)};e.emit("beforeOutgoingRequestBreadcrumb",f,l),it(f,l)}}function hg(e){return function(n){if(H()!==e)return;const{startTimestamp:r,endTimestamp:s}=n;if(s&&!(n.fetchData.url.match(/sentry_key/)&&n.fetchData.method==="POST"))if(n.fetchData.method,n.fetchData.url,n.error){const i=n.fetchData,o={data:n.error,input:n.args,startTimestamp:r,endTimestamp:s},c={category:"fetch",data:i,level:"error",type:"http"};e.emit("beforeOutgoingRequestBreadcrumb",c,o),it(c,o)}else{const i=n.response,o={...n.fetchData,status_code:i==null?void 0:i.status};n.fetchData.request_body_size,n.fetchData.response_body_size,i==null||i.status;const c={input:n.args,response:i,startTimestamp:r,endTimestamp:s},a={category:"fetch",data:o,type:"http",level:$c(o.status_code)};e.emit("beforeOutgoingRequestBreadcrumb",a,c),it(a,c)}}}function mg(e){return function(n){if(H()!==e)return;let r=n.from,s=n.to;const i=Et(D.location.href);let o=r?Et(r):void 0;const c=Et(s);o!=null&&o.path||(o=i),i.protocol===c.protocol&&i.host===c.host&&(s=c.relative),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),it({category:"navigation",data:{from:r,to:s}})}}function gg(e){return!!e&&!!e.target}const _g=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],Sg="BrowserApiErrors",yg=(e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:Sg,setupOnce(){t.setTimeout&&ye(D,"setTimeout",$o),t.setInterval&&ye(D,"setInterval",$o),t.requestAnimationFrame&&ye(D,"requestAnimationFrame",bg),t.XMLHttpRequest&&"XMLHttpRequest"in D&&ye(XMLHttpRequest.prototype,"send",Tg);const n=t.eventTarget;n&&(Array.isArray(n)?n:_g).forEach(s=>vg(s,t))}}},Eg=yg;function $o(e){return function(...t){const n=t[0];return t[0]=Vt(n,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${Ke(e)}`}}),e.apply(this,t)}}function bg(e){return function(t){return e.apply(this,[Vt(t,{mechanism:{data:{handler:Ke(e)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function Tg(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(s=>{s in n&&typeof n[s]=="function"&&ye(n,s,function(i){const o={mechanism:{data:{handler:Ke(i)},handled:!1,type:`auto.browser.browserapierrors.xhr.${s}`}},c=Ys(i);return c&&(o.mechanism.data.handler=Ke(c)),Vt(i,o)})}),e.apply(this,t)}}function vg(e,t){var s,i;const r=(s=D[e])==null?void 0:s.prototype;(i=r==null?void 0:r.hasOwnProperty)!=null&&i.call(r,"addEventListener")&&(ye(r,"addEventListener",function(o){return function(c,a,u){try{Ig(a)&&(a.handleEvent=Vt(a.handleEvent,{mechanism:{data:{handler:Ke(a),target:e},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return t.unregisterOriginalCallbacks&&wg(this,c,a),o.apply(this,[c,Vt(a,{mechanism:{data:{handler:Ke(a),target:e},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),u])}}),ye(r,"removeEventListener",function(o){return function(c,a,u){try{const d=a.__sentry_wrapped__;d&&o.call(this,c,d,u)}catch{}return o.call(this,c,a,u)}}))}function Ig(e){return typeof e.handleEvent=="function"}function wg(e,t,n){e&&typeof e=="object"&&"removeEventListener"in e&&typeof e.removeEventListener=="function"&&e.removeEventListener(t,n)}const kg=()=>({name:"BrowserSession",setupOnce(){if(typeof D.document>"u"){I&&m.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}mo({ignoreDuration:!0}),go(),Dr(({from:e,to:t})=>{e!==void 0&&e!==t&&(mo({ignoreDuration:!0}),go())})}}),Rg="GlobalHandlers",Cg=(e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:Rg,setupOnce(){Error.stackTraceLimit=50},setup(n){t.onerror&&(xg(n),Uo("onerror")),t.onunhandledrejection&&(Ag(n),Uo("onunhandledrejection"))}}},Mg=Cg;function xg(e){xa(t=>{const{stackParser:n,attachStacktrace:r}=pu();if(H()!==e||Wc())return;const{msg:s,url:i,line:o,column:c,error:a}=t,u=Pg(di(n,a||s,void 0,r,!1),i,o,c);u.level="error",mc(u,{originalException:a,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function Ag(e){Aa(t=>{const{stackParser:n,attachStacktrace:r}=pu();if(H()!==e||Wc())return;const s=Ng(t),i=vt(s)?Og(s):di(n,s,void 0,r,!0);i.level="error",mc(i,{originalException:s,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function Ng(e){if(vt(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}function Og(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function Pg(e,t,n,r){const s=e.exception=e.exception||{},i=s.values=s.values||[],o=i[0]=i[0]||{},c=o.stacktrace=o.stacktrace||{},a=c.frames=c.frames||[],u=r,d=n,l=Lg(t)??en();return a.length===0&&a.push({colno:u,filename:l,function:Tt,in_app:!0,lineno:d}),e}function Uo(e){I&&m.log(`Global Handler attached: ${e}`)}function pu(){const e=H();return(e==null?void 0:e.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function Lg(e){if(!(!qe(e)||e.length===0)){if(e.startsWith("data:")){const t=e.match(/^data:([^;]+)/),n=t?t[1]:"text/javascript",r=e.includes("base64,");return`<data:${n}${r?",base64":""}>`}return e}}const Dg=()=>({name:"HttpContext",preprocessEvent(e){var r;if(!D.navigator&&!D.location&&!D.document)return;const t=ci(),n={...t.headers,...(r=e.request)==null?void 0:r.headers};e.request={...t,...e.request,headers:n}}}),Fg="cause",Bg=5,$g="LinkedErrors",Ug=(e={})=>{const t=e.limit||Bg,n=e.key||Fg;return{name:$g,preprocessEvent(r,s,i){const o=i.getOptions();Bp(ui,o.stackParser,n,t,r,s)}}},Hg=Ug,Wg="SpotlightBrowser",zg=(e={})=>{const t=e.sidecarUrl||"http://localhost:8969/stream";return{name:Wg,setup:()=>{I&&m.log("Using Sidecar URL",t)},processEvent:n=>Vg(n)?null:n,afterAllSetup:n=>{jg(n,t)}}};function jg(e,t){const n=Si("fetch");let r=0;e.on("beforeEnvelope",s=>{if(r>3){m.warn("[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests:",r);return}n(t,{method:"POST",body:pr(s),headers:{"Content-Type":"application/x-sentry-envelope"},mode:"cors"}).then(i=>{i.status>=200&&i.status<400&&(r=0)},i=>{r++,m.error("Sentry SDK can't connect to Sidecar is it running? See: https://spotlightjs.com/sidecar/npx/",i)})})}const qg=zg;function Vg(e){var t;return!!(e.type==="transaction"&&e.spans&&((t=e.contexts)!=null&&t.trace)&&e.contexts.trace.op==="ui.action.click"&&e.spans.some(({description:n})=>n==null?void 0:n.includes("#sentry-spotlight")))}function Gg(){return Yg()?(I&&at(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function Yg(){var i;if(typeof D.window>"u")return!1;const e=D;if(e.nw)return!1;const t=e.chrome||e.browser;if(!((i=t==null?void 0:t.runtime)!=null&&i.id))return!1;const n=en(),r=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(D===D.top&&r.some(o=>n.startsWith(`${o}://`)))}function Kg(e){return[xp(),kp(),Eg(),ug(),Mg(),Hg(),Wp(),Dg(),kg()]}function Xg(e={}){const t=!e.skipBrowserExtensionCheck&&Gg();let n=e.defaultIntegrations==null?Kg():e.defaultIntegrations;const r={...e,enabled:t?!1:e.enabled,stackParser:Ml(e.stackParser||og),integrations:Ff({integrations:e.integrations,defaultIntegrations:n}),transport:e.transport||yi};return ip(Mh,r)}const te=L,Ei="sentryReplaySession",Jg="replay_event",bi="Unable to send Replay",Qg=3e5,Zg=9e5,e_=5e3,t_=5500,n_=6e4,r_=5e3,s_=3,Ho=15e4,Vn=5e3,i_=3e3,o_=300,Ti=2e7,a_=4999,c_=5e4,Wo=36e5;var u_=Object.defineProperty,l_=(e,t,n)=>t in e?u_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zo=(e,t,n)=>l_(e,typeof t!="symbol"?t+"":t,n),ue=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(ue||{});function d_(e){return e.nodeType===e.ELEMENT_NODE}function ln(e){const t=e==null?void 0:e.host;return(t==null?void 0:t.shadowRoot)===e}function dn(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function f_(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function p_(e){const{cssText:t}=e;if(t.split('"').length<3)return t;const n=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?n.push("layer"):e.layerName&&n.push(`layer(${e.layerName})`),e.supportsText&&n.push(`supports(${e.supportsText})`),e.media.length&&n.push(e.media.mediaText),n.join(" ")+";"}function yr(e){try{const t=e.rules||e.cssRules;return t?f_(Array.from(t,hu).join("")):null}catch{return null}}function h_(e){let t="";for(let n=0;n<e.style.length;n++){const r=e.style,s=r[n],i=r.getPropertyPriority(s);t+=`${s}:${r.getPropertyValue(s)}${i?" !important":""};`}return`${e.selectorText} { ${t} }`}function hu(e){let t;if(g_(e))try{t=yr(e.styleSheet)||p_(e)}catch{}else if(__(e)){let n=e.cssText;const r=e.selectorText.includes(":"),s=typeof e.style.all=="string"&&e.style.all;if(s&&(n=h_(e)),r&&(n=m_(n)),r||s)return n}return t||e.cssText}function m_(e){const t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function g_(e){return"styleSheet"in e}function __(e){return"selectorText"in e}class mu{constructor(){zo(this,"idNodeMap",new Map),zo(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){const n=this.getId(t);this.idNodeMap.delete(n),t.childNodes&&t.childNodes.forEach(r=>this.removeNodeFromMap(r))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,n){const r=n.id;this.idNodeMap.set(r,t),this.nodeMetaMap.set(t,n)}replace(t,n){const r=this.getNode(t);if(r){const s=this.nodeMetaMap.get(r);s&&this.nodeMetaMap.set(n,s)}this.idNodeMap.set(t,n)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function S_(){return new mu}function Fr({maskInputOptions:e,tagName:t,type:n}){return t==="OPTION"&&(t="SELECT"),!!(e[t.toLowerCase()]||n&&e[n]||n==="password"||t==="INPUT"&&!n&&e.text)}function Sn({isMasked:e,element:t,value:n,maskInputFn:r}){let s=n||"";return e?(r&&(s=r(s,t)),"*".repeat(s.length)):s}function Gt(e){return e.toLowerCase()}function Os(e){return e.toUpperCase()}const jo="__rrweb_original__";function y_(e){const t=e.getContext("2d");if(!t)return!0;const n=50;for(let r=0;r<e.width;r+=n)for(let s=0;s<e.height;s+=n){const i=t.getImageData,o=jo in i?i[jo]:i;if(new Uint32Array(o.call(t,r,s,Math.min(n,e.width-r),Math.min(n,e.height-s)).data.buffer).some(a=>a!==0))return!1}return!0}function vi(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Gt(t):null}function Er(e,t,n){return t==="INPUT"&&(n==="radio"||n==="checkbox")?e.getAttribute("value")||"":e.value}function gu(e,t){let n;try{n=new URL(e,t??window.location.href)}catch{return null}const r=/\.([0-9a-z]+)(?:$)/i,s=n.pathname.match(r);return(s==null?void 0:s[1])??null}const qo={};function _u(e){const t=qo[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return qo[e]=r.bind(window)}function Ps(...e){return _u("setTimeout")(...e)}function Su(...e){return _u("clearTimeout")(...e)}function yu(e){try{return e.contentDocument}catch{}}let E_=1;const b_=new RegExp("[^a-z0-9-_:]"),yn=-2;function Ii(){return E_++}function T_(e){if(e instanceof HTMLFormElement)return"form";const t=Gt(e.tagName);return b_.test(t)?"div":t}function v_(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}let Ot,Vo;const I_=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,w_=/^(?:[a-z+]+:)?\/\//i,k_=/^www\..*/i,R_=/^(data:)([^,]*),(.*)/i;function C_(e,t){if(!e||t.size===0)return e;try{const n=e.split(";"),r=[];for(let s of n){if(s=s.trim(),!s)continue;const i=s.indexOf(":");if(i===-1){r.push(s);continue}const o=s.slice(0,i).trim();t.has(o)||r.push(s)}return r.join("; ")+(r.length>0&&e.endsWith(";")?";":"")}catch(n){return console.warn("Error filtering CSS properties:",n),e}}function br(e,t){return(e||"").replace(I_,(n,r,s,i,o,c)=>{const a=s||o||c,u=r||i||"";if(!a)return n;if(w_.test(a)||k_.test(a))return`url(${u}${a}${u})`;if(R_.test(a))return`url(${u}${a}${u})`;if(a[0]==="/")return`url(${u}${v_(t)+a}${u})`;const d=t.split("/"),l=a.split("/");d.pop();for(const f of l)f!=="."&&(f===".."?d.pop():d.push(f));return`url(${u}${d.join("/")}${u})`})}const M_=/^[^ \t\n\r\u000c]+/,x_=/^[, \t\n\r\u000c]+/;function A_(e,t){if(t.trim()==="")return t;let n=0;function r(i){let o;const c=i.exec(t.substring(n));return c?(o=c[0],n+=o.length,o):""}const s=[];for(;r(x_),!(n>=t.length);){let i=r(M_);if(i.slice(-1)===",")i=Ft(e,i.substring(0,i.length-1)),s.push(i);else{let o="";i=Ft(e,i);let c=!1;for(;;){const a=t.charAt(n);if(a===""){s.push((i+o).trim());break}else if(c)a===")"&&(c=!1);else if(a===","){n+=1,s.push((i+o).trim());break}else a==="("&&(c=!0);o+=a,n+=1}}}return s.join(", ")}const Go=new WeakMap;function Ft(e,t){return!t||t.trim()===""?t:Br(e,t)}function N_(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Br(e,t){let n=Go.get(e);if(n||(n=e.createElement("a"),Go.set(e,n)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return n.setAttribute("href",t),n.href}function Eu(e,t,n,r,s,i,o){if(!r)return r;if(n==="src"||n==="href"&&!(t==="use"&&r[0]==="#"))return Ft(e,r);if(n==="xlink:href"&&r[0]!=="#")return Ft(e,r);if(n==="background"&&(t==="table"||t==="td"||t==="th"))return Ft(e,r);if(n==="srcset")return A_(e,r);if(n==="style"){let c=br(r,Br(e));return o&&o.size>0&&(c=C_(c,o)),c}else if(t==="object"&&n==="data")return Ft(e,r);return typeof i=="function"?i(n,r,s):r}function bu(e,t,n){return(e==="video"||e==="audio")&&t==="autoplay"}function O_(e,t,n,r){try{if(r&&e.matches(r))return!1;if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){const i=e.classList[s];if(t.test(i))return!0}if(n)return e.matches(n)}catch{}return!1}function P_(e,t){for(let n=e.classList.length;n--;){const r=e.classList[n];if(t.test(r))return!0}return!1}function mt(e,t,n=1/0,r=0){return!e||e.nodeType!==e.ELEMENT_NODE||r>n?-1:t(e)?r:mt(e.parentNode,t,n,r+1)}function Bt(e,t){return n=>{const r=n;if(r===null)return!1;try{if(e){if(typeof e=="string"){if(r.matches(`.${e}`))return!0}else if(P_(r,e))return!0}return!!(t&&r.matches(t))}catch{return!1}}}function Yt(e,t,n,r,s,i){try{const o=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(o===null)return!1;if(o.tagName==="INPUT"){const u=o.getAttribute("autocomplete");if(["current-password","new-password","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc"].includes(u))return!0}let c=-1,a=-1;if(i){if(a=mt(o,Bt(r,s)),a<0)return!0;c=mt(o,Bt(t,n),a>=0?a:1/0)}else{if(c=mt(o,Bt(t,n)),c<0)return!1;a=mt(o,Bt(r,s),c>=0?c:1/0)}return c>=0?a>=0?c<=a:!0:a>=0?!1:!!i}catch{}return!!i}function L_(e,t,n){const r=e.contentWindow;if(!r)return;let s=!1,i;try{i=r.document.readyState}catch{return}if(i!=="complete"){const c=Ps(()=>{s||(t(),s=!0)},n);e.addEventListener("load",()=>{Su(c),s=!0,t()});return}const o="about:blank";if(r.location.href!==o||e.src===o||e.src==="")return Ps(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function D_(e,t,n){let r=!1,s;try{s=e.sheet}catch{return}if(s)return;const i=Ps(()=>{r||(t(),r=!0)},n);e.addEventListener("load",()=>{Su(i),r=!0,t()})}function F_(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskAttributeFn:a,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,inlineStylesheet:p,maskInputOptions:h={},maskTextFn:g,maskInputFn:_,dataURLOptions:E={},inlineImages:T,recordCanvas:F,keepIframeSrcFn:B,newlyAddedElement:q=!1,ignoreCSSAttributes:N}=t,S=B_(n,r);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:ue.Document,childNodes:[],compatMode:e.compatMode}:{type:ue.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:ue.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:S};case e.ELEMENT_NODE:return U_(e,{doc:n,blockClass:s,blockSelector:i,unblockSelector:o,inlineStylesheet:p,maskAttributeFn:a,maskInputOptions:h,maskInputFn:_,dataURLOptions:E,inlineImages:T,recordCanvas:F,keepIframeSrcFn:B,newlyAddedElement:q,rootId:S,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,ignoreCSSAttributes:N});case e.TEXT_NODE:return $_(e,{doc:n,maskAllText:c,maskTextClass:u,unmaskTextClass:d,maskTextSelector:l,unmaskTextSelector:f,maskTextFn:g,maskInputOptions:h,maskInputFn:_,rootId:S});case e.CDATA_SECTION_NODE:return{type:ue.CDATA,textContent:"",rootId:S};case e.COMMENT_NODE:return{type:ue.Comment,textContent:e.textContent||"",rootId:S};default:return!1}}function B_(e,t){if(!t.hasNode(e))return;const n=t.getId(e);return n===1?void 0:n}function $_(e,t){var E;const{maskAllText:n,maskTextClass:r,unmaskTextClass:s,maskTextSelector:i,unmaskTextSelector:o,maskTextFn:c,maskInputOptions:a,maskInputFn:u,rootId:d}=t,l=e.parentNode&&e.parentNode.tagName;let f=e.textContent;const p=l==="STYLE"?!0:void 0,h=l==="SCRIPT"?!0:void 0,g=l==="TEXTAREA"?!0:void 0;if(p&&f){try{e.nextSibling||e.previousSibling||(E=e.parentNode.sheet)!=null&&E.cssRules&&(f=yr(e.parentNode.sheet))}catch(T){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${T}`,e)}f=br(f,Br(t.doc))}h&&(f="SCRIPT_PLACEHOLDER");const _=Yt(e,r,i,s,o,n);if(!p&&!h&&!g&&f&&_&&(f=c?c(f,e.parentElement):f.replace(/[\S]/g,"*")),g&&f&&(a.textarea||_)&&(f=u?u(f,e.parentNode):f.replace(/[\S]/g,"*")),l==="OPTION"&&f){const T=Fr({type:null,tagName:l,maskInputOptions:a});f=Sn({isMasked:Yt(e,r,i,s,o,T),element:e,value:f,maskInputFn:u})}return{type:ue.Text,textContent:f||"",isStyle:p,rootId:d}}function U_(e,t){const{doc:n,blockClass:r,blockSelector:s,unblockSelector:i,inlineStylesheet:o,maskInputOptions:c={},maskAttributeFn:a,maskInputFn:u,dataURLOptions:d={},inlineImages:l,recordCanvas:f,keepIframeSrcFn:p,newlyAddedElement:h=!1,rootId:g,maskTextClass:_,unmaskTextClass:E,maskTextSelector:T,unmaskTextSelector:F,ignoreCSSAttributes:B}=t,q=O_(e,r,s,i),N=T_(e);let S={};const k=e.attributes.length;for(let y=0;y<k;y++){const w=e.attributes[y];w.name&&!bu(N,w.name,w.value)&&(S[w.name]=Eu(n,N,Gt(w.name),w.value,e,a,B))}if(N==="link"&&o){const y=Array.from(n.styleSheets).find(P=>P.href===e.href);let w=null;y&&(w=yr(y)),w&&(S.rel=null,S.href=null,S.crossorigin=null,S._cssText=br(w,y.href))}if(N==="style"&&e.sheet&&!(e.innerText||e.textContent||"").trim().length){const y=yr(e.sheet);y&&(S._cssText=br(y,Br(n)))}if(N==="input"||N==="textarea"||N==="select"||N==="option"){const y=e,w=vi(y),P=Er(y,Os(N),w),j=y.checked;if(w!=="submit"&&w!=="button"&&P){const O=Yt(y,_,T,E,F,Fr({type:w,tagName:Os(N),maskInputOptions:c}));S.value=Sn({isMasked:O,element:y,value:P,maskInputFn:u})}j&&(S.checked=j)}if(N==="option"&&(e.selected&&!c.select?S.selected=!0:delete S.selected),N==="canvas"&&f){if(e.__context==="2d")y_(e)||(S.rr_dataURL=e.toDataURL(d.type,d.quality));else if(!("__context"in e)){const y=e.toDataURL(d.type,d.quality),w=n.createElement("canvas");w.width=e.width,w.height=e.height;const P=w.toDataURL(d.type,d.quality);y!==P&&(S.rr_dataURL=y)}}if(N==="img"&&l){Ot||(Ot=n.createElement("canvas"),Vo=Ot.getContext("2d"));const y=e,w=y.currentSrc||y.getAttribute("src")||"<unknown-src>",P=y.crossOrigin,j=()=>{y.removeEventListener("load",j);try{Ot.width=y.naturalWidth,Ot.height=y.naturalHeight,Vo.drawImage(y,0,0),S.rr_dataURL=Ot.toDataURL(d.type,d.quality)}catch(O){if(y.crossOrigin!=="anonymous"){y.crossOrigin="anonymous",y.complete&&y.naturalWidth!==0?j():y.addEventListener("load",j);return}else console.warn(`Cannot inline img src=${w}! Error: ${O}`)}y.crossOrigin==="anonymous"&&(P?S.crossOrigin=P:y.removeAttribute("crossorigin"))};y.complete&&y.naturalWidth!==0?j():y.addEventListener("load",j)}if((N==="audio"||N==="video")&&(S.rr_mediaState=e.paused?"paused":"played",S.rr_mediaCurrentTime=e.currentTime),h||(e.scrollLeft&&(S.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(S.rr_scrollTop=e.scrollTop)),q){const{width:y,height:w}=e.getBoundingClientRect();S={class:S.class,rr_width:`${y}px`,rr_height:`${w}px`}}N==="iframe"&&!p(S.src)&&(!q&&!yu(e)&&(S.rr_src=S.src),delete S.src);let J;try{customElements.get(N)&&(J=!0)}catch{}return{type:ue.Element,tagName:N,attributes:S,childNodes:[],isSVG:N_(e)||void 0,needBlock:q,rootId:g,isCustom:J}}function ee(e){return e==null?"":e.toLowerCase()}function H_(e,t){if(t.comment&&e.type===ue.Comment)return!0;if(e.type===ue.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&gu(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(ee(e.attributes.name).match(/^msapplication-tile(image|color)$/)||ee(e.attributes.name)==="application-name"||ee(e.attributes.rel)==="icon"||ee(e.attributes.rel)==="apple-touch-icon"||ee(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&ee(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(ee(e.attributes.property).match(/^(og|twitter|fb):/)||ee(e.attributes.name).match(/^(og|twitter):/)||ee(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(ee(e.attributes.name)==="robots"||ee(e.attributes.name)==="googlebot"||ee(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(ee(e.attributes.name)==="author"||ee(e.attributes.name)==="generator"||ee(e.attributes.name)==="framework"||ee(e.attributes.name)==="publisher"||ee(e.attributes.name)==="progid"||ee(e.attributes.property).match(/^article:/)||ee(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(ee(e.attributes.name)==="google-site-verification"||ee(e.attributes.name)==="yandex-verification"||ee(e.attributes.name)==="csrf-token"||ee(e.attributes.name)==="p:domain_verify"||ee(e.attributes.name)==="verify-v1"||ee(e.attributes.name)==="verification"||ee(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function $t(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:f=!1,inlineStylesheet:p=!0,maskInputOptions:h={},maskAttributeFn:g,maskTextFn:_,maskInputFn:E,slimDOMOptions:T,dataURLOptions:F={},inlineImages:B=!1,recordCanvas:q=!1,onSerialize:N,onIframeLoad:S,iframeLoadTimeout:k=5e3,onBlockedImageLoad:J,onStylesheetLoad:y,stylesheetLoadTimeout:w=5e3,keepIframeSrcFn:P=()=>!1,newlyAddedElement:j=!1,ignoreCSSAttributes:O}=t;let{preserveWhiteSpace:ce=!0}=t;const Q=F_(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:c,unblockSelector:o,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:E,dataURLOptions:F,inlineImages:B,recordCanvas:q,keepIframeSrcFn:P,newlyAddedElement:j,ignoreCSSAttributes:O});if(!Q)return console.warn(e,"not serialized"),null;let ne;r.hasNode(e)?ne=r.getId(e):H_(Q,T)||!ce&&Q.type===ue.Text&&!Q.isStyle&&!Q.textContent.replace(/^\s+|\s+$/gm,"").length?ne=yn:ne=Ii();const b=Object.assign(Q,{id:ne});if(r.add(e,b),ne===yn)return null;N&&N(e);let Y=!f;if(b.type===ue.Element){Y=Y&&!b.needBlock;const R=e.shadowRoot;R&&dn(R)&&(b.isShadowHost=!0)}if((b.type===ue.Document||b.type===ue.Element)&&Y){T.headWhitespace&&b.type===ue.Element&&b.tagName==="head"&&(ce=!1);const R={doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:c,unblockSelector:o,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:f,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:E,slimDOMOptions:T,dataURLOptions:F,inlineImages:B,recordCanvas:q,preserveWhiteSpace:ce,onSerialize:N,onIframeLoad:S,iframeLoadTimeout:k,onBlockedImageLoad:J,onStylesheetLoad:y,stylesheetLoadTimeout:w,keepIframeSrcFn:P,ignoreCSSAttributes:O},K=e.childNodes?Array.from(e.childNodes):[];for(const Z of K){const re=$t(Z,R);re&&b.childNodes.push(re)}if(d_(e)&&e.shadowRoot)for(const Z of Array.from(e.shadowRoot.childNodes)){const re=$t(Z,R);re&&(dn(e.shadowRoot)&&(re.isShadow=!0),b.childNodes.push(re))}}if(e.parentNode&&ln(e.parentNode)&&dn(e.parentNode)&&(b.isShadow=!0),b.type===ue.Element&&b.tagName==="iframe"&&!b.needBlock&&L_(e,()=>{const R=yu(e);if(R&&S){const K=$t(R,{doc:R,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:!1,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:E,slimDOMOptions:T,dataURLOptions:F,inlineImages:B,recordCanvas:q,preserveWhiteSpace:ce,onSerialize:N,onIframeLoad:S,iframeLoadTimeout:k,onStylesheetLoad:y,stylesheetLoadTimeout:w,keepIframeSrcFn:P,ignoreCSSAttributes:O});K&&S(e,K)}},k),b.type===ue.Element&&b.tagName==="img"&&!e.complete&&b.needBlock){const R=e,K=()=>{if(R.isConnected&&!R.complete&&J)try{const Z=R.getBoundingClientRect();Z.width>0&&Z.height>0&&J(R,b,Z)}catch{}R.removeEventListener("load",K)};R.isConnected&&R.addEventListener("load",K)}return b.type===ue.Element&&b.tagName==="link"&&typeof b.attributes.rel=="string"&&(b.attributes.rel==="stylesheet"||b.attributes.rel==="preload"&&typeof b.attributes.href=="string"&&gu(b.attributes.href)==="css")&&D_(e,()=>{if(y){const R=$t(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:c,maskTextClass:a,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:l,skipChild:!1,inlineStylesheet:p,maskInputOptions:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:E,slimDOMOptions:T,dataURLOptions:F,inlineImages:B,recordCanvas:q,preserveWhiteSpace:ce,onSerialize:N,onIframeLoad:S,iframeLoadTimeout:k,onStylesheetLoad:y,stylesheetLoadTimeout:w,keepIframeSrcFn:P,ignoreCSSAttributes:O});R&&y(e,R)}},w),b.type===ue.Element&&delete b.needBlock,b}function W_(e,t){const{mirror:n=new mu,blockClass:r="rr-block",blockSelector:s=null,unblockSelector:i=null,maskAllText:o=!1,maskTextClass:c="rr-mask",unmaskTextClass:a=null,maskTextSelector:u=null,unmaskTextSelector:d=null,inlineStylesheet:l=!0,inlineImages:f=!1,recordCanvas:p=!1,maskAllInputs:h=!1,maskAttributeFn:g,maskTextFn:_,maskInputFn:E,slimDOM:T=!1,dataURLOptions:F,preserveWhiteSpace:B,onSerialize:q,onIframeLoad:N,iframeLoadTimeout:S,onBlockedImageLoad:k,onStylesheetLoad:J,stylesheetLoadTimeout:y,keepIframeSrcFn:w=()=>!1,ignoreCSSAttributes:P=new Set([])}=t||{};return $t(e,{doc:e,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,maskAllText:o,maskTextClass:c,unmaskTextClass:a,maskTextSelector:u,unmaskTextSelector:d,skipChild:!1,inlineStylesheet:l,maskInputOptions:h===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:h===!1?{}:h,maskAttributeFn:g,maskTextFn:_,maskInputFn:E,slimDOMOptions:T===!0||T==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:T==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:T===!1?{}:T,dataURLOptions:F,inlineImages:f,recordCanvas:p,preserveWhiteSpace:B,onSerialize:q,onIframeLoad:N,iframeLoadTimeout:S,onBlockedImageLoad:k,onStylesheetLoad:J,stylesheetLoadTimeout:y,keepIframeSrcFn:w,newlyAddedElement:!1,ignoreCSSAttributes:P})}function ge(e,t,n=document){const r={capture:!0,passive:!0};return n.addEventListener(e,t,r),()=>n.removeEventListener(e,t,r)}const Pt=`Please stop import mirror directly. Instead of that,\r
22
22
  now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
23
23
  or you can use record.mirror to access the mirror instance during recording.`;let Yo={map:{},getId(){return console.error(Pt),-1},getNode(){return console.error(Pt),null},removeNodeFromMap(){console.error(Pt)},has(){return console.error(Pt),!1},reset(){console.error(Pt)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Yo=new Proxy(Yo,{get(e,t,n){return t==="map"&&console.error(Pt),Reflect.get(e,t,n)}}));function En(e,t,n={}){let r=null,s=0;return function(...i){const o=Date.now();!s&&n.leading===!1&&(s=o);const c=t-(o-s),a=this;c<=0||c>t?(r&&(K_(r),r=null),s=o,e.apply(a,i)):!r&&n.trailing!==!1&&(r=$r(()=>{s=n.leading===!1?0:Date.now(),r=null,e.apply(a,i)},c))}}function Tu(e,t,n,r,s=window){const i=s.Object.getOwnPropertyDescriptor(e,t);return s.Object.defineProperty(e,t,r?n:{set(o){$r(()=>{n.set.call(this,o)},0),i&&i.set&&i.set.call(this,o)}}),()=>Tu(e,t,i||{},!0)}function wi(e,t,n){try{if(!(t in e))return()=>{};const r=e[t],s=n(r);return typeof s=="function"&&(s.prototype=s.prototype||{},Object.defineProperties(s,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=s,()=>{e[t]=r}}catch{return()=>{}}}let Tr=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Tr=()=>new Date().getTime());function vu(e){var n,r,s,i,o,c;const t=e.document;return{left:t.scrollingElement?t.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:(t==null?void 0:t.documentElement.scrollLeft)||((r=(n=t==null?void 0:t.body)==null?void 0:n.parentElement)==null?void 0:r.scrollLeft)||((s=t==null?void 0:t.body)==null?void 0:s.scrollLeft)||0,top:t.scrollingElement?t.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:(t==null?void 0:t.documentElement.scrollTop)||((o=(i=t==null?void 0:t.body)==null?void 0:i.parentElement)==null?void 0:o.scrollTop)||((c=t==null?void 0:t.body)==null?void 0:c.scrollTop)||0}}function Iu(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function wu(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function ku(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function ve(e,t,n,r,s){if(!e)return!1;const i=ku(e);if(!i)return!1;const o=Bt(t,n);if(!s){const u=r&&i.matches(r);return o(i)&&!u}const c=mt(i,o);let a=-1;return c<0?!1:(r&&(a=mt(i,Bt(null,r))),c>-1&&a<0?!0:c<a)}function z_(e,t){return t.getId(e)!==-1}function cs(e,t){return t.getId(e)===yn}function Ru(e,t){if(ln(e))return!1;const n=t.getId(e);return t.has(n)?e.parentNode&&e.parentNode.nodeType===e.DOCUMENT_NODE?!1:e.parentNode?Ru(e.parentNode,t):!0:!0}function Ls(e){return!!e.changedTouches}function j_(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...t)=>{let n=t[0];if(!(0 in t))throw new TypeError("1 argument is required");do if(this===n)return!0;while(n=n&&n.parentNode);return!1})}function Cu(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Mu(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Ds(e){return!!(e!=null&&e.shadowRoot)}class q_{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,n){if(this.has(t))return this.getId(t);let r;return n===void 0?r=this.id++:r=n,this.styleIDMap.set(t,r),this.idStyleMap.set(r,t),r}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function xu(e){var n,r;let t=null;return((r=(n=e.getRootNode)==null?void 0:n.call(e))==null?void 0:r.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&e.getRootNode().host&&(t=e.getRootNode().host),t}function V_(e){let t=e,n;for(;n=xu(t);)t=n;return t}function G_(e){const t=e.ownerDocument;if(!t)return!1;const n=V_(e);return t.contains(n)}function Au(e){const t=e.ownerDocument;return t?t.contains(e)||G_(e):!1}const Ko={};function ki(e){const t=Ko[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return Ko[e]=r.bind(window)}function Y_(...e){return ki("requestAnimationFrame")(...e)}function $r(...e){return ki("setTimeout")(...e)}function K_(...e){return ki("clearTimeout")(...e)}var $=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))($||{}),A=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(A||{}),me=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(me||{}),je=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(je||{}),Lt=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Lt||{});function Ri(e){try{return e.contentDocument}catch{}}function X_(e){try{return e.contentWindow}catch{}}function Xo(e){return"__ln"in e}class J_{constructor(){this.length=0,this.head=null,this.tail=null}get(t){if(t>=this.length)throw new Error("Position outside of list range");let n=this.head;for(let r=0;r<t;r++)n=(n==null?void 0:n.next)||null;return n}addNode(t){const n={value:t,previous:null,next:null};if(t.__ln=n,t.previousSibling&&Xo(t.previousSibling)){const r=t.previousSibling.__ln.next;n.next=r,n.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=n,r&&(r.previous=n)}else if(t.nextSibling&&Xo(t.nextSibling)&&t.nextSibling.__ln.previous){const r=t.nextSibling.__ln.previous;n.previous=r,n.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=n,r&&(r.next=n)}else this.head&&(this.head.previous=n),n.next=this.head,this.head=n;n.next===null&&(this.tail=n),this.length++}removeNode(t){const n=t.__ln;this.head&&(n.previous?(n.previous.next=n.next,n.next?n.next.previous=n.previous:this.tail=n.previous):(this.head=n.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}}const Jo=(e,t)=>`${e}@${t}`;class Q_{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=t=>{t.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const t=[],n=new Set,r=new J_,s=a=>{let u=a,d=yn;for(;d===yn;)u=u&&u.nextSibling,d=u&&this.mirror.getId(u);return d},i=a=>{if(!a.parentNode||!Au(a))return;const u=ln(a.parentNode)?this.mirror.getId(xu(a)):this.mirror.getId(a.parentNode),d=s(a);if(u===-1||d===-1)return r.addNode(a);const l=$t(a,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskAllText:this.maskAllText,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,unmaskTextClass:this.unmaskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskAttributeFn:this.maskAttributeFn,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:f=>{Cu(f,this.mirror)&&!ve(f,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&this.iframeManager.addIframe(f),Mu(f,this.mirror)&&this.stylesheetManager.trackLinkElement(f),Ds(a)&&this.shadowDomManager.addShadowRoot(a.shadowRoot,this.doc)},onIframeLoad:(f,p)=>{ve(f,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(this.iframeManager.attachIframe(f,p),f.contentWindow&&this.canvasManager.addWindow(f.contentWindow),this.shadowDomManager.observeAttachShadow(f))},onStylesheetLoad:(f,p)=>{this.stylesheetManager.attachLinkElement(f,p)},onBlockedImageLoad:(f,p,{width:h,height:g})=>{this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:p.id,attributes:{style:{width:`${h}px`,height:`${g}px`}}}]})},ignoreCSSAttributes:this.ignoreCSSAttributes});l&&(t.push({parentId:u,nextId:d,node:l}),n.add(l.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const a of this.movedSet)Qo(this.removes,a,this.mirror)&&!this.movedSet.has(a.parentNode)||i(a);for(const a of this.addedSet)!Zo(this.droppedSet,a)&&!Qo(this.removes,a,this.mirror)||Zo(this.movedSet,a)?i(a):this.droppedSet.add(a);let o=null;for(;r.length;){let a=null;if(o){const u=this.mirror.getId(o.value.parentNode),d=s(o.value);u!==-1&&d!==-1&&(a=o)}if(!a){let u=r.tail;for(;u;){const d=u;if(u=u.previous,d){const l=this.mirror.getId(d.value.parentNode);if(s(d.value)===-1)continue;if(l!==-1){a=d;break}else{const p=d.value;if(p.parentNode&&p.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const h=p.parentNode.host;if(this.mirror.getId(h)!==-1){a=d;break}}}}}}if(!a){for(;r.head;)r.removeNode(r.head.value);break}o=a.previous,r.removeNode(a.value),i(a.value)}const c={texts:this.texts.map(a=>({id:this.mirror.getId(a.node),value:a.value})).filter(a=>!n.has(a.id)).filter(a=>this.mirror.has(a.id)),attributes:this.attributes.map(a=>{const{attributes:u}=a;if(typeof u.style=="string"){const d=JSON.stringify(a.styleDiff),l=JSON.stringify(a._unchangedStyles);d.length<u.style.length&&(d+l).split("var(").length===u.style.split("var(").length&&(u.style=a.styleDiff)}return{id:this.mirror.getId(a.node),attributes:u}}).filter(a=>!n.has(a.id)).filter(a=>this.mirror.has(a.id)),removes:this.removes,adds:t};!c.texts.length&&!c.attributes.length&&!c.removes.length&&!c.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(c))},this.processMutation=t=>{if(!cs(t.target,this.mirror))switch(t.type){case"characterData":{const n=t.target.textContent;!ve(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&n!==t.oldValue&&this.texts.push({value:Yt(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,this.maskAllText)&&n?this.maskTextFn?this.maskTextFn(n,ku(t.target)):n.replace(/[\S]/g,"*"):n,node:t.target});break}case"attributes":{const n=t.target;let r=t.attributeName,s=t.target.getAttribute(r);if(r==="value"){const o=vi(n),c=n.tagName;s=Er(n,c,o);const a=Fr({maskInputOptions:this.maskInputOptions,tagName:c,type:o}),u=Yt(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,a);s=Sn({isMasked:u,element:n,value:s,maskInputFn:this.maskInputFn})}if(ve(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||s===t.oldValue)return;let i=this.attributeMap.get(t.target);if(n.tagName==="IFRAME"&&r==="src"&&!this.keepIframeSrcFn(s))if(!Ri(n))r="rr_src";else return;if(i||(i={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(t.target,i)),r==="type"&&n.tagName==="INPUT"&&(t.oldValue||"").toLowerCase()==="password"&&n.setAttribute("data-rr-is-password","true"),!bu(n.tagName,r)&&(i.attributes[r]=Eu(this.doc,Gt(n.tagName),Gt(r),s,n,this.maskAttributeFn),r==="style")){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}const o=this.unattachedDoc.createElement("span");t.oldValue&&o.setAttribute("style",t.oldValue);for(const c of Array.from(n.style)){const a=n.style.getPropertyValue(c),u=n.style.getPropertyPriority(c);a!==o.style.getPropertyValue(c)||u!==o.style.getPropertyPriority(c)?u===""?i.styleDiff[c]=a:i.styleDiff[c]=[a,u]:i._unchangedStyles[c]=[a,u]}for(const c of Array.from(o.style))n.style.getPropertyValue(c)===""&&(i.styleDiff[c]=!1)}break}case"childList":{if(ve(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!0))return;t.addedNodes.forEach(n=>this.genAdds(n,t.target)),t.removedNodes.forEach(n=>{const r=this.mirror.getId(n),s=ln(t.target)?this.mirror.getId(t.target.host):this.mirror.getId(t.target);ve(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||cs(n,this.mirror)||!z_(n,this.mirror)||(this.addedSet.has(n)?(Fs(this.addedSet,n),this.droppedSet.add(n)):this.addedSet.has(t.target)&&r===-1||Ru(t.target,this.mirror)||(this.movedSet.has(n)&&this.movedMap[Jo(r,s)]?Fs(this.movedSet,n):this.removes.push({parentId:s,id:r,isShadow:ln(t.target)&&dn(t.target)?!0:void 0})),this.mapRemoves.push(n))});break}}},this.genAdds=(t,n)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(cs(t,this.mirror))return;this.movedSet.add(t);let r=null;n&&this.mirror.hasNode(n)&&(r=this.mirror.getId(n)),r&&r!==-1&&(this.movedMap[Jo(this.mirror.getId(t),r)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ve(t,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(t.childNodes&&t.childNodes.forEach(r=>this.genAdds(r)),Ds(t)&&t.shadowRoot.childNodes.forEach(r=>{this.processedNodeManager.add(r,this),this.genAdds(r,t)}))}}}init(t){["mutationCb","blockClass","blockSelector","unblockSelector","maskAllText","maskTextClass","unmaskTextClass","maskTextSelector","unmaskTextSelector","inlineStylesheet","maskInputOptions","maskAttributeFn","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager","ignoreCSSAttributes"].forEach(n=>{this[n]=t[n]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function Fs(e,t){var n;e.delete(t),(n=t.childNodes)==null||n.forEach(r=>Fs(e,r))}function Qo(e,t,n){return e.length===0?!1:Z_(e,t,n)}function Z_(e,t,n){let r=t.parentNode;for(;r;){const s=n.getId(r);if(e.some(i=>i.id===s))return!0;r=r.parentNode}return!1}function Zo(e,t){return e.size===0?!1:Nu(e,t)}function Nu(e,t){const{parentNode:n}=t;return n?e.has(n)?!0:Nu(e,n):!1}let fn;function eS(e){fn=e}function tS(){fn=void 0}const z=e=>fn?(...n)=>{try{return e(...n)}catch(r){if(fn&&fn(r)===!0)return()=>{};throw r}}:e,Ut=[];function Ln(e){try{if("composedPath"in e){const t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ou(e,t){var o,c;const n=new Q_;Ut.push(n),n.init(e);let r=window.MutationObserver||window.__rrMutationObserver;const s=(c=(o=window==null?void 0:window.Zone)==null?void 0:o.__symbol__)==null?void 0:c.call(o,"MutationObserver");s&&window[s]&&(r=window[s]);const i=new r(z(a=>{e.onMutation&&e.onMutation(a)===!1||n.processMutations.bind(n)(a)}));return i.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),i}function nS({mousemoveCb:e,sampling:t,doc:n,mirror:r}){if(t.mousemove===!1)return()=>{};const s=typeof t.mousemove=="number"?t.mousemove:50,i=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500;let o=[],c;const a=En(z(l=>{const f=Date.now()-c;e(o.map(p=>(p.timeOffset-=f,p)),l),o=[],c=null}),i),u=z(En(z(l=>{const f=Ln(l),{clientX:p,clientY:h}=Ls(l)?l.changedTouches[0]:l;c||(c=Tr()),o.push({x:p,y:h,id:r.getId(f),timeOffset:Tr()-c}),a(typeof DragEvent<"u"&&l instanceof DragEvent?A.Drag:l instanceof MouseEvent?A.MouseMove:A.TouchMove)}),s,{trailing:!1})),d=[ge("mousemove",u,n),ge("touchmove",u,n),ge("drag",u,n)];return z(()=>{d.forEach(l=>l())})}function rS({mouseInteractionCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){if(o.mouseInteraction===!1)return()=>{};const c=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,a=[];let u=null;const d=l=>f=>{const p=Ln(f);if(ve(p,r,s,i,!0))return;let h=null,g=l;if("pointerType"in f){switch(f.pointerType){case"mouse":h=je.Mouse;break;case"touch":h=je.Touch;break;case"pen":h=je.Pen;break}h===je.Touch?me[l]===me.MouseDown?g="TouchStart":me[l]===me.MouseUp&&(g="TouchEnd"):je.Pen}else Ls(f)&&(h=je.Touch);h!==null?(u=h,(g.startsWith("Touch")&&h===je.Touch||g.startsWith("Mouse")&&h===je.Mouse)&&(h=null)):me[l]===me.Click&&(h=u,u=null);const _=Ls(f)?f.changedTouches[0]:f;if(!_)return;const E=n.getId(p),{clientX:T,clientY:F}=_;z(e)({type:me[g],id:E,x:T,y:F,...h!==null&&{pointerType:h}})};return Object.keys(me).filter(l=>Number.isNaN(Number(l))&&!l.endsWith("_Departed")&&c[l]!==!1).forEach(l=>{let f=Gt(l);const p=d(l);if(window.PointerEvent)switch(me[l]){case me.MouseDown:case me.MouseUp:f=f.replace("mouse","pointer");break;case me.TouchStart:case me.TouchEnd:return}a.push(ge(f,p,t))}),z(()=>{a.forEach(l=>l())})}function Pu({scrollCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){const c=z(En(z(a=>{const u=Ln(a);if(!u||ve(u,r,s,i,!0))return;const d=n.getId(u);if(u===t&&t.defaultView){const l=vu(t.defaultView);e({id:d,x:l.left,y:l.top})}else e({id:d,x:u.scrollLeft,y:u.scrollTop})}),o.scroll||100));return ge("scroll",c,t)}function sS({viewportResizeCb:e},{win:t}){let n=-1,r=-1;const s=z(En(z(()=>{const i=Iu(),o=wu();(n!==i||r!==o)&&(e({width:Number(o),height:Number(i)}),n=i,r=o)}),200));return ge("resize",s,t)}const iS=["INPUT","TEXTAREA","SELECT"],ea=new WeakMap;function oS({inputCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,ignoreClass:o,ignoreSelector:c,maskInputOptions:a,maskInputFn:u,sampling:d,userTriggeredOnInput:l,maskTextClass:f,unmaskTextClass:p,maskTextSelector:h,unmaskTextSelector:g}){function _(S){let k=Ln(S);const J=S.isTrusted,y=k&&Os(k.tagName);if(y==="OPTION"&&(k=k.parentElement),!k||!y||iS.indexOf(y)<0||ve(k,r,s,i,!0))return;const w=k;if(w.classList.contains(o)||c&&w.matches(c))return;const P=vi(k);let j=Er(w,y,P),O=!1;const ce=Fr({maskInputOptions:a,tagName:y,type:P}),Q=Yt(k,f,h,p,g,ce);(P==="radio"||P==="checkbox")&&(O=k.checked),j=Sn({isMasked:Q,element:k,value:j,maskInputFn:u}),E(k,l?{text:j,isChecked:O,userTriggered:J}:{text:j,isChecked:O});const ne=k.name;P==="radio"&&ne&&O&&t.querySelectorAll(`input[type="radio"][name="${ne}"]`).forEach(b=>{if(b!==k){const Y=Sn({isMasked:Q,element:b,value:Er(b,y,P),maskInputFn:u});E(b,l?{text:Y,isChecked:!O,userTriggered:!1}:{text:Y,isChecked:!O})}})}function E(S,k){const J=ea.get(S);if(!J||J.text!==k.text||J.isChecked!==k.isChecked){ea.set(S,k);const y=n.getId(S);z(e)({...k,id:y})}}const F=(d.input==="last"?["change"]:["input","change"]).map(S=>ge(S,z(_),t)),B=t.defaultView;if(!B)return()=>{F.forEach(S=>S())};const q=B.Object.getOwnPropertyDescriptor(B.HTMLInputElement.prototype,"value"),N=[[B.HTMLInputElement.prototype,"value"],[B.HTMLInputElement.prototype,"checked"],[B.HTMLSelectElement.prototype,"value"],[B.HTMLTextAreaElement.prototype,"value"],[B.HTMLSelectElement.prototype,"selectedIndex"],[B.HTMLOptionElement.prototype,"selected"]];return q&&q.set&&F.push(...N.map(S=>Tu(S[0],S[1],{set(){z(_)({target:this,isTrusted:!1})}},!1,B))),z(()=>{F.forEach(S=>S())})}function vr(e){const t=[];function n(r,s){if(Gn("CSSGroupingRule")&&r.parentRule instanceof CSSGroupingRule||Gn("CSSMediaRule")&&r.parentRule instanceof CSSMediaRule||Gn("CSSSupportsRule")&&r.parentRule instanceof CSSSupportsRule||Gn("CSSConditionRule")&&r.parentRule instanceof CSSConditionRule){const o=Array.from(r.parentRule.cssRules).indexOf(r);s.unshift(o)}else if(r.parentStyleSheet){const o=Array.from(r.parentStyleSheet.cssRules).indexOf(r);s.unshift(o)}return s}return n(e,t)}function et(e,t,n){let r,s;return e?(e.ownerNode?r=t.getId(e.ownerNode):s=n.getId(e),{styleId:s,id:r}):{}}function aS({styleSheetRuleCb:e,mirror:t,stylesheetManager:n},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const s=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(s,{apply:z((d,l,f)=>{const[p,h]=f,{id:g,styleId:_}=et(l,t,n.styleMirror);return(g&&g!==-1||_&&_!==-1)&&e({id:g,styleId:_,adds:[{rule:p,index:h}]}),d.apply(l,f)})});const i=r.CSSStyleSheet.prototype.deleteRule;r.CSSStyleSheet.prototype.deleteRule=new Proxy(i,{apply:z((d,l,f)=>{const[p]=f,{id:h,styleId:g}=et(l,t,n.styleMirror);return(h&&h!==-1||g&&g!==-1)&&e({id:h,styleId:g,removes:[{index:p}]}),d.apply(l,f)})});let o;r.CSSStyleSheet.prototype.replace&&(o=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(o,{apply:z((d,l,f)=>{const[p]=f,{id:h,styleId:g}=et(l,t,n.styleMirror);return(h&&h!==-1||g&&g!==-1)&&e({id:h,styleId:g,replace:p}),d.apply(l,f)})}));let c;r.CSSStyleSheet.prototype.replaceSync&&(c=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(c,{apply:z((d,l,f)=>{const[p]=f,{id:h,styleId:g}=et(l,t,n.styleMirror);return(h&&h!==-1||g&&g!==-1)&&e({id:h,styleId:g,replaceSync:p}),d.apply(l,f)})}));const a={};Yn("CSSGroupingRule")?a.CSSGroupingRule=r.CSSGroupingRule:(Yn("CSSMediaRule")&&(a.CSSMediaRule=r.CSSMediaRule),Yn("CSSConditionRule")&&(a.CSSConditionRule=r.CSSConditionRule),Yn("CSSSupportsRule")&&(a.CSSSupportsRule=r.CSSSupportsRule));const u={};return Object.entries(a).forEach(([d,l])=>{u[d]={insertRule:l.prototype.insertRule,deleteRule:l.prototype.deleteRule},l.prototype.insertRule=new Proxy(u[d].insertRule,{apply:z((f,p,h)=>{const[g,_]=h,{id:E,styleId:T}=et(p.parentStyleSheet,t,n.styleMirror);return(E&&E!==-1||T&&T!==-1)&&e({id:E,styleId:T,adds:[{rule:g,index:[...vr(p),_||0]}]}),f.apply(p,h)})}),l.prototype.deleteRule=new Proxy(u[d].deleteRule,{apply:z((f,p,h)=>{const[g]=h,{id:_,styleId:E}=et(p.parentStyleSheet,t,n.styleMirror);return(_&&_!==-1||E&&E!==-1)&&e({id:_,styleId:E,removes:[{index:[...vr(p),g]}]}),f.apply(p,h)})})}),z(()=>{r.CSSStyleSheet.prototype.insertRule=s,r.CSSStyleSheet.prototype.deleteRule=i,o&&(r.CSSStyleSheet.prototype.replace=o),c&&(r.CSSStyleSheet.prototype.replaceSync=c),Object.entries(a).forEach(([d,l])=>{l.prototype.insertRule=u[d].insertRule,l.prototype.deleteRule=u[d].deleteRule})})}function Lu({mirror:e,stylesheetManager:t},n){var o,c,a;let r=null;n.nodeName==="#document"?r=e.getId(n):r=e.getId(n.host);const s=n.nodeName==="#document"?(o=n.defaultView)==null?void 0:o.Document:(a=(c=n.ownerDocument)==null?void 0:c.defaultView)==null?void 0:a.ShadowRoot,i=s!=null&&s.prototype?Object.getOwnPropertyDescriptor(s==null?void 0:s.prototype,"adoptedStyleSheets"):void 0;return r===null||r===-1||!s||!i?()=>{}:(Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get(){var u;return(u=i.get)==null?void 0:u.call(this)},set(u){var l;const d=(l=i.set)==null?void 0:l.call(this,u);if(r!==null&&r!==-1)try{t.adoptStyleSheets(u,r)}catch{}return d}}),z(()=>{Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get:i.get,set:i.set})}))}function cS({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:n,stylesheetManager:r},{win:s}){const i=s.CSSStyleDeclaration.prototype.setProperty;s.CSSStyleDeclaration.prototype.setProperty=new Proxy(i,{apply:z((c,a,u)=>{var g;const[d,l,f]=u;if(n.has(d))return i.apply(a,[d,l,f]);const{id:p,styleId:h}=et((g=a.parentRule)==null?void 0:g.parentStyleSheet,t,r.styleMirror);return(p&&p!==-1||h&&h!==-1)&&e({id:p,styleId:h,set:{property:d,value:l,priority:f},index:vr(a.parentRule)}),c.apply(a,u)})});const o=s.CSSStyleDeclaration.prototype.removeProperty;return s.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:z((c,a,u)=>{var p;const[d]=u;if(n.has(d))return o.apply(a,[d]);const{id:l,styleId:f}=et((p=a.parentRule)==null?void 0:p.parentStyleSheet,t,r.styleMirror);return(l&&l!==-1||f&&f!==-1)&&e({id:l,styleId:f,remove:{property:d},index:vr(a.parentRule)}),c.apply(a,u)})}),z(()=>{s.CSSStyleDeclaration.prototype.setProperty=i,s.CSSStyleDeclaration.prototype.removeProperty=o})}function uS({mediaInteractionCb:e,blockClass:t,blockSelector:n,unblockSelector:r,mirror:s,sampling:i,doc:o}){const c=z(u=>En(z(d=>{const l=Ln(d);if(!l||ve(l,t,n,r,!0))return;const{currentTime:f,volume:p,muted:h,playbackRate:g}=l;e({type:u,id:s.getId(l),currentTime:f,volume:p,muted:h,playbackRate:g})}),i.media||500)),a=[ge("play",c(Lt.Play),o),ge("pause",c(Lt.Pause),o),ge("seeked",c(Lt.Seeked),o),ge("volumechange",c(Lt.VolumeChange),o),ge("ratechange",c(Lt.RateChange),o)];return z(()=>{a.forEach(u=>u())})}function lS({fontCb:e,doc:t}){const n=t.defaultView;if(!n)return()=>{};const r=[],s=new WeakMap,i=n.FontFace;n.FontFace=function(a,u,d){const l=new i(a,u,d);return s.set(l,{family:a,buffer:typeof u!="string",descriptors:d,fontSource:typeof u=="string"?u:JSON.stringify(Array.from(new Uint8Array(u)))}),l};const o=wi(t.fonts,"add",function(c){return function(a){return $r(z(()=>{const u=s.get(a);u&&(e(u),s.delete(a))}),0),c.apply(this,[a])}});return r.push(()=>{n.FontFace=i}),r.push(o),z(()=>{r.forEach(c=>c())})}function dS(e){const{doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,selectionCb:o}=e;let c=!0;const a=z(()=>{const u=t.getSelection();if(!u||c&&(u!=null&&u.isCollapsed))return;c=u.isCollapsed||!1;const d=[],l=u.rangeCount||0;for(let f=0;f<l;f++){const p=u.getRangeAt(f),{startContainer:h,startOffset:g,endContainer:_,endOffset:E}=p;ve(h,r,s,i,!0)||ve(_,r,s,i,!0)||d.push({start:n.getId(h),startOffset:g,end:n.getId(_),endOffset:E})}o({ranges:d})});return a(),ge("selectionchange",a)}function fS({doc:e,customElementCb:t}){const n=e.defaultView;return!n||!n.customElements?()=>{}:wi(n.customElements,"define",function(s){return function(i,o,c){try{t({define:{name:i}})}catch{}return s.apply(this,[i,o,c])}})}function pS(e,t={}){const n=e.doc.defaultView;if(!n)return()=>{};let r;e.recordDOM&&(r=Ou(e,e.doc));const s=nS(e),i=rS(e),o=Pu(e),c=sS(e,{win:n}),a=oS(e),u=uS(e);let d=()=>{},l=()=>{},f=()=>{},p=()=>{};e.recordDOM&&(d=aS(e,{win:n}),l=Lu(e,e.doc),f=cS(e,{win:n}),e.collectFonts&&(p=lS(e)));const h=dS(e),g=fS(e),_=[];for(const E of e.plugins)_.push(E.observer(E.callback,n,E.options));return z(()=>{Ut.forEach(E=>E.reset()),r==null||r.disconnect(),s(),i(),o(),c(),a(),u(),d(),l(),f(),p(),h(),g(),_.forEach(E=>E())})}function Gn(e){return typeof window[e]<"u"}function Yn(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class Bs{constructor(t){this.generateIdFn=t,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(t,n,r,s){const i=r||this.getIdToRemoteIdMap(t),o=s||this.getRemoteIdToIdMap(t);let c=i.get(n);return c||(c=this.generateIdFn(),i.set(n,c),o.set(c,n)),c}getIds(t,n){const r=this.getIdToRemoteIdMap(t),s=this.getRemoteIdToIdMap(t);return n.map(i=>this.getId(t,i,r,s))}getRemoteId(t,n,r){const s=r||this.getRemoteIdToIdMap(t);if(typeof n!="number")return n;const i=s.get(n);return i||-1}getRemoteIds(t,n){const r=this.getRemoteIdToIdMap(t);return n.map(s=>this.getRemoteId(t,s,r))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let n=this.iframeIdToRemoteIdMap.get(t);return n||(n=new Map,this.iframeIdToRemoteIdMap.set(t,n)),n}getRemoteIdToIdMap(t){let n=this.iframeRemoteIdToIdMap.get(t);return n||(n=new Map,this.iframeRemoteIdToIdMap.set(t,n)),n}}class hS{constructor(){this.crossOriginIframeMirror=new Bs(Ii),this.crossOriginIframeRootIdMap=new WeakMap}addIframe(){}addLoadListener(){}attachIframe(){}}class mS{constructor(t){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new Bs(Ii),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Bs(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,n){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:n}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t);const r=Ri(t);r&&r.adoptedStyleSheets&&r.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(r.adoptedStyleSheets,this.mirror.getId(r))}handleMessage(t){const n=t;if(n.data.type!=="rrweb"||n.origin!==n.data.origin||!t.source)return;const s=this.crossOriginIframeMap.get(t.source);if(!s)return;const i=this.transformCrossOriginEvent(s,n.data.event);i&&this.wrappedEmit(i,n.data.isCheckout)}transformCrossOriginEvent(t,n){var r;switch(n.type){case $.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(n.data.node,t);const s=n.data.node.id;return this.crossOriginIframeRootIdMap.set(t,s),this.patchRootIdOnNode(n.data.node,s),{timestamp:n.timestamp,type:$.IncrementalSnapshot,data:{source:A.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:n.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case $.Meta:case $.Load:case $.DomContentLoaded:return!1;case $.Plugin:return n;case $.Custom:return this.replaceIds(n.data.payload,t,["id","parentId","previousId","nextId"]),n;case $.IncrementalSnapshot:switch(n.data.source){case A.Mutation:return n.data.adds.forEach(s=>{this.replaceIds(s,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(s.node,t);const i=this.crossOriginIframeRootIdMap.get(t);i&&this.patchRootIdOnNode(s.node,i)}),n.data.removes.forEach(s=>{this.replaceIds(s,t,["parentId","id"])}),n.data.attributes.forEach(s=>{this.replaceIds(s,t,["id"])}),n.data.texts.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case A.Drag:case A.TouchMove:case A.MouseMove:return n.data.positions.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case A.ViewportResize:return!1;case A.MediaInteraction:case A.MouseInteraction:case A.Scroll:case A.CanvasMutation:case A.Input:return this.replaceIds(n.data,t,["id"]),n;case A.StyleSheetRule:case A.StyleDeclaration:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleId"]),n;case A.Font:return n;case A.Selection:return n.data.ranges.forEach(s=>{this.replaceIds(s,t,["start","end"])}),n;case A.AdoptedStyleSheet:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleIds"]),(r=n.data.styles)==null||r.forEach(s=>{this.replaceStyleIds(s,t,["styleId"])}),n}}return!1}replace(t,n,r,s){for(const i of s)!Array.isArray(n[i])&&typeof n[i]!="number"||(Array.isArray(n[i])?n[i]=t.getIds(r,n[i]):n[i]=t.getId(r,n[i]));return n}replaceIds(t,n,r){return this.replace(this.crossOriginIframeMirror,t,n,r)}replaceStyleIds(t,n,r){return this.replace(this.crossOriginIframeStyleMirror,t,n,r)}replaceIdOnNode(t,n){this.replaceIds(t,n,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(r=>{this.replaceIdOnNode(r,n)})}patchRootIdOnNode(t,n){t.type!==ue.Document&&!t.rootId&&(t.rootId=n),"childNodes"in t&&t.childNodes.forEach(r=>{this.patchRootIdOnNode(r,n)})}}class gS{init(){}addShadowRoot(){}observeAttachShadow(){}reset(){}}class _S{constructor(t){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,n){if(!dn(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t),this.bypassOptions.canvasManager.addShadowRoot(t);const r=Ou({...this.bypassOptions,doc:n,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>r.disconnect()),this.restoreHandlers.push(Pu({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),$r(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(t.host)),this.restoreHandlers.push(Lu({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){const n=Ri(t),r=X_(t);!n||!r||this.patchAttachShadow(r.Element,n)}patchAttachShadow(t,n){const r=this;this.restoreHandlers.push(wi(t.prototype,"attachShadow",function(s){return function(i){const o=s.call(this,i);return this.shadowRoot&&Au(this)&&r.addShadowRoot(this.shadowRoot,n),o}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet,this.bypassOptions.canvasManager.resetShadowRoots()}}var ta="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",SS=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var Kn=0;Kn<ta.length;Kn++)SS[ta.charCodeAt(Kn)]=Kn;class na{reset(){}freeze(){}unfreeze(){}lock(){}unlock(){}snapshot(){}addWindow(){}addShadowRoot(){}resetShadowRoots(){}}class yS{constructor(t){this.trackedLinkElements=new WeakSet,this.styleMirror=new q_,this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,n){"_cssText"in n.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:n.id,attributes:n.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,n){if(t.length===0)return;const r={id:n,styleIds:[]},s=[];for(const i of t){let o;this.styleMirror.has(i)?o=this.styleMirror.getId(i):(o=this.styleMirror.add(i),s.push({styleId:o,rules:Array.from(i.rules||CSSRule,(c,a)=>({rule:hu(c),index:a}))})),r.styleIds.push(o)}s.length>0&&(r.styles=s),this.adoptedStyleSheetCb(r)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}}class ES{constructor(){this.nodeMap=new WeakMap,this.active=!1}inOtherBuffer(t,n){const r=this.nodeMap.get(t);return r&&Array.from(r).some(s=>s!==n)}add(t,n){this.active||(this.active=!0,Y_(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(n))}destroy(){}}let se,Ir;var Ta;try{if(Array.from([1],e=>e*2)[0]!==2){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=((Ta=e.contentWindow)==null?void 0:Ta.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}const Pe=S_();function Ye(e={}){const{emit:t,checkoutEveryNms:n,checkoutEveryNth:r,blockClass:s="rr-block",blockSelector:i=null,unblockSelector:o=null,ignoreClass:c="rr-ignore",ignoreSelector:a=null,maskAllText:u=!1,maskTextClass:d="rr-mask",unmaskTextClass:l=null,maskTextSelector:f=null,unmaskTextSelector:p=null,inlineStylesheet:h=!0,maskAllInputs:g,maskInputOptions:_,slimDOMOptions:E,maskAttributeFn:T,maskInputFn:F,maskTextFn:B,maxCanvasSize:q=null,packFn:N,sampling:S={},dataURLOptions:k={},mousemoveWait:J,recordDOM:y=!0,recordCanvas:w=!1,recordCrossOriginIframes:P=!1,recordAfter:j=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:O=!1,collectFonts:ce=!1,inlineImages:Q=!1,plugins:ne,keepIframeSrcFn:b=()=>!1,ignoreCSSAttributes:Y=new Set([]),errorHandler:R,onMutation:K,getCanvasManager:Z}=e;eS(R);const re=P?window.parent===window:!0;let be=!1;if(!re)try{window.parent.document&&(be=!1)}catch{be=!0}if(re&&!t)throw new Error("emit function is required");if(!re&&!be)return()=>{};J!==void 0&&S.mousemove===void 0&&(S.mousemove=J),Pe.reset();const Te=g===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:_!==void 0?_:{},xt=E===!0||E==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:E==="all",headMetaDescKeywords:E==="all"}:E||{};j_();let We,At=0;const Fn=V=>{for(const Oe of ne||[])Oe.eventProcessor&&(V=Oe.eventProcessor(V));return N&&!be&&(V=N(V)),V};se=(V,Oe)=>{var _e;const W=V;if(W.timestamp=Tr(),(_e=Ut[0])!=null&&_e.isFrozen()&&W.type!==$.FullSnapshot&&!(W.type===$.IncrementalSnapshot&&W.data.source===A.Mutation)&&Ut.forEach(we=>we.unfreeze()),re)t==null||t(Fn(W),Oe);else if(be){const we={type:"rrweb",event:Fn(W),origin:window.location.origin,isCheckout:Oe};window.parent.postMessage(we,"*")}if(W.type===$.FullSnapshot)We=W,At=0;else if(W.type===$.IncrementalSnapshot){if(W.data.source===A.Mutation&&W.data.isAttachIframe)return;At++;const we=r&&At>=r,X=n&&We&&W.timestamp-We.timestamp>n;(we||X)&&qr(!0)}};const an=V=>{se({type:$.IncrementalSnapshot,data:{source:A.Mutation,...V}})},$i=V=>se({type:$.IncrementalSnapshot,data:{source:A.Scroll,...V}}),gl=V=>se({type:$.IncrementalSnapshot,data:{source:A.CanvasMutation,...V}}),_l=V=>se({type:$.IncrementalSnapshot,data:{source:A.AdoptedStyleSheet,...V}}),dt=new yS({mutationCb:an,adoptedStyleSheetCb:_l}),ft=typeof __RRWEB_EXCLUDE_IFRAME__=="boolean"&&__RRWEB_EXCLUDE_IFRAME__?new hS:new mS({mirror:Pe,mutationCb:an,stylesheetManager:dt,recordCrossOriginIframes:P,wrappedEmit:se});for(const V of ne||[])V.getMirror&&V.getMirror({nodeMirror:Pe,crossOriginIframeMirror:ft.crossOriginIframeMirror,crossOriginIframeStyleMirror:ft.crossOriginIframeStyleMirror});const zr=new ES,jr=TS(Z,{mirror:Pe,win:window,mutationCb:V=>se({type:$.IncrementalSnapshot,data:{source:A.CanvasMutation,...V}}),recordCanvas:w,blockClass:s,blockSelector:i,unblockSelector:o,maxCanvasSize:q,sampling:S.canvas,dataURLOptions:k,errorHandler:R}),Bn=typeof __RRWEB_EXCLUDE_SHADOW_DOM__=="boolean"&&__RRWEB_EXCLUDE_SHADOW_DOM__?new gS:new _S({mutationCb:an,scrollCb:$i,bypassOptions:{onMutation:K,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,inlineStylesheet:h,maskInputOptions:Te,dataURLOptions:k,maskAttributeFn:T,maskTextFn:B,maskInputFn:F,recordCanvas:w,inlineImages:Q,sampling:S,slimDOMOptions:xt,iframeManager:ft,stylesheetManager:dt,canvasManager:jr,keepIframeSrcFn:b,processedNodeManager:zr,ignoreCSSAttributes:Y},mirror:Pe}),qr=(V=!1)=>{if(!y)return;se({type:$.Meta,data:{href:window.location.href,width:wu(),height:Iu()}},V),dt.reset(),Bn.init(),Ut.forEach(W=>W.lock());const Oe=W_(document,{mirror:Pe,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,inlineStylesheet:h,maskAllInputs:Te,maskAttributeFn:T,maskInputFn:F,maskTextFn:B,slimDOM:xt,dataURLOptions:k,recordCanvas:w,inlineImages:Q,onSerialize:W=>{Cu(W,Pe)&&ft.addIframe(W),Mu(W,Pe)&&dt.trackLinkElement(W),Ds(W)&&Bn.addShadowRoot(W.shadowRoot,document)},onIframeLoad:(W,_e)=>{ft.attachIframe(W,_e),W.contentWindow&&jr.addWindow(W.contentWindow),Bn.observeAttachShadow(W)},onStylesheetLoad:(W,_e)=>{dt.attachLinkElement(W,_e)},onBlockedImageLoad:(W,_e,{width:we,height:X})=>{an({adds:[],removes:[],texts:[],attributes:[{id:_e.id,attributes:{style:{width:`${we}px`,height:`${X}px`}}}]})},keepIframeSrcFn:b,ignoreCSSAttributes:Y});if(!Oe)return console.warn("Failed to snapshot the document");se({type:$.FullSnapshot,data:{node:Oe,initialOffset:vu(window)}}),Ut.forEach(W=>W.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&dt.adoptStyleSheets(document.adoptedStyleSheets,Pe.getId(document))};Ir=qr;try{const V=[],Oe=_e=>{var we;return z(pS)({onMutation:K,mutationCb:an,mousemoveCb:(X,Vr)=>se({type:$.IncrementalSnapshot,data:{source:Vr,positions:X}}),mouseInteractionCb:X=>se({type:$.IncrementalSnapshot,data:{source:A.MouseInteraction,...X}}),scrollCb:$i,viewportResizeCb:X=>se({type:$.IncrementalSnapshot,data:{source:A.ViewportResize,...X}}),inputCb:X=>se({type:$.IncrementalSnapshot,data:{source:A.Input,...X}}),mediaInteractionCb:X=>se({type:$.IncrementalSnapshot,data:{source:A.MediaInteraction,...X}}),styleSheetRuleCb:X=>se({type:$.IncrementalSnapshot,data:{source:A.StyleSheetRule,...X}}),styleDeclarationCb:X=>se({type:$.IncrementalSnapshot,data:{source:A.StyleDeclaration,...X}}),canvasMutationCb:gl,fontCb:X=>se({type:$.IncrementalSnapshot,data:{source:A.Font,...X}}),selectionCb:X=>{se({type:$.IncrementalSnapshot,data:{source:A.Selection,...X}})},customElementCb:X=>{se({type:$.IncrementalSnapshot,data:{source:A.CustomElement,...X}})},blockClass:s,ignoreClass:c,ignoreSelector:a,maskAllText:u,maskTextClass:d,unmaskTextClass:l,maskTextSelector:f,unmaskTextSelector:p,maskInputOptions:Te,inlineStylesheet:h,sampling:S,recordDOM:y,recordCanvas:w,inlineImages:Q,userTriggeredOnInput:O,collectFonts:ce,doc:_e,maskAttributeFn:T,maskInputFn:F,maskTextFn:B,keepIframeSrcFn:b,blockSelector:i,unblockSelector:o,slimDOMOptions:xt,dataURLOptions:k,mirror:Pe,iframeManager:ft,stylesheetManager:dt,shadowDomManager:Bn,processedNodeManager:zr,canvasManager:jr,ignoreCSSAttributes:Y,plugins:((we=ne==null?void 0:ne.filter(X=>X.observer))==null?void 0:we.map(X=>({observer:X.observer,options:X.options,callback:Vr=>se({type:$.Plugin,data:{plugin:X.name,payload:Vr}})})))||[]},{})};ft.addLoadListener(_e=>{try{V.push(Oe(_e.contentDocument))}catch(we){console.warn(we)}});const W=()=>{qr(),V.push(Oe(document))};return document.readyState==="interactive"||document.readyState==="complete"?W():(V.push(ge("DOMContentLoaded",()=>{se({type:$.DomContentLoaded,data:{}}),j==="DOMContentLoaded"&&W()})),V.push(ge("load",()=>{se({type:$.Load,data:{}}),j==="load"&&W()},window))),()=>{V.forEach(_e=>_e()),zr.destroy(),Ir=void 0,tS()}}catch(V){console.warn(V)}}function bS(e){if(!Ir)throw new Error("please take full snapshot after start recording");Ir(e)}Ye.mirror=Pe;Ye.takeFullSnapshot=bS;function TS(e,t){try{return e?e(t):new na}catch{return console.warn("Unable to initialize CanvasManager"),new na}}var ra;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(ra||(ra={}));const vS=3,IS=5;function Ci(e){return e>9999999999?e:e*1e3}function us(e){return e>9999999999?e/1e3:e}function Dn(e,t){t.category!=="sentry.transaction"&&(["ui.click","ui.input"].includes(t.category)?e.triggerUserActivity():e.checkAndHandleExpiredSession(),e.addUpdate(()=>(e.throttledAddEvent({type:$.Custom,timestamp:(t.timestamp||0)*1e3,data:{tag:"breadcrumb",payload:Ce(t,10,1e3)}}),t.category==="console")))}const wS="button,a";function Du(e){return e.closest(wS)||e}function Fu(e){const t=Bu(e);return!t||!(t instanceof Element)?t:Du(t)}function Bu(e){return kS(e)?e.target:e}function kS(e){return typeof e=="object"&&!!e&&"target"in e}let tt;function RS(e){return tt||(tt=[],CS()),tt.push(e),()=>{const t=tt?tt.indexOf(e):-1;t>-1&&tt.splice(t,1)}}function CS(){ye(te,"open",function(e){return function(...t){if(tt)try{tt.forEach(n=>n())}catch{}return e.apply(te,t)}})}const MS=new Set([A.Mutation,A.StyleSheetRule,A.StyleDeclaration,A.AdoptedStyleSheet,A.CanvasMutation,A.Selection,A.MediaInteraction]);function xS(e,t,n){e.handleClick(t,n)}class AS{constructor(t,n,r=Dn){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=n.timeout/1e3,this._threshold=n.threshold/1e3,this._scrollTimeout=n.scrollTimeout/1e3,this._replay=t,this._ignoreSelector=n.ignoreSelector,this._addBreadcrumbEvent=r}addListeners(){const t=RS(()=>{this._lastMutation=sa()});this._teardown=()=>{t(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(t,n){if(OS(n,this._ignoreSelector)||!PS(t))return;const r={timestamp:us(t.timestamp),clickBreadcrumb:t,clickCount:0,node:n};this._clicks.some(s=>s.node===r.node&&Math.abs(s.timestamp-r.timestamp)<1)||(this._clicks.push(r),this._clicks.length===1&&this._scheduleCheckClicks())}registerMutation(t=Date.now()){this._lastMutation=us(t)}registerScroll(t=Date.now()){this._lastScroll=us(t)}registerClick(t){const n=Du(t);this._handleMultiClick(n)}_handleMultiClick(t){this._getClicks(t).forEach(n=>{n.clickCount++})}_getClicks(t){return this._clicks.filter(n=>n.node===t)}_checkClicks(){const t=[],n=sa();this._clicks.forEach(r=>{!r.mutationAfter&&this._lastMutation&&(r.mutationAfter=r.timestamp<=this._lastMutation?this._lastMutation-r.timestamp:void 0),!r.scrollAfter&&this._lastScroll&&(r.scrollAfter=r.timestamp<=this._lastScroll?this._lastScroll-r.timestamp:void 0),r.timestamp+this._timeout<=n&&t.push(r)});for(const r of t){const s=this._clicks.indexOf(r);s>-1&&(this._generateBreadcrumbs(r),this._clicks.splice(s,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(t){const n=this._replay,r=t.scrollAfter&&t.scrollAfter<=this._scrollTimeout,s=t.mutationAfter&&t.mutationAfter<=this._threshold,i=!r&&!s,{clickCount:o,clickBreadcrumb:c}=t;if(i){const a=Math.min(t.mutationAfter||this._timeout,this._timeout)*1e3,u=a<this._timeout*1e3?"mutation":"timeout",d={type:"default",message:c.message,timestamp:c.timestamp,category:"ui.slowClickDetected",data:{...c.data,url:te.location.href,route:n.getCurrentRoute(),timeAfterClickMs:a,endReason:u,clickCount:o||1}};this._addBreadcrumbEvent(n,d);return}if(o>1){const a={type:"default",message:c.message,timestamp:c.timestamp,category:"ui.multiClick",data:{...c.data,url:te.location.href,route:n.getCurrentRoute(),clickCount:o,metric:!0}};this._addBreadcrumbEvent(n,a)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=Pn(()=>this._checkClicks(),1e3)}}const NS=["A","BUTTON","INPUT"];function OS(e,t){return!!(!NS.includes(e.tagName)||e.tagName==="INPUT"&&!["submit","button"].includes(e.getAttribute("type")||"")||e.tagName==="A"&&(e.hasAttribute("download")||e.hasAttribute("target")&&e.getAttribute("target")!=="_self")||t&&e.matches(t))}function PS(e){return!!(e.data&&typeof e.data.nodeId=="number"&&e.timestamp)}function sa(){return Date.now()/1e3}function LS(e,t){try{if(!DS(t))return;const{source:n}=t.data;if(MS.has(n)&&e.registerMutation(t.timestamp),n===A.Scroll&&e.registerScroll(t.timestamp),FS(t)){const{type:r,id:s}=t.data,i=Ye.mirror.getNode(s);i instanceof HTMLElement&&r===me.Click&&e.registerClick(i)}}catch{}}function DS(e){return e.type===vS}function FS(e){return e.data.source===A.MouseInteraction}function Be(e){return{timestamp:Date.now()/1e3,type:"default",...e}}var Mi=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Mi||{});const BS=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled","data-sentry-component"]);function $S(e){const t={};!e["data-sentry-component"]&&e["data-sentry-element"]&&(e["data-sentry-component"]=e["data-sentry-element"]);for(const n in e)if(BS.has(n)){let r=n;(n==="data-testid"||n==="data-test-id")&&(r="testId"),t[r]=e[n]}return t}const US=e=>t=>{if(!e.isEnabled())return;const n=HS(t);if(!n)return;const r=t.name==="click",s=r?t.event:void 0;r&&e.clickDetector&&(s!=null&&s.target)&&!s.altKey&&!s.metaKey&&!s.ctrlKey&&!s.shiftKey&&xS(e.clickDetector,n,Fu(t.event)),Dn(e,n)};function $u(e,t){const n=Ye.mirror.getId(e),r=n&&Ye.mirror.getNode(n),s=r&&Ye.mirror.getMeta(r),i=s&&zS(s)?s:null;return{message:t,data:i?{nodeId:n,node:{id:n,tagName:i.tagName,textContent:Array.from(i.childNodes).map(o=>o.type===Mi.Text&&o.textContent).filter(Boolean).map(o=>o.trim()).join(""),attributes:$S(i.attributes)}}:{}}}function HS(e){const{target:t,message:n}=WS(e);return Be({category:`ui.${e.name}`,...$u(t,n)})}function WS(e){const t=e.name==="click";let n,r=null;try{r=t?Fu(e.event):Bu(e.event),n=Ee(r,{maxStringLength:200})||"<unknown>"}catch{n="<unknown>"}return{target:r,message:n}}function zS(e){return e.type===Mi.Element}function jS(e,t){if(!e.isEnabled())return;e.updateUserActivity();const n=qS(t);n&&Dn(e,n)}function qS(e){const{metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i,target:o}=e;if(!o||VS(o)||!i)return null;const c=t||r||s,a=i.length===1;if(!c&&a)return null;const u=Ee(o,{maxStringLength:200})||"<unknown>",d=$u(o,u);return Be({category:"ui.keyDown",message:u,data:{...d.data,metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i}})}function VS(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable}const GS={resource:QS,paint:XS,navigation:JS};function ls(e,t){return({metric:n})=>void t.replayPerformanceEntries.push(e(n))}function YS(e){return e.map(KS).filter(Boolean)}function KS(e){const t=GS[e.entryType];return t?t(e):null}function Kt(e){return((he()||te.performance.timeOrigin)+e)/1e3}function XS(e){const{duration:t,entryType:n,name:r,startTime:s}=e,i=Kt(s);return{type:n,name:r,start:i,end:i+t,data:void 0}}function JS(e){const{entryType:t,name:n,decodedBodySize:r,duration:s,domComplete:i,encodedBodySize:o,domContentLoadedEventStart:c,domContentLoadedEventEnd:a,domInteractive:u,loadEventStart:d,loadEventEnd:l,redirectCount:f,startTime:p,transferSize:h,type:g}=e;return s===0?null:{type:`${t}.${g}`,start:Kt(p),end:Kt(i),name:n,data:{size:h,decodedBodySize:r,encodedBodySize:o,duration:s,domInteractive:u,domContentLoadedEventStart:c,domContentLoadedEventEnd:a,loadEventStart:d,loadEventEnd:l,domComplete:i,redirectCount:f}}}function QS(e){const{entryType:t,initiatorType:n,name:r,responseEnd:s,startTime:i,decodedBodySize:o,encodedBodySize:c,responseStatus:a,transferSize:u}=e;return["fetch","xmlhttprequest"].includes(n)?null:{type:`${t}.${n}`,start:Kt(i),end:Kt(s),name:r,data:{size:u,statusCode:a,decodedBodySize:o,encodedBodySize:c}}}function ZS(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.element?[t.element]:void 0;return xi(e,"largest-contentful-paint",n)}function ey(e){return e.sources!==void 0}function ty(e){const t=[],n=[];for(const r of e.entries)if(ey(r)){const s=[];for(const i of r.sources)if(i.node){n.push(i.node);const o=Ye.mirror.getId(i.node);o&&s.push(o)}t.push({value:r.value,nodeIds:s.length?s:void 0})}return xi(e,"cumulative-layout-shift",n,t)}function ny(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.target?[t.target]:void 0;return xi(e,"interaction-to-next-paint",n)}function xi(e,t,n,r){const s=e.value,i=e.rating,o=Kt(s);return{type:"web-vital",name:t,start:o,end:o,data:{value:s,size:s,rating:i,nodeIds:n?n.map(c=>Ye.mirror.getId(c)):void 0,attributions:r}}}function ry(e){function t(s){e.performanceEntries.includes(s)||e.performanceEntries.push(s)}function n({entries:s}){s.forEach(t)}const r=[];return["navigation","paint","resource"].forEach(s=>{r.push(kt(s,n))}),r.push(gi(ls(ZS,e)),mi(ls(ty,e)),eu(ls(ny,e))),()=>{r.forEach(s=>s())}}const C=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,sy='var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<<t[s-1];var a=new r(i[30]);for(s=1;s<30;++s)for(var o=i[s];o<i[s+1];++o)a[o]=o-i[s]<<5|s;return{b:i,r:a}},o=a(e,2),h=o.b,f=o.r;h[28]=258,f[258]=28;for(var l=a(i,0).r,u=new n(32768),c=0;c<32768;++c){var v=(43690&c)>>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s<i;++s)t[s]&&++a[t[s]-1];var o,h=new n(r);for(s=1;s<r;++s)h[s]=h[s-1]+a[s-1]<<1;if(e){o=new n(1<<r);var f=15-r;for(s=0;s<i;++s)if(t[s])for(var l=s<<4|t[s],c=r-t[s],v=h[t[s]-1]++<<c,d=v|(1<<c)-1;v<=d;++v)o[u[v]>>f]=l}else for(o=new n(i),s=0;s<i;++s)t[s]&&(o[s]=u[h[t[s]-1]++]>>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;s<r.length;++s)r[s]&&i.push({s:s,f:r[s]});var a=i.length,o=i.slice();if(!a)return{t:F,l:0};if(1==a){var h=new t(i[0].s+1);return h[i[0].s]=1,{t:h,l:1}}i.sort(function(t,n){return t.f-n.f}),i.push({s:-1,f:25001});var f=i[0],l=i[1],u=0,c=1,v=2;for(i[0]={s:-1,f:f.f+l.f,l:f,r:l};c!=a-1;)f=i[i[u].f<i[v].f?u++:v++],l=i[u!=c&&i[u].f<i[v].f?u++:v++],i[c++]={s:-1,f:f.f+l.f,l:f,r:l};var d=o[0].s;for(s=1;s<a;++s)o[s].s>d&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<<y;for(o.sort(function(t,n){return p[n.s]-p[t.s]||t.f-n.f});s<a;++s){var b=o[s].s;if(!(p[b]>e))break;w+=m-(1<<g-p[b]),p[b]=e}for(w>>=y;w>0;){var M=o[s].s;p[M]<e?w-=1<<e-p[M]++-1:++s}for(;s>=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e<n.length;++e)r+=t[e]*n[e];return r},k=function(t,n,r){var e=r.length,i=m(n+2);t[i]=255&e,t[i+1]=e>>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s<e;++s)t[i+s+4]=r[s];return 8*(i+4+e)},U=function(t,r,a,o,h,f,l,u,c,v,m){z(r,m++,a),++h[256];for(var b=x(h,15),M=b.t,E=b.l,A=x(f,15),U=A.t,C=A.l,F=D(M),I=F.c,S=F.n,L=D(U),O=L.c,j=L.n,q=new n(19),B=0;B<I.length;++B)++q[31&I[B]];for(B=0;B<O.length;++B)++q[31&O[B]];for(var G=x(q,7),H=G.t,J=G.l,K=19;K>4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X<W)),m+=2,X<W){N=d(M,E,0),P=M,Q=d(U,C,0),R=U;var Y=d(H,J,0);z(r,m,S-257),z(r,m+5,j-1),z(r,m+10,K-4),m+=14;for(B=0;B<K;++B)z(r,m+3*B,H[s[B]]);m+=3*K;for(var Z=[I,O],$=0;$<2;++$){var tt=Z[$];for(B=0;B<tt.length;++B){var nt=31&tt[B];z(r,m,Y[nt]),m+=H[nt],nt>15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B<u;++B){var rt=o[B];if(rt>255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a<o;++a)i+=e+=r[a];e=(65535&e)+15*(e>>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<<o)-1,_=c.p||new n(32768),x=c.h||new n(z+1),A=Math.ceil(o/3),D=2*A,T=function(t){return(s[t]^s[t+1]<<A^s[t+2]<<D)&z},F=new r(25e3),I=new n(288),S=new n(32),L=0,O=0,j=c.i||0,q=0,B=c.w||0,G=0;j+2<v;++j){var H=T(j),J=32767&j,K=x[H];if(_[J]=K,x[H]=J,B<=j){var N=v-j;if((L>7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$<Z&&s[j+$]==s[j+$-W];++$);if($>Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;P<tt;++P){var rt=j-W+P&32767,et=rt-_[rt]&32767;et>nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j<v;++j)F[q++]=s[j],++I[s[j]];w=U(s,p,g,F,I,S,O,q,G,j-G,w),g||(c.r=7&w|p[w/8|0]<<3,w-=7,c.h=x,c.p=_,c.i=j,c.w=B)}else{for(j=c.w||0;j<v+g;j+=65535){var at=j+65535;at>=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e<n.length;++e)r=I[255&r^n[e]]^r>>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,s=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),a=s.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(s,n),O(s,a-8,r.d()),O(s,a-4,e),s}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){j.prototype.flush.call(this)},t}(),G="undefined"!=typeof TextEncoder&&new TextEncoder,H="undefined"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(G)return G.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;o<e;++o){if(s+5>i.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n<i;n++){const i=t[n];r.set(i,e),e+=i.length}return r}(this._deflatedData);return this._init(),t}_init(){this._hasEvents=!1,this._deflatedData=[],this.deflate=new B,this.deflate.ondata=(t,n)=>{this._deflatedData.push(t)},this.stream=new J((t,n)=>{this.deflate.push(t,n)}),this.stream.push("[")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener("message",function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&"function"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}}),postMessage({id:void 0,method:"init",success:!0,response:void 0});';function iy(){const e=new Blob([sy]);return URL.createObjectURL(e)}const ia=["log","warn","error"],or="[Replay] ";function ds(e,t="info"){it({category:"console",data:{logger:"replay"},level:t,message:`${or}${e}`},{level:t})}function oy(){let e=!1,t=!1;const n={exception:()=>{},infoTick:()=>{},setConfig:r=>{e=!!r.captureExceptions,t=!!r.traceInternals}};return C?(ia.forEach(r=>{n[r]=(...s)=>{m[r](or,...s),t&&ds(s.join(""),Dc(r))}}),n.exception=(r,...s)=>{s.length&&n.error&&n.error(...s),m.error(or,r),e?hc(r,{mechanism:{handled:!0,type:"auto.function.replay.debug"}}):t&&ds(r,"error")},n.infoTick=(...r)=>{m.log(or,...r),t&&setTimeout(()=>ds(r[0]),0)}):ia.forEach(r=>{n[r]=()=>{}}),n}const M=oy();class Ai extends Error{constructor(){super(`Event buffer exceeded maximum size of ${Ti}.`)}}class Uu{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}async addEvent(t){const n=JSON.stringify(t).length;if(this._totalSize+=n,this._totalSize>Ti)throw new Ai;this.events.push(t)}finish(){return new Promise(t=>{const n=this.events;this.clear(),t(JSON.stringify(n))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const t=this.events.map(n=>n.timestamp).sort()[0];return t?Ci(t):null}}class ay{constructor(t){this._worker=t,this._id=0}ensureReady(){return this._ensureReadyPromise?this._ensureReadyPromise:(this._ensureReadyPromise=new Promise((t,n)=>{this._worker.addEventListener("message",({data:r})=>{r.success?t():n()},{once:!0}),this._worker.addEventListener("error",r=>{n(r)},{once:!0})}),this._ensureReadyPromise)}destroy(){C&&M.log("Destroying compression worker"),this._worker.terminate()}postMessage(t,n){const r=this._getAndIncrementId();return new Promise((s,i)=>{const o=({data:c})=>{const a=c;if(a.method===t&&a.id===r){if(this._worker.removeEventListener("message",o),!a.success){C&&M.error("Error in compression worker: ",a.response),i(new Error("Error in compression worker"));return}s(a.response)}};this._worker.addEventListener("message",o),this._worker.postMessage({id:r,method:t,arg:n})})}_getAndIncrementId(){return this._id++}}class cy{constructor(t){this._worker=new ay(t),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(t){const n=Ci(t.timestamp);(!this._earliestTimestamp||n<this._earliestTimestamp)&&(this._earliestTimestamp=n);const r=JSON.stringify(t);return this._totalSize+=r.length,this._totalSize>Ti?Promise.reject(new Ai):this._sendEventToWorker(r)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear").then(null,t=>{C&&M.exception(t,'Sending "clear" message to worker failed',t)})}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(t){return this._worker.postMessage("addEvent",t)}async _finishRequest(){const t=await this._worker.postMessage("finish");return this._earliestTimestamp=null,this._totalSize=0,t}}class uy{constructor(t){this._fallback=new Uu,this._compression=new cy(t),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get waitForCheckout(){return this._used.waitForCheckout}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(t){this._used.hasCheckout=t}set waitForCheckout(t){this._used.waitForCheckout=t}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(t){return this._used.addEvent(t)}async finish(){return await this.ensureWorkerIsLoaded(),this._used.finish()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}async _ensureWorkerIsLoaded(){try{await this._compression.ensureReady()}catch(t){C&&M.exception(t,"Failed to load the compression worker, falling back to simple buffer");return}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){const{events:t,hasCheckout:n,waitForCheckout:r}=this._fallback,s=[];for(const i of t)s.push(this._compression.addEvent(i));this._compression.hasCheckout=n,this._compression.waitForCheckout=r,this._used=this._compression;try{await Promise.all(s),this._fallback.clear()}catch(i){C&&M.exception(i,"Failed to add events when switching buffers.")}}}function ly({useCompression:e,workerUrl:t}){if(e&&window.Worker){const n=dy(t);if(n)return n}return C&&M.log("Using simple buffer"),new Uu}function dy(e){try{const t=e||fy();if(!t)return;C&&M.log(`Using compression worker${e?` from ${e}`:""}`);const n=new Worker(t);return new uy(n)}catch(t){C&&M.exception(t,"Failed to create compression worker")}}function fy(){return typeof __SENTRY_EXCLUDE_REPLAY_WORKER__>"u"||!__SENTRY_EXCLUDE_REPLAY_WORKER__?iy():""}function Ni(){try{return"sessionStorage"in te&&!!te.sessionStorage}catch{return!1}}function py(e){hy(),e.session=void 0}function hy(){if(Ni())try{te.sessionStorage.removeItem(Ei)}catch{}}function Hu(e){return e===void 0?!1:Math.random()<e}function Ur(e){if(Ni())try{te.sessionStorage.setItem(Ei,JSON.stringify(e))}catch{}}function Wu(e){const t=Date.now(),n=e.id||fe(),r=e.started||t,s=e.lastActivity||t,i=e.segmentId||0,o=e.sampled,c=e.previousSessionId,a=e.dirty||!1;return{id:n,started:r,lastActivity:s,segmentId:i,sampled:o,previousSessionId:c,dirty:a}}function my(e,t){return Hu(e)?"session":t?"buffer":!1}function oa({sessionSampleRate:e,allowBuffering:t,stickySession:n=!1},{previousSessionId:r}={}){const s=my(e,t),i=Wu({sampled:s,previousSessionId:r});return n&&Ur(i),i}function gy(){if(!Ni())return null;try{const e=te.sessionStorage.getItem(Ei);if(!e)return null;const t=JSON.parse(e);return C&&M.infoTick("Loading existing session"),Wu(t)}catch{return null}}function $s(e,t,n=+new Date){return e===null||t===void 0||t<0?!0:t===0?!1:e+t<=n}function zu(e,{maxReplayDuration:t,sessionIdleExpire:n,targetTime:r=Date.now()}){return $s(e.started,t,r)||$s(e.lastActivity,n,r)}function ju(e,{sessionIdleExpire:t,maxReplayDuration:n}){return!(!zu(e,{sessionIdleExpire:t,maxReplayDuration:n})||e.sampled==="buffer"&&e.segmentId===0)}function fs({sessionIdleExpire:e,maxReplayDuration:t,previousSessionId:n},r){const s=r.stickySession&&gy();return s?ju(s,{sessionIdleExpire:e,maxReplayDuration:t})?(C&&M.infoTick("Session in sessionStorage is expired, creating new one..."),oa(r,{previousSessionId:s.id})):s:(C&&M.infoTick("Creating new session"),oa(r,{previousSessionId:n}))}function _y(e){return e.type===$.Custom}function Oi(e,t,n){return Vu(e,t)?(qu(e,t,n),!0):!1}function Sy(e,t,n){return Vu(e,t)?qu(e,t,n):Promise.resolve(null)}async function qu(e,t,n){const{eventBuffer:r}=e;if(!r||r.waitForCheckout&&!n)return null;const s=e.recordingMode==="buffer";try{n&&s&&r.clear(),n&&(r.hasCheckout=!0,r.waitForCheckout=!1);const i=e.getOptions(),o=yy(t,i.beforeAddRecordingEvent);return o?await r.addEvent(o):void 0}catch(i){const o=i&&i instanceof Ai,c=o?"addEventSizeExceeded":"addEvent",a=H();if(a){const u=o?"buffer_overflow":"internal_sdk_error";a.recordDroppedEvent(u,"replay")}if(o&&s)return r.clear(),r.waitForCheckout=!0,null;e.handleException(i),await e.stop({reason:c})}}function Vu(e,t){if(!e.eventBuffer||e.isPaused()||!e.isEnabled())return!1;const n=Ci(t.timestamp);return n+e.timeouts.sessionIdlePause<Date.now()?!1:n>e.getContext().initialTimestamp+e.getOptions().maxReplayDuration?(C&&M.infoTick(`Skipping event with timestamp ${n} because it is after maxReplayDuration`),!1):!0}function yy(e,t){try{if(typeof t=="function"&&_y(e))return t(e)}catch(n){return C&&M.exception(n,"An error occurred in the `beforeAddRecordingEvent` callback, skipping the event..."),null}return e}function Pi(e){return!e.type}function Us(e){return e.type==="transaction"}function Ey(e){return e.type==="replay_event"}function aa(e){return e.type==="feedback"}function by(e){return(t,n)=>{if(!e.isEnabled()||!Pi(t)&&!Us(t))return;const r=n.statusCode;if(!(!r||r<200||r>=300)){if(Us(t)){Ty(e,t);return}vy(e,t)}}}function Ty(e,t){var r,s;const n=e.getContext();(s=(r=t.contexts)==null?void 0:r.trace)!=null&&s.trace_id&&n.traceIds.size<100&&n.traceIds.add(t.contexts.trace.trace_id)}function vy(e,t){const n=e.getContext();if(t.event_id&&n.errorIds.size<100&&n.errorIds.add(t.event_id),e.recordingMode!=="buffer"||!t.tags||!t.tags.replayId)return;const{beforeErrorSampling:r}=e.getOptions();typeof r=="function"&&!r(t)||Pn(async()=>{try{await e.sendBufferedReplayOrFlush()}catch(s){e.handleException(s)}})}function Iy(e){return t=>{!e.isEnabled()||!Pi(t)||wy(e,t)}}function wy(e,t){var r,s,i;const n=(i=(s=(r=t.exception)==null?void 0:r.values)==null?void 0:s[0])==null?void 0:i.value;if(typeof n=="string"&&(n.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/)||n.match(/(does not match server-rendered HTML|Hydration failed because)/i))){const o=Be({category:"replay.hydrate-error",data:{url:en()}});Dn(e,o)}}function ky(e){const t=H();t&&t.on("beforeAddBreadcrumb",n=>Ry(e,n))}function Ry(e,t){if(!e.isEnabled()||!Gu(t))return;const n=Cy(t);n&&Dn(e,n)}function Cy(e){return!Gu(e)||["fetch","xhr","sentry.event","sentry.transaction"].includes(e.category)||e.category.startsWith("ui.")?null:e.category==="console"?My(e):Be(e)}function My(e){var s;const t=(s=e.data)==null?void 0:s.arguments;if(!Array.isArray(t)||t.length===0)return Be(e);let n=!1;const r=t.map(i=>{if(!i)return i;if(typeof i=="string")return i.length>Vn?(n=!0,`${i.slice(0,Vn)}…`):i;if(typeof i=="object")try{const o=Ce(i,7);return JSON.stringify(o).length>Vn?(n=!0,`${JSON.stringify(o,null,2).slice(0,Vn)}…`):o}catch{}return i});return Be({...e,data:{...e.data,arguments:r,...n?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}function Gu(e){return!!e.category}function xy(e,t){var n,r,s;return e.type||!((r=(n=e.exception)==null?void 0:n.values)!=null&&r.length)?!1:!!((s=t.originalException)!=null&&s.__rrweb__)}function Yu(){const e=G().getPropagationContext().dsc;e&&delete e.replay_id;const t=pe();if(t){const n=He(t);delete n.replay_id}}function Ay(e,t){e.triggerUserActivity(),e.addUpdate(()=>t.timestamp?(e.throttledAddEvent({type:$.Custom,timestamp:t.timestamp*1e3,data:{tag:"breadcrumb",payload:{timestamp:t.timestamp,type:"default",category:"sentry.feedback",data:{feedbackId:t.event_id}}}}),!1):!0)}function Ny(e,t){return e.recordingMode!=="buffer"||t.message===bi||!t.exception||t.type?!1:Hu(e.getOptions().errorSampleRate)}function Oy(e){return Object.assign((t,n)=>{var o;if(!e.isEnabled()||e.isPaused())return t;if(Ey(t))return delete t.breadcrumbs,t;if(!Pi(t)&&!Us(t)&&!aa(t))return t;if(!e.checkAndHandleExpiredSession())return Yu(),t;if(aa(t))return e.flush(),t.contexts.feedback.replay_id=e.getSessionId(),Ay(e,t),t;if(xy(t,n)&&!e.getOptions()._experiments.captureExceptions)return C&&M.log("Ignoring error from rrweb internals",t),null;const s=Ny(e,t);if((s||e.recordingMode==="session")&&(t.tags={...t.tags,replayId:e.getSessionId()}),s&&e.recordingMode==="buffer"&&((o=e.session)==null?void 0:o.sampled)==="buffer"){const c=e.session;c.dirty=!0,e.getOptions().stickySession&&Ur(c)}return t},{id:"Replay"})}function Hr(e,t){return t.map(({type:n,start:r,end:s,name:i,data:o})=>{const c=e.throttledAddEvent({type:$.Custom,timestamp:r,data:{tag:"performanceSpan",payload:{op:n,description:i,startTimestamp:r,endTimestamp:s,data:o}}});return typeof c=="string"?Promise.resolve(null):c})}function Py(e){const{from:t,to:n}=e,r=Date.now()/1e3;return{type:"navigation.push",start:r,end:r,name:n,data:{previous:t}}}function Ly(e){return t=>{if(!e.isEnabled())return;const n=Py(t);n!==null&&(e.getContext().urls.push(n.name),e.triggerUserActivity(),e.addUpdate(()=>(Hr(e,[n]),!1)))}}function Dy(e,t){return C&&e.getOptions()._experiments.traceInternals?!1:gp(t,H())}function Ku(e,t){e.isEnabled()&&t!==null&&(Dy(e,t.name)||e.addUpdate(()=>(Hr(e,[t]),!0)))}function Wr(e){if(!e)return;const t=new TextEncoder;try{if(typeof e=="string")return t.encode(e).length;if(e instanceof URLSearchParams)return t.encode(e.toString()).length;if(e instanceof FormData){const n=cu(e);return t.encode(n).length}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength}catch{}}function Xu(e){if(!e)return;const t=parseInt(e,10);return isNaN(t)?void 0:t}function wr(e,t){if(!e)return{headers:{},size:void 0,_meta:{warnings:[t]}};const n={...e._meta},r=n.warnings||[];return n.warnings=[...r,t],e._meta=n,e}function Ju(e,t){if(!t)return null;const{startTimestamp:n,endTimestamp:r,url:s,method:i,statusCode:o,request:c,response:a}=t;return{type:e,start:n/1e3,end:r/1e3,name:s,data:{method:i,statusCode:o,request:c,response:a}}}function bn(e){return{headers:{},size:e,_meta:{warnings:["URL_SKIPPED"]}}}function nt(e,t,n){if(!t&&Object.keys(e).length===0)return;if(!t)return{headers:e};if(!n)return{headers:e,size:t};const r={headers:e,size:t},{body:s,warnings:i}=Fy(n);return r.body=s,i!=null&&i.length&&(r._meta={warnings:i}),r}function Hs(e,t){return Object.entries(e).reduce((n,[r,s])=>{const i=r.toLowerCase();return t.includes(i)&&e[r]&&(n[i]=s),n},{})}function Fy(e){if(!e||typeof e!="string")return{body:e};const t=e.length>Ho,n=By(e);if(t){const r=e.slice(0,Ho);return n?{body:r,warnings:["MAYBE_JSON_TRUNCATED"]}:{body:`${r}…`,warnings:["TEXT_TRUNCATED"]}}if(n)try{return{body:JSON.parse(e)}}catch{}return{body:e}}function By(e){const t=e[0],n=e[e.length-1];return t==="["&&n==="]"||t==="{"&&n==="}"}function kr(e,t){const n=$y(e);return Ve(n,t)}function $y(e,t=te.document.baseURI){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith(te.location.origin))return e;const n=new URL(e,t);if(n.origin!==new URL(t).origin)return e;const r=n.href;return!e.endsWith("/")&&r.endsWith("/")?r.slice(0,-1):r}async function Uy(e,t,n){try{const r=await Wy(e,t,n),s=Ju("resource.fetch",r);Ku(n.replay,s)}catch(r){C&&M.exception(r,"Failed to capture fetch breadcrumb")}}function Hy(e,t){const{input:n,response:r}=t,s=n?lu(n):void 0,i=Wr(s),o=r?Xu(r.headers.get("content-length")):void 0;i!==void 0&&(e.data.request_body_size=i),o!==void 0&&(e.data.response_body_size=o)}async function Wy(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r}=t,{url:o,method:c,status_code:a=0,request_body_size:u,response_body_size:d}=e.data,l=kr(o,n.networkDetailAllowUrls)&&!kr(o,n.networkDetailDenyUrls),f=l?zy(n,t.input,u):bn(u),p=await jy(l,n,t.response,d);return{startTimestamp:s,endTimestamp:i,url:o,method:c,statusCode:a,request:f,response:p}}function zy({networkCaptureBodies:e,networkRequestHeaders:t},n,r){const s=n?Gy(n,t):{};if(!e)return nt(s,r,void 0);const i=lu(n),[o,c]=uu(i,M),a=nt(s,r,o);return c?wr(a,c):a}async function jy(e,{networkCaptureBodies:t,networkResponseHeaders:n},r,s){if(!e&&s!==void 0)return bn(s);const i=r?Qu(r.headers,n):{};if(!r||!t&&s!==void 0)return nt(i,s,void 0);const[o,c]=await Vy(r),a=qy(o,{networkCaptureBodies:t,responseBodySize:s,captureDetails:e,headers:i});return c?wr(a,c):a}function qy(e,{networkCaptureBodies:t,responseBodySize:n,captureDetails:r,headers:s}){try{const i=e!=null&&e.length&&n===void 0?Wr(e):n;return r?t?nt(s,i,e):nt(s,i,void 0):bn(i)}catch(i){return C&&M.exception(i,"Failed to serialize response body"),nt(s,n,void 0)}}async function Vy(e){const t=Yy(e);if(!t)return[void 0,"BODY_PARSE_ERROR"];try{return[await Ky(t)]}catch(n){return n instanceof Error&&n.message.indexOf("Timeout")>-1?(C&&M.warn("Parsing text body from response timed out"),[void 0,"BODY_PARSE_TIMEOUT"]):(C&&M.exception(n,"Failed to get text body from response"),[void 0,"BODY_PARSE_ERROR"])}}function Qu(e,t){const n={};return t.forEach(r=>{e.get(r)&&(n[r]=e.get(r))}),n}function Gy(e,t){return e.length===1&&typeof e[0]!="string"?ca(e[0],t):e.length===2?ca(e[1],t):{}}function ca(e,t){if(!e)return{};const n=e.headers;return n?n instanceof Headers?Qu(n,t):Array.isArray(n)?{}:Hs(n,t):{}}function Yy(e){try{return e.clone()}catch(t){C&&M.exception(t,"Failed to clone response body")}}function Ky(e){return new Promise((t,n)=>{const r=Pn(()=>n(new Error("Timeout while trying to read response body")),500);Xy(e).then(s=>t(s),s=>n(s)).finally(()=>clearTimeout(r))})}async function Xy(e){return await e.text()}async function Jy(e,t,n){try{const r=Zy(e,t,n),s=Ju("resource.xhr",r);Ku(n.replay,s)}catch(r){C&&M.exception(r,"Failed to capture xhr breadcrumb")}}function Qy(e,t){const{xhr:n,input:r}=t;if(!n)return;const s=Wr(r),i=n.getResponseHeader("content-length")?Xu(n.getResponseHeader("content-length")):nE(n.response,n.responseType);s!==void 0&&(e.data.request_body_size=s),i!==void 0&&(e.data.response_body_size=i)}function Zy(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r,input:o,xhr:c}=t,{url:a,method:u,status_code:d=0,request_body_size:l,response_body_size:f}=e.data;if(!a)return null;if(!c||!kr(a,n.networkDetailAllowUrls)||kr(a,n.networkDetailDenyUrls)){const N=bn(l),S=bn(f);return{startTimestamp:s,endTimestamp:i,url:a,method:u,statusCode:d,request:N,response:S}}const p=c[ht],h=p?Hs(p.request_headers,n.networkRequestHeaders):{},g=Hs(du(c),n.networkResponseHeaders),[_,E]=n.networkCaptureBodies?uu(o,M):[void 0],[T,F]=n.networkCaptureBodies?eE(c):[void 0],B=nt(h,l,_),q=nt(g,f,T);return{startTimestamp:s,endTimestamp:i,url:a,method:u,statusCode:d,request:E?wr(B,E):B,response:F?wr(q,F):q}}function eE(e){const t=[];try{return[e.responseText]}catch(n){t.push(n)}try{return tE(e.response,e.responseType)}catch(n){t.push(n)}return C&&M.warn("Failed to get xhr response body",...t),[void 0]}function tE(e,t){try{if(typeof e=="string")return[e];if(e instanceof Document)return[e.body.outerHTML];if(t==="json"&&e&&typeof e=="object")return[JSON.stringify(e)];if(!e)return[void 0]}catch(n){return C&&M.exception(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return C&&M.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function nE(e,t){try{const n=t==="json"&&e&&typeof e=="object"?JSON.stringify(e):e;return Wr(n)}catch{return}}function rE(e){const t=H();try{const{networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o}=e.getOptions(),c={replay:e,networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o};t&&t.on("beforeAddBreadcrumb",(a,u)=>sE(c,a,u))}catch{}}function sE(e,t,n){if(t.data)try{iE(t)&&aE(n)&&(Qy(t,n),Jy(t,n,e)),oE(t)&&cE(n)&&(Hy(t,n),Uy(t,n,e))}catch(r){C&&M.exception(r,"Error when enriching network breadcrumb")}}function iE(e){return e.category==="xhr"}function oE(e){return e.category==="fetch"}function aE(e){return e==null?void 0:e.xhr}function cE(e){return e==null?void 0:e.response}function uE(e){const t=H();ou(US(e)),Dr(Ly(e)),ky(e),rE(e);const n=Oy(e);xf(n),t&&(t.on("beforeSendEvent",Iy(e)),t.on("afterSendEvent",by(e)),t.on("createDsc",r=>{const s=e.getSessionId();s&&e.isEnabled()&&e.recordingMode==="session"&&e.checkAndHandleExpiredSession()&&(r.replay_id=s)}),t.on("spanStart",r=>{e.lastActiveSpan=r}),t.on("spanEnd",r=>{e.lastActiveSpan=r}),t.on("beforeSendFeedback",async(r,s)=>{var o;const i=e.getSessionId();s!=null&&s.includeReplay&&e.isEnabled()&&i&&((o=r.contexts)!=null&&o.feedback)&&(r.contexts.feedback.source==="api"&&await e.sendBufferedReplayOrFlush(),r.contexts.feedback.replay_id=i)}),t.on("openFeedbackWidget",async()=>{await e.sendBufferedReplayOrFlush()}))}async function lE(e){try{return Promise.all(Hr(e,[dE(te.performance.memory)]))}catch{return[]}}function dE(e){const{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}=e,s=Date.now()/1e3;return{type:"memory",name:"memory",start:s,end:s,data:{memory:{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}}}}function fE(e,t,n){return Tp(e,t,{...n,setTimeoutImpl:Pn})}const Re=L.navigator;function pE(){return/iPhone|iPad|iPod/i.test((Re==null?void 0:Re.userAgent)??"")||/Macintosh/i.test((Re==null?void 0:Re.userAgent)??"")&&(Re!=null&&Re.maxTouchPoints)&&(Re==null?void 0:Re.maxTouchPoints)>1?{sampling:{mousemove:!1}}:{}}function hE(e){let t=!1;return(n,r)=>{if(!e.checkAndHandleExpiredSession()){C&&M.warn("Received replay event after session expired.");return}const s=r||!t;t=!0,e.clickDetector&&LS(e.clickDetector,n),e.addUpdate(()=>{if(e.recordingMode==="buffer"&&s&&e.setInitialState(),!Oi(e,n,s))return!0;if(!s)return!1;const i=e.session;if(gE(e,s),e.recordingMode==="buffer"&&i&&e.eventBuffer&&!i.dirty){const o=e.eventBuffer.getEarliestTimestamp();o&&(C&&M.log(`Updating session start time to earliest event in buffer to ${new Date(o)}`),i.started=o,e.getOptions().stickySession&&Ur(i))}return i!=null&&i.previousSessionId||e.recordingMode==="session"&&e.flush(),!0})}}function mE(e){const t=e.getOptions();return{type:$.Custom,timestamp:Date.now(),data:{tag:"options",payload:{shouldRecordCanvas:e.isRecordingCanvas(),sessionSampleRate:t.sessionSampleRate,errorSampleRate:t.errorSampleRate,useCompressionOption:t.useCompression,blockAllMedia:t.blockAllMedia,maskAllText:t.maskAllText,maskAllInputs:t.maskAllInputs,useCompression:e.eventBuffer?e.eventBuffer.type==="worker":!1,networkDetailHasUrls:t.networkDetailAllowUrls.length>0,networkCaptureBodies:t.networkCaptureBodies,networkRequestHasHeaders:t.networkRequestHeaders.length>0,networkResponseHasHeaders:t.networkResponseHeaders.length>0}}}}function gE(e,t){!t||!e.session||e.session.segmentId!==0||Oi(e,mE(e),!1)}function _E(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function SE(e,t,n,r){return Qe(oc(e,Ar(e),r,n),[[{type:"replay_event"},e],[{type:"replay_recording",length:typeof t=="string"?new TextEncoder().encode(t).length:t.length},t]])}function yE({recordingData:e,headers:t}){let n;const r=`${JSON.stringify(t)}
24
- `;if(typeof e=="string")n=`${r}${e}`;else{const i=new TextEncoder().encode(r);n=new Uint8Array(i.length+e.length),n.set(i),n.set(e,i.length)}return n}async function EE({client:e,scope:t,replayId:n,event:r}){const s=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:n,integrations:s};e.emit("preprocessEvent",r,i);const o=await pc(e.getOptions(),r,i,t,e,De());if(!o)return null;e.emit("postprocessEvent",o,i),o.platform=o.platform||"javascript";const c=e.getSdkMetadata(),{name:a,version:u,settings:d}=(c==null?void 0:c.sdk)||{};return o.sdk={...o.sdk,name:a||"sentry.javascript.unknown",version:u||"0.0.0",settings:d},o}async function bE({recordingData:e,replayId:t,segmentId:n,eventContext:r,timestamp:s,session:i}){const o=yE({recordingData:e,headers:{segment_id:n}}),{urls:c,errorIds:a,traceIds:u,initialTimestamp:d}=r,l=H(),f=G(),p=l==null?void 0:l.getTransport(),h=l==null?void 0:l.getDsn();if(!l||!p||!h||!i.sampled)return Promise.resolve({});const g={type:Jg,replay_start_timestamp:d/1e3,timestamp:s/1e3,error_ids:a,trace_ids:u,urls:c,replay_id:t,segment_id:n,replay_type:i.sampled},_=await EE({scope:f,client:l,replayId:t,event:g});if(!_)return l.recordDroppedEvent("event_processor","replay"),C&&M.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete _.sdkProcessingMetadata;const E=SE(_,o,h,l.getOptions().tunnel);let T;try{T=await p.send(E)}catch(B){const q=new Error(bi);try{q.cause=B}catch{}throw q}if(typeof T.statusCode=="number"&&(T.statusCode<200||T.statusCode>=300))throw new Zu(T.statusCode);const F=Nc({},T);if(Ac(F,"replay"))throw new Li(F);return T}class Zu extends Error{constructor(t){super(`Transport returned status code ${t}`)}}class Li extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}}async function el(e,t={count:0,interval:r_}){const{recordingData:n,onError:r}=e;if(n.length)try{return await bE(e),!0}catch(s){if(s instanceof Zu||s instanceof Li)throw s;if(gc("Replays",{_retryCount:t.count}),r&&r(s),t.count>=s_){const i=new Error(`${bi} - max retries exceeded`);try{i.cause=s}catch{}throw i}return t.interval*=++t.count,new Promise((i,o)=>{Pn(async()=>{try{await el(e,t),i(!0)}catch(c){o(c)}},t.interval)})}}const tl="__THROTTLED",TE="__SKIPPED";function vE(e,t,n){const r=new Map,s=c=>{const a=c-n;r.forEach((u,d)=>{d<a&&r.delete(d)})},i=()=>[...r.values()].reduce((c,a)=>c+a,0);let o=!1;return(...c)=>{const a=Math.floor(Date.now()/1e3);if(s(a),i()>=t){const d=o;return o=!0,d?TE:tl}o=!1;const u=r.get(a)||0;return r.set(a,u+1),e(...c)}}class IE{constructor({options:t,recordingOptions:n}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:Qg,sessionIdleExpire:Zg},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=n,this._options=t,this._debouncedFlush=fE(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=vE((o,c)=>Sy(this,o,c),300,5);const{slowClickTimeout:r,slowClickIgnoreSelectors:s}=this.getOptions(),i=r?{threshold:Math.min(i_,r),timeout:r,scrollTimeout:o_,ignoreSelector:s?s.join(","):""}:void 0;if(i&&(this.clickDetector=new AS(this,i)),C){const o=t._experiments;M.setConfig({captureExceptions:!!o.captureExceptions,traceInternals:!!o.traceInternals})}this._handleVisibilityChange=()=>{te.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const o=Be({category:"ui.blur"});this._doChangeToBackgroundTasks(o)},this._handleWindowFocus=()=>{const o=Be({category:"ui.focus"});this._doChangeToForegroundTasks(o)},this._handleKeyboardEvent=o=>{jS(this,o)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){C&&M.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){const{errorSampleRate:n,sessionSampleRate:r}=this._options,s=n<=0&&r<=0;if(this._requiresManualStart=s,!s){if(this._initializeSessionForSampling(t),!this.session){C&&M.exception(new Error("Unable to initialize and create session"));return}this.session.sampled!==!1&&(this.recordingMode=this.session.sampled==="buffer"&&this.session.segmentId===0?"buffer":"session",C&&M.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){C&&M.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){C&&M.log("Buffering is in progress, call `flush()` to save the replay");return}C&&M.infoTick("Starting replay in session mode"),this._updateUserActivity();const t=fs({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=t,this.recordingMode="session",this._initializeRecording()}startBuffering(){if(this._isEnabled){C&&M.log("Buffering is in progress, call `flush()` to save the replay");return}C&&M.infoTick("Starting replay in buffer mode");const t=fs({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=t,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{const t=this._canvas;this._stopRecording=Ye({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:n_}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:hE(this),...pE(),onMutation:this._onMutationHandler.bind(this),...t?{recordCanvas:t.recordCanvas,getCanvasManager:t.getCanvasManager,sampling:t.sampling,dataURLOptions:t.dataURLOptions}:{}})}catch(t){this.handleException(t)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(t){return this.handleException(t),!1}}async stop({forceFlush:t=!1,reason:n}={}){var r;if(this._isEnabled){this._isEnabled=!1,this.recordingMode="buffer";try{C&&M.log(`Stopping Replay${n?` triggered by ${n}`:""}`),Yu(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),(r=this.eventBuffer)==null||r.destroy(),this.eventBuffer=null,py(this)}catch(s){this.handleException(s)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),C&&M.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),C&&M.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();const n=Date.now();C&&M.log("Converting buffer to session"),await this.flushImmediate();const r=this.stopRecording();!t||!r||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(n),this._updateSessionActivity(n),this._maybeSaveSession()),this.startRecording())}addUpdate(t){const n=t();this.recordingMode==="buffer"||!this._isEnabled||n!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._checkSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return this.recordingMode==="buffer"?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(t){var n,r;if(!(t&&((n=this.session)==null?void 0:n.sampled)===!1))return(r=this.session)==null?void 0:r.id}checkAndHandleExpiredSession(){if(this._lastActivity&&$s(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){const t=`${te.location.pathname}${te.location.hash}${te.location.search}`,n=`${te.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=n,this._context.initialTimestamp=Date.now(),this._context.urls.push(n)}throttledAddEvent(t,n){const r=this._throttledAddEvent(t,n);if(r===tl){const s=Be({category:"replay.throttled"});this.addUpdate(()=>!Oi(this,{type:IS,timestamp:s.timestamp||0,data:{tag:"breadcrumb",payload:s,metric:!0}}))}return r}getCurrentRoute(){const t=this.lastActiveSpan||pe(),n=t&&le(t),s=(n&&U(n).data||{})[xe];if(!(!n||!s||!["route","custom"].includes(s)))return U(n).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=ly({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(t){const n=this._options.errorSampleRate>0,r=fs({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:n});this.session=r}_checkSession(){if(!this.session)return!1;const t=this.session;return ju(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(t.id))}_addListeners(){try{te.document.addEventListener("visibilitychange",this._handleVisibilityChange),te.addEventListener("blur",this._handleWindowBlur),te.addEventListener("focus",this._handleWindowFocus),te.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(uE(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=ry(this)}_removeListeners(){try{te.document.removeEventListener("visibilitychange",this._handleVisibilityChange),te.removeEventListener("blur",this._handleWindowBlur),te.removeEventListener("focus",this._handleWindowFocus),te.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){!this.session||zu(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(t&&this._createCustomBreadcrumb(t),this.conditionalFlush())}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){C&&M.log("Document has become active, but session has expired");return}t&&this._createCustomBreadcrumb(t)}_updateUserActivity(t=Date.now()){this._lastActivity=t}_updateSessionActivity(t=Date.now()){this.session&&(this.session.lastActivity=t,this._maybeSaveSession())}_createCustomBreadcrumb(t){this.addUpdate(()=>{this.throttledAddEvent({type:$.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=YS(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const n=this._context.initialTimestamp/1e3;t=t.filter(r=>r.start>=n)}return Promise.all(Hr(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:t,eventBuffer:n}=this;if(!t||!n||this._requiresManualStart||t.segmentId)return;const r=n.getEarliestTimestamp();r&&r<this._context.initialTimestamp&&(this._context.initialTimestamp=r)}_popEventContext(){const t={initialTimestamp:this._context.initialTimestamp,initialUrl:this._context.initialUrl,errorIds:Array.from(this._context.errorIds),traceIds:Array.from(this._context.traceIds),urls:this._context.urls};return this._clearContext(),t}async _runFlush(){var n;const t=this.getSessionId();if(!this.session||!this.eventBuffer||!t){C&&M.error("No session or eventBuffer found to flush.");return}if(await this._addPerformanceEntries(),!!((n=this.eventBuffer)!=null&&n.hasEvents)&&(await lE(this),!!this.eventBuffer&&t===this.getSessionId()))try{this._updateInitialTimestampFromEventBuffer();const r=Date.now();if(r-this._context.initialTimestamp>this._options.maxReplayDuration+3e4)throw new Error("Session is too long, not sending replay");const s=this._popEventContext(),i=this.session.segmentId++;this._maybeSaveSession();const o=await this.eventBuffer.finish();await el({replayId:t,recordingData:o,segmentId:i,eventContext:s,session:this.session,timestamp:r,onError:c=>this.handleException(c)})}catch(r){this.handleException(r),this.stop({reason:"sendReplay"});const s=H();if(s){const i=r instanceof Li?"ratelimit_backoff":"send_error";s.recordDroppedEvent(i,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){C&&M.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;const n=this.session.started,s=Date.now()-n;this._debouncedFlush.cancel();const i=s<this._options.minReplayDuration,o=s>this._options.maxReplayDuration+5e3;if(i||o){C&&M.log(`Session duration (${Math.floor(s/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}const c=this.eventBuffer;c&&this.session.segmentId===0&&!c.hasCheckout&&C&&M.log("Flushing initial segment without checkout.");const a=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(u){this.handleException(u)}finally{this._flushLock=void 0,a&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&Ur(this.session)}_onMutationHandler(t){const{ignoreMutations:n}=this._options._experiments;if(n!=null&&n.length&&t.some(c=>{const a=_E(c.target),u=n.join(",");return a==null?void 0:a.matches(u)}))return!1;const r=t.length,s=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,o=s&&r>s;if(r>i||o){const c=Be({category:"replay.mutations",data:{count:r,limit:o}});this._createCustomBreadcrumb(c)}return o?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}}function cn(e,t){return[...e,...t].join(",")}function wE({mask:e,unmask:t,block:n,unblock:r,ignore:s}){const i=["base","iframe[srcdoc]:not([src])"],o=cn(e,[".sentry-mask","[data-sentry-mask]"]),c=cn(t,[]);return{maskTextSelector:o,unmaskTextSelector:c,blockSelector:cn(n,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:cn(r,[]),ignoreSelector:cn(s,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function kE({el:e,key:t,maskAttributes:n,maskAllText:r,privacyOptions:s,value:i}){return!r||s.unmaskTextSelector&&e.matches(s.unmaskTextSelector)?i:n.includes(t)||t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"")?i.replace(/[\S]/g,"*"):i}const ua='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',RE=["content-length","content-type","accept"];let la=!1;const CE=e=>new ME(e);class ME{constructor({flushMinDelay:t=e_,flushMaxDelay:n=t_,minReplayDuration:r=a_,maxReplayDuration:s=Wo,stickySession:i=!0,useCompression:o=!0,workerUrl:c,_experiments:a={},maskAllText:u=!0,maskAllInputs:d=!0,blockAllMedia:l=!0,mutationBreadcrumbLimit:f=750,mutationLimit:p=1e4,slowClickTimeout:h=7e3,slowClickIgnoreSelectors:g=[],networkDetailAllowUrls:_=[],networkDetailDenyUrls:E=[],networkCaptureBodies:T=!0,networkRequestHeaders:F=[],networkResponseHeaders:B=[],mask:q=[],maskAttributes:N=["title","placeholder","aria-label"],unmask:S=[],block:k=[],unblock:J=[],ignore:y=[],maskFn:w,beforeAddRecordingEvent:P,beforeErrorSampling:j,onError:O}={}){this.name="Replay";const ce=wE({mask:q,unmask:S,block:k,unblock:J,ignore:y});if(this._recordingOptions={maskAllInputs:d,maskAllText:u,maskInputOptions:{password:!0},maskTextFn:w,maskInputFn:w,maskAttributeFn:(Q,ne,b)=>kE({maskAttributes:N,maskAllText:u,privacyOptions:ce,key:Q,value:ne,el:b}),...ce,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:Q=>{try{Q.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!a.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:n,minReplayDuration:Math.min(r,c_),maxReplayDuration:Math.min(s,Wo),stickySession:i,useCompression:o,workerUrl:c,blockAllMedia:l,maskAllInputs:d,maskAllText:u,mutationBreadcrumbLimit:f,mutationLimit:p,slowClickTimeout:h,slowClickIgnoreSelectors:g,networkDetailAllowUrls:_,networkDetailDenyUrls:E,networkCaptureBodies:T,networkRequestHeaders:da(F),networkResponseHeaders:da(B),beforeAddRecordingEvent:P,beforeErrorSampling:j,onError:O,_experiments:a},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${ua}`:ua,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&Is())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return la}set _isInitialized(t){la=t}afterAllSetup(t){!Is()||this._replay||(this._setup(t),this._initialize(t))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:this._replay.recordingMode==="session"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){var n;if((n=this._replay)!=null&&n.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){var t;if((t=this._replay)!=null&&t.isEnabled())return this._replay.recordingMode}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){const n=xE(this._initialOptions,t);this._replay=new IE({options:n,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{const n=t.getIntegrationByName("ReplayCanvas");if(!n)return;this._replay._canvas=n.getOptions()}catch{}}}function xE(e,t){const n=t.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...e},s=It(n.replaysSessionSampleRate),i=It(n.replaysOnErrorSampleRate);return s==null&&i==null&&at(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),s!=null&&(r.sessionSampleRate=s),i!=null&&(r.errorSampleRate=i),r}function da(e){return[...RE,...e.map(t=>t.toLowerCase())]}function AE(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function nl(e){try{return new URL(e,D.location.origin).href}catch{return}}function NE(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function rl(e){try{return new Headers(e)}catch{return}}const fa=new WeakMap,ps=new Map,sl={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function OE(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:i,enableHTTPTimings:o,tracePropagationTargets:c,onRequestSpanStart:a,onRequestSpanEnd:u}={...sl,...t},d=typeof i=="function"?i:h=>!0,l=h=>PE(h,c),f={},p=e.getOptions().propagateTraceparent;n&&(e.addEventProcessor(h=>(h.type==="transaction"&&h.spans&&h.spans.forEach(g=>{if(g.op==="http.client"){const _=ps.get(g.span_id);_&&(g.timestamp=_/1e3,ps.delete(g.span_id))}}),h)),s&&ch(h=>{if(h.response){const g=fa.get(h.response);g&&h.endTimestamp&&ps.set(g,h.endTimestamp)}}),Uc(h=>{const g=Vp(h,d,l,f,{propagateTraceparent:p,onRequestSpanEnd:u});if(h.response&&h.fetchData.__span&&fa.set(h.response,h.fetchData.__span),g){const _=nl(h.fetchData.url),E=_?Et(_).host:void 0;g.setAttributes({"http.url":_,"server.address":E}),o&&pa(g),a==null||a(g,{headers:h.headers})}})),r&&au(h=>{var _;const g=LE(h,d,l,f,p,u);g&&(o&&pa(g),a==null||a(g,{headers:rl((_=h.xhr.__sentry_xhr_v3__)==null?void 0:_.request_headers)}))})}function pa(e){const{url:t}=U(e).data;if(!t||typeof t!="string")return;const n=kt("resource",({entries:r})=>{r.forEach(s=>{NE(s)&&s.name.endsWith(t)&&(e.setAttributes(iu(s)),setTimeout(n))})})}function PE(e,t){const n=en();if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const i=r.origin===s;return t?Ve(r.toString(),t)||i&&Ve(r.pathname,t):i}else{const r=!!e.match(/^\/(?!\/)/);return t?Ve(e,t):r}}function LE(e,t,n,r,s,i){const o=e.xhr,c=o==null?void 0:o[ht];if(!o||o.__sentry_own_request__||!c)return;const{url:a,method:u}=c,d=Ne()&&t(a);if(e.endTimestamp&&d){const E=o.__sentry_xhr_span_id__;if(!E)return;const T=r[E];T&&c.status_code!==void 0&&(ja(T,c.status_code),T.end(),i==null||i(T,{headers:rl(du(o)),error:e.error}),delete r[E]);return}const l=nl(a),f=Et(l||a),p=mp(a),h=!!pe(),g=d&&h?rn({name:`${u} ${p}`,attributes:{url:a,type:"xhr","http.method":u,"http.url":l,"server.address":f==null?void 0:f.host,[ae]:"auto.http.browser",[Ue]:"http.client",...(f==null?void 0:f.search)&&{"http.query":f==null?void 0:f.search},...(f==null?void 0:f.hash)&&{"http.fragment":f==null?void 0:f.hash}}}):new st;o.__sentry_xhr_span_id__=g.spanContext().spanId,r[o.__sentry_xhr_span_id__]=g,n(a)&&DE(o,Ne()&&h?g:void 0,s);const _=H();return _&&_.emit("beforeOutgoingRequestSpan",g,e),g}function DE(e,t,n){const{"sentry-trace":r,baggage:s,traceparent:i}=Pc({span:t,propagateTraceparent:n});r&&FE(e,r,s,i)}function FE(e,t,n,r){var i;const s=(i=e.__sentry_xhr_v3__)==null?void 0:i.request_headers;if(!(s!=null&&s["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),r&&!(s!=null&&s.traceparent)&&e.setRequestHeader("traceparent",r),n){const o=s==null?void 0:s.baggage;(!o||!AE(o))&&e.setRequestHeader("baggage",n)}}catch{}}function BE(){D.document?D.document.addEventListener("visibilitychange",()=>{const e=pe();if(!e)return;const t=le(e);if(D.document.hidden&&t){const n="cancelled",{op:r,status:s}=U(t);I&&m.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:de,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):I&&m.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const $E=3600,il="sentry_previous_trace",UE="sentry.previous_trace";function HE(e,{linkPreviousTrace:t,consistentTraceSampling:n}){const r=t==="session-storage";let s=r?jE():void 0;e.on("spanStart",o=>{if(le(o)!==o)return;const c=G().getPropagationContext();s=WE(s,o,c),r&&zE(s)});let i=!0;n&&e.on("beforeSampling",o=>{if(!s)return;const c=G(),a=c.getPropagationContext();if(i&&a.parentSpanId){i=!1;return}c.setPropagationContext({...a,dsc:{...a.dsc,sample_rate:String(s.sampleRate),sampled:String(Ws(s.spanContext))},sampleRand:s.sampleRand}),o.parentSampled=Ws(s.spanContext),o.parentSampleRate=s.sampleRate,o.spanAttributes={...o.spanAttributes,[za]:s.sampleRate}})}function WE(e,t,n){const r=U(t);function s(){var c,a;try{return Number((c=n.dsc)==null?void 0:c.sample_rate)??Number((a=r.data)==null?void 0:a[Ks])}catch{return 0}}const i={spanContext:t.spanContext(),startTimestamp:r.start_timestamp,sampleRate:s(),sampleRand:n.sampleRand};if(!e)return i;const o=e.spanContext;return o.traceId===r.trace_id?e:(Date.now()/1e3-e.startTimestamp<=$E&&(I&&m.log(`Adding previous_trace ${o} link to span ${{op:r.op,...t.spanContext()}}`),t.addLink({context:o,attributes:{[td]:"previous_trace"}}),t.setAttribute(UE,`${o.traceId}-${o.spanId}-${Ws(o)?1:0}`)),i)}function zE(e){try{D.sessionStorage.setItem(il,JSON.stringify(e))}catch(t){I&&m.warn("Could not store previous trace in sessionStorage",t)}}function jE(){var e;try{const t=(e=D.sessionStorage)==null?void 0:e.getItem(il);return JSON.parse(t)}catch{return}}function Ws(e){return e.traceFlags===1}const qE="BrowserTracing",VE={...tr,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,enableElementTiming:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...sl},GE=(e={})=>{const t={name:void 0,source:void 0},n=D.document,{enableInp:r,enableElementTiming:s,enableLongTask:i,enableLongAnimationFrame:o,_experiments:{enableInteractions:c,enableStandaloneClsSpans:a,enableStandaloneLcpSpans:u},beforeStartSpan:d,idleTimeout:l,finalTimeout:f,childSpanTimeout:p,markBackgroundSpan:h,traceFetch:g,traceXHR:_,trackFetchStreamPerformance:E,shouldCreateSpanForRequest:T,enableHTTPTimings:F,ignoreResourceSpans:B,ignorePerformanceApiSpans:q,instrumentPageLoad:N,instrumentNavigation:S,detectRedirects:k,linkPreviousTrace:J,consistentTraceSampling:y,enableReportPageLoaded:w,onRequestSpanStart:P,onRequestSpanEnd:j}={...VE,...e};let O,ce,Q;function ne(b,Y,R=!0){const K=Y.op==="pageload",Z=Y.name,re=d?d(Y):Y,be=re.attributes||{};if(Z!==re.name&&(be[xe]="custom",re.attributes=be),!R){const We=Ct();rn({...re,startTime:We}).end(We);return}t.name=re.name,t.source=be[xe];const Te=dc(re,{idleTimeout:l,finalTimeout:f,childSpanTimeout:p,disableAutoFinish:K,beforeSpanEnd:We=>{O==null||O(),_m(We,{recordClsOnPageloadSpan:!a,recordLcpOnPageloadSpan:!u,ignoreResourceSpans:B,ignorePerformanceApiSpans:q}),ma(b,void 0);const At=G(),Fn=At.getPropagationContext();At.setPropagationContext({...Fn,traceId:Te.spanContext().traceId,sampled:lt(Te),dsc:He(We)}),K&&(Q=void 0)},trimIdleSpanEndTimestamp:!w});K&&w&&(Q=Te),ma(b,Te);function xt(){n&&["interactive","complete"].includes(n.readyState)&&b.emit("idleSpanEnableAutoFinish",Te)}K&&!w&&n&&(n.addEventListener("readystatechange",()=>{xt()}),xt())}return{name:qE,setup(b){if(Md(),O=lm({recordClsStandaloneSpans:a||!1,recordLcpStandaloneSpans:u||!1,client:b}),r&&Wm(),s&&Mm(),o&&L.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?fm():i&&dm(),c&&pm(),k&&n){const R=()=>{ce=ie()};addEventListener("click",R,{capture:!0}),addEventListener("keydown",R,{capture:!0,passive:!0})}function Y(){const R=Tn(b);R&&!U(R).timestamp&&(I&&m.log(`[Tracing] Finishing current active span with op: ${U(R).op}`),R.setAttribute(mn,"cancelled"),R.end())}b.on("startNavigationSpan",(R,K)=>{if(H()!==b)return;if(K!=null&&K.isRedirect){I&&m.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),ne(b,{op:"navigation.redirect",...R},!1);return}ce=void 0,Y(),De().setPropagationContext({traceId:Je(),sampleRand:Math.random(),propagationSpanId:Ne()?void 0:Ge()});const Z=G();Z.setPropagationContext({traceId:Je(),sampleRand:Math.random(),propagationSpanId:Ne()?void 0:Ge()}),Z.setSDKProcessingMetadata({normalizedRequest:void 0}),ne(b,{op:"navigation",...R,parentSpan:null,forceTransaction:!0})}),b.on("startPageLoadSpan",(R,K={})=>{if(H()!==b)return;Y();const Z=K.sentryTrace||ha("sentry-trace"),re=K.baggage||ha("baggage"),be=bd(Z,re),Te=G();Te.setPropagationContext(be),Ne()||(Te.getPropagationContext().propagationSpanId=Ge()),Te.setSDKProcessingMetadata({normalizedRequest:ci()}),ne(b,{op:"pageload",...R})}),b.on("endPageloadSpan",()=>{w&&Q&&(Q.setAttribute(mn,"reportPageLoaded"),Q.end())})},afterAllSetup(b){let Y=en();if(J!=="off"&&HE(b,{linkPreviousTrace:J,consistentTraceSampling:y}),D.location){if(N){const R=he();Di(b,{name:D.location.pathname,startTime:R?R/1e3:void 0,attributes:{[xe]:"url",[ae]:"auto.pageload.browser"}})}S&&Dr(({to:R,from:K})=>{if(K===void 0&&(Y==null?void 0:Y.indexOf(R))!==-1){Y=void 0;return}Y=void 0;const Z=ai(R),re=Tn(b),be=re&&k&&XE(re,ce);YE(b,{name:(Z==null?void 0:Z.pathname)||D.location.pathname,attributes:{[xe]:"url",[ae]:"auto.navigation.browser"}},{url:R,isRedirect:be})})}h&&BE(),c&&KE(b,l,f,p,t),r&&qm(),OE(b,{traceFetch:g,traceXHR:_,trackFetchStreamPerformance:E,tracePropagationTargets:b.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:T,enableHTTPTimings:F,onRequestSpanStart:P,onRequestSpanEnd:j})}}};function Di(e,t,n){e.emit("startPageLoadSpan",t,n),G().setTransactionName(t.name);const r=Tn(e);return r&&e.emit("afterStartPageLoadSpan",r),r}function YE(e,t,n){const{url:r,isRedirect:s}=n||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:s}),e.emit("startNavigationSpan",t,{isRedirect:s});const i=G();return i.setTransactionName(t.name),r&&!s&&i.setSDKProcessingMetadata({normalizedRequest:{...ci(),url:r}}),Tn(e)}function ha(e){const t=D.document,n=t==null?void 0:t.querySelector(`meta[name=${e}]`);return(n==null?void 0:n.getAttribute("content"))||void 0}function KE(e,t,n,r,s){const i=D.document;let o;const c=()=>{const a="ui.action.click",u=Tn(e);if(u){const d=U(u).op;if(["navigation","pageload"].includes(d)){I&&m.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`);return}}if(o&&(o.setAttribute(mn,"interactionInterrupted"),o.end(),o=void 0),!s.name){I&&m.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}o=dc({name:s.name,op:a,attributes:{[xe]:s.source||"url"}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})};i&&addEventListener("click",c,{capture:!0})}const ol="_sentry_idleSpan";function Tn(e){return e[ol]}function ma(e,t){Ie(e,ol,t)}const ga=1.5;function XE(e,t){const n=U(e),r=Ct(),s=n.start_timestamp;return!(r-s>ga||t&&r-t<=ga)}function Xt(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function JE(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const r=Xt(n);return s=>r.then(i=>s(i.transaction(t,"readwrite").objectStore(t)))}function Fi(e){return Xt(e.getAllKeys())}function QE(e,t,n){return e(r=>Fi(r).then(s=>{if(!(s.length>=n))return r.put(t,Math.max(...s,0)+1),Xt(r.transaction)}))}function ZE(e,t,n){return e(r=>Fi(r).then(s=>{if(!(s.length>=n))return r.put(t,Math.min(...s,0)-1),Xt(r.transaction)}))}function eb(e){return e(t=>Fi(t).then(n=>{const r=n[0];if(r!=null)return Xt(t.get(r)).then(s=>(t.delete(r),Xt(t.transaction).then(()=>s)))}))}function tb(e){let t;function n(){return t==null&&(t=JE(e.dbName||"sentry-offline",e.storeName||"queue")),t}return{push:async r=>{try{const s=await pr(r);await QE(n(),s,e.maxQueueSize||30)}catch{}},unshift:async r=>{try{const s=await pr(r);await ZE(n(),s,e.maxQueueSize||30)}catch{}},shift:async()=>{try{const r=await eb(n());if(r)return Ud(r)}catch{}}}}function nb(e){return t=>{const n=e({...t,createStore:tb});return D.addEventListener("online",async r=>{await n.flush()}),n}}function rb(e=yi){return nb(fp(e))}const _a=1e6,sb="window"in L&&L.window===L&&typeof importScripts>"u",rt=String(0),Rr=sb?"main":"worker",Me=D.navigator;let al="",cl="",ul="",zs=(Me==null?void 0:Me.userAgent)||"",ll="";var va;const ib=(Me==null?void 0:Me.language)||((va=Me==null?void 0:Me.languages)==null?void 0:va[0])||"";function ob(e){return typeof e=="object"&&e!==null&&"getHighEntropyValues"in e}const Sa=Me==null?void 0:Me.userAgentData;ob(Sa)&&Sa.getHighEntropyValues(["architecture","model","platform","platformVersion","fullVersionList"]).then(e=>{var t;if(al=e.platform||"",ul=e.architecture||"",ll=e.model||"",cl=e.platformVersion||"",(t=e.fullVersionList)!=null&&t.length){const n=e.fullVersionList[e.fullVersionList.length-1];zs=`${n.brand} ${n.version}`}}).catch(e=>{});function ab(e){return!("thread_metadata"in e)}function cb(e){return ab(e)?hb(e):e}function ub(e){var n,r;const t=(r=(n=e.contexts)==null?void 0:n.trace)==null?void 0:r.trace_id;return typeof t=="string"&&t.length!==32&&I&&m.log(`[Profiling] Invalid traceId: ${t} on profiled event`),typeof t!="string"?"":t}function lb(e,t,n,r){if(r.type!=="transaction")throw new TypeError("Profiling events may only be attached to transactions, this should never occur.");if(n==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${n} instead.`);const s=ub(r),i=cb(n),o=t||(typeof r.start_timestamp=="number"?r.start_timestamp*1e3:ie()*1e3),c=typeof r.timestamp=="number"?r.timestamp*1e3:ie()*1e3;return{event_id:e,timestamp:new Date(o).toISOString(),platform:"javascript",version:"1",release:r.release||"",environment:r.environment||xr,runtime:{name:"javascript",version:D.navigator.userAgent},os:{name:al,version:cl,build_number:zs},device:{locale:ib,model:ll,manufacturer:zs,architecture:ul,is_emulator:!1},debug_meta:{images:fl(n.resources)},profile:i,transactions:[{name:r.transaction||"",id:r.event_id||fe(),trace_id:s,active_thread_id:rt,relative_start_ns:"0",relative_end_ns:((c-o)*1e6).toFixed(0)}]}}function db(e,t,n){var o,c;if(e==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${e} instead.`);const r=pb(e),s=t.getOptions(),i=(c=(o=t.getSdkMetadata)==null?void 0:o.call(t))==null?void 0:c.sdk;return{chunk_id:fe(),client_sdk:{name:(i==null?void 0:i.name)??"sentry.javascript.browser",version:(i==null?void 0:i.version)??"0.0.0"},profiler_id:n||fe(),platform:"javascript",version:"2",release:s.release??"",environment:s.environment??"production",debug_meta:{images:fl(e.resources)},profile:r}}function fb(e){try{if(!e||typeof e!="object")return{reason:"chunk is not an object"};const t=r=>typeof r=="string"&&/^[a-f0-9]{32}$/.test(r);if(!t(e.profiler_id))return{reason:"missing or invalid profiler_id"};if(!t(e.chunk_id))return{reason:"missing or invalid chunk_id"};if(!e.client_sdk)return{reason:"missing client_sdk metadata"};const n=e.profile;return n?!Array.isArray(n.frames)||!n.frames.length?{reason:"profile has no frames"}:!Array.isArray(n.stacks)||!n.stacks.length?{reason:"profile has no stacks"}:!Array.isArray(n.samples)||!n.samples.length?{reason:"profile has no samples"}:{valid:!0}:{reason:"missing profile data"}}catch(t){return{reason:`unknown validation error: ${t}`}}}function pb(e){const t=[];for(let c=0;c<e.frames.length;c++){const a=e.frames[c];a&&(t[c]={function:a.name,abs_path:typeof a.resourceId=="number"?e.resources[a.resourceId]:void 0,lineno:a.line,colno:a.column})}const n=[];for(let c=0;c<e.stacks.length;c++){const a=e.stacks[c];if(!a)continue;const u=[];let d=a;for(;d;)u.push(d.frameId),d=d.parentId===void 0?void 0:e.stacks[d.parentId];n[c]=u}const r=he(),s=typeof performance.timeOrigin=="number"?performance.timeOrigin:r||0,i=s-(r||s),o=[];for(let c=0;c<e.samples.length;c++){const a=e.samples[c];if(!a)continue;const u=(s+(a.timestamp-i))/1e3;o[c]={stack_id:a.stackId??0,thread_id:rt,timestamp:u}}return{frames:t,stacks:n,samples:o,thread_metadata:{[rt]:{name:Rr}}}}function dl(e){return U(e).op==="pageload"}function hb(e){let t,n=0;const r={samples:[],stacks:[],frames:[],thread_metadata:{[rt]:{name:Rr}}},s=e.samples[0];if(!s)return r;const i=s.timestamp,o=he(),c=typeof performance.timeOrigin=="number"?performance.timeOrigin:o||0,a=c-(o||c);return e.samples.forEach((u,d)=>{if(u.stackId===void 0){t===void 0&&(t=n,r.stacks[t]=[],n++),r.samples[d]={elapsed_since_start_ns:((u.timestamp+a-i)*_a).toFixed(0),stack_id:t,thread_id:rt};return}let l=e.stacks[u.stackId];const f=[];for(;l;){f.push(l.frameId);const h=e.frames[l.frameId];h&&r.frames[l.frameId]===void 0&&(r.frames[l.frameId]={function:h.name,abs_path:typeof h.resourceId=="number"?e.resources[h.resourceId]:void 0,lineno:h.line,colno:h.column}),l=l.parentId===void 0?void 0:e.stacks[l.parentId]}const p={elapsed_since_start_ns:((u.timestamp+a-i)*_a).toFixed(0),stack_id:n,thread_id:rt};r.stacks[n]=f,r.samples[d]=p,n++}),r}function mb(e,t){if(!t.length)return e;for(const n of t)e[1].push([{type:"profile"},n]);return e}function gb(e){const t=[];return dr(e,(n,r)=>{var s,i;if(r==="transaction")for(let o=1;o<n.length;o++){const c=n[o];(i=(s=c==null?void 0:c.contexts)==null?void 0:s.profile)!=null&&i.profile_id&&t.push(n[o])}}),t}function fl(e){const t=H(),n=t==null?void 0:t.getOptions(),r=n==null?void 0:n.stackParser;return r?Sf(r,e):[]}function pl(e){return typeof e!="number"&&typeof e!="boolean"||typeof e=="number"&&isNaN(e)?(I&&m.warn(`[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`),!1):e===!0||e===!1?!0:e<0||e>1?(I&&m.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${e}.`),!1):!0}function _b(e){return e.samples.length<2?(I&&m.log("[Profiling] Discarding profile because it contains less than 2 samples"),!1):e.frames.length?!0:(I&&m.log("[Profiling] Discarding profile because it contains no frames"),!1)}let Bi=!1;const hl=3e4;function Sb(e){return typeof e=="function"}function ml(){const e=D.Profiler;if(!Sb(e)){I&&m.log("[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object.");return}const t=10,n=Math.floor(hl/t);try{return new e({sampleInterval:t,maxBufferSize:n})}catch{I&&(m.log("[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header."),m.log("[Profiling] Disabling profiling for current user session.")),Bi=!0}}function ya(e){if(Bi)return I&&m.log("[Profiling] Profiling has been disabled for the duration of the current user session."),!1;if(!e.isRecording())return I&&m.log("[Profiling] Discarding profile because root span was not sampled."),!1;const t=H(),n=t==null?void 0:t.getOptions();if(!n)return I&&m.log("[Profiling] Profiling disabled, no options found."),!1;const r=n.profilesSampleRate;return pl(r)?r?(r===!0?!0:Math.random()<r)?!0:(I&&m.log(`[Profiling] Discarding profile because it's not included in the random sample (sampling rate = ${Number(r)})`),!1):(I&&m.log("[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0"),!1):(I&&m.warn("[Profiling] Discarding profile because of invalid sample rate."),!1)}function yb(e){if(Bi)return I&&m.log("[Profiling] Profiling has been disabled for the duration of the current user session."),!1;if(e.profileLifecycle!=="trace")return!1;const t=e.profileSessionSampleRate;return pl(t)?t?Math.random()<=t:(I&&m.log("[Profiling] Discarding profile because profileSessionSampleRate is not defined or set to 0"),!1):(I&&m.warn("[Profiling] Discarding profile because of invalid profileSessionSampleRate."),!1)}function Xn(e){return typeof e.profilesSampleRate<"u"}function Eb(e,t,n,r){return _b(n)?lb(e,t,n,r):null}const gt=new Map;function bb(){return gt.size}function Tb(e){const t=gt.get(e);return t&&gt.delete(e),t}function vb(e,t){if(gt.set(e,t),gt.size>30){const n=gt.keys().next().value;n!==void 0&&gt.delete(n)}}function Ib(e){var t,n,r,s,i;return!((t=e==null?void 0:e.contexts)!=null&&t.profile)||!e.contexts||(e.contexts.trace={...((n=e.contexts)==null?void 0:n.trace)??{},data:{...((s=(r=e.contexts)==null?void 0:r.trace)==null?void 0:s.data)??{},"thread.id":rt,"thread.name":Rr}},(i=e.spans)==null||i.forEach(o=>{o.data={...o.data||{},"thread.id":rt,"thread.name":Rr}})),e}function Ea(e){let t;dl(e)&&(t=ie()*1e3);const n=ml();if(!n)return;I&&m.log(`[Profiling] started profiling span: ${U(e).description}`);const r=fe();let s=null;G().setContext("profile",{profile_id:r,start_timestamp:t});async function i(){if(e&&n){if(s){I&&m.log("[Profiling] profile for:",U(e).description,"already exists, returning early");return}return n.stop().then(u=>{if(o&&(D.clearTimeout(o),o=void 0),I&&m.log(`[Profiling] stopped profiling of span: ${U(e).description}`),!u){I&&m.log(`[Profiling] profiler returned null profile for: ${U(e).description}`,"this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started");return}s=u,vb(r,u)}).catch(u=>{I&&m.log("[Profiling] error while stopping profiler:",u)})}}let o=D.setTimeout(()=>{I&&m.log("[Profiling] max profile duration elapsed, stopping profiling for:",U(e).description),i()},hl);const c=e.end.bind(e);function a(){return e?(i().then(()=>{c()},()=>{c()}),e):c()}e.end=a}const wb=6e4,kb=3e5;class Rb{constructor(){this._client=void 0,this._profiler=void 0,this._chunkTimer=void 0,this._activeRootSpanIds=new Set,this._rootSpanTimeouts=new Map,this._profilerId=void 0,this._isRunning=!1,this._sessionSampled=!1}initialize(t,n){this._profilerId=fe(),I&&m.log("[Profiling] Initializing profiler (lifecycle='trace')."),this._client=t,this._sessionSampled=n,this._setupTraceLifecycleListeners(t)}notifyRootSpanActive(t){if(!this._sessionSampled)return;const n=t.spanContext().spanId;if(!n||this._activeRootSpanIds.has(n))return;this._activeRootSpanIds.add(n);const r=this._activeRootSpanIds.size;r===1&&(I&&m.log("[Profiling] Detected already active root span during setup. Active root spans now:",r),this.start())}start(){if(!this._isRunning){if(this._isRunning=!0,I&&m.log("[Profiling] Started profiling with profile ID:",this._profilerId),cr().setContext("profile",{profiler_id:this._profilerId}),this._startProfilerInstance(),!this._profiler){I&&m.log("[Profiling] Stopping trace lifecycle profiling."),this._resetProfilerInfo();return}this._startPeriodicChunking()}}stop(){this._isRunning&&(this._isRunning=!1,this._chunkTimer&&(clearTimeout(this._chunkTimer),this._chunkTimer=void 0),this._clearAllRootSpanTimeouts(),this._collectCurrentChunk().catch(t=>{I&&m.error("[Profiling] Failed to collect current profile chunk on `stop()`:",t)}))}_setupTraceLifecycleListeners(t){t.on("spanStart",n=>{if(!this._sessionSampled){I&&m.log("[Profiling] Session not sampled because of negative sampling decision.");return}if(n!==le(n))return;if(!n.isRecording()){I&&m.log("[Profiling] Discarding profile because root span was not sampled.");return}const r=n.spanContext().spanId;if(!r||this._activeRootSpanIds.has(r))return;this._registerTraceRootSpan(r);const s=this._activeRootSpanIds.size;s===1&&(I&&m.log(`[Profiling] Root span ${r} started. Profiling active while there are active root spans (count=${s}).`),this.start())}),t.on("spanEnd",n=>{if(!this._sessionSampled)return;const r=n.spanContext().spanId;if(!r||!this._activeRootSpanIds.has(r))return;this._activeRootSpanIds.delete(r);const s=this._activeRootSpanIds.size;I&&m.log(`[Profiling] Root span with ID ${r} ended. Will continue profiling for as long as there are active root spans (currently: ${s}).`),s===0&&(this._collectCurrentChunk().catch(i=>{I&&m.error("[Profiling] Failed to collect current profile chunk on last `spanEnd`:",i)}),this.stop())})}_resetProfilerInfo(){this._isRunning=!1,cr().setContext("profile",{})}_clearAllRootSpanTimeouts(){this._rootSpanTimeouts.forEach(t=>clearTimeout(t)),this._rootSpanTimeouts.clear()}_registerTraceRootSpan(t){this._activeRootSpanIds.add(t);const n=setTimeout(()=>this._onRootSpanTimeout(t),kb);this._rootSpanTimeouts.set(t,n)}_startProfilerInstance(){var n;if(((n=this._profiler)==null?void 0:n.stopped)===!1)return;const t=ml();if(!t){I&&m.log("[Profiling] Failed to start JS Profiler in trace lifecycle.");return}this._profiler=t}_startPeriodicChunking(){this._isRunning&&(this._chunkTimer=setTimeout(()=>{if(this._collectCurrentChunk().catch(t=>{I&&m.error("[Profiling] Failed to collect current profile chunk during periodic chunking:",t)}),this._isRunning){if(this._startProfilerInstance(),!this._profiler){this._resetProfilerInfo();return}this._startPeriodicChunking()}},wb))}_onRootSpanTimeout(t){if(!this._rootSpanTimeouts.has(t)||(this._rootSpanTimeouts.delete(t),!this._activeRootSpanIds.has(t)))return;I&&m.log(`[Profiling] Reached 5-minute timeout for root span ${t}. You likely started a manual root span that never called \`.end()\`.`),this._activeRootSpanIds.delete(t),this._activeRootSpanIds.size===0&&this.stop()}async _collectCurrentChunk(){const t=this._profiler;if(this._profiler=void 0,!!t)try{const n=await t.stop(),r=db(n,this._client,this._profilerId),s=fb(r);if("reason"in s){I&&m.log("[Profiling] Discarding invalid profile chunk (this is probably a bug in the SDK):",s.reason);return}this._sendProfileChunk(r),I&&m.log("[Profiling] Collected browser profile chunk.")}catch(n){I&&m.log("[Profiling] Error while stopping JS Profiler for chunk:",n)}}_sendProfileChunk(t){var c;const n=this._client,r=Ar((c=n.getSdkMetadata)==null?void 0:c.call(n)),s=n.getDsn(),i=n.getOptions().tunnel,o=Qe({event_id:fe(),sent_at:new Date().toISOString(),...r&&{sdk:r},...!!i&&s&&{dsn:Mt(s)}},[[{type:"profile_chunk"},t]]);n.sendEnvelope(o).then(null,a=>{I&&m.error("Error while sending profile chunk envelope:",a)})}}const Cb="BrowserProfiling",Mb=()=>({name:Cb,setup(e){const t=e.getOptions();if(!Xn(t)&&!t.profileLifecycle&&(t.profileLifecycle="manual"),Xn(t)&&!t.profilesSampleRate){I&&m.log("[Profiling] Profiling disabled, no profiling options found.");return}const n=pe(),r=n&&le(n);if(Xn(t)&&t.profileSessionSampleRate!==void 0&&I&&m.warn("[Profiling] Both legacy profiling (`profilesSampleRate`) and UI profiling settings are defined. `profileSessionSampleRate` has no effect when legacy profiling is enabled."),Xn(t))r&&dl(r)&&ya(r)&&Ea(r),e.on("spanStart",s=>{s===le(s)&&ya(s)&&Ea(s)}),e.on("beforeEnvelope",s=>{var c,a;if(!bb())return;const i=gb(s);if(!i.length)return;const o=[];for(const u of i){const d=u==null?void 0:u.contexts,l=(c=d==null?void 0:d.profile)==null?void 0:c.profile_id,f=(a=d==null?void 0:d.profile)==null?void 0:a.start_timestamp;if(typeof l!="string"){I&&m.log("[Profiling] cannot find profile for a span without a profile context");continue}if(!l){I&&m.log("[Profiling] cannot find profile for a span without a profile context");continue}d!=null&&d.profile&&delete d.profile;const p=Tb(l);if(!p){I&&m.log(`[Profiling] Could not retrieve profile for span: ${l}`);continue}const h=Eb(l,f,p,u);h&&o.push(h)}mb(s,o)});else{const s=yb(t);if(s||I&&m.log("[Profiling] Session not sampled. Skipping lifecycle profiler initialization."),t.profileLifecycle==="trace"){if(!Ne(t)){I&&m.warn("[Profiling] `profileLifecycle` is 'trace' but tracing is disabled. Set a `tracesSampleRate` or `tracesSampler` to enable span tracing.");return}const o=new Rb;o.initialize(e,s),r&&o.notifyRootSpanActive(r),D.setTimeout(()=>{const c=pe(),a=c&&le(c);a&&o.notifyRootSpanActive(a)},0)}}},processEvent(e){return Ib(e)}}),xb=Mb;function Ab(e){const t={...e};return Oc(t,"react"),gc("react",{version:Ia.version}),Xg(t)}const Nb=new WeakSet;function Ob(e,t){const n=GE({...e,instrumentPageLoad:!1,instrumentNavigation:!1}),{useEffect:r,useLocation:s,useNavigationType:i,createRoutesFromChildren:o,matchRoutes:c,stripBasename:a,enableAsyncRouteHandlers:u=!1,instrumentPageLoad:d=!0,instrumentNavigation:l=!0}=e;return{...n,setup(f){n.setup(f)},afterAllSetup(f){var h;n.afterAllSetup(f);const p=(h=D.location)==null?void 0:h.pathname;d&&p&&Di(f,{name:p,attributes:{[xe]:"url",[Ue]:"pageload",[ae]:`auto.pageload.react.reactrouter_v${t}`}}),l&&Nb.add(f)}}}function Pb(e){return Ob(e,"6")}var ba={};const Lb=ba.CI==="true"||ba.GITHUB_ACTIONS==="true",Db={enabled:!0,environment:Lb?"github-ci":"production",release:"spotlight@4.8.0",tracesSampleRate:1,enableLogs:!0},Fb=["sentryTrace","baggage"];function Bb(e=!0){const t=[Pb({instrumentPageLoad:e,useEffect:Ia.useEffect,useLocation:Tl,useNavigationType:bl,createRoutesFromChildren:El,matchRoutes:yl}),CE(),xb(),sh({levels:["log","info","warn","error","debug"]})],n=document.location.hash.slice(1);if(n.startsWith("spotlight")){const r=n.indexOf("="),s=r>-1?decodeURIComponent(n.slice(r+1)):void 0;t.push(qg({sidecarUrl:s}))}return t}function Hb(){const e=Fb.map(s=>[s,Sl(s)]),t=e.every(([,s])=>!!s),n=Bb(!t),r=Ab({...Db,transport:rb(yi),dsn:"https://51bcd92dba1128934afd1c5726c84442@o1.ingest.us.sentry.io/4508404727283713",integrations:n,tracePropagationTargets:[/^\//,document.location.origin],profilesSampleRate:1,replaysSessionSampleRate:.01,replaysOnErrorSampleRate:1});t&&r&&Di(r,{name:"pageload"},Object.fromEntries(e))}export{Hb as default,Bb as getIntegrations};
24
+ `;if(typeof e=="string")n=`${r}${e}`;else{const i=new TextEncoder().encode(r);n=new Uint8Array(i.length+e.length),n.set(i),n.set(e,i.length)}return n}async function EE({client:e,scope:t,replayId:n,event:r}){const s=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:n,integrations:s};e.emit("preprocessEvent",r,i);const o=await pc(e.getOptions(),r,i,t,e,De());if(!o)return null;e.emit("postprocessEvent",o,i),o.platform=o.platform||"javascript";const c=e.getSdkMetadata(),{name:a,version:u,settings:d}=(c==null?void 0:c.sdk)||{};return o.sdk={...o.sdk,name:a||"sentry.javascript.unknown",version:u||"0.0.0",settings:d},o}async function bE({recordingData:e,replayId:t,segmentId:n,eventContext:r,timestamp:s,session:i}){const o=yE({recordingData:e,headers:{segment_id:n}}),{urls:c,errorIds:a,traceIds:u,initialTimestamp:d}=r,l=H(),f=G(),p=l==null?void 0:l.getTransport(),h=l==null?void 0:l.getDsn();if(!l||!p||!h||!i.sampled)return Promise.resolve({});const g={type:Jg,replay_start_timestamp:d/1e3,timestamp:s/1e3,error_ids:a,trace_ids:u,urls:c,replay_id:t,segment_id:n,replay_type:i.sampled},_=await EE({scope:f,client:l,replayId:t,event:g});if(!_)return l.recordDroppedEvent("event_processor","replay"),C&&M.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete _.sdkProcessingMetadata;const E=SE(_,o,h,l.getOptions().tunnel);let T;try{T=await p.send(E)}catch(B){const q=new Error(bi);try{q.cause=B}catch{}throw q}if(typeof T.statusCode=="number"&&(T.statusCode<200||T.statusCode>=300))throw new Zu(T.statusCode);const F=Nc({},T);if(Ac(F,"replay"))throw new Li(F);return T}class Zu extends Error{constructor(t){super(`Transport returned status code ${t}`)}}class Li extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}}async function el(e,t={count:0,interval:r_}){const{recordingData:n,onError:r}=e;if(n.length)try{return await bE(e),!0}catch(s){if(s instanceof Zu||s instanceof Li)throw s;if(gc("Replays",{_retryCount:t.count}),r&&r(s),t.count>=s_){const i=new Error(`${bi} - max retries exceeded`);try{i.cause=s}catch{}throw i}return t.interval*=++t.count,new Promise((i,o)=>{Pn(async()=>{try{await el(e,t),i(!0)}catch(c){o(c)}},t.interval)})}}const tl="__THROTTLED",TE="__SKIPPED";function vE(e,t,n){const r=new Map,s=c=>{const a=c-n;r.forEach((u,d)=>{d<a&&r.delete(d)})},i=()=>[...r.values()].reduce((c,a)=>c+a,0);let o=!1;return(...c)=>{const a=Math.floor(Date.now()/1e3);if(s(a),i()>=t){const d=o;return o=!0,d?TE:tl}o=!1;const u=r.get(a)||0;return r.set(a,u+1),e(...c)}}class IE{constructor({options:t,recordingOptions:n}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:Qg,sessionIdleExpire:Zg},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=n,this._options=t,this._debouncedFlush=fE(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=vE((o,c)=>Sy(this,o,c),300,5);const{slowClickTimeout:r,slowClickIgnoreSelectors:s}=this.getOptions(),i=r?{threshold:Math.min(i_,r),timeout:r,scrollTimeout:o_,ignoreSelector:s?s.join(","):""}:void 0;if(i&&(this.clickDetector=new AS(this,i)),C){const o=t._experiments;M.setConfig({captureExceptions:!!o.captureExceptions,traceInternals:!!o.traceInternals})}this._handleVisibilityChange=()=>{te.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const o=Be({category:"ui.blur"});this._doChangeToBackgroundTasks(o)},this._handleWindowFocus=()=>{const o=Be({category:"ui.focus"});this._doChangeToForegroundTasks(o)},this._handleKeyboardEvent=o=>{jS(this,o)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){C&&M.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){const{errorSampleRate:n,sessionSampleRate:r}=this._options,s=n<=0&&r<=0;if(this._requiresManualStart=s,!s){if(this._initializeSessionForSampling(t),!this.session){C&&M.exception(new Error("Unable to initialize and create session"));return}this.session.sampled!==!1&&(this.recordingMode=this.session.sampled==="buffer"&&this.session.segmentId===0?"buffer":"session",C&&M.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){C&&M.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){C&&M.log("Buffering is in progress, call `flush()` to save the replay");return}C&&M.infoTick("Starting replay in session mode"),this._updateUserActivity();const t=fs({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=t,this.recordingMode="session",this._initializeRecording()}startBuffering(){if(this._isEnabled){C&&M.log("Buffering is in progress, call `flush()` to save the replay");return}C&&M.infoTick("Starting replay in buffer mode");const t=fs({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=t,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{const t=this._canvas;this._stopRecording=Ye({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:n_}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:hE(this),...pE(),onMutation:this._onMutationHandler.bind(this),...t?{recordCanvas:t.recordCanvas,getCanvasManager:t.getCanvasManager,sampling:t.sampling,dataURLOptions:t.dataURLOptions}:{}})}catch(t){this.handleException(t)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(t){return this.handleException(t),!1}}async stop({forceFlush:t=!1,reason:n}={}){var r;if(this._isEnabled){this._isEnabled=!1,this.recordingMode="buffer";try{C&&M.log(`Stopping Replay${n?` triggered by ${n}`:""}`),Yu(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),(r=this.eventBuffer)==null||r.destroy(),this.eventBuffer=null,py(this)}catch(s){this.handleException(s)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),C&&M.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),C&&M.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();const n=Date.now();C&&M.log("Converting buffer to session"),await this.flushImmediate();const r=this.stopRecording();!t||!r||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(n),this._updateSessionActivity(n),this._maybeSaveSession()),this.startRecording())}addUpdate(t){const n=t();this.recordingMode==="buffer"||!this._isEnabled||n!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._checkSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return this.recordingMode==="buffer"?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(t){var n,r;if(!(t&&((n=this.session)==null?void 0:n.sampled)===!1))return(r=this.session)==null?void 0:r.id}checkAndHandleExpiredSession(){if(this._lastActivity&&$s(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){const t=`${te.location.pathname}${te.location.hash}${te.location.search}`,n=`${te.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=n,this._context.initialTimestamp=Date.now(),this._context.urls.push(n)}throttledAddEvent(t,n){const r=this._throttledAddEvent(t,n);if(r===tl){const s=Be({category:"replay.throttled"});this.addUpdate(()=>!Oi(this,{type:IS,timestamp:s.timestamp||0,data:{tag:"breadcrumb",payload:s,metric:!0}}))}return r}getCurrentRoute(){const t=this.lastActiveSpan||pe(),n=t&&le(t),s=(n&&U(n).data||{})[xe];if(!(!n||!s||!["route","custom"].includes(s)))return U(n).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=ly({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(t){const n=this._options.errorSampleRate>0,r=fs({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:n});this.session=r}_checkSession(){if(!this.session)return!1;const t=this.session;return ju(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(t.id))}_addListeners(){try{te.document.addEventListener("visibilitychange",this._handleVisibilityChange),te.addEventListener("blur",this._handleWindowBlur),te.addEventListener("focus",this._handleWindowFocus),te.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(uE(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=ry(this)}_removeListeners(){try{te.document.removeEventListener("visibilitychange",this._handleVisibilityChange),te.removeEventListener("blur",this._handleWindowBlur),te.removeEventListener("focus",this._handleWindowFocus),te.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){!this.session||zu(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(t&&this._createCustomBreadcrumb(t),this.conditionalFlush())}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){C&&M.log("Document has become active, but session has expired");return}t&&this._createCustomBreadcrumb(t)}_updateUserActivity(t=Date.now()){this._lastActivity=t}_updateSessionActivity(t=Date.now()){this.session&&(this.session.lastActivity=t,this._maybeSaveSession())}_createCustomBreadcrumb(t){this.addUpdate(()=>{this.throttledAddEvent({type:$.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=YS(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const n=this._context.initialTimestamp/1e3;t=t.filter(r=>r.start>=n)}return Promise.all(Hr(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:t,eventBuffer:n}=this;if(!t||!n||this._requiresManualStart||t.segmentId)return;const r=n.getEarliestTimestamp();r&&r<this._context.initialTimestamp&&(this._context.initialTimestamp=r)}_popEventContext(){const t={initialTimestamp:this._context.initialTimestamp,initialUrl:this._context.initialUrl,errorIds:Array.from(this._context.errorIds),traceIds:Array.from(this._context.traceIds),urls:this._context.urls};return this._clearContext(),t}async _runFlush(){var n;const t=this.getSessionId();if(!this.session||!this.eventBuffer||!t){C&&M.error("No session or eventBuffer found to flush.");return}if(await this._addPerformanceEntries(),!!((n=this.eventBuffer)!=null&&n.hasEvents)&&(await lE(this),!!this.eventBuffer&&t===this.getSessionId()))try{this._updateInitialTimestampFromEventBuffer();const r=Date.now();if(r-this._context.initialTimestamp>this._options.maxReplayDuration+3e4)throw new Error("Session is too long, not sending replay");const s=this._popEventContext(),i=this.session.segmentId++;this._maybeSaveSession();const o=await this.eventBuffer.finish();await el({replayId:t,recordingData:o,segmentId:i,eventContext:s,session:this.session,timestamp:r,onError:c=>this.handleException(c)})}catch(r){this.handleException(r),this.stop({reason:"sendReplay"});const s=H();if(s){const i=r instanceof Li?"ratelimit_backoff":"send_error";s.recordDroppedEvent(i,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){C&&M.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;const n=this.session.started,s=Date.now()-n;this._debouncedFlush.cancel();const i=s<this._options.minReplayDuration,o=s>this._options.maxReplayDuration+5e3;if(i||o){C&&M.log(`Session duration (${Math.floor(s/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}const c=this.eventBuffer;c&&this.session.segmentId===0&&!c.hasCheckout&&C&&M.log("Flushing initial segment without checkout.");const a=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(u){this.handleException(u)}finally{this._flushLock=void 0,a&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&Ur(this.session)}_onMutationHandler(t){const{ignoreMutations:n}=this._options._experiments;if(n!=null&&n.length&&t.some(c=>{const a=_E(c.target),u=n.join(",");return a==null?void 0:a.matches(u)}))return!1;const r=t.length,s=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,o=s&&r>s;if(r>i||o){const c=Be({category:"replay.mutations",data:{count:r,limit:o}});this._createCustomBreadcrumb(c)}return o?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}}function cn(e,t){return[...e,...t].join(",")}function wE({mask:e,unmask:t,block:n,unblock:r,ignore:s}){const i=["base","iframe[srcdoc]:not([src])"],o=cn(e,[".sentry-mask","[data-sentry-mask]"]),c=cn(t,[]);return{maskTextSelector:o,unmaskTextSelector:c,blockSelector:cn(n,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:cn(r,[]),ignoreSelector:cn(s,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function kE({el:e,key:t,maskAttributes:n,maskAllText:r,privacyOptions:s,value:i}){return!r||s.unmaskTextSelector&&e.matches(s.unmaskTextSelector)?i:n.includes(t)||t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"")?i.replace(/[\S]/g,"*"):i}const ua='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',RE=["content-length","content-type","accept"];let la=!1;const CE=e=>new ME(e);class ME{constructor({flushMinDelay:t=e_,flushMaxDelay:n=t_,minReplayDuration:r=a_,maxReplayDuration:s=Wo,stickySession:i=!0,useCompression:o=!0,workerUrl:c,_experiments:a={},maskAllText:u=!0,maskAllInputs:d=!0,blockAllMedia:l=!0,mutationBreadcrumbLimit:f=750,mutationLimit:p=1e4,slowClickTimeout:h=7e3,slowClickIgnoreSelectors:g=[],networkDetailAllowUrls:_=[],networkDetailDenyUrls:E=[],networkCaptureBodies:T=!0,networkRequestHeaders:F=[],networkResponseHeaders:B=[],mask:q=[],maskAttributes:N=["title","placeholder","aria-label"],unmask:S=[],block:k=[],unblock:J=[],ignore:y=[],maskFn:w,beforeAddRecordingEvent:P,beforeErrorSampling:j,onError:O}={}){this.name="Replay";const ce=wE({mask:q,unmask:S,block:k,unblock:J,ignore:y});if(this._recordingOptions={maskAllInputs:d,maskAllText:u,maskInputOptions:{password:!0},maskTextFn:w,maskInputFn:w,maskAttributeFn:(Q,ne,b)=>kE({maskAttributes:N,maskAllText:u,privacyOptions:ce,key:Q,value:ne,el:b}),...ce,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:Q=>{try{Q.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!a.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:n,minReplayDuration:Math.min(r,c_),maxReplayDuration:Math.min(s,Wo),stickySession:i,useCompression:o,workerUrl:c,blockAllMedia:l,maskAllInputs:d,maskAllText:u,mutationBreadcrumbLimit:f,mutationLimit:p,slowClickTimeout:h,slowClickIgnoreSelectors:g,networkDetailAllowUrls:_,networkDetailDenyUrls:E,networkCaptureBodies:T,networkRequestHeaders:da(F),networkResponseHeaders:da(B),beforeAddRecordingEvent:P,beforeErrorSampling:j,onError:O,_experiments:a},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${ua}`:ua,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&Is())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return la}set _isInitialized(t){la=t}afterAllSetup(t){!Is()||this._replay||(this._setup(t),this._initialize(t))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:this._replay.recordingMode==="session"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){var n;if((n=this._replay)!=null&&n.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){var t;if((t=this._replay)!=null&&t.isEnabled())return this._replay.recordingMode}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){const n=xE(this._initialOptions,t);this._replay=new IE({options:n,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{const n=t.getIntegrationByName("ReplayCanvas");if(!n)return;this._replay._canvas=n.getOptions()}catch{}}}function xE(e,t){const n=t.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...e},s=It(n.replaysSessionSampleRate),i=It(n.replaysOnErrorSampleRate);return s==null&&i==null&&at(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),s!=null&&(r.sessionSampleRate=s),i!=null&&(r.errorSampleRate=i),r}function da(e){return[...RE,...e.map(t=>t.toLowerCase())]}function AE(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function nl(e){try{return new URL(e,D.location.origin).href}catch{return}}function NE(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function rl(e){try{return new Headers(e)}catch{return}}const fa=new WeakMap,ps=new Map,sl={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function OE(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:i,enableHTTPTimings:o,tracePropagationTargets:c,onRequestSpanStart:a,onRequestSpanEnd:u}={...sl,...t},d=typeof i=="function"?i:h=>!0,l=h=>PE(h,c),f={},p=e.getOptions().propagateTraceparent;n&&(e.addEventProcessor(h=>(h.type==="transaction"&&h.spans&&h.spans.forEach(g=>{if(g.op==="http.client"){const _=ps.get(g.span_id);_&&(g.timestamp=_/1e3,ps.delete(g.span_id))}}),h)),s&&ch(h=>{if(h.response){const g=fa.get(h.response);g&&h.endTimestamp&&ps.set(g,h.endTimestamp)}}),Uc(h=>{const g=Vp(h,d,l,f,{propagateTraceparent:p,onRequestSpanEnd:u});if(h.response&&h.fetchData.__span&&fa.set(h.response,h.fetchData.__span),g){const _=nl(h.fetchData.url),E=_?Et(_).host:void 0;g.setAttributes({"http.url":_,"server.address":E}),o&&pa(g),a==null||a(g,{headers:h.headers})}})),r&&au(h=>{var _;const g=LE(h,d,l,f,p,u);g&&(o&&pa(g),a==null||a(g,{headers:rl((_=h.xhr.__sentry_xhr_v3__)==null?void 0:_.request_headers)}))})}function pa(e){const{url:t}=U(e).data;if(!t||typeof t!="string")return;const n=kt("resource",({entries:r})=>{r.forEach(s=>{NE(s)&&s.name.endsWith(t)&&(e.setAttributes(iu(s)),setTimeout(n))})})}function PE(e,t){const n=en();if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const i=r.origin===s;return t?Ve(r.toString(),t)||i&&Ve(r.pathname,t):i}else{const r=!!e.match(/^\/(?!\/)/);return t?Ve(e,t):r}}function LE(e,t,n,r,s,i){const o=e.xhr,c=o==null?void 0:o[ht];if(!o||o.__sentry_own_request__||!c)return;const{url:a,method:u}=c,d=Ne()&&t(a);if(e.endTimestamp&&d){const E=o.__sentry_xhr_span_id__;if(!E)return;const T=r[E];T&&c.status_code!==void 0&&(ja(T,c.status_code),T.end(),i==null||i(T,{headers:rl(du(o)),error:e.error}),delete r[E]);return}const l=nl(a),f=Et(l||a),p=mp(a),h=!!pe(),g=d&&h?rn({name:`${u} ${p}`,attributes:{url:a,type:"xhr","http.method":u,"http.url":l,"server.address":f==null?void 0:f.host,[ae]:"auto.http.browser",[Ue]:"http.client",...(f==null?void 0:f.search)&&{"http.query":f==null?void 0:f.search},...(f==null?void 0:f.hash)&&{"http.fragment":f==null?void 0:f.hash}}}):new st;o.__sentry_xhr_span_id__=g.spanContext().spanId,r[o.__sentry_xhr_span_id__]=g,n(a)&&DE(o,Ne()&&h?g:void 0,s);const _=H();return _&&_.emit("beforeOutgoingRequestSpan",g,e),g}function DE(e,t,n){const{"sentry-trace":r,baggage:s,traceparent:i}=Pc({span:t,propagateTraceparent:n});r&&FE(e,r,s,i)}function FE(e,t,n,r){var i;const s=(i=e.__sentry_xhr_v3__)==null?void 0:i.request_headers;if(!(s!=null&&s["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),r&&!(s!=null&&s.traceparent)&&e.setRequestHeader("traceparent",r),n){const o=s==null?void 0:s.baggage;(!o||!AE(o))&&e.setRequestHeader("baggage",n)}}catch{}}function BE(){D.document?D.document.addEventListener("visibilitychange",()=>{const e=pe();if(!e)return;const t=le(e);if(D.document.hidden&&t){const n="cancelled",{op:r,status:s}=U(t);I&&m.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:de,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):I&&m.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const $E=3600,il="sentry_previous_trace",UE="sentry.previous_trace";function HE(e,{linkPreviousTrace:t,consistentTraceSampling:n}){const r=t==="session-storage";let s=r?jE():void 0;e.on("spanStart",o=>{if(le(o)!==o)return;const c=G().getPropagationContext();s=WE(s,o,c),r&&zE(s)});let i=!0;n&&e.on("beforeSampling",o=>{if(!s)return;const c=G(),a=c.getPropagationContext();if(i&&a.parentSpanId){i=!1;return}c.setPropagationContext({...a,dsc:{...a.dsc,sample_rate:String(s.sampleRate),sampled:String(Ws(s.spanContext))},sampleRand:s.sampleRand}),o.parentSampled=Ws(s.spanContext),o.parentSampleRate=s.sampleRate,o.spanAttributes={...o.spanAttributes,[za]:s.sampleRate}})}function WE(e,t,n){const r=U(t);function s(){var c,a;try{return Number((c=n.dsc)==null?void 0:c.sample_rate)??Number((a=r.data)==null?void 0:a[Ks])}catch{return 0}}const i={spanContext:t.spanContext(),startTimestamp:r.start_timestamp,sampleRate:s(),sampleRand:n.sampleRand};if(!e)return i;const o=e.spanContext;return o.traceId===r.trace_id?e:(Date.now()/1e3-e.startTimestamp<=$E&&(I&&m.log(`Adding previous_trace ${o} link to span ${{op:r.op,...t.spanContext()}}`),t.addLink({context:o,attributes:{[td]:"previous_trace"}}),t.setAttribute(UE,`${o.traceId}-${o.spanId}-${Ws(o)?1:0}`)),i)}function zE(e){try{D.sessionStorage.setItem(il,JSON.stringify(e))}catch(t){I&&m.warn("Could not store previous trace in sessionStorage",t)}}function jE(){var e;try{const t=(e=D.sessionStorage)==null?void 0:e.getItem(il);return JSON.parse(t)}catch{return}}function Ws(e){return e.traceFlags===1}const qE="BrowserTracing",VE={...tr,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,enableElementTiming:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...sl},GE=(e={})=>{const t={name:void 0,source:void 0},n=D.document,{enableInp:r,enableElementTiming:s,enableLongTask:i,enableLongAnimationFrame:o,_experiments:{enableInteractions:c,enableStandaloneClsSpans:a,enableStandaloneLcpSpans:u},beforeStartSpan:d,idleTimeout:l,finalTimeout:f,childSpanTimeout:p,markBackgroundSpan:h,traceFetch:g,traceXHR:_,trackFetchStreamPerformance:E,shouldCreateSpanForRequest:T,enableHTTPTimings:F,ignoreResourceSpans:B,ignorePerformanceApiSpans:q,instrumentPageLoad:N,instrumentNavigation:S,detectRedirects:k,linkPreviousTrace:J,consistentTraceSampling:y,enableReportPageLoaded:w,onRequestSpanStart:P,onRequestSpanEnd:j}={...VE,...e};let O,ce,Q;function ne(b,Y,R=!0){const K=Y.op==="pageload",Z=Y.name,re=d?d(Y):Y,be=re.attributes||{};if(Z!==re.name&&(be[xe]="custom",re.attributes=be),!R){const We=Ct();rn({...re,startTime:We}).end(We);return}t.name=re.name,t.source=be[xe];const Te=dc(re,{idleTimeout:l,finalTimeout:f,childSpanTimeout:p,disableAutoFinish:K,beforeSpanEnd:We=>{O==null||O(),_m(We,{recordClsOnPageloadSpan:!a,recordLcpOnPageloadSpan:!u,ignoreResourceSpans:B,ignorePerformanceApiSpans:q}),ma(b,void 0);const At=G(),Fn=At.getPropagationContext();At.setPropagationContext({...Fn,traceId:Te.spanContext().traceId,sampled:lt(Te),dsc:He(We)}),K&&(Q=void 0)},trimIdleSpanEndTimestamp:!w});K&&w&&(Q=Te),ma(b,Te);function xt(){n&&["interactive","complete"].includes(n.readyState)&&b.emit("idleSpanEnableAutoFinish",Te)}K&&!w&&n&&(n.addEventListener("readystatechange",()=>{xt()}),xt())}return{name:qE,setup(b){if(Md(),O=lm({recordClsStandaloneSpans:a||!1,recordLcpStandaloneSpans:u||!1,client:b}),r&&Wm(),s&&Mm(),o&&L.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?fm():i&&dm(),c&&pm(),k&&n){const R=()=>{ce=ie()};addEventListener("click",R,{capture:!0}),addEventListener("keydown",R,{capture:!0,passive:!0})}function Y(){const R=Tn(b);R&&!U(R).timestamp&&(I&&m.log(`[Tracing] Finishing current active span with op: ${U(R).op}`),R.setAttribute(mn,"cancelled"),R.end())}b.on("startNavigationSpan",(R,K)=>{if(H()!==b)return;if(K!=null&&K.isRedirect){I&&m.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),ne(b,{op:"navigation.redirect",...R},!1);return}ce=void 0,Y(),De().setPropagationContext({traceId:Je(),sampleRand:Math.random(),propagationSpanId:Ne()?void 0:Ge()});const Z=G();Z.setPropagationContext({traceId:Je(),sampleRand:Math.random(),propagationSpanId:Ne()?void 0:Ge()}),Z.setSDKProcessingMetadata({normalizedRequest:void 0}),ne(b,{op:"navigation",...R,parentSpan:null,forceTransaction:!0})}),b.on("startPageLoadSpan",(R,K={})=>{if(H()!==b)return;Y();const Z=K.sentryTrace||ha("sentry-trace"),re=K.baggage||ha("baggage"),be=bd(Z,re),Te=G();Te.setPropagationContext(be),Ne()||(Te.getPropagationContext().propagationSpanId=Ge()),Te.setSDKProcessingMetadata({normalizedRequest:ci()}),ne(b,{op:"pageload",...R})}),b.on("endPageloadSpan",()=>{w&&Q&&(Q.setAttribute(mn,"reportPageLoaded"),Q.end())})},afterAllSetup(b){let Y=en();if(J!=="off"&&HE(b,{linkPreviousTrace:J,consistentTraceSampling:y}),D.location){if(N){const R=he();Di(b,{name:D.location.pathname,startTime:R?R/1e3:void 0,attributes:{[xe]:"url",[ae]:"auto.pageload.browser"}})}S&&Dr(({to:R,from:K})=>{if(K===void 0&&(Y==null?void 0:Y.indexOf(R))!==-1){Y=void 0;return}Y=void 0;const Z=ai(R),re=Tn(b),be=re&&k&&XE(re,ce);YE(b,{name:(Z==null?void 0:Z.pathname)||D.location.pathname,attributes:{[xe]:"url",[ae]:"auto.navigation.browser"}},{url:R,isRedirect:be})})}h&&BE(),c&&KE(b,l,f,p,t),r&&qm(),OE(b,{traceFetch:g,traceXHR:_,trackFetchStreamPerformance:E,tracePropagationTargets:b.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:T,enableHTTPTimings:F,onRequestSpanStart:P,onRequestSpanEnd:j})}}};function Di(e,t,n){e.emit("startPageLoadSpan",t,n),G().setTransactionName(t.name);const r=Tn(e);return r&&e.emit("afterStartPageLoadSpan",r),r}function YE(e,t,n){const{url:r,isRedirect:s}=n||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:s}),e.emit("startNavigationSpan",t,{isRedirect:s});const i=G();return i.setTransactionName(t.name),r&&!s&&i.setSDKProcessingMetadata({normalizedRequest:{...ci(),url:r}}),Tn(e)}function ha(e){const t=D.document,n=t==null?void 0:t.querySelector(`meta[name=${e}]`);return(n==null?void 0:n.getAttribute("content"))||void 0}function KE(e,t,n,r,s){const i=D.document;let o;const c=()=>{const a="ui.action.click",u=Tn(e);if(u){const d=U(u).op;if(["navigation","pageload"].includes(d)){I&&m.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`);return}}if(o&&(o.setAttribute(mn,"interactionInterrupted"),o.end(),o=void 0),!s.name){I&&m.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}o=dc({name:s.name,op:a,attributes:{[xe]:s.source||"url"}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})};i&&addEventListener("click",c,{capture:!0})}const ol="_sentry_idleSpan";function Tn(e){return e[ol]}function ma(e,t){Ie(e,ol,t)}const ga=1.5;function XE(e,t){const n=U(e),r=Ct(),s=n.start_timestamp;return!(r-s>ga||t&&r-t<=ga)}function Xt(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function JE(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const r=Xt(n);return s=>r.then(i=>s(i.transaction(t,"readwrite").objectStore(t)))}function Fi(e){return Xt(e.getAllKeys())}function QE(e,t,n){return e(r=>Fi(r).then(s=>{if(!(s.length>=n))return r.put(t,Math.max(...s,0)+1),Xt(r.transaction)}))}function ZE(e,t,n){return e(r=>Fi(r).then(s=>{if(!(s.length>=n))return r.put(t,Math.min(...s,0)-1),Xt(r.transaction)}))}function eb(e){return e(t=>Fi(t).then(n=>{const r=n[0];if(r!=null)return Xt(t.get(r)).then(s=>(t.delete(r),Xt(t.transaction).then(()=>s)))}))}function tb(e){let t;function n(){return t==null&&(t=JE(e.dbName||"sentry-offline",e.storeName||"queue")),t}return{push:async r=>{try{const s=await pr(r);await QE(n(),s,e.maxQueueSize||30)}catch{}},unshift:async r=>{try{const s=await pr(r);await ZE(n(),s,e.maxQueueSize||30)}catch{}},shift:async()=>{try{const r=await eb(n());if(r)return Ud(r)}catch{}}}}function nb(e){return t=>{const n=e({...t,createStore:tb});return D.addEventListener("online",async r=>{await n.flush()}),n}}function rb(e=yi){return nb(fp(e))}const _a=1e6,sb="window"in L&&L.window===L&&typeof importScripts>"u",rt=String(0),Rr=sb?"main":"worker",Me=D.navigator;let al="",cl="",ul="",zs=(Me==null?void 0:Me.userAgent)||"",ll="";var va;const ib=(Me==null?void 0:Me.language)||((va=Me==null?void 0:Me.languages)==null?void 0:va[0])||"";function ob(e){return typeof e=="object"&&e!==null&&"getHighEntropyValues"in e}const Sa=Me==null?void 0:Me.userAgentData;ob(Sa)&&Sa.getHighEntropyValues(["architecture","model","platform","platformVersion","fullVersionList"]).then(e=>{var t;if(al=e.platform||"",ul=e.architecture||"",ll=e.model||"",cl=e.platformVersion||"",(t=e.fullVersionList)!=null&&t.length){const n=e.fullVersionList[e.fullVersionList.length-1];zs=`${n.brand} ${n.version}`}}).catch(e=>{});function ab(e){return!("thread_metadata"in e)}function cb(e){return ab(e)?hb(e):e}function ub(e){var n,r;const t=(r=(n=e.contexts)==null?void 0:n.trace)==null?void 0:r.trace_id;return typeof t=="string"&&t.length!==32&&I&&m.log(`[Profiling] Invalid traceId: ${t} on profiled event`),typeof t!="string"?"":t}function lb(e,t,n,r){if(r.type!=="transaction")throw new TypeError("Profiling events may only be attached to transactions, this should never occur.");if(n==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${n} instead.`);const s=ub(r),i=cb(n),o=t||(typeof r.start_timestamp=="number"?r.start_timestamp*1e3:ie()*1e3),c=typeof r.timestamp=="number"?r.timestamp*1e3:ie()*1e3;return{event_id:e,timestamp:new Date(o).toISOString(),platform:"javascript",version:"1",release:r.release||"",environment:r.environment||xr,runtime:{name:"javascript",version:D.navigator.userAgent},os:{name:al,version:cl,build_number:zs},device:{locale:ib,model:ll,manufacturer:zs,architecture:ul,is_emulator:!1},debug_meta:{images:fl(n.resources)},profile:i,transactions:[{name:r.transaction||"",id:r.event_id||fe(),trace_id:s,active_thread_id:rt,relative_start_ns:"0",relative_end_ns:((c-o)*1e6).toFixed(0)}]}}function db(e,t,n){var o,c;if(e==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${e} instead.`);const r=pb(e),s=t.getOptions(),i=(c=(o=t.getSdkMetadata)==null?void 0:o.call(t))==null?void 0:c.sdk;return{chunk_id:fe(),client_sdk:{name:(i==null?void 0:i.name)??"sentry.javascript.browser",version:(i==null?void 0:i.version)??"0.0.0"},profiler_id:n||fe(),platform:"javascript",version:"2",release:s.release??"",environment:s.environment??"production",debug_meta:{images:fl(e.resources)},profile:r}}function fb(e){try{if(!e||typeof e!="object")return{reason:"chunk is not an object"};const t=r=>typeof r=="string"&&/^[a-f0-9]{32}$/.test(r);if(!t(e.profiler_id))return{reason:"missing or invalid profiler_id"};if(!t(e.chunk_id))return{reason:"missing or invalid chunk_id"};if(!e.client_sdk)return{reason:"missing client_sdk metadata"};const n=e.profile;return n?!Array.isArray(n.frames)||!n.frames.length?{reason:"profile has no frames"}:!Array.isArray(n.stacks)||!n.stacks.length?{reason:"profile has no stacks"}:!Array.isArray(n.samples)||!n.samples.length?{reason:"profile has no samples"}:{valid:!0}:{reason:"missing profile data"}}catch(t){return{reason:`unknown validation error: ${t}`}}}function pb(e){const t=[];for(let c=0;c<e.frames.length;c++){const a=e.frames[c];a&&(t[c]={function:a.name,abs_path:typeof a.resourceId=="number"?e.resources[a.resourceId]:void 0,lineno:a.line,colno:a.column})}const n=[];for(let c=0;c<e.stacks.length;c++){const a=e.stacks[c];if(!a)continue;const u=[];let d=a;for(;d;)u.push(d.frameId),d=d.parentId===void 0?void 0:e.stacks[d.parentId];n[c]=u}const r=he(),s=typeof performance.timeOrigin=="number"?performance.timeOrigin:r||0,i=s-(r||s),o=[];for(let c=0;c<e.samples.length;c++){const a=e.samples[c];if(!a)continue;const u=(s+(a.timestamp-i))/1e3;o[c]={stack_id:a.stackId??0,thread_id:rt,timestamp:u}}return{frames:t,stacks:n,samples:o,thread_metadata:{[rt]:{name:Rr}}}}function dl(e){return U(e).op==="pageload"}function hb(e){let t,n=0;const r={samples:[],stacks:[],frames:[],thread_metadata:{[rt]:{name:Rr}}},s=e.samples[0];if(!s)return r;const i=s.timestamp,o=he(),c=typeof performance.timeOrigin=="number"?performance.timeOrigin:o||0,a=c-(o||c);return e.samples.forEach((u,d)=>{if(u.stackId===void 0){t===void 0&&(t=n,r.stacks[t]=[],n++),r.samples[d]={elapsed_since_start_ns:((u.timestamp+a-i)*_a).toFixed(0),stack_id:t,thread_id:rt};return}let l=e.stacks[u.stackId];const f=[];for(;l;){f.push(l.frameId);const h=e.frames[l.frameId];h&&r.frames[l.frameId]===void 0&&(r.frames[l.frameId]={function:h.name,abs_path:typeof h.resourceId=="number"?e.resources[h.resourceId]:void 0,lineno:h.line,colno:h.column}),l=l.parentId===void 0?void 0:e.stacks[l.parentId]}const p={elapsed_since_start_ns:((u.timestamp+a-i)*_a).toFixed(0),stack_id:n,thread_id:rt};r.stacks[n]=f,r.samples[d]=p,n++}),r}function mb(e,t){if(!t.length)return e;for(const n of t)e[1].push([{type:"profile"},n]);return e}function gb(e){const t=[];return dr(e,(n,r)=>{var s,i;if(r==="transaction")for(let o=1;o<n.length;o++){const c=n[o];(i=(s=c==null?void 0:c.contexts)==null?void 0:s.profile)!=null&&i.profile_id&&t.push(n[o])}}),t}function fl(e){const t=H(),n=t==null?void 0:t.getOptions(),r=n==null?void 0:n.stackParser;return r?Sf(r,e):[]}function pl(e){return typeof e!="number"&&typeof e!="boolean"||typeof e=="number"&&isNaN(e)?(I&&m.warn(`[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`),!1):e===!0||e===!1?!0:e<0||e>1?(I&&m.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${e}.`),!1):!0}function _b(e){return e.samples.length<2?(I&&m.log("[Profiling] Discarding profile because it contains less than 2 samples"),!1):e.frames.length?!0:(I&&m.log("[Profiling] Discarding profile because it contains no frames"),!1)}let Bi=!1;const hl=3e4;function Sb(e){return typeof e=="function"}function ml(){const e=D.Profiler;if(!Sb(e)){I&&m.log("[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object.");return}const t=10,n=Math.floor(hl/t);try{return new e({sampleInterval:t,maxBufferSize:n})}catch{I&&(m.log("[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header."),m.log("[Profiling] Disabling profiling for current user session.")),Bi=!0}}function ya(e){if(Bi)return I&&m.log("[Profiling] Profiling has been disabled for the duration of the current user session."),!1;if(!e.isRecording())return I&&m.log("[Profiling] Discarding profile because root span was not sampled."),!1;const t=H(),n=t==null?void 0:t.getOptions();if(!n)return I&&m.log("[Profiling] Profiling disabled, no options found."),!1;const r=n.profilesSampleRate;return pl(r)?r?(r===!0?!0:Math.random()<r)?!0:(I&&m.log(`[Profiling] Discarding profile because it's not included in the random sample (sampling rate = ${Number(r)})`),!1):(I&&m.log("[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0"),!1):(I&&m.warn("[Profiling] Discarding profile because of invalid sample rate."),!1)}function yb(e){if(Bi)return I&&m.log("[Profiling] Profiling has been disabled for the duration of the current user session."),!1;if(e.profileLifecycle!=="trace")return!1;const t=e.profileSessionSampleRate;return pl(t)?t?Math.random()<=t:(I&&m.log("[Profiling] Discarding profile because profileSessionSampleRate is not defined or set to 0"),!1):(I&&m.warn("[Profiling] Discarding profile because of invalid profileSessionSampleRate."),!1)}function Xn(e){return typeof e.profilesSampleRate<"u"}function Eb(e,t,n,r){return _b(n)?lb(e,t,n,r):null}const gt=new Map;function bb(){return gt.size}function Tb(e){const t=gt.get(e);return t&&gt.delete(e),t}function vb(e,t){if(gt.set(e,t),gt.size>30){const n=gt.keys().next().value;n!==void 0&&gt.delete(n)}}function Ib(e){var t,n,r,s,i;return!((t=e==null?void 0:e.contexts)!=null&&t.profile)||!e.contexts||(e.contexts.trace={...((n=e.contexts)==null?void 0:n.trace)??{},data:{...((s=(r=e.contexts)==null?void 0:r.trace)==null?void 0:s.data)??{},"thread.id":rt,"thread.name":Rr}},(i=e.spans)==null||i.forEach(o=>{o.data={...o.data||{},"thread.id":rt,"thread.name":Rr}})),e}function Ea(e){let t;dl(e)&&(t=ie()*1e3);const n=ml();if(!n)return;I&&m.log(`[Profiling] started profiling span: ${U(e).description}`);const r=fe();let s=null;G().setContext("profile",{profile_id:r,start_timestamp:t});async function i(){if(e&&n){if(s){I&&m.log("[Profiling] profile for:",U(e).description,"already exists, returning early");return}return n.stop().then(u=>{if(o&&(D.clearTimeout(o),o=void 0),I&&m.log(`[Profiling] stopped profiling of span: ${U(e).description}`),!u){I&&m.log(`[Profiling] profiler returned null profile for: ${U(e).description}`,"this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started");return}s=u,vb(r,u)}).catch(u=>{I&&m.log("[Profiling] error while stopping profiler:",u)})}}let o=D.setTimeout(()=>{I&&m.log("[Profiling] max profile duration elapsed, stopping profiling for:",U(e).description),i()},hl);const c=e.end.bind(e);function a(){return e?(i().then(()=>{c()},()=>{c()}),e):c()}e.end=a}const wb=6e4,kb=3e5;class Rb{constructor(){this._client=void 0,this._profiler=void 0,this._chunkTimer=void 0,this._activeRootSpanIds=new Set,this._rootSpanTimeouts=new Map,this._profilerId=void 0,this._isRunning=!1,this._sessionSampled=!1}initialize(t,n){this._profilerId=fe(),I&&m.log("[Profiling] Initializing profiler (lifecycle='trace')."),this._client=t,this._sessionSampled=n,this._setupTraceLifecycleListeners(t)}notifyRootSpanActive(t){if(!this._sessionSampled)return;const n=t.spanContext().spanId;if(!n||this._activeRootSpanIds.has(n))return;this._activeRootSpanIds.add(n);const r=this._activeRootSpanIds.size;r===1&&(I&&m.log("[Profiling] Detected already active root span during setup. Active root spans now:",r),this.start())}start(){if(!this._isRunning){if(this._isRunning=!0,I&&m.log("[Profiling] Started profiling with profile ID:",this._profilerId),cr().setContext("profile",{profiler_id:this._profilerId}),this._startProfilerInstance(),!this._profiler){I&&m.log("[Profiling] Stopping trace lifecycle profiling."),this._resetProfilerInfo();return}this._startPeriodicChunking()}}stop(){this._isRunning&&(this._isRunning=!1,this._chunkTimer&&(clearTimeout(this._chunkTimer),this._chunkTimer=void 0),this._clearAllRootSpanTimeouts(),this._collectCurrentChunk().catch(t=>{I&&m.error("[Profiling] Failed to collect current profile chunk on `stop()`:",t)}))}_setupTraceLifecycleListeners(t){t.on("spanStart",n=>{if(!this._sessionSampled){I&&m.log("[Profiling] Session not sampled because of negative sampling decision.");return}if(n!==le(n))return;if(!n.isRecording()){I&&m.log("[Profiling] Discarding profile because root span was not sampled.");return}const r=n.spanContext().spanId;if(!r||this._activeRootSpanIds.has(r))return;this._registerTraceRootSpan(r);const s=this._activeRootSpanIds.size;s===1&&(I&&m.log(`[Profiling] Root span ${r} started. Profiling active while there are active root spans (count=${s}).`),this.start())}),t.on("spanEnd",n=>{if(!this._sessionSampled)return;const r=n.spanContext().spanId;if(!r||!this._activeRootSpanIds.has(r))return;this._activeRootSpanIds.delete(r);const s=this._activeRootSpanIds.size;I&&m.log(`[Profiling] Root span with ID ${r} ended. Will continue profiling for as long as there are active root spans (currently: ${s}).`),s===0&&(this._collectCurrentChunk().catch(i=>{I&&m.error("[Profiling] Failed to collect current profile chunk on last `spanEnd`:",i)}),this.stop())})}_resetProfilerInfo(){this._isRunning=!1,cr().setContext("profile",{})}_clearAllRootSpanTimeouts(){this._rootSpanTimeouts.forEach(t=>clearTimeout(t)),this._rootSpanTimeouts.clear()}_registerTraceRootSpan(t){this._activeRootSpanIds.add(t);const n=setTimeout(()=>this._onRootSpanTimeout(t),kb);this._rootSpanTimeouts.set(t,n)}_startProfilerInstance(){var n;if(((n=this._profiler)==null?void 0:n.stopped)===!1)return;const t=ml();if(!t){I&&m.log("[Profiling] Failed to start JS Profiler in trace lifecycle.");return}this._profiler=t}_startPeriodicChunking(){this._isRunning&&(this._chunkTimer=setTimeout(()=>{if(this._collectCurrentChunk().catch(t=>{I&&m.error("[Profiling] Failed to collect current profile chunk during periodic chunking:",t)}),this._isRunning){if(this._startProfilerInstance(),!this._profiler){this._resetProfilerInfo();return}this._startPeriodicChunking()}},wb))}_onRootSpanTimeout(t){if(!this._rootSpanTimeouts.has(t)||(this._rootSpanTimeouts.delete(t),!this._activeRootSpanIds.has(t)))return;I&&m.log(`[Profiling] Reached 5-minute timeout for root span ${t}. You likely started a manual root span that never called \`.end()\`.`),this._activeRootSpanIds.delete(t),this._activeRootSpanIds.size===0&&this.stop()}async _collectCurrentChunk(){const t=this._profiler;if(this._profiler=void 0,!!t)try{const n=await t.stop(),r=db(n,this._client,this._profilerId),s=fb(r);if("reason"in s){I&&m.log("[Profiling] Discarding invalid profile chunk (this is probably a bug in the SDK):",s.reason);return}this._sendProfileChunk(r),I&&m.log("[Profiling] Collected browser profile chunk.")}catch(n){I&&m.log("[Profiling] Error while stopping JS Profiler for chunk:",n)}}_sendProfileChunk(t){var c;const n=this._client,r=Ar((c=n.getSdkMetadata)==null?void 0:c.call(n)),s=n.getDsn(),i=n.getOptions().tunnel,o=Qe({event_id:fe(),sent_at:new Date().toISOString(),...r&&{sdk:r},...!!i&&s&&{dsn:Mt(s)}},[[{type:"profile_chunk"},t]]);n.sendEnvelope(o).then(null,a=>{I&&m.error("Error while sending profile chunk envelope:",a)})}}const Cb="BrowserProfiling",Mb=()=>({name:Cb,setup(e){const t=e.getOptions();if(!Xn(t)&&!t.profileLifecycle&&(t.profileLifecycle="manual"),Xn(t)&&!t.profilesSampleRate){I&&m.log("[Profiling] Profiling disabled, no profiling options found.");return}const n=pe(),r=n&&le(n);if(Xn(t)&&t.profileSessionSampleRate!==void 0&&I&&m.warn("[Profiling] Both legacy profiling (`profilesSampleRate`) and UI profiling settings are defined. `profileSessionSampleRate` has no effect when legacy profiling is enabled."),Xn(t))r&&dl(r)&&ya(r)&&Ea(r),e.on("spanStart",s=>{s===le(s)&&ya(s)&&Ea(s)}),e.on("beforeEnvelope",s=>{var c,a;if(!bb())return;const i=gb(s);if(!i.length)return;const o=[];for(const u of i){const d=u==null?void 0:u.contexts,l=(c=d==null?void 0:d.profile)==null?void 0:c.profile_id,f=(a=d==null?void 0:d.profile)==null?void 0:a.start_timestamp;if(typeof l!="string"){I&&m.log("[Profiling] cannot find profile for a span without a profile context");continue}if(!l){I&&m.log("[Profiling] cannot find profile for a span without a profile context");continue}d!=null&&d.profile&&delete d.profile;const p=Tb(l);if(!p){I&&m.log(`[Profiling] Could not retrieve profile for span: ${l}`);continue}const h=Eb(l,f,p,u);h&&o.push(h)}mb(s,o)});else{const s=yb(t);if(s||I&&m.log("[Profiling] Session not sampled. Skipping lifecycle profiler initialization."),t.profileLifecycle==="trace"){if(!Ne(t)){I&&m.warn("[Profiling] `profileLifecycle` is 'trace' but tracing is disabled. Set a `tracesSampleRate` or `tracesSampler` to enable span tracing.");return}const o=new Rb;o.initialize(e,s),r&&o.notifyRootSpanActive(r),D.setTimeout(()=>{const c=pe(),a=c&&le(c);a&&o.notifyRootSpanActive(a)},0)}}},processEvent(e){return Ib(e)}}),xb=Mb;function Ab(e){const t={...e};return Oc(t,"react"),gc("react",{version:Ia.version}),Xg(t)}const Nb=new WeakSet;function Ob(e,t){const n=GE({...e,instrumentPageLoad:!1,instrumentNavigation:!1}),{useEffect:r,useLocation:s,useNavigationType:i,createRoutesFromChildren:o,matchRoutes:c,stripBasename:a,enableAsyncRouteHandlers:u=!1,instrumentPageLoad:d=!0,instrumentNavigation:l=!0}=e;return{...n,setup(f){n.setup(f)},afterAllSetup(f){var h;n.afterAllSetup(f);const p=(h=D.location)==null?void 0:h.pathname;d&&p&&Di(f,{name:p,attributes:{[xe]:"url",[Ue]:"pageload",[ae]:`auto.pageload.react.reactrouter_v${t}`}}),l&&Nb.add(f)}}}function Pb(e){return Ob(e,"6")}var ba={};const Lb=ba.CI==="true"||ba.GITHUB_ACTIONS==="true",Db={enabled:!0,environment:Lb?"github-ci":"production",release:"spotlight@4.9.0",tracesSampleRate:1,enableLogs:!0},Fb=["sentryTrace","baggage"];function Bb(e=!0){const t=[Pb({instrumentPageLoad:e,useEffect:Ia.useEffect,useLocation:Tl,useNavigationType:bl,createRoutesFromChildren:El,matchRoutes:yl}),CE(),xb(),sh({levels:["log","info","warn","error","debug"]})],n=document.location.hash.slice(1);if(n.startsWith("spotlight")){const r=n.indexOf("="),s=r>-1?decodeURIComponent(n.slice(r+1)):void 0;t.push(qg({sidecarUrl:s}))}return t}function Hb(){const e=Fb.map(s=>[s,Sl(s)]),t=e.every(([,s])=>!!s),n=Bb(!t),r=Ab({...Db,transport:rb(yi),dsn:"https://51bcd92dba1128934afd1c5726c84442@o1.ingest.us.sentry.io/4508404727283713",integrations:n,tracePropagationTargets:[/^\//,document.location.origin],profilesSampleRate:1,replaysSessionSampleRate:.01,replaysOnErrorSampleRate:1});t&&r&&Di(r,{name:"pageload"},Object.fromEntries(e))}export{Hb as default,Bb as getIntegrations};
25
25
  //# sourceMappingURL=instrumentation.js.map