@mevdragon/vidfarm-devcli 0.18.1 → 0.19.1

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.
Files changed (47) hide show
  1. package/.agents/skills/editor-capabilities/SKILL.md +166 -0
  2. package/.agents/skills/editor-capabilities/references/re-theme-walkthrough.md +58 -0
  3. package/.agents/skills/vidfarm-media/SKILL.md +2 -0
  4. package/SKILL.director.md +174 -16
  5. package/SKILL.platform.md +7 -3
  6. package/demo/dist/app.css +1 -1
  7. package/demo/dist/app.js +79 -75
  8. package/dist/src/account-pages-legacy.js +1 -1
  9. package/dist/src/app.js +1694 -217
  10. package/dist/src/cli.js +1365 -105
  11. package/dist/src/config.js +8 -0
  12. package/dist/src/devcli/clips.js +3 -0
  13. package/dist/src/devcli/composition-edit.js +401 -10
  14. package/dist/src/devcli/local-backend.js +123 -0
  15. package/dist/src/devcli/migrate-local.js +140 -0
  16. package/dist/src/devcli/sync.js +311 -0
  17. package/dist/src/devcli/timeline-edit.js +208 -1
  18. package/dist/src/editor-chat.js +37 -18
  19. package/dist/src/frontend/file-directory.js +271 -20
  20. package/dist/src/frontend/homepage-view.js +3 -3
  21. package/dist/src/frontend/template-editor-chat.js +6 -3
  22. package/dist/src/page-shell.js +1 -1
  23. package/dist/src/primitive-context.js +31 -2
  24. package/dist/src/primitive-registry.js +409 -4
  25. package/dist/src/reskin/chat-page.js +103 -15
  26. package/dist/src/reskin/discover-page.js +247 -10
  27. package/dist/src/reskin/document.js +147 -10
  28. package/dist/src/reskin/inpaint-clipper-page.js +649 -0
  29. package/dist/src/reskin/inpaint-page.js +2459 -452
  30. package/dist/src/reskin/inpaint-video-page.js +1339 -0
  31. package/dist/src/reskin/library-page.js +324 -82
  32. package/dist/src/reskin/portfolio-page.js +687 -0
  33. package/dist/src/reskin/theme.js +36 -11
  34. package/dist/src/services/billing.js +4 -0
  35. package/dist/src/services/clip-curation/hunt.js +2 -0
  36. package/dist/src/services/clip-records.js +28 -0
  37. package/dist/src/services/file-directory.js +6 -3
  38. package/dist/src/services/hyperframes.js +535 -86
  39. package/dist/src/services/serverless-jobs.js +3 -1
  40. package/dist/src/services/serverless-records.js +43 -0
  41. package/dist/src/services/storage.js +24 -2
  42. package/dist/src/template-editor-pages.js +1 -1
  43. package/package.json +1 -1
  44. package/public/assets/file-directory-app.js +2 -2
  45. package/public/assets/homepage-client-app.js +1 -1
  46. package/public/assets/page-runtime-client-app.js +2 -2
  47. package/public/assets/placeholders/scene-placeholder.png +0 -0
@@ -28,7 +28,7 @@ Error:`,o)}}function Kx(){return ly(e=>{aa("cls",{metric:e}),gy=e},{reportAllCha
28
28
  `).reduce((r,n)=>{let[o,i]=n.split(": ");return i&&(r[o.toLowerCase()]=i),r},{}):{}}function mf(e){if(typeof Element>"u")return!1;try{return e instanceof Element}catch{return!1}}var P1=40;function Ny(e,t=Nc("fetch")){let r=0,n=0;async function o(i){let s=i.body.length;r+=s,n++;let a={body:i.body,method:"POST",referrerPolicy:"strict-origin",headers:e.headers,keepalive:r<=6e4&&n<15,...e.fetchOptions};try{let l=await t(e.url,a);return{statusCode:l.status,headers:{"x-sentry-rate-limits":l.headers.get("X-Sentry-Rate-Limits"),"retry-after":l.headers.get("Retry-After")}}}catch(l){throw ff("fetch"),l}finally{r-=s,n--}}return tc(e,o,Co(e.bufferSize||P1))}var xe=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var U1=30;var B1=50;function gf(e,t,r,n){let o={filename:e,function:t==="<anonymous>"?"?":t,in_app:!0};return r!==void 0&&(o.lineno=r),n!==void 0&&(o.colno=n),o}var F1=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,H1=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,z1=/\((\S*)(?::(\d+))(?::(\d+))\)/,$1=/at (.+?) ?\(data:(.+?),/,W1=e=>{let t=e.match($1);if(t)return{filename:`<data:${t[2]}>`,function:t[1]};let r=F1.exec(e);if(r){let[,o,i,s]=r;return gf(o,"?",+i,+s)}let n=H1.exec(e);if(n){if(n[2]?.indexOf("eval")===0){let a=z1.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}let[i,s]=My(n[1]||"?",n[2]);return gf(s,i,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}},j1=[U1,W1],G1=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,V1=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Y1=e=>{let t=G1.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){let i=V1.exec(t[3]);i&&(t[1]=t[1]||"eval",t[3]=i[1],t[4]=i[2],t[5]="")}let n=t[3],o=t[1]||"?";return[o,n]=My(o,n),gf(n,o,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},q1=[B1,Y1];var K1=[j1,q1],Ay=ys(...K1),My=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,n=e.indexOf("safari-web-extension")!==-1;return r||n?[e.indexOf("@")!==-1?e.split("@")[0]:"?",r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var Oc=1024,X1="Breadcrumbs",J1=((e={})=>{let t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:X1,setup(r){t.console&&Dp(eR(r)),t.dom&&ua(Q1(r,t.dom)),t.xhr&&da(tR(r)),t.fetch&&Pn(rR(r)),t.history&&pn(nR(r)),t.sentry&&r.on("beforeSendEvent",Z1(r))}}}),Ly=J1;function Z1(e){return function(r){P()===e&&Wt({category:`sentry.${r.type==="transaction"?"transaction":"event"}`,event_id:r.event_id,level:r.level,message:Tr(r)},{event:r})}}function Q1(e,t){return function(n){if(P()!==e)return;let o,i,s=typeof t=="object"?t.serializeAttribute:void 0,a=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;a&&a>Oc&&(xe&&T.warn(`\`dom.maxStringLength\` cannot exceed ${Oc}, but a value of ${a} was configured. Sentry will use ${Oc} instead.`),a=Oc),typeof s=="string"&&(s=[s]);try{let c=n.event,u=oR(c)?c.target:c;o=pe(u,{keyAttrs:s,maxStringLength:a}),i=Ti(u)}catch{o="<unknown>"}if(o.length===0)return;let l={category:`ui.${n.name}`,message:o};i&&(l.data={"ui.component_name":i}),Wt(l,{event:n.event,name:n.name,global:n.global})}}function eR(e){return function(r){if(P()!==e)return;let n={category:"console",data:{arguments:r.args,logger:"console"},level:Ei(r.level),message:Cs(r.args," ")};if(r.level==="assert")if(r.args[0]===!1)n.message=`Assertion failed: ${Cs(r.args.slice(1)," ")||"console.assert"}`,n.data.arguments=r.args.slice(1);else return;Wt(n,{input:r.args,level:r.level})}}function tR(e){return function(r){if(P()!==e)return;let{startTimestamp:n,endTimestamp:o}=r,i=r.xhr[Ir];if(!n||!o||!i)return;let{method:s,url:a,status_code:l,body:c}=i,u={method:s,url:a,status_code:l},d={xhr:r.xhr,input:c,startTimestamp:n,endTimestamp:o},p={category:"xhr",data:u,type:"http",level:uc(l)};e.emit("beforeOutgoingRequestBreadcrumb",p,d),Wt(p,d)}}function rR(e){return function(r){if(P()!==e)return;let{startTimestamp:n,endTimestamp:o}=r;if(o&&!(r.fetchData.url.match(/sentry_key/)&&r.fetchData.method==="POST"))if(r.error){let i={data:r.error,input:r.args,startTimestamp:n,endTimestamp:o},s={category:"fetch",data:r.fetchData,level:"error",type:"http"};e.emit("beforeOutgoingRequestBreadcrumb",s,i),Wt(s,i)}else{let i=r.response,s={...r.fetchData,status_code:i?.status},a={input:r.args,response:i,startTimestamp:n,endTimestamp:o},l={category:"fetch",data:s,type:"http",level:uc(s.status_code)};e.emit("beforeOutgoingRequestBreadcrumb",l,a),Wt(l,a)}}}function nR(e){return function(r){if(P()!==e)return;let n=r.from,o=r.to,i=or(F.location.href),s=n?or(n):void 0,a=or(o);s?.path||(s=i),i.protocol===a.protocol&&i.host===a.host&&(o=a.relative),i.protocol===s.protocol&&i.host===s.host&&(n=s.relative),Wt({category:"navigation",data:{from:n,to:o}})}}function oR(e){return!!e&&!!e.target}var iR="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".split(","),sR="BrowserApiErrors",aR=((e={})=>{let t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:sR,setupOnce(){t.setTimeout&&Ae(F,"setTimeout",Oy),t.setInterval&&Ae(F,"setInterval",Oy),t.requestAnimationFrame&&Ae(F,"requestAnimationFrame",lR),t.XMLHttpRequest&&"XMLHttpRequest"in F&&Ae(XMLHttpRequest.prototype,"send",cR);let r=t.eventTarget;r&&(Array.isArray(r)?r:iR).forEach(o=>uR(o,t))}}}),Dy=aR;function Oy(e){return function(...t){let r=t[0];return t[0]=No(r,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${vt(e)}`}}),e.apply(this,t)}}function lR(e){return function(t){return e.apply(this,[No(t,{mechanism:{data:{handler:vt(e)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function cR(e){return function(...t){let r=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(o=>{o in r&&typeof r[o]=="function"&&Ae(r,o,function(i){let s={mechanism:{data:{handler:vt(i)},handled:!1,type:`auto.browser.browserapierrors.xhr.${o}`}},a=Cn(i);return a&&(s.mechanism.data.handler=vt(a)),No(i,s)})}),e.apply(this,t)}}function uR(e,t){let n=F[e]?.prototype;n?.hasOwnProperty?.("addEventListener")&&(Ae(n,"addEventListener",function(o){return function(i,s,a){try{dR(s)&&(s.handleEvent=No(s.handleEvent,{mechanism:{data:{handler:vt(s),target:e},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return t.unregisterOriginalCallbacks&&pR(this,i,s),o.apply(this,[i,No(s,{mechanism:{data:{handler:vt(s),target:e},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),a])}}),Ae(n,"removeEventListener",function(o){return function(i,s,a){try{let l=s.__sentry_wrapped__;l&&o.call(this,i,l,a)}catch{}return o.call(this,i,s,a)}}))}function dR(e){return typeof e.handleEvent=="function"}function pR(e,t,r){e&&typeof e=="object"&&"removeEventListener"in e&&typeof e.removeEventListener=="function"&&e.removeEventListener(t,r)}var Py=(e={})=>{let t=e.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof F.document>"u"){xe&&T.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Si({ignoreDuration:!0}),Ro();let r=be(),n=r.getUser();r.addScopeListener(o=>{let i=o.getUser();(n?.id!==i?.id||n?.ip_address!==i?.ip_address)&&(Ro(),n=i)}),t==="route"&&pn(({from:o,to:i})=>{o!==i&&(Si({ignoreDuration:!0}),Ro())})}}};var fR="CultureContext",mR=(()=>({name:fR,preprocessEvent(e){let t=Uy();t&&(e.contexts={...e.contexts,culture:{...t,...e.contexts?.culture}})},processSegmentSpan(e){let t=Uy();t&&On(e,{"culture.locale":t.locale,"culture.timezone":t.timezone,"culture.calendar":t.calendar})}})),By=mR;function Uy(){try{let e=F.Intl;if(!e)return;let t=e.DateTimeFormat().resolvedOptions();return{locale:t.locale,timezone:t.timeZone,calendar:t.calendar}}catch{return}}var gR="GlobalHandlers",hR=((e={})=>{let t={onerror:!0,onunhandledrejection:!0,...e};return{name:gR,setupOnce(){Error.stackTraceLimit=50},setup(r){t.onerror&&(SR(r),Fy("onerror")),t.onunhandledrejection&&(vR(r),Fy("onunhandledrejection"))}}}),Hy=hR;function SR(e){Ts(t=>{let{stackParser:r,attachStacktrace:n}=zy();if(P()!==e||zp())return;let{msg:o,url:i,line:s,column:a,error:l}=t,c=ER(gc(r,l||o,void 0,n,!1),i,s,a);c.level="error",hi(c,{originalException:l,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function vR(e){bs(t=>{let{stackParser:r,attachStacktrace:n}=zy();if(P()!==e||zp())return;let o=yR(t),i=Rt(o)?_R(o):gc(r,o,void 0,n,!0);i.level="error",hi(i,{originalException:o,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function yR(e){if(Rt(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 _R(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function ER(e,t,r,n){let o=e.exception=e.exception||{},i=o.values=o.values||[],s=i[0]=i[0]||{},a=s.stacktrace=s.stacktrace||{},l=a.frames=a.frames||[];return l.length===0&&l.push({colno:n,lineno:r,filename:TR(t)??Lt(),function:"?",in_app:!0}),e}function Fy(e){xe&&T.log(`Global Handler attached: ${e}`)}function zy(){return P()?.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}function TR(e){if(!(!lt(e)||e.length===0))return e.startsWith("data:")?`<${pt(e,!1)}>`:e}var $y=()=>({name:"HttpContext",preprocessEvent(e){if(!F.navigator&&!F.location&&!F.document)return;let t=bi(),r={...t.headers,...e.request?.headers};e.request={...t,...e.request,headers:r}},processSegmentSpan(e){if(!F.navigator&&!F.location&&!F.document)return;let t=bi();On(e,{"url.full":t.url||void 0,"http.request.header.user_agent":t.headers["User-Agent"],"http.request.header.referer":t.headers.Referer})}});var bR="cause",kR=5,wR="LinkedErrors",IR=((e={})=>{let t=e.limit||kR,r=e.key||bR;return{name:wR,preprocessEvent(n,o,i){let s=i.getOptions();Op(fc,s.stackParser,r,t,n,o)}}}),Wy=IR;var xR=/^HTML(\w*)Element$/;function fa(e){if(typeof window<"u"&&e===window)return"[Window]";if(typeof document<"u"&&e===document)return"[Document]";if(mf(e)){let t=RR(e);if(xR.test(t))return`[HTMLElement: ${pe(e)}]`}}function RR(e){let t=Object.getPrototypeOf(e);return t?.constructor?t.constructor.name:"null prototype"}function jy(){return CR()?(xe&&Je(()=>{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 CR(){if(typeof F.window>"u")return!1;let e=F;if(e.nw||!(e.chrome||e.browser)?.runtime?.id)return!1;let r=Lt();return!(F===F.top&&/^(?:chrome-extension|moz-extension|ms-browser-extension|safari-web-extension):\/\//.test(r))}function Gy(e){return[sc(),oc(),Pp(),Dy(),Ly(),Hy(),Wy(),lc(),$y(),By(),Py()]}function hf(e={}){let t=!e.skipBrowserExtensionCheck&&jy(),r=e.defaultIntegrations==null?Gy():e.defaultIntegrations,n={...e,enabled:t?!1:e.enabled,stackParser:Cl(e.stackParser||Ay),integrations:yp({integrations:e.integrations,defaultIntegrations:r}),transport:e.transport||Ny};return oi(fa),xp(hc,n)}function Dc(e={}){let t=F.document,r=t?.head||t?.body;if(!r){xe&&T.error("[showReportDialog] Global document not defined");return}let n=H(),i=P()?.getDsn();if(!i){xe&&T.error("[showReportDialog] DSN not configured");return}let s={...e,user:{...n.getUser(),...e.user},eventId:e.eventId||qs()},a=F.document.createElement("script");a.async=!0,a.crossOrigin="anonymous",a.src=Sp(i,s);let{onLoad:l,onClose:c}=s;if(l&&(a.onload=l),c){let u=d=>{if(d.data==="__sentry_reportdialog_closed__")try{c()}finally{F.removeEventListener("message",u)}};F.addEventListener("message",u)}r.appendChild(a)}var he=U,Vf="sentryReplaySession",NR="replay_event",Yf="Unable to send Replay",AR=3e5,MR=9e5,LR=5e3,OR=5500,DR=6e4,PR=5e3,UR=3,Vy=15e4,Pc=5e3,BR=3e3,FR=300,qf=2e7,HR=4999,zR=5e4,Yy=36e5,$R=Object.defineProperty,WR=(e,t,r)=>t in e?$R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qy=(e,t,r)=>WR(e,typeof t!="symbol"?t+"":t,r),Fe=(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))(Fe||{});function jR(e){return e.nodeType===e.ELEMENT_NODE}function ha(e){return e?.host?.shadowRoot===e}function Sa(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function GR(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 VR(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function zc(e){try{let t=e.rules||e.cssRules;return t?GR(Array.from(t,v_).join("")):null}catch{return null}}function YR(e){let t="";for(let r=0;r<e.style.length;r++){let n=e.style,o=n[r],i=n.getPropertyPriority(o);t+=`${o}:${n.getPropertyValue(o)}${i?" !important":""};`}return`${e.selectorText} { ${t} }`}function v_(e){let t;if(KR(e))try{t=zc(e.styleSheet)||VR(e)}catch{}else if(XR(e)){let r=e.cssText,n=e.selectorText.includes(":"),o=typeof e.style.all=="string"&&e.style.all;if(o&&(r=YR(e)),n&&(r=qR(r)),n||o)return r}return t||e.cssText}function qR(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function KR(e){return"styleSheet"in e}function XR(e){return"selectorText"in e}var $c=class{constructor(){qy(this,"idNodeMap",new Map),qy(this,"nodeMetaMap",new WeakMap)}getId(t){return t?this.getMeta(t)?.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){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(n=>this.removeNodeFromMap(n))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let n=r.id;this.idNodeMap.set(n,t),this.nodeMetaMap.set(t,r)}replace(t,r){let n=this.getNode(t);if(n){let o=this.nodeMetaMap.get(n);o&&this.nodeMetaMap.set(r,o)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function JR(){return new $c}function ru({maskInputOptions:e,tagName:t,type:r}){return t==="OPTION"&&(t="SELECT"),!!(e[t.toLowerCase()]||r&&e[r]||r==="password"||t==="INPUT"&&!r&&e.text)}function ya({isMasked:e,element:t,value:r,maskInputFn:n}){let o=r||"";return e?(n&&(o=n(o,t)),"*".repeat(o.length)):o}function Ui(e){return e.toLowerCase()}function Tf(e){return e.toUpperCase()}var Ky="__rrweb_original__";function ZR(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let n=0;n<e.width;n+=r)for(let o=0;o<e.height;o+=r){let i=t.getImageData,s=Ky in i?i[Ky]:i;if(new Uint32Array(s.call(t,n,o,Math.min(r,e.width-n),Math.min(r,e.height-o)).data.buffer).some(l=>l!==0))return!1}return!0}function Kf(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Ui(t):null}function Wc(e,t,r){return t==="INPUT"&&(r==="radio"||r==="checkbox")?e.getAttribute("value")||"":e.value}function y_(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let n=/\.([0-9a-z]+)(?:$)/i;return r.pathname.match(n)?.[1]??null}var Xy={};function __(e){let t=Xy[e];if(t)return t;let r=window.document,n=window[e];if(r&&typeof r.createElement=="function")try{let o=r.createElement("iframe");o.hidden=!0,r.head.appendChild(o);let i=o.contentWindow;i&&i[e]&&(n=i[e]),r.head.removeChild(o)}catch{}return Xy[e]=n.bind(window)}function bf(...e){return __("setTimeout")(...e)}function E_(...e){return __("clearTimeout")(...e)}function T_(e){try{return e.contentDocument}catch{}}function QR(e){try{return e.contentWindow}catch{}}var eC=1,tC=new RegExp("[^a-z0-9-_:]"),_a=-2;function Xf(){return eC++}function rC(e){if(e instanceof HTMLFormElement)return"form";let t=Ui(e.tagName);return tC.test(t)?"div":t}function nC(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var Ni,Jy,oC=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,iC=/^(?:[a-z+]+:)?\/\//i,sC=/^www\..*/i,aC=/^(data:)([^,]*),(.*)/i;function lC(e,t){if(!e||t.size===0)return e;try{let r=e.split(";"),n=[];for(let o of r){if(o=o.trim(),!o)continue;let i=o.indexOf(":");if(i===-1){n.push(o);continue}let s=o.slice(0,i).trim();t.has(s)||n.push(o)}return n.join("; ")+(n.length>0&&e.endsWith(";")?";":"")}catch(r){return console.warn("Error filtering CSS properties:",r),e}}function jc(e,t){return(e||"").replace(oC,(r,n,o,i,s,a)=>{let l=o||s||a,c=n||i||"";if(!l)return r;if(iC.test(l)||sC.test(l))return`url(${c}${l}${c})`;if(aC.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${nC(t)+l}${c})`;let u=t.split("/"),d=l.split("/");u.pop();for(let p of d)p!=="."&&(p===".."?u.pop():u.push(p));return`url(${c}${u.join("/")}${c})`})}var cC=/^[^ \t\n\r\u000c]+/,uC=/^[, \t\n\r\u000c]+/;function dC(e,t){if(t.trim()==="")return t;let r=0;function n(i){let s,a=i.exec(t.substring(r));return a?(s=a[0],r+=s.length,s):""}let o=[];for(;n(uC),!(r>=t.length);){let i=n(cC);if(i.slice(-1)===",")i=Li(e,i.substring(0,i.length-1)),o.push(i);else{let s="";i=Li(e,i);let a=!1;for(;;){let l=t.charAt(r);if(l===""){o.push((i+s).trim());break}else if(a)l===")"&&(a=!1);else if(l===","){r+=1,o.push((i+s).trim());break}else l==="("&&(a=!0);s+=l,r+=1}}}return o.join(", ")}var Zy=new WeakMap;function Li(e,t){return!t||t.trim()===""?t:nu(e,t)}function pC(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function nu(e,t){let r=Zy.get(e);if(r||(r=e.createElement("a"),Zy.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function b_(e,t,r,n,o,i,s){if(!n)return n;if(r==="src"||r==="href"&&!(t==="use"&&n[0]==="#"))return Li(e,n);if(r==="xlink:href"&&n[0]!=="#")return Li(e,n);if(r==="background"&&(t==="table"||t==="td"||t==="th"))return Li(e,n);if(r==="srcset")return dC(e,n);if(r==="style"){let a=jc(n,nu(e));return s&&s.size>0&&(a=lC(a,s)),a}else if(t==="object"&&r==="data")return Li(e,n);return typeof i=="function"?i(r,n,o):n}function k_(e,t,r){return(e==="video"||e==="audio")&&t==="autoplay"}function fC(e,t,r,n){try{if(n&&e.matches(n))return!1;if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let o=e.classList.length;o--;){let i=e.classList[o];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function mC(e,t){for(let r=e.classList.length;r--;){let n=e.classList[r];if(t.test(n))return!0}return!1}function Uo(e,t,r=1/0,n=0){return!e||e.nodeType!==e.ELEMENT_NODE||n>r?-1:t(e)?n:Uo(e.parentNode,t,r,n+1)}function Oi(e,t){return r=>{let n=r;if(n===null)return!1;try{if(e){if(typeof e=="string"){if(n.matches(`.${e}`))return!0}else if(mC(n,e))return!0}return!!(t&&n.matches(t))}catch{return!1}}}function Bi(e,t,r,n,o,i){try{let s=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(s===null)return!1;if(s.tagName==="INPUT"){let c=s.getAttribute("autocomplete");if(["current-password","new-password","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc"].includes(c))return!0}let a=-1,l=-1;if(i){if(l=Uo(s,Oi(n,o)),l<0)return!0;a=Uo(s,Oi(t,r),l>=0?l:1/0)}else{if(a=Uo(s,Oi(t,r)),a<0)return!1;l=Uo(s,Oi(n,o),a>=0?a:1/0)}return a>=0?l>=0?a<=l:!0:l>=0?!1:!!i}catch{}return!!i}function gC(e,t,r){let n=QR(e);if(!n)return;let o=!1,i;try{i=n.document.readyState}catch{return}if(i!=="complete"){let a=bf(()=>{o||(t(),o=!0)},r);e.addEventListener("load",()=>{E_(a),o=!0,t()});return}let s="about:blank";if(n.location.href!==s||e.src===s||e.src==="")return bf(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function hC(e,t,r){let n=!1,o;try{o=e.sheet}catch{o=null}if(o)return;let i=bf(()=>{n||(t(),n=!0)},r);e.addEventListener("load",()=>{E_(i),n=!0,t()})}function SC(e,t){let{doc:r,mirror:n,blockClass:o,blockSelector:i,unblockSelector:s,maskAllText:a,maskAttributeFn:l,maskTextClass:c,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:p,inlineStylesheet:f,maskInputOptions:h={},maskTextFn:y,maskInputFn:k,dataURLOptions:g={},inlineImages:S,recordCanvas:v,keepIframeSrcFn:E,newlyAddedElement:C=!1,ignoreCSSAttributes:R}=t,_=vC(r,n);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:Fe.Document,childNodes:[],compatMode:e.compatMode}:{type:Fe.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:Fe.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:_};case e.ELEMENT_NODE:return _C(e,{doc:r,blockClass:o,blockSelector:i,unblockSelector:s,inlineStylesheet:f,maskAttributeFn:l,maskInputOptions:h,maskInputFn:k,dataURLOptions:g,inlineImages:S,recordCanvas:v,keepIframeSrcFn:E,newlyAddedElement:C,rootId:_,maskTextClass:c,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:p,ignoreCSSAttributes:R});case e.TEXT_NODE:return yC(e,{doc:r,maskAllText:a,maskTextClass:c,unmaskTextClass:u,maskTextSelector:d,unmaskTextSelector:p,maskTextFn:y,maskInputOptions:h,maskInputFn:k,rootId:_});case e.CDATA_SECTION_NODE:return{type:Fe.CDATA,textContent:"",rootId:_};case e.COMMENT_NODE:return{type:Fe.Comment,textContent:e.textContent||"",rootId:_};default:return!1}}function vC(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function yC(e,t){let{maskAllText:r,maskTextClass:n,unmaskTextClass:o,maskTextSelector:i,unmaskTextSelector:s,maskTextFn:a,maskInputOptions:l,maskInputFn:c,rootId:u}=t,d=e.parentNode&&e.parentNode.tagName,p=e.textContent,f=d==="STYLE"?!0:void 0,h=d==="SCRIPT"?!0:void 0,y=d==="TEXTAREA"?!0:void 0;if(f&&p){try{e.nextSibling||e.previousSibling||e.parentNode.sheet?.cssRules&&(p=zc(e.parentNode.sheet))}catch(g){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${g}`,e)}p=jc(p,nu(t.doc))}h&&(p="SCRIPT_PLACEHOLDER");let k=Bi(e,n,i,o,s,r);if(!f&&!h&&!y&&p&&k&&(p=a?a(p,e.parentElement):p.replace(/[\S]/g,"*")),y&&p&&(l.textarea||k)&&(p=c?c(p,e.parentNode):p.replace(/[\S]/g,"*")),d==="OPTION"&&p){let g=ru({type:null,tagName:d,maskInputOptions:l});p=ya({isMasked:Bi(e,n,i,o,s,g),element:e,value:p,maskInputFn:c})}return{type:Fe.Text,textContent:p||"",isStyle:f,rootId:u}}function _C(e,t){let{doc:r,blockClass:n,blockSelector:o,unblockSelector:i,inlineStylesheet:s,maskInputOptions:a={},maskAttributeFn:l,maskInputFn:c,dataURLOptions:u={},inlineImages:d,recordCanvas:p,keepIframeSrcFn:f,newlyAddedElement:h=!1,rootId:y,maskTextClass:k,unmaskTextClass:g,maskTextSelector:S,unmaskTextSelector:v,ignoreCSSAttributes:E}=t,C=fC(e,n,o,i),R=rC(e),_={},w=e.attributes.length;for(let I=0;I<w;I++){let D=e.attributes[I];D.name&&!k_(R,D.name,D.value)&&(_[D.name]=b_(r,R,Ui(D.name),D.value,e,l,E))}if(R==="link"&&s){let I=Array.from(r.styleSheets).find(W=>W.href===e.href),D=null;I&&(D=zc(I)),D&&(_.rel=null,_.href=null,_.crossorigin=null,_._cssText=jc(D,I.href))}if(R==="style"&&e.sheet&&!(e.innerText||e.textContent||"").trim().length){let I=zc(e.sheet);I&&(_._cssText=jc(I,nu(r)))}if(R==="input"||R==="textarea"||R==="select"||R==="option"){let I=e,D=Kf(I),W=Wc(I,Tf(R),D),K=I.checked;if(D!=="submit"&&D!=="button"&&W){let V=Bi(I,k,S,g,v,ru({type:D,tagName:Tf(R),maskInputOptions:a}));_.value=ya({isMasked:V,element:I,value:W,maskInputFn:c})}K&&(_.checked=K)}if(R==="option"&&(e.selected&&!a.select?_.selected=!0:delete _.selected),R==="canvas"&&p){if(e.__context==="2d")ZR(e)||(_.rr_dataURL=e.toDataURL(u.type,u.quality));else if(!("__context"in e)){let I=e.toDataURL(u.type,u.quality),D=r.createElement("canvas");D.width=e.width,D.height=e.height;let W=D.toDataURL(u.type,u.quality);I!==W&&(_.rr_dataURL=I)}}if(R==="img"&&d){Ni||(Ni=r.createElement("canvas"),Jy=Ni.getContext("2d"));let I=e,D=I.currentSrc||I.getAttribute("src")||"<unknown-src>",W=I.crossOrigin,K=()=>{I.removeEventListener("load",K);try{Ni.width=I.naturalWidth,Ni.height=I.naturalHeight,Jy.drawImage(I,0,0),_.rr_dataURL=Ni.toDataURL(u.type,u.quality)}catch(V){if(I.crossOrigin!=="anonymous"){I.crossOrigin="anonymous",I.complete&&I.naturalWidth!==0?K():I.addEventListener("load",K);return}else console.warn(`Cannot inline img src=${D}! Error: ${V}`)}I.crossOrigin==="anonymous"&&(W?_.crossOrigin=W:I.removeAttribute("crossorigin"))};I.complete&&I.naturalWidth!==0?K():I.addEventListener("load",K)}if((R==="audio"||R==="video")&&(_.rr_mediaState=e.paused?"paused":"played",_.rr_mediaCurrentTime=e.currentTime),h||(e.scrollLeft&&(_.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(_.rr_scrollTop=e.scrollTop)),C){let{width:I,height:D}=e.getBoundingClientRect();_={class:_.class,rr_width:`${I}px`,rr_height:`${D}px`}}R==="iframe"&&!f(_.src)&&(!C&&!T_(e)&&(_.rr_src=_.src),delete _.src);let z;try{customElements.get(R)&&(z=!0)}catch{}return{type:Fe.Element,tagName:R,attributes:_,childNodes:[],isSVG:pC(e)||void 0,needBlock:C,rootId:y,isCustom:z}}function ge(e){return e==null?"":e.toLowerCase()}function EC(e,t){if(t.comment&&e.type===Fe.Comment)return!0;if(e.type===Fe.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"&&y_(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(ge(e.attributes.name).match(/^msapplication-tile(image|color)$/)||ge(e.attributes.name)==="application-name"||ge(e.attributes.rel)==="icon"||ge(e.attributes.rel)==="apple-touch-icon"||ge(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&ge(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(ge(e.attributes.property).match(/^(og|twitter|fb):/)||ge(e.attributes.name).match(/^(og|twitter):/)||ge(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(ge(e.attributes.name)==="robots"||ge(e.attributes.name)==="googlebot"||ge(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(ge(e.attributes.name)==="author"||ge(e.attributes.name)==="generator"||ge(e.attributes.name)==="framework"||ge(e.attributes.name)==="publisher"||ge(e.attributes.name)==="progid"||ge(e.attributes.property).match(/^article:/)||ge(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(ge(e.attributes.name)==="google-site-verification"||ge(e.attributes.name)==="yandex-verification"||ge(e.attributes.name)==="csrf-token"||ge(e.attributes.name)==="p:domain_verify"||ge(e.attributes.name)==="verify-v1"||ge(e.attributes.name)==="verification"||ge(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Di(e,t){let{doc:r,mirror:n,blockClass:o,blockSelector:i,unblockSelector:s,maskAllText:a,maskTextClass:l,unmaskTextClass:c,maskTextSelector:u,unmaskTextSelector:d,skipChild:p=!1,inlineStylesheet:f=!0,maskInputOptions:h={},maskAttributeFn:y,maskTextFn:k,maskInputFn:g,slimDOMOptions:S,dataURLOptions:v={},inlineImages:E=!1,recordCanvas:C=!1,onSerialize:R,onIframeLoad:_,iframeLoadTimeout:w=5e3,onBlockedImageLoad:z,onStylesheetLoad:I,stylesheetLoadTimeout:D=5e3,keepIframeSrcFn:W=()=>!1,newlyAddedElement:K=!1,ignoreCSSAttributes:V}=t,{preserveWhiteSpace:De=!0}=t,ue=SC(e,{doc:r,mirror:n,blockClass:o,blockSelector:i,maskAllText:a,unblockSelector:s,maskTextClass:l,unmaskTextClass:c,maskTextSelector:u,unmaskTextSelector:d,inlineStylesheet:f,maskInputOptions:h,maskAttributeFn:y,maskTextFn:k,maskInputFn:g,dataURLOptions:v,inlineImages:E,recordCanvas:C,keepIframeSrcFn:W,newlyAddedElement:K,ignoreCSSAttributes:V});if(!ue)return console.warn(e,"not serialized"),null;let fe;n.hasNode(e)?fe=n.getId(e):EC(ue,S)||!De&&ue.type===Fe.Text&&!ue.isStyle&&!ue.textContent.trim().length?fe=_a:fe=Xf();let L=Object.assign(ue,{id:fe});if(n.add(e,L),fe===_a)return null;R&&R(e);let b=!p;if(L.type===Fe.Element){b=b&&!L.needBlock;let x=e.shadowRoot;x&&Sa(x)&&(L.isShadowHost=!0)}if((L.type===Fe.Document||L.type===Fe.Element)&&b){S.headWhitespace&&L.type===Fe.Element&&L.tagName==="head"&&(De=!1);let x={doc:r,mirror:n,blockClass:o,blockSelector:i,maskAllText:a,unblockSelector:s,maskTextClass:l,unmaskTextClass:c,maskTextSelector:u,unmaskTextSelector:d,skipChild:p,inlineStylesheet:f,maskInputOptions:h,maskAttributeFn:y,maskTextFn:k,maskInputFn:g,slimDOMOptions:S,dataURLOptions:v,inlineImages:E,recordCanvas:C,preserveWhiteSpace:De,onSerialize:R,onIframeLoad:_,iframeLoadTimeout:w,onBlockedImageLoad:z,onStylesheetLoad:I,stylesheetLoadTimeout:D,keepIframeSrcFn:W,ignoreCSSAttributes:V},A=e.childNodes?Array.from(e.childNodes):[];for(let oe of A){let J=Di(oe,x);J&&L.childNodes.push(J)}if(jR(e)&&e.shadowRoot)for(let oe of Array.from(e.shadowRoot.childNodes)){let J=Di(oe,x);J&&(Sa(e.shadowRoot)&&(J.isShadow=!0),L.childNodes.push(J))}}if(e.parentNode&&ha(e.parentNode)&&Sa(e.parentNode)&&(L.isShadow=!0),L.type===Fe.Element&&L.tagName==="iframe"&&!L.needBlock&&gC(e,()=>{let x=T_(e);if(x&&_){let A=Di(x,{doc:x,mirror:n,blockClass:o,blockSelector:i,unblockSelector:s,maskAllText:a,maskTextClass:l,unmaskTextClass:c,maskTextSelector:u,unmaskTextSelector:d,skipChild:!1,inlineStylesheet:f,maskInputOptions:h,maskAttributeFn:y,maskTextFn:k,maskInputFn:g,slimDOMOptions:S,dataURLOptions:v,inlineImages:E,recordCanvas:C,preserveWhiteSpace:De,onSerialize:R,onIframeLoad:_,iframeLoadTimeout:w,onStylesheetLoad:I,stylesheetLoadTimeout:D,keepIframeSrcFn:W,ignoreCSSAttributes:V});A&&_(e,A)}},w),L.type===Fe.Element&&L.tagName==="img"&&!e.complete&&L.needBlock){let x=e,A=()=>{if(x.isConnected&&!x.complete&&z)try{let oe=x.getBoundingClientRect();oe.width>0&&oe.height>0&&z(x,L,oe)}catch{}x.removeEventListener("load",A)};x.isConnected&&x.addEventListener("load",A)}return L.type===Fe.Element&&L.tagName==="link"&&typeof L.attributes.rel=="string"&&(L.attributes.rel==="stylesheet"||L.attributes.rel==="preload"&&typeof L.attributes.href=="string"&&y_(L.attributes.href)==="css")&&hC(e,()=>{if(I){let x=Di(e,{doc:r,mirror:n,blockClass:o,blockSelector:i,unblockSelector:s,maskAllText:a,maskTextClass:l,unmaskTextClass:c,maskTextSelector:u,unmaskTextSelector:d,skipChild:!1,inlineStylesheet:f,maskInputOptions:h,maskAttributeFn:y,maskTextFn:k,maskInputFn:g,slimDOMOptions:S,dataURLOptions:v,inlineImages:E,recordCanvas:C,preserveWhiteSpace:De,onSerialize:R,onIframeLoad:_,iframeLoadTimeout:w,onStylesheetLoad:I,stylesheetLoadTimeout:D,keepIframeSrcFn:W,ignoreCSSAttributes:V});x&&I(e,x)}},D),L.type===Fe.Element&&delete L.needBlock,L}function TC(e,t){let{mirror:r=new $c,blockClass:n="rr-block",blockSelector:o=null,unblockSelector:i=null,maskAllText:s=!1,maskTextClass:a="rr-mask",unmaskTextClass:l=null,maskTextSelector:c=null,unmaskTextSelector:u=null,inlineStylesheet:d=!0,inlineImages:p=!1,recordCanvas:f=!1,maskAllInputs:h=!1,maskAttributeFn:y,maskTextFn:k,maskInputFn:g,slimDOM:S=!1,dataURLOptions:v,preserveWhiteSpace:E,onSerialize:C,onIframeLoad:R,iframeLoadTimeout:_,onBlockedImageLoad:w,onStylesheetLoad:z,stylesheetLoadTimeout:I,keepIframeSrcFn:D=()=>!1,ignoreCSSAttributes:W=new Set([])}=t||{};return Di(e,{doc:e,mirror:r,blockClass:n,blockSelector:o,unblockSelector:i,maskAllText:s,maskTextClass:a,unmaskTextClass:l,maskTextSelector:c,unmaskTextSelector:u,skipChild:!1,inlineStylesheet:d,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:y,maskTextFn:k,maskInputFn:g,slimDOMOptions:S===!0||S==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:S==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:S===!1?{}:S,dataURLOptions:v,inlineImages:p,recordCanvas:f,preserveWhiteSpace:E,onSerialize:C,onIframeLoad:R,iframeLoadTimeout:_,onBlockedImageLoad:w,onStylesheetLoad:z,stylesheetLoadTimeout:I,keepIframeSrcFn:D,newlyAddedElement:!1,ignoreCSSAttributes:W})}function bt(e,t,r=document){let n={capture:!0,passive:!0};return r.addEventListener(e,t,n),()=>r.removeEventListener(e,t,n)}var Ai=`Please stop import mirror directly. Instead of that,\r
29
29
  now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
30
30
  or you can use record.mirror to access the mirror instance during recording.`,Qy={map:{},getId(){return console.error(Ai),-1},getNode(){return console.error(Ai),null},removeNodeFromMap(){console.error(Ai)},has(){return console.error(Ai),!1},reset(){console.error(Ai)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Qy=new Proxy(Qy,{get(e,t,r){return t==="map"&&console.error(Ai),Reflect.get(e,t,r)}}));function Ea(e,t,r={}){let n=null,o=0;return function(...i){let s=Date.now();!o&&r.leading===!1&&(o=s);let a=t-(s-o),l=this;a<=0||a>t?(n&&(RC(n),n=null),o=s,e.apply(l,i)):!n&&r.trailing!==!1&&(n=ou(()=>{o=r.leading===!1?0:Date.now(),n=null,e.apply(l,i)},a))}}function w_(e,t,r,n,o=window){let i=o.Object.getOwnPropertyDescriptor(e,t);return o.Object.defineProperty(e,t,n?r:{set(s){ou(()=>{r.set.call(this,s)},0),i&&i.set&&i.set.call(this,s)}}),()=>w_(e,t,i||{},!0)}function Jf(e,t,r){try{if(!(t in e))return()=>{};let n=e[t],o=r(n);return typeof o=="function"&&(o.prototype=o.prototype||{},Object.defineProperties(o,{__rrweb_original__:{enumerable:!1,value:n}})),e[t]=o,()=>{e[t]=n}}catch{return()=>{}}}var Gc=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Gc=()=>new Date().getTime());function I_(e){let t=e.document;return{left:t.scrollingElement?t.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:t?.documentElement.scrollLeft||t?.body?.parentElement?.scrollLeft||t?.body?.scrollLeft||0,top:t.scrollingElement?t.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:t?.documentElement.scrollTop||t?.body?.parentElement?.scrollTop||t?.body?.scrollTop||0}}function x_(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function R_(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function C_(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function jt(e,t,r,n,o){if(!e)return!1;let i=C_(e);if(!i)return!1;let s=Oi(t,r);if(!o){let c=n&&i.matches(n);return s(i)&&!c}let a=Uo(i,s),l=-1;return a<0?!1:(n&&(l=Uo(i,Oi(null,n))),a>-1&&l<0?!0:a<l)}function bC(e,t){return t.getId(e)!==-1}function Sf(e,t){return t.getId(e)===_a}function N_(e,t){if(ha(e))return!1;let r=t.getId(e);return t.has(r)?e.parentNode&&e.parentNode.nodeType===e.DOCUMENT_NODE?!1:e.parentNode?N_(e.parentNode,t):!0:!0}function kf(e){return!!e.changedTouches}function kC(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 r=t[0];if(!(0 in t))throw new TypeError("1 argument is required");do if(this===r)return!0;while(r=r&&r.parentNode);return!1})}function A_(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function M_(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function wf(e){return!!e?.shadowRoot}var If=class{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,r){if(this.has(t))return this.getId(t);let n;return r===void 0?n=this.id++:n=r,this.styleIDMap.set(t,n),this.idStyleMap.set(n,t),n}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 L_(e){let t=null;return e.getRootNode?.()?.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.getRootNode().host&&(t=e.getRootNode().host),t}function wC(e){let t=e,r;for(;r=L_(t);)t=r;return t}function IC(e){let t=e.ownerDocument;if(!t)return!1;let r=wC(e);return t.contains(r)}function O_(e){let t=e.ownerDocument;return t?t.contains(e)||IC(e):!1}var e_={};function Zf(e){let t=e_[e];if(t)return t;let r=window.document,n=window[e];if(r&&typeof r.createElement=="function")try{let o=r.createElement("iframe");o.hidden=!0,r.head.appendChild(o);let i=o.contentWindow;i&&i[e]&&(n=i[e]),r.head.removeChild(o)}catch{}return e_[e]=n.bind(window)}function xC(...e){return Zf("requestAnimationFrame")(...e)}function ou(...e){return Zf("setTimeout")(...e)}function RC(...e){return Zf("clearTimeout")(...e)}var q=(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))(q||{}),Y=(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))(Y||{}),Tt=(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))(Tt||{}),fn=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(fn||{}),Mi=(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))(Mi||{}),va;function CC(e){va=e}function NC(){va=void 0}var te=e=>va?((...r)=>{try{return e(...r)}catch(n){if(va&&va(n)===!0)return()=>{};throw n}}):e,t_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",AC=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(ma=0;ma<t_.length;ma++)AC[t_.charCodeAt(ma)]=ma;var ma,Vc=class{reset(){}freeze(){}unfreeze(){}lock(){}unlock(){}snapshot(){}addWindow(){}addShadowRoot(){}resetShadowRoots(){}};function Qf(e){try{return e.contentDocument}catch{}}function Ta(e){try{return e.contentWindow}catch{}}var xf=class{constructor(t){this.doc=t,this.unattachedDoc=null}parse(t){return this.parseWithConstructableStylesheet(t)||this.parseWithDetachedElement(t)}parseWithConstructableStylesheet(t){if(typeof CSSStyleSheet>"u"||typeof CSSStyleSheet.prototype.replaceSync!="function")return null;try{let r=new CSSStyleSheet;r.replaceSync(`x { ${t} }`);let n=r.cssRules[0];return!n||n.type!==CSSRule.STYLE_RULE?null:n.style}catch{return null}}parseWithDetachedElement(t){let r=this.getUnattachedDoc().createElement("span");return r.setAttribute("style",t),r.style}getUnattachedDoc(){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}return this.unattachedDoc}};function r_(e){return"__ln"in e}var Rf=class{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 r=this.head;for(let n=0;n<t;n++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&r_(t.previousSibling)){let n=t.previousSibling.__ln.next;r.next=n,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,n&&(n.previous=r)}else if(t.nextSibling&&r_(t.nextSibling)&&t.nextSibling.__ln.previous){let n=t.nextSibling.__ln.previous;r.previous=n,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,n&&(n.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},n_=(e,t)=>`${e}@${t}`,Cf=class{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;let t=[],r=new Set,n=new Rf,o=l=>{let c=l,u=_a;for(;u===_a;)c=c&&c.nextSibling,u=c&&this.mirror.getId(c);return u},i=l=>{if(!l.parentNode||!O_(l))return;let c=ha(l.parentNode)?this.mirror.getId(L_(l)):this.mirror.getId(l.parentNode),u=o(l);if(c===-1||u===-1)return n.addNode(l);let d=Di(l,{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:p=>{A_(p,this.mirror)&&!jt(p,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&this.iframeManager.addIframe(p),M_(p,this.mirror)&&this.stylesheetManager.trackLinkElement(p),wf(l)&&this.shadowDomManager.addShadowRoot(l.shadowRoot,this.doc)},onIframeLoad:(p,f)=>{if(jt(p,this.blockClass,this.blockSelector,this.unblockSelector,!1))return;this.iframeManager.attachIframe(p,f);let h=Ta(p);h&&this.canvasManager.addWindow(h),this.shadowDomManager.observeAttachShadow(p)},onStylesheetLoad:(p,f)=>{this.stylesheetManager.attachLinkElement(p,f)},onBlockedImageLoad:(p,f,{width:h,height:y})=>{this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:f.id,attributes:{style:{width:`${h}px`,height:`${y}px`}}}]})},ignoreCSSAttributes:this.ignoreCSSAttributes});d&&(t.push({parentId:c,nextId:u,node:d}),r.add(d.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)o_(this.removes,l,this.mirror)&&!this.movedSet.has(l.parentNode)||i(l);for(let l of this.addedSet)!i_(this.droppedSet,l)&&!o_(this.removes,l,this.mirror)||i_(this.movedSet,l)?i(l):this.droppedSet.add(l);let s=null;for(;n.length;){let l=null;if(s){let c=this.mirror.getId(s.value.parentNode),u=o(s.value);c!==-1&&u!==-1&&(l=s)}if(!l){let c=n.tail;for(;c;){let u=c;if(c=c.previous,u){let d=this.mirror.getId(u.value.parentNode);if(o(u.value)===-1)continue;if(d!==-1){l=u;break}else{let f=u.value;if(f.parentNode&&f.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let h=f.parentNode.host;if(this.mirror.getId(h)!==-1){l=u;break}}}}}}if(!l){for(;n.head;)n.removeNode(n.head.value);break}s=l.previous,n.removeNode(l.value),i(l.value)}let a={texts:this.texts.map(l=>({id:this.mirror.getId(l.node),value:l.value})).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let u=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);u.length<c.style.length&&(u+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!a.texts.length&&!a.attributes.length&&!a.removes.length&&!a.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(a))},this.processMutation=t=>{if(!Sf(t.target,this.mirror))switch(t.type){case"characterData":{let r=t.target.textContent;!jt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:Bi(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,this.maskAllText)&&r?this.maskTextFn?this.maskTextFn(r,C_(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,n=t.attributeName,o=t.target.getAttribute(n);if(n==="value"){let s=Kf(r),a=r.tagName;o=Wc(r,a,s);let l=ru({maskInputOptions:this.maskInputOptions,tagName:a,type:s}),c=Bi(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,l);o=ya({isMasked:c,element:r,value:o,maskInputFn:this.maskInputFn})}if(jt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||o===t.oldValue)return;let i=this.attributeMap.get(t.target);if(r.tagName==="IFRAME"&&n==="src"&&!this.keepIframeSrcFn(o))if(!Qf(r))n="rr_src";else return;if(i||(i={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(t.target,i)),n==="type"&&r.tagName==="INPUT"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!k_(r.tagName,n)&&(i.attributes[n]=b_(this.doc,Ui(r.tagName),Ui(n),o,r,this.maskAttributeFn),n==="style")){let s=t.oldValue?this.styleDeclarationParser.parse(t.oldValue):null;for(let a of Array.from(r.style)){let l=r.style.getPropertyValue(a),c=r.style.getPropertyPriority(a);l!==(s?.getPropertyValue(a)||"")||c!==(s?.getPropertyPriority(a)||"")?c===""?i.styleDiff[a]=l:i.styleDiff[a]=[l,c]:i._unchangedStyles[a]=[l,c]}if(s)for(let a of Array.from(s))r.style.getPropertyValue(a)===""&&(i.styleDiff[a]=!1)}break}case"childList":{if(jt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!0))return;t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let n=this.mirror.getId(r),o=ha(t.target)?this.mirror.getId(t.target.host):this.mirror.getId(t.target);jt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||Sf(r,this.mirror)||!bC(r,this.mirror)||(this.addedSet.has(r)?(Nf(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&n===-1||N_(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[n_(n,o)]?Nf(this.movedSet,r):this.removes.push({parentId:o,id:n,isShadow:ha(t.target)&&Sa(t.target)?!0:void 0})),this.mapRemoves.push(r))});break}}},this.genAdds=(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(Sf(t,this.mirror))return;this.movedSet.add(t);let n=null;r&&this.mirror.hasNode(r)&&(n=this.mirror.getId(r)),n&&n!==-1&&(this.movedMap[n_(this.mirror.getId(t),n)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);jt(t,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(t.childNodes&&t.childNodes.forEach(n=>this.genAdds(n)),wf(t)&&t.shadowRoot.childNodes.forEach(n=>{this.processedNodeManager.add(n,this),this.genAdds(n,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(r=>{this[r]=t[r]}),this.styleDeclarationParser=new xf(this.doc)}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 Nf(e,t){e.delete(t),t.childNodes?.forEach(r=>Nf(e,r))}function o_(e,t,r){return e.length===0?!1:MC(e,t,r)}function MC(e,t,r){let n=t.parentNode;for(;n;){let o=r.getId(n);if(e.some(i=>i.id===o))return!0;n=n.parentNode}return!1}function i_(e,t){return e.size===0?!1:D_(e,t)}function D_(e,t){let{parentNode:r}=t;return r?e.has(r)?!0:D_(e,r):!1}var Pi=[];function xa(e){try{if("composedPath"in e){let 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 P_(e,t){let r=new Cf;Pi.push(r),r.init(e);let n=window.MutationObserver||window.__rrMutationObserver,o=window?.Zone?.__symbol__?.("MutationObserver");o&&window[o]&&(n=window[o]);let i=new n(te(s=>{e.onMutation&&e.onMutation(s)===!1||r.processMutations.bind(r)(s)}));return i.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),i}function LC({mousemoveCb:e,sampling:t,doc:r,mirror:n}){if(t.mousemove===!1)return()=>{};let o=typeof t.mousemove=="number"?t.mousemove:50,i=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,s=[],a,l=Ea(te(d=>{let p=Date.now()-a;e(s.map(f=>(f.timeOffset-=p,f)),d),s=[],a=null}),i),c=te(Ea(te(d=>{let p=xa(d),{clientX:f,clientY:h}=kf(d)?d.changedTouches[0]:d;a||(a=Gc()),s.push({x:f,y:h,id:n.getId(p),timeOffset:Gc()-a}),l(typeof DragEvent<"u"&&d instanceof DragEvent?Y.Drag:d instanceof MouseEvent?Y.MouseMove:Y.TouchMove)}),o,{trailing:!1})),u=[bt("mousemove",c,r),bt("touchmove",c,r),bt("drag",c,r)];return te(()=>{u.forEach(d=>d())})}function OC({mouseInteractionCb:e,doc:t,mirror:r,blockClass:n,blockSelector:o,unblockSelector:i,sampling:s}){if(s.mouseInteraction===!1)return()=>{};let a=s.mouseInteraction===!0||s.mouseInteraction===void 0?{}:s.mouseInteraction,l=[],c=null,u=d=>p=>{let f=xa(p);if(jt(f,n,o,i,!0))return;let h=null,y=d;if("pointerType"in p){switch(p.pointerType){case"mouse":h=fn.Mouse;break;case"touch":h=fn.Touch;break;case"pen":h=fn.Pen;break}h===fn.Touch?Tt[d]===Tt.MouseDown?y="TouchStart":Tt[d]===Tt.MouseUp&&(y="TouchEnd"):fn.Pen}else kf(p)&&(h=fn.Touch);h!==null?(c=h,(y.startsWith("Touch")&&h===fn.Touch||y.startsWith("Mouse")&&h===fn.Mouse)&&(h=null)):Tt[d]===Tt.Click&&(h=c,c=null);let k=kf(p)?p.changedTouches[0]:p;if(!k)return;let g=r.getId(f),{clientX:S,clientY:v}=k;te(e)({type:Tt[y],id:g,x:S,y:v,...h!==null&&{pointerType:h}})};return Object.keys(Tt).filter(d=>Number.isNaN(Number(d))&&!d.endsWith("_Departed")&&a[d]!==!1).forEach(d=>{let p=Ui(d),f=u(d);if(window.PointerEvent)switch(Tt[d]){case Tt.MouseDown:case Tt.MouseUp:p=p.replace("mouse","pointer");break;case Tt.TouchStart:case Tt.TouchEnd:return}l.push(bt(p,f,t))}),te(()=>{l.forEach(d=>d())})}function U_({scrollCb:e,doc:t,mirror:r,blockClass:n,blockSelector:o,unblockSelector:i,sampling:s}){let a=te(Ea(te(l=>{let c=xa(l);if(!c||jt(c,n,o,i,!0))return;let u=r.getId(c);if(c===t&&t.defaultView){let d=I_(t.defaultView);e({id:u,x:d.left,y:d.top})}else e({id:u,x:c.scrollLeft,y:c.scrollTop})}),s.scroll||100));return bt("scroll",a,t)}function DC({viewportResizeCb:e},{win:t}){let r=-1,n=-1,o=te(Ea(te(()=>{let i=x_(),s=R_();(r!==i||n!==s)&&(e({width:Number(s),height:Number(i)}),r=i,n=s)}),200));return bt("resize",o,t)}var PC=["INPUT","TEXTAREA","SELECT"],s_=new WeakMap;function UC({inputCb:e,doc:t,mirror:r,blockClass:n,blockSelector:o,unblockSelector:i,ignoreClass:s,ignoreSelector:a,maskInputOptions:l,maskInputFn:c,sampling:u,userTriggeredOnInput:d,maskTextClass:p,unmaskTextClass:f,maskTextSelector:h,unmaskTextSelector:y}){function k(_){let w=xa(_),z=_.isTrusted,I=w&&Tf(w.tagName);if(I==="OPTION"&&(w=w.parentElement),!w||!I||PC.indexOf(I)<0||jt(w,n,o,i,!0))return;let D=w;if(D.classList.contains(s)||a&&D.matches(a))return;let W=Kf(w),K=Wc(D,I,W),V=!1,De=ru({maskInputOptions:l,tagName:I,type:W}),ue=Bi(w,p,h,f,y,De);(W==="radio"||W==="checkbox")&&(V=w.checked),K=ya({isMasked:ue,element:w,value:K,maskInputFn:c}),g(w,d?{text:K,isChecked:V,userTriggered:z}:{text:K,isChecked:V});let fe=w.name;W==="radio"&&fe&&V&&t.querySelectorAll(`input[type="radio"][name="${fe}"]`).forEach(L=>{if(L!==w){let b=ya({isMasked:ue,element:L,value:Wc(L,I,W),maskInputFn:c});g(L,d?{text:b,isChecked:!V,userTriggered:!1}:{text:b,isChecked:!V})}})}function g(_,w){let z=s_.get(_);if(!z||z.text!==w.text||z.isChecked!==w.isChecked){s_.set(_,w);let I=r.getId(_);te(e)({...w,id:I})}}let v=(u.input==="last"?["change"]:["input","change"]).map(_=>bt(_,te(k),t)),E=t.defaultView;if(!E)return()=>{v.forEach(_=>_())};let C=E.Object.getOwnPropertyDescriptor(E.HTMLInputElement.prototype,"value"),R=[[E.HTMLInputElement.prototype,"value"],[E.HTMLInputElement.prototype,"checked"],[E.HTMLSelectElement.prototype,"value"],[E.HTMLTextAreaElement.prototype,"value"],[E.HTMLSelectElement.prototype,"selectedIndex"],[E.HTMLOptionElement.prototype,"selected"]];return C&&C.set&&v.push(...R.map(_=>w_(_[0],_[1],{set(){te(k)({target:this,isTrusted:!1})}},!1,E))),te(()=>{v.forEach(_=>_())})}function Yc(e){let t=[];function r(n,o){if(Uc("CSSGroupingRule")&&n.parentRule instanceof CSSGroupingRule||Uc("CSSMediaRule")&&n.parentRule instanceof CSSMediaRule||Uc("CSSSupportsRule")&&n.parentRule instanceof CSSSupportsRule||Uc("CSSConditionRule")&&n.parentRule instanceof CSSConditionRule){let s=Array.from(n.parentRule.cssRules).indexOf(n);o.unshift(s)}else if(n.parentStyleSheet){let s=Array.from(n.parentStyleSheet.cssRules).indexOf(n);o.unshift(s)}return o}return r(e,t)}function Fn(e,t,r){let n,o;return e?(e.ownerNode?n=t.getId(e.ownerNode):o=r.getId(e),{styleId:o,id:n}):{}}function BC({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:n}){if(!n.CSSStyleSheet||!n.CSSStyleSheet.prototype)return()=>{};let o=n.CSSStyleSheet.prototype.insertRule;n.CSSStyleSheet.prototype.insertRule=new Proxy(o,{apply:te((u,d,p)=>{let[f,h]=p,{id:y,styleId:k}=Fn(d,t,r.styleMirror);return(y&&y!==-1||k&&k!==-1)&&e({id:y,styleId:k,adds:[{rule:f,index:h}]}),u.apply(d,p)})});let i=n.CSSStyleSheet.prototype.deleteRule;n.CSSStyleSheet.prototype.deleteRule=new Proxy(i,{apply:te((u,d,p)=>{let[f]=p,{id:h,styleId:y}=Fn(d,t,r.styleMirror);return(h&&h!==-1||y&&y!==-1)&&e({id:h,styleId:y,removes:[{index:f}]}),u.apply(d,p)})});let s;n.CSSStyleSheet.prototype.replace&&(s=n.CSSStyleSheet.prototype.replace,n.CSSStyleSheet.prototype.replace=new Proxy(s,{apply:te((u,d,p)=>{let[f]=p,{id:h,styleId:y}=Fn(d,t,r.styleMirror);return(h&&h!==-1||y&&y!==-1)&&e({id:h,styleId:y,replace:f}),u.apply(d,p)})}));let a;n.CSSStyleSheet.prototype.replaceSync&&(a=n.CSSStyleSheet.prototype.replaceSync,n.CSSStyleSheet.prototype.replaceSync=new Proxy(a,{apply:te((u,d,p)=>{let[f]=p,{id:h,styleId:y}=Fn(d,t,r.styleMirror);return(h&&h!==-1||y&&y!==-1)&&e({id:h,styleId:y,replaceSync:f}),u.apply(d,p)})}));let l={};Bc("CSSGroupingRule")?l.CSSGroupingRule=n.CSSGroupingRule:(Bc("CSSMediaRule")&&(l.CSSMediaRule=n.CSSMediaRule),Bc("CSSConditionRule")&&(l.CSSConditionRule=n.CSSConditionRule),Bc("CSSSupportsRule")&&(l.CSSSupportsRule=n.CSSSupportsRule));let c={};return Object.entries(l).forEach(([u,d])=>{c[u]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[u].insertRule,{apply:te((p,f,h)=>{let[y,k]=h,{id:g,styleId:S}=Fn(f.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||S&&S!==-1)&&e({id:g,styleId:S,adds:[{rule:y,index:[...Yc(f),k||0]}]}),p.apply(f,h)})}),d.prototype.deleteRule=new Proxy(c[u].deleteRule,{apply:te((p,f,h)=>{let[y]=h,{id:k,styleId:g}=Fn(f.parentStyleSheet,t,r.styleMirror);return(k&&k!==-1||g&&g!==-1)&&e({id:k,styleId:g,removes:[{index:[...Yc(f),y]}]}),p.apply(f,h)})})}),te(()=>{n.CSSStyleSheet.prototype.insertRule=o,n.CSSStyleSheet.prototype.deleteRule=i,s&&(n.CSSStyleSheet.prototype.replace=s),a&&(n.CSSStyleSheet.prototype.replaceSync=a),Object.entries(l).forEach(([u,d])=>{d.prototype.insertRule=c[u].insertRule,d.prototype.deleteRule=c[u].deleteRule})})}function B_({mirror:e,stylesheetManager:t},r){let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId(r.host);let o=r.nodeName==="#document"?r.defaultView?.Document:r.ownerDocument?.defaultView?.ShadowRoot,i=o?.prototype?Object.getOwnPropertyDescriptor(o?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!o||!i?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get(){return i.get?.call(this)},set(s){let a=i.set?.call(this,s);if(n!==null&&n!==-1)try{t.adoptStyleSheets(s,n)}catch{}return a}}),te(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get:i.get,set:i.set})}))}function FC({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:n},{win:o}){let i=o.CSSStyleDeclaration.prototype.setProperty;o.CSSStyleDeclaration.prototype.setProperty=new Proxy(i,{apply:te((a,l,c)=>{let[u,d,p]=c;if(r.has(u))return i.apply(l,[u,d,p]);let{id:f,styleId:h}=Fn(l.parentRule?.parentStyleSheet,t,n.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,set:{property:u,value:d,priority:p},index:Yc(l.parentRule)}),a.apply(l,c)})});let s=o.CSSStyleDeclaration.prototype.removeProperty;return o.CSSStyleDeclaration.prototype.removeProperty=new Proxy(s,{apply:te((a,l,c)=>{let[u]=c;if(r.has(u))return s.apply(l,[u]);let{id:d,styleId:p}=Fn(l.parentRule?.parentStyleSheet,t,n.styleMirror);return(d&&d!==-1||p&&p!==-1)&&e({id:d,styleId:p,remove:{property:u},index:Yc(l.parentRule)}),a.apply(l,c)})}),te(()=>{o.CSSStyleDeclaration.prototype.setProperty=i,o.CSSStyleDeclaration.prototype.removeProperty=s})}function HC({mediaInteractionCb:e,blockClass:t,blockSelector:r,unblockSelector:n,mirror:o,sampling:i,doc:s}){let a=te(c=>Ea(te(u=>{let d=xa(u);if(!d||jt(d,t,r,n,!0))return;let{currentTime:p,volume:f,muted:h,playbackRate:y}=d;e({type:c,id:o.getId(d),currentTime:p,volume:f,muted:h,playbackRate:y})}),i.media||500)),l=[bt("play",a(Mi.Play),s),bt("pause",a(Mi.Pause),s),bt("seeked",a(Mi.Seeked),s),bt("volumechange",a(Mi.VolumeChange),s),bt("ratechange",a(Mi.RateChange),s)];return te(()=>{l.forEach(c=>c())})}function zC({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let n=[],o=new WeakMap,i=r.FontFace;r.FontFace=function(l,c,u){let d=new i(l,c,u);return o.set(d,{family:l,buffer:typeof c!="string",descriptors:u,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let s=Jf(t.fonts,"add",function(a){return function(l){return ou(te(()=>{let c=o.get(l);c&&(e(c),o.delete(l))}),0),a.apply(this,[l])}});return n.push(()=>{r.FontFace=i}),n.push(s),te(()=>{n.forEach(a=>a())})}function $C(e){let{doc:t,mirror:r,blockClass:n,blockSelector:o,unblockSelector:i,selectionCb:s}=e,a=!0,l=te(()=>{let c=t.getSelection();if(!c||a&&c?.isCollapsed)return;a=c.isCollapsed||!1;let u=[],d=c.rangeCount||0;for(let p=0;p<d;p++){let f=c.getRangeAt(p),{startContainer:h,startOffset:y,endContainer:k,endOffset:g}=f;jt(h,n,o,i,!0)||jt(k,n,o,i,!0)||u.push({start:r.getId(h),startOffset:y,end:r.getId(k),endOffset:g})}s({ranges:u})});return l(),bt("selectionchange",l)}function WC({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:Jf(r.customElements,"define",function(o){return function(i,s,a){try{t({define:{name:i}})}catch{}return o.apply(this,[i,s,a])}})}function jC(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};let n;e.recordDOM&&(n=P_(e,e.doc));let o=LC(e),i=OC(e),s=U_(e),a=DC(e,{win:r}),l=UC(e),c=HC(e),u=()=>{},d=()=>{},p=()=>{},f=()=>{};e.recordDOM&&(u=BC(e,{win:r}),d=B_(e,e.doc),p=FC(e,{win:r}),e.collectFonts&&(f=zC(e)));let h=$C(e),y=WC(e),k=[];for(let g of e.plugins)k.push(g.observer(g.callback,r,g.options));return te(()=>{Pi.forEach(g=>g.reset()),n?.disconnect(),o(),i(),s(),a(),l(),c(),u(),d(),p(),f(),h(),y(),k.forEach(g=>g())})}function Uc(e){return typeof window[e]<"u"}function Bc(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var ba=class{constructor(t){this.generateIdFn=t,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(t,r,n,o){let i=n||this.getIdToRemoteIdMap(t),s=o||this.getRemoteIdToIdMap(t),a=i.get(r);return a||(a=this.generateIdFn(),i.set(r,a),s.set(a,r)),a}getIds(t,r){let n=this.getIdToRemoteIdMap(t),o=this.getRemoteIdToIdMap(t);return r.map(i=>this.getId(t,i,n,o))}getRemoteId(t,r,n){let o=n||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let i=o.get(r);return i||-1}getRemoteIds(t,r){let n=this.getRemoteIdToIdMap(t);return r.map(o=>this.getRemoteId(t,o,n))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Af=class{constructor(){this.crossOriginIframeMirror=new ba(Xf),this.crossOriginIframeRootIdMap=new WeakMap}addIframe(){}addLoadListener(){}attachIframe(){}},Mf=class{constructor(t){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new ba(Xf),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new ba(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);let r=Ta(t);r&&this.crossOriginIframeMap.set(r,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&Ta(t)?.addEventListener("message",this.handleMessage.bind(this)),this.loadListener?.(t);let n=Qf(t);n&&n.adoptedStyleSheets&&n.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(n.adoptedStyleSheets,this.mirror.getId(n))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let o=this.crossOriginIframeMap.get(t.source);if(!o)return;let i=this.transformCrossOriginEvent(o,r.data.event);i&&this.wrappedEmit(i,r.data.isCheckout)}transformCrossOriginEvent(t,r){switch(r.type){case q.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let n=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,n),this.patchRootIdOnNode(r.data.node,n),{timestamp:r.timestamp,type:q.IncrementalSnapshot,data:{source:Y.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case q.Meta:case q.Load:case q.DomContentLoaded:return!1;case q.Plugin:return r;case q.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case q.IncrementalSnapshot:switch(r.data.source){case Y.Mutation:return r.data.adds.forEach(n=>{this.replaceIds(n,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(n.node,t);let o=this.crossOriginIframeRootIdMap.get(t);o&&this.patchRootIdOnNode(n.node,o)}),r.data.removes.forEach(n=>{this.replaceIds(n,t,["parentId","id"])}),r.data.attributes.forEach(n=>{this.replaceIds(n,t,["id"])}),r.data.texts.forEach(n=>{this.replaceIds(n,t,["id"])}),r;case Y.Drag:case Y.TouchMove:case Y.MouseMove:return r.data.positions.forEach(n=>{this.replaceIds(n,t,["id"])}),r;case Y.ViewportResize:return!1;case Y.MediaInteraction:case Y.MouseInteraction:case Y.Scroll:case Y.CanvasMutation:case Y.Input:return this.replaceIds(r.data,t,["id"]),r;case Y.StyleSheetRule:case Y.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case Y.Font:return r;case Y.Selection:return r.data.ranges.forEach(n=>{this.replaceIds(n,t,["start","end"])}),r;case Y.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),r.data.styles?.forEach(n=>{this.replaceStyleIds(n,t,["styleId"])}),r}}return!1}replace(t,r,n,o){for(let i of o)!Array.isArray(r[i])&&typeof r[i]!="number"||(Array.isArray(r[i])?r[i]=t.getIds(n,r[i]):r[i]=t.getId(n,r[i]));return r}replaceIds(t,r,n){return this.replace(this.crossOriginIframeMirror,t,r,n)}replaceStyleIds(t,r,n){return this.replace(this.crossOriginIframeStyleMirror,t,r,n)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(n=>{this.replaceIdOnNode(n,r)})}patchRootIdOnNode(t,r){t.type!==Fe.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(n=>{this.patchRootIdOnNode(n,r)})}},Lf=class{init(){}addShadowRoot(){}observeAttachShadow(){}reset(){}},Of=class{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,r){if(!Sa(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t),this.bypassOptions.canvasManager.addShadowRoot(t);let n=P_({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>n.disconnect()),this.restoreHandlers.push(U_({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),ou(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(t.host)),this.restoreHandlers.push(B_({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){let r=Qf(t),n=Ta(t);!r||!n||this.patchAttachShadow(n.Element,r)}patchAttachShadow(t,r){let n=this;this.restoreHandlers.push(Jf(t.prototype,"attachShadow",function(o){return function(i){let s=o.call(this,i);return this.shadowRoot&&O_(this)&&n.addShadowRoot(this.shadowRoot,r),s}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet,this.bypassOptions.canvasManager.resetShadowRoots()}},Df=class{constructor(t){this.trackedLinkElements=new WeakSet,this.styleMirror=new If,this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let n={id:r,styleIds:[]},o=[];for(let i of t){let s;this.styleMirror.has(i)?s=this.styleMirror.getId(i):(s=this.styleMirror.add(i),o.push({styleId:s,rules:Array.from(i.rules||CSSRule,(a,l)=>({rule:v_(a),index:l}))})),n.styleIds.push(s)}o.length>0&&(n.styles=o),this.adoptedStyleSheetCb(n)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Pf=class{constructor(){this.nodeMap=new WeakMap,this.active=!1}inOtherBuffer(t,r){let n=this.nodeMap.get(t);return n&&Array.from(n).some(o=>o!==r)}add(t,r){this.active||(this.active=!0,xC(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},Le,qc;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=e.contentWindow?.Array.from||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var xr=JR();function Rr(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:n,blockClass:o="rr-block",blockSelector:i=null,unblockSelector:s=null,ignoreClass:a="rr-ignore",ignoreSelector:l=null,maskAllText:c=!1,maskTextClass:u="rr-mask",unmaskTextClass:d=null,maskTextSelector:p=null,unmaskTextSelector:f=null,inlineStylesheet:h=!0,maskAllInputs:y,maskInputOptions:k,slimDOMOptions:g,maskAttributeFn:S,maskInputFn:v,maskTextFn:E,maxCanvasSize:C=null,packFn:R,sampling:_={},dataURLOptions:w={},mousemoveWait:z,recordDOM:I=!0,recordCanvas:D=!1,recordCrossOriginIframes:W=!1,recordAfter:K=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:V=!1,collectFonts:De=!1,inlineImages:ue=!1,plugins:fe,keepIframeSrcFn:L=()=>!1,ignoreCSSAttributes:b=new Set([]),errorHandler:x,onMutation:A,getCanvasManager:oe}=e;CC(x);let J=W?window.parent===window:!0,ot=!1;if(!J)try{window.parent.document&&(ot=!1)}catch{ot=!0}if(J&&!t)throw new Error("emit function is required");if(!J&&!ot)return()=>{};z!==void 0&&_.mousemove===void 0&&(_.mousemove=z),xr.reset();let Ie=y===!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}:k!==void 0?k:{},it=g===!0||g==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:g==="all",headMetaDescKeywords:g==="all"}:g||{};kC();let Jt,Zt=0,Ss=se=>{for(let Sr of fe||[])Sr.eventProcessor&&(se=Sr.eventProcessor(se));return R&&!ot&&(se=R(se)),se};Le=(se,Sr)=>{let Z=se;if(Z.timestamp=Gc(),Pi[0]?.isFrozen()&&Z.type!==q.FullSnapshot&&!(Z.type===q.IncrementalSnapshot&&Z.data.source===Y.Mutation)&&Pi.forEach(Xe=>Xe.unfreeze()),J)t?.(Ss(Z),Sr);else if(ot){let Xe={type:"rrweb",event:Ss(Z),origin:window.location.origin,isCheckout:Sr};window.parent.postMessage(Xe,"*")}if(Z.type===q.FullSnapshot)Jt=Z,Zt=0;else if(Z.type===q.IncrementalSnapshot){if(Z.data.source===Y.Mutation&&Z.data.isAttachIframe)return;Zt++;let Xe=n&&Zt>=n,Q=r&&Jt&&Z.timestamp-Jt.timestamp>r;(Xe||Q)&&Pd(!0)}};let co=se=>{Le({type:q.IncrementalSnapshot,data:{source:Y.Mutation,...se}})},Ph=se=>Le({type:q.IncrementalSnapshot,data:{source:Y.Scroll,...se}}),Nk=se=>Le({type:q.IncrementalSnapshot,data:{source:Y.CanvasMutation,...se}}),Ak=se=>Le({type:q.IncrementalSnapshot,data:{source:Y.AdoptedStyleSheet,...se}}),uo=new Df({mutationCb:co,adoptedStyleSheetCb:Ak}),po=typeof __RRWEB_EXCLUDE_IFRAME__=="boolean"&&__RRWEB_EXCLUDE_IFRAME__?new Af:new Mf({mirror:xr,mutationCb:co,stylesheetManager:uo,recordCrossOriginIframes:W,wrappedEmit:Le});for(let se of fe||[])se.getMirror&&se.getMirror({nodeMirror:xr,crossOriginIframeMirror:po.crossOriginIframeMirror,crossOriginIframeStyleMirror:po.crossOriginIframeStyleMirror});let Od=new Pf,Dd=VC(oe,{mirror:xr,win:window,mutationCb:se=>Le({type:q.IncrementalSnapshot,data:{source:Y.CanvasMutation,...se}}),recordCanvas:D,blockClass:o,blockSelector:i,unblockSelector:s,maxCanvasSize:C,sampling:_.canvas,dataURLOptions:w,errorHandler:x}),Il=typeof __RRWEB_EXCLUDE_SHADOW_DOM__=="boolean"&&__RRWEB_EXCLUDE_SHADOW_DOM__?new Lf:new Of({mutationCb:co,scrollCb:Ph,bypassOptions:{onMutation:A,blockClass:o,blockSelector:i,unblockSelector:s,maskAllText:c,maskTextClass:u,unmaskTextClass:d,maskTextSelector:p,unmaskTextSelector:f,inlineStylesheet:h,maskInputOptions:Ie,dataURLOptions:w,maskAttributeFn:S,maskTextFn:E,maskInputFn:v,recordCanvas:D,inlineImages:ue,sampling:_,slimDOMOptions:it,iframeManager:po,stylesheetManager:uo,canvasManager:Dd,keepIframeSrcFn:L,processedNodeManager:Od,ignoreCSSAttributes:b},mirror:xr}),Pd=(se=!1)=>{if(!I)return;Le({type:q.Meta,data:{href:window.location.href,width:R_(),height:x_()}},se),uo.reset(),Il.init(),Pi.forEach(Z=>Z.lock());let Sr=TC(document,{mirror:xr,blockClass:o,blockSelector:i,unblockSelector:s,maskAllText:c,maskTextClass:u,unmaskTextClass:d,maskTextSelector:p,unmaskTextSelector:f,inlineStylesheet:h,maskAllInputs:Ie,maskAttributeFn:S,maskInputFn:v,maskTextFn:E,slimDOM:it,dataURLOptions:w,recordCanvas:D,inlineImages:ue,onSerialize:Z=>{A_(Z,xr)&&po.addIframe(Z),M_(Z,xr)&&uo.trackLinkElement(Z),wf(Z)&&Il.addShadowRoot(Z.shadowRoot,document)},onIframeLoad:(Z,Xe)=>{po.attachIframe(Z,Xe);let Q=Ta(Z);Q&&Dd.addWindow(Q),Il.observeAttachShadow(Z)},onStylesheetLoad:(Z,Xe)=>{uo.attachLinkElement(Z,Xe)},onBlockedImageLoad:(Z,Xe,{width:Q,height:vs})=>{co({adds:[],removes:[],texts:[],attributes:[{id:Xe.id,attributes:{style:{width:`${Q}px`,height:`${vs}px`}}}]})},keepIframeSrcFn:L,ignoreCSSAttributes:b});if(!Sr)return console.warn("Failed to snapshot the document");Le({type:q.FullSnapshot,data:{node:Sr,initialOffset:I_(window)}}),Pi.forEach(Z=>Z.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&uo.adoptStyleSheets(document.adoptedStyleSheets,xr.getId(document))};qc=Pd;try{let se=[],Sr=Xe=>te(jC)({onMutation:A,mutationCb:co,mousemoveCb:(Q,vs)=>Le({type:q.IncrementalSnapshot,data:{source:vs,positions:Q}}),mouseInteractionCb:Q=>Le({type:q.IncrementalSnapshot,data:{source:Y.MouseInteraction,...Q}}),scrollCb:Ph,viewportResizeCb:Q=>Le({type:q.IncrementalSnapshot,data:{source:Y.ViewportResize,...Q}}),inputCb:Q=>Le({type:q.IncrementalSnapshot,data:{source:Y.Input,...Q}}),mediaInteractionCb:Q=>Le({type:q.IncrementalSnapshot,data:{source:Y.MediaInteraction,...Q}}),styleSheetRuleCb:Q=>Le({type:q.IncrementalSnapshot,data:{source:Y.StyleSheetRule,...Q}}),styleDeclarationCb:Q=>Le({type:q.IncrementalSnapshot,data:{source:Y.StyleDeclaration,...Q}}),canvasMutationCb:Nk,fontCb:Q=>Le({type:q.IncrementalSnapshot,data:{source:Y.Font,...Q}}),selectionCb:Q=>{Le({type:q.IncrementalSnapshot,data:{source:Y.Selection,...Q}})},customElementCb:Q=>{Le({type:q.IncrementalSnapshot,data:{source:Y.CustomElement,...Q}})},blockClass:o,ignoreClass:a,ignoreSelector:l,maskAllText:c,maskTextClass:u,unmaskTextClass:d,maskTextSelector:p,unmaskTextSelector:f,maskInputOptions:Ie,inlineStylesheet:h,sampling:_,recordDOM:I,recordCanvas:D,inlineImages:ue,userTriggeredOnInput:V,collectFonts:De,doc:Xe,maskAttributeFn:S,maskInputFn:v,maskTextFn:E,keepIframeSrcFn:L,blockSelector:i,unblockSelector:s,slimDOMOptions:it,dataURLOptions:w,mirror:xr,iframeManager:po,stylesheetManager:uo,shadowDomManager:Il,processedNodeManager:Od,canvasManager:Dd,ignoreCSSAttributes:b,plugins:fe?.filter(Q=>Q.observer)?.map(Q=>({observer:Q.observer,options:Q.options,callback:vs=>Le({type:q.Plugin,data:{plugin:Q.name,payload:vs}})}))||[]},{});po.addLoadListener(Xe=>{try{se.push(Sr(Xe.contentDocument))}catch(Q){console.warn(Q)}});let Z=()=>{Pd(),se.push(Sr(document))};return document.readyState==="interactive"||document.readyState==="complete"?Z():(se.push(bt("DOMContentLoaded",()=>{Le({type:q.DomContentLoaded,data:{}}),K==="DOMContentLoaded"&&Z()})),se.push(bt("load",()=>{Le({type:q.Load,data:{}}),K==="load"&&Z()},window))),()=>{se.forEach(Xe=>Xe()),Od.destroy(),qc=void 0,NC()}}catch(se){console.warn(se)}}function GC(e){if(!qc)throw new Error("please take full snapshot after start recording");qc(e)}Rr.mirror=xr;Rr.takeFullSnapshot=GC;function VC(e,t){try{return e?e(t):new Vc}catch{return console.warn("Unable to initialize CanvasManager"),new Vc}}var a_;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(a_||(a_={}));var YC=3,qC=5;function em(e){return e>9999999999?e:e*1e3}function vf(e){return e>9999999999?e/1e3:e}function Ra(e,t){t.category!=="sentry.transaction"&&(["ui.click","ui.input"].includes(t.category)?e.triggerUserActivity():e.checkAndHandleExpiredSession(),e.addUpdate(()=>(e.throttledAddEvent({type:q.Custom,timestamp:(t.timestamp||0)*1e3,data:{tag:"breadcrumb",payload:ct(t,10,1e3)}}),t.category==="console")))}var KC="button,a";function F_(e){return e.closest(KC)||e}function H_(e){let t=z_(e);return!t||!(t instanceof Element)?t:F_(t)}function z_(e){return XC(e)?e.target:e}function XC(e){return typeof e=="object"&&!!e&&"target"in e}var Hn;function JC(e){return Hn||(Hn=[],ZC()),Hn.push(e),()=>{let t=Hn?Hn.indexOf(e):-1;t>-1&&Hn.splice(t,1)}}function ZC(){Ae(he,"open",function(e){return function(...t){if(Hn)try{Hn.forEach(r=>r())}catch{}return e.apply(he,t)}})}var QC=new Set([Y.Mutation,Y.StyleSheetRule,Y.StyleDeclaration,Y.AdoptedStyleSheet,Y.CanvasMutation,Y.Selection,Y.MediaInteraction]);function eN(e,t,r){e.handleClick(t,r)}var Uf=class{constructor(t,r,n=Ra){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=r.timeout/1e3,this._threshold=r.threshold/1e3,this._scrollTimeout=r.scrollTimeout/1e3,this._replay=t,this._ignoreSelector=r.ignoreSelector,this._addBreadcrumbEvent=n}addListeners(){let t=JC(()=>{this._lastMutation=l_()});this._teardown=()=>{t(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(t,r){if(rN(r,this._ignoreSelector)||!nN(t))return;let n={timestamp:vf(t.timestamp),clickBreadcrumb:t,clickCount:0,node:r};this._clicks.some(o=>o.node===n.node&&Math.abs(o.timestamp-n.timestamp)<1)||(this._clicks.push(n),this._clicks.length===1&&this._scheduleCheckClicks())}registerMutation(t=Date.now()){this._lastMutation=vf(t)}registerScroll(t=Date.now()){this._lastScroll=vf(t)}registerClick(t){let r=F_(t);this._handleMultiClick(r)}_handleMultiClick(t){this._getClicks(t).forEach(r=>{r.clickCount++})}_getClicks(t){return this._clicks.filter(r=>r.node===t)}_checkClicks(){let t=[],r=l_();this._clicks.forEach(n=>{!n.mutationAfter&&this._lastMutation&&(n.mutationAfter=n.timestamp<=this._lastMutation?this._lastMutation-n.timestamp:void 0),!n.scrollAfter&&this._lastScroll&&(n.scrollAfter=n.timestamp<=this._lastScroll?this._lastScroll-n.timestamp:void 0),n.timestamp+this._timeout<=r&&t.push(n)});for(let n of t){let o=this._clicks.indexOf(n);o>-1&&(this._generateBreadcrumbs(n),this._clicks.splice(o,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(t){let r=this._replay,n=t.scrollAfter&&t.scrollAfter<=this._scrollTimeout,o=t.mutationAfter&&t.mutationAfter<=this._threshold,i=!n&&!o,{clickCount:s,clickBreadcrumb:a}=t;if(i){let l=Math.min(t.mutationAfter||this._timeout,this._timeout)*1e3,c=l<this._timeout*1e3?"mutation":"timeout",u={type:"default",message:a.message,timestamp:a.timestamp,category:"ui.slowClickDetected",data:{...a.data,url:he.location.href,route:r.getCurrentRoute(),timeAfterClickMs:l,endReason:c,clickCount:s||1}};this._addBreadcrumbEvent(r,u);return}if(s>1){let l={type:"default",message:a.message,timestamp:a.timestamp,category:"ui.multiClick",data:{...a.data,url:he.location.href,route:r.getCurrentRoute(),clickCount:s,metric:!0}};this._addBreadcrumbEvent(r,l)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=Po(()=>this._checkClicks(),1e3)}},tN=["A","BUTTON","INPUT"];function rN(e,t){return!!(!tN.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 nN(e){return!!(e.data&&typeof e.data.nodeId=="number"&&e.timestamp)}function l_(){return Date.now()/1e3}function oN(e,t){try{if(!iN(t))return;let{source:r}=t.data;if(QC.has(r)&&e.registerMutation(t.timestamp),r===Y.Scroll&&e.registerScroll(t.timestamp),sN(t)){let{type:n,id:o}=t.data,i=Rr.mirror.getNode(o);i instanceof HTMLElement&&n===Tt.Click&&e.registerClick(i)}}catch{}}function iN(e){return e.type===YC}function sN(e){return e.data.source===Y.MouseInteraction}function jr(e){return{timestamp:Date.now()/1e3,type:"default",...e}}var iu=(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))(iu||{}),aN=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled","data-sentry-component"]);function lN(e){let t={};!e["data-sentry-component"]&&e["data-sentry-element"]&&(e["data-sentry-component"]=e["data-sentry-element"]);for(let r in e)if(aN.has(r)){let n=r;(r==="data-testid"||r==="data-test-id")&&(n="testId"),t[n]=e[r]}return t}var cN=e=>t=>{if(!e.isEnabled())return;let r=uN(t);if(!r)return;let n=t.name==="click",o=n?t.event:void 0;n&&e.clickDetector&&o?.target&&!o.altKey&&!o.metaKey&&!o.ctrlKey&&!o.shiftKey&&eN(e.clickDetector,r,H_(t.event)),Ra(e,r)};function $_(e,t){let r=Rr.mirror.getId(e),n=r&&Rr.mirror.getNode(r),o=n&&Rr.mirror.getMeta(n),i=o&&pN(o)?o:null;return{message:t,data:i?{nodeId:r,node:{id:r,tagName:i.tagName,textContent:Array.from(i.childNodes).map(s=>s.type===iu.Text&&s.textContent).filter(Boolean).map(s=>s.trim()).join(""),attributes:lN(i.attributes)}}:{}}}function uN(e){let{target:t,message:r}=dN(e);return jr({category:`ui.${e.name}`,...$_(t,r)})}function dN(e){let t=e.name==="click",r,n=null;try{n=t?H_(e.event):z_(e.event),r=pe(n,{maxStringLength:200})||"<unknown>"}catch{r="<unknown>"}return{target:n,message:r}}function pN(e){return e.type===iu.Element}function fN(e,t){if(!e.isEnabled())return;e.updateUserActivity();let r=mN(t);r&&Ra(e,r)}function mN(e){let{metaKey:t,shiftKey:r,ctrlKey:n,altKey:o,key:i,target:s}=e;if(!s||gN(s)||!i)return null;let a=t||n||o,l=i.length===1;if(!a&&l)return null;let c=pe(s,{maxStringLength:200})||"<unknown>",u=$_(s,c);return jr({category:"ui.keyDown",message:c,data:{...u.data,metaKey:t,shiftKey:r,ctrlKey:n,altKey:o,key:i}})}function gN(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable}var hN={resource:EN,paint:yN,navigation:_N};function yf(e,t){return({metric:r})=>{t.replayPerformanceEntries.push(e(r))}}function SN(e){return e.map(vN).filter(Boolean)}function vN(e){let t=hN[e.entryType];return t?t(e):null}function Fi(e){return((me()||he.performance.timeOrigin)+e)/1e3}function yN(e){let{duration:t,entryType:r,name:n,startTime:o}=e,i=Fi(o);return{type:r,name:n,start:i,end:i+t,data:void 0}}function _N(e){let{entryType:t,name:r,decodedBodySize:n,duration:o,domComplete:i,encodedBodySize:s,domContentLoadedEventStart:a,domContentLoadedEventEnd:l,domInteractive:c,loadEventStart:u,loadEventEnd:d,redirectCount:p,startTime:f,transferSize:h,type:y}=e;return o===0?null:{type:`${t}.${y}`,start:Fi(f),end:Fi(i),name:r,data:{size:h,decodedBodySize:n,encodedBodySize:s,duration:o,domInteractive:c,domContentLoadedEventStart:a,domContentLoadedEventEnd:l,loadEventStart:u,loadEventEnd:d,domComplete:i,redirectCount:p}}}function EN(e){let{entryType:t,initiatorType:r,name:n,responseEnd:o,startTime:i,decodedBodySize:s,encodedBodySize:a,responseStatus:l,transferSize:c}=e;return["fetch","xmlhttprequest"].includes(r)?null:{type:`${t}.${r}`,start:Fi(i),end:Fi(o),name:n,data:{size:c,statusCode:l,decodedBodySize:s,encodedBodySize:a}}}function TN(e){let t=e.entries[e.entries.length-1],r=t?.element?[t.element]:void 0;return tm(e,"largest-contentful-paint",r)}function bN(e){return e.sources!==void 0}function kN(e){let t=[],r=[];for(let n of e.entries)if(bN(n)){let o=[];for(let i of n.sources)if(i.node){r.push(i.node);let s=Rr.mirror.getId(i.node);s&&o.push(s)}t.push({value:n.value,nodeIds:o.length?o:void 0})}return tm(e,"cumulative-layout-shift",r,t)}function wN(e){let t=e.entries[e.entries.length-1],r=t?.target?[t.target]:void 0;return tm(e,"interaction-to-next-paint",r)}function tm(e,t,r,n){let o=e.value,i=e.rating,s=Fi(o);return{type:"web-vital",name:t,start:s,end:s,data:{value:o,size:o,rating:i,nodeIds:r?r.map(a=>Rr.mirror.getId(a)):void 0,attributions:n}}}function IN(e){function t(o){e.performanceEntries.includes(o)||e.performanceEntries.push(o)}function r({entries:o}){o.forEach(t)}let n=[];return["navigation","paint","resource"].forEach(o=>{n.push(wr(o,r))}),n.push(cn(yf(TN,e)),ln(yf(kN,e)),Mo(yf(wN,e))),()=>{n.forEach(o=>o())}}var j=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,xN='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 RN(){let e=new Blob([xN]);return URL.createObjectURL(e)}var c_=["log","warn","error"],Hc="[Replay] ";function _f(e,t="info"){Wt({category:"console",data:{logger:"replay"},level:t,message:`${Hc}${e}`},{level:t})}function CN(){let e=!1,t=!1,r={exception:()=>{},infoTick:()=>{},setConfig:n=>{e=!!n.captureExceptions,t=!!n.traceInternals}};return j?(c_.forEach(n=>{r[n]=(...o)=>{T[n](Hc,...o),t&&_f(o.join(""),Ei(n))}}),r.exception=(n,...o)=>{o.length&&r.error&&r.error(...o),T.error(Hc,n),e?on(n,{mechanism:{handled:!0,type:"auto.function.replay.debug"}}):t&&_f(n,"error")},r.infoTick=(...n)=>{T.log(Hc,...n),t&&setTimeout(()=>_f(n[0]),0)}):c_.forEach(n=>{r[n]=()=>{}}),r}var G=CN(),ka=class extends Error{constructor(){super(`Event buffer exceeded maximum size of ${qf}.`)}},Kc=class{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){let r=JSON.stringify(t).length;if(this._totalSize+=r,this._totalSize>qf)throw new ka;this.events.push(t)}finish(){return new Promise(t=>{let r=this.events;this.clear(),t(JSON.stringify(r))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){let t=null;for(let{timestamp:r}of this.events)(t===null||r<t)&&(t=r);return t===null?t:em(t)}},Bf=class{constructor(t){this._onMessage=({data:r})=>{let n=r;if(typeof n.id!="number")return;let o=this._pending.get(n.id);if(!(!o||o.method!==n.method)){if(this._pending.delete(n.id),!n.success){j&&G.error("Error in compression worker: ",n.response),o.reject(new Error("Error in compression worker"));return}o.resolve(n.response)}},this._worker=t,this._id=0,this._pending=new Map,this._worker.addEventListener("message",this._onMessage)}ensureReady(){return this._ensureReadyPromise?this._ensureReadyPromise:(this._ensureReadyPromise=new Promise((t,r)=>{this._worker.addEventListener("message",({data:n})=>{n.success?t():(j&&G.warn("Received worker message with unsuccessful status",n),r(new Error("Received worker message with unsuccessful status")))},{once:!0}),this._worker.addEventListener("error",n=>{j&&G.warn("Failed to load Replay compression worker",n),r(new Error(`Failed to load Replay compression worker: ${n instanceof ErrorEvent&&n.message?n.message:"Unknown error. This can happen due to CSP policy restrictions, network issues, or the worker script failing to load."}`))},{once:!0})}),this._ensureReadyPromise)}destroy(){j&&G.log("Destroying compression worker"),this._worker.removeEventListener("message",this._onMessage),this._pending.forEach(t=>t.reject(new Error("Worker destroyed"))),this._pending.clear(),this._worker.terminate()}postMessage(t,r){let n=this._getAndIncrementId();return new Promise((o,i)=>{this._pending.set(n,{method:t,resolve:o,reject:i});try{this._worker.postMessage({id:n,method:t,arg:r})}catch(s){this._pending.delete(n),i(s)}})}_getAndIncrementId(){return this._id++}},Ff=class{constructor(t){this._worker=new Bf(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){let r=em(t.timestamp);(!this._earliestTimestamp||r<this._earliestTimestamp)&&(this._earliestTimestamp=r);let n=JSON.stringify(t);return this._totalSize+=n.length,this._totalSize>qf?Promise.reject(new ka):this._sendEventToWorker(n)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear").then(null,t=>{j&&G.exception(t,'Sending "clear" message to worker failed',t)})}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(t){return this._worker.postMessage("addEvent",t)}async _finishRequest(){let t=await this._worker.postMessage("finish");return this._earliestTimestamp=null,this._totalSize=0,t}},Hf=class{constructor(t){this._fallback=new Kc,this._compression=new Ff(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){j&&G.exception(t,"Failed to load the compression worker, falling back to simple buffer");return}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){let{events:t,hasCheckout:r,waitForCheckout:n}=this._fallback,o=[];for(let i of t)o.push(this._compression.addEvent(i));this._compression.hasCheckout=r,this._compression.waitForCheckout=n,this._used=this._compression;try{await Promise.all(o),this._fallback.clear()}catch(i){j&&G.exception(i,"Failed to add events when switching buffers.")}}};function NN({useCompression:e,workerUrl:t}){if(e&&window.Worker){let r=AN(t);if(r)return r}return j&&G.log("Using simple buffer"),new Kc}function AN(e){try{let t=e||MN();if(!t)return;j&&G.log(`Using compression worker${e?` from ${e}`:""}`);let r=new Worker(t);return new Hf(r)}catch(t){j&&G.exception(t,"Failed to create compression worker")}}function MN(){return typeof __SENTRY_EXCLUDE_REPLAY_WORKER__>"u"||!__SENTRY_EXCLUDE_REPLAY_WORKER__?RN():""}function rm(){try{return"sessionStorage"in he&&!!he.sessionStorage}catch{return!1}}function LN(e){ON(),e.session=void 0}function ON(){if(rm())try{he.sessionStorage.removeItem(Vf)}catch{}}function W_(e){return e===void 0?!1:Math.random()<e}function su(e){if(rm())try{he.sessionStorage.setItem(Vf,JSON.stringify(e))}catch{}}function j_(e){let t=Date.now(),r=e.id||Me(),n=e.started||t,o=e.lastActivity||t,i=e.segmentId||0,s=e.sampled,a=e.previousSessionId,l=e.dirty||!1;return{id:r,started:n,lastActivity:o,segmentId:i,sampled:s,previousSessionId:a,dirty:l}}function DN(e,t){return W_(e)?"session":t?"buffer":!1}function u_({sessionSampleRate:e,allowBuffering:t,stickySession:r=!1},{previousSessionId:n}={}){let o=DN(e,t),i=j_({sampled:o,previousSessionId:n});return r&&su(i),i}function PN(){if(!rm())return null;try{let e=he.sessionStorage.getItem(Vf);if(!e)return null;let t=JSON.parse(e);return j&&G.infoTick("Loading existing session"),j_(t)}catch{return null}}function zf(e,t,r=+new Date){return e===null||t===void 0||t<0?!0:t===0?!1:e+t<=r}function UN(e,{maxReplayDuration:t,sessionIdleExpire:r,targetTime:n=Date.now()}){return zf(e.started,t,n)||zf(e.lastActivity,r,n)}function Xc(e,{sessionIdleExpire:t,maxReplayDuration:r}){return!(!UN(e,{sessionIdleExpire:t,maxReplayDuration:r})||e.sampled==="buffer"&&e.segmentId===0)}function Ef({sessionIdleExpire:e,maxReplayDuration:t,previousSessionId:r},n){let o=n.stickySession&&PN();return o?Xc(o,{sessionIdleExpire:e,maxReplayDuration:t})?(j&&G.infoTick("Session in sessionStorage is expired, creating new one..."),u_(n,{previousSessionId:o.id})):o:(j&&G.infoTick("Creating new session"),u_(n,{previousSessionId:r}))}function BN(e){return e.type===q.Custom}function nm(e,t,r){return V_(e,t)?(G_(e,t,r),!0):!1}function FN(e,t,r){return V_(e,t)?G_(e,t,r):Promise.resolve(null)}async function G_(e,t,r){let{eventBuffer:n}=e;if(!n||n.waitForCheckout&&!r)return null;let o=e.recordingMode==="buffer";try{r&&o&&n.clear(),r&&(n.hasCheckout=!0,n.waitForCheckout=!1);let i=e.getOptions(),s=HN(t,i.beforeAddRecordingEvent);return s?await n.addEvent(s):void 0}catch(i){let s=i&&i instanceof ka,a=s?"eventBufferOverflow":"eventBufferError",l=P();if(l){let c=s?"buffer_overflow":"internal_sdk_error";l.recordDroppedEvent(c,"replay")}if(s&&o)return n.clear(),n.waitForCheckout=!0,null;e.handleException(i),await e.stop({reason:a})}}function V_(e,t){if(!e.eventBuffer||e.isPaused()||!e.isEnabled())return!1;let r=em(t.timestamp);return r+e.timeouts.sessionIdlePause<Date.now()?!1:r>e.getContext().initialTimestamp+e.getOptions().maxReplayDuration?(j&&G.infoTick(`Skipping event with timestamp ${r} because it is after maxReplayDuration`),!1):!0}function HN(e,t){try{if(typeof t=="function"&&BN(e))return t(e)}catch(r){return j&&G.exception(r,"An error occurred in the `beforeAddRecordingEvent` callback, skipping the event..."),null}return e}function om(e){return!e.type}function $f(e){return e.type==="transaction"}function zN(e){return e.type==="replay_event"}function d_(e){return e.type==="feedback"}function $N(e){return(t,r)=>{if(!e.isEnabled()||!om(t)&&!$f(t))return;let n=r.statusCode;if(!(!n||n<200||n>=300)){if($f(t)){WN(e,t);return}jN(e,t)}}}function WN(e,t){let r=e.getContext();t.contexts?.trace?.trace_id&&r.traceIds.size<100&&r.traceIds.add(t.contexts.trace.trace_id)}function jN(e,t){let r=e.getContext();if(t.event_id&&r.errorIds.size<100&&r.errorIds.add(t.event_id),e.recordingMode!=="buffer"||!t.tags?.replayId)return;let{beforeErrorSampling:n}=e.getOptions();typeof n=="function"&&!n(t)||Po(async()=>{try{await e.sendBufferedReplayOrFlush()}catch(o){e.handleException(o)}})}function GN(e){return t=>{!e.isEnabled()||!om(t)||VN(e,t)}}function VN(e,t){let r=t.exception?.values?.[0]?.value;if(typeof r=="string"&&(r.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/)||r.match(/(does not match server-rendered HTML|Hydration failed because)/i))){let n=jr({category:"replay.hydrate-error",data:{url:Lt()}});Ra(e,n)}}function YN(e){let t=P();t&&t.on("beforeAddBreadcrumb",r=>qN(e,r))}function qN(e,t){if(!e.isEnabled()||!Y_(t))return;let r=KN(t);r&&Ra(e,r)}function KN(e){return!Y_(e)||["fetch","xhr","sentry.event","sentry.transaction"].includes(e.category)||e.category.startsWith("ui.")?null:e.category==="console"?XN(e):jr(e)}function XN(e){let t=e.data?.arguments;if(!Array.isArray(t)||t.length===0)return jr(e);let r=!1,n=t.map(o=>{if(!o)return o;if(typeof o=="string")return o.length>Pc?(r=!0,`${o.slice(0,Pc)}\u2026`):o;if(typeof o=="object")try{let i=ct(o,7);return JSON.stringify(i).length>Pc?(r=!0,`${JSON.stringify(i,null,2).slice(0,Pc)}\u2026`):i}catch{}return o});return jr({...e,data:{...e.data,arguments:n,...r?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}function Y_(e){return!!e.category}function JN(e,t){return e.type||!e.exception?.values?.length?!1:!!t.originalException?.__rrweb__}function Jc(){let e=H().getPropagationContext().dsc;e&&delete e.replay_id;let t=le();if(t){let r=Be(t);delete r.replay_id}}function p_(e){let t=H().getPropagationContext().dsc;t&&(t.replay_id=e);let r=le();if(r){let n=Be(r);n.replay_id=e}}function ZN(e,t){e.triggerUserActivity(),e.addUpdate(()=>t.timestamp?(e.throttledAddEvent({type:q.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 QN(e,t){return e.recordingMode!=="buffer"||t.message===Yf||!t.exception||t.type?!1:W_(e.getOptions().errorSampleRate)}function eA(e){return Object.assign((t,r)=>{if(e.session&&Xc(e.session,{maxReplayDuration:e.getOptions().maxReplayDuration,sessionIdleExpire:e.timeouts.sessionIdleExpire})&&Jc(),!e.isEnabled()||e.isPaused())return t;if(zN(t))return delete t.breadcrumbs,t;if(!om(t)&&!$f(t)&&!d_(t))return t;if(!e.checkAndHandleExpiredSession())return Jc(),t;if(d_(t))return e.flush(),t.contexts.feedback.replay_id=e.getSessionId(),ZN(e,t),t;if(JN(t,r)&&!e.getOptions()._experiments.captureExceptions)return j&&G.log("Ignoring error from rrweb internals",t),null;let o=QN(e,t);if((o||e.recordingMode==="session")&&(t.tags={...t.tags,replayId:e.getSessionId()}),o&&e.recordingMode==="buffer"&&e.session?.sampled==="buffer"){let s=e.session;s.dirty=!0,e.getOptions().stickySession&&su(s)}return t},{id:"Replay"})}function au(e,t){return t.map(({type:r,start:n,end:o,name:i,data:s})=>{let a=e.throttledAddEvent({type:q.Custom,timestamp:n,data:{tag:"performanceSpan",payload:{op:r,description:i,startTimestamp:n,endTimestamp:o,data:s}}});return typeof a=="string"?Promise.resolve(null):a})}function tA(e){let{from:t,to:r}=e,n=Date.now()/1e3;return{type:"navigation.push",start:n,end:n,name:r,data:{previous:t}}}function rA(e){return t=>{if(!e.isEnabled())return;let r=tA(t);r!==null&&(e.getContext().urls.push(r.name),e.triggerUserActivity(),e.addUpdate(()=>(au(e,[r]),!1)))}}function nA(e,t){return j&&e.getOptions()._experiments.traceInternals?!1:Cp(t,P())}function q_(e,t){e.isEnabled()&&t!==null&&(nA(e,t.name)||e.addUpdate(()=>(au(e,[t]),!0)))}function lu(e){if(!e)return;let 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){let r=Ac(e);return t.encode(r).length}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength}catch{}}function K_(e){if(!e)return;let t=parseInt(e,10);return isNaN(t)?void 0:t}function Zc(e,t){if(!e)return{headers:{},size:void 0,_meta:{warnings:[t]}};let r={...e._meta},n=r.warnings||[];return r.warnings=[...n,t],e._meta=r,e}function X_(e,t){if(!t)return null;let{startTimestamp:r,endTimestamp:n,url:o,method:i,statusCode:s,request:a,response:l}=t;return{type:e,start:r/1e3,end:n/1e3,name:o,data:{method:i,statusCode:s,request:a,response:l}}}function wa(e){return{headers:{},size:e,_meta:{warnings:["URL_SKIPPED"]}}}function zn(e,t,r){if(!t&&Object.keys(e).length===0)return;if(!t)return{headers:e};if(!r)return{headers:e,size:t};let n={headers:e,size:t},{body:o,warnings:i}=oA(r);return n.body=o,i?.length&&(n._meta={warnings:i}),n}function Wf(e,t){return Object.entries(e).reduce((r,[n,o])=>{let i=n.toLowerCase();return t.includes(i)&&e[n]&&(r[i]=o),r},{})}function oA(e){if(!e||typeof e!="string")return{body:e};let t=e.length>Vy,r=iA(e);if(t){let n=e.slice(0,Vy);return r?{body:n,warnings:["MAYBE_JSON_TRUNCATED"]}:{body:`${n}\u2026`,warnings:["TEXT_TRUNCATED"]}}if(r)try{return{body:JSON.parse(e)}}catch{}return{body:e}}function iA(e){let t=e[0],r=e[e.length-1];return t==="["&&r==="]"||t==="{"&&r==="}"}function Qc(e,t){let r=sA(e);return Ze(r,t)}function sA(e,t=he.document.baseURI){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith(he.location.origin))return e;let r=new URL(e,t);if(r.origin!==new URL(t).origin)return e;let n=r.href;return!e.endsWith("/")&&n.endsWith("/")?n.slice(0,-1):n}async function aA(e,t,r){try{let n=await cA(e,t,r),o=X_("resource.fetch",n);q_(r.replay,o)}catch(n){j&&G.exception(n,"Failed to capture fetch breadcrumb")}}function lA(e,t){let{input:r,response:n}=t,o=r?Lc(r):void 0,i=lu(o),s=n?K_(n.headers.get("content-length")):void 0;i!==void 0&&(e.data.request_body_size=i),s!==void 0&&(e.data.response_body_size=s)}async function cA(e,t,r){let n=Date.now(),{startTimestamp:o=n,endTimestamp:i=n}=t,{url:s,method:a,status_code:l=0,request_body_size:c,response_body_size:u}=e.data,d=Qc(s,r.networkDetailAllowUrls)&&!Qc(s,r.networkDetailDenyUrls),p=d?uA(r,t.input,c):wa(c),f=await dA(d,r,t.response,u);return{startTimestamp:o,endTimestamp:i,url:s,method:a,statusCode:l,request:p,response:f}}function uA({networkCaptureBodies:e,networkRequestHeaders:t},r,n){let o=r?mA(r,t):{};if(!e)return zn(o,n,void 0);let i=Lc(r),[s,a]=Mc(i,G),l=zn(o,n,s);return a?Zc(l,a):l}async function dA(e,{networkCaptureBodies:t,networkResponseHeaders:r},n,o){if(!e&&o!==void 0)return wa(o);let i=n?J_(n.headers,r):{};if(!n||!t&&o!==void 0)return zn(i,o,void 0);let[s,a]=await fA(n),l=pA(s,{networkCaptureBodies:t,responseBodySize:o,captureDetails:e,headers:i});return a?Zc(l,a):l}function pA(e,{networkCaptureBodies:t,responseBodySize:r,captureDetails:n,headers:o}){try{let i=e?.length&&r===void 0?lu(e):r;return n?t?zn(o,i,e):zn(o,i,void 0):wa(i)}catch(i){return j&&G.exception(i,"Failed to serialize response body"),zn(o,r,void 0)}}async function fA(e){let t=gA(e);if(!t)return[void 0,"BODY_PARSE_ERROR"];try{return[await hA(t)]}catch(r){return r instanceof Error&&r.message.indexOf("Timeout")>-1?(j&&G.warn("Parsing text body from response timed out"),[void 0,"BODY_PARSE_TIMEOUT"]):(j&&G.exception(r,"Failed to get text body from response"),[void 0,"BODY_PARSE_ERROR"])}}function J_(e,t){let r={};return t.forEach(n=>{e.get(n)&&(r[n]=e.get(n))}),r}function mA(e,t){return e.length===1&&typeof e[0]!="string"?f_(e[0],t):e.length===2?f_(e[1],t):{}}function f_(e,t){if(!e)return{};let r=e.headers;return r?r instanceof Headers?J_(r,t):Array.isArray(r)?{}:Wf(r,t):{}}function gA(e){try{return e.clone()}catch(t){j&&G.exception(t,"Failed to clone response body")}}function hA(e){return new Promise((t,r)=>{let n=Po(()=>r(new Error("Timeout while trying to read response body")),500);SA(e).then(o=>t(o),o=>r(o)).finally(()=>clearTimeout(n))})}async function SA(e){return await e.text()}async function vA(e,t,r){try{let n=_A(e,t,r),o=X_("resource.xhr",n);q_(r.replay,o)}catch(n){j&&G.exception(n,"Failed to capture xhr breadcrumb")}}function yA(e,t){let{xhr:r,input:n}=t;if(!r)return;let o=lu(n),i=r.getResponseHeader("content-length")?K_(r.getResponseHeader("content-length")):bA(r.response,r.responseType);o!==void 0&&(e.data.request_body_size=o),i!==void 0&&(e.data.response_body_size=i)}function _A(e,t,r){let n=Date.now(),{startTimestamp:o=n,endTimestamp:i=n,input:s,xhr:a}=t,{url:l,method:c,status_code:u=0,request_body_size:d,response_body_size:p}=e.data;if(!l)return null;if(!a||!Qc(l,r.networkDetailAllowUrls)||Qc(l,r.networkDetailDenyUrls)){let R=wa(d),_=wa(p);return{startTimestamp:o,endTimestamp:i,url:l,method:c,statusCode:u,request:R,response:_}}let f=a[Ir],h=f?Wf(f.request_headers,r.networkRequestHeaders):{},y=Wf(pa(a),r.networkResponseHeaders),[k,g]=r.networkCaptureBodies?Mc(s,G):[void 0],[S,v]=r.networkCaptureBodies?EA(a):[void 0],E=zn(h,d,k),C=zn(y,p,S);return{startTimestamp:o,endTimestamp:i,url:l,method:c,statusCode:u,request:g?Zc(E,g):E,response:v?Zc(C,v):C}}function EA(e){let t=[];try{return[e.responseText]}catch(r){t.push(r)}try{return TA(e.response,e.responseType)}catch(r){t.push(r)}return j&&G.warn("Failed to get xhr response body",...t),[void 0]}function TA(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(r){return j&&G.exception(r,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return j&&G.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function bA(e,t){try{let r=t==="json"&&e&&typeof e=="object"?JSON.stringify(e):e;return lu(r)}catch{return}}function kA(e){let t=P();try{let{networkDetailAllowUrls:r,networkDetailDenyUrls:n,networkCaptureBodies:o,networkRequestHeaders:i,networkResponseHeaders:s}=e.getOptions(),a={replay:e,networkDetailAllowUrls:r,networkDetailDenyUrls:n,networkCaptureBodies:o,networkRequestHeaders:i,networkResponseHeaders:s};t&&t.on("beforeAddBreadcrumb",(l,c)=>wA(a,l,c))}catch{}}function wA(e,t,r){if(t.data)try{IA(t)&&RA(r)&&(yA(t,r),vA(t,r,e)),xA(t)&&CA(r)&&(lA(t,r),aA(t,r,e))}catch(n){j&&G.exception(n,"Error when enriching network breadcrumb")}}function IA(e){return e.category==="xhr"}function xA(e){return e.category==="fetch"}function RA(e){return e?.xhr}function CA(e){return e?.input!==void 0}function NA(e){let t=P();ua(cN(e)),pn(rA(e)),YN(e),kA(e);let r=eA(e);Xs(r),t&&(t.on("beforeSendEvent",GN(e)),t.on("afterSendEvent",$N(e)),t.on("createDsc",n=>{let o=e.getSessionId();o&&e.isEnabled()&&e.recordingMode==="session"&&e.checkAndHandleExpiredSession()&&(n.replay_id=o)}),t.on("spanStart",n=>{e.lastActiveSpan=n}),t.on("spanEnd",n=>{e.lastActiveSpan=n}),t.on("beforeSendFeedback",async(n,o)=>{let i=e.getSessionId();o?.includeReplay&&e.isEnabled()&&i&&n.contexts?.feedback&&(n.contexts.feedback.source==="api"&&await e.sendBufferedReplayOrFlush(),n.contexts.feedback.replay_id=i)}),t.on("openFeedbackWidget",async()=>{await e.sendBufferedReplayOrFlush()}))}async function AA(e){try{return Promise.all(au(e,[MA(he.performance.memory)]))}catch{return[]}}function MA(e){let{jsHeapSizeLimit:t,totalJSHeapSize:r,usedJSHeapSize:n}=e,o=Date.now()/1e3;return{type:"memory",name:"memory",start:o,end:o,data:{memory:{jsHeapSizeLimit:t,totalJSHeapSize:r,usedJSHeapSize:n}}}}function LA(e,t,r){return Ap(e,t,{...r,setTimeoutImpl:Po})}var Fc=U.navigator;function OA(){return/iPhone|iPad|iPod/i.test(Fc?.userAgent??"")||/Macintosh/i.test(Fc?.userAgent??"")&&Fc?.maxTouchPoints&&Fc?.maxTouchPoints>1?{sampling:{mousemove:!1}}:{}}function DA(e){let t=!1;return(r,n)=>{if(!e.checkAndHandleExpiredSession()){j&&G.warn("Received replay event after session expired.");return}let o=n||!t;t=!0,PA(r),e.clickDetector&&oN(e.clickDetector,r),e.addUpdate(()=>{if(e.recordingMode==="buffer"&&o&&e.setInitialState(),!nm(e,r,o))return!0;if(!o)return!1;let i=e.session;if(BA(e,o),e.recordingMode==="buffer"&&i&&e.eventBuffer&&!i.dirty){let s=e.eventBuffer.getEarliestTimestamp();s&&(j&&G.log(`Updating session start time to earliest event in buffer to ${new Date(s)}`),i.started=s,e.getOptions().stickySession&&su(i))}return i?.previousSessionId||e.recordingMode==="session"&&e.flush(),!0})}}function PA(e){let t=e.data;if(!(e.type!==q.IncrementalSnapshot||!t||typeof t!="object"||!("source"in t)||t.source!==Y.Mutation||!("attributes"in t)||!Array.isArray(t.attributes)))for(let r of t.attributes){let n=Rr.mirror.getNode(r.id),o=n&&Rr.mirror.getMeta(n);if(o?.type===iu.Element)for(let[i,s]of Object.entries(r.attributes))s===null?delete o.attributes[i]:o.attributes[i]=s}}function UA(e){let t=e.getOptions();return{type:q.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 BA(e,t){!t||e.session?.segmentId!==0||nm(e,UA(e),!1)}function FA(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function HA(e,t,r,n){return _t(js(e,pi(e),n,r),[[{type:"replay_event"},e],[{type:"replay_recording",length:typeof t=="string"?new TextEncoder().encode(t).length:t.length},t]])}function zA({recordingData:e,headers:t}){let r,n=`${JSON.stringify(t)}
31
- `;if(typeof e=="string")r=`${n}${e}`;else{let i=new TextEncoder().encode(n);r=new Uint8Array(i.length+e.length),r.set(i),r.set(e,i.length)}return r}async function $A({client:e,scope:t,replayId:r,event:n}){let o=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:r,integrations:o};e.emit("preprocessEvent",n,i);let s=await Ys(e.getOptions(),n,i,t,e,be());if(!s)return null;e.emit("postprocessEvent",s,i),s.platform=s.platform||"javascript";let a=e.getSdkMetadata(),{name:l,version:c,settings:u}=a?.sdk||{};return s.sdk={...s.sdk,name:l||"sentry.javascript.unknown",version:c||"0.0.0",settings:u},s}async function WA({recordingData:e,replayId:t,segmentId:r,eventContext:n,timestamp:o,session:i}){let s=zA({recordingData:e,headers:{segment_id:r}}),{urls:a,errorIds:l,traceIds:c,initialTimestamp:u}=n,d=P(),p=H(),f=d?.getTransport(),h=d?.getDsn();if(!d||!f||!h||!i.sampled)return Promise.resolve({});let y={type:NR,replay_start_timestamp:u/1e3,timestamp:o/1e3,error_ids:l,trace_ids:c,urls:a,replay_id:t,segment_id:r,replay_type:i.sampled},k=await $A({scope:p,client:d,replayId:t,event:y});if(!k)return d.recordDroppedEvent("event_processor","replay"),j&&G.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete k.sdkProcessingMetadata;let g=HA(k,s,h,d.getOptions().tunnel),S;try{S=await f.send(g)}catch(E){let C=new Error(Yf);try{C.cause=E}catch{}throw C}let v=ea({},S);if(Qs(v,"replay"))throw new Ia(v);if(typeof S.statusCode=="number"&&(S.statusCode<200||S.statusCode>=300))throw new eu(S.statusCode);return S}var eu=class extends Error{constructor(t){super(`Transport returned status code ${t}`)}},Ia=class extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}},tu=class extends Error{constructor(){super("Session is too long, not sending replay")}};async function Z_(e,t={count:0,interval:PR}){let{recordingData:r,onError:n}=e;if(r.length)try{return await WA(e),!0}catch(o){if(o instanceof eu||o instanceof Ia)throw o;if(xo("Replays",{_retryCount:t.count}),n&&n(o),t.count>=UR){let i=new Error(`${Yf} - max retries exceeded`);try{i.cause=o}catch{}throw i}return t.interval*=++t.count,new Promise((i,s)=>{Po(async()=>{try{await Z_(e,t),i(!0)}catch(a){s(a)}},t.interval)})}}var Q_="__THROTTLED",jA="__SKIPPED";function GA(e,t,r){let n=new Map,o=a=>{let l=a-r;n.forEach((c,u)=>{u<l&&n.delete(u)})},i=()=>[...n.values()].reduce((a,l)=>a+l,0),s=!1;return(...a)=>{let l=Math.floor(Date.now()/1e3);if(o(l),i()>=t){let u=s;return s=!0,u?jA:Q_}s=!1;let c=n.get(l)||0;return n.set(l,c+1),e(...a)}}var jf=class{constructor({options:t,recordingOptions:r}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:AR,sessionIdleExpire:MR},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=r,this._options=t,this._debouncedFlush=LA(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=GA((s,a)=>FN(this,s,a),300,5);let{slowClickTimeout:n,slowClickIgnoreSelectors:o}=this.getOptions(),i=n?{threshold:Math.min(BR,n),timeout:n,scrollTimeout:FR,ignoreSelector:o?o.join(","):""}:void 0;if(i&&(this.clickDetector=new Uf(this,i)),j){let s=t._experiments;G.setConfig({captureExceptions:!!s.captureExceptions,traceInternals:!!s.traceInternals})}this._handleVisibilityChange=()=>{he.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{let s=jr({category:"ui.blur"});this._doChangeToBackgroundTasks(s)},this._handleWindowFocus=()=>{let s=jr({category:"ui.focus"});this._doChangeToForegroundTasks(s)},this._handleKeyboardEvent=s=>{fN(this,s)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){j&&G.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){let{errorSampleRate:r,sessionSampleRate:n}=this._options,o=r<=0&&n<=0;if(this._requiresManualStart=o,!o){if(this._initializeSessionForSampling(t),!this.session){j&&G.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",j&&G.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){j&&G.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){j&&G.log("Buffering is in progress, call `flush()` to save the replay");return}j&&G.infoTick("Starting replay in session mode"),this._updateUserActivity();let t=Ef({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){j&&G.log("Buffering is in progress, call `flush()` to save the replay");return}j&&G.infoTick("Starting replay in buffer mode");let t=Ef({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{let t=this._canvas;this._stopRecording=Rr({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:DR}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:DA(this),...OA(),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:r}={}){if(!this._isEnabled)return;this._isEnabled=!1,this.recordingMode="buffer";let n=r??"manual";P()?.emit("replayEnd",{sessionId:this.session?.id,reason:n});try{j&&G.log(`Stopping Replay triggered by ${n}`),Jc(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),this.eventBuffer?.destroy(),this.eventBuffer=null,LN(this)}catch(o){this.handleException(o)}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),j&&G.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),j&&G.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();let r=Date.now();j&&G.log("Converting buffer to session"),await this.flushImmediate();let n=this.stopRecording();!t||!n||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(r),this._updateSessionActivity(r),this._maybeSaveSession(),p_(this.session.id)),this.startRecording())}addUpdate(t){let r=t();this.recordingMode==="buffer"||!this._isEnabled||r!==!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){if(!(t&&this.session?.sampled===!1))return this.session?.id}checkAndHandleExpiredSession(){if(this._lastActivity&&zf(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session?.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){let t=`${he.location.pathname}${he.location.hash}${he.location.search}`,r=`${he.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=r,this._context.initialTimestamp=Date.now(),this._context.urls.push(r)}throttledAddEvent(t,r){let n=this._throttledAddEvent(t,r);if(n===Q_){let o=jr({category:"replay.throttled"});this.addUpdate(()=>!nm(this,{type:qC,timestamp:o.timestamp||0,data:{tag:"breadcrumb",payload:o,metric:!0}}))}return n}getCurrentRoute(){let t=this.lastActiveSpan||le(),r=t&&ie(t),o=(r&&$(r).data||{})[$e];if(!(!r||!o||!["route","custom"].includes(o)))return $(r).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=NN({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.session&&P()?.emit("replayStart",{sessionId:this.session.id,recordingMode:this.recordingMode}),this.startRecording(),this.recordingMode==="session"&&this.session&&p_(this.session.id)}_initializeSessionForSampling(t){let r=this._options.errorSampleRate>0,n=Ef({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:r});this.session=n}_checkSession(){if(!this.session)return!1;let t=this.session;return Xc(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"sessionExpired"}),this.initializeSampling(t.id))}_addListeners(){try{he.document.addEventListener("visibilitychange",this._handleVisibilityChange),he.addEventListener("blur",this._handleWindowBlur),he.addEventListener("focus",this._handleWindowFocus),he.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(NA(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=IN(this)}_removeListeners(){try{he.document.removeEventListener("visibilitychange",this._handleVisibilityChange),he.removeEventListener("blur",this._handleWindowBlur),he.removeEventListener("focus",this._handleWindowFocus),he.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){if(!this.session)return;if(Xc(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})){Jc();return}t&&this._createCustomBreadcrumb(t),this.conditionalFlush()}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){j&&G.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:q.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=SN(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){let r=this._context.initialTimestamp/1e3;t=t.filter(n=>n.start>=r)}return Promise.all(au(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){let{session:t,eventBuffer:r}=this;if(!t||!r||this._requiresManualStart||t.segmentId)return;let n=r.getEarliestTimestamp();n&&n<this._context.initialTimestamp&&(this._context.initialTimestamp=n)}_popEventContext(){let 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(){let t=this.getSessionId();if(!this.session||!this.eventBuffer||!t){j&&G.error("No session or eventBuffer found to flush.");return}if(await this._addPerformanceEntries(),!!this.eventBuffer?.hasEvents&&(await AA(this),!!this.eventBuffer&&t===this.getSessionId()))try{this._updateInitialTimestampFromEventBuffer();let r=Date.now();if(r-this._context.initialTimestamp>this._options.maxReplayDuration+3e4)throw new tu;let n=this._popEventContext(),o=this.session.segmentId++;this._maybeSaveSession();let i=await this.eventBuffer.finish();await Z_({replayId:t,recordingData:i,segmentId:o,eventContext:n,session:this.session,timestamp:r,onError:s=>this.handleException(s)})}catch(r){this.handleException(r),this.stop({reason:"sendError"});let n=P();if(n){let o;r instanceof Ia?o="ratelimit_backoff":r instanceof tu?o="invalid":o="send_error",n.recordDroppedEvent(o,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){j&&G.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;let r=this.session.started,o=Date.now()-r;this._debouncedFlush.cancel();let i=o<this._options.minReplayDuration,s=o>this._options.maxReplayDuration+5e3;if(i||s){j&&G.log(`Session duration (${Math.floor(o/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}let a=this.eventBuffer;a&&this.session.segmentId===0&&!a.hasCheckout&&j&&G.log("Flushing initial segment without checkout.");let l=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(c){this.handleException(c)}finally{this._flushLock=void 0,l&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&su(this.session)}_onMutationHandler(t){let{ignoreMutations:r}=this._options._experiments;if(r?.length&&t.some(a=>{let l=FA(a.target),c=r.join(",");return l?.matches(c)}))return!1;let n=t.length,o=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,s=o&&n>o;if(n>i||s){let a=jr({category:"replay.mutations",data:{count:n,limit:s}});this._createCustomBreadcrumb(a)}return s?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}};function ga(e,t){return[...e,...t].join(",")}function VA({mask:e,unmask:t,block:r,unblock:n,ignore:o}){let i=["base","iframe[srcdoc]:not([src])"],s=ga(e,[".sentry-mask","[data-sentry-mask]"]),a=ga(t,[]);return{maskTextSelector:s,unmaskTextSelector:a,blockSelector:ga(r,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:ga(n,[]),ignoreSelector:ga(o,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function YA({el:e,key:t,maskAttributes:r,maskAllText:n,privacyOptions:o,value:i}){if(o.unmaskTextSelector&&e.matches(o.unmaskTextSelector))return i;let s=r.includes(t),a=n&&t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"");return s||a?i.replace(/[\S]/g,"*"):i}var m_='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',qA=["content-length","content-type","accept"],KA=Symbol.for("sentry__originalRequestBody"),g_=!1,h_=!1;function XA(){if(typeof Request>"u"||h_)return;let e=Request;try{let t=function(r,n){let o=new e(r,n);return n?.body!=null&&(o[KA]=n.body),o};t.prototype=e.prototype,U.Request=t,h_=!0}catch{}}var im=(e=>new Gf(e)),Gf=class{constructor({flushMinDelay:t=LR,flushMaxDelay:r=OR,minReplayDuration:n=HR,maxReplayDuration:o=Yy,stickySession:i=!0,useCompression:s=!0,workerUrl:a,_experiments:l={},maskAllText:c=!0,maskAllInputs:u=!0,blockAllMedia:d=!0,mutationBreadcrumbLimit:p=750,mutationLimit:f=1e4,slowClickTimeout:h=7e3,slowClickIgnoreSelectors:y=[],networkDetailAllowUrls:k=[],networkDetailDenyUrls:g=[],networkCaptureBodies:S=!0,networkRequestHeaders:v=[],networkResponseHeaders:E=[],mask:C=[],maskAttributes:R=["title","placeholder","aria-label"],unmask:_=[],block:w=[],unblock:z=[],ignore:I=[],maskFn:D,beforeAddRecordingEvent:W,beforeErrorSampling:K,onError:V,attachRawBodyFromRequest:De=!1}={}){this.name="Replay";let ue=VA({mask:C,unmask:_,block:w,unblock:z,ignore:I});if(this._recordingOptions={maskAllInputs:u,maskAllText:c,maskInputOptions:{password:!0},maskTextFn:D,maskInputFn:D,maskAttributeFn:(fe,L,b)=>YA({maskAttributes:R,maskAllText:c,privacyOptions:ue,key:fe,value:L,el:b}),...ue,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:fe=>{try{fe.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!l.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:r,minReplayDuration:Math.min(n,zR),maxReplayDuration:Math.min(o,Yy),stickySession:i,useCompression:s,workerUrl:a,blockAllMedia:d,maskAllInputs:u,maskAllText:c,mutationBreadcrumbLimit:p,mutationLimit:f,slowClickTimeout:h,slowClickIgnoreSelectors:y,networkDetailAllowUrls:k,networkDetailDenyUrls:g,networkCaptureBodies:S,networkRequestHeaders:S_(v),networkResponseHeaders:S_(E),beforeAddRecordingEvent:W,beforeErrorSampling:K,onError:V,attachRawBodyFromRequest:De,_experiments:l},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${m_}`:m_,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&ir())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return g_}set _isInitialized(t){g_=t}afterAllSetup(t){!ir()||this._replay||(this._initialOptions.attachRawBodyFromRequest&&XA(),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",reason:"manual"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){if(this._replay?.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){if(this._replay?.isEnabled())return this._replay.recordingMode}processSpan(t){let r=this.getReplayId(!0);r&&On(t,{"sentry.replay_id":r})}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){let r=JA(this._initialOptions,t);this._replay=new jf({options:r,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{let r=t.getIntegrationByName("ReplayCanvas");if(!r)return;this._replay._canvas=r.getOptions()}catch{}}};function JA(e,t){let r=t.getOptions(),n={sessionSampleRate:0,errorSampleRate:0,...e},o=$t(r.replaysSessionSampleRate),i=$t(r.replaysOnErrorSampleRate);return o==null&&i==null&&Je(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),o!=null&&(n.sessionSampleRate=o),i!=null&&(n.errorSampleRate=i),n}function S_(e){return[...qA,...e.map(t=>t.toLowerCase())]}function eE(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function sm(e){try{return new URL(e,F.location.origin).href}catch{return}}function tE(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function am(e){try{return new Headers(e)}catch{return}}var lm={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function nE(e,t){let{traceFetch:r,traceXHR:n,shouldCreateSpanForRequest:o,enableHTTPTimings:i,tracePropagationTargets:s,onRequestSpanStart:a,onRequestSpanEnd:l}={...lm,...t},c=typeof o=="function"?o:f=>!0,u=f=>QA(f,s),d={},p=e.getOptions().propagateTraceparent;r&&Pn(f=>{let h=Up(f,c,u,d,{propagateTraceparent:p,onRequestSpanEnd:l});if(h){let y=sm(f.fetchData.url),k=y?or(y).host:void 0;h.setAttributes({"http.url":y?pt(y):void 0,"server.address":k}),i&&rE(h,e),a?.(h,{headers:f.headers})}}),n&&da(f=>{let h=eM(f,c,u,d,p,l);h&&(i&&rE(h,e),a?.(h,{headers:am(f.xhr.__sentry_xhr_v3__?.request_headers)}))})}var ZA=300;function rE(e,t){let{url:r}=$(e).data;if(!r||typeof r!="string")return;let n=()=>{setTimeout(o)};if(et(t)){let i=e.end.bind(e);e.end=s=>{let a=s??ae(),l=!1,c=()=>{l||(l=!0,setTimeout(o),i(a),clearTimeout(u))};n=c;let u=setTimeout(c,ZA)}}let o=wr("resource",({entries:i})=>{i.forEach(s=>{tE(s)&&s.name.endsWith(r)&&(e.setAttributes(la(s)),n())})})}function QA(e,t){let r=Lt();if(r){let n,o;try{n=new URL(e,r),o=new URL(r).origin}catch{return!1}let i=n.origin===o;return t?Ze(n.toString(),t)||i&&Ze(n.pathname,t):i}else{let n=!!e.match(/^\/(?!\/)/);return t?Ze(e,t):n}}function eM(e,t,r,n,o,i){let s=e.xhr,a=s?.[Ir];if(!s||s.__sentry_own_request__||!a)return;let{url:l,method:c}=a,u=We()&&t(l);if(e.endTimestamp){let S=s.__sentry_xhr_span_id__;if(!S)return;let v=n[S];v&&(u&&a.status_code!==void 0&&(li(v,a.status_code),v.end(),i?.(v,{headers:am(pa(s)),error:e.error})),delete n[S]);return}let d=sm(l),p=d?or(d):or(l),f=pt(Ql(l)),h=P(),k=!!le()||!!h&&et(h),g=u&&k?Ve({name:`${c} ${f}`,attributes:{url:pt(l),type:"xhr","http.method":c,"http.url":d?pt(d):void 0,"server.address":p?.host,[ee]:"auto.http.browser",[_e]:"http.client",...p?.search&&{"http.query":p?.search},...p?.hash&&{"http.fragment":p?.hash}}}):new Qe;return u&&!k&&h?.recordDroppedEvent("no_parent_span","span"),s.__sentry_xhr_span_id__=g.spanContext().spanId,n[s.__sentry_xhr_span_id__]=g,r(l)&&tM(s,We()&&k?g:void 0,o),h&&h.emit("beforeOutgoingRequestSpan",g,e),g}function tM(e,t,r){let{"sentry-trace":n,baggage:o,traceparent:i}=_i({span:t,propagateTraceparent:r});n&&rM(e,n,o,i)}function rM(e,t,r,n){let o=e.__sentry_xhr_v3__?.request_headers;if(!(o?.["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),n&&!o?.traceparent&&e.setRequestHeader("traceparent",n),r){let i=o?.baggage;(!i||!eE(i))&&e.setRequestHeader("baggage",r)}}catch{}}var oE=new WeakMap,iE=new WeakMap,nM=9e4,oM=["text/event-stream","application/x-ndjson","application/stream+json"],sE=()=>({name:"FetchStreamPerformance",setup(){pc(e=>{if(e.response){let t=oE.get(e.response);if(t&&e.endTimestamp){t.end(e.endTimestamp);let r=iE.get(e.response);r&&clearTimeout(r)}}}),Pn(e=>{if(e.endTimestamp&&e.response){let t=e.response.headers?.get("content-type")||"";if(e.response.headers?.get("content-length")||!oM.some(l=>t.startsWith(l)))return;let r=e.fetchData?.url||"",n=e.fetchData?.method||"GET",o=Fr(r),i=r.startsWith("data:")?pt(r):o?gi(o):r,s=Ve({name:`${n} ${i}`,startTime:e.endTimestamp,attributes:{url:pt(r),"http.method":n,type:"fetch",[_e]:"http.client.stream",[ee]:"auto.http.browser.stream"}});oE.set(e.response,s);let a=setTimeout(()=>{s.isRecording()&&s.end()},nM);iE.set(e.response,a)}})}});function aE(){F.document?F.document.addEventListener("visibilitychange",()=>{let e=le();if(!e)return;let t=ie(e);if(F.document.hidden&&t){let r="cancelled",{op:n,status:o}=$(t);xe&&T.log(`[Tracing] Transaction: ${r} -> since tab moved to the background, op: ${n}`),o||t.setStatus({code:2,message:r}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):xe&&T.warn("[Tracing] Could not set up background tab detection due to lack of global document")}var iM=3600,lE="sentry_previous_trace",sM="sentry.previous_trace";function cE(e,{linkPreviousTrace:t,consistentTraceSampling:r}){let n=t==="session-storage",o=n?cM():void 0;e.on("spanStart",s=>{if(ie(s)!==s)return;let a=H().getPropagationContext();o=aM(o,s,a),n&&lM(o)});let i=!0;r&&e.on("beforeSampling",s=>{if(!o)return;let a=H(),l=a.getPropagationContext();if(i&&l.parentSpanId){i=!1;return}a.setPropagationContext({...l,dsc:{...l.dsc,sample_rate:String(o.sampleRate),sampled:String(cm(o.spanContext))},sampleRand:o.sampleRand}),s.parentSampled=cm(o.spanContext),s.parentSampleRate=o.sampleRate,s.spanAttributes={...s.spanAttributes,[si]:o.sampleRate}})}function aM(e,t,r){let n=$(t);function o(){try{let a=Number(n.data?.[en]??r.dsc?.sample_rate);return Number.isNaN(a)?0:a}catch{return 0}}let i={spanContext:t.spanContext(),startTimestamp:n.start_timestamp,sampleRate:o(),sampleRand:r.sampleRand};if(!e)return i;let s=e.spanContext;return s.traceId===n.trace_id?e:(Date.now()/1e3-e.startTimestamp<=iM&&(xe&&T.log(`Adding previous_trace \`${JSON.stringify(s)}\` link to span \`${JSON.stringify({op:n.op,...t.spanContext()})}\``),t.addLink({context:s,attributes:{[Ul]:"previous_trace"}}),t.setAttribute(sM,`${s.traceId}-${s.spanId}-${cm(s)?1:0}`)),i)}function lM(e){try{F.sessionStorage.setItem(lE,JSON.stringify(e))}catch(t){xe&&T.warn("Could not store previous trace in sessionStorage",t)}}function cM(){try{let e=F.sessionStorage?.getItem(lE);return JSON.parse(e)}catch{return}}function cm(e){return e.traceFlags===1}var uM="BrowserTracing",dM=/Googlebot|Google-InspectionTool|Storebot-Google|Bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot|Facebot|facebookexternalhit|LinkedInBot|Twitterbot|Applebot/i;function mE(){let e=F.navigator;return e?.userAgent?dM.test(e.userAgent):!1}var pM={...mi,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...lm},um=((e={})=>{"enableElementTiming"in e&&Je(()=>{console.warn("[Sentry] `enableElementTiming` is deprecated and no longer has any effect. Use the standalone `elementTimingIntegration` instead.")});let t={name:void 0,source:void 0},r=F.document,{enableInp:n,enableLongTask:o,enableLongAnimationFrame:i,_experiments:{enableInteractions:s,enableStandaloneClsSpans:a,enableStandaloneLcpSpans:l},beforeStartSpan:c,idleTimeout:u,finalTimeout:d,childSpanTimeout:p,markBackgroundSpan:f,traceFetch:h,traceXHR:y,trackFetchStreamPerformance:k,shouldCreateSpanForRequest:g,enableHTTPTimings:S,ignoreResourceSpans:v,ignorePerformanceApiSpans:E,instrumentPageLoad:C,instrumentNavigation:R,detectRedirects:_,linkPreviousTrace:w,consistentTraceSampling:z,enableReportPageLoaded:I,onRequestSpanStart:D,onRequestSpanEnd:W}={...pM,...e},K=mE(),V,De,ue;function fe(L,b,x=!0){let A=b.op==="pageload",oe=b.name,J=c?c(b):b,ot=J.attributes||{};if(oe!==J.name&&(ot[$e]="custom",J.attributes=ot),!x){let Jt=Ct();Ve({...J,startTime:Jt}).end(Jt);return}t.name=J.name,t.source=ot[$e];let Ie=Jl(J,{idleTimeout:u,finalTimeout:d,childSpanTimeout:p,disableAutoFinish:A,beforeSpanEnd:Jt=>{V?.();let Zt=et(L);tf(Jt,{recordClsOnPageloadSpan:!Zt&&!a,recordLcpOnPageloadSpan:!Zt&&!l,ignoreResourceSpans:v,ignorePerformanceApiSpans:E,spanStreamingEnabled:Zt}),pE(L,void 0);let Ss=H(),co=Ss.getPropagationContext();Ss.setPropagationContext({...co,traceId:Ie.spanContext().traceId,sampled:Mt(Ie),dsc:Be(Jt)}),A&&(ue=void 0)},trimIdleSpanEndTimestamp:!I});A&&I&&(ue=Ie),pE(L,Ie);function it(){r&&["interactive","complete"].includes(r.readyState)&&L.emit("idleSpanEnableAutoFinish",Ie)}A&&!I&&r&&(r.addEventListener("readystatechange",()=>{it()}),it())}return{name:uM,setup(L){if(K){xe&&T.log("[Tracing] Skipping browserTracingIntegration setup for bot user agent.");return}jl();let b=et(L);if(V=Jp({recordClsStandaloneSpans:b?void 0:a||!1,recordLcpStandaloneSpans:b?void 0:l||!1,client:L}),b?(lf(L),cf(L),n&&uf()):n&&of(),i&&U.PerformanceObserver&&PerformanceObserver.supportedEntryTypes?.includes("long-animation-frame")?Qp():o&&Zp(),s&&ef(),_&&r){let A=()=>{De=ae()};addEventListener("click",A,{capture:!0}),addEventListener("keydown",A,{capture:!0,passive:!0})}function x(){let A=Ca(L);A&&!$(A).timestamp&&(xe&&T.log(`[Tracing] Finishing current active span with op: ${$(A).op}`),A.setAttribute(tn,"cancelled"),A.end())}L.on("startNavigationSpan",(A,oe)=>{if(P()!==L)return;if(oe?.isRedirect){xe&&T.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),fe(L,{op:"navigation.redirect",...A},!1);return}De=void 0,x(),be().setPropagationContext({traceId:yt(),sampleRand:Math.random(),propagationSpanId:We()?void 0:ut()});let J=H();J.setPropagationContext({traceId:yt(),sampleRand:Math.random(),propagationSpanId:We()?void 0:ut()}),J.setSDKProcessingMetadata({normalizedRequest:void 0}),fe(L,{op:"navigation",...A,parentSpan:null,forceTransaction:!0})}),L.on("startPageLoadSpan",(A,oe={})=>{if(P()!==L)return;x();let J=oe.sentryTrace||uE("sentry-trace")||dE("sentry-trace"),ot=oe.baggage||uE("baggage")||dE("baggage"),Ie=tp(J,ot),it=H();it.setPropagationContext(Ie),We()||(it.getPropagationContext().propagationSpanId=ut()),it.setSDKProcessingMetadata({normalizedRequest:bi()}),fe(L,{op:"pageload",...A})}),L.on("endPageloadSpan",()=>{I&&ue&&(ue.setAttribute(tn,"reportPageLoaded"),ue.end())})},afterAllSetup(L){if(K)return;let b=Lt();if(w!=="off"&&cE(L,{linkPreviousTrace:w,consistentTraceSampling:z}),F.location){if(C){let x=me();gE(L,{name:F.location.pathname,startTime:x?x/1e3:void 0,attributes:{[$e]:"url",[ee]:"auto.pageload.browser"}})}R&&pn(({to:x,from:A})=>{if(A===void 0&&b?.indexOf(x)!==-1){b=void 0;return}b=void 0;let oe=Fr(x),J=Ca(L),ot=J&&_&&mM(J,De);hE(L,{name:oe?.pathname||F.location.pathname,attributes:{[$e]:"url",[ee]:"auto.navigation.browser"}},{url:x,isRedirect:ot})})}f&&aE(),s&&fM(L,u,d,p,t),n&&sf(),nE(L,{traceFetch:h,traceXHR:y,tracePropagationTargets:L.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:g,enableHTTPTimings:S,onRequestSpanStart:D,onRequestSpanEnd:W}),k&&L.addIntegration(sE())}}});function gE(e,t,r){e.emit("startPageLoadSpan",t,r),H().setTransactionName(t.name);let n=Ca(e);return n&&e.emit("afterStartPageLoadSpan",n),n}function hE(e,t,r){let{url:n,isRedirect:o}=r||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:o}),e.emit("startNavigationSpan",t,{isRedirect:o});let i=H();return i.setTransactionName(t.name),n&&!o&&i.setSDKProcessingMetadata({normalizedRequest:{...bi(),url:n}}),Ca(e)}function uE(e){return F.document?.querySelector(`meta[name=${e}]`)?.getAttribute("content")||void 0}function dE(e){return F.performance?.getEntriesByType?.("navigation")[0]?.serverTiming?.find(n=>n.name===e)?.description}function fM(e,t,r,n,o){let i=F.document,s,a=()=>{let l="ui.action.click",c=Ca(e);if(c){let u=$(c).op;if(["navigation","pageload"].includes(u)){xe&&T.warn(`[Tracing] Did not create ${l} span because a pageload or navigation span is in progress.`);return}}if(s&&(s.setAttribute(tn,"interactionInterrupted"),s.end(),s=void 0),!o.name){xe&&T.warn(`[Tracing] Did not create ${l} transaction because _latestRouteName is missing.`);return}s=Jl({name:o.name,op:l,attributes:{[$e]:o.source||"url"}},{idleTimeout:t,finalTimeout:r,childSpanTimeout:n})};i&&addEventListener("click",a,{capture:!0})}var SE="_sentry_idleSpan";function Ca(e){return e[SE]}function pE(e,t){ye(e,SE,t)}var fE=1.5;function mM(e,t){let r=$(e),n=Ct(),o=r.start_timestamp;return!(n-o>fE||t&&n-t<=fE)}var ME=vr(mn(),1);function AE(e){return er(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function hm(e){let t={...e};na(t,"react"),xo("react",{version:ME.version});let r=hf(t);return oi(NM),r}function NM(e){return AE(e)?"[SyntheticEvent]":fa(e)}var LE=vr(mn(),1);function AM(e){let t=e.match(/^([^.]+)/);return t!==null&&parseInt(t[0])>=17}function MM(e,t){let r=new WeakSet;function n(o,i){if(!r.has(o)){if(o.cause)return r.add(o),n(o.cause,i);o.cause=i}}n(e,t)}function OE(e,{componentStack:t},r){if(AM(LE.version)&&Qt(e)&&t){let n=new Error(e.message);n.name=`React ErrorBoundary ${e.name}`,n.stack=t,MM(e,n)}return nr(n=>(n.setContext("react",{componentStack:t}),on(e,r)))}var Bo=vr(mn(),1);var DE=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var Sm={componentStack:null,error:null,eventId:null},Aa=class extends Bo.Component{constructor(t){super(t),this.state=Sm,this._openFallbackReportDialog=!0;let r=P();r&&t.showDialog&&(this._openFallbackReportDialog=!1,this._cleanupHook=r.on("afterSendEvent",n=>{!n.type&&this._lastEventId&&n.event_id===this._lastEventId&&Dc({...t.dialogOptions,eventId:this._lastEventId})}))}componentDidCatch(t,r){let{componentStack:n}=r,{beforeCapture:o,onError:i,showDialog:s,dialogOptions:a}=this.props;nr(l=>{o&&o(l,t,n);let c=this.props.handled!=null?this.props.handled:!!this.props.fallback,u=OE(t,r,{mechanism:{handled:c,type:"auto.function.react.error_boundary"}});i&&i(t,n,u),s&&(this._lastEventId=u,this._openFallbackReportDialog&&Dc({...a,eventId:u})),this.setState({error:t,componentStack:n,eventId:u})})}componentDidMount(){let{onMount:t}=this.props;t&&t()}componentWillUnmount(){let{error:t,componentStack:r,eventId:n}=this.state,{onUnmount:o}=this.props;o&&(this.state===Sm?o(null,null,null):o(t,r,n)),this._cleanupHook&&(this._cleanupHook(),this._cleanupHook=void 0)}resetErrorBoundary(){let{onReset:t}=this.props,{error:r,componentStack:n,eventId:o}=this.state;t&&t(r,n,o),this.setState(Sm)}render(){let{fallback:t,children:r}=this.props,n=this.state;if(n.componentStack===null)return typeof r=="function"?r():r;let o=typeof t=="function"?Bo.createElement(t,{error:n.error,componentStack:n.componentStack,resetError:()=>this.resetErrorBoundary(),eventId:n.eventId}):t;return Bo.isValidElement(o)?o:(t&&DE&&T.warn("fallback did not produce a valid ReactElement"),null)}};function vm(e,t){if(e==null||e==="")return t;let r=typeof e=="number"?e:Number(e);return Number.isFinite(r)&&r>=0&&r<=1?r:t}var gn=window.__vidfarmSentry,UE=gn?.dsn?.trim()||"";if(UE){let e=gn?.environment?.trim()||"development",t=e==="production"?.1:1,r=e==="production"?.1:1,n=["localhost",window.location.origin,`${window.location.origin}/api`],o=Array.from(new Set([...n,...gn?.tracePropagationTargets??[]].filter(Boolean)));hm({dsn:UE,environment:e,release:gn?.release?.trim()||void 0,integrations:[um(),im({maskAllText:!0,blockAllMedia:!0})],tracesSampleRate:vm(gn?.tracesSampleRate,t),tracePropagationTargets:o,replaysSessionSampleRate:vm(gn?.replaysSessionSampleRate,r),replaysOnErrorSampleRate:vm(gn?.replaysOnErrorSampleRate,1),enableLogs:gn?.enableLogs??!0,sendDefaultPii:gn?.sendDefaultPii??!0})}var we=vr(mn(),1),Rk=vr(ok(),1);var ik=e=>{let t,r=new Set,n=(c,u)=>{let d=typeof c=="function"?c(t):c;if(!Object.is(d,t)){let p=t;t=u??(typeof d!="object"||d===null)?d:Object.assign({},t,d),r.forEach(f=>f(t,p))}},o=()=>t,a={setState:n,getState:o,getInitialState:()=>l,subscribe:c=>(r.add(c),()=>r.delete(c))},l=t=e(n,o,a);return a},sk=(e=>e?ik(e):ik);var bl=vr(mn(),1);var D2=e=>e;function ze(e,t=D2){let r=bl.default.useSyncExternalStore(e.subscribe,bl.default.useCallback(()=>t(e.getState()),[e,t]),bl.default.useCallback(()=>t(e.getInitialState()),[e,t]));return bl.default.useDebugValue(r),r}var P2="[vidfarm]";function U2(e){if(e!=="debug")return!0;if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).has("debug")||window.localStorage?.getItem("VIDFARM_DEBUG")==="1"}catch{return!1}}function ak(e,t,r){let n={event:t,detail:r,timestamp:new Date().toISOString()};typeof window<"u"&&(window.__VIDFARM_DEBUG_LOGS__=window.__VIDFARM_DEBUG_LOGS__??[],window.__VIDFARM_DEBUG_LOGS__.push(n),window.__VIDFARM_DEBUG_LOGS__.length>1e3&&window.__VIDFARM_DEBUG_LOGS__.splice(0,window.__VIDFARM_DEBUG_LOGS__.length-1e3)),U2(e)&&console[e==="debug"?"log":e](P2,t,r??"")}function kl(e,t){ak("info",e,t)}function In(e,t){ak("error",e,t)}function lk(){typeof window>"u"||window.__VIDFARM_DEBUG_HOOKS__||(window.__VIDFARM_DEBUG_HOOKS__=!0,kl("boot.hooks-installed",{href:window.location.href,readyState:document.readyState,userAgent:navigator.userAgent}),window.addEventListener("error",e=>{In("window.error",{message:e.message,filename:e.filename,lineno:e.lineno,colno:e.colno,error:e.error instanceof Error?e.error.stack:e.error})}),window.addEventListener("unhandledrejection",e=>{In("window.unhandledrejection",{reason:e.reason instanceof Error?e.reason.stack:e.reason})}))}var re=vr(mn(),1);function Jr(e,t){if(!t||!e.startsWith("/"))return e;let r=new URL(e,"https://vidfarm.local");return r.pathname.startsWith("/u/")?`${r.pathname}${r.search}${r.hash}`:r.pathname==="/discover"||r.pathname.startsWith("/discover/")||r.pathname==="/help"?`${r.pathname}${r.search}${r.hash}`:`/u/${encodeURIComponent(t)}${r.pathname}${r.search}${r.hash}`}function ck(e){let t=e?.email?.trim()||"",r=e?.displayName?.trim()||"";return r||(t?t.split("@")[0].replace(/[._-]+/g," ").replace(/\b\w/g,n=>n.toUpperCase()):"")}var B2="https://vidfarm.cc",mj=`${B2}/assets/logo-vidfarm.png`;function Ad(e){return!!(e&&/\.(mp4|webm|ogg|mov)(\?|#|$)/i.test(e))}var m=vr(wl(),1);function fk(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M10 3v4"}),(0,m.jsx)("path",{d:"M10 13v4"}),(0,m.jsx)("path",{d:"M3 10h4"}),(0,m.jsx)("path",{d:"M13 10h4"}),(0,m.jsx)("path",{d:"m5.8 5.8 2.3 2.3"}),(0,m.jsx)("path",{d:"m11.9 11.9 2.3 2.3"}),(0,m.jsx)("path",{d:"m14.2 5.8-2.3 2.3"}),(0,m.jsx)("path",{d:"m8.1 11.9-2.3 2.3"})]})}function G2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M4.5 4.5h3v11h-3z"}),(0,m.jsx)("path",{d:"M8.7 4.5h3v11h-3z"}),(0,m.jsx)("path",{d:"m13.4 5.1 2.3-.6 2.2 10.7-2.3.6z"})]})}function V2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("circle",{cx:"10",cy:"10",r:"7.2"}),(0,m.jsx)("path",{d:"M10 6.3v4.1l2.8 1.7"})]})}function mk(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M14.8 15.2a5.4 5.4 0 1 0-9.6 0"}),(0,m.jsx)("circle",{cx:"10",cy:"6.8",r:"3.1"})]})}function hk(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"currentColor",children:[(0,m.jsx)("circle",{cx:"4.2",cy:"10",r:"1.45"}),(0,m.jsx)("circle",{cx:"10",cy:"10",r:"1.45"}),(0,m.jsx)("circle",{cx:"15.8",cy:"10",r:"1.45"})]})}function Y2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.9",strokeLinecap:"round",children:[(0,m.jsx)("path",{d:"M3.5 5.5h13"}),(0,m.jsx)("path",{d:"M3.5 10h13"}),(0,m.jsx)("path",{d:"M3.5 14.5h13"})]})}function q2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("circle",{cx:"8.5",cy:"8.5",r:"5.8"}),(0,m.jsx)("path",{d:"m13 13 4.2 4.2"})]})}function K2(){return(0,m.jsx)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:(0,m.jsx)("path",{d:"M6 3.8h8a1 1 0 0 1 1 1v11.4l-5-2.9-5 2.9V4.8a1 1 0 0 1 1-1Z"})})}function X2(e){let t=e?.trim();if(!(!t||typeof window>"u"))try{let r="vidfarm:agency:accounts:index",n=window.localStorage.getItem(r),o=n?JSON.parse(n):[];Array.isArray(o)&&window.localStorage.setItem(r,JSON.stringify(o.filter(i=>typeof i=="string"&&i!==t))),window.localStorage.removeItem(`vidfarm:agency:account_${t}`),window.localStorage.removeItem(`vidfarm:flockposter-cache:v1_${t}`),window.localStorage.removeItem(`vidfarm:discover-bookmarks:v1_${t}`)}catch{}}function J2({account:e}){let t=(0,re.useRef)(null),r=e.isLoggedIn?[{id:"discover",href:Jr("/discover",e.userId),label:"Discover",icon:(0,m.jsx)(fk,{})},{id:"library",href:Jr("/library",e.userId),label:"Library",icon:(0,m.jsx)(G2,{})},{id:"calendar",href:Jr("/calendar",e.userId),label:"Calendar",icon:(0,m.jsx)(V2,{})},{id:"settings",href:Jr("/settings",e.userId),label:"Settings",icon:(0,m.jsx)(mk,{})}]:[{id:"discover",href:"/discover",label:"Discover",icon:(0,m.jsx)(fk,{})},{id:"login",href:"/login",label:"Login",icon:(0,m.jsx)(mk,{})}],n=e.isLoggedIn?[{id:"chat",href:Jr("/chat",e.userId),label:"Chat"},{id:"job-runs",href:Jr("/job-runs",e.userId),label:"Run History"},{id:"inpaint",href:Jr("/inpaint",e.userId),label:"Inpaint"},{id:"help",href:"/help",label:"Help"},{id:"logout",action:"logout",label:"Log Out"}]:[{id:"help",href:"/help",label:"Help"},{id:"login",href:"/login",label:"Login"}],o=r.filter(i=>!n.some(s=>s.id===i.id));return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("nav",{className:"primary-nav","aria-label":"Primary",children:[r.map(i=>(0,m.jsxs)("a",{className:`nav-link${i.id==="discover"?" is-active":""}`,href:i.href,children:[(0,m.jsx)("span",{className:"nav-icon","aria-hidden":"true",children:i.icon}),(0,m.jsx)("span",{children:i.label})]},i.id)),n.map(i=>"href"in i?(0,m.jsx)("a",{className:"nav-link nav-mobile-extra",href:i.href,children:(0,m.jsx)("span",{children:i.label})},`mobile-${i.id}`):(0,m.jsx)("button",{type:"button",className:"nav-link nav-mobile-extra nav-action-link",onClick:()=>{t.current?.open||t.current?.showModal()},children:(0,m.jsx)("span",{children:i.label})},`mobile-${i.id}`)),n.length?(0,m.jsxs)("details",{className:"nav-menu",children:[(0,m.jsxs)("summary",{className:"nav-link nav-menu-trigger","aria-label":"Open navigation menu",children:[(0,m.jsx)("span",{className:"nav-icon nav-menu-desktop-icon","aria-hidden":"true",children:(0,m.jsx)(hk,{})}),(0,m.jsx)("span",{className:"nav-icon nav-menu-mobile-icon","aria-hidden":"true",children:(0,m.jsx)(Y2,{})}),(0,m.jsx)("span",{className:"nav-menu-label",children:"Menu"})]}),(0,m.jsxs)("div",{className:"nav-menu-panel",role:"menu",children:[o.map(i=>(0,m.jsx)("a",{className:`nav-menu-item nav-menu-mobile-only${i.id==="discover"?" is-active":""}`,role:"menuitem",href:i.href,children:i.label},`menu-mobile-${i.id}`)),n.map(i=>"href"in i?(0,m.jsx)("a",{className:"nav-menu-item",role:"menuitem",href:i.href,children:i.label},i.id):(0,m.jsx)("button",{type:"button",className:"nav-menu-item nav-menu-button",role:"menuitem",onClick:()=>{t.current?.open||t.current?.showModal()},children:i.label},i.id))]})]}):null]}),e.isLoggedIn?(0,m.jsxs)("dialog",{className:"logout-dialog",ref:t,onClick:i=>{let s=t.current;if(!s)return;let a=s.getBoundingClientRect();(i.clientX<a.left||i.clientX>a.right||i.clientY<a.top||i.clientY>a.bottom)&&s.close()},children:[(0,m.jsxs)("div",{className:"logout-dialog-head",children:[(0,m.jsx)("div",{className:"label logout-dialog-kicker",children:"Log out"}),(0,m.jsx)("h3",{children:"Log out of this browser?"}),(0,m.jsx)("p",{children:"This clears the stored developer key, workspace access, and local session state for the current browser."})]}),(0,m.jsxs)("div",{className:"toolbar logout-dialog-actions",children:[(0,m.jsx)("button",{type:"button",className:"secondary",onClick:()=>t.current?.close(),children:"Cancel"}),(0,m.jsxs)("form",{method:"post",action:"/logout",onSubmit:()=>X2(e.userId),children:[(0,m.jsx)("input",{type:"hidden",name:"account",value:e.userId??""}),(0,m.jsx)("button",{type:"submit",className:"danger",children:"Yes, log out"})]})]})]}):null]})}function Z2({account:e}){let t=e.email?.trim()||"",r=ck({displayName:e.displayName,email:e.email}),n=Jr("/discover",e.userId);return(0,m.jsxs)("a",{className:"brand-lockup",href:n,children:[(0,m.jsx)("img",{className:"brand-logo-image",src:"/assets/logo-vidfarm.png",alt:"VidFarm AI"}),(0,m.jsxs)("div",{className:"brand-copy",children:[(0,m.jsxs)("div",{className:"brand-title brand-title-static",children:["VidFarm",(0,m.jsx)("span",{className:"brand-title-mobile-hidden",children:" AI"})]}),t?(0,m.jsxs)("div",{className:"brand-account-meta",children:[r," ",(0,m.jsxs)("span",{children:["(",t,")"]})]}):null]})]})}function Sk(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,m.jsx)("path",{d:"m5 5 10 10"}),(0,m.jsx)("path",{d:"m15 5-10 10"})]})}function Q2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M10 3v9"}),(0,m.jsx)("path",{d:"m6.5 8.5 3.5 3.5 3.5-3.5"}),(0,m.jsx)("path",{d:"M4 16h12"})]})}function eO(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M8.4 11.6a3.2 3.2 0 0 0 4.5 0l2.2-2.2a3.2 3.2 0 0 0-4.5-4.5L9.4 6.1"}),(0,m.jsx)("path",{d:"M11.6 8.4a3.2 3.2 0 0 0-4.5 0L4.9 10.6a3.2 3.2 0 0 0 4.5 4.5l1.2-1.2"})]})}function tO(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M3.5 8v4h2.8l3.5 3V5l-3.5 3Z"}),(0,m.jsx)("path",{d:"M12.4 7.6a3.4 3.4 0 0 1 0 4.8"}),(0,m.jsx)("path",{d:"M14.6 5.4a6.5 6.5 0 0 1 0 9.2"})]})}function rO(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M3.5 8v4h2.8l3.5 3V5l-3.5 3Z"}),(0,m.jsx)("path",{d:"m12.6 8 4 4"}),(0,m.jsx)("path",{d:"m16.6 8-4 4"})]})}var vk="vidfarm:discover-muted",hs=typeof window<"u"&&window.localStorage?.getItem(vk)==="1",Lh=new Set;function yk(e){hs=e;try{window.localStorage.setItem(vk,e?"1":"0")}catch{}for(let t of Lh)t()}function _k(e){return Lh.add(e),()=>{Lh.delete(e)}}function Ek(){return(0,re.useSyncExternalStore)(_k,()=>hs,()=>!1)}var Oh=!1,Dh=new Set;function gk(e){Oh=e;for(let t of Dh)t()}function nO({src:e,controls:t=!0}){let r=(0,re.useRef)(null);return(0,re.useEffect)(()=>{let n=r.current;if(!n)return;let o=()=>{!n.dataset.src||n.getAttribute("src")||(n.setAttribute("src",n.dataset.src),n.load())},i=!1,s=()=>{Oh||(o(),n.muted=hs,n.play().then(()=>{delete n.dataset.mutedFallback}).catch(()=>{n.muted||(n.dataset.mutedFallback="1",n.muted=!0,n.play().catch(()=>{}))}))},a=()=>{!hs&&n.dataset.mutedFallback==="1"&&!n.paused&&(n.muted=!1,delete n.dataset.mutedFallback)};window.addEventListener("pointerdown",a),window.addEventListener("keydown",a);let c=_k(()=>{hs?(delete n.dataset.mutedFallback,n.muted=!0):n.paused||(n.muted=!1)}),u=()=>{Oh?n.paused||n.pause():i&&s()};Dh.add(u);let d=()=>{window.removeEventListener("pointerdown",a),window.removeEventListener("keydown",a),c(),Dh.delete(u)};if(!("IntersectionObserver"in window))return i=!0,s(),d;let p=new IntersectionObserver(h=>{for(let y of h)y.isIntersecting&&(o(),p.unobserve(y.target))},{rootMargin:"240px 0px"}),f=new IntersectionObserver(h=>{for(let y of h)i=y.isIntersecting,y.isIntersecting?s():n.paused||n.pause()},{threshold:.5});return p.observe(n),f.observe(n),()=>{p.disconnect(),f.disconnect(),d()}},[]),(0,m.jsx)("video",{ref:r,className:"preview","data-src":e,preload:"metadata",playsInline:!0,loop:!0,controls:t})}function oO(){let e=Ek();return(0,m.jsx)("button",{type:"button",className:"discover-mute-toggle","aria-pressed":e,"aria-label":e?"Unmute video previews":"Mute video previews",title:e?"Unmute previews":"Mute previews",onClick:()=>yk(!e),children:e?(0,m.jsx)(rO,{}):(0,m.jsx)(tO,{})})}function iO({text:e,label:t}){let[r,n]=(0,re.useState)(""),o=async()=>{try{await navigator.clipboard.writeText(e),n("done")}catch{n("error")}window.setTimeout(()=>n(""),1600)};return(0,m.jsxs)("button",{className:"pill-tag copy-inline",type:"button","data-state":r,"aria-label":r==="done"?`${t} copied`:t,onClick:()=>{o()},children:[(0,m.jsx)("span",{className:"copy-inline-label",children:t}),(0,m.jsx)("span",{className:"copy-inline-feedback","aria-hidden":"true",children:r==="error"?"Couldn\u2019t copy":"Copied"})]})}function Tk(e,t){return e.startsWith("hyperframes:")||e.startsWith("template_")?`/editor/${encodeURIComponent(e.replace(/^hyperframes:/,""))}${t?`?account=${encodeURIComponent(t)}`:""}`:Jr(`/templates/${encodeURIComponent(e)}/editor/docs`,t)}function sO({templateId:e,accountUserId:t}){return(0,m.jsx)("a",{className:"cta-button",href:Tk(e,t),children:"Editor"})}function aO(e){let{template:t}=e,[r,n]=(0,re.useState)(!1),[o,i]=(0,re.useState)(!1),[s,a]=(0,re.useState)(!1),l=(0,re.useRef)(null),c=t.status==="processing"||t.status==="failed",u=t.visibility==="private"&&!!e.onDeleteTemplate;(0,re.useEffect)(()=>{if(!r)return;let f=y=>{l.current&&!l.current.contains(y.target)&&n(!1)},h=y=>{y.key==="Escape"&&n(!1)};return window.addEventListener("mousedown",f),window.addEventListener("keydown",h),()=>{window.removeEventListener("mousedown",f),window.removeEventListener("keydown",h)}},[r]);let d=async()=>{try{await navigator.clipboard.writeText(t.templateId),i(!0),window.setTimeout(()=>{i(!1),n(!1)},900)}catch{n(!1)}},p=async()=>{if(!window.confirm(`Delete "${t.title}"? This removes it from your Discover feed permanently.`))return;a(!0);let f=await(e.onDeleteTemplate?.(t.templateId)??Promise.resolve({ok:!1,error:"Delete unavailable."}));a(!1),f.ok?n(!1):window.alert(f.error||"Unable to delete this template.")};return(0,m.jsxs)("div",{className:"discover-card-menu",ref:l,children:[(0,m.jsx)("button",{type:"button",className:"discover-card-menu-trigger","aria-haspopup":"menu","aria-expanded":r,"aria-label":`More actions for ${t.title}`,title:"More actions",onClick:()=>n(f=>!f),children:(0,m.jsx)(hk,{})}),r?(0,m.jsxs)("div",{className:"discover-card-menu-panel",role:"menu",children:[(0,m.jsx)("button",{type:"button",className:"discover-card-menu-item",role:"menuitem",onClick:()=>{d()},children:o?"Copied!":"Copy ID"}),c?(0,m.jsx)("span",{className:"discover-card-menu-item is-disabled",role:"menuitem","aria-disabled":"true",children:"Open in Editor"}):(0,m.jsx)("a",{className:"discover-card-menu-item",role:"menuitem",href:Tk(t.templateId,e.accountUserId),children:"Open in Editor"}),(0,m.jsx)("button",{type:"button",className:"discover-card-menu-item",role:"menuitem",onClick:()=>{e.onToggleBookmark?.(t.templateId),n(!1)},children:e.isBookmarked?"Remove Bookmark":"Bookmark"}),u?(0,m.jsx)("button",{type:"button",className:"discover-card-menu-item is-danger",role:"menuitem",disabled:s,onClick:()=>{p()},children:s?"Deleting\u2026":"Delete"}):null]}):null]})}function lO(e){let t=`${e.isBookmarked?"Remove bookmark for ":"Bookmark "}${e.title}`;return(0,m.jsx)("button",{className:"bookmark-button",type:"button","data-active":e.isBookmarked?"true":"false","aria-label":t,"aria-pressed":e.isBookmarked,title:t,onClick:()=>e.onToggleBookmark?.(e.templateId),children:(0,m.jsx)(K2,{})})}function cO(e){return e.charAt(0).toUpperCase()+e.slice(1)}function uO(e){let t=typeof e.layerCount=="number"?e.layerCount:null,r=typeof e.sourceAssetCount=="number"?e.sourceAssetCount:null,n=typeof e.durationSeconds=="number"&&Number.isFinite(e.durationSeconds)?e.durationSeconds>=60?`${Math.floor(e.durationSeconds/60)}:${String(Math.round(e.durationSeconds%60)).padStart(2,"0")}`:`${e.durationSeconds.toFixed(e.durationSeconds>=10?1:2)}s`:null,o=[t===null?null:`${t} layer${t===1?"":"s"}`,r===null?null:`${r} source${r===1?"":"s"}`,n].filter(Boolean);return o.length?o.join(" / "):e.previewUrl?"Draft composition with editable layers.":"Layer recipe with editable timeline."}function bk(e){let{template:t}=e,r=t.status==="processing"||t.status==="failed",n=t.previewUrl?Ad(t.previewUrl)?(0,m.jsx)(nO,{src:t.previewUrl,controls:!1}):(0,m.jsx)("img",{className:"preview",src:t.previewUrl,alt:`${t.title} preview`,loading:"lazy",decoding:"async"}):(0,m.jsx)("div",{className:"preview preview-empty",children:t.status==="processing"?"Downloading\u2026":"No preview"});return(0,m.jsxs)("li",{className:"discover-card row","data-template-id":t.templateId,children:[t.previewUrl?(0,m.jsxs)("button",{className:"discover-card-media discover-card-media-button",type:"button","aria-label":`Open ${t.title} preview`,onClick:()=>e.onOpenPreview?.(t),children:[n,(0,m.jsx)("span",{className:"discover-card-media-affordance","aria-hidden":"true",children:"View"})]}):(0,m.jsx)("div",{className:"discover-card-media",children:n}),(0,m.jsxs)("div",{className:"discover-card-copy",children:[(0,m.jsxs)("div",{className:"discover-card-head",children:[(0,m.jsxs)("div",{className:"discover-card-title-wrap",children:[(0,m.jsx)("h2",{children:t.title}),(0,m.jsx)("p",{className:"discover-card-meta",children:uO(t)})]}),(0,m.jsxs)("div",{className:"discover-card-actions",children:[(0,m.jsx)(lO,{templateId:t.templateId,title:t.title,isBookmarked:e.isBookmarked,onToggleBookmark:e.onToggleBookmark}),r?(0,m.jsx)("span",{className:"cta-button discover-card-cta-disabled","aria-disabled":"true",children:t.status==="failed"?"Failed":"Preparing\u2026"}):(0,m.jsx)(sO,{templateId:t.templateId,accountUserId:e.accountUserId}),(0,m.jsx)(aO,{template:t,isBookmarked:e.isBookmarked,onToggleBookmark:e.onToggleBookmark,onDeleteTemplate:e.onDeleteTemplate,accountUserId:e.accountUserId})]})]}),(0,m.jsx)("div",{className:"discover-card-body",children:(0,m.jsx)("p",{children:String(t.viralDna||"").trim()||"No layer strategy provided for this composition yet."})}),(0,m.jsxs)("div",{className:"discover-card-tags",children:[t.origin==="raw"?(0,m.jsx)("div",{className:"pill-tag origin-pill",title:"Your own project \u2014 created from a prompt or your raw clips, not an imported inspiration",children:"Your project"}):null,t.visibility==="private"?(0,m.jsx)("div",{className:"pill-tag private-pill",title:"Only visible to your account",children:"Only you"}):null,t.status==="processing"?(0,m.jsx)("div",{className:"pill-tag processing-pill",children:"Processing"}):t.status==="failed"?(0,m.jsx)("div",{className:"pill-tag failed-pill",children:"Download failed"}):null,(0,m.jsx)("div",{className:"pill-tag difficulty-pill","data-difficulty":t.difficulty,children:cO(t.difficulty)}),(0,m.jsx)("div",{className:"pill-tag",children:t.sourceType||(Ad(t.previewUrl)?"Video source":"Image sequence")}),(0,m.jsx)(iO,{text:t.templateId,label:t.templateId})]})]})]})}function dO(e){let{onClose:t,template:r}=e,n=r.previewUrl||"",o=Ad(n),[i,s]=(0,re.useState)(""),a=Ek();(0,re.useEffect)(()=>(gk(!0),()=>gk(!1)),[]);let l=async()=>{try{await navigator.clipboard.writeText(n),s("done")}catch{s("error")}window.setTimeout(()=>s(""),1600)};return(0,re.useEffect)(()=>{let c=d=>{d.key==="Escape"&&t()},u=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",c),()=>{document.body.style.overflow=u,window.removeEventListener("keydown",c)}},[t]),(0,m.jsx)("div",{className:"discover-media-modal-backdrop",role:"presentation",onClick:t,children:(0,m.jsxs)("div",{className:"discover-media-modal",role:"dialog","aria-modal":"true","aria-labelledby":"discover-media-modal-title",onClick:c=>c.stopPropagation(),children:[(0,m.jsxs)("div",{className:"discover-media-modal-head",children:[(0,m.jsx)("h2",{id:"discover-media-modal-title",children:r.title}),(0,m.jsxs)("div",{className:"discover-media-modal-actions",children:[(0,m.jsx)("a",{className:"discover-media-modal-action",href:n,download:!0,"aria-label":`Download ${r.title} preview`,title:"Download",onClick:c=>c.stopPropagation(),children:(0,m.jsx)(Q2,{})}),(0,m.jsx)("button",{className:"discover-media-modal-action",type:"button","data-state":i,"aria-label":i==="done"?"Media URL copied":i==="error"?"Unable to copy media URL":`Copy ${r.title} preview URL`,title:i==="done"?"Copied":i==="error"?"Copy failed":"Copy link",onClick:()=>{l()},children:(0,m.jsx)(eO,{})}),(0,m.jsx)("button",{className:"discover-media-modal-action",type:"button","aria-label":"Close preview",title:"Close",onClick:t,children:(0,m.jsx)(Sk,{})})]})]}),(0,m.jsx)("div",{className:"discover-media-modal-stage",children:o?(0,m.jsx)("video",{src:n,controls:!0,autoPlay:!0,playsInline:!0,preload:"metadata",muted:a,onVolumeChange:c=>{let u=c.currentTarget.muted;u!==hs&&yk(u)}}):(0,m.jsx)("img",{src:n,alt:`${r.title} preview`})})]})})}function pO(e){let{onClose:t}=e,[r,n]=(0,re.useState)(""),[o,i]=(0,re.useState)(null),[s,a]=(0,re.useState)(""),[l,c]=(0,re.useState)(""),[u,d]=(0,re.useState)(""),[p,f]=(0,re.useState)(!1),[h,y]=(0,re.useState)(null);(0,re.useEffect)(()=>{let g=v=>{v.key==="Escape"&&t()},S=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",g),()=>{document.body.style.overflow=S,window.removeEventListener("keydown",g)}},[t]);let k=async()=>{let g=r.trim();if(!g&&!o){y("Paste a TikTok, YouTube, Twitter/X, or Instagram video URL \u2014 or upload a video file.");return}if(o&&o.size>200*1024*1024){y("Video uploads can be at most 200 MB.");return}f(!0),y(null);let S=await(e.onAddTemplate?.({sourceUrl:o?"":g,file:o,title:s.trim(),tagline:l.trim(),notes:u.trim()})??Promise.resolve({ok:!1,error:"Adding templates is unavailable right now."}));f(!1),S.ok?t():y(S.error||"Unable to add that video. Try again.")};return(0,m.jsx)("div",{className:"discover-media-modal-backdrop",role:"presentation",onClick:t,children:(0,m.jsxs)("div",{className:"discover-media-modal discover-add-template-modal",role:"dialog","aria-modal":"true","aria-labelledby":"discover-add-template-title",onClick:g=>g.stopPropagation(),children:[(0,m.jsxs)("div",{className:"discover-media-modal-head",children:[(0,m.jsx)("h2",{id:"discover-add-template-title",children:"Add Template"}),(0,m.jsx)("div",{className:"discover-media-modal-actions",children:(0,m.jsx)("button",{className:"discover-media-modal-action",type:"button","aria-label":"Close",title:"Close",onClick:t,children:(0,m.jsx)(Sk,{})})})]}),(0,m.jsxs)("form",{className:"discover-add-template-form",onSubmit:g=>{g.preventDefault(),k()},children:[(0,m.jsx)("p",{className:"discover-add-template-hint",children:"Paste a link to a TikTok, YouTube, Twitter/X, or Instagram video \u2014 or upload a video file from your computer. We add it to your Discover feed, visible only to your account."}),(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsx)("label",{className:"label",htmlFor:"add-template-url",children:"Video URL"}),(0,m.jsx)("input",{id:"add-template-url",type:"url",required:!o,disabled:!!o,placeholder:"https://www.tiktok.com/@creator/video/\u2026",autoComplete:"off",value:r,onChange:g=>n(g.target.value)})]}),(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsxs)("label",{className:"label",htmlFor:"add-template-file",children:["Or upload a video ",(0,m.jsx)("span",{className:"discover-add-template-optional",children:"MP4 / MOV / WebM, up to 200 MB"})]}),o?(0,m.jsxs)("div",{className:"discover-add-template-file-chip",children:[(0,m.jsx)("span",{className:"discover-add-template-file-name",children:o.name}),(0,m.jsxs)("span",{className:"discover-add-template-file-size",children:[(o.size/(1024*1024)).toFixed(1)," MB"]}),(0,m.jsx)("button",{type:"button",className:"discover-add-template-file-clear","aria-label":"Remove selected file",onClick:()=>i(null),children:"\u2715"})]}):(0,m.jsx)("input",{id:"add-template-file",type:"file",accept:"video/mp4,video/quicktime,video/webm,.mp4,.m4v,.mov,.webm",onChange:g=>{let S=g.target.files?.[0]??null;S&&(i(S),n(""),y(null))}})]}),o?(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsxs)("label",{className:"label",htmlFor:"add-template-title",children:["Title ",(0,m.jsx)("span",{className:"discover-add-template-optional",children:"optional \u2014 defaults to the template id"})]}),(0,m.jsx)("input",{id:"add-template-title",type:"text",placeholder:"Name this template\u2026",autoComplete:"off",maxLength:140,value:s,onChange:g=>a(g.target.value)})]}):null,(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsxs)("label",{className:"label",htmlFor:"add-template-tagline",children:["Tagline ",(0,m.jsx)("span",{className:"discover-add-template-optional",children:"optional"})]}),(0,m.jsx)("input",{id:"add-template-tagline",type:"text",placeholder:"What makes this video work?",autoComplete:"off",maxLength:140,value:l,onChange:g=>c(g.target.value)})]}),(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsxs)("label",{className:"label",htmlFor:"add-template-notes",children:["Notes ",(0,m.jsx)("span",{className:"discover-add-template-optional",children:"optional"})]}),(0,m.jsx)("textarea",{id:"add-template-notes",rows:4,placeholder:"Ideas for how you want to remix this\u2026",maxLength:2e3,value:u,onChange:g=>d(g.target.value)})]}),h?(0,m.jsx)("p",{className:"discover-add-template-error",role:"alert",children:h}):null,(0,m.jsxs)("div",{className:"toolbar discover-add-template-actions",children:[(0,m.jsx)("button",{type:"button",className:"secondary",onClick:t,disabled:p,children:"Cancel"}),(0,m.jsx)("button",{type:"submit",className:"cta-button discover-add-template-submit",disabled:p,children:p?o?"Uploading\u2026":"Adding\u2026":"Add Template"})]})]})]})})}function fO(e){if(e.loading)return(0,m.jsx)("ul",{className:"discover-list",children:(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:"Loading categories\u2026"})});if(e.error)return(0,m.jsx)("ul",{className:"discover-list",children:(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:e.error})});let t=e.searchQuery.trim().toLowerCase(),r=t?e.templates.filter(o=>`${o.title} ${o.templateId} ${o.popularGroup??""}`.toLowerCase().includes(t)):e.templates;if(r.length===0)return(0,m.jsx)("ul",{className:"discover-list",children:(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:t?"No categories match your search.":"No categories yet."})});let n=[];for(let o of r){let i=(o.popularGroup||"Popular").trim()||"Popular",s=n.find(a=>a.label===i);s||(s={label:i,items:[]},n.push(s)),s.items.push(o)}return(0,m.jsx)("div",{className:"discover-popular",children:n.map(o=>(0,m.jsxs)("section",{className:"discover-popular-group",children:[(0,m.jsx)("h3",{className:"discover-popular-group-label",children:o.label}),(0,m.jsx)("ul",{className:"discover-list",children:o.items.map(i=>(0,m.jsx)(bk,{template:i,isBookmarked:e.bookmarks.has(i.templateId),onToggleBookmark:e.onToggleBookmark,onOpenPreview:e.onOpenPreview,onDeleteTemplate:e.onDeleteTemplate,accountUserId:e.accountUserId},i.templateId))})]},o.label))})}function mO(e){let[t,r]=(0,re.useState)(null),[n,o]=(0,re.useState)(null),[i,s]=(0,re.useState)(!1),[a,l]=(0,re.useState)(null),[c,u]=(0,re.useState)(!1),d=e.stack.length?e.stack[0].id:null;(0,re.useEffect)(()=>(window.__VF_SWIPE_SOUND__=c,window.__VF_SWIPE_SOUND_TOP__=d,()=>{window.__VF_SWIPE_SOUND__=!1,window.__VF_SWIPE_SOUND_TOP__=null}),[c,d]);let p=(0,re.useRef)(null),f=110,h=(g,S)=>{!g||i||(s(!0),l(null),o({id:g.id,dir:S}),window.setTimeout(async()=>{let v=S==="right"?e.onApprove:e.onReject;try{let E=await v?.(g.id);E&&!E.ok&&l(E.error??"Action failed.")}finally{o(null),r(null),p.current=null,s(!1)}},260))};if(!e.isLoggedIn)return(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("p",{className:"swipe-empty-title",children:"Swipe is for your product"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:"Log in to auto-generate ads from viral templates and swipe to approve."}),(0,m.jsx)("a",{className:"swipe-empty-cta",href:"/login",children:"Log in"})]});if(!e.productSet)return(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("p",{className:"swipe-empty-title",children:"Tell us about your product"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:"Swipe auto-recuts viral templates into ads for your product. Add a product / offer description in Settings to start the deck."}),(0,m.jsx)("a",{className:"swipe-empty-cta",href:"/settings",children:"Open Settings"})]});if(e.error)return(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("p",{className:"swipe-empty-title",children:"Couldn't load your deck"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:e.error})]});if(e.stack.length===0)return e.loading||e.customizing>0||e.refilling?(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("div",{className:"swipe-spinner","aria-hidden":"true"}),(0,m.jsx)("p",{className:"swipe-empty-title",children:"Customizing fresh clips\u2026"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:"Recutting viral templates into ads for your product."})]}):(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("p",{className:"swipe-empty-title",children:"You're all caught up"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:"No more templates to customize right now. Check back as new ones are added."})]});let y=e.stack.slice(0,4),k=y[0];return(0,m.jsxs)("div",{className:"swipe-deck-wrap",children:[(0,m.jsxs)("div",{className:"swipe-deck-row",children:[(0,m.jsx)("button",{type:"button",className:"swipe-action swipe-action-reject",disabled:i,onClick:()=>h(k,"left"),"aria-label":"Reject",children:"\u2715"}),(0,m.jsxs)("div",{className:"swipe-deck",children:[(0,m.jsx)("button",{type:"button",className:"swipe-sound",onClick:()=>u(g=>!g),"aria-label":c?"Mute preview":"Play preview with sound","aria-pressed":c,title:c?"Mute":"Sound on",children:c?"\u{1F50A}":"\u{1F507}"}),y.map((g,S)=>{let v=S===0,E=n?.id===g.id,C=v&&t?.id===g.id,R=S<=1&&!!g.previewUrl,_=C?t.dx:0,w=C?t.dy:0,z,I;E?(z=`translate(${n.dir==="right"?130:-130}%, ${w}px) rotate(${n.dir==="right"?22:-22}deg)`,I="transform 0.26s ease-in"):v?(z=`translate(${_}px, ${w*.25}px) rotate(${_/22}deg)`,I=C?"none":"transform 0.2s ease"):(z=`translateY(${S*12}px) scale(${1-S*.04})`,I="transform 0.2s ease");let D=C?t.dx>40?"approve":t.dx<-40?"reject":null:null;return(0,m.jsxs)("div",{className:"swipe-card",style:{transform:z,transition:I,zIndex:100-S},onPointerDown:v&&!i?W=>{p.current={x:W.clientX,y:W.clientY},W.currentTarget.setPointerCapture?.(W.pointerId)}:void 0,onPointerMove:v&&!i?W=>{p.current&&r({id:g.id,dx:W.clientX-p.current.x,dy:W.clientY-p.current.y})}:void 0,onPointerUp:v&&!i?()=>{let W=t?.id===g.id?t.dx:0;p.current=null,W>f?h(g,"right"):W<-f?h(g,"left"):r(null)}:void 0,onPointerCancel:v?()=>{p.current=null,r(null)}:void 0,children:[R?(0,m.jsx)("iframe",{className:"swipe-card-preview",src:g.previewUrl??void 0,title:g.title,loading:"lazy",scrolling:"no",allow:"autoplay",style:{pointerEvents:"none"}}):(0,m.jsx)("div",{className:"swipe-card-fallback",children:(0,m.jsx)("span",{children:g.title})}),(0,m.jsxs)("div",{className:"swipe-card-overlay",children:[(0,m.jsx)("div",{className:"swipe-card-title",children:g.title}),g.caption?(0,m.jsx)("div",{className:"swipe-card-caption",children:g.caption}):null]}),D==="approve"?(0,m.jsx)("div",{className:"swipe-stamp swipe-stamp-yes",children:"Approve"}):null,D==="reject"?(0,m.jsx)("div",{className:"swipe-stamp swipe-stamp-no",children:"Reject"}):null]},g.id)})]}),(0,m.jsx)("button",{type:"button",className:"swipe-action swipe-action-approve",disabled:i,onClick:()=>h(k,"right"),"aria-label":"Approve",children:"\u2713"})]}),(0,m.jsx)("div",{className:"swipe-status",children:e.customizing>0||e.refilling?"Customizing more\u2026":`${e.stack.length} ready`}),a?(0,m.jsx)("div",{className:"swipe-action-error",children:a}):null]})}function kk(e){let t=!e.loading&&!e.error&&e.templates.length>0&&e.visibleTemplates.length===0,[r,n]=(0,re.useState)(null),[o,i]=(0,re.useState)(!1),s=e.view==="popular",a=e.view==="swipe",l=p=>e.onViewChange?.(p),c=s?"Search categories":e.loading||e.error?"Search Templates":`Search ${e.visibleTemplates.length} Template${e.visibleTemplates.length===1?"":"s"}`,u=!0,d=e.account.isLoggedIn;return(0,m.jsxs)("section",{className:`frame discover-frame${u?" has-chat-rail":""}`,children:[(0,m.jsxs)("header",{className:"topbar",children:[(0,m.jsx)(Z2,{account:e.account}),(0,m.jsx)("div",{className:"topbar-actions",children:(0,m.jsx)(J2,{account:e.account})})]}),(0,m.jsx)("div",{className:"frame-body",children:(0,m.jsxs)("section",{className:"discover-shell",children:[(0,m.jsxs)("div",{className:"discover-filter-bar",role:"toolbar","aria-label":"Composition filters",children:[(0,m.jsxs)("div",{className:"view-toggle discover-view-toggle",role:"tablist","aria-label":"Discover view",children:[(0,m.jsx)("button",{type:"button",className:`view-toggle-tab${!s&&!a?" is-active":""}`,role:"tab","aria-selected":!s&&!a,onClick:()=>l("feed"),children:"Feed"}),(0,m.jsx)("button",{type:"button",className:`view-toggle-tab${a?" is-active":""}`,role:"tab","aria-selected":a,onClick:()=>l("swipe"),children:"Swipe"}),(0,m.jsx)("button",{type:"button",className:`view-toggle-tab${s?" is-active":""}`,role:"tab","aria-selected":s,onClick:()=>l("popular"),children:"Category"})]}),(0,m.jsx)(oO,{}),(0,m.jsxs)("div",{className:"discover-filter-search search-field",children:[(0,m.jsx)("span",{className:"search-icon","aria-hidden":"true",children:(0,m.jsx)(q2,{})}),(0,m.jsx)("input",{id:"search",type:"search",placeholder:c,autoComplete:"off",value:e.searchQuery,onChange:p=>e.onSearchQueryChange?.(p.target.value)})]}),!s&&!a?(0,m.jsxs)("label",{className:"discover-filter-toggle",htmlFor:"bookmarks-only","data-active":e.bookmarksOnly?"true":"false",children:[(0,m.jsx)("span",{className:"discover-filter-toggle-label",children:"Saved"}),(0,m.jsxs)("span",{className:"switch-shell","data-active":e.bookmarksOnly?"true":"false",children:[(0,m.jsx)("input",{id:"bookmarks-only",className:"switch-input",type:"checkbox",checked:e.bookmarksOnly,onChange:p=>e.onBookmarksOnlyChange?.(p.target.checked)}),(0,m.jsx)("span",{className:"switch-knob"})]})]}):null,e.account.isLoggedIn?(0,m.jsx)("button",{type:"button",className:"discover-add-template-button",onClick:()=>i(!0),children:"Add Template"}):(0,m.jsx)("a",{className:"discover-add-template-button",href:"/login",children:"Add Template"})]}),(0,m.jsx)("section",{className:"discover-results",children:(0,m.jsx)("div",{className:"discover-results-scroll",children:(0,m.jsx)("div",{className:"discover-list-scroll",children:a?(0,m.jsx)(mO,{stack:e.swipeStack,loading:e.swipeLoading,loaded:e.swipeLoaded,error:e.swipeError,customizing:e.swipeCustomizing,targetDepth:e.swipeTargetDepth,productSet:e.swipeProductSet,refilling:e.swipeRefilling,isLoggedIn:e.account.isLoggedIn,onApprove:e.onSwipeApprove,onReject:e.onSwipeReject}):s?(0,m.jsx)(fO,{templates:e.popularTemplates,loading:e.popularLoading,error:e.popularError,searchQuery:e.searchQuery,bookmarks:e.bookmarks,onToggleBookmark:e.onToggleBookmark,onOpenPreview:n,onDeleteTemplate:e.onDeleteTemplate,accountUserId:e.account.userId}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("ul",{className:"discover-list",id:"template-list",children:e.loading?(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:"Loading compositions..."}):e.error?(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:"Unable to load compositions."}):e.templates.length===0?(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:"No compositions available."}):e.visibleTemplates.map(p=>(0,m.jsx)(bk,{template:p,isBookmarked:e.bookmarks.has(p.templateId),onToggleBookmark:e.onToggleBookmark,onOpenPreview:n,onDeleteTemplate:e.onDeleteTemplate,accountUserId:e.account.userId},p.templateId))}),(0,m.jsx)("div",{className:"empty-state empty",id:"empty-state","data-visible":t?"true":"false",children:"No compositions match the current search and filter combination."})]})})})})]})}),u?(0,m.jsx)("aside",{className:"editor-right-rail","aria-label":"Discover copilot",children:d?(0,m.jsx)("div",{className:"editor-chat-panel","data-template-editor-chat-root":!0}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("a",{className:"vf-editor-chat-mobile-fab",href:"/login","aria-label":"Log in to chat with Vidfarm",children:(0,m.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:(0,m.jsx)("path",{d:"M20 11.5a7.5 7.5 0 0 1-9.8 7.1L4 20l1.5-5.3A7.5 7.5 0 1 1 20 11.5Z"})})}),(0,m.jsxs)("div",{className:"editor-chat-panel editor-chat-panel--logged-out",style:{display:"flex",flexDirection:"column",height:"100%",padding:"20px",gap:"16px",boxSizing:"border-box"},children:[(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[(0,m.jsx)("span",{className:"label",style:{fontSize:"0.68rem",fontWeight:800,letterSpacing:"0.14em",textTransform:"uppercase",color:"#a9884a"},children:"Vidfarm copilot"}),(0,m.jsx)("h3",{style:{margin:0,fontSize:"1.05rem",color:"#2f3748"},children:"Chat with Vidfarm"}),(0,m.jsx)("p",{style:{margin:0,fontSize:"0.9rem",color:"#74829c"},children:"Ask for hooks, angles, and remixes tailored to compositions in your library."})]}),(0,m.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"8px",marginTop:"14px"},"aria-hidden":"true",children:["Give me 10 hooks for this coffee-shop template","Which awareness stage fits my product?","Remix this into an ad for my brand"].map(p=>(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px",padding:"10px 14px",borderRadius:"14px",border:"1px dashed rgba(191, 164, 109, 0.45)",background:"rgba(250, 245, 234, 0.65)",color:"#74829c",fontSize:"0.85rem",lineHeight:1.35},children:[(0,m.jsx)("span",{style:{color:"#bfa46d",fontWeight:700},children:"\u201C"}),p]},p))}),(0,m.jsxs)("div",{style:{marginTop:"auto",display:"flex",flexDirection:"column",gap:"10px"},children:[(0,m.jsx)("textarea",{rows:3,placeholder:"Log in to chat with Vidfarm\u2026",disabled:!0,"aria-label":"Chat with Vidfarm (log in to enable)",style:{width:"100%",resize:"none",padding:"10px 12px",borderRadius:"10px",border:"1px solid rgba(191, 164, 109, 0.36)",background:"rgba(250, 245, 234, 0.9)",color:"#74829c",fontFamily:"inherit",fontSize:"0.9rem",cursor:"not-allowed",boxSizing:"border-box"}}),(0,m.jsx)("a",{href:"/login",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",minHeight:"38px",padding:"0 16px",borderRadius:"999px",background:"#bfa46d",color:"#1a1409",fontWeight:700,fontSize:"0.9rem",textDecoration:"none"},children:"Log in to chat"})]})]})]})}):null,r?(0,m.jsx)(dO,{template:r,onClose:()=>n(null)}):null,o?(0,m.jsx)(pO,{onClose:()=>i(!1),onAddTemplate:e.onAddTemplate}):null]})}function wk(e){return sk(t=>({templates:e.templates,searchQuery:"",bookmarksOnly:!1,bookmarks:new Set,loading:e.templates.length===0,error:null,view:"feed",popularTemplates:[],popularLoading:!1,popularLoaded:!1,popularError:null,swipeStack:[],swipeLoading:!1,swipeLoaded:!1,swipeError:null,swipeCustomizing:0,swipeTargetDepth:5,swipeProductSet:!0,swipeRefilling:!1,setTemplates:r=>t({templates:r,loading:!1,error:null}),setSearchQuery:r=>t({searchQuery:r}),setBookmarksOnly:r=>t({bookmarksOnly:r}),setBookmarks:r=>t({bookmarks:new Set(r)}),toggleBookmark:r=>t(n=>{let o=new Set(n.bookmarks);return o.has(r)?o.delete(r):o.add(r),{bookmarks:o}}),setLoading:r=>t({loading:r}),setError:r=>t({error:r,loading:!1}),setView:r=>t({view:r}),setPopularTemplates:r=>t({popularTemplates:r,popularLoading:!1,popularLoaded:!0,popularError:null}),setPopularLoading:r=>t({popularLoading:r}),setPopularError:r=>t({popularError:r,popularLoading:!1}),setSwipeLoading:r=>t({swipeLoading:r}),setSwipeError:r=>t({swipeError:r,swipeLoading:!1}),setSwipeStack:(r,n)=>t({swipeStack:r,swipeLoading:!1,swipeLoaded:!0,swipeError:null,...n?.customizing!==void 0?{swipeCustomizing:n.customizing}:{},...n?.targetDepth!==void 0?{swipeTargetDepth:n.targetDepth}:{},...n?.productSet!==void 0?{swipeProductSet:n.productSet}:{}}),setSwipeMeta:r=>t({...r.customizing!==void 0?{swipeCustomizing:r.customizing}:{},...r.targetDepth!==void 0?{swipeTargetDepth:r.targetDepth}:{},...r.productSet!==void 0?{swipeProductSet:r.productSet}:{}}),appendSwipeCard:r=>t(n=>n.swipeStack.some(o=>o.id===r.id)?{}:{swipeStack:[...n.swipeStack,r]}),removeSwipeCard:r=>t(n=>({swipeStack:n.swipeStack.filter(o=>o.id!==r)})),setSwipeRefilling:r=>t({swipeRefilling:r})}))}var ei=vr(wl(),1);lk();var gO="vidfarm:discover-bookmarks:v1",hO="public";function SO(){let e=document.getElementById("homepage-boot");return e?.textContent?JSON.parse(e.textContent):{templates:[],account:{isLoggedIn:!1},loadEndpoint:"/discover/feed",skillEndpointPrefix:"/discover/skills/"}}function Ck(e){return`${gO}_${e?.trim()||hO}`}function vO(e){try{let t=window.localStorage.getItem(Ck(e));if(!t)return new Set;let r=JSON.parse(t);return Array.isArray(r)?new Set(r.filter(n=>typeof n=="string")):new Set}catch{return new Set}}function yO(e,t){try{window.localStorage.setItem(Ck(t),JSON.stringify(Array.from(e)))}catch{}}function _O(e){let t=e.searchQuery.trim().toLowerCase();return e.templates.filter(r=>{let n=!t||`${r.templateId} ${r.title} ${r.slugId} ${r.difficulty}`.toLowerCase().includes(t),o=!e.bookmarksOnly||e.bookmarks.has(r.templateId);return n&&o})}function Ik(e){return{id:String(e?.id??""),templateId:String(e?.template_id??""),forkId:e?.fork_id??null,sourceTitle:e?.source_title??null,title:String(e?.title??e?.source_title??"Untitled"),caption:String(e?.caption??""),pinnedComment:e?.pinned_comment??null,previewUrl:e?.preview_url??null,durationSeconds:typeof e?.duration_seconds=="number"?e.duration_seconds:null,status:String(e?.status??"ready")}}function EO({boot:e}){let t=(0,we.useMemo)(()=>wk(e),[e]),r=ze(t,b=>b.templates),n=ze(t,b=>b.searchQuery),o=ze(t,b=>b.bookmarksOnly),i=ze(t,b=>b.bookmarks),s=ze(t,b=>b.loading),a=ze(t,b=>b.error),l=ze(t,b=>b.view),c=ze(t,b=>b.popularTemplates),u=ze(t,b=>b.popularLoading),d=ze(t,b=>b.popularError),p=ze(t,b=>b.swipeStack),f=ze(t,b=>b.swipeLoading),h=ze(t,b=>b.swipeLoaded),y=ze(t,b=>b.swipeError),k=ze(t,b=>b.swipeCustomizing),g=ze(t,b=>b.swipeTargetDepth),S=ze(t,b=>b.swipeProductSet),v=ze(t,b=>b.swipeRefilling),E=(0,we.useRef)(!1),[C,R]=(0,we.useState)(!1),_=(0,we.useMemo)(()=>_O({templates:r,searchQuery:n,bookmarksOnly:o,bookmarks:i}),[r,n,o,i]);(0,we.useEffect)(()=>{t.getState().setBookmarks(vO(e.account.userId)),R(!0)},[e.account.userId,t]),(0,we.useEffect)(()=>{C&&yO(i,e.account.userId)},[e.account.userId,i,C]);let w=(0,we.useCallback)(async b=>{b?.showLoading&&t.getState().setLoading(!0);try{let x=await fetch(e.loadEndpoint,{credentials:"same-origin",cache:"no-store",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));if(!x.ok)throw new Error(typeof A.error=="string"&&A.error?A.error:"Unable to load formats.");t.getState().setTemplates(Array.isArray(A.templates)?A.templates:[])}catch(x){b?.showLoading?t.getState().setError(x instanceof Error?x.message:"Unable to load formats."):In("homepage.feed_refresh_failed",{message:x instanceof Error?x.message:String(x)})}},[e.loadEndpoint,t]);(0,we.useEffect)(()=>{e.templates.length>0||w({showLoading:!0})},[e.templates.length,w]);let z=r.some(b=>b.status==="processing");(0,we.useEffect)(()=>{if(!z)return;let b=window.setInterval(()=>{w()},8e3);return()=>window.clearInterval(b)},[z,w]);let I=(0,we.useCallback)(async b=>{b?.showLoading&&t.getState().setPopularLoading(!0);try{let x=await fetch("/discover/popular",{credentials:"same-origin",cache:"no-store",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));if(!x.ok)throw new Error(typeof A.error=="string"&&A.error?A.error:"Unable to load popular formats.");t.getState().setPopularTemplates(Array.isArray(A.templates)?A.templates:[])}catch(x){b?.showLoading?t.getState().setPopularError(x instanceof Error?x.message:"Unable to load popular formats."):In("homepage.popular_refresh_failed",{message:x instanceof Error?x.message:String(x)})}},[t]),D=ze(t,b=>b.popularLoaded);(0,we.useEffect)(()=>{l!=="popular"||D||I({showLoading:!0})},[l,D,I]);let W=l==="popular"&&c.some(b=>b.status==="processing");(0,we.useEffect)(()=>{if(!W)return;let b=window.setInterval(()=>{I()},8e3);return()=>window.clearInterval(b)},[W,I]);let K=(0,we.useCallback)(async b=>{b?.showLoading&&t.getState().setSwipeLoading(!0);try{let x=await fetch("/discover/swipe/stack",{credentials:"same-origin",cache:"no-store",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));if(!x.ok)throw new Error(typeof A.error=="string"&&A.error?A.error:"Unable to load your swipe deck.");let oe=Array.isArray(A.stack)?A.stack.map(Ik):[];t.getState().setSwipeStack(oe,{customizing:typeof A.customizing=="number"?A.customizing:0,targetDepth:typeof A.target_depth=="number"?A.target_depth:void 0,productSet:typeof A.product_description_set=="boolean"?A.product_description_set:void 0})}catch(x){b?.showLoading?t.getState().setSwipeError(x instanceof Error?x.message:"Unable to load your swipe deck."):In("homepage.swipe_refresh_failed",{message:x instanceof Error?x.message:String(x)})}},[t]),V=(0,we.useCallback)(async()=>{if(!E.current){E.current=!0,t.getState().setSwipeRefilling(!0);try{for(let b=0;b<8;b+=1){let x=await fetch("/discover/swipe/refill",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));if(!x.ok){A?.need_product_description?t.getState().setSwipeMeta({productSet:!1}):t.getState().setSwipeError(typeof A.error=="string"&&A.error?A.error:"Customization failed.");break}if(A.filled&&A.record&&t.getState().appendSwipeCard(Ik(A.record)),!A.filled)break}}catch(b){In("homepage.swipe_refill_failed",{message:b instanceof Error?b.message:String(b)})}finally{E.current=!1,t.getState().setSwipeRefilling(!1),K()}}},[t,K]);(0,we.useEffect)(()=>{l!=="swipe"||h||(async()=>{await K({showLoading:!0});let b=t.getState();b.swipeProductSet&&b.swipeStack.length<b.swipeTargetDepth&&V()})()},[l,h,K,V,t]);let De=(0,we.useCallback)(async b=>{try{let x=await fetch(`/discover/swipe/${encodeURIComponent(b)}/approve`,{method:"POST",credentials:"same-origin",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));return x.ok?(t.getState().removeSwipeCard(b),V(),{ok:!0}):A&&A.superseded?(t.getState().removeSwipeCard(b),V(),{ok:!0}):{ok:!1,error:typeof A.error=="string"&&A.error?A.error:"Unable to approve."}}catch(x){return{ok:!1,error:x instanceof Error?x.message:"Unable to approve."}}},[t,V]),ue=(0,we.useCallback)(async b=>{try{let x=await fetch(`/discover/swipe/${encodeURIComponent(b)}/reject`,{method:"POST",credentials:"same-origin",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));return x.ok?(t.getState().removeSwipeCard(b),V(),{ok:!0}):A&&A.superseded?(t.getState().removeSwipeCard(b),V(),{ok:!0}):{ok:!1,error:typeof A.error=="string"&&A.error?A.error:"Unable to reject."}}catch(x){return{ok:!1,error:x instanceof Error?x.message:"Unable to reject."}}},[t,V]),fe=(0,we.useCallback)(async b=>{try{let x=await fetch(`/discover/templates/${encodeURIComponent(b)}`,{method:"DELETE",credentials:"same-origin",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));return x.ok?(kl("homepage.template_deleted",{template_id:b}),await w(),{ok:!0}):{ok:!1,error:typeof A.error=="string"&&A.error?A.error:"Unable to delete this template."}}catch(x){return{ok:!1,error:x instanceof Error?x.message:"Unable to delete this template."}}},[w]),L=(0,we.useCallback)(async b=>{try{let x=null;if(b.file){let J=b.file,ot=await fetch("/discover/templates/upload/presign",{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({file_name:J.name,content_type:J.type||null,size_bytes:J.size})}),Ie=await ot.json().catch(()=>({}));if(!ot.ok)return{ok:!1,error:Ie.error||"Unable to start the video upload."};if(Ie.transport==="presigned"&&Ie.upload?.url&&Ie.storage_key){let it=await fetch(Ie.upload.url,{method:Ie.upload.method||"PUT",headers:Ie.upload.headers||{},body:J});if(!it.ok)return{ok:!1,error:`Video upload failed (${it.status}). Try again.`};x={storage_key:Ie.storage_key,file_name:Ie.file_name||J.name}}else{let it=new FormData;it.append("file",J,Ie.file_name||J.name);let Jt=await fetch(Ie.upload?.url||"/discover/templates/upload",{method:"POST",credentials:"same-origin",body:it}),Zt=await Jt.json().catch(()=>({}));if(!Jt.ok||!Zt.storage_key)return{ok:!1,error:Zt.error||"Video upload failed. Try again."};x={storage_key:Zt.storage_key,file_name:Zt.file_name||J.name}}}let A=await fetch("/discover/templates",{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(x?{upload:x,title:b.title||null,tagline:b.tagline||null,notes:b.notes||null}:{source_url:b.sourceUrl,tagline:b.tagline||null,notes:b.notes||null})}),oe=await A.json().catch(()=>({}));return A.ok?(kl("homepage.template_added",x?{storage_key:x.storage_key}:{source_url:b.sourceUrl}),await w(),{ok:!0}):{ok:!1,error:typeof oe.error=="string"&&oe.error?oe.error:"Unable to add that video."}}catch(x){return{ok:!1,error:x instanceof Error?x.message:"Unable to add that video."}}},[w]);return(0,ei.jsx)(kk,{account:e.account,templates:r,visibleTemplates:_,searchQuery:n,bookmarksOnly:o,bookmarks:i,loading:s,error:a,view:l,popularTemplates:c,popularLoading:u,popularError:d,swipeStack:p,swipeLoading:f,swipeLoaded:h,swipeError:y,swipeCustomizing:k,swipeTargetDepth:g,swipeProductSet:S,swipeRefilling:v,skillEndpointPrefix:e.skillEndpointPrefix,onSearchQueryChange:b=>t.getState().setSearchQuery(b),onBookmarksOnlyChange:b=>t.getState().setBookmarksOnly(b),onViewChange:b=>t.getState().setView(b),onToggleBookmark:b=>t.getState().toggleBookmark(b),onAddTemplate:L,onDeleteTemplate:fe,onSwipeApprove:De,onSwipeReject:ue})}var Ld=SO(),xk=document.getElementById("homepage-root");kl("homepage.boot",{is_logged_in:Ld.account?.isLoggedIn??!1,template_count:Ld.templates?.length??0,load_endpoint:Ld.loadEndpoint});xk?(0,Rk.hydrateRoot)(xk,(0,ei.jsx)(Aa,{fallback:(0,ei.jsx)(ei.Fragment,{}),onError:e=>In("homepage.render_error",{message:e instanceof Error?e.message:String(e)}),children:(0,ei.jsx)(EO,{boot:Ld})})):In("homepage.no_root_element",{});
31
+ `;if(typeof e=="string")r=`${n}${e}`;else{let i=new TextEncoder().encode(n);r=new Uint8Array(i.length+e.length),r.set(i),r.set(e,i.length)}return r}async function $A({client:e,scope:t,replayId:r,event:n}){let o=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:r,integrations:o};e.emit("preprocessEvent",n,i);let s=await Ys(e.getOptions(),n,i,t,e,be());if(!s)return null;e.emit("postprocessEvent",s,i),s.platform=s.platform||"javascript";let a=e.getSdkMetadata(),{name:l,version:c,settings:u}=a?.sdk||{};return s.sdk={...s.sdk,name:l||"sentry.javascript.unknown",version:c||"0.0.0",settings:u},s}async function WA({recordingData:e,replayId:t,segmentId:r,eventContext:n,timestamp:o,session:i}){let s=zA({recordingData:e,headers:{segment_id:r}}),{urls:a,errorIds:l,traceIds:c,initialTimestamp:u}=n,d=P(),p=H(),f=d?.getTransport(),h=d?.getDsn();if(!d||!f||!h||!i.sampled)return Promise.resolve({});let y={type:NR,replay_start_timestamp:u/1e3,timestamp:o/1e3,error_ids:l,trace_ids:c,urls:a,replay_id:t,segment_id:r,replay_type:i.sampled},k=await $A({scope:p,client:d,replayId:t,event:y});if(!k)return d.recordDroppedEvent("event_processor","replay"),j&&G.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete k.sdkProcessingMetadata;let g=HA(k,s,h,d.getOptions().tunnel),S;try{S=await f.send(g)}catch(E){let C=new Error(Yf);try{C.cause=E}catch{}throw C}let v=ea({},S);if(Qs(v,"replay"))throw new Ia(v);if(typeof S.statusCode=="number"&&(S.statusCode<200||S.statusCode>=300))throw new eu(S.statusCode);return S}var eu=class extends Error{constructor(t){super(`Transport returned status code ${t}`)}},Ia=class extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}},tu=class extends Error{constructor(){super("Session is too long, not sending replay")}};async function Z_(e,t={count:0,interval:PR}){let{recordingData:r,onError:n}=e;if(r.length)try{return await WA(e),!0}catch(o){if(o instanceof eu||o instanceof Ia)throw o;if(xo("Replays",{_retryCount:t.count}),n&&n(o),t.count>=UR){let i=new Error(`${Yf} - max retries exceeded`);try{i.cause=o}catch{}throw i}return t.interval*=++t.count,new Promise((i,s)=>{Po(async()=>{try{await Z_(e,t),i(!0)}catch(a){s(a)}},t.interval)})}}var Q_="__THROTTLED",jA="__SKIPPED";function GA(e,t,r){let n=new Map,o=a=>{let l=a-r;n.forEach((c,u)=>{u<l&&n.delete(u)})},i=()=>[...n.values()].reduce((a,l)=>a+l,0),s=!1;return(...a)=>{let l=Math.floor(Date.now()/1e3);if(o(l),i()>=t){let u=s;return s=!0,u?jA:Q_}s=!1;let c=n.get(l)||0;return n.set(l,c+1),e(...a)}}var jf=class{constructor({options:t,recordingOptions:r}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:AR,sessionIdleExpire:MR},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=r,this._options=t,this._debouncedFlush=LA(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=GA((s,a)=>FN(this,s,a),300,5);let{slowClickTimeout:n,slowClickIgnoreSelectors:o}=this.getOptions(),i=n?{threshold:Math.min(BR,n),timeout:n,scrollTimeout:FR,ignoreSelector:o?o.join(","):""}:void 0;if(i&&(this.clickDetector=new Uf(this,i)),j){let s=t._experiments;G.setConfig({captureExceptions:!!s.captureExceptions,traceInternals:!!s.traceInternals})}this._handleVisibilityChange=()=>{he.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{let s=jr({category:"ui.blur"});this._doChangeToBackgroundTasks(s)},this._handleWindowFocus=()=>{let s=jr({category:"ui.focus"});this._doChangeToForegroundTasks(s)},this._handleKeyboardEvent=s=>{fN(this,s)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){j&&G.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){let{errorSampleRate:r,sessionSampleRate:n}=this._options,o=r<=0&&n<=0;if(this._requiresManualStart=o,!o){if(this._initializeSessionForSampling(t),!this.session){j&&G.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",j&&G.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){j&&G.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){j&&G.log("Buffering is in progress, call `flush()` to save the replay");return}j&&G.infoTick("Starting replay in session mode"),this._updateUserActivity();let t=Ef({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){j&&G.log("Buffering is in progress, call `flush()` to save the replay");return}j&&G.infoTick("Starting replay in buffer mode");let t=Ef({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{let t=this._canvas;this._stopRecording=Rr({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:DR}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:DA(this),...OA(),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:r}={}){if(!this._isEnabled)return;this._isEnabled=!1,this.recordingMode="buffer";let n=r??"manual";P()?.emit("replayEnd",{sessionId:this.session?.id,reason:n});try{j&&G.log(`Stopping Replay triggered by ${n}`),Jc(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),this.eventBuffer?.destroy(),this.eventBuffer=null,LN(this)}catch(o){this.handleException(o)}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),j&&G.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),j&&G.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();let r=Date.now();j&&G.log("Converting buffer to session"),await this.flushImmediate();let n=this.stopRecording();!t||!n||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(r),this._updateSessionActivity(r),this._maybeSaveSession(),p_(this.session.id)),this.startRecording())}addUpdate(t){let r=t();this.recordingMode==="buffer"||!this._isEnabled||r!==!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){if(!(t&&this.session?.sampled===!1))return this.session?.id}checkAndHandleExpiredSession(){if(this._lastActivity&&zf(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session?.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){let t=`${he.location.pathname}${he.location.hash}${he.location.search}`,r=`${he.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=r,this._context.initialTimestamp=Date.now(),this._context.urls.push(r)}throttledAddEvent(t,r){let n=this._throttledAddEvent(t,r);if(n===Q_){let o=jr({category:"replay.throttled"});this.addUpdate(()=>!nm(this,{type:qC,timestamp:o.timestamp||0,data:{tag:"breadcrumb",payload:o,metric:!0}}))}return n}getCurrentRoute(){let t=this.lastActiveSpan||le(),r=t&&ie(t),o=(r&&$(r).data||{})[$e];if(!(!r||!o||!["route","custom"].includes(o)))return $(r).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=NN({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.session&&P()?.emit("replayStart",{sessionId:this.session.id,recordingMode:this.recordingMode}),this.startRecording(),this.recordingMode==="session"&&this.session&&p_(this.session.id)}_initializeSessionForSampling(t){let r=this._options.errorSampleRate>0,n=Ef({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:r});this.session=n}_checkSession(){if(!this.session)return!1;let t=this.session;return Xc(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"sessionExpired"}),this.initializeSampling(t.id))}_addListeners(){try{he.document.addEventListener("visibilitychange",this._handleVisibilityChange),he.addEventListener("blur",this._handleWindowBlur),he.addEventListener("focus",this._handleWindowFocus),he.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(NA(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=IN(this)}_removeListeners(){try{he.document.removeEventListener("visibilitychange",this._handleVisibilityChange),he.removeEventListener("blur",this._handleWindowBlur),he.removeEventListener("focus",this._handleWindowFocus),he.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){if(!this.session)return;if(Xc(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})){Jc();return}t&&this._createCustomBreadcrumb(t),this.conditionalFlush()}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){j&&G.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:q.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=SN(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){let r=this._context.initialTimestamp/1e3;t=t.filter(n=>n.start>=r)}return Promise.all(au(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){let{session:t,eventBuffer:r}=this;if(!t||!r||this._requiresManualStart||t.segmentId)return;let n=r.getEarliestTimestamp();n&&n<this._context.initialTimestamp&&(this._context.initialTimestamp=n)}_popEventContext(){let 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(){let t=this.getSessionId();if(!this.session||!this.eventBuffer||!t){j&&G.error("No session or eventBuffer found to flush.");return}if(await this._addPerformanceEntries(),!!this.eventBuffer?.hasEvents&&(await AA(this),!!this.eventBuffer&&t===this.getSessionId()))try{this._updateInitialTimestampFromEventBuffer();let r=Date.now();if(r-this._context.initialTimestamp>this._options.maxReplayDuration+3e4)throw new tu;let n=this._popEventContext(),o=this.session.segmentId++;this._maybeSaveSession();let i=await this.eventBuffer.finish();await Z_({replayId:t,recordingData:i,segmentId:o,eventContext:n,session:this.session,timestamp:r,onError:s=>this.handleException(s)})}catch(r){this.handleException(r),this.stop({reason:"sendError"});let n=P();if(n){let o;r instanceof Ia?o="ratelimit_backoff":r instanceof tu?o="invalid":o="send_error",n.recordDroppedEvent(o,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){j&&G.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;let r=this.session.started,o=Date.now()-r;this._debouncedFlush.cancel();let i=o<this._options.minReplayDuration,s=o>this._options.maxReplayDuration+5e3;if(i||s){j&&G.log(`Session duration (${Math.floor(o/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}let a=this.eventBuffer;a&&this.session.segmentId===0&&!a.hasCheckout&&j&&G.log("Flushing initial segment without checkout.");let l=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(c){this.handleException(c)}finally{this._flushLock=void 0,l&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&su(this.session)}_onMutationHandler(t){let{ignoreMutations:r}=this._options._experiments;if(r?.length&&t.some(a=>{let l=FA(a.target),c=r.join(",");return l?.matches(c)}))return!1;let n=t.length,o=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,s=o&&n>o;if(n>i||s){let a=jr({category:"replay.mutations",data:{count:n,limit:s}});this._createCustomBreadcrumb(a)}return s?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}};function ga(e,t){return[...e,...t].join(",")}function VA({mask:e,unmask:t,block:r,unblock:n,ignore:o}){let i=["base","iframe[srcdoc]:not([src])"],s=ga(e,[".sentry-mask","[data-sentry-mask]"]),a=ga(t,[]);return{maskTextSelector:s,unmaskTextSelector:a,blockSelector:ga(r,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:ga(n,[]),ignoreSelector:ga(o,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function YA({el:e,key:t,maskAttributes:r,maskAllText:n,privacyOptions:o,value:i}){if(o.unmaskTextSelector&&e.matches(o.unmaskTextSelector))return i;let s=r.includes(t),a=n&&t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"");return s||a?i.replace(/[\S]/g,"*"):i}var m_='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',qA=["content-length","content-type","accept"],KA=Symbol.for("sentry__originalRequestBody"),g_=!1,h_=!1;function XA(){if(typeof Request>"u"||h_)return;let e=Request;try{let t=function(r,n){let o=new e(r,n);return n?.body!=null&&(o[KA]=n.body),o};t.prototype=e.prototype,U.Request=t,h_=!0}catch{}}var im=(e=>new Gf(e)),Gf=class{constructor({flushMinDelay:t=LR,flushMaxDelay:r=OR,minReplayDuration:n=HR,maxReplayDuration:o=Yy,stickySession:i=!0,useCompression:s=!0,workerUrl:a,_experiments:l={},maskAllText:c=!0,maskAllInputs:u=!0,blockAllMedia:d=!0,mutationBreadcrumbLimit:p=750,mutationLimit:f=1e4,slowClickTimeout:h=7e3,slowClickIgnoreSelectors:y=[],networkDetailAllowUrls:k=[],networkDetailDenyUrls:g=[],networkCaptureBodies:S=!0,networkRequestHeaders:v=[],networkResponseHeaders:E=[],mask:C=[],maskAttributes:R=["title","placeholder","aria-label"],unmask:_=[],block:w=[],unblock:z=[],ignore:I=[],maskFn:D,beforeAddRecordingEvent:W,beforeErrorSampling:K,onError:V,attachRawBodyFromRequest:De=!1}={}){this.name="Replay";let ue=VA({mask:C,unmask:_,block:w,unblock:z,ignore:I});if(this._recordingOptions={maskAllInputs:u,maskAllText:c,maskInputOptions:{password:!0},maskTextFn:D,maskInputFn:D,maskAttributeFn:(fe,L,b)=>YA({maskAttributes:R,maskAllText:c,privacyOptions:ue,key:fe,value:L,el:b}),...ue,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:fe=>{try{fe.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!l.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:r,minReplayDuration:Math.min(n,zR),maxReplayDuration:Math.min(o,Yy),stickySession:i,useCompression:s,workerUrl:a,blockAllMedia:d,maskAllInputs:u,maskAllText:c,mutationBreadcrumbLimit:p,mutationLimit:f,slowClickTimeout:h,slowClickIgnoreSelectors:y,networkDetailAllowUrls:k,networkDetailDenyUrls:g,networkCaptureBodies:S,networkRequestHeaders:S_(v),networkResponseHeaders:S_(E),beforeAddRecordingEvent:W,beforeErrorSampling:K,onError:V,attachRawBodyFromRequest:De,_experiments:l},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${m_}`:m_,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&ir())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return g_}set _isInitialized(t){g_=t}afterAllSetup(t){!ir()||this._replay||(this._initialOptions.attachRawBodyFromRequest&&XA(),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",reason:"manual"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){if(this._replay?.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){if(this._replay?.isEnabled())return this._replay.recordingMode}processSpan(t){let r=this.getReplayId(!0);r&&On(t,{"sentry.replay_id":r})}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){let r=JA(this._initialOptions,t);this._replay=new jf({options:r,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{let r=t.getIntegrationByName("ReplayCanvas");if(!r)return;this._replay._canvas=r.getOptions()}catch{}}};function JA(e,t){let r=t.getOptions(),n={sessionSampleRate:0,errorSampleRate:0,...e},o=$t(r.replaysSessionSampleRate),i=$t(r.replaysOnErrorSampleRate);return o==null&&i==null&&Je(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),o!=null&&(n.sessionSampleRate=o),i!=null&&(n.errorSampleRate=i),n}function S_(e){return[...qA,...e.map(t=>t.toLowerCase())]}function eE(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function sm(e){try{return new URL(e,F.location.origin).href}catch{return}}function tE(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function am(e){try{return new Headers(e)}catch{return}}var lm={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function nE(e,t){let{traceFetch:r,traceXHR:n,shouldCreateSpanForRequest:o,enableHTTPTimings:i,tracePropagationTargets:s,onRequestSpanStart:a,onRequestSpanEnd:l}={...lm,...t},c=typeof o=="function"?o:f=>!0,u=f=>QA(f,s),d={},p=e.getOptions().propagateTraceparent;r&&Pn(f=>{let h=Up(f,c,u,d,{propagateTraceparent:p,onRequestSpanEnd:l});if(h){let y=sm(f.fetchData.url),k=y?or(y).host:void 0;h.setAttributes({"http.url":y?pt(y):void 0,"server.address":k}),i&&rE(h,e),a?.(h,{headers:f.headers})}}),n&&da(f=>{let h=eM(f,c,u,d,p,l);h&&(i&&rE(h,e),a?.(h,{headers:am(f.xhr.__sentry_xhr_v3__?.request_headers)}))})}var ZA=300;function rE(e,t){let{url:r}=$(e).data;if(!r||typeof r!="string")return;let n=()=>{setTimeout(o)};if(et(t)){let i=e.end.bind(e);e.end=s=>{let a=s??ae(),l=!1,c=()=>{l||(l=!0,setTimeout(o),i(a),clearTimeout(u))};n=c;let u=setTimeout(c,ZA)}}let o=wr("resource",({entries:i})=>{i.forEach(s=>{tE(s)&&s.name.endsWith(r)&&(e.setAttributes(la(s)),n())})})}function QA(e,t){let r=Lt();if(r){let n,o;try{n=new URL(e,r),o=new URL(r).origin}catch{return!1}let i=n.origin===o;return t?Ze(n.toString(),t)||i&&Ze(n.pathname,t):i}else{let n=!!e.match(/^\/(?!\/)/);return t?Ze(e,t):n}}function eM(e,t,r,n,o,i){let s=e.xhr,a=s?.[Ir];if(!s||s.__sentry_own_request__||!a)return;let{url:l,method:c}=a,u=We()&&t(l);if(e.endTimestamp){let S=s.__sentry_xhr_span_id__;if(!S)return;let v=n[S];v&&(u&&a.status_code!==void 0&&(li(v,a.status_code),v.end(),i?.(v,{headers:am(pa(s)),error:e.error})),delete n[S]);return}let d=sm(l),p=d?or(d):or(l),f=pt(Ql(l)),h=P(),k=!!le()||!!h&&et(h),g=u&&k?Ve({name:`${c} ${f}`,attributes:{url:pt(l),type:"xhr","http.method":c,"http.url":d?pt(d):void 0,"server.address":p?.host,[ee]:"auto.http.browser",[_e]:"http.client",...p?.search&&{"http.query":p?.search},...p?.hash&&{"http.fragment":p?.hash}}}):new Qe;return u&&!k&&h?.recordDroppedEvent("no_parent_span","span"),s.__sentry_xhr_span_id__=g.spanContext().spanId,n[s.__sentry_xhr_span_id__]=g,r(l)&&tM(s,We()&&k?g:void 0,o),h&&h.emit("beforeOutgoingRequestSpan",g,e),g}function tM(e,t,r){let{"sentry-trace":n,baggage:o,traceparent:i}=_i({span:t,propagateTraceparent:r});n&&rM(e,n,o,i)}function rM(e,t,r,n){let o=e.__sentry_xhr_v3__?.request_headers;if(!(o?.["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),n&&!o?.traceparent&&e.setRequestHeader("traceparent",n),r){let i=o?.baggage;(!i||!eE(i))&&e.setRequestHeader("baggage",r)}}catch{}}var oE=new WeakMap,iE=new WeakMap,nM=9e4,oM=["text/event-stream","application/x-ndjson","application/stream+json"],sE=()=>({name:"FetchStreamPerformance",setup(){pc(e=>{if(e.response){let t=oE.get(e.response);if(t&&e.endTimestamp){t.end(e.endTimestamp);let r=iE.get(e.response);r&&clearTimeout(r)}}}),Pn(e=>{if(e.endTimestamp&&e.response){let t=e.response.headers?.get("content-type")||"";if(e.response.headers?.get("content-length")||!oM.some(l=>t.startsWith(l)))return;let r=e.fetchData?.url||"",n=e.fetchData?.method||"GET",o=Fr(r),i=r.startsWith("data:")?pt(r):o?gi(o):r,s=Ve({name:`${n} ${i}`,startTime:e.endTimestamp,attributes:{url:pt(r),"http.method":n,type:"fetch",[_e]:"http.client.stream",[ee]:"auto.http.browser.stream"}});oE.set(e.response,s);let a=setTimeout(()=>{s.isRecording()&&s.end()},nM);iE.set(e.response,a)}})}});function aE(){F.document?F.document.addEventListener("visibilitychange",()=>{let e=le();if(!e)return;let t=ie(e);if(F.document.hidden&&t){let r="cancelled",{op:n,status:o}=$(t);xe&&T.log(`[Tracing] Transaction: ${r} -> since tab moved to the background, op: ${n}`),o||t.setStatus({code:2,message:r}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):xe&&T.warn("[Tracing] Could not set up background tab detection due to lack of global document")}var iM=3600,lE="sentry_previous_trace",sM="sentry.previous_trace";function cE(e,{linkPreviousTrace:t,consistentTraceSampling:r}){let n=t==="session-storage",o=n?cM():void 0;e.on("spanStart",s=>{if(ie(s)!==s)return;let a=H().getPropagationContext();o=aM(o,s,a),n&&lM(o)});let i=!0;r&&e.on("beforeSampling",s=>{if(!o)return;let a=H(),l=a.getPropagationContext();if(i&&l.parentSpanId){i=!1;return}a.setPropagationContext({...l,dsc:{...l.dsc,sample_rate:String(o.sampleRate),sampled:String(cm(o.spanContext))},sampleRand:o.sampleRand}),s.parentSampled=cm(o.spanContext),s.parentSampleRate=o.sampleRate,s.spanAttributes={...s.spanAttributes,[si]:o.sampleRate}})}function aM(e,t,r){let n=$(t);function o(){try{let a=Number(n.data?.[en]??r.dsc?.sample_rate);return Number.isNaN(a)?0:a}catch{return 0}}let i={spanContext:t.spanContext(),startTimestamp:n.start_timestamp,sampleRate:o(),sampleRand:r.sampleRand};if(!e)return i;let s=e.spanContext;return s.traceId===n.trace_id?e:(Date.now()/1e3-e.startTimestamp<=iM&&(xe&&T.log(`Adding previous_trace \`${JSON.stringify(s)}\` link to span \`${JSON.stringify({op:n.op,...t.spanContext()})}\``),t.addLink({context:s,attributes:{[Ul]:"previous_trace"}}),t.setAttribute(sM,`${s.traceId}-${s.spanId}-${cm(s)?1:0}`)),i)}function lM(e){try{F.sessionStorage.setItem(lE,JSON.stringify(e))}catch(t){xe&&T.warn("Could not store previous trace in sessionStorage",t)}}function cM(){try{let e=F.sessionStorage?.getItem(lE);return JSON.parse(e)}catch{return}}function cm(e){return e.traceFlags===1}var uM="BrowserTracing",dM=/Googlebot|Google-InspectionTool|Storebot-Google|Bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot|Facebot|facebookexternalhit|LinkedInBot|Twitterbot|Applebot/i;function mE(){let e=F.navigator;return e?.userAgent?dM.test(e.userAgent):!1}var pM={...mi,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...lm},um=((e={})=>{"enableElementTiming"in e&&Je(()=>{console.warn("[Sentry] `enableElementTiming` is deprecated and no longer has any effect. Use the standalone `elementTimingIntegration` instead.")});let t={name:void 0,source:void 0},r=F.document,{enableInp:n,enableLongTask:o,enableLongAnimationFrame:i,_experiments:{enableInteractions:s,enableStandaloneClsSpans:a,enableStandaloneLcpSpans:l},beforeStartSpan:c,idleTimeout:u,finalTimeout:d,childSpanTimeout:p,markBackgroundSpan:f,traceFetch:h,traceXHR:y,trackFetchStreamPerformance:k,shouldCreateSpanForRequest:g,enableHTTPTimings:S,ignoreResourceSpans:v,ignorePerformanceApiSpans:E,instrumentPageLoad:C,instrumentNavigation:R,detectRedirects:_,linkPreviousTrace:w,consistentTraceSampling:z,enableReportPageLoaded:I,onRequestSpanStart:D,onRequestSpanEnd:W}={...pM,...e},K=mE(),V,De,ue;function fe(L,b,x=!0){let A=b.op==="pageload",oe=b.name,J=c?c(b):b,ot=J.attributes||{};if(oe!==J.name&&(ot[$e]="custom",J.attributes=ot),!x){let Jt=Ct();Ve({...J,startTime:Jt}).end(Jt);return}t.name=J.name,t.source=ot[$e];let Ie=Jl(J,{idleTimeout:u,finalTimeout:d,childSpanTimeout:p,disableAutoFinish:A,beforeSpanEnd:Jt=>{V?.();let Zt=et(L);tf(Jt,{recordClsOnPageloadSpan:!Zt&&!a,recordLcpOnPageloadSpan:!Zt&&!l,ignoreResourceSpans:v,ignorePerformanceApiSpans:E,spanStreamingEnabled:Zt}),pE(L,void 0);let Ss=H(),co=Ss.getPropagationContext();Ss.setPropagationContext({...co,traceId:Ie.spanContext().traceId,sampled:Mt(Ie),dsc:Be(Jt)}),A&&(ue=void 0)},trimIdleSpanEndTimestamp:!I});A&&I&&(ue=Ie),pE(L,Ie);function it(){r&&["interactive","complete"].includes(r.readyState)&&L.emit("idleSpanEnableAutoFinish",Ie)}A&&!I&&r&&(r.addEventListener("readystatechange",()=>{it()}),it())}return{name:uM,setup(L){if(K){xe&&T.log("[Tracing] Skipping browserTracingIntegration setup for bot user agent.");return}jl();let b=et(L);if(V=Jp({recordClsStandaloneSpans:b?void 0:a||!1,recordLcpStandaloneSpans:b?void 0:l||!1,client:L}),b?(lf(L),cf(L),n&&uf()):n&&of(),i&&U.PerformanceObserver&&PerformanceObserver.supportedEntryTypes?.includes("long-animation-frame")?Qp():o&&Zp(),s&&ef(),_&&r){let A=()=>{De=ae()};addEventListener("click",A,{capture:!0}),addEventListener("keydown",A,{capture:!0,passive:!0})}function x(){let A=Ca(L);A&&!$(A).timestamp&&(xe&&T.log(`[Tracing] Finishing current active span with op: ${$(A).op}`),A.setAttribute(tn,"cancelled"),A.end())}L.on("startNavigationSpan",(A,oe)=>{if(P()!==L)return;if(oe?.isRedirect){xe&&T.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),fe(L,{op:"navigation.redirect",...A},!1);return}De=void 0,x(),be().setPropagationContext({traceId:yt(),sampleRand:Math.random(),propagationSpanId:We()?void 0:ut()});let J=H();J.setPropagationContext({traceId:yt(),sampleRand:Math.random(),propagationSpanId:We()?void 0:ut()}),J.setSDKProcessingMetadata({normalizedRequest:void 0}),fe(L,{op:"navigation",...A,parentSpan:null,forceTransaction:!0})}),L.on("startPageLoadSpan",(A,oe={})=>{if(P()!==L)return;x();let J=oe.sentryTrace||uE("sentry-trace")||dE("sentry-trace"),ot=oe.baggage||uE("baggage")||dE("baggage"),Ie=tp(J,ot),it=H();it.setPropagationContext(Ie),We()||(it.getPropagationContext().propagationSpanId=ut()),it.setSDKProcessingMetadata({normalizedRequest:bi()}),fe(L,{op:"pageload",...A})}),L.on("endPageloadSpan",()=>{I&&ue&&(ue.setAttribute(tn,"reportPageLoaded"),ue.end())})},afterAllSetup(L){if(K)return;let b=Lt();if(w!=="off"&&cE(L,{linkPreviousTrace:w,consistentTraceSampling:z}),F.location){if(C){let x=me();gE(L,{name:F.location.pathname,startTime:x?x/1e3:void 0,attributes:{[$e]:"url",[ee]:"auto.pageload.browser"}})}R&&pn(({to:x,from:A})=>{if(A===void 0&&b?.indexOf(x)!==-1){b=void 0;return}b=void 0;let oe=Fr(x),J=Ca(L),ot=J&&_&&mM(J,De);hE(L,{name:oe?.pathname||F.location.pathname,attributes:{[$e]:"url",[ee]:"auto.navigation.browser"}},{url:x,isRedirect:ot})})}f&&aE(),s&&fM(L,u,d,p,t),n&&sf(),nE(L,{traceFetch:h,traceXHR:y,tracePropagationTargets:L.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:g,enableHTTPTimings:S,onRequestSpanStart:D,onRequestSpanEnd:W}),k&&L.addIntegration(sE())}}});function gE(e,t,r){e.emit("startPageLoadSpan",t,r),H().setTransactionName(t.name);let n=Ca(e);return n&&e.emit("afterStartPageLoadSpan",n),n}function hE(e,t,r){let{url:n,isRedirect:o}=r||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:o}),e.emit("startNavigationSpan",t,{isRedirect:o});let i=H();return i.setTransactionName(t.name),n&&!o&&i.setSDKProcessingMetadata({normalizedRequest:{...bi(),url:n}}),Ca(e)}function uE(e){return F.document?.querySelector(`meta[name=${e}]`)?.getAttribute("content")||void 0}function dE(e){return F.performance?.getEntriesByType?.("navigation")[0]?.serverTiming?.find(n=>n.name===e)?.description}function fM(e,t,r,n,o){let i=F.document,s,a=()=>{let l="ui.action.click",c=Ca(e);if(c){let u=$(c).op;if(["navigation","pageload"].includes(u)){xe&&T.warn(`[Tracing] Did not create ${l} span because a pageload or navigation span is in progress.`);return}}if(s&&(s.setAttribute(tn,"interactionInterrupted"),s.end(),s=void 0),!o.name){xe&&T.warn(`[Tracing] Did not create ${l} transaction because _latestRouteName is missing.`);return}s=Jl({name:o.name,op:l,attributes:{[$e]:o.source||"url"}},{idleTimeout:t,finalTimeout:r,childSpanTimeout:n})};i&&addEventListener("click",a,{capture:!0})}var SE="_sentry_idleSpan";function Ca(e){return e[SE]}function pE(e,t){ye(e,SE,t)}var fE=1.5;function mM(e,t){let r=$(e),n=Ct(),o=r.start_timestamp;return!(n-o>fE||t&&n-t<=fE)}var ME=vr(mn(),1);function AE(e){return er(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function hm(e){let t={...e};na(t,"react"),xo("react",{version:ME.version});let r=hf(t);return oi(NM),r}function NM(e){return AE(e)?"[SyntheticEvent]":fa(e)}var LE=vr(mn(),1);function AM(e){let t=e.match(/^([^.]+)/);return t!==null&&parseInt(t[0])>=17}function MM(e,t){let r=new WeakSet;function n(o,i){if(!r.has(o)){if(o.cause)return r.add(o),n(o.cause,i);o.cause=i}}n(e,t)}function OE(e,{componentStack:t},r){if(AM(LE.version)&&Qt(e)&&t){let n=new Error(e.message);n.name=`React ErrorBoundary ${e.name}`,n.stack=t,MM(e,n)}return nr(n=>(n.setContext("react",{componentStack:t}),on(e,r)))}var Bo=vr(mn(),1);var DE=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var Sm={componentStack:null,error:null,eventId:null},Aa=class extends Bo.Component{constructor(t){super(t),this.state=Sm,this._openFallbackReportDialog=!0;let r=P();r&&t.showDialog&&(this._openFallbackReportDialog=!1,this._cleanupHook=r.on("afterSendEvent",n=>{!n.type&&this._lastEventId&&n.event_id===this._lastEventId&&Dc({...t.dialogOptions,eventId:this._lastEventId})}))}componentDidCatch(t,r){let{componentStack:n}=r,{beforeCapture:o,onError:i,showDialog:s,dialogOptions:a}=this.props;nr(l=>{o&&o(l,t,n);let c=this.props.handled!=null?this.props.handled:!!this.props.fallback,u=OE(t,r,{mechanism:{handled:c,type:"auto.function.react.error_boundary"}});i&&i(t,n,u),s&&(this._lastEventId=u,this._openFallbackReportDialog&&Dc({...a,eventId:u})),this.setState({error:t,componentStack:n,eventId:u})})}componentDidMount(){let{onMount:t}=this.props;t&&t()}componentWillUnmount(){let{error:t,componentStack:r,eventId:n}=this.state,{onUnmount:o}=this.props;o&&(this.state===Sm?o(null,null,null):o(t,r,n)),this._cleanupHook&&(this._cleanupHook(),this._cleanupHook=void 0)}resetErrorBoundary(){let{onReset:t}=this.props,{error:r,componentStack:n,eventId:o}=this.state;t&&t(r,n,o),this.setState(Sm)}render(){let{fallback:t,children:r}=this.props,n=this.state;if(n.componentStack===null)return typeof r=="function"?r():r;let o=typeof t=="function"?Bo.createElement(t,{error:n.error,componentStack:n.componentStack,resetError:()=>this.resetErrorBoundary(),eventId:n.eventId}):t;return Bo.isValidElement(o)?o:(t&&DE&&T.warn("fallback did not produce a valid ReactElement"),null)}};function vm(e,t){if(e==null||e==="")return t;let r=typeof e=="number"?e:Number(e);return Number.isFinite(r)&&r>=0&&r<=1?r:t}var gn=window.__vidfarmSentry,UE=gn?.dsn?.trim()||"";if(UE){let e=gn?.environment?.trim()||"development",t=e==="production"?.1:1,r=e==="production"?.1:1,n=["localhost",window.location.origin,`${window.location.origin}/api`],o=Array.from(new Set([...n,...gn?.tracePropagationTargets??[]].filter(Boolean)));hm({dsn:UE,environment:e,release:gn?.release?.trim()||void 0,integrations:[um(),im({maskAllText:!0,blockAllMedia:!0})],tracesSampleRate:vm(gn?.tracesSampleRate,t),tracePropagationTargets:o,replaysSessionSampleRate:vm(gn?.replaysSessionSampleRate,r),replaysOnErrorSampleRate:vm(gn?.replaysOnErrorSampleRate,1),enableLogs:gn?.enableLogs??!0,sendDefaultPii:gn?.sendDefaultPii??!0})}var we=vr(mn(),1),Rk=vr(ok(),1);var ik=e=>{let t,r=new Set,n=(c,u)=>{let d=typeof c=="function"?c(t):c;if(!Object.is(d,t)){let p=t;t=u??(typeof d!="object"||d===null)?d:Object.assign({},t,d),r.forEach(f=>f(t,p))}},o=()=>t,a={setState:n,getState:o,getInitialState:()=>l,subscribe:c=>(r.add(c),()=>r.delete(c))},l=t=e(n,o,a);return a},sk=(e=>e?ik(e):ik);var bl=vr(mn(),1);var D2=e=>e;function ze(e,t=D2){let r=bl.default.useSyncExternalStore(e.subscribe,bl.default.useCallback(()=>t(e.getState()),[e,t]),bl.default.useCallback(()=>t(e.getInitialState()),[e,t]));return bl.default.useDebugValue(r),r}var P2="[vidfarm]";function U2(e){if(e!=="debug")return!0;if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).has("debug")||window.localStorage?.getItem("VIDFARM_DEBUG")==="1"}catch{return!1}}function ak(e,t,r){let n={event:t,detail:r,timestamp:new Date().toISOString()};typeof window<"u"&&(window.__VIDFARM_DEBUG_LOGS__=window.__VIDFARM_DEBUG_LOGS__??[],window.__VIDFARM_DEBUG_LOGS__.push(n),window.__VIDFARM_DEBUG_LOGS__.length>1e3&&window.__VIDFARM_DEBUG_LOGS__.splice(0,window.__VIDFARM_DEBUG_LOGS__.length-1e3)),U2(e)&&console[e==="debug"?"log":e](P2,t,r??"")}function kl(e,t){ak("info",e,t)}function In(e,t){ak("error",e,t)}function lk(){typeof window>"u"||window.__VIDFARM_DEBUG_HOOKS__||(window.__VIDFARM_DEBUG_HOOKS__=!0,kl("boot.hooks-installed",{href:window.location.href,readyState:document.readyState,userAgent:navigator.userAgent}),window.addEventListener("error",e=>{In("window.error",{message:e.message,filename:e.filename,lineno:e.lineno,colno:e.colno,error:e.error instanceof Error?e.error.stack:e.error})}),window.addEventListener("unhandledrejection",e=>{In("window.unhandledrejection",{reason:e.reason instanceof Error?e.reason.stack:e.reason})}))}var re=vr(mn(),1);function Jr(e,t){if(!t||!e.startsWith("/"))return e;let r=new URL(e,"https://vidfarm.local");return r.pathname.startsWith("/u/")?`${r.pathname}${r.search}${r.hash}`:r.pathname==="/discover"||r.pathname.startsWith("/discover/")||r.pathname==="/help"?`${r.pathname}${r.search}${r.hash}`:`/u/${encodeURIComponent(t)}${r.pathname}${r.search}${r.hash}`}function ck(e){let t=e?.email?.trim()||"",r=e?.displayName?.trim()||"";return r||(t?t.split("@")[0].replace(/[._-]+/g," ").replace(/\b\w/g,n=>n.toUpperCase()):"")}var B2="https://vidfarm.cc",mj=`${B2}/assets/logo-vidfarm.png`;function Ad(e){return!!(e&&/\.(mp4|webm|ogg|mov)(\?|#|$)/i.test(e))}var m=vr(wl(),1);function fk(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M10 3v4"}),(0,m.jsx)("path",{d:"M10 13v4"}),(0,m.jsx)("path",{d:"M3 10h4"}),(0,m.jsx)("path",{d:"M13 10h4"}),(0,m.jsx)("path",{d:"m5.8 5.8 2.3 2.3"}),(0,m.jsx)("path",{d:"m11.9 11.9 2.3 2.3"}),(0,m.jsx)("path",{d:"m14.2 5.8-2.3 2.3"}),(0,m.jsx)("path",{d:"m8.1 11.9-2.3 2.3"})]})}function G2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M4.5 4.5h3v11h-3z"}),(0,m.jsx)("path",{d:"M8.7 4.5h3v11h-3z"}),(0,m.jsx)("path",{d:"m13.4 5.1 2.3-.6 2.2 10.7-2.3.6z"})]})}function V2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("circle",{cx:"10",cy:"10",r:"7.2"}),(0,m.jsx)("path",{d:"M10 6.3v4.1l2.8 1.7"})]})}function mk(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M14.8 15.2a5.4 5.4 0 1 0-9.6 0"}),(0,m.jsx)("circle",{cx:"10",cy:"6.8",r:"3.1"})]})}function hk(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"currentColor",children:[(0,m.jsx)("circle",{cx:"4.2",cy:"10",r:"1.45"}),(0,m.jsx)("circle",{cx:"10",cy:"10",r:"1.45"}),(0,m.jsx)("circle",{cx:"15.8",cy:"10",r:"1.45"})]})}function Y2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.9",strokeLinecap:"round",children:[(0,m.jsx)("path",{d:"M3.5 5.5h13"}),(0,m.jsx)("path",{d:"M3.5 10h13"}),(0,m.jsx)("path",{d:"M3.5 14.5h13"})]})}function q2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("circle",{cx:"8.5",cy:"8.5",r:"5.8"}),(0,m.jsx)("path",{d:"m13 13 4.2 4.2"})]})}function K2(){return(0,m.jsx)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:(0,m.jsx)("path",{d:"M6 3.8h8a1 1 0 0 1 1 1v11.4l-5-2.9-5 2.9V4.8a1 1 0 0 1 1-1Z"})})}function X2(e){let t=e?.trim();if(!(!t||typeof window>"u"))try{let r="vidfarm:agency:accounts:index",n=window.localStorage.getItem(r),o=n?JSON.parse(n):[];Array.isArray(o)&&window.localStorage.setItem(r,JSON.stringify(o.filter(i=>typeof i=="string"&&i!==t))),window.localStorage.removeItem(`vidfarm:agency:account_${t}`),window.localStorage.removeItem(`vidfarm:flockposter-cache:v1_${t}`),window.localStorage.removeItem(`vidfarm:discover-bookmarks:v1_${t}`)}catch{}}function J2({account:e}){let t=(0,re.useRef)(null),r=e.isLoggedIn?[{id:"discover",href:Jr("/discover",e.userId),label:"Discover",icon:(0,m.jsx)(fk,{})},{id:"library",href:Jr("/library",e.userId),label:"Library",icon:(0,m.jsx)(G2,{})},{id:"calendar",href:Jr("/calendar",e.userId),label:"Calendar",icon:(0,m.jsx)(V2,{})},{id:"settings",href:Jr("/settings",e.userId),label:"Settings",icon:(0,m.jsx)(mk,{})}]:[{id:"discover",href:"/discover",label:"Discover",icon:(0,m.jsx)(fk,{})},{id:"login",href:"/login",label:"Login",icon:(0,m.jsx)(mk,{})}],n=e.isLoggedIn?[{id:"chat",href:Jr("/chat",e.userId),label:"Chat"},{id:"job-runs",href:Jr("/job-runs",e.userId),label:"Run History"},{id:"tools",href:Jr("/tools/image",e.userId),label:"Tools"},{id:"help",href:"/help",label:"Help"},{id:"logout",action:"logout",label:"Log Out"}]:[{id:"help",href:"/help",label:"Help"},{id:"login",href:"/login",label:"Login"}],o=r.filter(i=>!n.some(s=>s.id===i.id));return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("nav",{className:"primary-nav","aria-label":"Primary",children:[r.map(i=>(0,m.jsxs)("a",{className:`nav-link${i.id==="discover"?" is-active":""}`,href:i.href,children:[(0,m.jsx)("span",{className:"nav-icon","aria-hidden":"true",children:i.icon}),(0,m.jsx)("span",{children:i.label})]},i.id)),n.map(i=>"href"in i?(0,m.jsx)("a",{className:"nav-link nav-mobile-extra",href:i.href,children:(0,m.jsx)("span",{children:i.label})},`mobile-${i.id}`):(0,m.jsx)("button",{type:"button",className:"nav-link nav-mobile-extra nav-action-link",onClick:()=>{t.current?.open||t.current?.showModal()},children:(0,m.jsx)("span",{children:i.label})},`mobile-${i.id}`)),n.length?(0,m.jsxs)("details",{className:"nav-menu",children:[(0,m.jsxs)("summary",{className:"nav-link nav-menu-trigger","aria-label":"Open navigation menu",children:[(0,m.jsx)("span",{className:"nav-icon nav-menu-desktop-icon","aria-hidden":"true",children:(0,m.jsx)(hk,{})}),(0,m.jsx)("span",{className:"nav-icon nav-menu-mobile-icon","aria-hidden":"true",children:(0,m.jsx)(Y2,{})}),(0,m.jsx)("span",{className:"nav-menu-label",children:"Menu"})]}),(0,m.jsxs)("div",{className:"nav-menu-panel",role:"menu",children:[o.map(i=>(0,m.jsx)("a",{className:`nav-menu-item nav-menu-mobile-only${i.id==="discover"?" is-active":""}`,role:"menuitem",href:i.href,children:i.label},`menu-mobile-${i.id}`)),n.map(i=>"href"in i?(0,m.jsx)("a",{className:"nav-menu-item",role:"menuitem",href:i.href,children:i.label},i.id):(0,m.jsx)("button",{type:"button",className:"nav-menu-item nav-menu-button",role:"menuitem",onClick:()=>{t.current?.open||t.current?.showModal()},children:i.label},i.id))]})]}):null]}),e.isLoggedIn?(0,m.jsxs)("dialog",{className:"logout-dialog",ref:t,onClick:i=>{let s=t.current;if(!s)return;let a=s.getBoundingClientRect();(i.clientX<a.left||i.clientX>a.right||i.clientY<a.top||i.clientY>a.bottom)&&s.close()},children:[(0,m.jsxs)("div",{className:"logout-dialog-head",children:[(0,m.jsx)("div",{className:"label logout-dialog-kicker",children:"Log out"}),(0,m.jsx)("h3",{children:"Log out of this browser?"}),(0,m.jsx)("p",{children:"This clears the stored developer key, workspace access, and local session state for the current browser."})]}),(0,m.jsxs)("div",{className:"toolbar logout-dialog-actions",children:[(0,m.jsx)("button",{type:"button",className:"secondary",onClick:()=>t.current?.close(),children:"Cancel"}),(0,m.jsxs)("form",{method:"post",action:"/logout",onSubmit:()=>X2(e.userId),children:[(0,m.jsx)("input",{type:"hidden",name:"account",value:e.userId??""}),(0,m.jsx)("button",{type:"submit",className:"danger",children:"Yes, log out"})]})]})]}):null]})}function Z2({account:e}){let t=e.email?.trim()||"",r=ck({displayName:e.displayName,email:e.email}),n=Jr("/discover",e.userId);return(0,m.jsxs)("a",{className:"brand-lockup",href:n,children:[(0,m.jsx)("img",{className:"brand-logo-image",src:"/assets/logo-vidfarm.png",alt:"VidFarm AI"}),(0,m.jsxs)("div",{className:"brand-copy",children:[(0,m.jsxs)("div",{className:"brand-title brand-title-static",children:["VidFarm",(0,m.jsx)("span",{className:"brand-title-mobile-hidden",children:" AI"})]}),t?(0,m.jsxs)("div",{className:"brand-account-meta",children:[r," ",(0,m.jsxs)("span",{children:["(",t,")"]})]}):null]})]})}function Sk(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:[(0,m.jsx)("path",{d:"m5 5 10 10"}),(0,m.jsx)("path",{d:"m15 5-10 10"})]})}function Q2(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M10 3v9"}),(0,m.jsx)("path",{d:"m6.5 8.5 3.5 3.5 3.5-3.5"}),(0,m.jsx)("path",{d:"M4 16h12"})]})}function eO(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M8.4 11.6a3.2 3.2 0 0 0 4.5 0l2.2-2.2a3.2 3.2 0 0 0-4.5-4.5L9.4 6.1"}),(0,m.jsx)("path",{d:"M11.6 8.4a3.2 3.2 0 0 0-4.5 0L4.9 10.6a3.2 3.2 0 0 0 4.5 4.5l1.2-1.2"})]})}function tO(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M3.5 8v4h2.8l3.5 3V5l-3.5 3Z"}),(0,m.jsx)("path",{d:"M12.4 7.6a3.4 3.4 0 0 1 0 4.8"}),(0,m.jsx)("path",{d:"M14.6 5.4a6.5 6.5 0 0 1 0 9.2"})]})}function rO(){return(0,m.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,m.jsx)("path",{d:"M3.5 8v4h2.8l3.5 3V5l-3.5 3Z"}),(0,m.jsx)("path",{d:"m12.6 8 4 4"}),(0,m.jsx)("path",{d:"m16.6 8-4 4"})]})}var vk="vidfarm:discover-muted",hs=typeof window<"u"&&window.localStorage?.getItem(vk)==="1",Lh=new Set;function yk(e){hs=e;try{window.localStorage.setItem(vk,e?"1":"0")}catch{}for(let t of Lh)t()}function _k(e){return Lh.add(e),()=>{Lh.delete(e)}}function Ek(){return(0,re.useSyncExternalStore)(_k,()=>hs,()=>!1)}var Oh=!1,Dh=new Set;function gk(e){Oh=e;for(let t of Dh)t()}function nO({src:e,controls:t=!0}){let r=(0,re.useRef)(null);return(0,re.useEffect)(()=>{let n=r.current;if(!n)return;let o=()=>{!n.dataset.src||n.getAttribute("src")||(n.setAttribute("src",n.dataset.src),n.load())},i=!1,s=()=>{Oh||(o(),n.muted=hs,n.play().then(()=>{delete n.dataset.mutedFallback}).catch(()=>{n.muted||(n.dataset.mutedFallback="1",n.muted=!0,n.play().catch(()=>{}))}))},a=()=>{!hs&&n.dataset.mutedFallback==="1"&&!n.paused&&(n.muted=!1,delete n.dataset.mutedFallback)};window.addEventListener("pointerdown",a),window.addEventListener("keydown",a);let c=_k(()=>{hs?(delete n.dataset.mutedFallback,n.muted=!0):n.paused||(n.muted=!1)}),u=()=>{Oh?n.paused||n.pause():i&&s()};Dh.add(u);let d=()=>{window.removeEventListener("pointerdown",a),window.removeEventListener("keydown",a),c(),Dh.delete(u)};if(!("IntersectionObserver"in window))return i=!0,s(),d;let p=new IntersectionObserver(h=>{for(let y of h)y.isIntersecting&&(o(),p.unobserve(y.target))},{rootMargin:"240px 0px"}),f=new IntersectionObserver(h=>{for(let y of h)i=y.isIntersecting,y.isIntersecting?s():n.paused||n.pause()},{threshold:.5});return p.observe(n),f.observe(n),()=>{p.disconnect(),f.disconnect(),d()}},[]),(0,m.jsx)("video",{ref:r,className:"preview","data-src":e,preload:"metadata",playsInline:!0,loop:!0,controls:t})}function oO(){let e=Ek();return(0,m.jsx)("button",{type:"button",className:"discover-mute-toggle","aria-pressed":e,"aria-label":e?"Unmute video previews":"Mute video previews",title:e?"Unmute previews":"Mute previews",onClick:()=>yk(!e),children:e?(0,m.jsx)(rO,{}):(0,m.jsx)(tO,{})})}function iO({text:e,label:t}){let[r,n]=(0,re.useState)(""),o=async()=>{try{await navigator.clipboard.writeText(e),n("done")}catch{n("error")}window.setTimeout(()=>n(""),1600)};return(0,m.jsxs)("button",{className:"pill-tag copy-inline",type:"button","data-state":r,"aria-label":r==="done"?`${t} copied`:t,onClick:()=>{o()},children:[(0,m.jsx)("span",{className:"copy-inline-label",children:t}),(0,m.jsx)("span",{className:"copy-inline-feedback","aria-hidden":"true",children:r==="error"?"Couldn\u2019t copy":"Copied"})]})}function Tk(e,t){return e.startsWith("hyperframes:")||e.startsWith("template_")?`/editor/${encodeURIComponent(e.replace(/^hyperframes:/,""))}${t?`?account=${encodeURIComponent(t)}`:""}`:Jr(`/templates/${encodeURIComponent(e)}/editor/docs`,t)}function sO({templateId:e,accountUserId:t}){return(0,m.jsx)("a",{className:"cta-button",href:Tk(e,t),target:"_blank",rel:"noopener",children:"Editor"})}function aO(e){let{template:t}=e,[r,n]=(0,re.useState)(!1),[o,i]=(0,re.useState)(!1),[s,a]=(0,re.useState)(!1),l=(0,re.useRef)(null),c=t.status==="processing"||t.status==="failed",u=t.visibility==="private"&&!!e.onDeleteTemplate;(0,re.useEffect)(()=>{if(!r)return;let f=y=>{l.current&&!l.current.contains(y.target)&&n(!1)},h=y=>{y.key==="Escape"&&n(!1)};return window.addEventListener("mousedown",f),window.addEventListener("keydown",h),()=>{window.removeEventListener("mousedown",f),window.removeEventListener("keydown",h)}},[r]);let d=async()=>{try{await navigator.clipboard.writeText(t.templateId),i(!0),window.setTimeout(()=>{i(!1),n(!1)},900)}catch{n(!1)}},p=async()=>{if(!window.confirm(`Delete "${t.title}"? This removes it from your Discover feed permanently.`))return;a(!0);let f=await(e.onDeleteTemplate?.(t.templateId)??Promise.resolve({ok:!1,error:"Delete unavailable."}));a(!1),f.ok?n(!1):window.alert(f.error||"Unable to delete this template.")};return(0,m.jsxs)("div",{className:"discover-card-menu",ref:l,children:[(0,m.jsx)("button",{type:"button",className:"discover-card-menu-trigger","aria-haspopup":"menu","aria-expanded":r,"aria-label":`More actions for ${t.title}`,title:"More actions",onClick:()=>n(f=>!f),children:(0,m.jsx)(hk,{})}),r?(0,m.jsxs)("div",{className:"discover-card-menu-panel",role:"menu",children:[(0,m.jsx)("button",{type:"button",className:"discover-card-menu-item",role:"menuitem",onClick:()=>{d()},children:o?"Copied!":"Copy ID"}),c?(0,m.jsx)("span",{className:"discover-card-menu-item is-disabled",role:"menuitem","aria-disabled":"true",children:"Open in Editor"}):(0,m.jsx)("a",{className:"discover-card-menu-item",role:"menuitem",href:Tk(t.templateId,e.accountUserId),target:"_blank",rel:"noopener",children:"Open in Editor"}),(0,m.jsx)("button",{type:"button",className:"discover-card-menu-item",role:"menuitem",onClick:()=>{e.onToggleBookmark?.(t.templateId),n(!1)},children:e.isBookmarked?"Remove Bookmark":"Bookmark"}),u?(0,m.jsx)("button",{type:"button",className:"discover-card-menu-item is-danger",role:"menuitem",disabled:s,onClick:()=>{p()},children:s?"Deleting\u2026":"Delete"}):null]}):null]})}function lO(e){let t=`${e.isBookmarked?"Remove bookmark for ":"Bookmark "}${e.title}`;return(0,m.jsx)("button",{className:"bookmark-button",type:"button","data-active":e.isBookmarked?"true":"false","aria-label":t,"aria-pressed":e.isBookmarked,title:t,onClick:()=>e.onToggleBookmark?.(e.templateId),children:(0,m.jsx)(K2,{})})}function cO(e){return e.charAt(0).toUpperCase()+e.slice(1)}function uO(e){let t=typeof e.layerCount=="number"?e.layerCount:null,r=typeof e.sourceAssetCount=="number"?e.sourceAssetCount:null,n=typeof e.durationSeconds=="number"&&Number.isFinite(e.durationSeconds)?e.durationSeconds>=60?`${Math.floor(e.durationSeconds/60)}:${String(Math.round(e.durationSeconds%60)).padStart(2,"0")}`:`${e.durationSeconds.toFixed(e.durationSeconds>=10?1:2)}s`:null,o=[t===null?null:`${t} layer${t===1?"":"s"}`,r===null?null:`${r} source${r===1?"":"s"}`,n].filter(Boolean);return o.length?o.join(" / "):e.previewUrl?"Draft composition with editable layers.":"Layer recipe with editable timeline."}function bk(e){let{template:t}=e,r=t.status==="processing"||t.status==="failed",n=t.previewUrl?Ad(t.previewUrl)?(0,m.jsx)(nO,{src:t.previewUrl,controls:!1}):(0,m.jsx)("img",{className:"preview",src:t.previewUrl,alt:`${t.title} preview`,loading:"lazy",decoding:"async"}):(0,m.jsx)("div",{className:"preview preview-empty",children:t.status==="processing"?"Downloading\u2026":"No preview"});return(0,m.jsxs)("li",{className:"discover-card row","data-template-id":t.templateId,children:[t.previewUrl?(0,m.jsxs)("button",{className:"discover-card-media discover-card-media-button",type:"button","aria-label":`Open ${t.title} preview`,onClick:()=>e.onOpenPreview?.(t),children:[n,(0,m.jsx)("span",{className:"discover-card-media-affordance","aria-hidden":"true",children:"View"})]}):(0,m.jsx)("div",{className:"discover-card-media",children:n}),(0,m.jsxs)("div",{className:"discover-card-copy",children:[(0,m.jsxs)("div",{className:"discover-card-head",children:[(0,m.jsxs)("div",{className:"discover-card-title-wrap",children:[(0,m.jsx)("h2",{children:t.title}),(0,m.jsx)("p",{className:"discover-card-meta",children:uO(t)})]}),(0,m.jsxs)("div",{className:"discover-card-actions",children:[(0,m.jsx)(lO,{templateId:t.templateId,title:t.title,isBookmarked:e.isBookmarked,onToggleBookmark:e.onToggleBookmark}),r?(0,m.jsx)("span",{className:"cta-button discover-card-cta-disabled","aria-disabled":"true",children:t.status==="failed"?"Failed":"Preparing\u2026"}):(0,m.jsx)(sO,{templateId:t.templateId,accountUserId:e.accountUserId}),(0,m.jsx)(aO,{template:t,isBookmarked:e.isBookmarked,onToggleBookmark:e.onToggleBookmark,onDeleteTemplate:e.onDeleteTemplate,accountUserId:e.accountUserId})]})]}),(0,m.jsx)("div",{className:"discover-card-body",children:(0,m.jsx)("p",{children:String(t.viralDna||"").trim()||"No layer strategy provided for this composition yet."})}),(0,m.jsxs)("div",{className:"discover-card-tags",children:[t.origin==="raw"?(0,m.jsx)("div",{className:"pill-tag origin-pill",title:"Your own project \u2014 created from a prompt or your raw clips, not an imported inspiration",children:"Your project"}):null,t.visibility==="private"?(0,m.jsx)("div",{className:"pill-tag private-pill",title:"Only visible to your account",children:"Only you"}):null,t.status==="processing"?(0,m.jsx)("div",{className:"pill-tag processing-pill",children:"Processing"}):t.status==="failed"?(0,m.jsx)("div",{className:"pill-tag failed-pill",children:"Download failed"}):null,(0,m.jsx)("div",{className:"pill-tag difficulty-pill","data-difficulty":t.difficulty,children:cO(t.difficulty)}),(0,m.jsx)("div",{className:"pill-tag",children:t.sourceType||(Ad(t.previewUrl)?"Video source":"Image sequence")}),(0,m.jsx)(iO,{text:t.templateId,label:t.templateId})]})]})]})}function dO(e){let{onClose:t,template:r}=e,n=r.previewUrl||"",o=Ad(n),[i,s]=(0,re.useState)(""),a=Ek();(0,re.useEffect)(()=>(gk(!0),()=>gk(!1)),[]);let l=async()=>{try{await navigator.clipboard.writeText(n),s("done")}catch{s("error")}window.setTimeout(()=>s(""),1600)};return(0,re.useEffect)(()=>{let c=d=>{d.key==="Escape"&&t()},u=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",c),()=>{document.body.style.overflow=u,window.removeEventListener("keydown",c)}},[t]),(0,m.jsx)("div",{className:"discover-media-modal-backdrop",role:"presentation",onClick:t,children:(0,m.jsxs)("div",{className:"discover-media-modal",role:"dialog","aria-modal":"true","aria-labelledby":"discover-media-modal-title",onClick:c=>c.stopPropagation(),children:[(0,m.jsxs)("div",{className:"discover-media-modal-head",children:[(0,m.jsx)("h2",{id:"discover-media-modal-title",children:r.title}),(0,m.jsxs)("div",{className:"discover-media-modal-actions",children:[(0,m.jsx)("a",{className:"discover-media-modal-action",href:n,download:!0,"aria-label":`Download ${r.title} preview`,title:"Download",onClick:c=>c.stopPropagation(),children:(0,m.jsx)(Q2,{})}),(0,m.jsx)("button",{className:"discover-media-modal-action",type:"button","data-state":i,"aria-label":i==="done"?"Media URL copied":i==="error"?"Unable to copy media URL":`Copy ${r.title} preview URL`,title:i==="done"?"Copied":i==="error"?"Copy failed":"Copy link",onClick:()=>{l()},children:(0,m.jsx)(eO,{})}),(0,m.jsx)("button",{className:"discover-media-modal-action",type:"button","aria-label":"Close preview",title:"Close",onClick:t,children:(0,m.jsx)(Sk,{})})]})]}),(0,m.jsx)("div",{className:"discover-media-modal-stage",children:o?(0,m.jsx)("video",{src:n,controls:!0,autoPlay:!0,playsInline:!0,preload:"metadata",muted:a,onVolumeChange:c=>{let u=c.currentTarget.muted;u!==hs&&yk(u)}}):(0,m.jsx)("img",{src:n,alt:`${r.title} preview`})})]})})}function pO(e){let{onClose:t}=e,[r,n]=(0,re.useState)(""),[o,i]=(0,re.useState)(null),[s,a]=(0,re.useState)(""),[l,c]=(0,re.useState)(""),[u,d]=(0,re.useState)(""),[p,f]=(0,re.useState)(!1),[h,y]=(0,re.useState)(null);(0,re.useEffect)(()=>{let g=v=>{v.key==="Escape"&&t()},S=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",g),()=>{document.body.style.overflow=S,window.removeEventListener("keydown",g)}},[t]);let k=async()=>{let g=r.trim();if(!g&&!o){y("Paste a TikTok, YouTube, Twitter/X, or Instagram video URL \u2014 or upload a video file.");return}if(o&&o.size>200*1024*1024){y("Video uploads can be at most 200 MB.");return}f(!0),y(null);let S=await(e.onAddTemplate?.({sourceUrl:o?"":g,file:o,title:s.trim(),tagline:l.trim(),notes:u.trim()})??Promise.resolve({ok:!1,error:"Adding templates is unavailable right now."}));f(!1),S.ok?t():y(S.error||"Unable to add that video. Try again.")};return(0,m.jsx)("div",{className:"discover-media-modal-backdrop",role:"presentation",onClick:t,children:(0,m.jsxs)("div",{className:"discover-media-modal discover-add-template-modal",role:"dialog","aria-modal":"true","aria-labelledby":"discover-add-template-title",onClick:g=>g.stopPropagation(),children:[(0,m.jsxs)("div",{className:"discover-media-modal-head",children:[(0,m.jsx)("h2",{id:"discover-add-template-title",children:"Add Template"}),(0,m.jsx)("div",{className:"discover-media-modal-actions",children:(0,m.jsx)("button",{className:"discover-media-modal-action",type:"button","aria-label":"Close",title:"Close",onClick:t,children:(0,m.jsx)(Sk,{})})})]}),(0,m.jsxs)("form",{className:"discover-add-template-form",onSubmit:g=>{g.preventDefault(),k()},children:[(0,m.jsx)("p",{className:"discover-add-template-hint",children:"Paste a link to a TikTok, YouTube, Twitter/X, or Instagram video \u2014 or upload a video file from your computer. We add it to your Discover feed, visible only to your account."}),(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsx)("label",{className:"label",htmlFor:"add-template-url",children:"Video URL"}),(0,m.jsx)("input",{id:"add-template-url",type:"url",required:!o,disabled:!!o,placeholder:"https://www.tiktok.com/@creator/video/\u2026",autoComplete:"off",value:r,onChange:g=>n(g.target.value)})]}),(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsxs)("label",{className:"label",htmlFor:"add-template-file",children:["Or upload a video ",(0,m.jsx)("span",{className:"discover-add-template-optional",children:"MP4 / MOV / WebM, up to 200 MB"})]}),o?(0,m.jsxs)("div",{className:"discover-add-template-file-chip",children:[(0,m.jsx)("span",{className:"discover-add-template-file-name",children:o.name}),(0,m.jsxs)("span",{className:"discover-add-template-file-size",children:[(o.size/(1024*1024)).toFixed(1)," MB"]}),(0,m.jsx)("button",{type:"button",className:"discover-add-template-file-clear","aria-label":"Remove selected file",onClick:()=>i(null),children:"\u2715"})]}):(0,m.jsx)("input",{id:"add-template-file",type:"file",accept:"video/mp4,video/quicktime,video/webm,.mp4,.m4v,.mov,.webm",onChange:g=>{let S=g.target.files?.[0]??null;S&&(i(S),n(""),y(null))}})]}),o?(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsxs)("label",{className:"label",htmlFor:"add-template-title",children:["Title ",(0,m.jsx)("span",{className:"discover-add-template-optional",children:"optional \u2014 defaults to the template id"})]}),(0,m.jsx)("input",{id:"add-template-title",type:"text",placeholder:"Name this template\u2026",autoComplete:"off",maxLength:140,value:s,onChange:g=>a(g.target.value)})]}):null,(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsxs)("label",{className:"label",htmlFor:"add-template-tagline",children:["Tagline ",(0,m.jsx)("span",{className:"discover-add-template-optional",children:"optional"})]}),(0,m.jsx)("input",{id:"add-template-tagline",type:"text",placeholder:"What makes this video work?",autoComplete:"off",maxLength:140,value:l,onChange:g=>c(g.target.value)})]}),(0,m.jsxs)("div",{className:"discover-add-template-field",children:[(0,m.jsxs)("label",{className:"label",htmlFor:"add-template-notes",children:["Notes ",(0,m.jsx)("span",{className:"discover-add-template-optional",children:"optional"})]}),(0,m.jsx)("textarea",{id:"add-template-notes",rows:4,placeholder:"Ideas for how you want to remix this\u2026",maxLength:2e3,value:u,onChange:g=>d(g.target.value)})]}),h?(0,m.jsx)("p",{className:"discover-add-template-error",role:"alert",children:h}):null,(0,m.jsxs)("div",{className:"toolbar discover-add-template-actions",children:[(0,m.jsx)("button",{type:"button",className:"secondary",onClick:t,disabled:p,children:"Cancel"}),(0,m.jsx)("button",{type:"submit",className:"cta-button discover-add-template-submit",disabled:p,children:p?o?"Uploading\u2026":"Adding\u2026":"Add Template"})]})]})]})})}function fO(e){if(e.loading)return(0,m.jsx)("ul",{className:"discover-list",children:(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:"Loading categories\u2026"})});if(e.error)return(0,m.jsx)("ul",{className:"discover-list",children:(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:e.error})});let t=e.searchQuery.trim().toLowerCase(),r=t?e.templates.filter(o=>`${o.title} ${o.templateId} ${o.popularGroup??""}`.toLowerCase().includes(t)):e.templates;if(r.length===0)return(0,m.jsx)("ul",{className:"discover-list",children:(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:t?"No categories match your search.":"No categories yet."})});let n=[];for(let o of r){let i=(o.popularGroup||"Popular").trim()||"Popular",s=n.find(a=>a.label===i);s||(s={label:i,items:[]},n.push(s)),s.items.push(o)}return(0,m.jsx)("div",{className:"discover-popular",children:n.map(o=>(0,m.jsxs)("section",{className:"discover-popular-group",children:[(0,m.jsx)("h3",{className:"discover-popular-group-label",children:o.label}),(0,m.jsx)("ul",{className:"discover-list",children:o.items.map(i=>(0,m.jsx)(bk,{template:i,isBookmarked:e.bookmarks.has(i.templateId),onToggleBookmark:e.onToggleBookmark,onOpenPreview:e.onOpenPreview,onDeleteTemplate:e.onDeleteTemplate,accountUserId:e.accountUserId},i.templateId))})]},o.label))})}function mO(e){let[t,r]=(0,re.useState)(null),[n,o]=(0,re.useState)(null),[i,s]=(0,re.useState)(!1),[a,l]=(0,re.useState)(null),[c,u]=(0,re.useState)(!1),d=e.stack.length?e.stack[0].id:null;(0,re.useEffect)(()=>(window.__VF_SWIPE_SOUND__=c,window.__VF_SWIPE_SOUND_TOP__=d,()=>{window.__VF_SWIPE_SOUND__=!1,window.__VF_SWIPE_SOUND_TOP__=null}),[c,d]);let p=(0,re.useRef)(null),f=110,h=(g,S)=>{!g||i||(s(!0),l(null),o({id:g.id,dir:S}),window.setTimeout(async()=>{let v=S==="right"?e.onApprove:e.onReject;try{let E=await v?.(g.id);E&&!E.ok&&l(E.error??"Action failed.")}finally{o(null),r(null),p.current=null,s(!1)}},260))};if(!e.isLoggedIn)return(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("p",{className:"swipe-empty-title",children:"Swipe is for your product"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:"Log in to auto-generate ads from viral templates and swipe to approve."}),(0,m.jsx)("a",{className:"swipe-empty-cta",href:"/login",children:"Log in"})]});if(!e.productSet)return(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("p",{className:"swipe-empty-title",children:"Tell us about your product"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:"Swipe auto-recuts viral templates into ads for your product. Add a product / offer description in Settings to start the deck."}),(0,m.jsx)("a",{className:"swipe-empty-cta",href:"/settings",children:"Open Settings"})]});if(e.error)return(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("p",{className:"swipe-empty-title",children:"Couldn't load your deck"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:e.error})]});if(e.stack.length===0)return e.loading||e.customizing>0||e.refilling?(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("div",{className:"swipe-spinner","aria-hidden":"true"}),(0,m.jsx)("p",{className:"swipe-empty-title",children:"Customizing fresh clips\u2026"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:"Recutting viral templates into ads for your product."})]}):(0,m.jsxs)("div",{className:"swipe-empty",children:[(0,m.jsx)("p",{className:"swipe-empty-title",children:"You're all caught up"}),(0,m.jsx)("p",{className:"swipe-empty-sub",children:"No more templates to customize right now. Check back as new ones are added."})]});let y=e.stack.slice(0,4),k=y[0];return(0,m.jsxs)("div",{className:"swipe-deck-wrap",children:[(0,m.jsxs)("div",{className:"swipe-deck-row",children:[(0,m.jsx)("button",{type:"button",className:"swipe-action swipe-action-reject",disabled:i,onClick:()=>h(k,"left"),"aria-label":"Reject",children:"\u2715"}),(0,m.jsxs)("div",{className:"swipe-deck",children:[(0,m.jsx)("button",{type:"button",className:"swipe-sound",onClick:()=>u(g=>!g),"aria-label":c?"Mute preview":"Play preview with sound","aria-pressed":c,title:c?"Mute":"Sound on",children:c?"\u{1F50A}":"\u{1F507}"}),y.map((g,S)=>{let v=S===0,E=n?.id===g.id,C=v&&t?.id===g.id,R=S<=1&&!!g.previewUrl,_=C?t.dx:0,w=C?t.dy:0,z,I;E?(z=`translate(${n.dir==="right"?130:-130}%, ${w}px) rotate(${n.dir==="right"?22:-22}deg)`,I="transform 0.26s ease-in"):v?(z=`translate(${_}px, ${w*.25}px) rotate(${_/22}deg)`,I=C?"none":"transform 0.2s ease"):(z=`translateY(${S*12}px) scale(${1-S*.04})`,I="transform 0.2s ease");let D=C?t.dx>40?"approve":t.dx<-40?"reject":null:null;return(0,m.jsxs)("div",{className:"swipe-card",style:{transform:z,transition:I,zIndex:100-S},onPointerDown:v&&!i?W=>{p.current={x:W.clientX,y:W.clientY},W.currentTarget.setPointerCapture?.(W.pointerId)}:void 0,onPointerMove:v&&!i?W=>{p.current&&r({id:g.id,dx:W.clientX-p.current.x,dy:W.clientY-p.current.y})}:void 0,onPointerUp:v&&!i?()=>{let W=t?.id===g.id?t.dx:0;p.current=null,W>f?h(g,"right"):W<-f?h(g,"left"):r(null)}:void 0,onPointerCancel:v?()=>{p.current=null,r(null)}:void 0,children:[R?(0,m.jsx)("iframe",{className:"swipe-card-preview",src:g.previewUrl??void 0,title:g.title,loading:"lazy",scrolling:"no",allow:"autoplay",style:{pointerEvents:"none"}}):(0,m.jsx)("div",{className:"swipe-card-fallback",children:(0,m.jsx)("span",{children:g.title})}),(0,m.jsxs)("div",{className:"swipe-card-overlay",children:[(0,m.jsx)("div",{className:"swipe-card-title",children:g.title}),g.caption?(0,m.jsx)("div",{className:"swipe-card-caption",children:g.caption}):null]}),D==="approve"?(0,m.jsx)("div",{className:"swipe-stamp swipe-stamp-yes",children:"Approve"}):null,D==="reject"?(0,m.jsx)("div",{className:"swipe-stamp swipe-stamp-no",children:"Reject"}):null]},g.id)})]}),(0,m.jsx)("button",{type:"button",className:"swipe-action swipe-action-approve",disabled:i,onClick:()=>h(k,"right"),"aria-label":"Approve",children:"\u2713"})]}),(0,m.jsx)("div",{className:"swipe-status",children:e.customizing>0||e.refilling?"Customizing more\u2026":`${e.stack.length} ready`}),a?(0,m.jsx)("div",{className:"swipe-action-error",children:a}):null]})}function kk(e){let t=!e.loading&&!e.error&&e.templates.length>0&&e.visibleTemplates.length===0,[r,n]=(0,re.useState)(null),[o,i]=(0,re.useState)(!1),s=e.view==="popular",a=e.view==="swipe",l=p=>e.onViewChange?.(p),c=s?"Search categories":e.loading||e.error?"Search Templates":`Search ${e.visibleTemplates.length} Template${e.visibleTemplates.length===1?"":"s"}`,u=!0,d=e.account.isLoggedIn;return(0,m.jsxs)("section",{className:`frame discover-frame${u?" has-chat-rail":""}`,children:[(0,m.jsxs)("header",{className:"topbar",children:[(0,m.jsx)(Z2,{account:e.account}),(0,m.jsx)("div",{className:"topbar-actions",children:(0,m.jsx)(J2,{account:e.account})})]}),(0,m.jsx)("div",{className:"frame-body",children:(0,m.jsxs)("section",{className:"discover-shell",children:[(0,m.jsxs)("div",{className:"discover-filter-bar",role:"toolbar","aria-label":"Composition filters",children:[(0,m.jsxs)("div",{className:"view-toggle discover-view-toggle",role:"tablist","aria-label":"Discover view",children:[(0,m.jsx)("button",{type:"button",className:`view-toggle-tab${!s&&!a?" is-active":""}`,role:"tab","aria-selected":!s&&!a,onClick:()=>l("feed"),children:"Feed"}),(0,m.jsx)("button",{type:"button",className:`view-toggle-tab${a?" is-active":""}`,role:"tab","aria-selected":a,onClick:()=>l("swipe"),children:"Swipe"}),(0,m.jsx)("button",{type:"button",className:`view-toggle-tab${s?" is-active":""}`,role:"tab","aria-selected":s,onClick:()=>l("popular"),children:"Category"})]}),(0,m.jsx)(oO,{}),(0,m.jsxs)("div",{className:"discover-filter-search search-field",children:[(0,m.jsx)("span",{className:"search-icon","aria-hidden":"true",children:(0,m.jsx)(q2,{})}),(0,m.jsx)("input",{id:"search",type:"search",placeholder:c,autoComplete:"off",value:e.searchQuery,onChange:p=>e.onSearchQueryChange?.(p.target.value)})]}),!s&&!a?(0,m.jsxs)("label",{className:"discover-filter-toggle",htmlFor:"bookmarks-only","data-active":e.bookmarksOnly?"true":"false",children:[(0,m.jsx)("span",{className:"discover-filter-toggle-label",children:"Saved"}),(0,m.jsxs)("span",{className:"switch-shell","data-active":e.bookmarksOnly?"true":"false",children:[(0,m.jsx)("input",{id:"bookmarks-only",className:"switch-input",type:"checkbox",checked:e.bookmarksOnly,onChange:p=>e.onBookmarksOnlyChange?.(p.target.checked)}),(0,m.jsx)("span",{className:"switch-knob"})]})]}):null,e.account.isLoggedIn?(0,m.jsx)("button",{type:"button",className:"discover-add-template-button",onClick:()=>i(!0),children:"Add Template"}):(0,m.jsx)("a",{className:"discover-add-template-button",href:"/login",children:"Add Template"})]}),(0,m.jsx)("section",{className:"discover-results",children:(0,m.jsx)("div",{className:"discover-results-scroll",children:(0,m.jsx)("div",{className:"discover-list-scroll",children:a?(0,m.jsx)(mO,{stack:e.swipeStack,loading:e.swipeLoading,loaded:e.swipeLoaded,error:e.swipeError,customizing:e.swipeCustomizing,targetDepth:e.swipeTargetDepth,productSet:e.swipeProductSet,refilling:e.swipeRefilling,isLoggedIn:e.account.isLoggedIn,onApprove:e.onSwipeApprove,onReject:e.onSwipeReject}):s?(0,m.jsx)(fO,{templates:e.popularTemplates,loading:e.popularLoading,error:e.popularError,searchQuery:e.searchQuery,bookmarks:e.bookmarks,onToggleBookmark:e.onToggleBookmark,onOpenPreview:n,onDeleteTemplate:e.onDeleteTemplate,accountUserId:e.account.userId}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("ul",{className:"discover-list",id:"template-list",children:e.loading?(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:"Loading compositions..."}):e.error?(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:"Unable to load compositions."}):e.templates.length===0?(0,m.jsx)("li",{className:"empty-state discover-loading-card",children:"No compositions available."}):e.visibleTemplates.map(p=>(0,m.jsx)(bk,{template:p,isBookmarked:e.bookmarks.has(p.templateId),onToggleBookmark:e.onToggleBookmark,onOpenPreview:n,onDeleteTemplate:e.onDeleteTemplate,accountUserId:e.account.userId},p.templateId))}),(0,m.jsx)("div",{className:"empty-state empty",id:"empty-state","data-visible":t?"true":"false",children:"No compositions match the current search and filter combination."})]})})})})]})}),u?(0,m.jsx)("aside",{className:"editor-right-rail","aria-label":"Discover copilot",children:d?(0,m.jsx)("div",{className:"editor-chat-panel","data-template-editor-chat-root":!0}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("a",{className:"vf-editor-chat-mobile-fab",href:"/login","aria-label":"Log in to chat with Vidfarm",children:(0,m.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:(0,m.jsx)("path",{d:"M20 11.5a7.5 7.5 0 0 1-9.8 7.1L4 20l1.5-5.3A7.5 7.5 0 1 1 20 11.5Z"})})}),(0,m.jsxs)("div",{className:"editor-chat-panel editor-chat-panel--logged-out",style:{display:"flex",flexDirection:"column",height:"100%",padding:"20px",gap:"16px",boxSizing:"border-box"},children:[(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[(0,m.jsx)("span",{className:"label",style:{fontSize:"0.68rem",fontWeight:800,letterSpacing:"0.14em",textTransform:"uppercase",color:"#a9884a"},children:"Vidfarm copilot"}),(0,m.jsx)("h3",{style:{margin:0,fontSize:"1.05rem",color:"#2f3748"},children:"Chat with Vidfarm"}),(0,m.jsx)("p",{style:{margin:0,fontSize:"0.9rem",color:"#74829c"},children:"Ask for hooks, angles, and remixes tailored to compositions in your library."})]}),(0,m.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"8px",marginTop:"14px"},"aria-hidden":"true",children:["Give me 10 hooks for this coffee-shop template","Which awareness stage fits my product?","Remix this into an ad for my brand"].map(p=>(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px",padding:"10px 14px",borderRadius:"14px",border:"1px dashed rgba(191, 164, 109, 0.45)",background:"rgba(250, 245, 234, 0.65)",color:"#74829c",fontSize:"0.85rem",lineHeight:1.35},children:[(0,m.jsx)("span",{style:{color:"#bfa46d",fontWeight:700},children:"\u201C"}),p]},p))}),(0,m.jsxs)("div",{style:{marginTop:"auto",display:"flex",flexDirection:"column",gap:"10px"},children:[(0,m.jsx)("textarea",{rows:3,placeholder:"Log in to chat with Vidfarm\u2026",disabled:!0,"aria-label":"Chat with Vidfarm (log in to enable)",style:{width:"100%",resize:"none",padding:"10px 12px",borderRadius:"10px",border:"1px solid rgba(191, 164, 109, 0.36)",background:"rgba(250, 245, 234, 0.9)",color:"#74829c",fontFamily:"inherit",fontSize:"0.9rem",cursor:"not-allowed",boxSizing:"border-box"}}),(0,m.jsx)("a",{href:"/login",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",minHeight:"38px",padding:"0 16px",borderRadius:"999px",background:"#bfa46d",color:"#1a1409",fontWeight:700,fontSize:"0.9rem",textDecoration:"none"},children:"Log in to chat"})]})]})]})}):null,r?(0,m.jsx)(dO,{template:r,onClose:()=>n(null)}):null,o?(0,m.jsx)(pO,{onClose:()=>i(!1),onAddTemplate:e.onAddTemplate}):null]})}function wk(e){return sk(t=>({templates:e.templates,searchQuery:"",bookmarksOnly:!1,bookmarks:new Set,loading:e.templates.length===0,error:null,view:"feed",popularTemplates:[],popularLoading:!1,popularLoaded:!1,popularError:null,swipeStack:[],swipeLoading:!1,swipeLoaded:!1,swipeError:null,swipeCustomizing:0,swipeTargetDepth:5,swipeProductSet:!0,swipeRefilling:!1,setTemplates:r=>t({templates:r,loading:!1,error:null}),setSearchQuery:r=>t({searchQuery:r}),setBookmarksOnly:r=>t({bookmarksOnly:r}),setBookmarks:r=>t({bookmarks:new Set(r)}),toggleBookmark:r=>t(n=>{let o=new Set(n.bookmarks);return o.has(r)?o.delete(r):o.add(r),{bookmarks:o}}),setLoading:r=>t({loading:r}),setError:r=>t({error:r,loading:!1}),setView:r=>t({view:r}),setPopularTemplates:r=>t({popularTemplates:r,popularLoading:!1,popularLoaded:!0,popularError:null}),setPopularLoading:r=>t({popularLoading:r}),setPopularError:r=>t({popularError:r,popularLoading:!1}),setSwipeLoading:r=>t({swipeLoading:r}),setSwipeError:r=>t({swipeError:r,swipeLoading:!1}),setSwipeStack:(r,n)=>t({swipeStack:r,swipeLoading:!1,swipeLoaded:!0,swipeError:null,...n?.customizing!==void 0?{swipeCustomizing:n.customizing}:{},...n?.targetDepth!==void 0?{swipeTargetDepth:n.targetDepth}:{},...n?.productSet!==void 0?{swipeProductSet:n.productSet}:{}}),setSwipeMeta:r=>t({...r.customizing!==void 0?{swipeCustomizing:r.customizing}:{},...r.targetDepth!==void 0?{swipeTargetDepth:r.targetDepth}:{},...r.productSet!==void 0?{swipeProductSet:r.productSet}:{}}),appendSwipeCard:r=>t(n=>n.swipeStack.some(o=>o.id===r.id)?{}:{swipeStack:[...n.swipeStack,r]}),removeSwipeCard:r=>t(n=>({swipeStack:n.swipeStack.filter(o=>o.id!==r)})),setSwipeRefilling:r=>t({swipeRefilling:r})}))}var ei=vr(wl(),1);lk();var gO="vidfarm:discover-bookmarks:v1",hO="public";function SO(){let e=document.getElementById("homepage-boot");return e?.textContent?JSON.parse(e.textContent):{templates:[],account:{isLoggedIn:!1},loadEndpoint:"/discover/feed",skillEndpointPrefix:"/discover/skills/"}}function Ck(e){return`${gO}_${e?.trim()||hO}`}function vO(e){try{let t=window.localStorage.getItem(Ck(e));if(!t)return new Set;let r=JSON.parse(t);return Array.isArray(r)?new Set(r.filter(n=>typeof n=="string")):new Set}catch{return new Set}}function yO(e,t){try{window.localStorage.setItem(Ck(t),JSON.stringify(Array.from(e)))}catch{}}function _O(e){let t=e.searchQuery.trim().toLowerCase();return e.templates.filter(r=>{let n=!t||`${r.templateId} ${r.title} ${r.slugId} ${r.difficulty}`.toLowerCase().includes(t),o=!e.bookmarksOnly||e.bookmarks.has(r.templateId);return n&&o})}function Ik(e){return{id:String(e?.id??""),templateId:String(e?.template_id??""),forkId:e?.fork_id??null,sourceTitle:e?.source_title??null,title:String(e?.title??e?.source_title??"Untitled"),caption:String(e?.caption??""),pinnedComment:e?.pinned_comment??null,previewUrl:e?.preview_url??null,durationSeconds:typeof e?.duration_seconds=="number"?e.duration_seconds:null,status:String(e?.status??"ready")}}function EO({boot:e}){let t=(0,we.useMemo)(()=>wk(e),[e]),r=ze(t,b=>b.templates),n=ze(t,b=>b.searchQuery),o=ze(t,b=>b.bookmarksOnly),i=ze(t,b=>b.bookmarks),s=ze(t,b=>b.loading),a=ze(t,b=>b.error),l=ze(t,b=>b.view),c=ze(t,b=>b.popularTemplates),u=ze(t,b=>b.popularLoading),d=ze(t,b=>b.popularError),p=ze(t,b=>b.swipeStack),f=ze(t,b=>b.swipeLoading),h=ze(t,b=>b.swipeLoaded),y=ze(t,b=>b.swipeError),k=ze(t,b=>b.swipeCustomizing),g=ze(t,b=>b.swipeTargetDepth),S=ze(t,b=>b.swipeProductSet),v=ze(t,b=>b.swipeRefilling),E=(0,we.useRef)(!1),[C,R]=(0,we.useState)(!1),_=(0,we.useMemo)(()=>_O({templates:r,searchQuery:n,bookmarksOnly:o,bookmarks:i}),[r,n,o,i]);(0,we.useEffect)(()=>{t.getState().setBookmarks(vO(e.account.userId)),R(!0)},[e.account.userId,t]),(0,we.useEffect)(()=>{C&&yO(i,e.account.userId)},[e.account.userId,i,C]);let w=(0,we.useCallback)(async b=>{b?.showLoading&&t.getState().setLoading(!0);try{let x=await fetch(e.loadEndpoint,{credentials:"same-origin",cache:"no-store",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));if(!x.ok)throw new Error(typeof A.error=="string"&&A.error?A.error:"Unable to load formats.");t.getState().setTemplates(Array.isArray(A.templates)?A.templates:[])}catch(x){b?.showLoading?t.getState().setError(x instanceof Error?x.message:"Unable to load formats."):In("homepage.feed_refresh_failed",{message:x instanceof Error?x.message:String(x)})}},[e.loadEndpoint,t]);(0,we.useEffect)(()=>{e.templates.length>0||w({showLoading:!0})},[e.templates.length,w]);let z=r.some(b=>b.status==="processing");(0,we.useEffect)(()=>{if(!z)return;let b=window.setInterval(()=>{w()},8e3);return()=>window.clearInterval(b)},[z,w]);let I=(0,we.useCallback)(async b=>{b?.showLoading&&t.getState().setPopularLoading(!0);try{let x=await fetch("/discover/popular",{credentials:"same-origin",cache:"no-store",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));if(!x.ok)throw new Error(typeof A.error=="string"&&A.error?A.error:"Unable to load popular formats.");t.getState().setPopularTemplates(Array.isArray(A.templates)?A.templates:[])}catch(x){b?.showLoading?t.getState().setPopularError(x instanceof Error?x.message:"Unable to load popular formats."):In("homepage.popular_refresh_failed",{message:x instanceof Error?x.message:String(x)})}},[t]),D=ze(t,b=>b.popularLoaded);(0,we.useEffect)(()=>{l!=="popular"||D||I({showLoading:!0})},[l,D,I]);let W=l==="popular"&&c.some(b=>b.status==="processing");(0,we.useEffect)(()=>{if(!W)return;let b=window.setInterval(()=>{I()},8e3);return()=>window.clearInterval(b)},[W,I]);let K=(0,we.useCallback)(async b=>{b?.showLoading&&t.getState().setSwipeLoading(!0);try{let x=await fetch("/discover/swipe/stack",{credentials:"same-origin",cache:"no-store",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));if(!x.ok)throw new Error(typeof A.error=="string"&&A.error?A.error:"Unable to load your swipe deck.");let oe=Array.isArray(A.stack)?A.stack.map(Ik):[];t.getState().setSwipeStack(oe,{customizing:typeof A.customizing=="number"?A.customizing:0,targetDepth:typeof A.target_depth=="number"?A.target_depth:void 0,productSet:typeof A.product_description_set=="boolean"?A.product_description_set:void 0})}catch(x){b?.showLoading?t.getState().setSwipeError(x instanceof Error?x.message:"Unable to load your swipe deck."):In("homepage.swipe_refresh_failed",{message:x instanceof Error?x.message:String(x)})}},[t]),V=(0,we.useCallback)(async()=>{if(!E.current){E.current=!0,t.getState().setSwipeRefilling(!0);try{for(let b=0;b<8;b+=1){let x=await fetch("/discover/swipe/refill",{method:"POST",credentials:"same-origin",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));if(!x.ok){A?.need_product_description?t.getState().setSwipeMeta({productSet:!1}):t.getState().setSwipeError(typeof A.error=="string"&&A.error?A.error:"Customization failed.");break}if(A.filled&&A.record&&t.getState().appendSwipeCard(Ik(A.record)),!A.filled)break}}catch(b){In("homepage.swipe_refill_failed",{message:b instanceof Error?b.message:String(b)})}finally{E.current=!1,t.getState().setSwipeRefilling(!1),K()}}},[t,K]);(0,we.useEffect)(()=>{l!=="swipe"||h||(async()=>{await K({showLoading:!0});let b=t.getState();b.swipeProductSet&&b.swipeStack.length<b.swipeTargetDepth&&V()})()},[l,h,K,V,t]);let De=(0,we.useCallback)(async b=>{try{let x=await fetch(`/discover/swipe/${encodeURIComponent(b)}/approve`,{method:"POST",credentials:"same-origin",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));return x.ok?(t.getState().removeSwipeCard(b),V(),{ok:!0}):A&&A.superseded?(t.getState().removeSwipeCard(b),V(),{ok:!0}):{ok:!1,error:typeof A.error=="string"&&A.error?A.error:"Unable to approve."}}catch(x){return{ok:!1,error:x instanceof Error?x.message:"Unable to approve."}}},[t,V]),ue=(0,we.useCallback)(async b=>{try{let x=await fetch(`/discover/swipe/${encodeURIComponent(b)}/reject`,{method:"POST",credentials:"same-origin",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));return x.ok?(t.getState().removeSwipeCard(b),V(),{ok:!0}):A&&A.superseded?(t.getState().removeSwipeCard(b),V(),{ok:!0}):{ok:!1,error:typeof A.error=="string"&&A.error?A.error:"Unable to reject."}}catch(x){return{ok:!1,error:x instanceof Error?x.message:"Unable to reject."}}},[t,V]),fe=(0,we.useCallback)(async b=>{try{let x=await fetch(`/discover/templates/${encodeURIComponent(b)}`,{method:"DELETE",credentials:"same-origin",headers:{Accept:"application/json"}}),A=await x.json().catch(()=>({}));return x.ok?(kl("homepage.template_deleted",{template_id:b}),await w(),{ok:!0}):{ok:!1,error:typeof A.error=="string"&&A.error?A.error:"Unable to delete this template."}}catch(x){return{ok:!1,error:x instanceof Error?x.message:"Unable to delete this template."}}},[w]),L=(0,we.useCallback)(async b=>{try{let x=null;if(b.file){let J=b.file,ot=await fetch("/discover/templates/upload/presign",{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify({file_name:J.name,content_type:J.type||null,size_bytes:J.size})}),Ie=await ot.json().catch(()=>({}));if(!ot.ok)return{ok:!1,error:Ie.error||"Unable to start the video upload."};if(Ie.transport==="presigned"&&Ie.upload?.url&&Ie.storage_key){let it=await fetch(Ie.upload.url,{method:Ie.upload.method||"PUT",headers:Ie.upload.headers||{},body:J});if(!it.ok)return{ok:!1,error:`Video upload failed (${it.status}). Try again.`};x={storage_key:Ie.storage_key,file_name:Ie.file_name||J.name}}else{let it=new FormData;it.append("file",J,Ie.file_name||J.name);let Jt=await fetch(Ie.upload?.url||"/discover/templates/upload",{method:"POST",credentials:"same-origin",body:it}),Zt=await Jt.json().catch(()=>({}));if(!Jt.ok||!Zt.storage_key)return{ok:!1,error:Zt.error||"Video upload failed. Try again."};x={storage_key:Zt.storage_key,file_name:Zt.file_name||J.name}}}let A=await fetch("/discover/templates",{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",Accept:"application/json"},body:JSON.stringify(x?{upload:x,title:b.title||null,tagline:b.tagline||null,notes:b.notes||null}:{source_url:b.sourceUrl,tagline:b.tagline||null,notes:b.notes||null})}),oe=await A.json().catch(()=>({}));return A.ok?(kl("homepage.template_added",x?{storage_key:x.storage_key}:{source_url:b.sourceUrl}),await w(),{ok:!0}):{ok:!1,error:typeof oe.error=="string"&&oe.error?oe.error:"Unable to add that video."}}catch(x){return{ok:!1,error:x instanceof Error?x.message:"Unable to add that video."}}},[w]);return(0,ei.jsx)(kk,{account:e.account,templates:r,visibleTemplates:_,searchQuery:n,bookmarksOnly:o,bookmarks:i,loading:s,error:a,view:l,popularTemplates:c,popularLoading:u,popularError:d,swipeStack:p,swipeLoading:f,swipeLoaded:h,swipeError:y,swipeCustomizing:k,swipeTargetDepth:g,swipeProductSet:S,swipeRefilling:v,skillEndpointPrefix:e.skillEndpointPrefix,onSearchQueryChange:b=>t.getState().setSearchQuery(b),onBookmarksOnlyChange:b=>t.getState().setBookmarksOnly(b),onViewChange:b=>t.getState().setView(b),onToggleBookmark:b=>t.getState().toggleBookmark(b),onAddTemplate:L,onDeleteTemplate:fe,onSwipeApprove:De,onSwipeReject:ue})}var Ld=SO(),xk=document.getElementById("homepage-root");kl("homepage.boot",{is_logged_in:Ld.account?.isLoggedIn??!1,template_count:Ld.templates?.length??0,load_endpoint:Ld.loadEndpoint});xk?(0,Rk.hydrateRoot)(xk,(0,ei.jsx)(Aa,{fallback:(0,ei.jsx)(ei.Fragment,{}),onError:e=>In("homepage.render_error",{message:e instanceof Error?e.message:String(e)}),children:(0,ei.jsx)(EO,{boot:Ld})})):In("homepage.no_root_element",{});
32
32
  /*! Bundled license information:
33
33
 
34
34
  react/cjs/react.production.min.js: