@syntrologie/runtime-sdk 2.8.0-canary.211 → 2.8.0-canary.213
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.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/smart-canvas.esm.js +2 -2
- package/dist/smart-canvas.esm.js.map +1 -1
- package/dist/smart-canvas.js +2 -2
- package/dist/smart-canvas.js.map +1 -1
- package/dist/smart-canvas.min.js +2 -2
- package/dist/smart-canvas.min.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/schema/canvas-config.schema.json +996 -3388
package/dist/smart-canvas.esm.js
CHANGED
|
@@ -488,7 +488,7 @@ Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error
|
|
|
488
488
|
.runtimeRef=${this.runtimeRef}
|
|
489
489
|
></syntro-tile-stack>`:J}
|
|
490
490
|
</div>
|
|
491
|
-
`}};ll.properties={tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},runtimeRef:{attribute:!1}};customElements.define("syntro-inline-shell",ll);function cl(r,e,t="merge"){return t==="first-match"?YE(r,e):XE(r,e)}function YE(r,e){for(let t of e){let n=r.getFeatureValue?.(t,null);if(!n||typeof n!="object")continue;let i=n,s=i.tiles&&i.tiles.length>0,o=i.actions&&i.actions.length>0;if(s||o)return Bv([i])}return null}function XE(r,e){let t=[];for(let n of e){let i=r.getFeatureValue?.(n,null);if(!i||typeof i!="object")continue;let s=i,o=s.tiles&&s.tiles.length>0,a=s.actions&&s.actions.length>0;(o||a)&&t.push(s)}return t.length===0?null:Bv(t)}function Bv(r){let e=[],t=[],n,i,s,o,a,l,c,u;for(let p of r)p.tiles&&e.push(...p.tiles),p.actions&&t.push(...p.actions),n??(n=p.fetchedAt),i??(i=p.schemaVersion),s??(s=p.configVersion),o??(o=p.canvasTitle),a??(a=p.displayMode),l??(l=p.theme),c??(c=p.launcher),u??(u=p.meta);return{tiles:e,actions:t,fetchedAt:n??new Date().toISOString(),...i&&{schemaVersion:i},...s&&{configVersion:s},...o&&{canvasTitle:o},...a&&{displayMode:a},...l&&{theme:l},...c&&{launcher:c},...u&&{meta:u}}}var id=!1;function Vv(){if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).get("syntro_debug")==="true"}catch{return!1}}function sd(r){if(Vv()){id=!0;return}id=r??!1}function JE(){return Vv()?!0:id}function G(r,e,t){JE()&&(t!==void 0?console.log(`[${r}]`,e,t):console.log(`[${r}]`,e))}function dt(r,e,t){t!==void 0?console.warn(`[${r}]`,e,t):console.warn(`[${r}]`,e)}function ul(r,e,t){t!==void 0?console.error(`[${r}]`,e,t):console.error(`[${r}]`,e)}var dl=class{constructor(e){this.config=e;this.counters=new Map;this.histograms=new Map;this.windowStartMs=Date.now();this.timer=null;this.pagehideHandler=null;this.runtime=null;this.adapterCleanup=null;this.resource=e.resource,this.flushIntervalMs=e.flushIntervalMs??6e4}bindRuntime(e){this.runtime=e}attachAdapterCleanup(e){this.adapterCleanup=e}increment(e,t=1){this.counters.set(e,(this.counters.get(e)??0)+t)}snapshotCounters(){let e={};for(let[t,n]of this.counters)e[t]=n;return e}recordHistogram(e,t){let n=this.histograms.get(e)??[];n.push(t),this.histograms.set(e,n)}snapshotHistograms(){let e={};for(let[t,n]of this.histograms){if(n.length===0)continue;let i=[...n].sort((s,o)=>s-o);e[t]={count:i.length,p50:Uv(i,.5),p95:Uv(i,.95)}}return e}async flush(){let e=this.snapshotCounters(),t=this.snapshotHistograms();if(!(Object.keys(e).length>0||Object.keys(t).length>0))return;let i=null,s="";try{i=this.runtime?.getSurface()??null}catch{}try{s=this.runtime?.getSessionId()??""}catch{}let o={resource:{...this.resource,sessionId:s,surfaceType:i?.type??"unknown",surfaceHost:i?.host??"unknown",surfaceDevice:i?.device??"unknown",surfaceMode:i?.mode??"unknown"},windowSeconds:Math.max(1,Math.round((Date.now()-this.windowStartMs)/1e3)),windowStartUnixMs:this.windowStartMs,counters:e,histograms:t};this.counters.clear(),this.histograms.clear(),this.windowStartMs=Date.now();try{await this.config.emit(o)}catch{}}start(){this.timer===null&&(this.timer=setInterval(()=>{this.flush()},this.flushIntervalMs),typeof window<"u"&&(this.pagehideHandler=()=>{this.flush()},window.addEventListener("pagehide",this.pagehideHandler)))}stop(){if(this.timer!==null&&(clearInterval(this.timer),this.timer=null),this.pagehideHandler!==null&&typeof window<"u"&&(window.removeEventListener("pagehide",this.pagehideHandler),this.pagehideHandler=null),this.adapterCleanup!==null){try{this.adapterCleanup()}catch{}this.adapterCleanup=null}}};function Uv(r,e){if(r.length===0)return 0;let t=(r.length-1)*e,n=Math.floor(t),i=Math.ceil(t);return n===i?r[n]:r[n]+(r[i]-r[n])*(t-n)}var Js=null;function od(r){return Js?.stop(),Js=new dl(r),Js.start(),Js}function nr(){return Js}var Sr=(r,e)=>({key:r,value:{stringValue:e}}),ad=(r,e)=>({key:r,value:{intValue:Math.round(e)}}),jv=(r,e)=>({key:r,value:{doubleValue:e}});function QE(r){let{resource:e,counters:t,histograms:n,windowSeconds:i,windowStartUnixMs:s}=r,o=[Sr("service.name",e.serviceName),Sr("service.version",e.serviceVersion),Sr("syntro.posthog_key",e.posthogKey),Sr("syntro.session_id",e.sessionId),Sr("syntro.surface_type",e.surfaceType),Sr("syntro.surface_host",e.surfaceHost),Sr("syntro.surface_device",e.surfaceDevice),Sr("syntro.surface_mode",e.surfaceMode),Sr("syntro.host_origin",e.hostOrigin)],a=[ad("window_seconds",i)];for(let[u,p]of Object.entries(t))p!==void 0&&a.push(ad(u,p));for(let[u,p]of Object.entries(n))p!==void 0&&(a.push(ad(`${u}_count`,p.count)),a.push(jv(`${u}_p50`,p.p50)),a.push(jv(`${u}_p95`,p.p95)));let l=`${Date.now()}000000`,c=`${s}000000`;return{resourceLogs:[{resource:{attributes:o},scopeLogs:[{scope:{name:"syntro.sdk.health"},logRecords:[{timeUnixNano:c,observedTimeUnixNano:l,severityText:"INFO",body:{stringValue:"sdk_health_window"},attributes:a}]}]}]}}function ld(r){let e=r.fetchImpl??fetch;return async t=>{let n=JSON.stringify(QE(t)),i=()=>e(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0,mode:"cors"});try{let s=await i();if(!s.ok&&s.status>=500)try{await i()}catch{}}catch{try{await i()}catch{}}}}function eC(){if(typeof document>"u")return;let r=document.currentScript;if(r&&r.src)return r.src;try{let e=Array.from(document.scripts);for(let t=e.length-1;t>=0;t-=1){let n=e[t]?.src;if(typeof n=="string"&&(n.includes("runtime-sdk")||n.includes("smart-canvas")))return n}}catch{}}var cd=eC();function ud(){if(!cd)return;let r=cd.lastIndexOf("/");if(r!==-1)return cd.substring(0,r+1)}var Jv=-1,Ci=r=>{addEventListener("pageshow",(e=>{e.persisted&&(Jv=e.timeStamp,r(e))}),!0)},ir=(r,e,t,n)=>{let i,s;return o=>{e.value>=0&&(o||n)&&(s=e.value-(i??0),(s||i===void 0)&&(i=e.value,e.delta=s,e.rating=((a,l)=>a>l[1]?"poor":a>l[0]?"needs-improvement":"good")(e.value,t),r(e)))}},bd=r=>{requestAnimationFrame((()=>requestAnimationFrame((()=>r()))))},_d=()=>{let r=performance.getEntriesByType("navigation")[0];if(r&&r.responseStart>0&&r.responseStart<performance.now())return r},Qs=()=>_d()?.activationStart??0,sr=(r,e=-1)=>{let t=_d(),n="navigate";return Jv>=0?n="back-forward-cache":t&&(document.prerendering||Qs()>0?n="prerender":document.wasDiscarded?n="restore":t.type&&(n=t.type.replace(/_/g,"-"))),{name:r,value:e,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:n}},dd=new WeakMap;function xd(r,e){return dd.get(r)||dd.set(r,new e),dd.get(r)}var hd=class{constructor(){de(this,"t");de(this,"i",0);de(this,"o",[])}h(e){if(e.hadRecentInput)return;let t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}},eo=(r,e,t={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(r)){let n=new PerformanceObserver((i=>{Promise.resolve().then((()=>{e(i.getEntries())}))}));return n.observe({type:r,buffered:!0,...t}),n}}catch{}},wd=r=>{let e=!1;return()=>{e||(r(),e=!0)}},Ei=-1,Qv=new Set,Wv=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,fd=r=>{if(document.visibilityState==="hidden"){if(r.type==="visibilitychange")for(let e of Qv)e();isFinite(Ei)||(Ei=r.type==="visibilitychange"?r.timeStamp:0,removeEventListener("prerenderingchange",fd,!0))}},hl=()=>{if(Ei<0){let r=Qs();Ei=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").filter((t=>t.name==="hidden"&&t.startTime>r))[0]?.startTime)??Wv(),addEventListener("visibilitychange",fd,!0),addEventListener("prerenderingchange",fd,!0),Ci((()=>{setTimeout((()=>{Ei=Wv()}))}))}return{get firstHiddenTime(){return Ei},onHidden(r){Qv.add(r)}}},fl=r=>{document.prerendering?addEventListener("prerenderingchange",(()=>r()),!0):r()},zv=[1800,3e3],Sd=(r,e={})=>{fl((()=>{let t=hl(),n,i=sr("FCP"),s=eo("paint",(o=>{for(let a of o)a.name==="first-contentful-paint"&&(s.disconnect(),a.startTime<t.firstHiddenTime&&(i.value=Math.max(a.startTime-Qs(),0),i.entries.push(a),n(!0)))}));s&&(n=ir(r,i,zv,e.reportAllChanges),Ci((o=>{i=sr("FCP"),n=ir(r,i,zv,e.reportAllChanges),bd((()=>{i.value=performance.now()-o.timeStamp,n(!0)}))})))}))},qv=[.1,.25],ey=(r,e={})=>{let t=hl();Sd(wd((()=>{let n,i=sr("CLS",0),s=xd(e,hd),o=l=>{for(let c of l)s.h(c);s.i>i.value&&(i.value=s.i,i.entries=s.o,n())},a=eo("layout-shift",o);a&&(n=ir(r,i,qv,e.reportAllChanges),t.onHidden((()=>{o(a.takeRecords()),n(!0)})),Ci((()=>{s.i=0,i=sr("CLS",0),n=ir(r,i,qv,e.reportAllChanges),bd((()=>n()))})),setTimeout(n))})))},ty=0,pd=1/0,pl=0,tC=r=>{for(let e of r)e.interactionId&&(pd=Math.min(pd,e.interactionId),pl=Math.max(pl,e.interactionId),ty=pl?(pl-pd)/7+1:0)},gd,Zv=()=>gd?ty:performance.interactionCount??0,rC=()=>{"interactionCount"in performance||gd||(gd=eo("event",tC,{type:"event",buffered:!0,durationThreshold:0}))},Gv=0,md=class{constructor(){de(this,"u",[]);de(this,"l",new Map);de(this,"m");de(this,"p")}v(){Gv=Zv(),this.u.length=0,this.l.clear()}L(){let e=Math.min(this.u.length-1,Math.floor((Zv()-Gv)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&e.entryType!=="first-input")return;let t=this.u.at(-1),n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((i,s)=>s.P-i.P)),this.u.length>10){let i=this.u.splice(10);for(let s of i)this.l.delete(s.id)}this.p?.(n)}}},ry=r=>{let e=globalThis.requestIdleCallback||setTimeout;document.visibilityState==="hidden"?r():(r=wd(r),addEventListener("visibilitychange",r,{once:!0,capture:!0}),e((()=>{r(),removeEventListener("visibilitychange",r,{capture:!0})})))},Kv=[200,500],ny=(r,e={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let t=hl();fl((()=>{rC();let n,i=sr("INP"),s=xd(e,md),o=l=>{ry((()=>{for(let u of l)s.h(u);let c=s.L();c&&c.P!==i.value&&(i.value=c.P,i.entries=c.entries,n())}))},a=eo("event",o,{durationThreshold:e.durationThreshold??40});n=ir(r,i,Kv,e.reportAllChanges),a&&(a.observe({type:"first-input",buffered:!0}),t.onHidden((()=>{o(a.takeRecords()),n(!0)})),Ci((()=>{s.v(),i=sr("INP"),n=ir(r,i,Kv,e.reportAllChanges)})))}))},vd=class{constructor(){de(this,"m")}h(e){this.m?.(e)}},Yv=[2500,4e3],iy=(r,e={})=>{fl((()=>{let t=hl(),n,i=sr("LCP"),s=xd(e,vd),o=l=>{e.reportAllChanges||(l=l.slice(-1));for(let c of l)s.h(c),c.startTime<t.firstHiddenTime&&(i.value=Math.max(c.startTime-Qs(),0),i.entries=[c],n())},a=eo("largest-contentful-paint",o);if(a){n=ir(r,i,Yv,e.reportAllChanges);let l=wd((()=>{o(a.takeRecords()),a.disconnect(),n(!0)})),c=u=>{u.isTrusted&&(ry(l),removeEventListener(u.type,c,{capture:!0}))};for(let u of["keydown","click","visibilitychange"])addEventListener(u,c,{capture:!0});Ci((u=>{i=sr("LCP"),n=ir(r,i,Yv,e.reportAllChanges),bd((()=>{i.value=performance.now()-u.timeStamp,n(!0)}))}))}}))},Xv=[800,1800],yd=r=>{document.prerendering?fl((()=>yd(r))):document.readyState!=="complete"?addEventListener("load",(()=>yd(r)),!0):setTimeout(r)},sy=(r,e={})=>{let t=sr("TTFB"),n=ir(r,t,Xv,e.reportAllChanges);yd((()=>{let i=_d();i&&(t.value=Math.max(i.responseStart-Qs(),0),t.entries=[i],n(!0),Ci((()=>{t=sr("TTFB",0),n=ir(r,t,Xv,e.reportAllChanges),n(!0)})))}))};var oy="__syntro_vitals_bound",gl="__syntro_vitals_current_reporter";function kd(r,e){if(typeof window>"u")return()=>{};let t=window;t[gl]=r;let n=null,i=e?.attributedScriptUrlPrefix;if(i&&"PerformanceObserver"in window)try{n=new PerformanceObserver(s=>{let o=t[gl];if(o)for(let a of s.getEntries()){let l=a.attribution;if(!l)continue;l.some(u=>(u.containerSrc??u.name??"").startsWith(i))&&(o.increment("longtasks_self_count"),o.increment("longtasks_self_blocking_ms",Math.round(a.duration)))}}),n.observe({type:"longtask",buffered:!0})}catch{n=null}if(!t[oy]){t[oy]=!0;let s=o=>a=>{t[gl]?.recordHistogram(o,a.value)};iy(s("lcp_ms")),ny(s("inp_ms")),Sd(s("fcp_ms")),sy(s("ttfb_ms")),ey(o=>{t[gl]?.recordHistogram("cls_score",o.value)})}return()=>{n?.disconnect()}}var to="2.8.0-canary.211";var Kr="2.0";var nC=["api.syntrologie.com","cdn.syntrologie.com","localhost","127.0.0.1"];function iC(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] Config URI must use HTTPS:",r),!1):nC.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] Config URI host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid config URI:",r),!1}}function sC(r){if(typeof window>"u")return!1;try{return new URL(r).origin===window.location.origin}catch{return!1}}var ay="syntro_config_cache",oC=1440*60*1e3;function ly(){try{return typeof localStorage<"u"&&localStorage!==null}catch{return!1}}function aC(r,e){if(ly())try{let t={config:r,timestamp:Date.now(),sdkVersion:e};localStorage.setItem(ay,JSON.stringify(t))}catch{}}function lC(r){if(!ly())return null;try{let e=localStorage.getItem(ay);if(!e)return null;let t=JSON.parse(e);return!t.config||typeof t.timestamp!="number"||!t.sdkVersion||t.sdkVersion!==r||Date.now()-t.timestamp>oC?null:t.config}catch{return null}}var Ed=({configUri:r,experiments:e,featureKey:t})=>{if(r)return r;if(e&&t){let n=e.getFeatureValue?.(t,null);if(n)return n}};function cC(r,e,t){if(e){let n=r.getFeatureValue?.(e,null);if(n&&typeof n=="object"){let i=n.variant_flags;if(i&&i.length>0)return i}}if(r.getAllFeatures){let n=r.getAllFeatures();return t?Object.keys(n).filter(i=>i.startsWith(t)):Object.keys(n)}return[]}var Ai=({configUri:r,experiments:e,featureKey:t,credentials:n,configFeatureKey:i,manifestKey:s,variantFlagPrefix:o,sdkVersion:a})=>async()=>{if(e&&i){let h=e.getFeatureValue?.(i,null);if(h&&typeof h=="object")return G("SmartCanvas Config","Resolved config directly from feature flag",h),h}if(e&&(s||o||e.getAllFeatures)){let h=cC(e,s,o);if(console.log("[SmartCanvas Config] Variant key discovery:",h.length,"keys found"),h.length>0){let f=cl(e,h);if(console.log("[SmartCanvas Config] resolveVariantConfigs result:",f?`tiles=${f.tiles?.length}`:"null"),f)return G("SmartCanvas Config","Resolved config from variant flags",f),f}}else console.log("[SmartCanvas Config] Skipping multi-flag mode:",{hasExperiments:!!e,manifestKey:s,variantFlagPrefix:o,hasGetAllFeatures:!!e?.getAllFeatures});let l=Ed({configUri:r,experiments:e,featureKey:t});if(!l)return G("SmartCanvas Config","No config available \u2014 returning empty config"),{tiles:[],actions:[],fetchedAt:new Date().toISOString()};if(!iC(l))throw new Error(`SmartCanvas: config URI not allowed: ${l}`);let c=n??(sC(l)?"include":"omit"),u=performance.now(),p=!1;try{let h=await fetch(l,{credentials:c,headers:{"X-SDK-Version":to,"X-SDK-Schema-Version":Kr}});if(!h.ok)throw nr()?.increment("flag_fetch_errors"),p=!0,new Error(`SmartCanvas: failed to fetch config (${h.status})`);let f=await h.json(),v=performance.now()-u;return nr()?.increment("flag_fetch_count"),nr()?.recordHistogram("flag_fetch_latency_ms",v),G("SmartCanvas Config","Fetched config from URI",f),a&&aC(f,a),f}catch(h){if(p||nr()?.increment("flag_fetch_errors"),a){let f=lC(a);if(f)return G("SmartCanvas Config","Serving config from offline cache"),f}throw h}};var Cd=class{constructor(e){this.listeners=new Set;let t=e?.open??!1;if(e?.open===void 0)try{let n=sessionStorage?.getItem("syntro:editor:panel-open");n!==null&&(t=JSON.parse(n))}catch{}this.state={open:t}}getState(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOpen(e){if(this.state.open!==e){this.state={...this.state,open:e};try{sessionStorage?.setItem("syntro:editor:panel-open",JSON.stringify(e))}catch{}this.emit()}}toggle(){this.setOpen(!this.state.open)}emit(){for(let e of this.listeners)e(this.state)}},cy=r=>new Cd(r);var Wt={white:"#ffffff",black:"#000000"},se={0:"#2c0b0a",1:"#5b1715",2:"#89221f",3:"#b72e2a",4:"#d44844",5:"#dd6d69",6:"#e5918f",7:"#eeb6b4",8:"#f6dada",9:"#faebea"},k={0:"#07080a",1:"#0f1318",2:"#0e1114",3:"#1c222a",4:"#2b333f",5:"#394454",6:"#475569",7:"#677384",8:"#87919f",9:"#a8afba",10:"#cbd0d7",11:"#e8eaee",12:"#f6f7f9"},ke={0:"#07230a",1:"#0e4514",2:"#16681e",3:"#1d8a28",4:"#24ad32",5:"#4fbd5a",6:"#7acd82",7:"#a5deab",8:"#d0eed3",9:"#e5f6e7"},Qe={0:"#301f09",1:"#5f3e12",2:"#8f5e1b",3:"#be7d24",4:"#ee9c2d",5:"#f1b057",6:"#f5c481",7:"#f8d7ab",8:"#fcebd5",9:"#fdf5ea"},Pe={0:"#330707",1:"#660f0e",2:"#991616",3:"#cc1e1d",4:"#ff2524",5:"#ff5150",6:"#ff7c7c",7:"#ffa8a7",8:"#ffd3d3",9:"#ffe9e9"},or={0:"#051533",1:"#0a2a66",2:"#0f3f98",3:"#1454cb",4:"#1969fe",5:"#4787fe",6:"#75a5fe",7:"#a3c3ff",8:"#d1e1ff",9:"#e8f0ff"},ro={0:"#662500",1:"#993d00",2:"#cc5800",3:"#ff7700",4:"#fea85d",5:"#fec58f",6:"#ffd6ae",7:"#fee6cd",8:"#fff1e1",9:"#fff8f0"},no={0:"#151229",1:"#2a2452",2:"#40357c",3:"#5547a5",4:"#6a59ce",5:"#887ad8",6:"#a69be2",7:"#c3bdeb",8:"#e1def5",9:"#f0eefa"},io={0:"#37091f",1:"#69123c",2:"#9b1c58",3:"#cd2575",4:"#ff2e92",5:"#ff58a8",6:"#ff82be",7:"#ffabd3",8:"#ffd5e9",9:"#ffeaf4"};var xt={primary:k[10],secondary:k[9],tertiary:k[8]},GO={primary:k[2],secondary:k[0]},Ad={primary:k[4],secondary:k[3]},ml={primary:{text:Wt.white,icon:Wt.white,border:se[3],backgroundDefault:se[3],backgroundHover:se[2]},neutral:{text:k[10],textHover:Wt.white,icon:k[10],iconHover:Wt.white,border:k[4],background:k[2]},link:{text:Wt.white,icon:Wt.white,hover:se[5]},error:{text:Pe[5],hover:Pe[6]},success:{text:ke[5],hover:ke[6]}},KO={slateGrey:{content:k[10],pillOutline:k[10],borderPrimary:k[5],borderSecondary:k[5],background:k[3]},brand:{content:se[9],pillOutline:se[9],borderPrimary:se[6],borderSecondary:se[6],background:se[0]},red:{content:Pe[8],pillOutline:Pe[4],borderPrimary:Pe[2],borderSecondary:Pe[2],background:Pe[0]},yellow:{content:Qe[8],pillOutline:Qe[4],borderPrimary:Qe[2],borderSecondary:Qe[2],background:Qe[0]},green:{content:ke[8],pillOutline:ke[4],borderPrimary:ke[2],borderSecondary:ke[2],background:ke[0]},purple:{content:no[8],pillOutline:no[4],borderPrimary:no[2],borderSecondary:no[2],background:no[0]},blue:{content:or[8],pillOutline:or[4],borderPrimary:or[2],borderSecondary:or[2],background:or[0]},orange:{content:ro[8],pillOutline:ro[4],borderPrimary:ro[2],borderSecondary:ro[2],background:ro[0]},pink:{content:io[8],pillOutline:io[4],borderPrimary:io[2],borderSecondary:io[2],background:io[0]}},YO={green:{content:ke[8],border:ke[2],background:ke[0]},yellow:{content:Qe[8],border:Qe[2],background:Qe[0]},red:{content:Pe[8],border:Pe[2],background:Pe[0]}},XO={green:{content:ke[1],background:ke[9]},yellow:{content:Qe[1],background:Qe[9]},red:{content:Pe[1],background:Pe[9]}},JO={content:k[10],border:k[4],background:k[3]},QO={backgroundDefault:k[2],backgroundHover:k[1],selected:k[3]},e4={background:k[2],icon:k[10],borderDefault:k[4],borderSelected:se[3],textLabel:k[9],textPlaceholder:k[8],textHint:k[8]},t4={backgroundDefault:k[2],backgroundDisabled:k[0],textLabel:k[9],textPlaceholder:k[8],textHint:k[8],textError:Pe[5],iconDefault:k[9],iconPlaceholder:k[10],iconError:Pe[5],borderDefault:k[4],borderSelected:se[3],borderError:Pe[5]},r4={handleDefault:Wt.white,handleDisabled:k[10],off:{backgroundDefault:k[4],backgroundHover:k[5],backgroundDisabled:k[4]},on:{backgroundDefault:ke[3],backgroundHover:ke[2],backgroundDisabled:k[4]}},n4={off:{backgroundDefault:"#00000000",backgroundHover:k[5],backgroundDisabled:k[2],border:k[6]},on:{backgroundDefault:ke[0],backgroundHover:ke[1],backgroundDisabled:k[2],border:ke[3]}},i4={content:k[10],background:k[4]},s4={background:k[4],active:ke[3]},o4={background:k[1],content:k[9],border:k[4]},a4={backgroundDefault:k[1],backgroundHover:k[3],backgroundActive:k[4],border:k[4],contentPrimary:k[10],contentSecondary:k[9],contentTertiary:k[8]},l4={background:k[1],content:k[9],border:k[4]},c4={activeBackground:k[3],activeContent:se[5],inactiveContent:k[9],border:k[4]},u4={header:{textDefault:k[9],textHover:k[8],backgroundDefault:k[1]},border:k[4],cell:{textPrimary:k[10],textSecondary:k[9],backgroundDefault:k[2],backgroundHover:k[1]}},d4={textPrimaryDefault:k[10],textPrimaryHover:k[10],textSecondaryDefault:k[8],textSecondaryHover:k[9],iconPrimary:k[10],iconSecondary:k[8]},p4={background:ke[1],active:ke[5]},h4={textDefault:k[10],textSelected:Wt.white,textDisabled:k[7],backgroundDefault:k[2],backgroundMiddle:k[3],backgroundSelected:se[3],border:k[4]},f4=k[9];var y4={size:56,inset:12,background:Wt.black,color:Wt.white,border:`2px solid ${se[3]}`,shadowOpen:"0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)",shadowClosed:"0 4px 24px rgba(0,0,0,0.6)"};function ae(r,e){return`${r}${Math.round(e*255).toString(16).padStart(2,"0")}`}var $4={colorPrimary:se[3],colorPrimaryHover:se[4],colorPrimaryMuted:se[0],colorBackground:ae(k[1],.95),colorBackgroundElevated:ae(k[3],.95),colorBackgroundSubtle:ae(k[0],.2),colorSurface:ae(k[4],.8),colorSurfaceHover:ae(k[5],.8),colorText:xt.primary,colorTextSecondary:xt.secondary,colorTextMuted:xt.tertiary,colorTextInverse:k[1],colorBorder:Ad.primary,colorBorderSubtle:Ad.secondary,colorSuccess:ke[4],colorSuccessMuted:ke[0],colorWarning:Qe[4],colorWarningMuted:Qe[0],colorError:Pe[4],colorErrorMuted:Pe[0],colorInfo:or[4],colorInfoMuted:or[0],colorNotification:se[4],colorNotificationMuted:ae(se[4],.4),glassBackground:ae(k[1],.6),glassBackgroundHover:ae(k[1],.7),glassBorder:"rgba(255, 255, 255, 0.08)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.2)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.3)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.4)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.5)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"},M4={colorPrimary:se[3],colorPrimaryHover:se[2],colorPrimaryMuted:ae(se[5],.1),colorBackground:ae(k[12],.95),colorBackgroundElevated:ae(k[11],.95),colorBackgroundSubtle:ae(k[0],.02),colorSurface:ae(k[11],.6),colorSurfaceHover:ae(k[10],.6),colorText:k[1],colorTextSecondary:k[6],colorTextMuted:k[8],colorTextInverse:k[12],colorBorder:ae(k[0],.12),colorBorderSubtle:ae(k[0],.06),colorSuccess:ke[4],colorSuccessMuted:ae(ke[4],.12),colorWarning:Qe[4],colorWarningMuted:ae(Qe[4],.12),colorError:Pe[4],colorErrorMuted:ae(Pe[4],.12),colorInfo:or[4],colorInfoMuted:ae(or[4],.12),colorNotification:se[3],colorNotificationMuted:ae(se[3],.4),glassBackground:ae(k[12],.7),glassBackgroundHover:ae(k[12],.8),glassBorder:"rgba(0, 0, 0, 0.06)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.08)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.12)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.16)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.2)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"};function uC(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var uy={mode:"dark",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:se[3],colorPrimaryHover:se[4],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:ae(k[1],.6),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",backdrop:!1,backdropColor:"rgba(0, 0, 0, 0.4)",padding:"0"},launcher:{background:ml.primary.backgroundDefault,backgroundHover:ml.primary.backgroundHover,color:ml.primary.icon,size:"56px",shadow:`0 8px 32px ${ae(k[0],.6)}`,borderRadius:"9999px"},tile:{background:ae(k[1],.6),backgroundHover:ae(k[1],.7),border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.3)",titleColor:xt.primary,textColor:xt.secondary,iconBackground:`linear-gradient(135deg, ${se[3]} 0%, ${se[3]}cc 100%)`,iconShadow:`0 2px 8px ${se[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:ae(k[1],.6),textColor:xt.primary,titleColor:xt.primary,arrowColor:ae(k[1],.6),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${se[3]}`},notification:{background:ae(k[0],.95),textColor:xt.primary,textSecondaryColor:xt.secondary,border:`1px solid ${k[5]}`,borderRadius:"12px",successColor:ke[4],warningColor:Qe[4],errorColor:Pe[4],iconBackground:ae(se[3],.15),progressGradient:`linear-gradient(90deg, ${se[3]}, ${se[4]})`},content:{background:ae(k[3],.8),backgroundHover:ae(k[5],.6),border:`1px solid ${ae(k[5],.5)}`,borderRadius:"8px",textColor:xt.primary,textSecondaryColor:xt.secondary,itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:ae(k[3],.8),searchColor:xt.primary,chevronColor:"currentColor"},mobile:{canvas:{backdrop:!0}}},dy={mode:"light",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:se[3],colorPrimaryHover:se[2],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:ae(k[12],.7),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",backdrop:!1,backdropColor:"rgba(0, 0, 0, 0.3)",padding:"0"},launcher:{background:se[3],backgroundHover:se[2],color:"#ffffff",size:"56px",shadow:"0 8px 32px rgba(0, 0, 0, 0.15)",borderRadius:"9999px"},tile:{background:ae(k[12],.7),backgroundHover:ae(k[12],.8),border:"1px solid rgba(0, 0, 0, 0.06)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.12)",titleColor:k[1],textColor:k[6],iconBackground:`linear-gradient(135deg, ${se[3]} 0%, ${se[3]}cc 100%)`,iconShadow:`0 2px 8px ${se[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:ae(k[12],.7),textColor:k[1],titleColor:k[1],arrowColor:ae(k[12],.7),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${se[3]}`},notification:{background:ae(k[12],.95),textColor:k[1],textSecondaryColor:k[6],border:`1px solid ${ae(k[0],.12)}`,borderRadius:"12px",successColor:ke[4],warningColor:Qe[4],errorColor:Pe[4],iconBackground:ae(se[3],.1),progressGradient:`linear-gradient(90deg, ${se[3]}, ${se[2]})`},content:{background:ae(k[12],.8),backgroundHover:ae(k[11],.6),border:`1px solid ${k[11]}`,borderRadius:"8px",textColor:k[1],textSecondaryColor:k[6],itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:k[12],searchColor:k[1],chevronColor:"currentColor"},mobile:{canvas:{backdrop:!0}}};function py(r){let e=r.mode==="light"?dy:uy;return{mode:r.mode??e.mode,fontFamily:r.fontFamily??e.fontFamily,colorPrimary:r.colorPrimary??e.colorPrimary,colorPrimaryHover:r.colorPrimaryHover??e.colorPrimaryHover,borderRadius:r.borderRadius??e.borderRadius,canvas:{...e.canvas,...r.canvas},launcher:{...e.launcher,...r.launcher},tile:{...e.tile,...r.tile},overlay:{...e.overlay,...r.overlay},notification:{...e.notification,...r.notification},content:{...e.content,...r.content},mobile:{canvas:{...e.mobile.canvas,...r.mobile?.canvas}}}}function hy(r,e){let t=e.mode??r.mode??"dark",n=t==="light"?dy:uy;return{mode:t,fontFamily:e.fontFamily??r.fontFamily??n.fontFamily,colorPrimary:e.colorPrimary??r.colorPrimary??n.colorPrimary,colorPrimaryHover:e.colorPrimaryHover??r.colorPrimaryHover??n.colorPrimaryHover,borderRadius:e.borderRadius??r.borderRadius??n.borderRadius,canvas:{...n.canvas,...r.canvas,...e.canvas},launcher:{...n.launcher,...r.launcher,...e.launcher},tile:{...n.tile,...r.tile,...e.tile},overlay:{...n.overlay,...r.overlay,...e.overlay},notification:{...n.notification,...r.notification,...e.notification},content:{...n.content,...r.content,...e.content},mobile:{canvas:{...n.mobile.canvas,...r.mobile?.canvas,...e.mobile?.canvas}}}}var dC=["canvas","launcher","tile","overlay","notification","content"];function fy(r){let e={};r.fontFamily&&(e["--sc-font-family"]=r.fontFamily),r.colorPrimary&&(e["--sc-color-primary"]=r.colorPrimary),r.colorPrimaryHover&&(e["--sc-color-primary-hover"]=r.colorPrimaryHover),r.borderRadius&&(e["--sc-border-radius"]=r.borderRadius);for(let t of dC){let n=r[t];if(n)for(let[i,s]of Object.entries(n))s!==void 0&&typeof s=="string"&&(e[`--sc-${t}-${uC(i)}`]=s)}return e}var Yr,zn,qn,kr,Er,Td,vl,so=class{constructor(e,t,n){ve(this,Er);ve(this,Yr);ve(this,zn);ve(this,qn);ve(this,kr);oe(this,Yr,e),oe(this,zn,t??{}),oe(this,qn,n),oe(this,kr,_e(this,Er,Td).call(this)),e.addController(this)}get config(){return Z(this,kr).config}get mode(){return Z(this,kr).mode}get cssVariables(){return Z(this,kr).cssVariables}hostConnected(){_e(this,Er,vl).call(this)}hostDisconnected(){}hostUpdated(){_e(this,Er,vl).call(this)}setThemeConfig(e,t){oe(this,zn,e),oe(this,qn,t),oe(this,kr,_e(this,Er,Td).call(this)),_e(this,Er,vl).call(this),Z(this,Yr).requestUpdate()}};Yr=new WeakMap,zn=new WeakMap,qn=new WeakMap,kr=new WeakMap,Er=new WeakSet,Td=function(){let e=Z(this,qn)?hy(Z(this,qn),Z(this,zn)):py(Z(this,zn)),t=fy(e);return{config:e,mode:e.mode,cssVariables:t}},vl=function(){let e=Z(this,Yr).shadowRoot??("renderRoot"in Z(this,Yr)?Z(this,Yr).renderRoot:null);if(!e||!(e instanceof ShadowRoot))return;let t=e.querySelector("#sc-theme-vars");t||(t=document.createElement("style"),t.id="sc-theme-vars",e.insertBefore(t,e.firstChild));let n=Object.entries(Z(this,kr).cssVariables).map(([i,s])=>` ${i}: ${s};`).join(`
|
|
491
|
+
`}};ll.properties={tiles:{attribute:!1},isLoading:{type:Boolean},error:{type:String},runtimeRef:{attribute:!1}};customElements.define("syntro-inline-shell",ll);function cl(r,e,t="merge"){return t==="first-match"?YE(r,e):XE(r,e)}function YE(r,e){for(let t of e){let n=r.getFeatureValue?.(t,null);if(!n||typeof n!="object")continue;let i=n,s=i.tiles&&i.tiles.length>0,o=i.actions&&i.actions.length>0;if(s||o)return Bv([i])}return null}function XE(r,e){let t=[];for(let n of e){let i=r.getFeatureValue?.(n,null);if(!i||typeof i!="object")continue;let s=i,o=s.tiles&&s.tiles.length>0,a=s.actions&&s.actions.length>0;(o||a)&&t.push(s)}return t.length===0?null:Bv(t)}function Bv(r){let e=[],t=[],n,i,s,o,a,l,c,u;for(let p of r)p.tiles&&e.push(...p.tiles),p.actions&&t.push(...p.actions),n??(n=p.fetchedAt),i??(i=p.schemaVersion),s??(s=p.configVersion),o??(o=p.canvasTitle),a??(a=p.displayMode),l??(l=p.theme),c??(c=p.launcher),u??(u=p.meta);return{tiles:e,actions:t,fetchedAt:n??new Date().toISOString(),...i&&{schemaVersion:i},...s&&{configVersion:s},...o&&{canvasTitle:o},...a&&{displayMode:a},...l&&{theme:l},...c&&{launcher:c},...u&&{meta:u}}}var id=!1;function Vv(){if(typeof window>"u")return!1;try{return new URLSearchParams(window.location.search).get("syntro_debug")==="true"}catch{return!1}}function sd(r){if(Vv()){id=!0;return}id=r??!1}function JE(){return Vv()?!0:id}function G(r,e,t){JE()&&(t!==void 0?console.log(`[${r}]`,e,t):console.log(`[${r}]`,e))}function dt(r,e,t){t!==void 0?console.warn(`[${r}]`,e,t):console.warn(`[${r}]`,e)}function ul(r,e,t){t!==void 0?console.error(`[${r}]`,e,t):console.error(`[${r}]`,e)}var dl=class{constructor(e){this.config=e;this.counters=new Map;this.histograms=new Map;this.windowStartMs=Date.now();this.timer=null;this.pagehideHandler=null;this.runtime=null;this.adapterCleanup=null;this.resource=e.resource,this.flushIntervalMs=e.flushIntervalMs??6e4}bindRuntime(e){this.runtime=e}attachAdapterCleanup(e){this.adapterCleanup=e}increment(e,t=1){this.counters.set(e,(this.counters.get(e)??0)+t)}snapshotCounters(){let e={};for(let[t,n]of this.counters)e[t]=n;return e}recordHistogram(e,t){let n=this.histograms.get(e)??[];n.push(t),this.histograms.set(e,n)}snapshotHistograms(){let e={};for(let[t,n]of this.histograms){if(n.length===0)continue;let i=[...n].sort((s,o)=>s-o);e[t]={count:i.length,p50:Uv(i,.5),p95:Uv(i,.95)}}return e}async flush(){let e=this.snapshotCounters(),t=this.snapshotHistograms();if(!(Object.keys(e).length>0||Object.keys(t).length>0))return;let i=null,s="";try{i=this.runtime?.getSurface()??null}catch{}try{s=this.runtime?.getSessionId()??""}catch{}let o={resource:{...this.resource,sessionId:s,surfaceType:i?.type??"unknown",surfaceHost:i?.host??"unknown",surfaceDevice:i?.device??"unknown",surfaceMode:i?.mode??"unknown"},windowSeconds:Math.max(1,Math.round((Date.now()-this.windowStartMs)/1e3)),windowStartUnixMs:this.windowStartMs,counters:e,histograms:t};this.counters.clear(),this.histograms.clear(),this.windowStartMs=Date.now();try{await this.config.emit(o)}catch{}}start(){this.timer===null&&(this.timer=setInterval(()=>{this.flush()},this.flushIntervalMs),typeof window<"u"&&(this.pagehideHandler=()=>{this.flush()},window.addEventListener("pagehide",this.pagehideHandler)))}stop(){if(this.timer!==null&&(clearInterval(this.timer),this.timer=null),this.pagehideHandler!==null&&typeof window<"u"&&(window.removeEventListener("pagehide",this.pagehideHandler),this.pagehideHandler=null),this.adapterCleanup!==null){try{this.adapterCleanup()}catch{}this.adapterCleanup=null}}};function Uv(r,e){if(r.length===0)return 0;let t=(r.length-1)*e,n=Math.floor(t),i=Math.ceil(t);return n===i?r[n]:r[n]+(r[i]-r[n])*(t-n)}var Js=null;function od(r){return Js?.stop(),Js=new dl(r),Js.start(),Js}function nr(){return Js}var Sr=(r,e)=>({key:r,value:{stringValue:e}}),ad=(r,e)=>({key:r,value:{intValue:Math.round(e)}}),jv=(r,e)=>({key:r,value:{doubleValue:e}});function QE(r){let{resource:e,counters:t,histograms:n,windowSeconds:i,windowStartUnixMs:s}=r,o=[Sr("service.name",e.serviceName),Sr("service.version",e.serviceVersion),Sr("syntro.posthog_key",e.posthogKey),Sr("syntro.session_id",e.sessionId),Sr("syntro.surface_type",e.surfaceType),Sr("syntro.surface_host",e.surfaceHost),Sr("syntro.surface_device",e.surfaceDevice),Sr("syntro.surface_mode",e.surfaceMode),Sr("syntro.host_origin",e.hostOrigin)],a=[ad("window_seconds",i)];for(let[u,p]of Object.entries(t))p!==void 0&&a.push(ad(u,p));for(let[u,p]of Object.entries(n))p!==void 0&&(a.push(ad(`${u}_count`,p.count)),a.push(jv(`${u}_p50`,p.p50)),a.push(jv(`${u}_p95`,p.p95)));let l=`${Date.now()}000000`,c=`${s}000000`;return{resourceLogs:[{resource:{attributes:o},scopeLogs:[{scope:{name:"syntro.sdk.health"},logRecords:[{timeUnixNano:c,observedTimeUnixNano:l,severityText:"INFO",body:{stringValue:"sdk_health_window"},attributes:a}]}]}]}}function ld(r){let e=r.fetchImpl??fetch;return async t=>{let n=JSON.stringify(QE(t)),i=()=>e(r.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0,mode:"cors"});try{let s=await i();if(!s.ok&&s.status>=500)try{await i()}catch{}}catch{try{await i()}catch{}}}}function eC(){if(typeof document>"u")return;let r=document.currentScript;if(r&&r.src)return r.src;try{let e=Array.from(document.scripts);for(let t=e.length-1;t>=0;t-=1){let n=e[t]?.src;if(typeof n=="string"&&(n.includes("runtime-sdk")||n.includes("smart-canvas")))return n}}catch{}}var cd=eC();function ud(){if(!cd)return;let r=cd.lastIndexOf("/");if(r!==-1)return cd.substring(0,r+1)}var Jv=-1,Ci=r=>{addEventListener("pageshow",(e=>{e.persisted&&(Jv=e.timeStamp,r(e))}),!0)},ir=(r,e,t,n)=>{let i,s;return o=>{e.value>=0&&(o||n)&&(s=e.value-(i??0),(s||i===void 0)&&(i=e.value,e.delta=s,e.rating=((a,l)=>a>l[1]?"poor":a>l[0]?"needs-improvement":"good")(e.value,t),r(e)))}},bd=r=>{requestAnimationFrame((()=>requestAnimationFrame((()=>r()))))},_d=()=>{let r=performance.getEntriesByType("navigation")[0];if(r&&r.responseStart>0&&r.responseStart<performance.now())return r},Qs=()=>_d()?.activationStart??0,sr=(r,e=-1)=>{let t=_d(),n="navigate";return Jv>=0?n="back-forward-cache":t&&(document.prerendering||Qs()>0?n="prerender":document.wasDiscarded?n="restore":t.type&&(n=t.type.replace(/_/g,"-"))),{name:r,value:e,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:n}},dd=new WeakMap;function xd(r,e){return dd.get(r)||dd.set(r,new e),dd.get(r)}var hd=class{constructor(){de(this,"t");de(this,"i",0);de(this,"o",[])}h(e){if(e.hadRecentInput)return;let t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}},eo=(r,e,t={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(r)){let n=new PerformanceObserver((i=>{Promise.resolve().then((()=>{e(i.getEntries())}))}));return n.observe({type:r,buffered:!0,...t}),n}}catch{}},wd=r=>{let e=!1;return()=>{e||(r(),e=!0)}},Ei=-1,Qv=new Set,Wv=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,fd=r=>{if(document.visibilityState==="hidden"){if(r.type==="visibilitychange")for(let e of Qv)e();isFinite(Ei)||(Ei=r.type==="visibilitychange"?r.timeStamp:0,removeEventListener("prerenderingchange",fd,!0))}},hl=()=>{if(Ei<0){let r=Qs();Ei=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").filter((t=>t.name==="hidden"&&t.startTime>r))[0]?.startTime)??Wv(),addEventListener("visibilitychange",fd,!0),addEventListener("prerenderingchange",fd,!0),Ci((()=>{setTimeout((()=>{Ei=Wv()}))}))}return{get firstHiddenTime(){return Ei},onHidden(r){Qv.add(r)}}},fl=r=>{document.prerendering?addEventListener("prerenderingchange",(()=>r()),!0):r()},zv=[1800,3e3],Sd=(r,e={})=>{fl((()=>{let t=hl(),n,i=sr("FCP"),s=eo("paint",(o=>{for(let a of o)a.name==="first-contentful-paint"&&(s.disconnect(),a.startTime<t.firstHiddenTime&&(i.value=Math.max(a.startTime-Qs(),0),i.entries.push(a),n(!0)))}));s&&(n=ir(r,i,zv,e.reportAllChanges),Ci((o=>{i=sr("FCP"),n=ir(r,i,zv,e.reportAllChanges),bd((()=>{i.value=performance.now()-o.timeStamp,n(!0)}))})))}))},qv=[.1,.25],ey=(r,e={})=>{let t=hl();Sd(wd((()=>{let n,i=sr("CLS",0),s=xd(e,hd),o=l=>{for(let c of l)s.h(c);s.i>i.value&&(i.value=s.i,i.entries=s.o,n())},a=eo("layout-shift",o);a&&(n=ir(r,i,qv,e.reportAllChanges),t.onHidden((()=>{o(a.takeRecords()),n(!0)})),Ci((()=>{s.i=0,i=sr("CLS",0),n=ir(r,i,qv,e.reportAllChanges),bd((()=>n()))})),setTimeout(n))})))},ty=0,pd=1/0,pl=0,tC=r=>{for(let e of r)e.interactionId&&(pd=Math.min(pd,e.interactionId),pl=Math.max(pl,e.interactionId),ty=pl?(pl-pd)/7+1:0)},gd,Zv=()=>gd?ty:performance.interactionCount??0,rC=()=>{"interactionCount"in performance||gd||(gd=eo("event",tC,{type:"event",buffered:!0,durationThreshold:0}))},Gv=0,md=class{constructor(){de(this,"u",[]);de(this,"l",new Map);de(this,"m");de(this,"p")}v(){Gv=Zv(),this.u.length=0,this.l.clear()}L(){let e=Math.min(this.u.length-1,Math.floor((Zv()-Gv)/50));return this.u[e]}h(e){if(this.m?.(e),!e.interactionId&&e.entryType!=="first-input")return;let t=this.u.at(-1),n=this.l.get(e.interactionId);if(n||this.u.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.l.set(n.id,n),this.u.push(n)),this.u.sort(((i,s)=>s.P-i.P)),this.u.length>10){let i=this.u.splice(10);for(let s of i)this.l.delete(s.id)}this.p?.(n)}}},ry=r=>{let e=globalThis.requestIdleCallback||setTimeout;document.visibilityState==="hidden"?r():(r=wd(r),addEventListener("visibilitychange",r,{once:!0,capture:!0}),e((()=>{r(),removeEventListener("visibilitychange",r,{capture:!0})})))},Kv=[200,500],ny=(r,e={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let t=hl();fl((()=>{rC();let n,i=sr("INP"),s=xd(e,md),o=l=>{ry((()=>{for(let u of l)s.h(u);let c=s.L();c&&c.P!==i.value&&(i.value=c.P,i.entries=c.entries,n())}))},a=eo("event",o,{durationThreshold:e.durationThreshold??40});n=ir(r,i,Kv,e.reportAllChanges),a&&(a.observe({type:"first-input",buffered:!0}),t.onHidden((()=>{o(a.takeRecords()),n(!0)})),Ci((()=>{s.v(),i=sr("INP"),n=ir(r,i,Kv,e.reportAllChanges)})))}))},vd=class{constructor(){de(this,"m")}h(e){this.m?.(e)}},Yv=[2500,4e3],iy=(r,e={})=>{fl((()=>{let t=hl(),n,i=sr("LCP"),s=xd(e,vd),o=l=>{e.reportAllChanges||(l=l.slice(-1));for(let c of l)s.h(c),c.startTime<t.firstHiddenTime&&(i.value=Math.max(c.startTime-Qs(),0),i.entries=[c],n())},a=eo("largest-contentful-paint",o);if(a){n=ir(r,i,Yv,e.reportAllChanges);let l=wd((()=>{o(a.takeRecords()),a.disconnect(),n(!0)})),c=u=>{u.isTrusted&&(ry(l),removeEventListener(u.type,c,{capture:!0}))};for(let u of["keydown","click","visibilitychange"])addEventListener(u,c,{capture:!0});Ci((u=>{i=sr("LCP"),n=ir(r,i,Yv,e.reportAllChanges),bd((()=>{i.value=performance.now()-u.timeStamp,n(!0)}))}))}}))},Xv=[800,1800],yd=r=>{document.prerendering?fl((()=>yd(r))):document.readyState!=="complete"?addEventListener("load",(()=>yd(r)),!0):setTimeout(r)},sy=(r,e={})=>{let t=sr("TTFB"),n=ir(r,t,Xv,e.reportAllChanges);yd((()=>{let i=_d();i&&(t.value=Math.max(i.responseStart-Qs(),0),t.entries=[i],n(!0),Ci((()=>{t=sr("TTFB",0),n=ir(r,t,Xv,e.reportAllChanges),n(!0)})))}))};var oy="__syntro_vitals_bound",gl="__syntro_vitals_current_reporter";function kd(r,e){if(typeof window>"u")return()=>{};let t=window;t[gl]=r;let n=null,i=e?.attributedScriptUrlPrefix;if(i&&"PerformanceObserver"in window)try{n=new PerformanceObserver(s=>{let o=t[gl];if(o)for(let a of s.getEntries()){let l=a.attribution;if(!l)continue;l.some(u=>(u.containerSrc??u.name??"").startsWith(i))&&(o.increment("longtasks_self_count"),o.increment("longtasks_self_blocking_ms",Math.round(a.duration)))}}),n.observe({type:"longtask",buffered:!0})}catch{n=null}if(!t[oy]){t[oy]=!0;let s=o=>a=>{t[gl]?.recordHistogram(o,a.value)};iy(s("lcp_ms")),ny(s("inp_ms")),Sd(s("fcp_ms")),sy(s("ttfb_ms")),ey(o=>{t[gl]?.recordHistogram("cls_score",o.value)})}return()=>{n?.disconnect()}}var to="2.8.0-canary.213";var Kr="2.0";var nC=["api.syntrologie.com","cdn.syntrologie.com","localhost","127.0.0.1"];function iC(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] Config URI must use HTTPS:",r),!1):nC.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] Config URI host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid config URI:",r),!1}}function sC(r){if(typeof window>"u")return!1;try{return new URL(r).origin===window.location.origin}catch{return!1}}var ay="syntro_config_cache",oC=1440*60*1e3;function ly(){try{return typeof localStorage<"u"&&localStorage!==null}catch{return!1}}function aC(r,e){if(ly())try{let t={config:r,timestamp:Date.now(),sdkVersion:e};localStorage.setItem(ay,JSON.stringify(t))}catch{}}function lC(r){if(!ly())return null;try{let e=localStorage.getItem(ay);if(!e)return null;let t=JSON.parse(e);return!t.config||typeof t.timestamp!="number"||!t.sdkVersion||t.sdkVersion!==r||Date.now()-t.timestamp>oC?null:t.config}catch{return null}}var Ed=({configUri:r,experiments:e,featureKey:t})=>{if(r)return r;if(e&&t){let n=e.getFeatureValue?.(t,null);if(n)return n}};function cC(r,e,t){if(e){let n=r.getFeatureValue?.(e,null);if(n&&typeof n=="object"){let i=n.variant_flags;if(i&&i.length>0)return i}}if(r.getAllFeatures){let n=r.getAllFeatures();return t?Object.keys(n).filter(i=>i.startsWith(t)):Object.keys(n)}return[]}var Ai=({configUri:r,experiments:e,featureKey:t,credentials:n,configFeatureKey:i,manifestKey:s,variantFlagPrefix:o,sdkVersion:a})=>async()=>{if(e&&i){let h=e.getFeatureValue?.(i,null);if(h&&typeof h=="object")return G("SmartCanvas Config","Resolved config directly from feature flag",h),h}if(e&&(s||o||e.getAllFeatures)){let h=cC(e,s,o);if(console.log("[SmartCanvas Config] Variant key discovery:",h.length,"keys found"),h.length>0){let f=cl(e,h);if(console.log("[SmartCanvas Config] resolveVariantConfigs result:",f?`tiles=${f.tiles?.length}`:"null"),f)return G("SmartCanvas Config","Resolved config from variant flags",f),f}}else console.log("[SmartCanvas Config] Skipping multi-flag mode:",{hasExperiments:!!e,manifestKey:s,variantFlagPrefix:o,hasGetAllFeatures:!!e?.getAllFeatures});let l=Ed({configUri:r,experiments:e,featureKey:t});if(!l)return G("SmartCanvas Config","No config available \u2014 returning empty config"),{tiles:[],actions:[],fetchedAt:new Date().toISOString()};if(!iC(l))throw new Error(`SmartCanvas: config URI not allowed: ${l}`);let c=n??(sC(l)?"include":"omit"),u=performance.now(),p=!1;try{let h=await fetch(l,{credentials:c,headers:{"X-SDK-Version":to,"X-SDK-Schema-Version":Kr}});if(!h.ok)throw nr()?.increment("flag_fetch_errors"),p=!0,new Error(`SmartCanvas: failed to fetch config (${h.status})`);let f=await h.json(),v=performance.now()-u;return nr()?.increment("flag_fetch_count"),nr()?.recordHistogram("flag_fetch_latency_ms",v),G("SmartCanvas Config","Fetched config from URI",f),a&&aC(f,a),f}catch(h){if(p||nr()?.increment("flag_fetch_errors"),a){let f=lC(a);if(f)return G("SmartCanvas Config","Serving config from offline cache"),f}throw h}};var Cd=class{constructor(e){this.listeners=new Set;let t=e?.open??!1;if(e?.open===void 0)try{let n=sessionStorage?.getItem("syntro:editor:panel-open");n!==null&&(t=JSON.parse(n))}catch{}this.state={open:t}}getState(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOpen(e){if(this.state.open!==e){this.state={...this.state,open:e};try{sessionStorage?.setItem("syntro:editor:panel-open",JSON.stringify(e))}catch{}this.emit()}}toggle(){this.setOpen(!this.state.open)}emit(){for(let e of this.listeners)e(this.state)}},cy=r=>new Cd(r);var Wt={white:"#ffffff",black:"#000000"},se={0:"#2c0b0a",1:"#5b1715",2:"#89221f",3:"#b72e2a",4:"#d44844",5:"#dd6d69",6:"#e5918f",7:"#eeb6b4",8:"#f6dada",9:"#faebea"},k={0:"#07080a",1:"#0f1318",2:"#0e1114",3:"#1c222a",4:"#2b333f",5:"#394454",6:"#475569",7:"#677384",8:"#87919f",9:"#a8afba",10:"#cbd0d7",11:"#e8eaee",12:"#f6f7f9"},ke={0:"#07230a",1:"#0e4514",2:"#16681e",3:"#1d8a28",4:"#24ad32",5:"#4fbd5a",6:"#7acd82",7:"#a5deab",8:"#d0eed3",9:"#e5f6e7"},Qe={0:"#301f09",1:"#5f3e12",2:"#8f5e1b",3:"#be7d24",4:"#ee9c2d",5:"#f1b057",6:"#f5c481",7:"#f8d7ab",8:"#fcebd5",9:"#fdf5ea"},Pe={0:"#330707",1:"#660f0e",2:"#991616",3:"#cc1e1d",4:"#ff2524",5:"#ff5150",6:"#ff7c7c",7:"#ffa8a7",8:"#ffd3d3",9:"#ffe9e9"},or={0:"#051533",1:"#0a2a66",2:"#0f3f98",3:"#1454cb",4:"#1969fe",5:"#4787fe",6:"#75a5fe",7:"#a3c3ff",8:"#d1e1ff",9:"#e8f0ff"},ro={0:"#662500",1:"#993d00",2:"#cc5800",3:"#ff7700",4:"#fea85d",5:"#fec58f",6:"#ffd6ae",7:"#fee6cd",8:"#fff1e1",9:"#fff8f0"},no={0:"#151229",1:"#2a2452",2:"#40357c",3:"#5547a5",4:"#6a59ce",5:"#887ad8",6:"#a69be2",7:"#c3bdeb",8:"#e1def5",9:"#f0eefa"},io={0:"#37091f",1:"#69123c",2:"#9b1c58",3:"#cd2575",4:"#ff2e92",5:"#ff58a8",6:"#ff82be",7:"#ffabd3",8:"#ffd5e9",9:"#ffeaf4"};var xt={primary:k[10],secondary:k[9],tertiary:k[8]},GO={primary:k[2],secondary:k[0]},Ad={primary:k[4],secondary:k[3]},ml={primary:{text:Wt.white,icon:Wt.white,border:se[3],backgroundDefault:se[3],backgroundHover:se[2]},neutral:{text:k[10],textHover:Wt.white,icon:k[10],iconHover:Wt.white,border:k[4],background:k[2]},link:{text:Wt.white,icon:Wt.white,hover:se[5]},error:{text:Pe[5],hover:Pe[6]},success:{text:ke[5],hover:ke[6]}},KO={slateGrey:{content:k[10],pillOutline:k[10],borderPrimary:k[5],borderSecondary:k[5],background:k[3]},brand:{content:se[9],pillOutline:se[9],borderPrimary:se[6],borderSecondary:se[6],background:se[0]},red:{content:Pe[8],pillOutline:Pe[4],borderPrimary:Pe[2],borderSecondary:Pe[2],background:Pe[0]},yellow:{content:Qe[8],pillOutline:Qe[4],borderPrimary:Qe[2],borderSecondary:Qe[2],background:Qe[0]},green:{content:ke[8],pillOutline:ke[4],borderPrimary:ke[2],borderSecondary:ke[2],background:ke[0]},purple:{content:no[8],pillOutline:no[4],borderPrimary:no[2],borderSecondary:no[2],background:no[0]},blue:{content:or[8],pillOutline:or[4],borderPrimary:or[2],borderSecondary:or[2],background:or[0]},orange:{content:ro[8],pillOutline:ro[4],borderPrimary:ro[2],borderSecondary:ro[2],background:ro[0]},pink:{content:io[8],pillOutline:io[4],borderPrimary:io[2],borderSecondary:io[2],background:io[0]}},YO={green:{content:ke[8],border:ke[2],background:ke[0]},yellow:{content:Qe[8],border:Qe[2],background:Qe[0]},red:{content:Pe[8],border:Pe[2],background:Pe[0]}},XO={green:{content:ke[1],background:ke[9]},yellow:{content:Qe[1],background:Qe[9]},red:{content:Pe[1],background:Pe[9]}},JO={content:k[10],border:k[4],background:k[3]},QO={backgroundDefault:k[2],backgroundHover:k[1],selected:k[3]},e4={background:k[2],icon:k[10],borderDefault:k[4],borderSelected:se[3],textLabel:k[9],textPlaceholder:k[8],textHint:k[8]},t4={backgroundDefault:k[2],backgroundDisabled:k[0],textLabel:k[9],textPlaceholder:k[8],textHint:k[8],textError:Pe[5],iconDefault:k[9],iconPlaceholder:k[10],iconError:Pe[5],borderDefault:k[4],borderSelected:se[3],borderError:Pe[5]},r4={handleDefault:Wt.white,handleDisabled:k[10],off:{backgroundDefault:k[4],backgroundHover:k[5],backgroundDisabled:k[4]},on:{backgroundDefault:ke[3],backgroundHover:ke[2],backgroundDisabled:k[4]}},n4={off:{backgroundDefault:"#00000000",backgroundHover:k[5],backgroundDisabled:k[2],border:k[6]},on:{backgroundDefault:ke[0],backgroundHover:ke[1],backgroundDisabled:k[2],border:ke[3]}},i4={content:k[10],background:k[4]},s4={background:k[4],active:ke[3]},o4={background:k[1],content:k[9],border:k[4]},a4={backgroundDefault:k[1],backgroundHover:k[3],backgroundActive:k[4],border:k[4],contentPrimary:k[10],contentSecondary:k[9],contentTertiary:k[8]},l4={background:k[1],content:k[9],border:k[4]},c4={activeBackground:k[3],activeContent:se[5],inactiveContent:k[9],border:k[4]},u4={header:{textDefault:k[9],textHover:k[8],backgroundDefault:k[1]},border:k[4],cell:{textPrimary:k[10],textSecondary:k[9],backgroundDefault:k[2],backgroundHover:k[1]}},d4={textPrimaryDefault:k[10],textPrimaryHover:k[10],textSecondaryDefault:k[8],textSecondaryHover:k[9],iconPrimary:k[10],iconSecondary:k[8]},p4={background:ke[1],active:ke[5]},h4={textDefault:k[10],textSelected:Wt.white,textDisabled:k[7],backgroundDefault:k[2],backgroundMiddle:k[3],backgroundSelected:se[3],border:k[4]},f4=k[9];var y4={size:56,inset:12,background:Wt.black,color:Wt.white,border:`2px solid ${se[3]}`,shadowOpen:"0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)",shadowClosed:"0 4px 24px rgba(0,0,0,0.6)"};function ae(r,e){return`${r}${Math.round(e*255).toString(16).padStart(2,"0")}`}var $4={colorPrimary:se[3],colorPrimaryHover:se[4],colorPrimaryMuted:se[0],colorBackground:ae(k[1],.95),colorBackgroundElevated:ae(k[3],.95),colorBackgroundSubtle:ae(k[0],.2),colorSurface:ae(k[4],.8),colorSurfaceHover:ae(k[5],.8),colorText:xt.primary,colorTextSecondary:xt.secondary,colorTextMuted:xt.tertiary,colorTextInverse:k[1],colorBorder:Ad.primary,colorBorderSubtle:Ad.secondary,colorSuccess:ke[4],colorSuccessMuted:ke[0],colorWarning:Qe[4],colorWarningMuted:Qe[0],colorError:Pe[4],colorErrorMuted:Pe[0],colorInfo:or[4],colorInfoMuted:or[0],colorNotification:se[4],colorNotificationMuted:ae(se[4],.4),glassBackground:ae(k[1],.6),glassBackgroundHover:ae(k[1],.7),glassBorder:"rgba(255, 255, 255, 0.08)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.2)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.3)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.4)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.5)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"},M4={colorPrimary:se[3],colorPrimaryHover:se[2],colorPrimaryMuted:ae(se[5],.1),colorBackground:ae(k[12],.95),colorBackgroundElevated:ae(k[11],.95),colorBackgroundSubtle:ae(k[0],.02),colorSurface:ae(k[11],.6),colorSurfaceHover:ae(k[10],.6),colorText:k[1],colorTextSecondary:k[6],colorTextMuted:k[8],colorTextInverse:k[12],colorBorder:ae(k[0],.12),colorBorderSubtle:ae(k[0],.06),colorSuccess:ke[4],colorSuccessMuted:ae(ke[4],.12),colorWarning:Qe[4],colorWarningMuted:ae(Qe[4],.12),colorError:Pe[4],colorErrorMuted:ae(Pe[4],.12),colorInfo:or[4],colorInfoMuted:ae(or[4],.12),colorNotification:se[3],colorNotificationMuted:ae(se[3],.4),glassBackground:ae(k[12],.7),glassBackgroundHover:ae(k[12],.8),glassBorder:"rgba(0, 0, 0, 0.06)",glassBlur:"blur(24px)",glassSaturate:"saturate(1.2)",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",fontFamilyMono:"'SF Mono', 'Fira Code', Consolas, monospace",fontSizeXs:"0.7rem",fontSizeSm:"0.8rem",fontSizeMd:"0.9rem",fontSizeLg:"1rem",fontSizeXl:"1.25rem",fontSizeXxl:"1.5rem",fontWeightNormal:"400",fontWeightMedium:"500",fontWeightSemibold:"600",fontWeightBold:"700",lineHeightTight:"1.25",lineHeightNormal:"1.5",lineHeightRelaxed:"1.75",spacingXs:"0.25rem",spacingSm:"0.5rem",spacingMd:"0.75rem",spacingLg:"1rem",spacingXl:"1.5rem",borderRadiusSm:"6px",borderRadiusMd:"10px",borderRadiusLg:"14px",borderRadiusXl:"20px",borderRadiusFull:"9999px",shadowSm:"0 1px 2px rgba(0, 0, 0, 0.08)",shadowMd:"0 2px 12px rgba(0, 0, 0, 0.12)",shadowLg:"0 8px 24px rgba(0, 0, 0, 0.16)",shadowXl:"0 16px 48px rgba(0, 0, 0, 0.2)",backdropBlur:"blur(20px)",backdropSaturate:"saturate(180%)",transitionFast:"0.1s ease",transitionNormal:"0.25s ease",transitionSlow:"0.4s ease"};function uC(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var uy={mode:"dark",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:se[3],colorPrimaryHover:se[4],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:ae(k[1],.6),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",backdrop:!1,backdropColor:"rgba(0, 0, 0, 0.4)",padding:"0"},launcher:{background:ml.primary.backgroundDefault,backgroundHover:ml.primary.backgroundHover,color:ml.primary.icon,size:"56px",shadow:`0 8px 32px ${ae(k[0],.6)}`,borderRadius:"9999px"},tile:{background:ae(k[1],.6),backgroundHover:ae(k[1],.7),border:"1px solid rgba(255, 255, 255, 0.08)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.3)",titleColor:xt.primary,textColor:xt.secondary,iconBackground:`linear-gradient(135deg, ${se[3]} 0%, ${se[3]}cc 100%)`,iconShadow:`0 2px 8px ${se[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:ae(k[1],.6),textColor:xt.primary,titleColor:xt.primary,arrowColor:ae(k[1],.6),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${se[3]}`},notification:{background:ae(k[0],.95),textColor:xt.primary,textSecondaryColor:xt.secondary,border:`1px solid ${k[5]}`,borderRadius:"12px",successColor:ke[4],warningColor:Qe[4],errorColor:Pe[4],iconBackground:ae(se[3],.15),progressGradient:`linear-gradient(90deg, ${se[3]}, ${se[4]})`},content:{background:ae(k[3],.8),backgroundHover:ae(k[5],.6),border:`1px solid ${ae(k[5],.5)}`,borderRadius:"8px",textColor:xt.primary,textSecondaryColor:xt.secondary,itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:ae(k[3],.8),searchColor:xt.primary,chevronColor:"currentColor"},mobile:{canvas:{backdrop:!0}}},dy={mode:"light",fontFamily:"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif",colorPrimary:se[3],colorPrimaryHover:se[2],borderRadius:"12px",canvas:{position:"right",layout:"overlay",background:ae(k[12],.7),blur:"blur(24px)",border:"none",width:"clamp(380px, 25vw, 520px)",transitionDuration:"300ms",transitionEasing:"cubic-bezier(0.16, 1, 0.3, 1)",transitionFade:"6%",backdrop:!1,backdropColor:"rgba(0, 0, 0, 0.3)",padding:"0"},launcher:{background:se[3],backgroundHover:se[2],color:"#ffffff",size:"56px",shadow:"0 8px 32px rgba(0, 0, 0, 0.15)",borderRadius:"9999px"},tile:{background:ae(k[12],.7),backgroundHover:ae(k[12],.8),border:"1px solid rgba(0, 0, 0, 0.06)",borderRadius:"14px",shadow:"0 2px 12px rgba(0, 0, 0, 0.12)",titleColor:k[1],textColor:k[6],iconBackground:`linear-gradient(135deg, ${se[3]} 0%, ${se[3]}cc 100%)`,iconShadow:`0 2px 8px ${se[3]}40`,headerPadding:"0.375rem 0.75rem",bodyPadding:"0 0.75rem 0.5rem",gap:"0.25rem"},overlay:{background:ae(k[12],.7),textColor:k[1],titleColor:k[1],arrowColor:ae(k[12],.7),arrowSize:"8px",border:"none",borderRadius:"0",scrimOpacity:"0",highlightRing:`2px solid ${se[3]}`},notification:{background:ae(k[12],.95),textColor:k[1],textSecondaryColor:k[6],border:`1px solid ${ae(k[0],.12)}`,borderRadius:"12px",successColor:ke[4],warningColor:Qe[4],errorColor:Pe[4],iconBackground:ae(se[3],.1),progressGradient:`linear-gradient(90deg, ${se[3]}, ${se[2]})`},content:{background:ae(k[12],.8),backgroundHover:ae(k[11],.6),border:`1px solid ${k[11]}`,borderRadius:"8px",textColor:k[1],textSecondaryColor:k[6],itemDivider:"none",itemGap:"6px",itemPadding:"12px 16px",itemFontSize:"15px",bodyPadding:"0 16px 12px 16px",bodyFontSize:"14px",categoryPadding:"8px 4px 4px 4px",categoryGap:"4px",categoryFontSize:"12px",searchBackground:k[12],searchColor:k[1],chevronColor:"currentColor"},mobile:{canvas:{backdrop:!0}}};function py(r){let e=r.mode==="light"?dy:uy;return{mode:r.mode??e.mode,fontFamily:r.fontFamily??e.fontFamily,colorPrimary:r.colorPrimary??e.colorPrimary,colorPrimaryHover:r.colorPrimaryHover??e.colorPrimaryHover,borderRadius:r.borderRadius??e.borderRadius,canvas:{...e.canvas,...r.canvas},launcher:{...e.launcher,...r.launcher},tile:{...e.tile,...r.tile},overlay:{...e.overlay,...r.overlay},notification:{...e.notification,...r.notification},content:{...e.content,...r.content},mobile:{canvas:{...e.mobile.canvas,...r.mobile?.canvas}}}}function hy(r,e){let t=e.mode??r.mode??"dark",n=t==="light"?dy:uy;return{mode:t,fontFamily:e.fontFamily??r.fontFamily??n.fontFamily,colorPrimary:e.colorPrimary??r.colorPrimary??n.colorPrimary,colorPrimaryHover:e.colorPrimaryHover??r.colorPrimaryHover??n.colorPrimaryHover,borderRadius:e.borderRadius??r.borderRadius??n.borderRadius,canvas:{...n.canvas,...r.canvas,...e.canvas},launcher:{...n.launcher,...r.launcher,...e.launcher},tile:{...n.tile,...r.tile,...e.tile},overlay:{...n.overlay,...r.overlay,...e.overlay},notification:{...n.notification,...r.notification,...e.notification},content:{...n.content,...r.content,...e.content},mobile:{canvas:{...n.mobile.canvas,...r.mobile?.canvas,...e.mobile?.canvas}}}}var dC=["canvas","launcher","tile","overlay","notification","content"];function fy(r){let e={};r.fontFamily&&(e["--sc-font-family"]=r.fontFamily),r.colorPrimary&&(e["--sc-color-primary"]=r.colorPrimary),r.colorPrimaryHover&&(e["--sc-color-primary-hover"]=r.colorPrimaryHover),r.borderRadius&&(e["--sc-border-radius"]=r.borderRadius);for(let t of dC){let n=r[t];if(n)for(let[i,s]of Object.entries(n))s!==void 0&&typeof s=="string"&&(e[`--sc-${t}-${uC(i)}`]=s)}return e}var Yr,zn,qn,kr,Er,Td,vl,so=class{constructor(e,t,n){ve(this,Er);ve(this,Yr);ve(this,zn);ve(this,qn);ve(this,kr);oe(this,Yr,e),oe(this,zn,t??{}),oe(this,qn,n),oe(this,kr,_e(this,Er,Td).call(this)),e.addController(this)}get config(){return Z(this,kr).config}get mode(){return Z(this,kr).mode}get cssVariables(){return Z(this,kr).cssVariables}hostConnected(){_e(this,Er,vl).call(this)}hostDisconnected(){}hostUpdated(){_e(this,Er,vl).call(this)}setThemeConfig(e,t){oe(this,zn,e),oe(this,qn,t),oe(this,kr,_e(this,Er,Td).call(this)),_e(this,Er,vl).call(this),Z(this,Yr).requestUpdate()}};Yr=new WeakMap,zn=new WeakMap,qn=new WeakMap,kr=new WeakMap,Er=new WeakSet,Td=function(){let e=Z(this,qn)?hy(Z(this,qn),Z(this,zn)):py(Z(this,zn)),t=fy(e);return{config:e,mode:e.mode,cssVariables:t}},vl=function(){let e=Z(this,Yr).shadowRoot??("renderRoot"in Z(this,Yr)?Z(this,Yr).renderRoot:null);if(!e||!(e instanceof ShadowRoot))return;let t=e.querySelector("#sc-theme-vars");t||(t=document.createElement("style"),t.id="sc-theme-vars",e.insertBefore(t,e.firstChild));let n=Object.entries(Z(this,kr).cssVariables).map(([i,s])=>` ${i}: ${s};`).join(`
|
|
492
492
|
`);t.textContent=`:host {
|
|
493
493
|
${n}
|
|
494
494
|
}`};var pC=new Set(["tag_name","$el_text"]);function hC(r){return pC.has(r)||r.startsWith("attr__")}function gy(r,e){return r.equals!==void 0?e===r.equals:r.contains!==void 0?typeof e=="string"&&e.includes(r.contains):!1}function fC(r){let{events:e,match:t}=r;return n=>{if(!e.includes(n.name))return!1;if(t){for(let[i,s]of Object.entries(t))if(hC(i)){let o=n.props?.elements;if(!o||!o.some(l=>gy(s,l[i])))return!1}else if(!gy(s,n.props?.[i]))return!1}return!0}}function my(r,e){for(let t of r.rules)for(let n of t.conditions)if(n.type==="event_count"&&n.key){let i=n.counter,s=i?fC(i):()=>!0,o=typeof n.withinMs=="number";e.register(n.key,s,o)}}function Ti(r,e,t){for(let n of r){let i=n.props;if(!i)continue;let s=i.actions;if(s)for(let o of s)o.triggerWhen?.type==="rules"&&my(o.triggerWhen,e)}if(t)for(let n of t){let i=n;i.triggerWhen?.type==="rules"&&my(i.triggerWhen,e)}}var gC="syntro-runtime",vy="smart-canvas",yy=r=>[...r].sort((e,t)=>(t.priority??0)-(e.priority??0));function by(r){let e=typeof window<"u"?window.SynOS?.interventionTracker:null;if(e)for(let t of r)e.trackTriggered(t.id,t.widget??"unknown")}var bt,Ii,ar,Cr,zt,Zn,oo,Gn,Kn,ao,lo,co,Yn,Xn,Xr,Jr,Qr,Jn,$i,uo,we,_y,xy,Mi,Rd,wy,Id,$d,Md,Pd,Sy,Od,yl,Ri=class extends ye{constructor(){super();ve(this,we);this.fetcher=void 0;this.configUri=void 0;this.configUriFeatureKey=void 0;this.configFeatureKey=void 0;this.fetchCredentials="include";this.experiments=void 0;this.telemetry=void 0;this.runtime=void 0;this.launcherLabel=void 0;this.initialBatchHandle=null;this.initialBatchActions=void 0;this.workspaceTheme=void 0;this._tiles=[];this._configActions=[];this._isLoading=!0;this._error=void 0;this._theme=void 0;this._launcher=void 0;this._canvasTitle=void 0;this._displayMode="standard";this._isOpen=!1;this._pageUrl=typeof window<"u"?window.location.href:"/";ve(this,bt);ve(this,Ii,null);ve(this,ar,null);ve(this,Cr,null);ve(this,zt,null);ve(this,Zn);ve(this,oo,0);ve(this,Gn,null);ve(this,Kn,"[]");ve(this,ao,"[]");ve(this,lo,"null");ve(this,co,"null");ve(this,Yn,null);ve(this,Xn,null);ve(this,Xr,null);ve(this,Jr,null);ve(this,Qr,null);ve(this,Jn,()=>{this._pageUrl=window.location.href});ve(this,$i);ve(this,uo);ve(this,Mi,0);ve(this,yl,t=>{Z(this,bt).toggle()});oe(this,bt,cy()),oe(this,Zn,!1),oe(this,$i,new so(this)),oe(this,uo,new ki(this,{context:gC,initialValue:null}))}connectedCallback(){super.connectedCallback(),this.style.setProperty("font-family","inherit"),oe(this,Ii,Z(this,bt).subscribe(t=>{this._isOpen=t.open})),this._isOpen=Z(this,bt).getState().open,oe(this,ar,document.createElement("div")),Z(this,ar).id="overlayContainer",Object.assign(Z(this,ar).style,{position:"fixed",inset:"0",zIndex:"2147483645",pointerEvents:"none"}),this.shadowRoot.appendChild(Z(this,ar)),oe(this,Cr,document.createElement("div")),Z(this,Cr).id="portalRoot",this.shadowRoot.appendChild(Z(this,Cr)),_e(this,we,Id).call(this),_e(this,we,Od).call(this),_e(this,we,Md).call(this)}disconnectedCallback(){var t,n,i,s,o;super.disconnectedCallback(),(t=Z(this,Ii))==null||t.call(this),oe(this,Ii,null),(n=Z(this,Xn))==null||n.call(this),oe(this,Xn,null),(i=Z(this,Xr))==null||i.call(this),oe(this,Xr,null),(s=Z(this,Jr))==null||s.call(this),oe(this,Jr,null),(o=Z(this,Qr))==null||o.call(this),oe(this,Qr,null),_e(this,we,$d).call(this),Z(this,zt)&&(Z(this,zt).revertAll().catch(a=>{console.error("[SmartCanvasElementLit] Failed to revert actions on disconnect:",a)}),oe(this,zt,null)),Z(this,ar)?.remove(),oe(this,ar,null),Z(this,Cr)?.remove(),oe(this,Cr,null)}updated(t){var i;t.has("runtime")&&(Z(this,uo).setValue(this.runtime??null),_e(this,we,Sy).call(this),_e(this,we,Md).call(this),_e(this,we,Od).call(this),_e(this,we,$d).call(this),_e(this,we,Id).call(this));let n=t.has("runtime")||t.has("fetcher")||t.has("configUri")||t.has("configUriFeatureKey")||t.has("configFeatureKey")||t.has("fetchCredentials")||t.has("experiments");if(n&&(_e(this,we,_y).call(this),(i=Z(this,Xn))==null||i.call(this),this.experiments?.onFeaturesChanged&&oe(this,Xn,this.experiments.onFeaturesChanged(()=>this._loadConfig({silent:!0})))),(n||t.has("_pageUrl"))&&this._loadConfig(),(t.has("_theme")||t.has("workspaceTheme"))&&Z(this,$i).setThemeConfig(this._theme??{},this.workspaceTheme),(t.has("_configActions")||t.has("_pageUrl"))&&_e(this,we,wy).call(this),t.has("_tiles")||t.has("_isLoading")||t.has("_error")){let s=this._tiles.length>0&&!this._error;!this._isLoading&&!s&&Z(this,bt).getState().open&&Z(this,bt).setOpen(!1)}t.has("initialBatchHandle")&&this.initialBatchHandle&&(oe(this,zt,this.initialBatchHandle),oe(this,Zn,!0),this.initialBatchActions&&(this._configActions=this.initialBatchActions,oe(this,Kn,JSON.stringify(this.initialBatchActions))))}render(){let t=this._tiles.length>0&&!this._error,n=this._isLoading||t;if(this._displayMode==="inline")return n?L`
|
|
@@ -1062,7 +1062,7 @@ Actions:`,_.map((P,K)=>` [${K}] ${P.kind} ${P.anchorId?`anchor="${P.anchorId.se
|
|
|
1062
1062
|
`,t=document.createElement("style");t.setAttribute("data-syntro","base-overlay"),t.textContent=e,r.appendChild(t),ub=!0}var ap=async(r={})=>{if(typeof window>"u"||typeof document>"u")throw new Error("SmartCanvas can only be created in a browser-like environment");let e=null;if(r.antiFlicker){let g=typeof r.antiFlicker=="object"?r.antiFlicker:{};e=ob(g)}let t=null,n=null,i=null,{runtime:s}=r;async function o(g){!s?.actions||g.length===0||(i?.isApplied()&&await i.revertAll(),i=await s.actions.applyBatch(g))}async function a(){i?.isApplied()&&(await i.revertAll(),i=null)}if(r.fetcher)try{n=r.fetcher,console.log("[SmartCanvas] Fetching initial config...");let g=await r.fetcher();t=g,console.log("[SmartCanvas] Config fetched:",`tiles=${g.tiles?.length??0},`,`actions=${g.actions?.length??0},`,`theme=${g.theme?.mode??"default"}`),g.actions?.length&&console.log("[SmartCanvas] Actions to apply:",g.actions.map((b,x)=>`[${x}] ${b.kind}${b.anchorId?` anchor="${b.anchorId.selector}"`:""}${b.label?` "${b.label}"`:""}`).join(", ")),g.actions&&g.actions.length>0&&s?.actions&&(await o(g.actions),console.log("[SmartCanvas] Initial actions applied successfully")),g.tiles&&s?.accumulator&&Ti(g.tiles,s.accumulator,g.actions)}catch(g){console.error("[SmartCanvas] Error fetching/applying initial config:",g)}e&&e();let l=Rl();bl();let c=document.createElement("smart-canvas");if(r.tokens)for(let[g,b]of Object.entries(r.tokens))c.style.setProperty(g,b);let u=r.integrations?.experiments,p=r.integrations?.telemetry,h=r.fetcher??Ai({configUri:r.configUri,experiments:u,featureKey:r.configUriFeatureKey,credentials:r.fetchCredentials});n||(n=h);let f={fetcher:h,configUri:r.configUri,configUriFeatureKey:r.configUriFeatureKey,fetchCredentials:r.fetchCredentials,experiments:u,telemetry:p,runtime:s,initialBatchHandle:i,initialBatchActions:i?t?.actions??[]:void 0,workspaceTheme:r.workspaceTheme};c.mountLitApp(f),r.defaultOpen&&c.open();let v=()=>{let g=r.target??document.body;if(g){g.appendChild(c);let b=c.getOverlayContainer();b&&db(b)}};document.body?v():document.addEventListener("DOMContentLoaded",v,{once:!0}),(l||r.editorUrl)&&(console.log(`[SmartCanvas] Loading editor SDK for ${l??"config"} mode`),cb(r.editorUrl).catch(console.error));let m={el:c,open:()=>c.open(),close:()=>c.close(),destroy:()=>{a(),c.remove()},setTokens:g=>{for(let[b,x]of Object.entries(g))c.style.setProperty(b,x)},getConfig:async()=>{if(n)try{let g=await n();return t=g,g}catch(g){console.error("[SmartCanvas] Error fetching config:",g)}return t??{tiles:[],actions:[],fetchedAt:""}},setEnabled:async g=>{g?t&&await o(t.actions):await a()},setOverrideFetcher:g=>{n=g,c.setOverrideFetcher(g),s?.accumulator&&g().then(b=>{b?.tiles&&Ti(b.tiles,s.accumulator,b.actions)}).catch(()=>{})},registerTelemetryProperties:g=>{p?.register?.(g)},getSessionId:()=>p?.getSessionId?.(),startSessionRecording:()=>{p?.startSessionRecording?.()},track:(g,b)=>p?.track?(p.track(g,b),!0):!1,previewNotification:g=>c.previewNotification(g),runtime:s};if(typeof window<"u"){let g=window.SynOS;g&&(g.handle=m)}return m};typeof window<"u"&&(window.SmartCanvas={async create(r){return ap(r)}});var lp="syn_";function mo(r){if(!r.startsWith(lp))throw new Error("Invalid Syntro token: must start with 'syn_'");let t=r.slice(lp.length).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t),i=JSON.parse(n);if(i.v!==1)throw new Error(`Unsupported token version: ${i.v}`);return i}function cp(r){let e=JSON.stringify(r),t=btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return lp+t}function Mt(r){if(typeof process<"u"&&process.env)return process.env[r];if(typeof import.meta.env<"u"&&import.meta.env)return import.meta.env[r]}function up(r,e){if(typeof window>"u")return null;try{let t=localStorage.getItem(r);if(!t)return null;let n=JSON.parse(t);return!n||typeof n.ts!="number"||!("data"in n)||e!=null&&Date.now()-n.ts>e?null:n.data}catch{return null}}function dp(r,e){if(!(typeof window>"u"))try{let t={ts:Date.now(),data:e};localStorage.setItem(r,JSON.stringify(t))}catch{}}var gb="syntro_segment_attributes";function mb(){let r=up(gb);return r?(G("Syntro Bootstrap","Loaded cached segment attributes:",r),r):{}}function vb(r){dp(gb,r),G("Syntro Bootstrap","Cached segment attributes:",r)}function yb(r){if(!r)return{};let e={};for(let[t,n]of Object.entries(r))t.startsWith("in_segment_")&&(e[t]=n===!0);return e}function pp(){if(typeof window>"u")return{};let r={};try{let e=new URLSearchParams(window.location.search);for(let t of["utm_source","utm_medium","utm_campaign","utm_content","utm_term"]){let n=e.get(t);n&&(r[t]=n)}}catch{}try{navigator.language&&(r.browser_language=navigator.language),navigator.languages?.length&&(r.browser_languages=[...navigator.languages])}catch{}try{let e=window.innerWidth;r.device_type=e<768?"mobile":e<1024?"tablet":"desktop"}catch{}try{if(document.referrer){r.referrer=document.referrer;try{r.referrer_hostname=new URL(document.referrer).hostname}catch{}}}catch{}try{let e=navigator.userAgent;e.includes("Edg/")?r.browser="Edge":e.includes("OPR/")||e.includes("Opera")?r.browser="Opera":e.includes("Chrome/")&&!e.includes("Chromium")?r.browser="Chrome":e.includes("Safari/")&&!e.includes("Chrome")?r.browser="Safari":e.includes("Firefox/")&&(r.browser="Firefox"),e.includes("Windows")?r.os="Windows":e.includes("iPhone")||e.includes("iPad")?r.os="iOS":e.includes("Mac OS X")||e.includes("Macintosh")?r.os="macOS":e.includes("Android")?r.os="Android":e.includes("Linux")&&(r.os="Linux")}catch{}try{r.page_url=window.location.href,r.page_path=window.location.pathname,r.page_host=window.location.hostname,window.location.search&&(r.page_query=window.location.search)}catch{}try{let e=window.Telegram?.WebApp;e?(r.surface_type="telegram",r.surface_host=e.platform||"unknown"):(r.surface_type="web",r.surface_host="web")}catch{r.surface_type="web",r.surface_host="web"}try{let e=r.surface_type;e==="telegram"||e==="mcp-app"?r.surface="personal_agent":r.device_type==="mobile"?r.surface="mobile":r.surface="desktop"}catch{r.surface="desktop"}return r}var bb="syntro_initial_attrs",VC=1800*1e3,hb=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"];function UC(r){if(typeof window>"u")return!1;try{return r===window.location.hostname}catch{return!1}}function hp(r,e){let t={},n=hb.some(o=>typeof r[o]=="string");for(let o of hb){let a=n?r[o]:e?.[o];a&&(t[o]=a)}let i=typeof r.referrer_hostname=="string"?r.referrer_hostname:void 0;return!(i?UC(i):!0)&&typeof r.referrer=="string"?(t.referrer=r.referrer,i&&(t.referrer_hostname=i)):e?.referrer&&(t.referrer=e.referrer,e.referrer_hostname&&(t.referrer_hostname=e.referrer_hostname)),e?.initial_page_url?(t.initial_page_url=e.initial_page_url,e.initial_page_path&&(t.initial_page_path=e.initial_page_path),e.initial_page_query&&(t.initial_page_query=e.initial_page_query)):(typeof r.page_url=="string"&&(t.initial_page_url=r.page_url),typeof r.page_path=="string"&&(t.initial_page_path=r.page_path),typeof r.page_query=="string"&&(t.initial_page_query=r.page_query)),t}function _b(){return up(bb,VC)}function xb(r){dp(bb,r),G("Syntro Bootstrap","Cached initial attrs:",r)}var fb="syntro_geo",wb="https://geo.syntrologie.com";async function fp(r){if(typeof window>"u")return{};try{let e=localStorage.getItem(fb);if(e){let t=JSON.parse(e);return G("Syntro Bootstrap","Geo: using cached data:",t),t}}catch{}try{let e=await fetch(r,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),n={};for(let[i,s]of Object.entries(t))typeof s=="string"&&s&&(n[i]=s);try{localStorage.setItem(fb,JSON.stringify(n))}catch{}return G("Syntro Bootstrap","Geo: fetched from worker:",n),n}}catch{}return{}}var gp=null;if(typeof document<"u")try{let r=document.currentScript instanceof HTMLScriptElement?document.currentScript.src:null;if(r){let e=new URL(r),t=e.pathname.replace(/\/[^/]*$/,"");gp=`${e.origin}${t}`}}catch{gp=null}function Sb(){return gp}var kb=["fbclid","ttclid","gclid","gbraid","wbraid","msclkid","twclid","li_fat_id","epik","ScCid","yclid","_kx","mc_eid","mc_cid"];function mp(r){if(typeof window>"u"||!r.setPersonPropertiesOnce)return;let e=new URLSearchParams(window.location.search),t={};for(let n of kb){let i=e.get(n);i&&(t[`$initial_${n}`]=i)}Object.keys(t).length>0&&r.setPersonPropertiesOnce(t)}var jC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,WC=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,zC=[/@yopmail\.com$/i,/@mailinator\.com$/i,/@guerrillamail\.(com|info|net|org|biz)$/i,/@10minutemail\.com$/i,/^test@/i,/^noreply@/i,/^no-reply@/i];function Il(r){return r?WC.test(r):!1}function Eb(r){return zC.some(e=>e.test(r))}function qC(r){if(r.type==="email")return!0;let e=(r.name||"").toLowerCase(),t=(r.id||"").toLowerCase();return!!(/email/.test(e)||/email/.test(t))}function ZC(r){return r.closest("[data-syntro-no-identify]")!==null}function GC(r){return r?jC.test(r):!0}function vp(r,e){if(typeof document>"u")return()=>{};if(!r.identify&&!r.alias)return()=>{};let t=new Set,n=s=>{let o=r.getDistinctId?.();if(o===s){t.add(s);return}GC(o)?r.identify?.(s,{email:s}):r.alias?.(s),t.add(s)},i=s=>{let o=s.target;if(!(o instanceof HTMLInputElement)||ZC(o)||!qC(o))return;let a=(o.value??"").trim().toLowerCase();if(!Il(a)||Eb(a)||t.has(a))return;if(!e){n(a);return}let l=e.getStatus();if(l==="granted"){n(a);return}l!=="denied"&&e.resolvePending().then(c=>{c==="granted"&&n(a)})};return document.addEventListener("change",i,!0),()=>{document.removeEventListener("change",i,!0),t.clear()}}var Cb="_syu",KC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function YC(r){return r?KC.test(r):!0}function yp(r,e){if(typeof window>"u"||!r.identify&&!r.alias)return;let t=new URLSearchParams(window.location.search).get(Cb);if(!t)return;let n=t.trim();if(!n)return;let i=()=>{let a=r.getDistinctId?.();if(a===n)return;let l=Il(n)?{email:n}:void 0;YC(a)?r.identify?.(n,l):r.alias?.(n)};if(!e){i();return}if(e.getStatus()==="granted"){i();return}let s=!1,o=e.subscribe(a=>{s||a==="granted"&&(s=!0,o(),i())})}var XC=["utm_source","utm_medium","utm_campaign","utm_content","utm_term"];function JC(r){return r.is_eu==="true"||r.country_code==="GB"||r.country_code==="CH"||!r.is_eu&&!r.country_code}function QC(r){if(!r)return"";try{return new URL(r).hostname}catch{return""}}function bp(){return typeof window>"u"?"":`${window.location.origin}${window.location.pathname}`}function _p(r,e){if(typeof window>"u"||typeof document>"u"||!r.setPersonPropertiesOnce)return;let t=document.referrer||"",n=new URLSearchParams(window.location.search),i={$initial_pathname:window.location.pathname,$initial_referrer:t,$initial_referring_domain:QC(t)};for(let s of XC){let o=n.get(s);o&&(i[`$initial_${s}`]=o)}if(r.setPersonPropertiesOnce(i),!e){r.setPersonPropertiesOnce({$initial_url:bp()});return}e.then(s=>{let o=JC(s)?bp():window.location.href;r.setPersonPropertiesOnce?.({$initial_url:o})}).catch(()=>{r.setPersonPropertiesOnce?.({$initial_url:bp()})})}var Ab=new Set(["email","telephone","streetAddress","addressLocality","addressRegion","postalCode","givenName","familyName"]),Tb=500,xp=3;function $l(r){if(Array.isArray(r))return r.map($l);if(r&&typeof r=="object"){let e={};for(let[t,n]of Object.entries(r))Ab.has(t)||(e[t]=$l(n));return e}return r}function Ml(r){if(Array.isArray(r))return r.map(Ml);if(r&&typeof r=="object"){let e={};for(let[t,n]of Object.entries(r))if(!(t==="description"&&typeof n=="string"&&n.length>Tb)){if(t==="image"&&Array.isArray(n)&&n.length>xp){e[t]=n.slice(0,xp);continue}e[t]=Ml(n)}return e}return r}function eA(){return typeof document>"u"?[]:Array.from(document.querySelectorAll('script[type="application/ld+json"]')).filter(r=>!r.hasAttribute("data-syntro-no-jsonld")).map(r=>{try{return JSON.parse(r.textContent??"")}catch{return null}}).filter(r=>r!==null)}function wp(r){if(!r.register)return;let e=eA().map(Ml).map($l);e.length!==0&&r.register({json_ld:e})}function Rb(r,e,t={}){_p(r,t.geoPromise),mp(r),wp(r),yp(r,e);let n=vp(r,e);return()=>{n()}}var Ib="app:",tA="syntro:",rA=/^[a-z][a-z0-9_]*$/;function Sp(r){if(!r)return{valid:!1,reason:"Event name cannot be empty"};if(r.startsWith(tA))return{valid:!1,reason:'"syntro:" prefix is reserved for internal SDK events'};if(!r.startsWith(Ib))return{valid:!1,reason:`Custom events must start with "app:" prefix. Got: "${r}"`};let e=r.slice(Ib.length).split(":");if(e.length<2)return{valid:!1,reason:`Event name must have at least 2 segments after "app:" (app:{category}:{action}). Got: "${r}"`};for(let t of e)if(!rA.test(t))return{valid:!1,reason:`Segment "${t}" must be lowercase alphanumeric + underscores. Got: "${r}"`};return{valid:!0}}function nA(r){return typeof r=="string"||typeof r=="number"||typeof r=="boolean"||r===null}function $b(r,e,t=0){if(t>=e)return!1;for(let n of Object.values(r))if(n!==null&&typeof n=="object"&&!Array.isArray(n)&&!$b(n,e,t+1))return!1;return!0}function kp(r){if(r===void 0)return{valid:!0};if(r===null||typeof r!="object"||Array.isArray(r))return{valid:!1,reason:"Props must be a plain object"};if(!$b(r,2))return{valid:!1,reason:"Props nesting depth exceeds 2 levels"};let e=[];for(let[t,n]of Object.entries(r))n!==null&&typeof n=="object"||nA(n)||e.push(t);return e.length>0?{valid:!0,stripped:e}:{valid:!0}}function Pl(r,e){return e?!(e.names&&e.names.length>0&&!e.names.includes(r.name)||e.patterns&&e.patterns.length>0&&!e.patterns.some(n=>{try{return new RegExp(n).test(r.name)}catch{return!1}})||e.sources&&e.sources.length>0&&!e.sources.includes(r.source)):!0}var Ol=class{constructor(e={}){this.subscriptions=new Set;this.history=[];this.maxHistorySize=e.maxHistorySize??100,this.debug=e.debug??!1,this.emitHistory=e.history??null,this.posthogCapture=e.posthogCapture??null,this.testMode=e.testMode??!1}subscribe(e,t){let n,i;typeof e=="function"?(n=void 0,i=e):(n=e,i=t);let s={filter:n,callback:i};return this.subscriptions.add(s),()=>{this.subscriptions.delete(s)}}publish(e,t,n="canvas"){let i={ts:Date.now(),name:e,source:n,props:t,schemaVersion:De};this.publishEvent(i)}publishEvent(e){this.history.push(e),this.history.length>this.maxHistorySize&&this.history.shift();for(let t of this.subscriptions)if(Pl(e,t.filter))try{t.callback(e)}catch(n){console.error("[EventBus] Subscriber error:",n)}}emit(e,t){let n=Sp(e);if(!n.valid)return console.warn(`[EventBus] emit() rejected: ${n.reason}`),this.debug?{delivered:!1,matchedRules:[],posthogCaptured:!1,listenersNotified:0}:void 0;let i=kp(t);if(!i.valid)return console.warn(`[EventBus] emit() rejected props: ${i.reason}`),this.debug?{delivered:!1,matchedRules:[],posthogCaptured:!1,listenersNotified:0}:void 0;let s={ts:Date.now(),name:e,source:"custom",props:t,schemaVersion:De};this.history.push(s),this.history.length>this.maxHistorySize&&this.history.shift();let o=0;for(let l of this.subscriptions)if(Pl(s,l.filter))try{l.callback(s),o++}catch(c){console.error("[EventBus] Subscriber error:",c),o++}let a=!1;if(this.posthogCapture&&!this.testMode)try{this.posthogCapture(e,t),a=!0}catch(l){console.error("[EventBus] PostHog capture error:",l)}if(this.emitHistory&&this.emitHistory.record({name:e,props:t,source:"custom",timestamp:s.ts,matchedRules:[]}),this.debug)return console.debug("[EventBus] emit()",{name:e,props:t,listenersNotified:o,posthogCaptured:a}),{delivered:!0,matchedRules:[],posthogCaptured:a,listenersNotified:o}}setPosthogCapture(e){this.posthogCapture=e}getRecent(e,t){let n=this.history;return e&&(n=n.filter(i=>Pl(i,e))),t&&t>0&&(n=n.slice(-t)),n}hasRecentEvent(e,t,n){let i=Date.now()-t;return this.history.some(s=>s.name===e&&s.ts>=i&&(n===void 0||s.source===n))}countRecentEvents(e,t){let n=this.history.filter(i=>Pl(i,e));if(t!==void 0){let i=Date.now()-t;n=n.filter(s=>s.ts>=i)}return n.length}clearHistory(){this.history=[]}getSubscriberCount(){return this.subscriptions.size}};function vo(r={}){return new Ol(r)}var yo=class{constructor(e=100){this.entries=[];this.maxSize=e}record(e){this.entries.push(e),this.maxSize>0&&this.entries.length>this.maxSize&&this.entries.shift()}getAll(){return[...this.entries]}clear(){this.entries=[]}};var Pb={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource};function Ob(){return Pb}function Ep(r){let e=2166136261,t=r.length;for(let n=0;n<t;n++)e^=r.charCodeAt(n),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24);return e>>>0}function bo(r,e,t){return t===2?Ep(Ep(r+e)+"")%1e4/1e4:t===1?Ep(e+r)%1e3/1e3:null}function iA(r){return r<=0?[]:new Array(r).fill(1/r)}function Ll(r,e){return r>=e[0]&&r<e[1]}function Lb(r,e){let t=bo("__"+e[0],r,1);return t===null?!1:t>=e[1]&&t<e[2]}function Nb(r,e){for(let t=0;t<e.length;t++)if(Ll(r,e[t]))return t;return-1}function Ap(r){try{let e=r.replace(/([^\\])\//g,"$1\\/");return new RegExp(e)}catch(e){console.error(e);return}}function Nl(r,e){if(!e.length)return!1;let t=!1,n=!1;for(let i=0;i<e.length;i++){let s=aA(r,e[i].type,e[i].pattern);if(e[i].include===!1){if(s)return!1}else t=!0,s&&(n=!0)}return n||!t}function sA(r,e,t){try{let n=e.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return t&&(n="\\/?"+n.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+n+"$","i").test(r)}catch{return!1}}function oA(r,e){try{let t=new URL(e.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),n=[[r.host,t.host,!1],[r.pathname,t.pathname,!0]];return t.hash&&n.push([r.hash,t.hash,!1]),t.searchParams.forEach((i,s)=>{n.push([r.searchParams.get(s)||"",i,!1])}),!n.some(i=>!sA(i[0],i[1],i[2]))}catch{return!1}}function aA(r,e,t){try{let n=new URL(r,"https://_");if(e==="regex"){let i=Ap(t);return i?i.test(n.href)||i.test(n.href.substring(n.origin.length)):!1}else if(e==="simple")return oA(n,t);return!1}catch{return!1}}function Fb(r,e,t){e=e===void 0?1:e,e<0?e=0:e>1&&(e=1);let n=iA(r);t=t||n,t.length!==r&&(t=n);let i=t.reduce((o,a)=>a+o,0);(i<.99||i>1.01)&&(t=n);let s=0;return t.map(o=>{let a=s;return s+=o,[a,a+e*o]})}function Db(r,e,t){if(!e)return null;let n=e.split("?")[1];if(!n)return null;let i=n.replace(/#.*/,"").split("&").map(s=>s.split("=",2)).filter(([s])=>s===r).map(([,s])=>parseInt(s));return i.length>0&&i[0]>=0&&i[0]<t?i[0]:null}function Hb(r){try{return r()}catch(e){return console.error(e),!1}}var Cp=r=>Uint8Array.from(atob(r),e=>e.charCodeAt(0));async function Qn(r,e,t){if(e=e||"",t=t||globalThis.crypto&&globalThis.crypto.subtle||Pb.SubtleCrypto,!t)throw new Error("No SubtleCrypto implementation found");try{let n=await t.importKey("raw",Cp(e),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[i,s]=r.split("."),o=await t.decrypt({name:"AES-CBC",iv:Cp(i)},n,Cp(s));return new TextDecoder().decode(o)}catch{throw new Error("Failed to decrypt")}}function _o(r){return typeof r=="string"?r:JSON.stringify(r)}function wt(r){typeof r=="number"&&(r=r+""),(!r||typeof r!="string")&&(r="0");let e=r.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return e.length===3&&e.push("~"),e.map(t=>t.match(/^[0-9]+$/)?t.padStart(5," "):t).join("-")}function Bb(){let r;try{r="1.6.4"}catch{r=""}return r}function Vb(r,e){let t,n;try{t=new URL(r),n=new URL(e)}catch(i){return console.error(`Unable to merge query strings: ${i}`),e}return t.searchParams.forEach((i,s)=>{n.searchParams.has(s)||n.searchParams.set(s,i)}),n.toString()}function Mb(r){return typeof r=="object"&&r!==null}function Fl(r){return r.urlPatterns&&r.variations.some(e=>Mb(e)&&"urlRedirect"in e)?"redirect":r.variations.some(e=>Mb(e)&&(e.domMutations||"js"in e||"css"in e))?"visual":"unknown"}async function Dl(r,e){return new Promise(t=>{let n=!1,i,s=o=>{n||(n=!0,i&&clearTimeout(i),t(o||null))};e&&(i=setTimeout(()=>s(),e)),r.then(o=>s(o)).catch(()=>s())})}var st={staleTTL:1e3*60,maxAge:1e3*60*60*4,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4,disableCache:!1},ur=Ob(),Pi={fetchFeaturesCall:({host:r,clientKey:e,headers:t})=>ur.fetch(`${r}/api/features/${e}`,{headers:t}),fetchRemoteEvalCall:({host:r,clientKey:e,payload:t,headers:n})=>{let i={method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify(t)};return ur.fetch(`${r}/api/eval/${e}`,i)},eventSourceCall:({host:r,clientKey:e,headers:t})=>t?new ur.EventSource(`${r}/sub/${e}`,{headers:t}):new ur.EventSource(`${r}/sub/${e}`),startIdleListener:()=>{let r;if(!(typeof window<"u"&&typeof document<"u"))return;let t=()=>{document.visibilityState==="visible"?(window.clearTimeout(r),uA()):document.visibilityState==="hidden"&&(r=window.setTimeout(cA,st.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(ur.localStorage=globalThis.localStorage)}catch{}var Oi=new Map,Ub=!1,Rr=new Map,Hl=new Map,Li=new Map,Ni=new Set;function Wb(r){Object.assign(st,r),st.backgroundSync||Pp()}async function zb({instance:r,timeout:e,skipCache:t,allowStale:n,backgroundSync:i}){return i||(st.backgroundSync=!1),dA({instance:r,allowStale:n,timeout:e,skipCache:t})}function lA(r){let e=xo(r),t=Oi.get(e)||new Set;t.add(r),Oi.set(e,t)}function qb(r){Oi.forEach(e=>e.delete(r))}function cA(){Li.forEach(r=>{r&&(r.state="idle",$p(r))})}function uA(){Li.forEach(r=>{r&&r.state==="idle"&&Mp(r)})}async function jb(){try{if(!ur.localStorage)return;await ur.localStorage.setItem(st.cacheKey,JSON.stringify(Array.from(Rr.entries())))}catch{}}async function dA({instance:r,allowStale:e,timeout:t,skipCache:n}){let i=xo(r),s=Rp(r),o=new Date,a=new Date(o.getTime()-st.maxAge+st.staleTTL);await pA();let l=!st.disableCache&&!n?Rr.get(s):void 0;return l&&(e||l.staleAt>o)&&l.staleAt>a?(l.sse&&Ni.add(i),l.staleAt<o?Tp(r):Ip(r),{data:l.data,success:!0,source:"cache"}):await Dl(Tp(r),t)||{data:null,success:!1,source:"timeout",error:new Error("Timeout")}}function xo(r){let[e,t]=r.getApiInfo();return`${e}||${t}`}function Rp(r){let e=xo(r);if(!("isRemoteEval"in r)||!r.isRemoteEval())return e;let t=r.getAttributes(),n=r.getCacheKeyAttributes()||Object.keys(r.getAttributes()),i={};n.forEach(a=>{i[a]=t[a]});let s=r.getForcedVariations(),o=r.getUrl();return`${e}||${JSON.stringify({ca:i,fv:s,url:o})}`}async function pA(){if(!Ub){Ub=!0;try{if(ur.localStorage){let r=await ur.localStorage.getItem(st.cacheKey);if(!st.disableCache&&r){let e=JSON.parse(r);e&&Array.isArray(e)&&e.forEach(([t,n])=>{Rr.set(t,{...n,staleAt:new Date(n.staleAt)})}),Zb()}}}catch{}if(!st.disableIdleStreams){let r=Pi.startIdleListener();r&&(Pi.stopIdleListener=r)}}}function Zb(){let r=Array.from(Rr.entries()).map(([t,n])=>({key:t,staleAt:n.staleAt.getTime()})).sort((t,n)=>t.staleAt-n.staleAt),e=Math.min(Math.max(0,Rr.size-st.maxEntries),Rr.size);for(let t=0;t<e;t++)Rr.delete(r[t].key)}function Gb(r,e,t){let n=t.dateUpdated||"",i=new Date(Date.now()+st.staleTTL),s=st.disableCache?void 0:Rr.get(e);if(s&&n&&s.version===n){s.staleAt=i,jb();return}st.disableCache||(Rr.set(e,{data:t,version:n,staleAt:i,sse:Ni.has(r)}),Zb()),jb();let o=Oi.get(r);o&&o.forEach(a=>hA(a,t))}async function hA(r,e){await r.setPayload(e||r.getPayload())}async function Tp(r){let{apiHost:e,apiRequestHeaders:t}=r.getApiHosts(),n=r.getClientKey(),i="isRemoteEval"in r&&r.isRemoteEval(),s=xo(r),o=Rp(r),a=Hl.get(o);return a||(a=(i?Pi.fetchRemoteEvalCall({host:e,clientKey:n,payload:{attributes:r.getAttributes(),forcedVariations:r.getForcedVariations(),forcedFeatures:Array.from(r.getForcedFeatures().entries()),url:r.getUrl()},headers:t}):Pi.fetchFeaturesCall({host:e,clientKey:n,headers:t})).then(c=>{if(!c.ok)throw new Error(`HTTP error: ${c.status}`);return c.headers.get("x-sse-support")==="enabled"&&Ni.add(s),c.json()}).then(c=>(Gb(s,o,c),Ip(r),Hl.delete(o),{data:c,success:!0,source:"network"})).catch(c=>(Hl.delete(o),{data:null,source:"error",success:!1,error:c})),Hl.set(o,a)),a}function Ip(r,e=!1){let t=xo(r),n=Rp(r),{streamingHost:i,streamingHostRequestHeaders:s}=r.getApiHosts(),o=r.getClientKey();if(e&&Ni.add(t),st.backgroundSync&&Ni.has(t)&&ur.EventSource){if(Li.has(t))return;let a={src:null,host:i,clientKey:o,headers:s,cb:l=>{try{if(l.type==="features-updated"){let c=Oi.get(t);c&&c.forEach(u=>{Tp(u)})}else if(l.type==="features"){let c=JSON.parse(l.data);Gb(t,n,c)}a.errors=0}catch{Kb(a)}},errors:0,state:"active"};Li.set(t,a),Mp(a)}}function Kb(r){if(r.state!=="idle"&&(r.errors++,r.errors>3||r.src&&r.src.readyState===2)){let e=Math.pow(3,r.errors-3)*(1e3+Math.random()*1e3);$p(r),setTimeout(()=>{["idle","active"].includes(r.state)||Mp(r)},Math.min(e,3e5))}}function $p(r){r.src&&(r.src.onopen=null,r.src.onerror=null,r.src.close(),r.src=null,r.state==="active"&&(r.state="disabled"))}function Mp(r){r.src=Pi.eventSourceCall({host:r.host,clientKey:r.clientKey,headers:r.headers}),r.state="active",r.src.addEventListener("features",r.cb),r.src.addEventListener("features-updated",r.cb),r.src.onerror=()=>Kb(r),r.src.onopen=()=>{r.errors=0}}function fA(r,e){$p(r),Li.delete(e)}function Pp(){Ni.clear(),Li.forEach(fA),Oi.clear(),Pi.stopIdleListener()}function Bl(r,e){if(e.streaming){if(!r.getClientKey())throw new Error("Must specify clientKey to enable streaming");e.payload&&Ip(r,!0),lA(r)}}var gA=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,Np={revert:function(){}},Wl=new Map,Fp=new Set;function mA(r){return r==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[r]}}function zl(r){var e=Wl.get(r);return e||(e={element:r,attributes:{}},Wl.set(r,e)),e}function ql(r,e,t,n,i){var s=t(r),o={isDirty:!1,originalValue:s,virtualValue:s,mutations:[],el:r,_positionTimeout:null,observer:new MutationObserver(function(){if(!(e==="position"&&o._positionTimeout)){e==="position"&&(o._positionTimeout=setTimeout(function(){o._positionTimeout=null},1e3));var a=t(r);e==="position"&&a.parentNode===o.virtualValue.parentNode&&a.insertBeforeNode===o.virtualValue.insertBeforeNode||a!==o.virtualValue&&(o.originalValue=a,i(o))}}),mutationRunner:i,setValue:n,getCurrentValue:t};return e==="position"&&r.parentNode?o.observer.observe(r.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):o.observer.observe(r,mA(e)),o}function Zl(r,e){var t=e.getCurrentValue(e.el);e.virtualValue=r,r&&typeof r!="string"?(!t||r.parentNode!==t.parentNode||r.insertBeforeNode!==t.insertBeforeNode)&&(e.isDirty=!0,Yb()):r!==t&&(e.isDirty=!0,Yb())}function vA(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),Zl($A(e),r)}function yA(r){var e=new Set(r.originalValue.split(/\s+/).filter(Boolean));r.mutations.forEach(function(t){return t.mutate(e)}),Zl(Array.from(e).filter(Boolean).join(" "),r)}function bA(r){var e=r.originalValue;r.mutations.forEach(function(t){return e=t.mutate(e)}),Zl(e,r)}function _A(r){var e=r.parentSelector,t=r.insertBeforeSelector,n=document.querySelector(e);if(!n)return null;var i=t?document.querySelector(t):null;return t&&!i?null:{parentNode:n,insertBeforeNode:i}}function xA(r){var e=r.originalValue;r.mutations.forEach(function(t){var n=t.mutate(),i=_A(n);e=i||e}),Zl(e,r)}var wA=function(e){return e.innerHTML},SA=function(e,t){return e.innerHTML=t};function Jb(r){var e=zl(r);return e.html||(e.html=ql(r,"html",wA,SA,vA)),e.html}var kA=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},EA=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function Qb(r){var e=zl(r);return e.position||(e.position=ql(r,"position",kA,EA,xA)),e.position}var CA=function(e,t){return t?e.className=t:e.removeAttribute("class")},AA=function(e){return e.className};function e_(r){var e=zl(r);return e.classes||(e.classes=ql(r,"class",AA,CA,yA)),e.classes}var TA=function(e){return function(t){var n;return(n=t.getAttribute(e))!=null?n:null}},RA=function(e){return function(t,n){return n!==null?t.setAttribute(e,n):t.removeAttribute(e)}};function t_(r,e){var t=zl(r);return t.attributes[e]||(t.attributes[e]=ql(r,e,TA(e),RA(e),bA)),t.attributes[e]}function IA(r,e){var t=Wl.get(r);if(t)if(e==="html"){var n,i;(n=t.html)==null||(i=n.observer)==null||i.disconnect(),delete t.html}else if(e==="class"){var s,o;(s=t.classes)==null||(o=s.observer)==null||o.disconnect(),delete t.classes}else if(e==="position"){var a,l;(a=t.position)==null||(l=a.observer)==null||l.disconnect(),delete t.position}else{var c,u,p;(c=t.attributes)==null||(u=c[e])==null||(p=u.observer)==null||p.disconnect(),delete t.attributes[e]}}var Vl;function $A(r){return Vl||(Vl=document.createElement("div")),Vl.innerHTML=r,Vl.innerHTML}function Ul(r,e,t){if(t.isDirty){t.isDirty=!1;var n=t.virtualValue;t.mutations.length||IA(r,e),t.setValue(r,n)}}function MA(r,e){r.html&&Ul(e,"html",r.html),r.classes&&Ul(e,"class",r.classes),r.position&&Ul(e,"position",r.position),Object.keys(r.attributes).forEach(function(t){Ul(e,t,r.attributes[t])})}function Yb(){Wl.forEach(MA)}function PA(r,e){var t=null;r.kind==="html"?t=Jb(e):r.kind==="class"?t=e_(e):r.kind==="attribute"?t=t_(e,r.attribute):r.kind==="position"&&(t=Qb(e)),t&&(t.mutations.push(r),t.mutationRunner(t))}function OA(r,e){var t=null;if(r.kind==="html"?t=Jb(e):r.kind==="class"?t=e_(e):r.kind==="attribute"?t=t_(e,r.attribute):r.kind==="position"&&(t=Qb(e)),!!t){var n=t.mutations.indexOf(r);n!==-1&&t.mutations.splice(n,1),t.mutationRunner(t)}}function r_(r){if(!(r.kind==="position"&&r.elements.size===1)){var e=new Set(r.elements),t=document.querySelectorAll(r.selector);t.forEach(function(n){e.has(n)||(r.elements.add(n),PA(r,n))})}}function LA(r){r.elements.forEach(function(e){return OA(r,e)}),r.elements.clear(),Fp.delete(r)}function Xb(){Fp.forEach(r_)}var Op;function NA(){typeof document>"u"||(Op||(Op=new MutationObserver(function(){Xb()})),Xb(),Op.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}NA();function Gl(r){return typeof document>"u"?Np:(Fp.add(r),r_(r),{revert:function(){LA(r)}})}function Lp(r,e){return Gl({kind:"html",elements:new Set,mutate:e,selector:r})}function n_(r,e){return Gl({kind:"position",elements:new Set,mutate:e,selector:r})}function wo(r,e){return Gl({kind:"class",elements:new Set,mutate:e,selector:r})}function jl(r,e,t){return gA.test(e)?e==="class"||e==="className"?wo(r,function(n){var i=t(Array.from(n).join(" "));n.clear(),i&&i.split(/\s+/g).filter(Boolean).forEach(function(s){return n.add(s)})}):Gl({kind:"attribute",attribute:e,elements:new Set,mutate:t,selector:r}):Np}function FA(r){var e=r.selector,t=r.action,n=r.value,i=r.attribute,s=r.parentSelector,o=r.insertBeforeSelector;if(i==="html"){if(t==="append")return Lp(e,function(a){return a+(n??"")});if(t==="set")return Lp(e,function(){return n??""})}else if(i==="class"){if(t==="append")return wo(e,function(a){n&&a.add(n)});if(t==="remove")return wo(e,function(a){n&&a.delete(n)});if(t==="set")return wo(e,function(a){a.clear(),n&&a.add(n)})}else if(i==="position"){if(t==="set"&&s)return n_(e,function(){return{insertBeforeSelector:o,parentSelector:s}})}else{if(t==="append")return jl(e,i,function(a){return a!==null?a+(n??""):n??""});if(t==="set")return jl(e,i,function(){return n??""});if(t==="remove")return jl(e,i,function(){return null})}return Np}var DA={html:Lp,classes:wo,attribute:jl,position:n_,declarative:FA},i_=DA;var Dp={};function rn(r,e,t){t=t||{};for(let[n,i]of Object.entries(e))switch(n){case"$or":if(!a_(r,i,t))return!1;break;case"$nor":if(a_(r,i,t))return!1;break;case"$and":if(!jA(r,i,t))return!1;break;case"$not":if(rn(r,i,t))return!1;break;default:if(!So(i,HA(r,n),t))return!1}return!0}function HA(r,e){let t=e.split("."),n=r;for(let i=0;i<t.length;i++)if(n&&typeof n=="object"&&t[i]in n)n=n[t[i]];else return null;return n}function s_(r,e=!1){let t=`${r}${e?"/i":""}`;return Dp[t]||(Dp[t]=new RegExp(r.replace(/([^\\])\//g,"$1\\/"),e?"i":void 0)),Dp[t]}function So(r,e,t,n=!1){if(typeof r=="string")return n?String(e).toLowerCase()===r.toLowerCase():e+""===r;if(typeof r=="number")return e*1===r;if(typeof r=="boolean")return e!==null&&!!e===r;if(r===null)return e===null;if(Array.isArray(r)||!l_(r))return JSON.stringify(e)===JSON.stringify(r);for(let i in r)if(!UA(i,e,r[i],t))return!1;return!0}function l_(r){let e=Object.keys(r);return e.length>0&&e.filter(t=>t[0]==="$").length===e.length}function BA(r){if(r===null)return"null";if(Array.isArray(r))return"array";let e=typeof r;return["string","number","boolean","object","undefined"].includes(e)?e:"unknown"}function VA(r,e,t){if(!Array.isArray(r))return!1;let n=l_(e)?i=>So(e,i,t):i=>rn(i,e,t);for(let i=0;i<r.length;i++)if(r[i]&&n(r[i]))return!0;return!1}function Fi(r,e,t=!1){if(t){let n=i=>typeof i=="string"?i.toLowerCase():i;return Array.isArray(r)?r.some(i=>e.some(s=>n(i)===n(s))):e.some(i=>n(r)===n(i))}return Array.isArray(r)?r.some(n=>e.includes(n)):e.includes(r)}function o_(r,e,t,n=!1){if(!Array.isArray(r))return!1;for(let i=0;i<e.length;i++){let s=!1;for(let o=0;o<r.length;o++)if(So(e[i],r[o],t,n)){s=!0;break}if(!s)return!1}return!0}function UA(r,e,t,n){switch(r){case"$veq":return wt(e)===wt(t);case"$vne":return wt(e)!==wt(t);case"$vgt":return wt(e)>wt(t);case"$vgte":return wt(e)>=wt(t);case"$vlt":return wt(e)<wt(t);case"$vlte":return wt(e)<=wt(t);case"$eq":return e===t;case"$ne":return e!==t;case"$lt":return e<t;case"$lte":return e<=t;case"$gt":return e>t;case"$gte":return e>=t;case"$exists":return t?e!=null:e==null;case"$in":return Array.isArray(t)?Fi(e,t):!1;case"$ini":return Array.isArray(t)?Fi(e,t,!0):!1;case"$inGroup":return Fi(e,n[t]||[]);case"$notInGroup":return!Fi(e,n[t]||[]);case"$nin":return Array.isArray(t)?!Fi(e,t):!1;case"$nini":return Array.isArray(t)?!Fi(e,t,!0):!1;case"$not":return!So(t,e,n);case"$size":return Array.isArray(e)?So(t,e.length,n):!1;case"$elemMatch":return VA(e,t,n);case"$all":return Array.isArray(t)?o_(e,t,n):!1;case"$alli":return Array.isArray(t)?o_(e,t,n,!0):!1;case"$regex":try{return s_(t).test(e)}catch{return!1}case"$regexi":try{return s_(t,!0).test(e)}catch{return!1}case"$type":return BA(e)===t;default:return console.error("Unknown operator: "+r),!1}}function a_(r,e,t){if(!e.length)return!0;for(let n=0;n<e.length;n++)if(rn(r,e[n],t))return!0;return!1}function jA(r,e,t){for(let n=0;n<e.length;n++)if(!rn(r,e[n],t))return!1;return!0}var WA="Feature Evaluated",zA="Experiment Viewed";function qA(r){let e=new Map;return r.global.forcedFeatureValues&&r.global.forcedFeatureValues.forEach((t,n)=>e.set(n,t)),r.user.forcedFeatureValues&&r.user.forcedFeatureValues.forEach((t,n)=>e.set(n,t)),e}function ZA(r){return r.global.forcedVariations&&r.user.forcedVariations?{...r.global.forcedVariations,...r.user.forcedVariations}:r.global.forcedVariations?r.global.forcedVariations:r.user.forcedVariations?r.user.forcedVariations:{}}async function Di(r){try{await r()}catch{}}function c_(r,e,t){if(r.user.trackedExperiments){let i=Xl(e,t);if(r.user.trackedExperiments.has(i))return[];r.user.trackedExperiments.add(i)}r.user.enableDevMode&&r.user.devLogs&&r.user.devLogs.push({experiment:e,result:t,timestamp:Date.now().toString(),logType:"experiment"});let n=[];if(r.global.trackingCallback){let i=r.global.trackingCallback;n.push(Di(()=>i(e,t,r.user)))}if(r.user.trackingCallback){let i=r.user.trackingCallback;n.push(Di(()=>i(e,t)))}if(r.global.eventLogger){let i=r.global.eventLogger;n.push(Di(()=>i(zA,{experimentId:e.key,variationId:t.key,hashAttribute:t.hashAttribute,hashValue:t.hashValue},r.user)))}return n}function GA(r,e,t){if(r.user.trackedFeatureUsage){let n=JSON.stringify(t.value);if(r.user.trackedFeatureUsage[e]===n)return;r.user.trackedFeatureUsage[e]=n,r.user.enableDevMode&&r.user.devLogs&&r.user.devLogs.push({featureKey:e,result:t,timestamp:Date.now().toString(),logType:"feature"})}if(r.global.onFeatureUsage){let n=r.global.onFeatureUsage;Di(()=>n(e,t,r.user))}if(r.user.onFeatureUsage){let n=r.user.onFeatureUsage;Di(()=>n(e,t))}if(r.global.eventLogger){let n=r.global.eventLogger;Di(()=>n(WA,{feature:e,source:t.source,value:t.value,ruleId:t.source==="defaultValue"?"$default":t.ruleId||"",variationId:t.experimentResult?t.experimentResult.key:""},r.user))}}function Kl(r,e){if(e.stack.evaluatedFeatures.has(r))return nn(e,r,null,"cyclicPrerequisite");e.stack.evaluatedFeatures.add(r),e.stack.id=r;let t=qA(e);if(t.has(r))return nn(e,r,t.get(r),"override");if(!e.global.features||!e.global.features[r])return nn(e,r,null,"unknownFeature");let n=e.global.features[r];if(n.rules){let i=new Set(e.stack.evaluatedFeatures);e:for(let s of n.rules){if(s.parentConditions)for(let l of s.parentConditions){e.stack.evaluatedFeatures=new Set(i);let c=Kl(l.id,e);if(c.source==="cyclicPrerequisite")return nn(e,r,null,"cyclicPrerequisite");let u={value:c.value};if(!rn(u,l.condition||{})){if(l.gate)return nn(e,r,null,"prerequisite");continue e}}if(s.filters&&p_(s.filters,e))continue;if("force"in s){if(s.condition&&!d_(s.condition,e)||!KA(e,s.seed||r,s.hashAttribute,e.user.saveStickyBucketAssignmentDoc&&!s.disableStickyBucketing?s.fallbackAttribute:void 0,s.range,s.coverage,s.hashVersion))continue;return s.tracks&&s.tracks.forEach(l=>{!c_(e,l.experiment,l.result).length&&e.global.saveDeferredTrack&&e.global.saveDeferredTrack({experiment:l.experiment,result:l.result})}),nn(e,r,s.force,"force",s.id)}if(!s.variations)continue;let o={variations:s.variations,key:s.key||r};"coverage"in s&&(o.coverage=s.coverage),s.weights&&(o.weights=s.weights),s.hashAttribute&&(o.hashAttribute=s.hashAttribute),s.fallbackAttribute&&(o.fallbackAttribute=s.fallbackAttribute),s.disableStickyBucketing&&(o.disableStickyBucketing=s.disableStickyBucketing),s.bucketVersion!==void 0&&(o.bucketVersion=s.bucketVersion),s.minBucketVersion!==void 0&&(o.minBucketVersion=s.minBucketVersion),s.namespace&&(o.namespace=s.namespace),s.meta&&(o.meta=s.meta),s.ranges&&(o.ranges=s.ranges),s.name&&(o.name=s.name),s.phase&&(o.phase=s.phase),s.seed&&(o.seed=s.seed),s.hashVersion&&(o.hashVersion=s.hashVersion),s.filters&&(o.filters=s.filters),s.condition&&(o.condition=s.condition);let{result:a}=Yl(o,r,e);if(e.global.onExperimentEval&&e.global.onExperimentEval(o,a),a.inExperiment&&!a.passthrough)return nn(e,r,a.value,"experiment",s.id,o,a)}}return nn(e,r,n.defaultValue===void 0?null:n.defaultValue,"defaultValue")}function Yl(r,e,t){let n=r.key,i=r.variations.length;if(i<2)return{result:$e(t,r,-1,!1,e)};if(t.global.enabled===!1||t.user.enabled===!1)return{result:$e(t,r,-1,!1,e)};if(r=YA(r,t),r.urlPatterns&&!Nl(t.user.url||"",r.urlPatterns))return{result:$e(t,r,-1,!1,e)};let s=Db(n,t.user.url||"",i);if(s!==null)return{result:$e(t,r,s,!1,e)};let o=ZA(t);if(n in o){let g=o[n];return{result:$e(t,r,g,!1,e)}}if(r.status==="draft"||r.active===!1)return{result:$e(t,r,-1,!1,e)};let{hashAttribute:a,hashValue:l}=ei(t,r.hashAttribute,t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing?r.fallbackAttribute:void 0);if(!l)return{result:$e(t,r,-1,!1,e)};let c=-1,u=!1,p=!1;if(t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing){let{variation:g,versionIsBlocked:b}=QA({ctx:t,expKey:r.key,expBucketVersion:r.bucketVersion,expHashAttribute:r.hashAttribute,expFallbackAttribute:r.fallbackAttribute,expMinBucketVersion:r.minBucketVersion,expMeta:r.meta});u=g>=0,c=g,p=!!b}if(!u){if(r.filters){if(p_(r.filters,t))return{result:$e(t,r,-1,!1,e)}}else if(r.namespace&&!Lb(l,r.namespace))return{result:$e(t,r,-1,!1,e)};if(r.include&&!Hb(r.include))return{result:$e(t,r,-1,!1,e)};if(r.condition&&!d_(r.condition,t))return{result:$e(t,r,-1,!1,e)};if(r.parentConditions){let g=new Set(t.stack.evaluatedFeatures);for(let b of r.parentConditions){t.stack.evaluatedFeatures=new Set(g);let x=Kl(b.id,t);if(x.source==="cyclicPrerequisite")return{result:$e(t,r,-1,!1,e)};let w={value:x.value};if(!rn(w,b.condition||{}))return{result:$e(t,r,-1,!1,e)}}}if(r.groups&&!JA(r.groups,t))return{result:$e(t,r,-1,!1,e)}}if(r.url&&!XA(r.url,t))return{result:$e(t,r,-1,!1,e)};let h=bo(r.seed||n,l,r.hashVersion||1);if(h===null)return{result:$e(t,r,-1,!1,e)};if(!u){let g=r.ranges||Fb(i,r.coverage===void 0?1:r.coverage,r.weights);c=Nb(h,g)}if(p)return{result:$e(t,r,-1,!1,e,void 0,!0)};if(c<0)return{result:$e(t,r,-1,!1,e)};if("force"in r)return{result:$e(t,r,r.force===void 0?-1:r.force,!1,e)};if(t.global.qaMode||t.user.qaMode)return{result:$e(t,r,-1,!1,e)};if(r.status==="stopped")return{result:$e(t,r,-1,!1,e)};let f=$e(t,r,c,!0,e,h,u);if(t.user.saveStickyBucketAssignmentDoc&&!r.disableStickyBucketing){let{changed:g,key:b,doc:x}=t2(t,a,_o(l),{[Hp(r.key,r.bucketVersion)]:f.key});g&&(t.user.stickyBucketAssignmentDocs=t.user.stickyBucketAssignmentDocs||{},t.user.stickyBucketAssignmentDocs[b]=x,t.user.saveStickyBucketAssignmentDoc(x))}let v=c_(t,r,f);v.length===0&&t.global.saveDeferredTrack&&t.global.saveDeferredTrack({experiment:r,result:f});let m=v.length?v.length===1?v[0]:Promise.all(v).then(()=>{}):void 0;return"changeId"in r&&r.changeId&&t.global.recordChangeId&&t.global.recordChangeId(r.changeId),{result:f,trackingCall:m}}function nn(r,e,t,n,i,s,o){let a={value:t,on:!!t,off:!t,source:n,ruleId:i||""};return s&&(a.experiment=s),o&&(a.experimentResult=o),n!=="override"&&GA(r,e,a),a}function u_(r){return{...r.user.attributes,...r.user.attributeOverrides}}function d_(r,e){return rn(u_(e),r,e.global.savedGroups||{})}function p_(r,e){return r.some(t=>{let{hashValue:n}=ei(e,t.attribute);if(!n)return!0;let i=bo(t.seed,n,t.hashVersion||2);return i===null?!0:!t.ranges.some(s=>Ll(i,s))})}function KA(r,e,t,n,i,s,o){if(!i&&s===void 0)return!0;if(!i&&s===0)return!1;let{hashValue:a}=ei(r,t,n);if(!a)return!1;let l=bo(e,a,o||1);return l===null?!1:i?Ll(l,i):s!==void 0?l<=s:!0}function $e(r,e,t,n,i,s,o){let a=!0;(t<0||t>=e.variations.length)&&(t=0,a=!1);let{hashAttribute:l,hashValue:c}=ei(r,e.hashAttribute,r.user.saveStickyBucketAssignmentDoc&&!e.disableStickyBucketing?e.fallbackAttribute:void 0),u=e.meta?e.meta[t]:{},p={key:u.key||""+t,featureId:i,inExperiment:a,hashUsed:n,variationId:t,value:e.variations[t],hashAttribute:l,hashValue:c,stickyBucketUsed:!!o};return u.name&&(p.name=u.name),s!==void 0&&(p.bucket=s),u.passthrough&&(p.passthrough=u.passthrough),p}function YA(r,e){let t=r.key,n=e.global.overrides;return n&&n[t]&&(r=Object.assign({},r,n[t]),typeof r.url=="string"&&(r.url=Ap(r.url))),r}function ei(r,e,t){let n=e||"id",i="",s=u_(r);return s[n]&&(i=s[n]),!i&&t&&(s[t]&&(i=s[t]),i&&(n=t)),{hashAttribute:n,hashValue:i}}function XA(r,e){let t=e.user.url;if(!t)return!1;let n=t.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!(r.test(t)||r.test(n))}function JA(r,e){let t=e.global.groups||{};for(let n=0;n<r.length;n++)if(t[r[n]])return!0;return!1}function QA({ctx:r,expKey:e,expBucketVersion:t,expHashAttribute:n,expFallbackAttribute:i,expMinBucketVersion:s,expMeta:o}){t=t||0,s=s||0,n=n||"id",o=o||[];let a=Hp(e,t),l=e2(r,n,i);if(s>0)for(let p=0;p<s;p++){let h=Hp(e,p);if(l[h]!==void 0)return{variation:-1,versionIsBlocked:!0}}let c=l[a];if(c===void 0)return{variation:-1};let u=o.findIndex(p=>p.key===c);return u<0?{variation:-1}:{variation:u}}function Hp(r,e){return e=e||0,`${r}__${e}`}function Bp(r,e){return`${r}||${e}`}function e2(r,e,t){if(!r.user.stickyBucketAssignmentDocs)return{};let{hashAttribute:n,hashValue:i}=ei(r,e),s=Bp(n,_o(i)),{hashAttribute:o,hashValue:a}=ei(r,t),l=a?Bp(o,_o(a)):null,c={};return l&&r.user.stickyBucketAssignmentDocs[l]&&Object.assign(c,r.user.stickyBucketAssignmentDocs[l].assignments||{}),r.user.stickyBucketAssignmentDocs[s]&&Object.assign(c,r.user.stickyBucketAssignmentDocs[s].assignments||{}),c}function t2(r,e,t,n){let i=Bp(e,t),s=r.user.stickyBucketAssignmentDocs&&r.user.stickyBucketAssignmentDocs[i]?r.user.stickyBucketAssignmentDocs[i].assignments||{}:{},o={...s,...n},a=JSON.stringify(s)!==JSON.stringify(o);return{key:i,doc:{attributeName:e,attributeValue:t,assignments:o},changed:a}}function r2(r,e){let t=new Set,n=e&&e.features?e.features:r.global.features||{},i=e&&e.experiments?e.experiments:r.global.experiments||[];return Object.keys(n).forEach(s=>{let o=n[s];if(o.rules)for(let a of o.rules)a.variations&&(t.add(a.hashAttribute||"id"),a.fallbackAttribute&&t.add(a.fallbackAttribute))}),i.map(s=>{t.add(s.hashAttribute||"id"),s.fallbackAttribute&&t.add(s.fallbackAttribute)}),Array.from(t)}async function h_(r,e,t){let n=Vp(r,t);return e.getAllAssignments(n)}function Vp(r,e){let t={};return r2(r,e).forEach(i=>{let{hashValue:s}=ei(r,i);t[i]=_o(s)}),t}async function f_(r,e,t){if(r={...r},r.encryptedFeatures){try{r.features=JSON.parse(await Qn(r.encryptedFeatures,e,t))}catch(n){console.error(n)}delete r.encryptedFeatures}if(r.encryptedExperiments){try{r.experiments=JSON.parse(await Qn(r.encryptedExperiments,e,t))}catch(n){console.error(n)}delete r.encryptedExperiments}if(r.encryptedSavedGroups){try{r.savedGroups=JSON.parse(await Qn(r.encryptedSavedGroups,e,t))}catch(n){console.error(n)}delete r.encryptedSavedGroups}return r}function g_(r){let e=r.apiHost||"https://cdn.growthbook.io";return{apiHost:e.replace(/\/*$/,""),streamingHost:(r.streamingHost||e).replace(/\/*$/,""),apiRequestHeaders:r.apiHostRequestHeaders,streamingHostRequestHeaders:r.streamingHostRequestHeaders}}function Xl(r,e){return e.hashAttribute+e.hashValue+r.key+e.variationId}var Hi=typeof window<"u"&&typeof document<"u",n2=Bb(),ko=class{constructor(e){if(e=e||{},this.version=n2,this._options=this.context=e,this._renderer=e.renderer||null,this._trackedExperiments=new Set,this._completedChangeIds=new Set,this._trackedFeatures={},this.debug=!!e.debug,this._subscriptions=new Set,this.ready=!1,this._assigned=new Map,this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._initialized=!1,this._redirectedUrl="",this._deferredTrackingCalls=new Map,this._autoExperimentsAllowed=!e.disableExperimentsOnLoad,this._destroyCallbacks=[],this.logs=[],this.log=this.log.bind(this),this._saveDeferredTrack=this._saveDeferredTrack.bind(this),this._onExperimentEval=this._onExperimentEval.bind(this),this._fireSubscriptions=this._fireSubscriptions.bind(this),this._recordChangedId=this._recordChangedId.bind(this),e.remoteEval){if(e.decryptionKey)throw new Error("Encryption is not available for remoteEval");if(!e.clientKey)throw new Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch{}if(t)throw new Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw new Error("cacheKeyAttributes are only used for remoteEval");if(e.stickyBucketService){let t=e.stickyBucketService;this._saveStickyBucketAssignmentDoc=n=>t.saveAssignments(n)}if(e.plugins)for(let t of e.plugins)t(this);if(e.features&&(this.ready=!0),Hi&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),this._options.stickyBucketService&&this._options.stickyBucketAssignmentDocs)for(let t in this._options.stickyBucketAssignmentDocs){let n=this._options.stickyBucketAssignmentDocs[t];n&&this._options.stickyBucketService.saveAssignments(n).catch(()=>{})}this.ready&&this.refreshStickyBuckets(this.getPayload())}async setPayload(e){this._payload=e;let t=await f_(e,this._options.decryptionKey);this._decryptedPayload=t,await this.refreshStickyBuckets(t),t.features&&(this._options.features=t.features),t.savedGroups&&(this._options.savedGroups=t.savedGroups),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,this._render()}initSync(e){this._initialized=!0;let t=e.payload;if(t.encryptedExperiments||t.encryptedFeatures)throw new Error("initSync does not support encrypted payloads");return this._options.stickyBucketService&&!this._options.stickyBucketAssignmentDocs&&(this._options.stickyBucketAssignmentDocs=this.generateStickyBucketAssignmentDocsSync(this._options.stickyBucketService,t)),this._payload=t,this._decryptedPayload=t,t.features&&(this._options.features=t.features),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,Bl(this,e),this}async init(e){if(this._initialized=!0,e=e||{},e.cacheSettings&&Wb(e.cacheSettings),e.payload)return await this.setPayload(e.payload),Bl(this,e),{success:!0,source:"init"};{let{data:t,...n}=await this._refresh({...e,allowStale:!0});return Bl(this,e),await this.setPayload(t||{}),n}}async loadFeatures(e){e=e||{},await this.init({skipCache:e.skipCache,timeout:e.timeout,streaming:(this._options.backgroundSync??!0)&&(e.autoRefresh||this._options.subscribeToChanges)})}async refreshFeatures(e){let t=await this._refresh({...e||{},allowStale:!1});t.data&&await this.setPayload(t.data)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){return g_(this._options)}getClientKey(){return this._options.clientKey||""}getPayload(){return this._payload||{features:this.getFeatures(),experiments:this.getExperiments()}}getDecryptedPayload(){return this._decryptedPayload||this.getPayload()}isRemoteEval(){return this._options.remoteEval||!1}getCacheKeyAttributes(){return this._options.cacheKeyAttributes}async _refresh({timeout:e,skipCache:t,allowStale:n,streaming:i}){if(!this._options.clientKey)throw new Error("Missing clientKey");return zb({instance:this,timeout:e,skipCache:t||this._options.disableCache,allowStale:n,backgroundSync:i??this._options.backgroundSync??!0})}_render(){if(this._renderer)try{this._renderer()}catch(e){console.error("Failed to render",e)}}setFeatures(e){this._options.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,n){let i=await Qn(e,t||this._options.decryptionKey,n);this.setFeatures(JSON.parse(i))}setExperiments(e){this._options.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,n){let i=await Qn(e,t||this._options.decryptionKey,n);this.setExperiments(JSON.parse(i))}async setAttributes(e){if(this._options.attributes=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}async updateAttributes(e){return this.setAttributes({...this._options.attributes,...e})}async setAttributeOverrides(e){if(this._options.attributeOverrides=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}async setForcedVariations(e){if(this._options.forcedVariations=e||{},this._options.remoteEval){await this._refreshForRemoteEval();return}this._render(),this._updateAllAutoExperiments()}setForcedFeatures(e){this._options.forcedFeatureValues=e,this._render()}async setURL(e){if(e!==this._options.url){if(this._options.url=e,this._redirectedUrl="",this._options.remoteEval){await this._refreshForRemoteEval(),this._updateAllAutoExperiments(!0);return}this._updateAllAutoExperiments(!0)}}getAttributes(){return{...this._options.attributes,...this._options.attributeOverrides}}getForcedVariations(){return this._options.forcedVariations||{}}getForcedFeatures(){return this._options.forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._options.stickyBucketAssignmentDocs||{}}getUrl(){return this._options.url||""}getFeatures(){return this._options.features||{}}getExperiments(){return this._options.experiments||[]}getCompletedChangeIds(){return Array.from(this._completedChangeIds)}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}async _refreshForRemoteEval(){if(!this._options.remoteEval||!this._initialized)return;let e=await this._refresh({allowStale:!1});e.data&&await this.setPayload(e.data)}getAllResults(){return new Map(this._assigned)}onDestroy(e){this._destroyCallbacks.push(e)}isDestroyed(){return!!this._destroyed}destroy(e){e=e||{},this._destroyed=!0,this._destroyCallbacks.forEach(t=>{try{t()}catch(n){console.error(n)}}),this._subscriptions.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._completedChangeIds.clear(),this._deferredTrackingCalls.clear(),this._trackedFeatures={},this._destroyCallbacks=[],this._payload=void 0,this._saveStickyBucketAssignmentDoc=void 0,qb(this),e.destroyAllStreams&&Pp(),this.logs=[],Hi&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(t=>{t.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){if(this._options.forcedVariations=this._options.forcedVariations||{},this._options.forcedVariations[e]=t,this._options.remoteEval){this._refreshForRemoteEval();return}this._updateAllAutoExperiments(),this._render()}run(e){let{result:t}=Yl(e,null,this._getEvalContext());return this._onExperimentEval(e,t),t}triggerExperiment(e){return this._triggeredExpKeys.add(e),this._options.experiments?this._options.experiments.filter(n=>n.key===e).map(n=>this._runAutoExperiment(n)).filter(n=>n!==null):null}triggerAutoExperiments(){this._autoExperimentsAllowed=!0,this._updateAllAutoExperiments(!0)}_getEvalContext(){return{user:this._getUserContext(),global:this._getGlobalContext(),stack:{evaluatedFeatures:new Set}}}_getUserContext(){return{attributes:this._options.user?{...this._options.user,...this._options.attributes}:this._options.attributes,enableDevMode:this._options.enableDevMode,blockedChangeIds:this._options.blockedChangeIds,stickyBucketAssignmentDocs:this._options.stickyBucketAssignmentDocs,url:this._getContextUrl(),forcedVariations:this._options.forcedVariations,forcedFeatureValues:this._options.forcedFeatureValues,attributeOverrides:this._options.attributeOverrides,saveStickyBucketAssignmentDoc:this._saveStickyBucketAssignmentDoc,trackingCallback:this._options.trackingCallback,onFeatureUsage:this._options.onFeatureUsage,devLogs:this.logs,trackedExperiments:this._trackedExperiments,trackedFeatureUsage:this._trackedFeatures}}_getGlobalContext(){return{features:this._options.features,experiments:this._options.experiments,log:this.log,enabled:this._options.enabled,qaMode:this._options.qaMode,savedGroups:this._options.savedGroups,groups:this._options.groups,overrides:this._options.overrides,onExperimentEval:this._onExperimentEval,recordChangeId:this._recordChangedId,saveDeferredTrack:this._saveDeferredTrack,eventLogger:this._options.eventLogger}}_runAutoExperiment(e,t){let n=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!n)return null;let i=this._isAutoExperimentBlockedByContext(e),s,o;i?s=$e(this._getEvalContext(),e,-1,!1,""):({result:s,trackingCall:o}=Yl(e,null,this._getEvalContext()),this._onExperimentEval(e,s));let a=JSON.stringify(s.value);if(!t&&s.inExperiment&&n&&n.valueHash===a)return s;if(n&&this._undoActiveAutoExperiment(e),s.inExperiment){let l=Fl(e);if(l==="redirect"&&s.value.urlRedirect&&e.urlPatterns){let c=e.persistQueryString?Vb(this._getContextUrl(),s.value.urlRedirect):s.value.urlRedirect;if(Nl(c,e.urlPatterns))return this.log("Skipping redirect because original URL matches redirect URL",{id:e.key}),s;this._redirectedUrl=c;let{navigate:u,delay:p}=this._getNavigateFunction();if(u)if(Hi)Promise.all([...o?[Dl(o,this._options.maxNavigateDelay??1e3)]:[],new Promise(h=>window.setTimeout(h,this._options.navigateDelay??p))]).then(()=>{try{u(c)}catch(h){console.error(h)}});else try{u(c)}catch(h){console.error(h)}}else if(l==="visual"){let c=this._options.applyDomChangesCallback?this._options.applyDomChangesCallback(s.value):this._applyDOMChanges(s.value);c&&this._activeAutoExperiments.set(e,{undo:c,valueHash:a})}}return s}_undoActiveAutoExperiment(e){let t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){if(!this._autoExperimentsAllowed)return;let t=this._options.experiments||[],n=new Set(t);this._activeAutoExperiments.forEach((i,s)=>{n.has(s)||(i.undo(),this._activeAutoExperiments.delete(s))});for(let i of t){let s=this._runAutoExperiment(i,e);if(s&&s.inExperiment&&Fl(i)==="redirect")break}}_onExperimentEval(e,t){let n=this._assigned.get(e.key);this._assigned.set(e.key,{experiment:e,result:t}),this._subscriptions.size>0&&this._fireSubscriptions(e,t,n)}_fireSubscriptions(e,t,n){(!n||n.result.inExperiment!==t.inExperiment||n.result.variationId!==t.variationId)&&this._subscriptions.forEach(i=>{try{i(e,t)}catch(s){console.error(s)}})}_recordChangedId(e){this._completedChangeIds.add(e)}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){let n=this.evalFeature(e).value;return n===null?t:n}feature(e){return this.evalFeature(e)}evalFeature(e){return Kl(e,this._getEvalContext())}log(e,t){this.debug&&(this._options.log?this._options.log(e,t):console.log(e,t))}getDeferredTrackingCalls(){return Array.from(this._deferredTrackingCalls.values())}setDeferredTrackingCalls(e){this._deferredTrackingCalls=new Map(e.filter(t=>t&&t.experiment&&t.result).map(t=>[Xl(t.experiment,t.result),t]))}async fireDeferredTrackingCalls(){if(!this._options.trackingCallback)return;let e=[];this._deferredTrackingCalls.forEach(t=>{!t||!t.experiment||!t.result?console.error("Invalid deferred tracking call",{call:t}):e.push(this._options.trackingCallback(t.experiment,t.result))}),this._deferredTrackingCalls.clear(),await Promise.all(e)}setTrackingCallback(e){this._options.trackingCallback=e,this.fireDeferredTrackingCalls()}setEventLogger(e){this._options.eventLogger=e}async logEvent(e,t){if(this._destroyed){console.error("Cannot log event to destroyed GrowthBook instance");return}if(this._options.enableDevMode&&this.logs.push({eventName:e,properties:t,timestamp:Date.now().toString(),logType:"event"}),this._options.eventLogger)try{await this._options.eventLogger(e,t||{},this._getUserContext())}catch(n){console.error(n)}else console.error("No event logger configured")}_saveDeferredTrack(e){this._deferredTrackingCalls.set(Xl(e.experiment,e.result),e)}_getContextUrl(){return this._options.url||(Hi?window.location.href:"")}_isAutoExperimentBlockedByContext(e){let t=Fl(e);if(t==="visual"){if(this._options.disableVisualExperiments||this._options.disableJsInjection&&e.variations.some(n=>n.js))return!0}else if(t==="redirect"){if(this._options.disableUrlRedirectExperiments)return!0;try{let n=new URL(this._getContextUrl());for(let i of e.variations){if(!i||!i.urlRedirect)continue;let s=new URL(i.urlRedirect);if(this._options.disableCrossOriginUrlRedirectExperiments&&(s.protocol!==n.protocol||s.host!==n.host))return!0}}catch(n){return this.log("Error parsing current or redirect URL",{id:e.key,error:n}),!0}}else return!0;return!!(e.changeId&&(this._options.blockedChangeIds||[]).includes(e.changeId))}getRedirectUrl(){return this._redirectedUrl}_getNavigateFunction(){return this._options.navigate?{navigate:this._options.navigate,delay:0}:Hi?{navigate:e=>{window.location.replace(e)},delay:100}:{navigate:null,delay:0}}_applyDOMChanges(e){if(!Hi)return;let t=[];if(e.css){let n=document.createElement("style");n.innerHTML=e.css,document.head.appendChild(n),t.push(()=>n.remove())}if(e.js){let n=document.createElement("script");n.innerHTML=e.js,this._options.jsInjectionNonce&&(n.nonce=this._options.jsInjectionNonce),document.head.appendChild(n),t.push(()=>n.remove())}return e.domMutations&&e.domMutations.forEach(n=>{t.push(i_.declarative(n).revert)}),()=>{t.forEach(n=>n())}}async refreshStickyBuckets(e){if(this._options.stickyBucketService){let t=this._getEvalContext(),n=await h_(t,this._options.stickyBucketService,e);this._options.stickyBucketAssignmentDocs=n}}generateStickyBucketAssignmentDocsSync(e,t){if(!("getAllAssignmentsSync"in e)){console.error("generating StickyBucketAssignmentDocs docs requires StickyBucketServiceSync");return}let n=this._getEvalContext(),i=Vp(n,t);return e.getAllAssignmentsSync(i)}inDevMode(){return!!this._options.enableDevMode}};var i2="https://experiment.syntrologie.com",Up=class{constructor(e={}){this.featureListeners=new Set;if(e.client)this.gb=e.client;else{let t=e.onExperimentViewed?(n,i)=>{e.onExperimentViewed(n.key,i.variationId,typeof i.value=="string"?i.value:`variation_${i.variationId}`)}:void 0;this.gb=new ko({...e,apiHost:e.apiHost??i2,enableDevMode:e.enableDevMode??!0,trackingCallback:t}),e.autoInit&&this.gb.init({streaming:!0})}}get _internal(){return this.gb}async refreshFeatures(){await this.gb.loadFeatures()}setAttributes(e){this.gb.setAttributes({...this.gb.getAttributes(),...e})}setForcedVariations(e){this.gb.setForcedVariations(e)}getFeatureValue(e,t){return this.gb.getFeatureValue(e,t)}getAllFeatures(){let e=this.gb.getFeatures(),t={};for(let n of Object.keys(e))t[n]=this.gb.getFeatureValue(n,null);return t}shouldRenderRectangle(e){return!0}onFeaturesChanged(e){return this.featureListeners.add(e),this.featureListeners.size===1&&this.gb.setRenderer(()=>{for(let t of this.featureListeners)t()}),()=>{this.featureListeners.delete(e),this.featureListeners.size===0&&this.gb.setRenderer(null)}}};function jp(r={}){return new Up(r)}var m_={growthbook:r=>jp({...r,autoInit:!0})};function v_(r,e){let t=m_[r];if(!t)throw new Error(`Unknown experiment provider: ${r}. Supported: ${Object.keys(m_).join(", ")}`);return t(e)}var s2=["cdn.syntrologie.com","localhost","127.0.0.1"];function o2(r){try{let e=new URL(r),t=/^(localhost|127\.0\.0\.1)$/.test(e.hostname);return e.protocol!=="https:"&&!t?(console.warn("[SmartCanvas] CDN URL must use HTTPS:",r),!1):s2.some(i=>e.hostname===i)?!0:(console.warn("[SmartCanvas] CDN host not in allowlist:",e.hostname),!1)}catch{return console.warn("[SmartCanvas] Invalid CDN URL:",r),!1}}var Wp=class{constructor(e){this.name="cdn";if(this.url=`${e.baseUrl}/${e.configId}.json`,this.integrity=e.integrity,!o2(this.url))throw new Error(`[SmartCanvas] CDN URL not allowed: ${this.url}`)}async fetch(){let e=performance.now(),t=await fetch(this.url,{credentials:"omit",cache:"default"});if(!t.ok)throw new Error(`[SmartCanvas] Failed to fetch config from CDN (${t.status})`);let n=await t.text();if(this.integrity){let l=await a2(n),c=this.integrity.replace("sha384-","");if(l!==c)throw new Error(`[SmartCanvas] Config integrity check failed. Expected ${c}, got ${l}`)}let i=JSON.parse(n),s=performance.now()-e,o=t.headers.get("cache-control"),a=t.headers.get("age");return{config:i,meta:{source:"cdn",fetchTimeMs:s,cached:o?.includes("public")??!1,cacheAge:a?parseInt(a,10):void 0}}}};async function a2(r){let t=new TextEncoder().encode(r),n=await crypto.subtle.digest("SHA-384",t),i=new Uint8Array(n);return btoa(String.fromCharCode(...i))}function y_(r){return new Wp(r)}var l2="syntro_exp",c2="syntro_var",zp=class{constructor(e){this.name="experiments";this.client=e.client,this.featureKey=e.featureKey,this.manifestKey=e.manifestKey,this.variantFlagPrefix=e.variantFlagPrefix}async fetch(){let e=performance.now();if(typeof window<"u"){let i=new URLSearchParams(window.location.search),s=i.get(l2),o=i.get(c2);if(s&&o!==null&&this.client.setForcedVariations){let a=parseInt(o,10);Number.isNaN(a)||(console.log(`[SmartCanvas] Preview mode: forcing "${s}" to variation ${a}`),this.client.setForcedVariations({[s]:a}))}}if(this.manifestKey||this.variantFlagPrefix||this.client.getAllFeatures){let i=this.fetchMultiFlag();if(i){let s=performance.now()-e;return{config:i,meta:{source:"experiments",fetchTimeMs:s,cached:!0}}}}if(!this.featureKey)throw new Error("[SmartCanvas] No featureKey configured and no variant flags found. Ensure at least one config feature flag exists in your experiment platform.");let t=this.client.getFeatureValue?.(this.featureKey,null);if(!t||typeof t!="object")throw new Error(`[SmartCanvas] Feature "${this.featureKey}" not found or invalid. Ensure the feature is configured in your experiment platform.`);let n=performance.now()-e;return{config:t,meta:{source:"experiments",fetchTimeMs:n,cached:!0}}}fetchMultiFlag(){let e=this.getVariantFlagKeys();return!e||e.length===0?null:cl(this.client,e)}getVariantFlagKeys(){if(this.manifestKey){let e=this.client.getFeatureValue?.(this.manifestKey,null);if(e&&typeof e=="object"){let t=e.variant_flags;if(t&&t.length>0)return t}}if(this.client.getAllFeatures){let e=this.client.getAllFeatures();return this.variantFlagPrefix?Object.keys(e).filter(t=>t.startsWith(this.variantFlagPrefix)):Object.keys(e)}return[]}};function b_(r){return new zp(r)}var u2="https://cdn.syntrologie.com/configs",__={cdn:r=>{if(!r.configId)throw new Error("CDN fetcher requires 'configId' option");return y_({baseUrl:r.baseUrl??u2,configId:r.configId,integrity:r.integrity})},experiments:r=>{if(!r.featureKey)throw new Error("Experiments fetcher requires 'featureKey' option");return b_({featureKey:r.featureKey})}};function x_(r,e={}){let t=__[r];if(!t)throw new Error(`Unknown config fetcher type: ${r}. Supported: ${Object.keys(__).join(", ")}`);return t(e)}var w_="syntro_session_metrics",Jl=class{constructor(e={}){this.metrics=new Map;this.subscribers=new Set;this.experiments=e.experiments,this.attributePrefix=e.attributePrefix??"session_",this.onMetricChange=e.onMetricChange,this.loadFromStorage()}increment(e,t=1){let i=(this.metrics.get(e)??0)+t;return this.metrics.set(e,i),this.saveToStorage(),this.updateExperimentAttributes(e,i),this.onMetricChange?.(e,i),this.notifySubscribers(),i}set(e,t){this.metrics.set(e,t),this.saveToStorage(),this.updateExperimentAttributes(e,t),this.onMetricChange?.(e,t),this.notifySubscribers()}get(e){return this.metrics.get(e)??0}meetsThreshold(e,t){return this.get(e)>=t}getAll(){return Object.fromEntries(this.metrics)}reset(e){this.metrics.delete(e),this.saveToStorage(),this.updateExperimentAttributes(e,0),this.onMetricChange?.(e,0),this.notifySubscribers()}resetAll(){let e=Array.from(this.metrics.keys());this.metrics.clear(),this.saveToStorage();let t={};for(let n of e)t[`${this.attributePrefix}${n}`]=0,this.onMetricChange?.(n,0);this.experiments?.setAttributes?.(t),this.notifySubscribers()}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}destroy(){this.subscribers.clear()}setExperiments(e){this.experiments=e,this.syncAllToExperiments()}updateExperimentAttributes(e,t){if(!this.experiments?.setAttributes)return;let n=`${this.attributePrefix}${e}`;this.experiments.setAttributes({[n]:t})}syncAllToExperiments(){if(!this.experiments?.setAttributes)return;let e={};for(let[t,n]of this.metrics)e[`${this.attributePrefix}${t}`]=n;this.experiments.setAttributes(e)}notifySubscribers(){for(let e of this.subscribers)try{e()}catch{}}loadFromStorage(){if(!(typeof window>"u"||typeof sessionStorage>"u"))try{let e=sessionStorage.getItem(w_);if(e){let t=JSON.parse(e);for(let[n,i]of Object.entries(t))this.metrics.set(n,i.count)}}catch(e){console.warn("[SessionMetricTracker] Failed to load from sessionStorage:",e)}}saveToStorage(){if(!(typeof window>"u"||typeof sessionStorage>"u"))try{let e={};for(let[t,n]of this.metrics)e[t]={count:n,lastUpdated:Date.now()};sessionStorage.setItem(w_,JSON.stringify(e))}catch(e){console.warn("[SessionMetricTracker] Failed to save to sessionStorage:",e)}}};function qp(r={}){return new Jl(r)}var Ql=class{constructor(e){this.unsubUnload=null;this.unsubLoad=null;this.destroyed=!1;this.adapter=e}activate(){this.destroyed||(this.unsubUnload=this.adapter.onRegionWillUnload(e=>{this.hideContentInSection(e)}),this.unsubLoad=this.adapter.onRegionDidLoad(e=>{this.revealContentInSection(e)}))}destroy(){this.destroyed=!0,this.unsubUnload?.(),this.unsubLoad?.(),this.unsubUnload=null,this.unsubLoad=null}hideContentInSection(e){let t=this.sectionSelector(e),n=document.querySelectorAll(`${t} [data-syntro-action-id]`);for(let i of n)i.style.opacity="0",i.style.transition="none"}revealContentInSection(e){let t=this.sectionSelector(e);requestAnimationFrame(()=>{if(this.destroyed)return;let n=document.querySelectorAll(`${t} [data-syntro-action-id]`);for(let i of n)i.style.transition="opacity 120ms ease-in",i.style.opacity="1"})}sectionSelector(e){let t=typeof CSS<"u"?CSS.escape(e):e;return document.getElementById(`shopify-section-${e}`)?`#shopify-section-${t}`:`.shopify-section[id$="-${t}"]`}};var ec=class{constructor(e){this.name="shopify";this.loadCallbacks=new Set;this.unloadCallbacks=new Set;this.abortController=null;this.antiFlicker=null;this.initTimeoutMs=e?.initTimeoutMs??3e3}detect(){return typeof window>"u"||typeof document>"u"?!1:!!("Shopify"in window&&window.Shopify!=null||document.querySelector('meta[name="shopify-checkout-api-token"]'))}async onInit(){this.abortController=new AbortController;let{signal:e}=this.abortController;this.attachSectionListeners(e),this.antiFlicker=new Ql(this),this.antiFlicker.activate(),await this.waitForInitialSections(this.initTimeoutMs,e)}onRegionDidLoad(e){return this.loadCallbacks.add(e),()=>{this.loadCallbacks.delete(e)}}onRegionWillUnload(e){return this.unloadCallbacks.add(e),()=>{this.unloadCallbacks.delete(e)}}onRegionMutated(e){}getAnchorScope(e){let t=e.closest(".shopify-section");return t?.id?`#${typeof CSS<"u"?CSS.escape(t.id):t.id} `:""}destroy(){this.antiFlicker?.destroy(),this.antiFlicker=null,this.abortController&&(this.abortController.abort(),this.abortController=null),this.loadCallbacks.clear(),this.unloadCallbacks.clear()}attachSectionListeners(e){document.addEventListener("shopify:section:load",t=>{let n=t.detail?.sectionId;if(n)for(let i of this.loadCallbacks)try{i(n)}catch{}},{signal:e}),document.addEventListener("shopify:section:unload",t=>{let n=t.detail?.sectionId;if(n)for(let i of this.unloadCallbacks)try{i(n)}catch{}},{signal:e})}waitForInitialSections(e,t){return new Promise(n=>{if(document.querySelector(".shopify-section")){n();return}let i=!1,s=()=>{i||(i=!0,n())};document.addEventListener("shopify:section:load",()=>s(),{once:!0,signal:t});let o=setTimeout(s,e);t.addEventListener("abort",()=>{clearTimeout(o),s()},{once:!0})})}};var d2=[()=>new ec];function S_(){for(let r of d2){let e=r();if(e.detect())return e}return null}var Zp="syntro_experiments";var tc={distinctId:"_syntro_distinct_id",telemetryHost:"_syntro_telemetry_host",telemetryKey:"_syntro_telemetry_key"};var h2=720*60*60,rc=class{constructor(e){this.context={...e,telemetryHost:e.telemetryHost.replace(/\/$/,"")},this.writeCookie(),this.writeCartAttributes()}updateContext(e){this.context={...e,telemetryHost:e.telemetryHost.replace(/\/$/,"")},this.writeCookie(),this.writeCartAttributes()}destroy(){document.cookie=`${Zp}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`}writeCookie(){let e={version:1,distinct_id:this.context.distinctId,telemetry_host:this.context.telemetryHost,telemetry_key:this.context.telemetryKey},t=encodeURIComponent(JSON.stringify(e)),n=`${Zp}=${t}; max-age=${h2}; path=/; SameSite=Lax`;document.cookie=n}writeCartAttributes(){let{distinctId:e,telemetryHost:t,telemetryKey:n}=this.context;if(!e)return;let i={};i[tc.distinctId]=e,i[tc.telemetryHost]=t,i[tc.telemetryKey]=n;let s=JSON.stringify({attributes:i});try{fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},credentials:"same-origin",body:s}).then(o=>{o.ok||console.warn(`[shopify-pixel-bridge] /cart/update.js returned ${o.status}; checkout_completed events will fall back to cookie (likely to drop).`)}).catch(o=>{console.warn("[shopify-pixel-bridge] /cart/update.js request failed; checkout_completed events will fall back to cookie (likely to drop).",o)})}catch{}}};function E_(r){return r<768?"mobile":r<1024?"tablet":"desktop"}function Kp(r,e){return r==="telegram"||r==="mcp-app"?"agent":e==="mobile"?"mobile":"desktop"}function f2(r="web",e="web"){let t=Date.now(),n=typeof window<"u"?window.innerWidth:0,i=typeof window<"u"?window.innerHeight:0,s=E_(n);return{page:{url:typeof window<"u"?window.location.href:"",title:typeof document<"u"?document.title:void 0},session:{sessionId:"",startTs:t,pageHistory:[]},viewport:{width:n,height:i},surface:{type:r,host:e,device:s,mode:Kp(r,s)}}}function Gp(r,e){if(!e)return;let t;try{t=new URL(r).pathname}catch{t=r}if(t.startsWith("/")||(t=`/${t}`),e.exclude){for(let n of e.exclude)if(k_(t,n))return}if(e.include){for(let n of e.include)if(k_(t,n))return n;return}return t}function k_(r,e){let t=r.replace(/\/$/,"")||"/",n=e.replace(/\/$/,"")||"/";if(t===n)return!0;let i=n.replace(/:[^/]+/g,"[^/]+").replace(/\*/g,".*");return new RegExp(`^${i}$`).test(t)}var nc=class{constructor(e){this.listeners=new Set;this.cleanupFns=[];if(this.telemetry=e.telemetry,this.routes=e.routes,this.navigation=e.navigation,this.context=f2(e.initialSurfaceType,e.initialSurfaceHost),this.previousContext={...this.context},e.telemetry?.getSessionId){let t=e.telemetry.getSessionId();t&&(this.context.session.sessionId=t)}e.initialPageHistory&&(this.context.session.pageHistory=e.initialPageHistory),this.context.page.routeId=Gp(this.context.page.url,this.routes),this.addPageToHistory(this.context.page.url),typeof window<"u"&&this.setupBrowserListeners()}get(){return{...this.context}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setRoutes(e){this.routes=e;let t=Gp(this.context.page.url,this.routes);t!==this.context.page.routeId&&this.updateContext({page:{...this.context.page,routeId:t}})}setAnchors(e){this.updateContext({anchors:e})}setSessionId(e){e!==this.context.session.sessionId&&this.updateContext({session:{...this.context.session,sessionId:e}})}setSurfaceType(e){if(e===this.context.surface.type)return;let t=Kp(e,this.context.surface.device);this.updateContext({surface:{...this.context.surface,type:e,mode:t}})}setSurfaceHost(e){e!==this.context.surface.host&&this.updateContext({surface:{...this.context.surface,host:e}})}destroy(){for(let e of this.cleanupFns)e();this.cleanupFns=[],this.listeners.clear()}setupBrowserListeners(){let e,t=()=>{clearTimeout(e),e=setTimeout(()=>{this.updateViewport()},100)};window.addEventListener("resize",t),this.cleanupFns.push(()=>window.removeEventListener("resize",t));let n=this.navigation.subscribe(()=>this.updatePage());this.cleanupFns.push(n)}updateViewport(){let e={width:window.innerWidth,height:window.innerHeight},t=e.width!==this.context.viewport.width,n=e.height!==this.context.viewport.height;if(!t&&!n)return;let i={viewport:e};if(t){let s=E_(e.width);if(s!==this.context.surface.device){let o=Kp(this.context.surface.type,s);i.surface={...this.context.surface,device:s,mode:o}}}this.updateContext(i)}updatePage(){let e=window.location.href,{title:t}=document,n=Gp(e,this.routes),i={url:e,title:t,routeId:n};(i.url!==this.context.page.url||i.title!==this.context.page.title||i.routeId!==this.context.page.routeId)&&(i.url!==this.context.page.url&&this.addPageToHistory(i.url),this.updateContext({page:i}))}addPageToHistory(e){let t={url:e,ts:Date.now()},n=[...this.context.session.pageHistory||[],t];n.length>50&&n.shift(),this.context.session.pageHistory=n}updateContext(e){this.previousContext={...this.context},this.context={...this.context,...e},this.notifyListeners()}notifyListeners(){for(let e of this.listeners)try{e(this.context,this.previousContext)}catch(t){console.error("[ContextManager] Listener error:",t)}}};function Yp(r){return new nc(r)}function C_(r,e){let{context:t,state:n,events:i}=e;switch(r.type){case"page_url":{let{url:s}=r,o=t.page.url.split("?")[0].split("#")[0],a=s.replace(/\*\*/g,"\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*").replace(/\0GLOBSTAR\0/g,".*");return new RegExp(`^${a}$`).test(o)}case"route":return t.page.routeId===r.routeId;case"anchor_visible":{let s=t.anchors?.find(o=>o.anchorId===r.anchorId);switch(r.state){case"visible":return s?.visible===!0;case"present":return s?.present===!0;case"absent":return!s?.present;default:return!1}}case"event_occurred":{if(!i)return!1;let s=r.withinMs??6e4;return i.hasRecentEvent(r.eventName,s)}case"state_equals":return n?.getValue?n.getValue(r.key)===r.value:!1;case"viewport":{let{width:s,height:o}=t.viewport;return!(r.minWidth!==void 0&&s<r.minWidth||r.maxWidth!==void 0&&s>r.maxWidth||r.minHeight!==void 0&&o<r.minHeight||r.maxHeight!==void 0&&o>r.maxHeight)}case"session_metric":{let s=e.sessionMetrics?e.sessionMetrics.get(r.key):n?.getSessionMetric(r.key);if(s===void 0)return!1;let{operator:o,threshold:a}=r;switch(o){case"gte":return s>=a;case"lte":return s<=a;case"eq":return s===a;case"gt":return s>a;case"lt":return s<a;default:return!1}}case"dismissed":{if(!n)return r.inverted??!1;let s=n.isDismissed(r.key);return r.inverted?!s:s}case"cooldown_active":{if(!n)return r.inverted??!1;let s=n.isCooldownActive(r.key);return r.inverted?!s:s}case"frequency_limit":{if(!n)return r.inverted??!1;let o=n.getFrequencyCount(r.key)>=r.limit;return r.inverted?!o:o}case"event_count":{if(!e.accumulator)return!1;let s=r,o=e.accumulator.getCount(s.key,s.withinMs);switch(s.operator){case"gte":return o>=s.count;case"lte":return o<=s.count;case"eq":return o===s.count;case"gt":return o>s.count;case"lt":return o<s.count;default:return!1}}default:return console.warn("[RuleStrategy] Unknown condition type:",r.type),!1}}function A_(r,e){let t=[];for(let n of r.conditions){let i=C_(n,e);if(t.push({condition:n,result:i}),!i)return{matched:!1,conditionResults:t}}return{matched:!0,conditionResults:t}}function ic(r,e){for(let t=0;t<r.rules.length;t++){let n=r.rules[t],{matched:i,conditionResults:s}=A_(n,e);if(i)return{value:n.value,isFallback:!1,matchInfo:{strategyType:"rules",matchedRuleIndex:t,evaluatedConditions:s}}}return{value:r.default,isFallback:!0,matchInfo:{strategyType:"rules"}}}function sc(r,e){let{context:t}=e,n=t.augmented?.[r.field];return n===void 0||typeof n!="number"?{value:r.below,isFallback:!0,matchInfo:{strategyType:"score"}}:{value:n>=r.threshold?r.above:r.below,isFallback:!1,matchInfo:{strategyType:"score"}}}function T_(r,e){let{state:t,events:n,sessionMetrics:i,accumulator:s}=e;return{context:r,state:t?{isDismissed:o=>t.dismissals.isDismissed(o),isCooldownActive:o=>t.cooldowns.isActive(o),getFrequencyCount:o=>t.frequency.count(o),getSessionMetric:o=>i?.get(o)??0,getValue:o=>t.session.get(o)??t.user.get(o)}:void 0,sessionMetrics:i?{get:o=>i.get(o)??0}:void 0,events:n?{hasRecentEvent:(o,a)=>n.hasRecentEvent(o,a)}:void 0,accumulator:s?{getCount:(o,a)=>s.getCount(o,a)}:void 0}}async function R_(r,e,t={}){let n=T_(e,t);switch(r.type){case"rules":return ic(r,n);case"score":return sc(r,n);case"model":return{value:r.default,isFallback:!0,matchInfo:{strategyType:"model"}};case"external":return{value:r.default,isFallback:!0,matchInfo:{strategyType:"external"}};default:return console.warn("[DecisionEngine] Unknown strategy type:",r.type),{value:void 0,isFallback:!0,matchInfo:{strategyType:r.type}}}}function I_(r,e,t={}){let n=T_(e,t);switch(r.type){case"rules":return ic(r,n);case"score":return sc(r,n);case"model":case"external":return{value:r.default,isFallback:!0,matchInfo:{strategyType:r.type}};default:return{value:void 0,isFallback:!0,matchInfo:{strategyType:r.type}}}}function Xp(r){return{evaluate:(e,t)=>R_(e,t,r),evaluateSync:(e,t)=>I_(e,t,r)}}function Jp(r){let{eventBus:e,stateStore:t}=r,n=new Map,i=new Set,s=null,o=t.ns("accumulator");function a(c){let u=!1;for(let p of n.values()){if(!p.predicate(c))continue;let h=o.get(p.stateKey)||{count:0};h.count++,p.needsTimestamps&&(h.timestamps||(h.timestamps=[]),h.timestamps.push(c.ts),h.timestamps.length>200&&(h.timestamps=h.timestamps.slice(-200))),o.set(p.stateKey,h),u=!0}if(u)for(let p of i)try{p()}catch(h){console.error("[EventAccumulator] Subscriber error:",h)}}function l(){s||n.size===0||(s=e.subscribe(a))}return{register(c,u,p=!1){let h=`ev:${c}`,f=n.get(h);if(f){p&&!f.needsTimestamps&&(f.needsTimestamps=!0);return}n.set(h,{stateKey:h,needsTimestamps:p,predicate:u}),l()},getCount(c,u){let p=`ev:${c}`,h=o.get(p);if(!h)return 0;if(u===void 0||!h.timestamps)return h.count;let f=Date.now()-u;return h.timestamps.filter(v=>v>=f).length},subscribe(c){return i.add(c),()=>{i.delete(c)}},destroy(){s&&(s(),s=null),n.clear(),i.clear()}}}var Eo=class{constructor(){this.listeners=new Set;this.destroyed=!1;this.onPopState=()=>{this.notify(window.location.href,"popstate")};this.wasNative=this.isNativeFunction(history.pushState),this.capturedPushState=history.pushState,this.capturedReplaceState=history.replaceState,history.pushState=(...e)=>{this.capturedPushState.call(history,...e),queueMicrotask(()=>this.notify(window.location.href,"pushState"))},history.replaceState=(...e)=>{this.capturedReplaceState.call(history,...e),queueMicrotask(()=>this.notify(window.location.href,"replaceState"))},window.addEventListener("popstate",this.onPopState)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}diagnose(){return{isNative:this.wasNative,subscriberCount:this.listeners.size}}destroy(){this.destroyed||(this.destroyed=!0,history.pushState=this.capturedPushState,history.replaceState=this.capturedReplaceState,window.removeEventListener("popstate",this.onPopState),this.listeners.clear())}notify(e,t){if(!this.destroyed)for(let n of this.listeners)try{n(e,t)}catch{}}isNativeFunction(e){try{return Function.prototype.toString.call(e).includes("[native code]")}catch{return!1}}};var Qp="cooldown:";function $_(r){return{set(e,t){let n=Qp+e,i=Date.now()+t;r.set(n,i)},isActive(e){return this.remaining(e)>0},remaining(e){let t=Qp+e,n=r.get(t);if(n===void 0)return 0;let i=n-Date.now();return i<=0?(r.remove(t),0):i},clear(e){let t=Qp+e;r.remove(t)}}}var Co="dismissed:";function M_(r,e){return{mark(t,n=!1){let i=Co+t;(n?e:r).set(i,!0)},isDismissed(t){let n=Co+t;return r.has(n)||e.has(n)},clear(t){let n=Co+t;r.remove(n),e.remove(n)},clearAll(){for(let t of r.keys())t.startsWith(Co)&&r.remove(t);for(let t of e.keys())t.startsWith(Co)&&e.remove(t)}}}var eh="freq:";function P_(r){function e(t){let n=eh+t,i=r.get(n);if(i){if(i.resetAt&&Date.now()>=i.resetAt){r.remove(n);return}return i}}return{increment(t,n){let i=eh+t,s=e(t),o=(s?.count??0)+1,a={count:o,resetAt:s?.resetAt??(n?Date.now()+n:void 0)};return r.set(i,a),o},count(t){return e(t)?.count??0},reset(t){let n=eh+t;r.remove(n)},hasReachedLimit(t,n){return this.count(t)>=n}}}var g2="syntro";function th(r,e){let t=`${e}:`;return{get(n){if(r)try{let i=r.getItem(t+n);if(!i)return;let s=JSON.parse(i);if(s.expiresAt&&Date.now()>=s.expiresAt){r.removeItem(t+n);return}return s.value}catch{return}},set(n,i,s){if(r)try{let o={value:i,expiresAt:s?Date.now()+s:void 0};r.setItem(t+n,JSON.stringify(o))}catch(o){console.warn("[StateStore] Failed to save:",o)}},remove(n){r&&r.removeItem(t+n)},has(n){return r?this.get(n)!==void 0:!1},keys(){if(!r)return[];let n=[];for(let i=0;i<r.length;i++){let s=r.key(i);s?.startsWith(t)&&n.push(s.slice(t.length))}return n},clear(){if(!r)return;let n=this.keys();for(let i of n)r.removeItem(t+i)}}}function Ao(r){let e=new Map,t=`${r}:`;return{get(n){let i=e.get(t+n);if(i){if(i.expiresAt&&Date.now()>=i.expiresAt){e.delete(t+n);return}return i.value}},set(n,i,s){e.set(t+n,{value:i,expiresAt:s?Date.now()+s:void 0})},remove(n){e.delete(t+n)},has(n){return this.get(n)!==void 0},keys(){let n=[];for(let i of e.keys())i.startsWith(t)&&n.push(i.slice(t.length));return n},clear(){for(let n of e.keys())n.startsWith(t)&&e.delete(n)}}}var oc=class{constructor(e={}){this.namespacedStorages=new Map;this.namespace=e.namespace??g2;let t=n=>typeof n=="object"&&n!==null&&typeof n.setItem=="function";typeof window<"u"?(this.session=t(window.sessionStorage)?th(window.sessionStorage,this.namespace):Ao(this.namespace),this.user=t(window.localStorage)?th(window.localStorage,this.namespace):Ao(this.namespace)):(this.session=Ao(this.namespace),this.user=Ao(this.namespace)),this.dismissals=M_(this.session,this.user),this.cooldowns=$_(this.user),this.frequency=P_(this.session)}ns(e){let t=`${this.namespace}:${e}`;if(!this.namespacedStorages.has(t)){let n=typeof window<"u"&&typeof sessionStorage<"u"?th(sessionStorage,t):Ao(t);this.namespacedStorages.set(t,n)}return this.namespacedStorages.get(t)}};function rh(r={}){return new oc(r)}function To(r){return r.startsWith("inline:")?"inline":r.startsWith("adjacent:")?"adjacent":"static"}function ac(r){return r.startsWith("inline:")?r.slice(7):r.startsWith("adjacent:")?r.slice(9):null}var O_={drawer_right:{position:"fixed",top:"0",right:"0",bottom:"0",width:"360px",maxWidth:"90vw"},drawer_left:{position:"fixed",top:"0",left:"0",bottom:"0",width:"360px",maxWidth:"90vw"},drawer_bottom:{position:"fixed",left:"0",right:"0",bottom:"0",maxHeight:"50vh"},overlay_center:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",maxWidth:"90vw",maxHeight:"90vh"},overlay_corner_br:{position:"fixed",bottom:"16px",right:"16px",maxWidth:"400px",maxHeight:"80vh"},overlay_corner_bl:{position:"fixed",bottom:"16px",left:"16px",maxWidth:"400px",maxHeight:"80vh"},toast_top:{position:"fixed",top:"16px",left:"50%",transform:"translateX(-50%)",maxWidth:"90vw"},toast_bottom:{position:"fixed",bottom:"16px",left:"50%",transform:"translateX(-50%)",maxWidth:"90vw"}},Ro={fade:[{opacity:0},{opacity:1}],slide:[{opacity:0,transform:"translateY(10px)"},{opacity:1,transform:"translateY(0)"}],scale:[{opacity:0,transform:"scale(0.95)"},{opacity:1,transform:"scale(1)"}],none:[]},L_={duration:200,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"};function nh(r,e,t){let n=O_[e];Object.assign(r.style,n),t&&(t.maxWidth&&(r.style.maxWidth=t.maxWidth),t.maxHeight&&(r.style.maxHeight=t.maxHeight),t.minWidth&&(r.style.minWidth=t.minWidth),t.minHeight&&(r.style.minHeight=t.minHeight))}function ih(r,e,t){let n=t.placement==="auto"?"bottom":t.placement,i=[ka(t.offset?{mainAxis:t.offset.y,crossAxis:t.offset.x}:8)];return t.flip!==!1&&i.push(Ca()),t.shift!==!1&&i.push(Ea({padding:8})),r.style.position="absolute",r.style.zIndex="2147483646",Sa(e,r,async()=>{let{x:o,y:a,strategy:l}=await Aa(e,r,{placement:n,middleware:i});Object.assign(r.style,{position:l,left:`${o}px`,top:`${a}px`})})}function sh(r,e,t="append"){return r.style.position="relative",r.style.display="inline-block",t==="prepend"?e.insertBefore(r,e.firstChild):e.appendChild(r),()=>{r.remove()}}function oh(r,e){return e==="none"||Ro[e].length===0?null:r.animate(Ro[e],L_)}function ah(r,e){if(e==="none"||Ro[e].length===0)return Promise.resolve();let t=[...Ro[e]].reverse(),n=r.animate(t,L_);return new Promise(i=>{n.onfinish=()=>i(),n.oncancel=()=>i()})}function lh(r,e){let t=document.createElement("div");return t.setAttribute("data-syntro-surface",r),t.setAttribute("data-syntro-mount-id",e),t.className="syntro-surface",Object.assign(t.style,{pointerEvents:"auto",boxSizing:"border-box",overflow:"auto"}),t}function ch(r){switch(To(r)){case"static":return r.startsWith("drawer")?2147483640:r.startsWith("overlay")?2147483642:r.startsWith("toast")?2147483644:2147483640;case"inline":return 1;case"adjacent":return 2147483638;default:return 2147483640}}function N_(r){if(typeof window.Sanitizer=="function")try{let l=new window.Sanitizer({}).sanitizeToFragment(r),c=document.createElement("div");return c.append(l),c.innerHTML}catch{}let t=document.createElement("template");t.innerHTML=r;let n=t.content,i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null),s=new Set(["b","strong","i","em","u","span","div","p","br","ul","ol","li","code","pre","small","sup","sub","a","button"]),o=[];for(;i.nextNode();){let a=i.currentNode,l=a.tagName.toLowerCase();if(!s.has(l)){o.push(a);continue}for(let c of Array.from(a.attributes)){let u=c.name.toLowerCase(),p=c.value.trim().toLowerCase(),h=u.startsWith("on"),f=(u==="href"||u==="src")&&p.startsWith("javascript:");(h||f)&&a.removeAttribute(c.name)}}for(let a of o){for(;a.firstChild;)a.parentNode?.insertBefore(a.firstChild,a);a.remove()}return t.innerHTML=(n.firstChild,t.innerHTML)}var m2=0;function uh(r){let{overlayRoot:e,eventBus:t,anchorResolver:n,defaultAnimation:i="fade",widgetRegistry:s}=r,o=new Map,a=new Map,l=new Map;function c(){return`mount-${++m2}`}function u(y,S){t&&t.publish(y,S)}function p(y){let S=l.get(y);if(S){let T=g(y);for(let _ of S)try{_(T)}catch(C){console.error("[Surfaces] State callback error:",C)}}}let h=new Map;function f(y,S,T){switch(S.type){case"html":y.innerHTML=N_(S.content);return;case"widget":{if(s?.has(S.widgetId)){let _=s.mount(S.widgetId,y,S.config);return T&&h.set(T,_),()=>{_.unmount(),T&&h.delete(T)}}console.warn(`[Surfaces] Widget not found: ${S.widgetId}`),y.innerHTML=`<div data-widget-id="${S.widgetId}" data-widget-missing="true">Widget: ${S.widgetId}</div>`;return}case"custom":return S.mount(y);case"react":y.innerHTML="<div data-react-component>React Component</div>";return;default:console.warn("[Surfaces] Unknown content type");return}}function v(y,S,T){let _=c(),C=To(y),R=T?.priority??0,N=T?.animation??i,M=T?.exclusive??!0,F=o.get(y);if(F&&M){if(F.options.priority>R)throw new Error(`Slot ${y} is occupied by higher priority content (${F.options.priority} > ${R})`);m(F)}let V=lh(y,_);V.style.zIndex=String(ch(y));let P;if(C==="static")nh(V,y,T?.constraints),e.appendChild(V);else if(C==="inline"){let D=ac(y);if(!D)throw new Error(`Invalid inline slot: ${y}`);if(!n)throw new Error("Anchor resolver required for inline slots");let te=n({selector:D,route:"**"});if(!te)throw new Error(`Anchor not found for inline slot: ${D}`);P=sh(V,te)}else if(C==="adjacent"){let D=ac(y);if(!D)throw new Error(`Invalid adjacent slot: ${y}`);if(!n)throw new Error("Anchor resolver required for adjacent slots");let te=n({selector:D,route:"**"});if(!te)throw new Error(`Anchor not found for adjacent slot: ${D}`);e.appendChild(V),P=ih(V,te,T?.position??{placement:"bottom"})}let K=f(V,S,_);oh(V,N);let Y={id:_,slot:y,content:S,options:{priority:R,exclusive:M,animation:N,position:T?.position??{placement:"auto"},constraints:T?.constraints??{},adaptiveId:T?.adaptiveId,autoUnmountOnRouteChange:T?.autoUnmountOnRouteChange??!0},container:V,cleanup:()=>{P?.(),K?.()},mountedAt:Date.now()};return o.set(y,Y),a.set(y,(a.get(y)??0)+1),u("surface.mounted",{slot:y,id:_,adaptiveId:T?.adaptiveId}),p(y),{id:_,update(D){let te=o.get(y);if(!te||te.id!==_)throw new Error("Mount no longer active");let Ze=h.get(_);if(Ze){if(D.type==="widget"){Ze.update(D.config),te.content=D;return}Ze.unmount(),h.delete(_)}te.container.innerHTML="";let ot=f(te.container,D,_);if(te.content=D,ot){let Le=te.cleanup;te.cleanup=()=>{Le?.(),ot()}}},setOptions(D){let te=o.get(y);if(!te||te.id!==_)throw new Error("Mount no longer active");D.priority!==void 0&&(te.options.priority=D.priority),D.animation!==void 0&&(te.options.animation=D.animation),D.constraints&&C==="static"&&(D.constraints.maxWidth&&(te.container.style.maxWidth=D.constraints.maxWidth),D.constraints.maxHeight&&(te.container.style.maxHeight=D.constraints.maxHeight),D.constraints.minWidth&&(te.container.style.minWidth=D.constraints.minWidth),D.constraints.minHeight&&(te.container.style.minHeight=D.constraints.minHeight)),p(y)},async unmount(){let D=o.get(y);!D||D.id!==_||await m(D)},isMounted(){return o.get(y)?.id===_},getContainer(){let D=o.get(y);return D?.id===_?D.container:null}}}async function m(y){y.container.isConnected&&await ah(y.container,y.options.animation);try{y.cleanup?.()}catch(S){console.warn("[Surfaces] Cleanup error during unmount, ignoring:",S)}try{y.container.remove()}catch{}o.delete(y.slot),u("surface.unmounted",{slot:y.slot,id:y.id}),p(y.slot)}function g(y){let S=o.get(y);return{slot:y,occupied:!!S,currentPriority:S?.options.priority,currentAdaptiveId:S?.options.adaptiveId,mountCount:a.get(y)??0,currentMountId:S?.id}}function b(y,S){let T=l.get(y);return T||(T=new Set,l.set(y,T)),T.add(S),()=>{T?.delete(S),T?.size===0&&l.delete(y)}}function x(y,S){let T=o.get(y);return T?S!==void 0?S>=T.options.priority:!1:!0}function w(){for(let y of o.values())try{y.cleanup?.(),y.container.remove()}catch(S){console.error("[Surfaces] Error during cleanup:",S)}o.clear(),l.clear()}return{mount:v,getState:g,onStateChange:b,canMount:x,destroy:w}}var lc=class{constructor(){this.widgets=new Map;this.mountedWidgets=new Map;this.mountIdCounter=0;this.listeners=new Set}bindRuntime(e){this.runtimeRef=e}register(e,t,n="custom",i){if(this.widgets.has(e)){if(this.widgets.get(e).source==="built-in")throw new Error(`Cannot override built-in widget: ${e}`);console.warn(`[WidgetRegistry] Overriding widget: ${e}`)}this.widgets.set(e,{id:e,widget:t,source:n,metadata:i}),this.notify({type:"registered",widgetId:e})}unregister(e){let t=this.widgets.get(e);return t?t.source==="built-in"?(console.warn(`[WidgetRegistry] Cannot unregister built-in widget: ${e}`),!1):(this.widgets.delete(e),this.notify({type:"unregistered",widgetId:e}),!0):!1}unregisterBySource(e){for(let[t,n]of this.widgets.entries())n.source===e&&this.widgets.delete(t)}get(e){return this.widgets.get(e)?.widget}getRegistration(e){return this.widgets.get(e)}has(e){return this.widgets.has(e)}mount(e,t,n){let i=this.widgets.get(e);if(!i)throw new Error(`Widget not found: ${e}`);let s=`widget-mount-${++this.mountIdCounter}`;t.setAttribute("data-widget-mount-id",s),t.setAttribute("data-widget-id",e);let o={...n,runtime:this.runtimeRef},a=i.widget.mount(t,o);return this.mountedWidgets.set(s,{cleanup:a??void 0,container:t}),{widgetId:e,container:t,unmount:()=>{let c=this.mountedWidgets.get(s);c&&(t.isConnected&&c.cleanup?.(),this.mountedWidgets.delete(s),t.removeAttribute("data-widget-mount-id"),t.removeAttribute("data-widget-id"),t.innerHTML="")},update:c=>{if(i.widget.update)i.widget.update(t,c);else{let u=this.mountedWidgets.get(s);if(u){u.cleanup?.(),t.innerHTML="";let p={...c,runtime:this.runtimeRef},h=i.widget.mount(t,p);u.cleanup=h??void 0}}}}}list(){return Array.from(this.widgets.keys())}listRegistrations(){return Array.from(this.widgets.values())}getBySource(e){return Array.from(this.widgets.values()).filter(t=>t.source===e)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notify(e){for(let t of this.listeners)try{t(e)}catch(n){console.error("[WidgetRegistry] Listener error:",n)}}destroy(){for(let[e,t]of this.mountedWidgets.entries())t.cleanup?.(),t.container.innerHTML="";this.mountedWidgets.clear()}},dh=new lc;var D_="2.0.0";function v2(r,e){if(!e)return!0;let t;try{t=new URL(r).pathname}catch{t=r}t.startsWith("/")||(t=`/${t}`);let n=t.replace(/\/$/,"")||"/";if(e.exclude){for(let i of e.exclude)if(ph(n,i))return!1}if(e.include&&e.include.length>0){for(let i of e.include)if(ph(n,i))return!0;return!1}return!0}function ph(r,e){let t=e.replace(/\/$/,"")||"/";if(r===t)return!0;let n=t.replace(/\*\*/g,"\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]*").replace(/\0GLOBSTAR\0/g,".*").replace(/:[^/]+/g,"[^/]+");return new RegExp(`^${n}$`).test(r)}function F_(r){let t=(typeof window<"u"?window.location.pathname:"/").replace(/\/$/,"")||"/";return(Array.isArray(r.route)?r.route:[r.route]).some(i=>{let s=i;if(/^https?:\/\//.test(s))try{s=new URL(s).pathname}catch{}return ph(t,s)})}function hh(r={}){let{telemetry:e,sessionMetrics:t,routes:n,mode:i="production",namespace:s}=r,o=r.widgets??dh,a=r.executors??Ar,l=r.apps??ws,c=new Eo,u=Yp({telemetry:e,routes:n,navigation:c,initialSurfaceType:r.initialSurfaceType,initialSurfaceHost:r.initialSurfaceHost}),p=r.events??vo(),h=rh({namespace:s}),f=Jp({eventBus:p,stateStore:h}),v=Xp({state:h,events:p,sessionMetrics:t,accumulator:f}),m=pb(),g=ip(),b=M=>F_(M)?g.resolve(M.selector):null,x=async(M,F)=>{if(!F_(M))return null;try{return await g.waitFor(M.selector,F)}catch{return null}},w=uh({overlayRoot:m,eventBus:p,anchorResolver:b,widgetRegistry:o}),y=ep({overlayRoot:m,eventBus:p,surfaces:w,anchorResolver:b,waitForAnchor:x,executorRegistry:a,subscribeNavigation:M=>c.subscribe(M),runtime:{evaluateSync:M=>v.evaluateSync(M,u.get()),context:u,accumulator:f,sessionMetrics:t,events:p?{subscribe:M=>p.subscribe(()=>M())}:void 0}}),S;if(t){let M=t;M.increment("page_views");let F=typeof window<"u"?window.location.pathname:"/";S=c.subscribe((V,P)=>{if(P!=="replaceState")try{let K=new URL(V).pathname;K!==F&&(F=K,M.increment("page_views"),T=0,M.set("time_on_page",0),M.set("scroll_depth",0))}catch{}})}let T=0,_,C;if(t){let M=t;_=setInterval(()=>{T++},1e3),C=setInterval(()=>{M.set("time_on_page",T)},5e3)}let R;if(t&&p){let M=t;R=p.subscribe({names:["ui.scroll"]},F=>{let V=F.props?.scrollPercentage;typeof V=="number"&&V>M.get("scroll_depth")&&M.set("scroll_depth",V)})}let N={telemetry:e,context:u,events:p,state:h,sessionMetrics:t,actions:y,surfaces:w,widgets:o,executors:a,apps:l,accumulator:f,anchorResolver:g,navigation:c,version:D_,mode:i,async evaluate(M){return v.evaluate(M,u.get())},evaluateSync(M){return v.evaluateSync(M,u.get())},async filterTiles(M){let F=u.get().page.url,V=[];for(let P of M){let K=P.activation;if(!K){V.push(P);continue}if(v2(F,K.routes)){if(K.onlyIfPopulated){let Y=P.props?.actions??[];if(Y.length>0&&!Y.some(D=>D.triggerWhen?v.evaluateSync(D.triggerWhen,u.get()).value:!0))continue}V.push(P)}}return V},setRoutes(M){u.setRoutes(M)},destroy(){l.unbind().catch(M=>{console.error("[Runtime] Error unbinding apps registry:",M)}),S?.(),R?.(),_&&clearInterval(_),C&&clearInterval(C),g.destroy(),f.destroy(),c.destroy(),u.destroy(),y.destroy(),w.destroy()}};return l.bind(N),o.bindRuntime(N),N}function H_(r){return r==="granted"?"granted":r==="denied"?"denied":"pending"}function fh(r){return r?Array.isArray(r)&&r[0]==="consent"?r[2]?.analytics_storage??null:typeof r=="object"&&r.event==="consent_update"?r.analytics_storage??null:null:null}var Io=class{constructor(){this.name="gtm-consent-mode-v2"}detect(){if(typeof window>"u")return!1;let e=window.dataLayer;if(!Array.isArray(e))return!1;for(let t of e)if(fh(t)!==null)return!0;return!1}initialize(e){if(typeof window>"u")return e("pending"),()=>{};Array.isArray(window.dataLayer)||(window.dataLayer=[]),e(this.readCurrentState());let t=window.dataLayer,n=t.push.bind(t),i=(...s)=>{let o=n(...s);for(let a of s){let l=fh(a);l!==null&&e(H_(l))}return o};return t.push=i,()=>{t.push===i&&(t.push=n)}}readCurrentState(){if(typeof window>"u")return"pending";let e=window.dataLayer;if(!Array.isArray(e))return"pending";for(let t=e.length-1;t>=0;t--){let n=fh(e[t]);if(n!==null)return H_(n)}return"pending"}};var $o=class{constructor(){this.name="iab-tcf-v2"}detect(){return typeof window>"u"?!1:typeof window.__tcfapi=="function"}initialize(e){if(e("pending"),typeof window>"u")return()=>{};let t=window.__tcfapi;if(typeof t!="function")return()=>{};let n;return t("addEventListener",2,(i,s)=>{if(!s||!i||(n===void 0&&typeof i.listenerId=="number"&&(n=i.listenerId),!(i.eventStatus==="tcloaded"||i.eventStatus==="useractioncomplete")))return;if(i.gdprApplies===!1){e("granted");return}let a=i.purpose?.consents??{},l=a[1]===!0,c=a[8]===!0;e(l&&c?"granted":"denied")}),()=>{if(n!==void 0)try{t("removeEventListener",2,()=>{},n)}catch{}}}};var B_="visitorConsentCollected",Mo=class{constructor(){this.name="shopify-customer-privacy"}detect(){return typeof window>"u"?!1:typeof window.Shopify?.loadFeatures=="function"}initialize(e){if(e("pending"),typeof window>"u")return()=>{};let t=window.Shopify;if(!t?.loadFeatures)return()=>{};let n;return t.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],i=>{if(i)return;let s=t.customerPrivacy?.userCanBeTracked()??!0;e(s?"granted":"denied"),n=o=>{let a=o.detail;e(a?.analyticsAllowed?"granted":"denied")},document.addEventListener(B_,n)}),()=>{n&&document.removeEventListener(B_,n)}}};var Po=class{constructor(e){this.options=e}async start(e){for(let n of this.options.adapters){let i=!1;try{i=n.detect()}catch{continue}if(i)try{let s=n.initialize(o=>e.setStatus(o));return this.options.onAdapterSelected?.(n.name),s}catch(s){console.warn(`[Syntro consent] Adapter "${n.name}" failed:`,s)}}this.options.onAdapterSelected?.(null);let t=await this.resolveFallback();return e.setStatus(t),()=>{}}async resolveFallback(){if(!this.options.fallbackStatus)return"pending";try{return await this.options.fallbackStatus()}catch{return"pending"}}};var Oo=class{constructor(e={}){this.listeners=new Set;this.destroyed=!1;this.status=e.initialStatus??"pending",this.configCallback=e.onConsentChange,this.gtmEnabled=e.readFromGtmConsentMode??!1,this.pendingResolverFn=e.pendingResolver}grant(){this.setStatus("granted")}deny(){this.setStatus("denied")}getStatus(){return this.status}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}subscribeOnce(e){if(this.status!=="pending")return queueMicrotask(()=>e(this.status)),()=>{};let t=this.subscribe(n=>{n!=="pending"&&(t(),e(n))});return t}async resolvePending(){if(this.status!=="pending")return this.status;if(!this.pendingResolverFn)return"denied";try{return await this.pendingResolverFn()}catch{return"denied"}}setStatus(e){this.applyStatus(e)}pollGtmConsent(){if(!this.gtmEnabled||typeof window>"u")return;let e=window.dataLayer;if(Array.isArray(e))for(let t=e.length-1;t>=0;t--){let n=e[t];if(!n)continue;if(n[0]==="consent"&&n[1]==="update"&&n[2]){let s=n[2].analytics_storage;s==="granted"?this.setStatus("granted"):s==="denied"&&this.setStatus("denied");return}}}destroy(){this.destroyed=!0,this.listeners.clear()}applyStatus(e){this.destroyed||this.status!==e&&(this.status=e,this.notify(e))}notify(e){if(this.configCallback)try{this.configCallback(e)}catch{}for(let t of this.listeners)try{t(e)}catch{}}};var Lo=class{constructor(e,t){this.seenSet=new Set;this.triggeredSet=new Set;this.telemetry=e,this.variantId=t}trackServed(e,t){this.telemetry.track?.("syntro_config_served",{variant_id:this.variantId,tiles:e,actions:t})}trackSeen(e,t){this.seenSet.has(e)||(this.seenSet.add(e),this.telemetry.track?.("syntro_intervention_seen",{variant_id:this.variantId,intervention_id:e,intervention_kind:t}))}trackTriggered(e,t){this.triggeredSet.has(e)||(this.triggeredSet.add(e),this.telemetry.track?.("syntro_intervention_triggered",{variant_id:this.variantId,intervention_id:e,intervention_kind:t}))}trackInteracted(e,t,n){this.telemetry.track?.("syntro_intervention_interacted",{variant_id:this.variantId,intervention_id:e,intervention_kind:t,interaction_type:n})}resetPage(){this.seenSet.clear(),this.triggeredSet.clear()}};function y2(){let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",e="";for(let t=0;t<16;t++)e+=r[Math.floor(Math.random()*r.length)];return e}var gh=class{constructor(){this.sessionId=y2(),console.log(`[Syntro Telemetry] Using noop adapter (no telemetry configured). sessionId=${this.sessionId}`)}trackCanvasOpened(e){}trackCanvasClosed(e){}trackRectangleViewed(e,t){}trackAction(e,t,n){}register(e){}getSessionId(){return this.sessionId}startSessionRecording(){}trackExperiment(e,t,n){}setPersonProperties(e){}setPersonPropertiesOnce(e){}getDistinctId(){return"demo-user"}getAllFeatureFlags(){return{}}getSegmentFlags(){return{}}track(e,t){}identify(e,t){}alias(e,t){}optInCapturing(){}optOutCapturing(){}};function mh(){return new gh}var E=typeof window<"u"?window:void 0,rt=typeof globalThis<"u"?globalThis:E;typeof self>"u"&&(rt.self=rt),typeof File>"u"&&(rt.File=function(){});var N0=Array.prototype,V_=N0.forEach,U_=N0.indexOf,kt=rt?.navigator,U=rt?.document,tt=rt?.location,Oh=rt?.fetch,Lh=rt!=null&&rt.XMLHttpRequest&&"withCredentials"in new rt.XMLHttpRequest?rt.XMLHttpRequest:void 0,j_=rt?.AbortController,_t=kt?.userAgent,ee=E??{},Mr={DEBUG:!1,LIB_VERSION:"1.341.0"};function W_(r,e,t,n,i,s,o){try{var a=r[s](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(n,i)}function Wi(r){return function(){var e=this,t=arguments;return new Promise((function(n,i){var s=r.apply(e,t);function o(l){W_(s,n,i,o,a,"next",l)}function a(l){W_(s,n,i,o,a,"throw",l)}o(void 0)}))}}function z(){return z=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},z.apply(null,arguments)}function F0(r,e){if(r==null)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.indexOf(n)!==-1)continue;t[n]=r[n]}return t}var b2=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],z_=function(r,e){if(e===void 0&&(e=[]),!r)return!1;var t=r.toLowerCase();return b2.concat(e).some((n=>{var i=n.toLowerCase();return t.indexOf(i)!==-1}))},_2=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function he(r,e){return r.indexOf(e)!==-1}var Dc=function(r){return r.trim()},Nh=function(r){return r.replace(/^\$/,"")},x2=Array.isArray,D0=Object.prototype,H0=D0.hasOwnProperty,Hc=D0.toString,be=x2||function(r){return Hc.call(r)==="[object Array]"},un=r=>typeof r=="function",ze=r=>r===Object(r)&&!be(r),zi=r=>{if(ze(r)){for(var e in r)if(H0.call(r,e))return!1;return!0}return!1},j=r=>r===void 0,qe=r=>Hc.call(r)=="[object String]",Fh=r=>qe(r)&&r.trim().length===0,qt=r=>r===null,ge=r=>j(r)||qt(r),Dr=r=>Hc.call(r)=="[object Number]"&&r==r,Ui=r=>Dr(r)&&r>0,Fr=r=>Hc.call(r)==="[object Boolean]",w2=r=>r instanceof FormData,S2=r=>he(_2,r);function Dh(r){return r===null||typeof r!="object"}function mc(r,e){return Object.prototype.toString.call(r)==="[object "+e+"]"}function B0(r){return!j(Event)&&(function(e,t){try{return e instanceof t}catch{return!1}})(r,Event)}var k2=[!0,"true",1,"1","yes"],vh=r=>he(k2,r),E2=[!1,"false",0,"0","no"];function pr(r,e,t,n,i){return e>t&&(n.warn("min cannot be greater than max."),e=t),Dr(r)?r>t?(n.warn(" cannot be greater than max: "+t+". Using max value instead."),t):r<e?(n.warn(" cannot be less than min: "+e+". Using min value instead."),e):r:(n.warn(" must be a number. using max or fallback. max: "+t+", fallback: "+i),pr(i||t,e,t,n))}var Hh=class{constructor(e){this.t={},this.i=e.i,this.o=pr(e.bucketSize,0,100,e.h),this.m=pr(e.refillRate,0,this.o,e.h),this.$=pr(e.refillInterval,0,864e5,e.h)}S(e,t){var n=t-e.lastAccess,i=Math.floor(n/this.$);if(i>0){var s=i*this.m;e.tokens=Math.min(e.tokens+s,this.o),e.lastAccess=e.lastAccess+i*this.$}}consumeRateLimit(e){var t,n=Date.now(),i=String(e),s=this.t[i];return s?this.S(s,n):(s={tokens:this.o,lastAccess:n},this.t[i]=s),s.tokens===0||(s.tokens--,s.tokens===0&&((t=this.i)==null||t.call(this,e)),s.tokens===0)}stop(){this.t={}}},Pt="Mobile",vc="iOS",Nr="Android",ra="Tablet",V0=Nr+" "+ra,U0="iPad",j0="Apple",W0=j0+" Watch",na="Safari",Ki="BlackBerry",z0="Samsung",q0=z0+"Browser",Z0=z0+" Internet",ii="Chrome",C2=ii+" OS",G0=ii+" "+vc,Gf="Internet Explorer",K0=Gf+" "+Pt,Kf="Opera",A2=Kf+" Mini",Yf="Edge",Y0="Microsoft "+Yf,Zi="Firefox",X0=Zi+" "+vc,ia="Nintendo",sa="PlayStation",Gi="Xbox",J0=Nr+" "+Pt,Q0=Pt+" "+na,zo="Windows",Bh=zo+" Phone",q_="Nokia",Vh="Ouya",ex="Generic",T2=ex+" "+Pt.toLowerCase(),tx=ex+" "+ra.toLowerCase(),Uh="Konqueror",pt="(\\d+(\\.\\d+)?)",yh=new RegExp("Version/"+pt),R2=new RegExp(Gi,"i"),I2=new RegExp(sa+" \\w+","i"),$2=new RegExp(ia+" \\w+","i"),Xf=new RegExp(Ki+"|PlayBook|BB10","i"),M2={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},cc,Z_,bh,P2=(r,e)=>e&&he(e,j0)||(function(t){return he(t,na)&&!he(t,ii)&&!he(t,Nr)})(r),rx=function(r,e){return e=e||"",he(r," OPR/")&&he(r,"Mini")?A2:he(r," OPR/")?Kf:Xf.test(r)?Ki:he(r,"IE"+Pt)||he(r,"WPDesktop")?K0:he(r,q0)?Z0:he(r,Yf)||he(r,"Edg/")?Y0:he(r,"FBIOS")?"Facebook "+Pt:he(r,"UCWEB")||he(r,"UCBrowser")?"UC Browser":he(r,"CriOS")?G0:he(r,"CrMo")||he(r,ii)?ii:he(r,Nr)&&he(r,na)?J0:he(r,"FxiOS")?X0:he(r.toLowerCase(),Uh.toLowerCase())?Uh:P2(r,e)?he(r,Pt)?Q0:na:he(r,Zi)?Zi:he(r,"MSIE")||he(r,"Trident/")?Gf:he(r,"Gecko")?Zi:""},O2={[K0]:[new RegExp("rv:"+pt)],[Y0]:[new RegExp(Yf+"?\\/"+pt)],[ii]:[new RegExp("("+ii+"|CrMo)\\/"+pt)],[G0]:[new RegExp("CriOS\\/"+pt)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+pt)],[na]:[yh],[Q0]:[yh],[Kf]:[new RegExp("(Opera|OPR)\\/"+pt)],[Zi]:[new RegExp(Zi+"\\/"+pt)],[X0]:[new RegExp("FxiOS\\/"+pt)],[Uh]:[new RegExp("Konqueror[:/]?"+pt,"i")],[Ki]:[new RegExp(Ki+" "+pt),yh],[J0]:[new RegExp("android\\s"+pt,"i")],[Z0]:[new RegExp(q0+"\\/"+pt)],[Gf]:[new RegExp("(rv:|MSIE )"+pt)],Mozilla:[new RegExp("rv:"+pt)]},L2=function(r,e){var t=rx(r,e),n=O2[t];if(j(n))return null;for(var i=0;i<n.length;i++){var s=n[i],o=r.match(s);if(o)return parseFloat(o[o.length-2])}return null},G_=[[new RegExp(Gi+"; "+Gi+" (.*?)[);]","i"),r=>[Gi,r&&r[1]||""]],[new RegExp(ia,"i"),[ia,""]],[new RegExp(sa,"i"),[sa,""]],[Xf,[Ki,""]],[new RegExp(zo,"i"),(r,e)=>{if(/Phone/.test(e)||/WPDesktop/.test(e))return[Bh,""];if(new RegExp(Pt).test(e)&&!/IEMobile\b/.test(e))return[zo+" "+Pt,""];var t=/Windows NT ([0-9.]+)/i.exec(e);if(t&&t[1]){var n=t[1],i=M2[n]||"";return/arm/i.test(e)&&(i="RT"),[zo,i]}return[zo,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,r=>{if(r&&r[3]){var e=[r[3],r[4],r[5]||"0"];return[vc,e.join(".")]}return[vc,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,r=>{var e="";return r&&r.length>=3&&(e=j(r[2])?r[3]:r[2]),["watchOS",e]}],[new RegExp("("+Nr+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+Nr+")","i"),r=>{if(r&&r[2]){var e=[r[2],r[3],r[4]||"0"];return[Nr,e.join(".")]}return[Nr,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,r=>{var e=["Mac OS X",""];if(r&&r[1]){var t=[r[1],r[2],r[3]||"0"];e[1]=t.join(".")}return e}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[C2,""]],[/Linux|debian/i,["Linux",""]]],K_=function(r){return $2.test(r)?ia:I2.test(r)?sa:R2.test(r)?Gi:new RegExp(Vh,"i").test(r)?Vh:new RegExp("("+Bh+"|WPDesktop)","i").test(r)?Bh:/iPad/.test(r)?U0:/iPod/.test(r)?"iPod Touch":/iPhone/.test(r)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(r)?W0:Xf.test(r)?Ki:/(kobo)\s(ereader|touch)/i.test(r)?"Kobo":new RegExp(q_,"i").test(r)?q_:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(r)||/(kf[a-z]+)( bui|\)).+silk\//i.test(r)?"Kindle Fire":/(Android|ZTE)/i.test(r)?new RegExp(Pt).test(r)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(r)||/pixel[\daxl ]{1,6}/i.test(r)&&!/pixel c/i.test(r)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(r)||/lmy47v/i.test(r)&&!/QTAQZ3/i.test(r)?Nr:V0:new RegExp("(pda|"+Pt+")","i").test(r)?T2:new RegExp(ra,"i").test(r)&&!new RegExp(ra+" pc","i").test(r)?tx:""},N2=r=>r instanceof Error;function F2(r){var e=globalThis._posthogChunkIds;if(e){var t=Object.keys(e);return bh&&t.length===Z_||(Z_=t.length,bh=t.reduce(((n,i)=>{cc||(cc={});var s=cc[i];if(s)n[s[0]]=s[1];else for(var o=r(i),a=o.length-1;a>=0;a--){var l=o[a],c=l?.filename,u=e[i];if(c&&u){n[c]=u,cc[i]=[c,u];break}}return n}),{})),bh}}var jh=class{constructor(e,t,n){n===void 0&&(n=[]),this.coercers=e,this.stackParser=t,this.modifiers=n}buildFromUnknown(e,t){t===void 0&&(t={});var n=t&&t.mechanism||{handled:!0,type:"generic"},i=this.buildCoercingContext(n,t,0).apply(e),s=this.buildParsingContext(),o=this.parseStacktrace(i,s);return{$exception_list:this.convertToExceptionList(o,n),$exception_level:"error"}}modifyFrames(e){var t=this;return Wi((function*(){for(var n of e)n.stacktrace&&n.stacktrace.frames&&be(n.stacktrace.frames)&&(n.stacktrace.frames=yield t.applyModifiers(n.stacktrace.frames));return e}))()}coerceFallback(e){var t;return{type:"Error",value:"Unknown error",stack:(t=e.syntheticException)==null?void 0:t.stack,synthetic:!0}}parseStacktrace(e,t){var n,i;return e.cause!=null&&(n=this.parseStacktrace(e.cause,t)),e.stack!=""&&e.stack!=null&&(i=this.applyChunkIds(this.stackParser(e.stack,e.synthetic?1:0),t.chunkIdMap)),z({},e,{cause:n,stack:i})}applyChunkIds(e,t){return e.map((n=>(n.filename&&t&&(n.chunk_id=t[n.filename]),n)))}applyCoercers(e,t){for(var n of this.coercers)if(n.match(e))return n.coerce(e,t);return this.coerceFallback(t)}applyModifiers(e){var t=this;return Wi((function*(){var n=e;for(var i of t.modifiers)n=yield i(n);return n}))()}convertToExceptionList(e,t){var n,i,s,o={type:e.type,value:e.value,mechanism:{type:(n=t.type)!==null&&n!==void 0?n:"generic",handled:(i=t.handled)===null||i===void 0||i,synthetic:(s=e.synthetic)!==null&&s!==void 0&&s}};e.stack&&(o.stacktrace={type:"raw",frames:e.stack});var a=[o];return e.cause!=null&&a.push(...this.convertToExceptionList(e.cause,z({},t,{handled:!0}))),a}buildParsingContext(){return{chunkIdMap:F2(this.stackParser)}}buildCoercingContext(e,t,n){n===void 0&&(n=0);var i=(s,o)=>{if(o<=4){var a=this.buildCoercingContext(e,t,o);return this.applyCoercers(s,a)}};return z({},t,{syntheticException:n==0?t.syntheticException:void 0,mechanism:e,apply:s=>i(s,n),next:s=>i(s,n+1)})}},Yi="?";function Wh(r,e,t,n,i){var s={platform:r,filename:e,function:t==="<anonymous>"?Yi:t,in_app:!0};return j(n)||(s.lineno=n),j(i)||(s.colno=i),s}var nx=(r,e)=>{var t=r.indexOf("safari-extension")!==-1,n=r.indexOf("safari-web-extension")!==-1;return t||n?[r.indexOf("@")!==-1?r.split("@")[0]:Yi,t?"safari-extension:"+e:"safari-web-extension:"+e]:[r,e]},D2=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,H2=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,B2=/\((\S*)(?::(\d+))(?::(\d+))\)/,V2=(r,e)=>{var t=D2.exec(r);if(t){var[,n,i,s]=t;return Wh(e,n,Yi,+i,+s)}var o=H2.exec(r);if(o){if(o[2]&&o[2].indexOf("eval")===0){var a=B2.exec(o[2]);a&&(o[2]=a[1],o[3]=a[2],o[4]=a[3])}var[l,c]=nx(o[1]||Yi,o[2]);return Wh(e,c,l,o[3]?+o[3]:void 0,o[4]?+o[4]:void 0)}},U2=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,j2=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,W2=(r,e)=>{var t=U2.exec(r);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){var n=j2.exec(t[3]);n&&(t[1]=t[1]||"eval",t[3]=n[1],t[4]=n[2],t[5]="")}var i=t[3],s=t[1]||Yi;return[s,i]=nx(s,i),Wh(e,i,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},Y_=/\(error: (.*)\)/,X_=50;function z2(){return(function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return function(i,s){s===void 0&&(s=0);for(var o=[],a=i.split(`
|
|
1063
1063
|
`),l=s;l<a.length;l++){var c=a[l];if(!(c.length>1024)){var u=Y_.test(c)?c.replace(Y_,"$1"):c;if(!u.match(/\S*Error: /)){for(var p of t){var h=p(u,r);if(h){o.push(h);break}}if(o.length>=X_)break}}}return(function(f){if(!f.length)return[];var v=Array.from(f);return v.reverse(),v.slice(0,X_).map((m=>{return z({},m,{filename:m.filename||(g=v,g[g.length-1]||{}).filename,function:m.function||Yi});var g}))})(o)}})("web:javascript",V2,W2)}var zh=class{match(e){return this.isDOMException(e)||this.isDOMError(e)}coerce(e,t){var n=qe(e.stack);return{type:this.getType(e),value:this.getValue(e),stack:n?e.stack:void 0,cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return this.isDOMError(e)?"DOMError":"DOMException"}getValue(e){var t=e.name||(this.isDOMError(e)?"DOMError":"DOMException");return e.message?t+": "+e.message:t}isDOMException(e){return mc(e,"DOMException")}isDOMError(e){return mc(e,"DOMError")}},qh=class{match(e){return(t=>t instanceof Error)(e)}coerce(e,t){return{type:this.getType(e),value:this.getMessage(e,t),stack:this.getStack(e),cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return e.name||e.constructor.name}getMessage(e,t){var n=e.message;return n.error&&typeof n.error.message=="string"?String(n.error.message):String(n)}getStack(e){return e.stacktrace||e.stack||void 0}},Zh=class{constructor(){}match(e){return mc(e,"ErrorEvent")&&e.error!=null}coerce(e,t){var n,i=t.apply(e.error);return i||{type:"ErrorEvent",value:e.message,stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},q2=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,Gh=class{match(e){return typeof e=="string"}coerce(e,t){var n,[i,s]=this.getInfos(e);return{type:i??"Error",value:s??e,stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}getInfos(e){var t="Error",n=e,i=e.match(q2);return i&&(t=i[1],n=i[2]),[t,n]}},Z2=["fatal","error","warning","log","info","debug"];function ix(r,e){e===void 0&&(e=40);var t=Object.keys(r);if(t.sort(),!t.length)return"[object has no keys]";for(var n=t.length;n>0;n--){var i=t.slice(0,n).join(", ");if(!(i.length>e))return n===t.length||i.length<=e?i:i.slice(0,e)+"..."}return""}var Kh=class{match(e){return typeof e=="object"&&e!==null}coerce(e,t){var n,i=this.getErrorPropertyFromObject(e);return i?t.apply(i):{type:this.getType(e),value:this.getValue(e),stack:(n=t.syntheticException)==null?void 0:n.stack,level:this.isSeverityLevel(e.level)?e.level:"error",synthetic:!0}}getType(e){return B0(e)?e.constructor.name:"Error"}getValue(e){if("name"in e&&typeof e.name=="string"){var t="'"+e.name+"' captured as exception";return"message"in e&&typeof e.message=="string"&&(t+=" with message: '"+e.message+"'"),t}if("message"in e&&typeof e.message=="string")return e.message;var n=this.getObjectClassName(e);return(n&&n!=="Object"?"'"+n+"'":"Object")+" captured as exception with keys: "+ix(e)}isSeverityLevel(e){return qe(e)&&!Fh(e)&&Z2.indexOf(e)>=0}getErrorPropertyFromObject(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=e[t];if(N2(n))return n}}getObjectClassName(e){try{var t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{return}}},Yh=class{match(e){return B0(e)}coerce(e,t){var n,i=e.constructor.name;return{type:i,value:i+" captured as exception with keys: "+ix(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},Xh=class{match(e){return Dh(e)}coerce(e,t){var n;return{type:"Error",value:"Primitive value captured as exception: "+String(e),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}}},Jh=class{match(e){return mc(e,"PromiseRejectionEvent")}coerce(e,t){var n,i=this.getUnhandledRejectionReason(e);return Dh(i)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(i),stack:(n=t.syntheticException)==null?void 0:n.stack,synthetic:!0}:t.apply(i)}getUnhandledRejectionReason(e){if(Dh(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}},sx=function(r,e){var{debugEnabled:t}=e===void 0?{}:e,n={k:function(i){if(E&&(Mr.DEBUG||ee.POSTHOG_DEBUG||t)&&!j(E.console)&&E.console){for(var s=("__rrweb_original__"in E.console[i])?E.console[i].__rrweb_original__:E.console[i],o=arguments.length,a=new Array(o>1?o-1:0),l=1;l<o;l++)a[l-1]=arguments[l];s(r,...a)}},info:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("log",...s)},warn:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("warn",...s)},error:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.k("error",...s)},critical:function(){for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];console.error(r,...s)},uninitializedWarning:i=>{n.error("You must initialize PostHog before calling "+i)},createLogger:(i,s)=>sx(r+" "+i,s)};return n},W=sx("[PostHog.js]"),Oe=W.createLogger,G2=Oe("[ExternalScriptsLoader]"),J_=(r,e,t)=>{if(r.config.disable_external_dependency_loading)return G2.warn(e+" was requested but loading of external scripts is disabled."),t("Loading of external scripts is disabled");var n=U?.querySelectorAll("script");if(n){for(var i,s=function(){if(n[o].src===e){var l=n[o];return l.__posthog_loading_callback_fired?{v:t()}:(l.addEventListener("load",(c=>{l.__posthog_loading_callback_fired=!0,t(void 0,c)})),l.onerror=c=>t(c),{v:void 0})}},o=0;o<n.length;o++)if(i=s())return i.v}var a=()=>{if(!U)return t("document not found");var l=U.createElement("script");if(l.type="text/javascript",l.crossOrigin="anonymous",l.src=e,l.onload=p=>{l.__posthog_loading_callback_fired=!0,t(void 0,p)},l.onerror=p=>t(p),r.config.prepare_external_dependency_script&&(l=r.config.prepare_external_dependency_script(l)),!l)return t("prepare_external_dependency_script returned null");if(r.config.external_scripts_inject_target==="head")U.head.appendChild(l);else{var c,u=U.querySelectorAll("body > script");u.length>0?(c=u[0].parentNode)==null||c.insertBefore(l,u[0]):U.body.appendChild(l)}};U!=null&&U.body?a():U?.addEventListener("DOMContentLoaded",a)};ee.__PosthogExtensions__=ee.__PosthogExtensions__||{},ee.__PosthogExtensions__.loadExternalDependency=(r,e,t)=>{var n="/static/"+e+".js?v="+r.version;if(e==="remote-config"&&(n="/array/"+r.config.token+"/config.js"),e==="toolbar"){var i=3e5;n=n+"&t="+Math.floor(Date.now()/i)*i}var s=r.requestRouter.endpointFor("assets",n);J_(r,s,t)},ee.__PosthogExtensions__.loadSiteApp=(r,e,t)=>{var n=r.requestRouter.endpointFor("api",e);J_(r,n,t)};var yc={};function dn(r,e,t){if(be(r)){if(V_&&r.forEach===V_)r.forEach(e,t);else if("length"in r&&r.length===+r.length){for(var n=0,i=r.length;n<i;n++)if(n in r&&e.call(t,r[n],n)===yc)return}}}function Ae(r,e,t){if(!ge(r)){if(be(r))return dn(r,e,t);if(w2(r)){for(var n of r.entries())if(e.call(t,n[1],n[0])===yc)return}else for(var i in r)if(H0.call(r,i)&&e.call(t,r[i],i)===yc)return}}var He=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return dn(t,(function(i){for(var s in i)i[s]!==void 0&&(r[s]=i[s])})),r},Ji=function(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return dn(t,(function(i){dn(i,(function(s){r.push(s)}))})),r};function fc(r){for(var e=Object.keys(r),t=e.length,n=new Array(t);t--;)n[t]=[e[t],r[e[t]]];return n}var Q_=function(r){try{return r()}catch{return}},K2=function(r){return function(){try{for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.apply(this,t)}catch(i){W.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),W.critical(i)}}},Jf=function(r){var e={};return Ae(r,(function(t,n){(qe(t)&&t.length>0||Dr(t))&&(e[n]=t)})),e};function Y2(r,e){return t=r,n=s=>qe(s)&&!qt(e)?s.slice(0,e):s,i=new Set,(function s(o,a){return o!==Object(o)?n?n(o,a):o:i.has(o)?void 0:(i.add(o),be(o)?(l=[],dn(o,(c=>{l.push(s(c))}))):(l={},Ae(o,((c,u)=>{i.has(c)||(l[u]=s(c,u))}))),l);var l})(t);var t,n,i}var X2=["herokuapp.com","vercel.app","netlify.app"];function J2(r){var e=r?.hostname;if(!qe(e))return!1;var t=e.split(".").slice(-2).join(".");for(var n of X2)if(t===n)return!1;return!0}function ox(r,e){for(var t=0;t<r.length;t++)if(e(r[t]))return r[t]}function je(r,e,t,n){var{capture:i=!1,passive:s=!0}=n??{};r?.addEventListener(e,t,{capture:i,passive:s})}var ax="$people_distinct_id",qo="__alias",Zo="__timers",e0="$autocapture_disabled_server_side",Qh="$heatmaps_enabled_server_side",t0="$exception_capture_enabled_server_side",ef="$error_tracking_suppression_rules",r0="$error_tracking_capture_extension_exceptions",n0="$web_vitals_enabled_server_side",lx="$dead_clicks_enabled_server_side",i0="$product_tours_enabled_server_side",s0="$web_vitals_allowed_metrics",_h="$session_recording_remote_config",bc="$sesid",cx="$session_is_sampled",qi="$enabled_feature_flags",Go="$early_access_features",tf="$feature_flag_details",Ko="$stored_person_properties",ni="$stored_group_properties",rf="$surveys",_c="$flag_call_reported",Pr="$user_state",nf="$client_session_props",sf="$capture_rate_limit",of="$initial_campaign_params",af="$initial_referrer_info",xc="$initial_person_info",wc="$epp",ux="__POSTHOG_TOOLBAR__",No="$posthog_cookieless",Q2=[ax,qo,"__cmpns",Zo,"$session_recording_enabled_server_side",Qh,bc,qi,ef,Pr,Go,tf,ni,Ko,rf,_c,nf,sf,of,af,wc,xc,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function o0(r){return r instanceof Element&&(r.id===ux||!(r.closest==null||!r.closest(".toolbar-global-fade-container")))}function Bc(r){return!!r&&r.nodeType===1}function pn(r,e){return!!r&&!!r.tagName&&r.tagName.toLowerCase()===e.toLowerCase()}function dx(r){return!!r&&r.nodeType===3}function px(r){return!!r&&r.nodeType===11}function Qf(r){return r?Dc(r).split(/\s+/):[]}function a0(r){var e=E?.location.href;return!!(e&&r&&r.some((t=>e.match(t))))}function Sc(r){var e="";switch(typeof r.className){case"string":e=r.className;break;case"object":e=(r.className&&"baseVal"in r.className?r.className.baseVal:null)||r.getAttribute("class")||"";break;default:e=""}return Qf(e)}function hx(r){return ge(r)?null:Dc(r).split(/(\s+)/).filter((e=>oa(e))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function la(r){var e="";return lf(r)&&!yx(r)&&r.childNodes&&r.childNodes.length&&Ae(r.childNodes,(function(t){var n;dx(t)&&t.textContent&&(e+=(n=hx(t.textContent))!==null&&n!==void 0?n:"")})),Dc(e)}function fx(r){return j(r.target)?r.srcElement||null:(e=r.target)!=null&&e.shadowRoot?r.composedPath()[0]||null:r.target||null;var e}var eg=["a","button","form","input","select","textarea","label"];function gx(r,e){if(j(e))return!0;var t,n=function(s){if(e.some((o=>s.matches(o))))return{v:!0}};for(var i of r)if(t=n(i))return t.v;return!1}function mx(r){var e=r.parentNode;return!(!e||!Bc(e))&&e}var eT=["next","previous","prev",">","<"],l0=10,c0=[".ph-no-rageclick",".ph-no-capture"];function tT(r,e){if(!E||tg(r))return!1;var t,n,i;if(Fr(e)?(t=!!e&&c0,n=void 0):(t=(i=e?.css_selector_ignorelist)!==null&&i!==void 0?i:c0,n=e?.content_ignorelist),t===!1)return!1;var{targetElementList:s}=vx(r,!1);return!(function(o,a){if(o===!1||j(o))return!1;var l;if(o===!0)l=eT;else{if(!be(o))return!1;if(o.length>l0)return W.error("[PostHog] content_ignorelist array cannot exceed "+l0+" items. Use css_selector_ignorelist for more complex matching."),!1;l=o.map((c=>c.toLowerCase()))}return a.some((c=>{var{safeText:u,ariaLabel:p}=c;return l.some((h=>u.includes(h)||p.includes(h)))}))})(n,s.map((o=>{var a;return{safeText:la(o).toLowerCase(),ariaLabel:((a=o.getAttribute("aria-label"))==null?void 0:a.toLowerCase().trim())||""}})))&&!gx(s,t)}var tg=r=>!r||pn(r,"html")||!Bc(r),vx=(r,e)=>{if(!E||tg(r))return{parentIsUsefulElement:!1,targetElementList:[]};for(var t=!1,n=[r],i=r;i.parentNode&&!pn(i,"body");)if(px(i.parentNode))n.push(i.parentNode.host),i=i.parentNode.host;else{var s=mx(i);if(!s)break;if(e||eg.indexOf(s.tagName.toLowerCase())>-1)t=!0;else{var o=E.getComputedStyle(s);o&&o.getPropertyValue("cursor")==="pointer"&&(t=!0)}n.push(s),i=s}return{parentIsUsefulElement:t,targetElementList:n}};function rT(r,e,t,n,i){var s,o,a,l;if(t===void 0&&(t=void 0),!E||tg(r)||(s=t)!=null&&s.url_allowlist&&!a0(t.url_allowlist)||(o=t)!=null&&o.url_ignorelist&&a0(t.url_ignorelist))return!1;if((a=t)!=null&&a.dom_event_allowlist){var c=t.dom_event_allowlist;if(c&&!c.some((v=>e.type===v)))return!1}var{parentIsUsefulElement:u,targetElementList:p}=vx(r,n);if(!(function(v,m){var g=m?.element_allowlist;if(j(g))return!0;var b,x=function(y){if(g.some((S=>y.tagName.toLowerCase()===S)))return{v:!0}};for(var w of v)if(b=x(w))return b.v;return!1})(p,t)||!gx(p,(l=t)==null?void 0:l.css_selector_allowlist))return!1;var h=E.getComputedStyle(r);if(h&&h.getPropertyValue("cursor")==="pointer"&&e.type==="click")return!0;var f=r.tagName.toLowerCase();switch(f){case"html":return!1;case"form":return(i||["submit"]).indexOf(e.type)>=0;case"input":case"select":case"textarea":return(i||["change","click"]).indexOf(e.type)>=0;default:return u?(i||["click"]).indexOf(e.type)>=0:(i||["click"]).indexOf(e.type)>=0&&(eg.indexOf(f)>-1||r.getAttribute("contenteditable")==="true")}}function lf(r){for(var e=r;e.parentNode&&!pn(e,"body");e=e.parentNode){var t=Sc(e);if(he(t,"ph-sensitive")||he(t,"ph-no-capture"))return!1}if(he(Sc(r),"ph-include"))return!0;var n=r.type||"";if(qe(n))switch(n.toLowerCase()){case"hidden":case"password":return!1}var i=r.name||r.id||"";return!(qe(i)&&/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(i.replace(/[^a-zA-Z0-9]/g,"")))}function yx(r){return!!(pn(r,"input")&&!["button","checkbox","submit","reset"].includes(r.type)||pn(r,"select")||pn(r,"textarea")||r.getAttribute("contenteditable")==="true")}var bx="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",nT=new RegExp("^(?:"+bx+")$"),iT=new RegExp(bx),_x="\\d{3}-?\\d{2}-?\\d{4}",sT=new RegExp("^("+_x+")$"),oT=new RegExp("("+_x+")");function oa(r,e){return e===void 0&&(e=!0),!(ge(r)||qe(r)&&(r=Dc(r),(e?nT:iT).test((r||"").replace(/[- ]/g,""))||(e?sT:oT).test(r)))}function xx(r){var e=la(r);return oa(e=(e+" "+wx(r)).trim())?e:""}function wx(r){var e="";return r&&r.childNodes&&r.childNodes.length&&Ae(r.childNodes,(function(t){var n;if(t&&((n=t.tagName)==null?void 0:n.toLowerCase())==="span")try{var i=la(t);e=(e+" "+i).trim(),t.childNodes&&t.childNodes.length&&(e=(e+" "+wx(t)).trim())}catch(s){W.error("[AutoCapture]",s)}})),e}function aT(r){return(function(e){var t=e.map((n=>{var i,s,o="";if(n.tag_name&&(o+=n.tag_name),n.attr_class)for(var a of(n.attr_class.sort(),n.attr_class))o+="."+a.replace(/"/g,"");var l=z({},n.text?{text:n.text}:{},{"nth-child":(i=n.nth_child)!==null&&i!==void 0?i:0,"nth-of-type":(s=n.nth_of_type)!==null&&s!==void 0?s:0},n.href?{href:n.href}:{},n.attr_id?{attr_id:n.attr_id}:{},n.attributes),c={};return fc(l).sort(((u,p)=>{var[h]=u,[f]=p;return h.localeCompare(f)})).forEach((u=>{var[p,h]=u;return c[u0(p.toString())]=u0(h.toString())})),o+=":",o+=fc(c).map((u=>{var[p,h]=u;return p+'="'+h+'"'})).join("")}));return t.join(";")})((function(e){return e.map((t=>{var n,i,s={text:(n=t.$el_text)==null?void 0:n.slice(0,400),tag_name:t.tag_name,href:(i=t.attr__href)==null?void 0:i.slice(0,2048),attr_class:lT(t),attr_id:t.attr__id,nth_child:t.nth_child,nth_of_type:t.nth_of_type,attributes:{}};return fc(t).filter((o=>{var[a]=o;return a.indexOf("attr__")===0})).forEach((o=>{var[a,l]=o;return s.attributes[a]=l})),s}))})(r))}function u0(r){return r.replace(/"|\\"/g,'\\"')}function lT(r){var e=r.attr__class;return e?be(e)?e:Qf(e):void 0}var kc=class{constructor(e){this.disabled=e===!1;var t=ze(e)?e:{};this.thresholdPx=t.threshold_px||30,this.timeoutMs=t.timeout_ms||1e3,this.clickCount=t.click_count||3,this.clicks=[]}isRageClick(e,t,n){if(this.disabled)return!1;var i=this.clicks[this.clicks.length-1];if(i&&Math.abs(e-i.x)+Math.abs(t-i.y)<this.thresholdPx&&n-i.timestamp<this.timeoutMs){if(this.clicks.push({x:e,y:t,timestamp:n}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:e,y:t,timestamp:n}];return!1}},Ec=r=>{var e=U?.createElement("a");return j(e)?null:(e.href=r,e)},cT=function(r,e){var t,n;e===void 0&&(e="&");var i=[];return Ae(r,(function(s,o){j(s)||j(o)||o==="undefined"||(t=encodeURIComponent((a=>a instanceof File)(s)?s.name:s.toString()),n=encodeURIComponent(o),i[i.length]=n+"="+t)})),i.join(e)},Cc=function(r,e){for(var t,n=((r.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),i=0;i<n.length;i++){var s=n[i].split("=");if(s[0]===e){t=s;break}}if(!be(t)||t.length<2)return"";var o=t[1];try{o=decodeURIComponent(o)}catch{W.error("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},ca=function(r,e,t){if(!r||!e||!e.length)return r;for(var n=r.split("#"),i=n[0]||"",s=n[1],o=i.split("?"),a=o[1],l=o[0],c=(a||"").split("&"),u=[],p=0;p<c.length;p++){var h=c[p].split("=");be(h)&&(e.includes(h[0])?u.push(h[0]+"="+t):u.push(c[p]))}var f=l;return a!=null&&(f+="?"+u.join("&")),s!=null&&(f+="#"+s),f},Ac=function(r,e){var t=r.match(new RegExp(e+"=([^&]*)"));return t?t[1]:null},xh="$copy_autocapture",d0=Oe("[AutoCapture]");function wh(r,e){return e.length>r?e.slice(0,r)+"...":e}function uT(r){if(r.previousElementSibling)return r.previousElementSibling;var e=r;do e=e.previousSibling;while(e&&!Bc(e));return e}function dT(r,e,t,n){var i=r.tagName.toLowerCase(),s={tag_name:i};eg.indexOf(i)>-1&&!t&&(i.toLowerCase()==="a"||i.toLowerCase()==="button"?s.$el_text=wh(1024,xx(r)):s.$el_text=wh(1024,la(r)));var o=Sc(r);o.length>0&&(s.classes=o.filter((function(u){return u!==""}))),Ae(r.attributes,(function(u){var p;if((!yx(r)||["name","id","class","aria-label"].indexOf(u.name)!==-1)&&(n==null||!n.includes(u.name))&&!e&&oa(u.value)&&(p=u.name,!qe(p)||p.substring(0,10)!=="_ngcontent"&&p.substring(0,7)!=="_nghost")){var h=u.value;u.name==="class"&&(h=Qf(h).join(" ")),s["attr__"+u.name]=wh(1024,h)}}));for(var a=1,l=1,c=r;c=uT(c);)a++,c.tagName===r.tagName&&l++;return s.nth_child=a,s.nth_of_type=l,s}function pT(r,e){for(var t,n,{e:i,maskAllElementAttributes:s,maskAllText:o,elementAttributeIgnoreList:a,elementsChainAsString:l}=e,c=[r],u=r;u.parentNode&&!pn(u,"body");)px(u.parentNode)?(c.push(u.parentNode.host),u=u.parentNode.host):(c.push(u.parentNode),u=u.parentNode);var p,h=[],f={},v=!1,m=!1;if(Ae(c,(y=>{var S=lf(y);y.tagName.toLowerCase()==="a"&&(v=y.getAttribute("href"),v=S&&v&&oa(v)&&v),he(Sc(y),"ph-no-capture")&&(m=!0),h.push(dT(y,s,o,a));var T=(function(_){if(!lf(_))return{};var C={};return Ae(_.attributes,(function(R){if(R.name&&R.name.indexOf("data-ph-capture-attribute")===0){var N=R.name.replace("data-ph-capture-attribute-",""),M=R.value;N&&M&&oa(M)&&(C[N]=M)}})),C})(y);He(f,T)})),m)return{props:{},explicitNoCapture:m};if(o||(r.tagName.toLowerCase()==="a"||r.tagName.toLowerCase()==="button"?h[0].$el_text=xx(r):h[0].$el_text=la(r)),v){var g,b;h[0].attr__href=v;var x=(g=Ec(v))==null?void 0:g.host,w=E==null||(b=E.location)==null?void 0:b.host;x&&w&&x!==w&&(p=v)}return{props:He({$event_type:i.type,$ce_version:1},l?{}:{$elements:h},{$elements_chain:aT(h)},(t=h[0])!=null&&t.$el_text?{$el_text:(n=h[0])==null?void 0:n.$el_text}:{},p&&i.type==="click"?{$external_click_url:p}:{},f)}}var cf=class{constructor(e){this.P=!1,this.T=null,this.I=!1,this.instance=e,this.rageclicks=new kc(e.config.rageclick),this.C=null}get R(){var e,t,n=ze(this.instance.config.autocapture)?this.instance.config.autocapture:{};return n.url_allowlist=(e=n.url_allowlist)==null?void 0:e.map((i=>new RegExp(i))),n.url_ignorelist=(t=n.url_ignorelist)==null?void 0:t.map((i=>new RegExp(i))),n}F(){if(this.isBrowserSupported()){if(E&&U){var e=n=>{n=n||E?.event;try{this.O(n)}catch(i){d0.error("Failed to capture event",i)}};if(je(U,"submit",e,{capture:!0}),je(U,"change",e,{capture:!0}),je(U,"click",e,{capture:!0}),this.R.capture_copied_text){var t=n=>{n=n||E?.event,this.O(n,xh)};je(U,"copy",t,{capture:!0}),je(U,"cut",t,{capture:!0})}}}else d0.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.P&&(this.F(),this.P=!0)}onRemoteConfig(e){e.elementsChainAsString&&(this.I=e.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[e0]:!!e.autocapture_opt_out}),this.T=!!e.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(e){this.C=e}getElementSelectors(e){var t,n=[];return(t=this.C)==null||t.forEach((i=>{var s=U?.querySelectorAll(i);s?.forEach((o=>{e===o&&n.push(i)}))})),n}get isEnabled(){var e,t,n=(e=this.instance.persistence)==null?void 0:e.props[e0],i=this.T;if(qt(i)&&!Fr(n)&&!this.instance.M())return!1;var s=(t=this.T)!==null&&t!==void 0?t:!!n;return!!this.instance.config.autocapture&&!s}O(e,t){if(t===void 0&&(t="$autocapture"),this.isEnabled){var n,i=fx(e);dx(i)&&(i=i.parentNode||null),t==="$autocapture"&&e.type==="click"&&e instanceof MouseEvent&&this.instance.config.rageclick&&(n=this.rageclicks)!=null&&n.isRageClick(e.clientX,e.clientY,e.timeStamp||new Date().getTime())&&tT(i,this.instance.config.rageclick)&&this.O(e,"$rageclick");var s=t===xh;if(i&&rT(i,e,this.R,s,s?["copy","cut"]:void 0)){var{props:o,explicitNoCapture:a}=pT(i,{e,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.R.element_attribute_ignorelist,elementsChainAsString:this.I});if(a)return!1;var l=this.getElementSelectors(i);if(l&&l.length>0&&(o.$element_selectors=l),t===xh){var c,u=hx(E==null||(c=E.getSelection())==null?void 0:c.toString()),p=e.type||"clipboard";if(!u)return!1;o.$selected_content=u,o.$copy_type=p}return this.instance.capture(t,o),!0}}}isBrowserSupported(){return un(U?.querySelectorAll)}};Math.trunc||(Math.trunc=function(r){return r<0?Math.ceil(r):Math.floor(r)}),Number.isInteger||(Number.isInteger=function(r){return Dr(r)&&isFinite(r)&&Math.floor(r)===r});var p0="0123456789abcdef",uf=class r{constructor(e){if(this.bytes=e,e.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(e,t,n,i){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(n)||!Number.isInteger(i)||e<0||t<0||n<0||i<0||e>0xffffffffffff||t>4095||n>1073741823||i>4294967295)throw new RangeError("invalid field value");var s=new Uint8Array(16);return s[0]=e/Math.pow(2,40),s[1]=e/Math.pow(2,32),s[2]=e/Math.pow(2,24),s[3]=e/Math.pow(2,16),s[4]=e/Math.pow(2,8),s[5]=e,s[6]=112|t>>>8,s[7]=t,s[8]=128|n>>>24,s[9]=n>>>16,s[10]=n>>>8,s[11]=n,s[12]=i>>>24,s[13]=i>>>16,s[14]=i>>>8,s[15]=i,new r(s)}toString(){for(var e="",t=0;t<this.bytes.length;t++)e=e+p0.charAt(this.bytes[t]>>>4)+p0.charAt(15&this.bytes[t]),t!==3&&t!==5&&t!==7&&t!==9||(e+="-");if(e.length!==36)throw new Error("Invalid UUIDv7 was generated");return e}clone(){return new r(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(var t=0;t<16;t++){var n=this.bytes[t]-e.bytes[t];if(n!==0)return Math.sign(n)}return 0}},df=class{constructor(){this.A=0,this.j=0,this.D=new pf}generate(){var e=this.generateOrAbort();if(j(e)){this.A=0;var t=this.generateOrAbort();if(j(t))throw new Error("Could not generate UUID after timestamp reset");return t}return e}generateOrAbort(){var e=Date.now();if(e>this.A)this.A=e,this.L();else{if(!(e+1e4>this.A))return;this.j++,this.j>4398046511103&&(this.A++,this.L())}return uf.fromFieldsV7(this.A,Math.trunc(this.j/Math.pow(2,30)),this.j&Math.pow(2,30)-1,this.D.nextUint32())}L(){this.j=1024*this.D.nextUint32()+(1023&this.D.nextUint32())}},h0,Sx=r=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var e=0;e<r.length;e++)r[e]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return r};E&&!j(E.crypto)&&crypto.getRandomValues&&(Sx=r=>crypto.getRandomValues(r));var pf=class{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(Sx(this.N),this.U=0),this.N[this.U++]}},cn=()=>hT().toString(),hT=()=>(h0||(h0=new df)).generate(),Fo="",fT=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function gT(r,e){if(e){var t=(function(i,s){if(s===void 0&&(s=U),Fo)return Fo;if(!s||["localhost","127.0.0.1"].includes(i))return"";for(var o=i.split("."),a=Math.min(o.length,8),l="dmn_chk_"+cn();!Fo&&a--;){var c=o.slice(a).join("."),u=l+"=1;domain=."+c+";path=/";s.cookie=u+";max-age=3",s.cookie.includes(l)&&(s.cookie=u+";max-age=0",Fo=c)}return Fo})(r);if(!t){var n=(i=>{var s=i.match(fT);return s?s[0]:""})(r);n!==t&&W.info("Warning: cookie subdomain discovery mismatch",n,t),t=n}return t?"; domain=."+t:""}return""}var dr={H:()=>!!U,B:function(r){W.error("cookieStore error: "+r)},q:function(r){if(U){try{for(var e=r+"=",t=U.cookie.split(";").filter((s=>s.length)),n=0;n<t.length;n++){for(var i=t[n];i.charAt(0)==" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return decodeURIComponent(i.substring(e.length,i.length))}}catch{}return null}},W:function(r){var e;try{e=JSON.parse(dr.q(r))||{}}catch{}return e},G:function(r,e,t,n,i){if(U)try{var s="",o="",a=gT(U.location.hostname,n);if(t){var l=new Date;l.setTime(l.getTime()+24*t*60*60*1e3),s="; expires="+l.toUTCString()}i&&(o="; secure");var c=r+"="+encodeURIComponent(JSON.stringify(e))+s+"; SameSite=Lax; path=/"+a+o;return c.length>3686.4&&W.warn("cookieStore warning: large cookie, len="+c.length),U.cookie=c,c}catch{return}},V:function(r,e){if(U!=null&&U.cookie)try{dr.G(r,"",-1,e)}catch{return}}},Sh=null,Me={H:function(){if(!qt(Sh))return Sh;var r=!0;if(j(E))r=!1;else try{var e="__mplssupport__";Me.G(e,"xyz"),Me.q(e)!=='"xyz"'&&(r=!1),Me.V(e)}catch{r=!1}return r||W.error("localStorage unsupported; falling back to cookie store"),Sh=r,r},B:function(r){W.error("localStorage error: "+r)},q:function(r){try{return E?.localStorage.getItem(r)}catch(e){Me.B(e)}return null},W:function(r){try{return JSON.parse(Me.q(r))||{}}catch{}return null},G:function(r,e){try{E?.localStorage.setItem(r,JSON.stringify(e))}catch(t){Me.B(t)}},V:function(r){try{E?.localStorage.removeItem(r)}catch(e){Me.B(e)}}},mT=["$device_id","distinct_id",bc,cx,wc,xc],uc={},vT={H:function(){return!0},B:function(r){W.error("memoryStorage error: "+r)},q:function(r){return uc[r]||null},W:function(r){return uc[r]||null},G:function(r,e){uc[r]=e},V:function(r){delete uc[r]}},ti=null,et={H:function(){if(!qt(ti))return ti;if(ti=!0,j(E))ti=!1;else try{var r="__support__";et.G(r,"xyz"),et.q(r)!=='"xyz"'&&(ti=!1),et.V(r)}catch{ti=!1}return ti},B:function(r){W.error("sessionStorage error: ",r)},q:function(r){try{return E?.sessionStorage.getItem(r)}catch(e){et.B(e)}return null},W:function(r){try{return JSON.parse(et.q(r))||null}catch{}return null},G:function(r,e){try{E?.sessionStorage.setItem(r,JSON.stringify(e))}catch(t){et.B(t)}},V:function(r){try{E?.sessionStorage.removeItem(r)}catch(e){et.B(e)}}},Or=(function(r){return r[r.PENDING=-1]="PENDING",r[r.DENIED=0]="DENIED",r[r.GRANTED=1]="GRANTED",r})({}),hf=class{constructor(e){this._instance=e}get R(){return this._instance.config}get consent(){return this.J()?Or.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===Or.DENIED||this.consent===Or.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===Or.DENIED}optInOut(e){this.Y.G(this.X,e?1:0,this.R.cookie_expiration,this.R.cross_subdomain_cookie,this.R.secure_cookie)}reset(){this.Y.V(this.X,this.R.cross_subdomain_cookie)}get X(){var{token:e,opt_out_capturing_cookie_prefix:t,consent_persistence_name:n}=this._instance.config;return n||(t?t+e:"__ph_opt_in_out_"+e)}get K(){var e=this.Y.q(this.X);return vh(e)?Or.GRANTED:he(E2,e)?Or.DENIED:Or.PENDING}get Y(){if(!this.Z){var e=this.R.opt_out_capturing_persistence_type;this.Z=e==="localStorage"?Me:dr;var t=e==="localStorage"?dr:Me;t.q(this.X)&&(this.Z.q(this.X)||this.optInOut(vh(t.q(this.X))),t.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!ox([kt?.doNotTrack,kt?.msDoNotTrack,ee.doNotTrack],(e=>vh(e)))}},dc=Oe("[Dead Clicks]"),yT=()=>!0,bT=r=>{var e,t=!((e=r.instance.persistence)==null||!e.get_property(lx)),n=r.instance.config.capture_dead_clicks;return Fr(n)?n:!!ze(n)||t},Tc=class{get lazyLoadedDeadClicksAutocapture(){return this.tt}constructor(e,t,n){this.instance=e,this.isEnabled=t,this.onCapture=n,this.startIfEnabled()}onRemoteConfig(e){this.instance.persistence&&this.instance.persistence.register({[lx]:e?.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.it((()=>{this.et()}))}it(e){var t,n;(t=ee.__PosthogExtensions__)!=null&&t.initDeadClicksAutocapture&&e(),(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this.instance,"dead-clicks-autocapture",(i=>{i?dc.error("failed to load script",i):e()}))}et(){var e;if(U){if(!this.tt&&(e=ee.__PosthogExtensions__)!=null&&e.initDeadClicksAutocapture){var t=ze(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};t.__onCapture=this.onCapture,this.tt=ee.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,t),this.tt.start(U),dc.info("starting...")}}else dc.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,dc.info("stopping..."))}},Do=Oe("[ExceptionAutocapture]"),ff=class{constructor(e){var t,n,i;this.rt=()=>{var s;if(E&&this.isEnabled&&(s=ee.__PosthogExtensions__)!=null&&s.errorWrappingFunctions){var o=ee.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,a=ee.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,l=ee.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.st&&this.R.capture_unhandled_errors&&(this.st=o(this.captureException.bind(this))),!this.nt&&this.R.capture_unhandled_rejections&&(this.nt=a(this.captureException.bind(this))),!this.ot&&this.R.capture_console_errors&&(this.ot=l(this.captureException.bind(this)))}catch(c){Do.error("failed to start",c),this.ut()}}},this._instance=e,this.ht=!((t=this._instance.persistence)==null||!t.props[t0]),this.dt=new Hh({refillRate:(n=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&n!==void 0?n:1,bucketSize:(i=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&i!==void 0?i:10,refillInterval:1e4,h:Do}),this.R=this.vt(),this.startIfEnabledOrStop()}vt(){var e=this._instance.config.capture_exceptions,t={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return ze(e)?t=z({},t,e):(j(e)?this.ht:e)&&(t=z({},t,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),t}get isEnabled(){return this.R.capture_console_errors||this.R.capture_unhandled_errors||this.R.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(Do.info("enabled"),this.ut(),this.it(this.rt)):this.ut()}it(e){var t,n;(t=ee.__PosthogExtensions__)!=null&&t.errorWrappingFunctions&&e(),(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"exception-autocapture",(i=>{if(i)return Do.error("failed to load script",i);e()}))}ut(){var e,t,n;(e=this.st)==null||e.call(this),this.st=void 0,(t=this.nt)==null||t.call(this),this.nt=void 0,(n=this.ot)==null||n.call(this),this.ot=void 0}onRemoteConfig(e){var t=e.autocaptureExceptions;this.ht=!!t||!1,this._instance.persistence&&this._instance.persistence.register({[t0]:this.ht}),this.R=this.vt(),this.startIfEnabledOrStop()}onConfigChange(){this.R=this.vt()}captureException(e){var t,n,i=(t=e==null||(n=e.$exception_list)==null||(n=n[0])==null?void 0:n.type)!==null&&t!==void 0?t:"Exception";this.dt.consumeRateLimit(i)?Do.info("Skipping exception capture because of client rate limiting.",{exception:i}):this._instance.exceptions.sendExceptionEvent(e)}};function f0(r,e,t){try{if(!(e in r))return()=>{};var n=r[e],i=t(n);return un(i)&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__posthog_wrapped__:{enumerable:!1,value:!0}})),r[e]=i,()=>{r[e]=n}}catch{return()=>{}}}var gf=class{constructor(e){var t;this._instance=e,this.ct=(E==null||(t=E.location)==null?void 0:t.pathname)||""}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&(W.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.ft&&this.ft(),this.ft=void 0,W.info("History API monitoring stopped")}monitorHistoryChanges(){var e,t;if(E&&E.history){var n=this;(e=E.history.pushState)!=null&&e.__posthog_wrapped__||f0(E.history,"pushState",(i=>function(s,o,a){i.call(this,s,o,a),n._t("pushState")})),(t=E.history.replaceState)!=null&&t.__posthog_wrapped__||f0(E.history,"replaceState",(i=>function(s,o,a){i.call(this,s,o,a),n._t("replaceState")})),this.bt()}}_t(e){try{var t,n=E==null||(t=E.location)==null?void 0:t.pathname;if(!n)return;n!==this.ct&&this.isEnabled&&this._instance.capture("$pageview",{navigation_type:e}),this.ct=n}catch(i){W.error("Error capturing "+e+" pageview",i)}}bt(){if(!this.ft){var e=()=>{this._t("popstate")};je(E,"popstate",e),this.ft=()=>{E&&E.removeEventListener("popstate",e)}}}},kh=Oe("[SegmentIntegration]");function _T(r,e){var t=r.config.segment;if(!t)return e();(function(n,i){var s=n.config.segment;if(!s)return i();var o=l=>{var c=()=>l.anonymousId()||cn();n.config.get_device_id=c,l.id()&&(n.register({distinct_id:l.id(),$device_id:c()}),n.persistence.set_property(Pr,"identified")),i()},a=s.user();"then"in a&&un(a.then)?a.then(o):o(a)})(r,(()=>{t.register((n=>{Promise&&Promise.resolve||kh.warn("This browser does not have Promise support, and can not use the segment integration");var i=(s,o)=>{if(!o)return s;s.event.userId||s.event.anonymousId===n.get_distinct_id()||(kh.info("No userId set, resetting PostHog"),n.reset()),s.event.userId&&s.event.userId!==n.get_distinct_id()&&(kh.info("UserId set, identifying with PostHog"),n.identify(s.event.userId));var a=n.calculateEventProperties(o,s.event.properties);return s.event.properties=Object.assign({},a,s.event.properties),s};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:s=>i(s,s.event.event),page:s=>i(s,"$pageview"),identify:s=>i(s,"$identify"),screen:s=>i(s,"$screen")}})(r)).then((()=>{e()}))}))}var kx="posthog-js";function Ex(r,e){var{organization:t,projectId:n,prefix:i,severityAllowList:s=["error"],sendExceptionsToPostHog:o=!0}=e===void 0?{}:e;return a=>{var l,c,u,p,h;if(!(s==="*"||s.includes(a.level))||!r.__loaded)return a;a.tags||(a.tags={});var f=r.requestRouter.endpointFor("ui","/project/"+r.config.token+"/person/"+r.get_distinct_id());a.tags["PostHog Person URL"]=f,r.sessionRecordingStarted()&&(a.tags["PostHog Recording URL"]=r.get_session_replay_url({withTimestamp:!0}));var v=((l=a.exception)==null?void 0:l.values)||[],m=v.map((b=>z({},b,{stacktrace:b.stacktrace?z({},b.stacktrace,{type:"raw",frames:(b.stacktrace.frames||[]).map((x=>z({},x,{platform:"web:javascript"})))}):void 0}))),g={$exception_message:((c=v[0])==null?void 0:c.value)||a.message,$exception_type:(u=v[0])==null?void 0:u.type,$exception_level:a.level,$exception_list:m,$sentry_event_id:a.event_id,$sentry_exception:a.exception,$sentry_exception_message:((p=v[0])==null?void 0:p.value)||a.message,$sentry_exception_type:(h=v[0])==null?void 0:h.type,$sentry_tags:a.tags};return t&&n&&(g.$sentry_url=(i||"https://sentry.io/organizations/")+t+"/issues/?project="+n+"&query="+a.event_id),o&&r.exceptions.sendExceptionEvent(g),a}}var mf=class{constructor(e,t,n,i,s,o){this.name=kx,this.setupOnce=function(a){a(Ex(e,{organization:t,projectId:n,prefix:i,severityAllowList:s,sendExceptionsToPostHog:o==null||o}))}}},xT=E!=null&&E.location?Ac(E.location.hash,"__posthog")||Ac(location.hash,"state"):null,g0="_postHogToolbarParams",m0=Oe("[Toolbar]"),ln=(function(r){return r[r.UNINITIALIZED=0]="UNINITIALIZED",r[r.LOADING=1]="LOADING",r[r.LOADED=2]="LOADED",r})(ln||{}),vf=class{constructor(e){this.instance=e}yt(e){ee.ph_toolbar_state=e}wt(){var e;return(e=ee.ph_toolbar_state)!==null&&e!==void 0?e:ln.UNINITIALIZED}maybeLoadToolbar(e,t,n){if(e===void 0&&(e=void 0),t===void 0&&(t=void 0),n===void 0&&(n=void 0),!E||!U)return!1;e=e??E.location,n=n??E.history;try{if(!t){try{E.localStorage.setItem("test","test"),E.localStorage.removeItem("test")}catch{return!1}t=E?.localStorage}var i,s=xT||Ac(e.hash,"__posthog")||Ac(e.hash,"state"),o=s?Q_((()=>JSON.parse(atob(decodeURIComponent(s)))))||Q_((()=>JSON.parse(decodeURIComponent(s)))):null;return o&&o.action==="ph_authorize"?((i=o).source="url",i&&Object.keys(i).length>0&&(o.desiredHash?e.hash=o.desiredHash:n?n.replaceState(n.state,"",e.pathname+e.search):e.hash="")):((i=JSON.parse(t.getItem(g0)||"{}")).source="localstorage",delete i.userIntent),!(!i.token||this.instance.config.token!==i.token)&&(this.loadToolbar(i),!0)}catch{return!1}}xt(e){var t=ee.ph_load_toolbar||ee.ph_load_editor;!ge(t)&&un(t)?t(e,this.instance):m0.warn("No toolbar load function found")}loadToolbar(e){var t=!(U==null||!U.getElementById(ux));if(!E||t)return!1;var n=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,i=z({token:this.instance.config.token},e,{apiURL:this.instance.requestRouter.endpointFor("ui")},n?{instrument:!1}:{});if(E.localStorage.setItem(g0,JSON.stringify(z({},i,{source:void 0}))),this.wt()===ln.LOADED)this.xt(i);else if(this.wt()===ln.UNINITIALIZED){var s;this.yt(ln.LOADING),(s=ee.__PosthogExtensions__)==null||s.loadExternalDependency==null||s.loadExternalDependency(this.instance,"toolbar",(o=>{if(o)return m0.error("[Toolbar] Failed to load",o),void this.yt(ln.UNINITIALIZED);this.yt(ln.LOADED),this.xt(i)})),je(E,"turbolinks:load",(()=>{this.yt(ln.UNINITIALIZED),this.loadToolbar(i)}))}return!0}Et(e){return this.loadToolbar(e)}maybeLoadEditor(e,t,n){return e===void 0&&(e=void 0),t===void 0&&(t=void 0),n===void 0&&(n=void 0),this.maybeLoadToolbar(e,t,n)}},wT=Oe("[TracingHeaders]"),yf=class{constructor(e){this.$t=void 0,this.St=void 0,this.rt=()=>{var t,n;j(this.$t)&&((t=ee.__PosthogExtensions__)==null||(t=t.tracingHeadersPatchFns)==null||t._patchXHR(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager)),j(this.St)&&((n=ee.__PosthogExtensions__)==null||(n=n.tracingHeadersPatchFns)==null||n._patchFetch(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=e}it(e){var t,n;(t=ee.__PosthogExtensions__)!=null&&t.tracingHeadersPatchFns&&e(),(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"tracing-headers",(i=>{if(i)return wT.error("failed to load script",i);e()}))}startIfEnabledOrStop(){var e,t;this._instance.config.__add_tracing_headers?this.it(this.rt):((e=this.$t)==null||e.call(this),(t=this.St)==null||t.call(this),this.$t=void 0,this.St=void 0)}},pc="https?://(.*)",Qi=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],ST=Ji(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],Qi),ua="<masked>",kT=["li_fat_id"];function Cx(r,e,t){if(!U)return{};var n,i=e?Ji([],Qi,t||[]):[],s=Ax(ca(U.URL,i,ua),r),o=(n={},Ae(kT,(function(a){var l=dr.q(a);n[a]=l||null})),n);return He(o,s)}function Ax(r,e){var t=ST.concat(e||[]),n={};return Ae(t,(function(i){var s=Cc(r,i);n[i]=s||null})),n}function Tx(r){var e=(function(s){return s?s.search(pc+"google.([^/?]*)")===0?"google":s.search(pc+"bing.com")===0?"bing":s.search(pc+"yahoo.com")===0?"yahoo":s.search(pc+"duckduckgo.com")===0?"duckduckgo":null:null})(r),t=e!="yahoo"?"q":"p",n={};if(!qt(e)){n.$search_engine=e;var i=U?Cc(U.referrer,t):"";i.length&&(n.ph_keyword=i)}return n}function v0(){return navigator.language||navigator.userLanguage}function Rx(){return U?.referrer||"$direct"}function Ix(r,e){var t=r?Ji([],Qi,e||[]):[],n=tt?.href.substring(0,1e3);return{r:Rx().substring(0,1e3),u:n?ca(n,t,ua):void 0}}function $x(r){var e,{r:t,u:n}=r,i={$referrer:t,$referring_domain:t==null?void 0:t=="$direct"?"$direct":(e=Ec(t))==null?void 0:e.host};if(n){i.$current_url=n;var s=Ec(n);i.$host=s?.host,i.$pathname=s?.pathname;var o=Ax(n);He(i,o)}if(t){var a=Tx(t);He(i,a)}return i}function Mx(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function ET(){try{return new Date().getTimezoneOffset()}catch{return}}function CT(r,e){if(!_t)return{};var t,n,i,s=r?Ji([],Qi,e||[]):[],[o,a]=(function(l){for(var c=0;c<G_.length;c++){var[u,p]=G_[c],h=u.exec(l),f=h&&(un(p)?p(h,l):p);if(f)return f}return["",""]})(_t);return He(Jf({$os:o,$os_version:a,$browser:rx(_t,navigator.vendor),$device:K_(_t),$device_type:(n=_t,i=K_(n),i===U0||i===V0||i==="Kobo"||i==="Kindle Fire"||i===tx?ra:i===ia||i===Gi||i===sa||i===Vh?"Console":i===W0?"Wearable":i?Pt:"Desktop"),$timezone:Mx(),$timezone_offset:ET()}),{$current_url:ca(tt?.href,s,ua),$host:tt?.host,$pathname:tt?.pathname,$raw_user_agent:_t.length>1e3?_t.substring(0,997)+"...":_t,$browser_version:L2(_t,navigator.vendor),$browser_language:v0(),$browser_language_prefix:(t=v0(),typeof t=="string"?t.split("-")[0]:void 0),$screen_height:E?.screen.height,$screen_width:E?.screen.width,$viewport_height:E?.innerHeight,$viewport_width:E?.innerWidth,$lib:"web",$lib_version:Mr.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var sn=Oe("[Web Vitals]"),y0=9e5,bf=class{constructor(e){var t;this.kt=!1,this.P=!1,this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Pt=()=>{clearTimeout(this.Tt),this.N.metrics.length!==0&&(this._instance.capture("$web_vitals",this.N.metrics.reduce(((n,i)=>z({},n,{["$web_vitals_"+i.name+"_event"]:z({},i),["$web_vitals_"+i.name+"_value"]:i.value})),{})),this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.It=n=>{var i,s=(i=this._instance.sessionManager)==null?void 0:i.checkAndGetSessionAndWindowId(!0);if(j(s))sn.error("Could not read session ID. Dropping metrics!");else{this.N=this.N||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var o=this.Ct();j(o)||(ge(n?.name)||ge(n?.value)?sn.error("Invalid metric received",n):this.Rt&&n.value>=this.Rt?sn.error("Ignoring metric with value >= "+this.Rt,n):(this.N.url!==o&&(this.Pt(),this.Tt=setTimeout(this.Pt,this.flushToCaptureTimeoutMs)),j(this.N.url)&&(this.N.url=o),this.N.firstMetricTimestamp=j(this.N.firstMetricTimestamp)?Date.now():this.N.firstMetricTimestamp,n.attribution&&n.attribution.interactionTargetElement&&(n.attribution.interactionTargetElement=void 0),this.N.metrics.push(z({},n,{$current_url:o,$session_id:s.sessionId,$window_id:s.windowId,timestamp:Date.now()})),this.N.metrics.length===this.allowedMetrics.length&&this.Pt()))}},this.rt=()=>{if(!this.P){var n,i,s,o,a=ee.__PosthogExtensions__;j(a)||j(a.postHogWebVitalsCallbacks)||({onLCP:n,onCLS:i,onFCP:s,onINP:o}=a.postHogWebVitalsCallbacks),n&&i&&s&&o?(this.allowedMetrics.indexOf("LCP")>-1&&n(this.It.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&i(this.It.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&s(this.It.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&o(this.It.bind(this)),this.P=!0):sn.error("web vitals callbacks not loaded - not starting")}},this._instance=e,this.kt=!((t=this._instance.persistence)==null||!t.props[n0]),this.startIfEnabled()}get allowedMetrics(){var e,t,n=ze(this._instance.config.capture_performance)?(e=this._instance.config.capture_performance)==null?void 0:e.web_vitals_allowed_metrics:void 0;return ge(n)?((t=this._instance.persistence)==null?void 0:t.props[s0])||["CLS","FCP","INP","LCP"]:n}get flushToCaptureTimeoutMs(){return(ze(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get useAttribution(){var e=ze(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_attribution:void 0;return e!=null&&e}get Rt(){var e=ze(this._instance.config.capture_performance)&&Dr(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:y0;return 0<e&&e<=6e4?y0:e}get isEnabled(){var e=tt?.protocol;if(e!=="http:"&&e!=="https:")return sn.info("Web Vitals are disabled on non-http/https protocols"),!1;var t=ze(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:Fr(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return Fr(t)?t:this.kt}startIfEnabled(){this.isEnabled&&!this.P&&(sn.info("enabled, starting..."),this.it(this.rt))}onRemoteConfig(e){var t=ze(e.capturePerformance)&&!!e.capturePerformance.web_vitals,n=ze(e.capturePerformance)?e.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[n0]:t}),this._instance.persistence.register({[s0]:n})),this.kt=t,this.startIfEnabled()}it(e){var t,n;if((t=ee.__PosthogExtensions__)!=null&&t.postHogWebVitalsCallbacks)e();else{var i=this.useAttribution?"web-vitals-with-attribution":"web-vitals";(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,i,(s=>{s?sn.error("failed to load script",s):e()}))}}Ct(){var e=E?E.location.href:void 0;if(e){var t=this._instance.config.mask_personal_data_properties,n=this._instance.config.custom_personal_data_properties,i=t?Ji([],Qi,n||[]):[];return ca(e,i,ua)}sn.error("Could not determine current URL")}},AT=Oe("[Heatmaps]");function b0(r){return ze(r)&&"clientX"in r&&"clientY"in r&&Dr(r.clientX)&&Dr(r.clientY)}var _f=class{constructor(e){var t;this.kt=!1,this.P=!1,this.Ft=null,this.instance=e,this.kt=!((t=this.instance.persistence)==null||!t.props[Qh]),this.rageclicks=new kc(e.config.rageclick)}get flushIntervalMilliseconds(){var e=5e3;return ze(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(e=this.instance.config.capture_heatmaps.flush_interval_milliseconds),e}get isEnabled(){return ge(this.instance.config.capture_heatmaps)?ge(this.instance.config.enable_heatmaps)?this.kt:this.instance.config.enable_heatmaps:this.instance.config.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.P)return;AT.info("starting..."),this.Ot(),this.Mt()}else{var e;clearInterval((e=this.Ft)!==null&&e!==void 0?e:void 0),this.At(),this.getAndClearBuffer()}}onRemoteConfig(e){var t=!!e.heatmaps;this.instance.persistence&&this.instance.persistence.register({[Qh]:t}),this.kt=t,this.startIfEnabled()}getAndClearBuffer(){var e=this.N;return this.N=void 0,e}jt(e){this.Dt(e.originalEvent,"deadclick")}Mt(){this.Ft&&clearInterval(this.Ft),this.Ft=(function(e){return e?.visibilityState==="visible"})(U)?setInterval(this.Lt.bind(this),this.flushIntervalMilliseconds):null}Ot(){E&&U&&(this.Nt=this.Lt.bind(this),je(E,"beforeunload",this.Nt),this.Ut=e=>this.Dt(e||E?.event),je(U,"click",this.Ut,{capture:!0}),this.zt=e=>this.Ht(e||E?.event),je(U,"mousemove",this.zt,{capture:!0}),this.Bt=new Tc(this.instance,yT,this.jt.bind(this)),this.Bt.startIfEnabled(),this.qt=this.Mt.bind(this),je(U,"visibilitychange",this.qt),this.P=!0)}At(){var e;E&&U&&(this.Nt&&E.removeEventListener("beforeunload",this.Nt),this.Ut&&U.removeEventListener("click",this.Ut,{capture:!0}),this.zt&&U.removeEventListener("mousemove",this.zt,{capture:!0}),this.qt&&U.removeEventListener("visibilitychange",this.qt),clearTimeout(this.Wt),(e=this.Bt)==null||e.stop(),this.P=!1)}Gt(e,t){var n=this.instance.scrollManager.scrollY(),i=this.instance.scrollManager.scrollX(),s=this.instance.scrollManager.scrollElement(),o=(function(a,l,c){for(var u=a;u&&Bc(u)&&!pn(u,"body");){if(u===c)return!1;if(he(l,E?.getComputedStyle(u).position))return!0;u=mx(u)}return!1})(fx(e),["fixed","sticky"],s);return{x:e.clientX+(o?0:i),y:e.clientY+(o?0:n),target_fixed:o,type:t}}Dt(e,t){var n;if(t===void 0&&(t="click"),!o0(e.target)&&b0(e)){var i=this.Gt(e,t);(n=this.rageclicks)!=null&&n.isRageClick(e.clientX,e.clientY,new Date().getTime())&&this.Vt(z({},i,{type:"rageclick"})),this.Vt(i)}}Ht(e){!o0(e.target)&&b0(e)&&(clearTimeout(this.Wt),this.Wt=setTimeout((()=>{this.Vt(this.Gt(e,"mousemove"))}),500))}Vt(e){if(E){var t=E.location.href,n=this.instance.config.mask_personal_data_properties,i=this.instance.config.custom_personal_data_properties,s=n?Ji([],Qi,i||[]):[],o=ca(t,s,ua);this.N=this.N||{},this.N[o]||(this.N[o]=[]),this.N[o].push(e)}}Lt(){this.N&&!zi(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},Rc=class{constructor(e){this.Jt=(t,n,i)=>{i&&(i.noSessionId||i.activityTimeout||i.sessionPastMaximumLength)&&(W.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:t,changeReason:i}),this.Kt=void 0,this._instance.scrollManager.resetContext())},this._instance=e,this.Yt()}Yt(){var e;this.Xt=(e=this._instance.sessionManager)==null?void 0:e.onSessionId(this.Jt)}destroy(){var e;(e=this.Xt)==null||e.call(this),this.Xt=void 0}doPageView(e,t){var n,i=this.Qt(e,t);return this.Kt={pathname:(n=E?.location.pathname)!==null&&n!==void 0?n:"",pageViewId:t,timestamp:e},this._instance.scrollManager.resetContext(),i}doPageLeave(e){var t;return this.Qt(e,(t=this.Kt)==null?void 0:t.pageViewId)}doEvent(){var e;return{$pageview_id:(e=this.Kt)==null?void 0:e.pageViewId}}Qt(e,t){var n=this.Kt;if(!n)return{$pageview_id:t};var i={$pageview_id:t,$prev_pageview_id:n.pageViewId},s=this._instance.scrollManager.getContext();if(s&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:o,lastScrollY:a,maxScrollY:l,maxContentHeight:c,lastContentY:u,maxContentY:p}=s;if(!(j(o)||j(a)||j(l)||j(c)||j(u)||j(p))){o=Math.ceil(o),a=Math.ceil(a),l=Math.ceil(l),c=Math.ceil(c),u=Math.ceil(u),p=Math.ceil(p);var h=o<=1?1:pr(a/o,0,1,W),f=o<=1?1:pr(l/o,0,1,W),v=c<=1?1:pr(u/c,0,1,W),m=c<=1?1:pr(p/c,0,1,W);i=He(i,{$prev_pageview_last_scroll:a,$prev_pageview_last_scroll_percentage:h,$prev_pageview_max_scroll:l,$prev_pageview_max_scroll_percentage:f,$prev_pageview_last_content:u,$prev_pageview_last_content_percentage:v,$prev_pageview_max_content:p,$prev_pageview_max_content_percentage:m})}}return n.pathname&&(i.$prev_pageview_pathname=n.pathname),n.timestamp&&(i.$prev_pageview_duration=(e.getTime()-n.timestamp.getTime())/1e3),i}};var Lr=(function(r){return r.GZipJS="gzip-js",r.Base64="base64",r})({}),Ot=Uint8Array,ht=Uint16Array,Xi=Uint32Array,rg=new Ot([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]),ng=new Ot([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]),_0=new Ot([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Px=function(r,e){for(var t=new ht(31),n=0;n<31;++n)t[n]=e+=1<<r[n-1];var i=new Xi(t[30]);for(n=1;n<30;++n)for(var s=t[n];s<t[n+1];++s)i[s]=s-t[n]<<5|n;return[t,i]},Ox=Px(rg,2),TT=Ox[0],xf=Ox[1];TT[28]=258,xf[258]=28;for(wf=Px(ng,0)[1],Ic=new ht(32768),Te=0;Te<32768;++Te)on=(43690&Te)>>>1|(21845&Te)<<1,on=(61680&(on=(52428&on)>>>2|(13107&on)<<2))>>>4|(3855&on)<<4,Ic[Te]=((65280&on)>>>8|(255&on)<<8)>>>1;var on,wf,Ic,Te,Qo=function(r,e,t){for(var n=r.length,i=0,s=new ht(e);i<n;++i)++s[r[i]-1];var o,a=new ht(e);for(i=0;i<e;++i)a[i]=a[i-1]+s[i-1]<<1;if(t){o=new ht(1<<e);var l=15-e;for(i=0;i<n;++i)if(r[i])for(var c=i<<4|r[i],u=e-r[i],p=a[r[i]-1]++<<u,h=p|(1<<u)-1;p<=h;++p)o[Ic[p]>>>l]=c}else for(o=new ht(n),i=0;i<n;++i)o[i]=Ic[a[r[i]-1]++]>>>15-r[i];return o},si=new Ot(288);for(Te=0;Te<144;++Te)si[Te]=8;for(Te=144;Te<256;++Te)si[Te]=9;for(Te=256;Te<280;++Te)si[Te]=7;for(Te=280;Te<288;++Te)si[Te]=8;var $c=new Ot(32);for(Te=0;Te<32;++Te)$c[Te]=5;var RT=Qo(si,9,0),IT=Qo($c,5,0),Lx=function(r){return(r/8>>0)+(7&r&&1)},Nx=function(r,e,t){(t==null||t>r.length)&&(t=r.length);var n=new(r instanceof ht?ht:r instanceof Xi?Xi:Ot)(t-e);return n.set(r.subarray(e,t)),n},Ir=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8},Ho=function(r,e,t){t<<=7&e;var n=e/8>>0;r[n]|=t,r[n+1]|=t>>>8,r[n+2]|=t>>>16},Eh=function(r,e){for(var t=[],n=0;n<r.length;++n)r[n]&&t.push({s:n,f:r[n]});var i=t.length,s=t.slice();if(!i)return[new Ot(0),0];if(i==1){var o=new Ot(t[0].s+1);return o[t[0].s]=1,[o,1]}t.sort((function(S,T){return S.f-T.f})),t.push({s:-1,f:25001});var a=t[0],l=t[1],c=0,u=1,p=2;for(t[0]={s:-1,f:a.f+l.f,l:a,r:l};u!=i-1;)a=t[t[c].f<t[p].f?c++:p++],l=t[c!=u&&t[c].f<t[p].f?c++:p++],t[u++]={s:-1,f:a.f+l.f,l:a,r:l};var h=s[0].s;for(n=1;n<i;++n)s[n].s>h&&(h=s[n].s);var f=new ht(h+1),v=Sf(t[u-1],f,0);if(v>e){n=0;var m=0,g=v-e,b=1<<g;for(s.sort((function(S,T){return f[T.s]-f[S.s]||S.f-T.f}));n<i;++n){var x=s[n].s;if(!(f[x]>e))break;m+=b-(1<<v-f[x]),f[x]=e}for(m>>>=g;m>0;){var w=s[n].s;f[w]<e?m-=1<<e-f[w]++-1:++n}for(;n>=0&&m;--n){var y=s[n].s;f[y]==e&&(--f[y],++m)}v=e}return[new Ot(f),v]},Sf=function(r,e,t){return r.s==-1?Math.max(Sf(r.l,e,t+1),Sf(r.r,e,t+1)):e[r.s]=t},x0=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new ht(++e),n=0,i=r[0],s=1,o=function(l){t[n++]=l},a=1;a<=e;++a)if(r[a]==i&&a!=e)++s;else{if(!i&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(i),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(i);s=1,i=r[a]}return[t.subarray(0,n),e]},Bo=function(r,e){for(var t=0,n=0;n<e.length;++n)t+=r[n]*e[n];return t},kf=function(r,e,t){var n=t.length,i=Lx(e+2);r[i]=255&n,r[i+1]=n>>>8,r[i+2]=255^r[i],r[i+3]=255^r[i+1];for(var s=0;s<n;++s)r[i+s+4]=t[s];return 8*(i+4+n)},w0=function(r,e,t,n,i,s,o,a,l,c,u){Ir(e,u++,t),++i[256];for(var p=Eh(i,15),h=p[0],f=p[1],v=Eh(s,15),m=v[0],g=v[1],b=x0(h),x=b[0],w=b[1],y=x0(m),S=y[0],T=y[1],_=new ht(19),C=0;C<x.length;++C)_[31&x[C]]++;for(C=0;C<S.length;++C)_[31&S[C]]++;for(var R=Eh(_,7),N=R[0],M=R[1],F=19;F>4&&!N[_0[F-1]];--F);var V,P,K,Y,le=c+5<<3,D=Bo(i,si)+Bo(s,$c)+o,te=Bo(i,h)+Bo(s,m)+o+14+3*F+Bo(_,N)+(2*_[16]+3*_[17]+7*_[18]);if(le<=D&&le<=te)return kf(e,u,r.subarray(l,l+c));if(Ir(e,u,1+(te<D)),u+=2,te<D){V=Qo(h,f,0),P=h,K=Qo(m,g,0),Y=m;var Ze=Qo(N,M,0);for(Ir(e,u,w-257),Ir(e,u+5,T-1),Ir(e,u+10,F-4),u+=14,C=0;C<F;++C)Ir(e,u+3*C,N[_0[C]]);u+=3*F;for(var ot=[x,S],Le=0;Le<2;++Le){var H=ot[Le];for(C=0;C<H.length;++C){var Q=31&H[C];Ir(e,u,Ze[Q]),u+=N[Q],Q>15&&(Ir(e,u,H[C]>>>5&127),u+=H[C]>>>12)}}}else V=RT,P=si,K=IT,Y=$c;for(C=0;C<a;++C)if(n[C]>255){Q=n[C]>>>18&31,Ho(e,u,V[Q+257]),u+=P[Q+257],Q>7&&(Ir(e,u,n[C]>>>23&31),u+=rg[Q]);var re=31&n[C];Ho(e,u,K[re]),u+=Y[re],re>3&&(Ho(e,u,n[C]>>>5&8191),u+=ng[re])}else Ho(e,u,V[n[C]]),u+=P[n[C]];return Ho(e,u,V[256]),u+P[256]},$T=new Xi([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),MT=(function(){for(var r=new Xi(256),e=0;e<256;++e){for(var t=e,n=9;--n;)t=(1&t&&3988292384)^t>>>1;r[e]=t}return r})(),PT=function(r,e,t,n,i){return(function(s,o,a,l,c,u){var p=s.length,h=new Ot(l+p+5*(1+Math.floor(p/7e3))+c),f=h.subarray(l,h.length-c),v=0;if(!o||p<8)for(var m=0;m<=p;m+=65535){var g=m+65535;g<p?v=kf(f,v,s.subarray(m,g)):(f[m]=u,v=kf(f,v,s.subarray(m,p)))}else{for(var b=$T[o-1],x=b>>>13,w=8191&b,y=(1<<a)-1,S=new ht(32768),T=new ht(y+1),_=Math.ceil(a/3),C=2*_,R=function(Vc){return(s[Vc]^s[Vc+1]<<_^s[Vc+2]<<C)&y},N=new Xi(25e3),M=new ht(288),F=new ht(32),V=0,P=0,K=(m=0,0),Y=0,le=0;m<p;++m){var D=R(m),te=32767&m,Ze=T[D];if(S[te]=Ze,T[D]=te,Y<=m){var ot=p-m;if((V>7e3||K>24576)&&ot>423){v=w0(s,f,0,N,M,F,P,K,le,m-le,v),K=V=P=0,le=m;for(var Le=0;Le<286;++Le)M[Le]=0;for(Le=0;Le<30;++Le)F[Le]=0}var H=2,Q=0,re=w,fe=te-Ze&32767;if(ot>2&&D==R(m-fe))for(var Ce=Math.min(x,ot)-1,Se=Math.min(32767,m),Ie=Math.min(258,ot);fe<=Se&&--re&&te!=Ze;){if(s[m+H]==s[m+H-fe]){for(var Ne=0;Ne<Ie&&s[m+Ne]==s[m+Ne-fe];++Ne);if(Ne>H){if(H=Ne,Q=fe,Ne>Ce)break;var Zt=Math.min(fe,Ne-2),pa=0;for(Le=0;Le<Zt;++Le){var hn=m-fe+Le+32768&32767,Fe=hn-S[hn]+32768&32767;Fe>pa&&(pa=Fe,Ze=hn)}}}fe+=(te=Ze)-(Ze=S[te])+32768&32767}if(Q){N[K++]=268435456|xf[H]<<18|wf[Q];var ha=31&xf[H],ug=31&wf[Q];P+=rg[ha]+ng[ug],++M[257+ha],++F[ug],Y=m+H,++V}else N[K++]=s[m],++M[s[m]]}}v=w0(s,f,u,N,M,F,P,K,le,m-le,v)}return Nx(h,0,l+Lx(v)+c)})(r,e.level==null?6:e.level,e.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(r.length)))):12+e.mem,t,n,!0)},Ch=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function OT(r,e){e===void 0&&(e={});var t=(function(){var a=4294967295;return{p:function(l){for(var c=a,u=0;u<l.length;++u)c=MT[255&c^l[u]]^c>>>8;a=c},d:function(){return 4294967295^a}}})(),n=r.length;t.p(r);var i,s=PT(r,e,10+((i=e).filename&&i.filename.length+1||0),8),o=s.length;return(function(a,l){var c=l.filename;if(a[0]=31,a[1]=139,a[2]=8,a[8]=l.level<2?4:l.level==9?2:0,a[9]=3,l.mtime!=0&&Ch(a,4,Math.floor(new Date(l.mtime||Date.now())/1e3)),c){a[3]=8;for(var u=0;u<=c.length;++u)a[u+10]=c.charCodeAt(u)}})(s,e),Ch(s,o-8,t.d()),Ch(s,o-4,n),s}var LT=function(r){var e,t,n,i,s="";for(e=t=0,n=(r=(r+"").replace(/\r\n/g,`
|
|
1064
1064
|
`).replace(/\r/g,`
|
|
1065
|
-
`)).length,i=0;i<n;i++){var o=r.charCodeAt(i),a=null;o<128?t++:a=o>127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),qt(a)||(t>e&&(s+=r.substring(e,t)),s+=a,e=t=i+1)}return t>e&&(s+=r.substring(e,r.length)),s},NT=!!Lh||!!Oh,S0="text/plain",Mc=function(r,e,t){var n;t===void 0&&(t=!0);var[i,s]=r.split("?"),o=z({},e),a=(n=s?.split("&").map((c=>{var u,[p,h]=c.split("="),f=t&&(u=o[p])!==null&&u!==void 0?u:h;return delete o[p],p+"="+f})))!==null&&n!==void 0?n:[],l=cT(o);return l&&a.push(l),i+"?"+a.join("&")},Yo=(r,e)=>JSON.stringify(r,((t,n)=>typeof n=="bigint"?n.toString():n),e),Ah=r=>{var{data:e,compression:t}=r;if(e){if(t===Lr.GZipJS){var n=OT((function(l,c){var u=l.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(l);for(var p=new Ot(l.length+(l.length>>>1)),h=0,f=function(b){p[h++]=b},v=0;v<u;++v){if(h+5>p.length){var m=new Ot(h+8+(u-v<<1));m.set(p),p=m}var g=l.charCodeAt(v);g<128||c?f(g):g<2048?(f(192|g>>>6),f(128|63&g)):g>55295&&g<57344?(f(240|(g=65536+(1047552&g)|1023&l.charCodeAt(++v))>>>18),f(128|g>>>12&63),f(128|g>>>6&63),f(128|63&g)):(f(224|g>>>12),f(128|g>>>6&63),f(128|63&g))}return Nx(p,0,h)})(Yo(e)),{mtime:0}),i=new Blob([n],{type:S0});return{contentType:S0,body:i,estimatedSize:i.size}}if(t===Lr.Base64){var s=(function(l){var c,u,p,h,f,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=0,g=0,b="",x=[];if(!l)return l;l=LT(l);do c=(f=l.charCodeAt(m++)<<16|l.charCodeAt(m++)<<8|l.charCodeAt(m++))>>18&63,u=f>>12&63,p=f>>6&63,h=63&f,x[g++]=v.charAt(c)+v.charAt(u)+v.charAt(p)+v.charAt(h);while(m<l.length);switch(b=x.join(""),l.length%3){case 1:b=b.slice(0,-2)+"==";break;case 2:b=b.slice(0,-1)+"="}return b})(Yo(e)),o=(l=>"data="+encodeURIComponent(typeof l=="string"?l:Yo(l)))(s);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}var a=Yo(e);return{contentType:"application/json",body:a,estimatedSize:new Blob([a]).size}}},gc=[];Oh&&gc.push({transport:"fetch",method:r=>{var e,t,{contentType:n,body:i,estimatedSize:s}=(e=Ah(r))!==null&&e!==void 0?e:{},o=new Headers;Ae(r.headers,(function(u,p){o.append(p,u)})),n&&o.append("Content-Type",n);var a=r.url,l=null;if(j_){var c=new j_;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),r.timeout)}}Oh(a,z({method:r?.method||"GET",headers:o,keepalive:r.method==="POST"&&(s||0)<52428.8,body:i,signal:(t=l)==null?void 0:t.signal},r.fetchOptions)).then((u=>u.text().then((p=>{var h={statusCode:u.status,text:p};if(u.status===200)try{h.json=JSON.parse(p)}catch(f){W.error(f)}r.callback==null||r.callback(h)})))).catch((u=>{W.error(u),r.callback==null||r.callback({statusCode:0,text:u})})).finally((()=>l?clearTimeout(l.timeout):null))}}),Lh&&gc.push({transport:"XHR",method:r=>{var e,t=new Lh;t.open(r.method||"GET",r.url,!0);var{contentType:n,body:i}=(e=Ah(r))!==null&&e!==void 0?e:{};Ae(r.headers,(function(s,o){t.setRequestHeader(o,s)})),n&&t.setRequestHeader("Content-Type",n),r.timeout&&(t.timeout=r.timeout),r.disableXHRCredentials||(t.withCredentials=!0),t.onreadystatechange=()=>{if(t.readyState===4){var s={statusCode:t.status,text:t.responseText};if(t.status===200)try{s.json=JSON.parse(t.responseText)}catch{}r.callback==null||r.callback(s)}},t.send(i)}}),kt!=null&&kt.sendBeacon&&gc.push({transport:"sendBeacon",method:r=>{var e=Mc(r.url,{beacon:"1"});try{var t,{contentType:n,body:i}=(t=Ah(r))!==null&&t!==void 0?t:{},s=typeof i=="string"?new Blob([i],{type:n}):i;kt.sendBeacon(e,s)}catch{}}});var Pc=function(r,e){if(!(function(t){try{new RegExp(t)}catch{return!1}return!0})(e))return!1;try{return new RegExp(e).test(r)}catch{return!1}};function k0(r,e,t){return Yo({distinct_id:r,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var Fx={exact:(r,e)=>e.some((t=>r.some((n=>t===n)))),is_not:(r,e)=>e.every((t=>r.every((n=>t!==n)))),regex:(r,e)=>e.some((t=>r.some((n=>Pc(t,n))))),not_regex:(r,e)=>e.every((t=>r.every((n=>!Pc(t,n))))),icontains:(r,e)=>e.map(hc).some((t=>r.map(hc).some((n=>t.includes(n))))),not_icontains:(r,e)=>e.map(hc).every((t=>r.map(hc).every((n=>!t.includes(n))))),gt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n>parseFloat(i)))})),lt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n<parseFloat(i)))}))},hc=r=>r.toLowerCase();function Dx(r,e){return!r||Object.entries(r).every((t=>{var[n,i]=t,s=e?.[n];if(j(s)||qt(s))return!1;var o=[String(s)],a=Fx[i.operator];return!!a&&a(i.values,o)}))}var Th=Oe("[Error tracking]"),Ef=class{constructor(e){var t,n;this.Zt=[],this.ti=new jh([new zh,new Jh,new Zh,new qh,new Yh,new Kh,new Gh,new Xh],z2()),this._instance=e,this.Zt=(t=(n=this._instance.persistence)==null?void 0:n.get_property(ef))!==null&&t!==void 0?t:[]}onRemoteConfig(e){var t,n,i,s=(t=(n=e.errorTracking)==null?void 0:n.suppressionRules)!==null&&t!==void 0?t:[],o=(i=e.errorTracking)==null?void 0:i.captureExtensionExceptions;this.Zt=s,this._instance.persistence&&this._instance.persistence.register({[ef]:this.Zt,[r0]:o})}get ii(){var e,t=!!this._instance.get_property(r0),n=this._instance.config.error_tracking.captureExtensionExceptions;return(e=n??t)!==null&&e!==void 0&&e}buildProperties(e,t){return this.ti.buildFromUnknown(e,{syntheticException:t?.syntheticException,mechanism:{handled:t?.handled}})}sendExceptionEvent(e){var t=e.$exception_list;if(this.ei(t)){if(this.ri(t))return void Th.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(t))return void Th.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(t))return void Th.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",e,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(e){if(e.length===0)return!1;var t=e.reduce(((n,i)=>{var{type:s,value:o}=i;return qe(s)&&s.length>0&&n.$exception_types.push(s),qe(o)&&o.length>0&&n.$exception_values.push(o),n}),{$exception_types:[],$exception_values:[]});return this.Zt.some((n=>{var i=n.values.map((s=>{var o,a=Fx[s.operator],l=be(s.value)?s.value:[s.value],c=(o=t[s.key])!==null&&o!==void 0?o:[];return l.length>0&&a(l,c)}));return n.type==="OR"?i.some(Boolean):i.every(Boolean)}))}si(e){return e.flatMap((t=>{var n,i;return(n=(i=t.stacktrace)==null?void 0:i.frames)!==null&&n!==void 0?n:[]})).some((t=>t.filename&&t.filename.startsWith("chrome-extension://")))}ni(e){if(e.length>0){var t,n,i,s,o=(t=(n=e[0].stacktrace)==null?void 0:n.frames)!==null&&t!==void 0?t:[],a=o[o.length-1];return(i=a==null||(s=a.filename)==null?void 0:s.includes("posthog.com/static"))!==null&&i!==void 0&&i}return!1}ei(e){return!ge(e)&&be(e)}},St=Oe("[FeatureFlags]"),Vo=Oe("[FeatureFlags]",{debugEnabled:!0}),Rh="$active_feature_flags",Bi="$override_feature_flags",E0="$feature_flag_payloads",Uo="$override_feature_flag_payloads",C0="$feature_flag_request_id",A0="$feature_flag_evaluated_at",T0=r=>{var e={};for(var[t,n]of fc(r||{}))n&&(e[t]=n);return e},FT=r=>{var e=r.flags;return e?(r.featureFlags=Object.fromEntries(Object.keys(e).map((t=>{var n;return[t,(n=e[t].variant)!==null&&n!==void 0?n:e[t].enabled]}))),r.featureFlagPayloads=Object.fromEntries(Object.keys(e).filter((t=>e[t].enabled)).filter((t=>{var n;return(n=e[t].metadata)==null?void 0:n.payload})).map((t=>{var n;return[t,(n=e[t].metadata)==null?void 0:n.payload]})))):St.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),r},DT=(function(r){return r.FeatureFlags="feature_flags",r.Recordings="recordings",r})({}),Cf=class{constructor(e){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.ci=!1,this._instance=e,this.featureFlagEventHandlers=[]}fi(){var e,t=(e=this._instance.config.evaluation_contexts)!==null&&e!==void 0?e:this._instance.config.evaluation_environments;return!this._instance.config.evaluation_environments||this._instance.config.evaluation_contexts||this.ci||(St.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.ci=!0),t!=null&&t.length?t.filter((n=>{var i=n&&typeof n=="string"&&n.trim().length>0;return i||St.error("Invalid evaluation context found:",n,"Expected non-empty string"),i})):[]}pi(){return this.fi().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var e=!this.gi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.mi({disableFlags:e})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var e=this._instance.get_property(tf),t=this._instance.get_property(Bi),n=this._instance.get_property(Uo);if(!n&&!t)return e||{};var i=He({},e||{}),s=[...new Set([...Object.keys(n||{}),...Object.keys(t||{})])];for(var o of s){var a,l,c=i[o],u=t?.[o],p=j(u)?(a=c?.enabled)!==null&&a!==void 0&&a:!!u,h=j(u)?c.variant:typeof u=="string"?u:void 0,f=n?.[o],v=z({},c,{enabled:p,variant:p?h??c?.variant:void 0});p!==c?.enabled&&(v.original_enabled=c?.enabled),h!==c?.variant&&(v.original_variant=c?.variant),f&&(v.metadata=z({},c?.metadata,{payload:f,original_payload:c==null||(l=c.metadata)==null?void 0:l.payload})),i[o]=v}return this.oi||(St.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:n,finalDetails:i}),this.oi=!0),i}getFlagVariants(){var e=this._instance.get_property(qi),t=this._instance.get_property(Bi);if(!t)return e||{};for(var n=He({},e),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(St.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:n}),this.oi=!0),n}getFlagPayloads(){var e=this._instance.get_property(E0),t=this._instance.get_property(Uo);if(!t)return e||{};for(var n=He({},e||{}),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(St.warn(" Overriding feature flag payloads!",{flagPayloads:e,overriddenPayloads:t,finalPayloads:n}),this.oi=!0),n}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.gi||(this.gi=setTimeout((()=>{this.mi()}),5))}bi(){clearTimeout(this.gi),this.gi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.gi||this.reloadFeatureFlags()}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.ui=e}mi(e){var t;if(this.bi(),!this._instance.M())if(this.li)this.hi=!0;else{var n=this._instance.config.token,i=this._instance.get_property("$device_id"),s={token:n,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:z({},((t=this._instance.persistence)==null?void 0:t.get_initial_props())||{},this._instance.get_property(Ko)||{}),group_properties:this._instance.get_property(ni)};qt(i)||j(i)||(s.$device_id=i),(e!=null&&e.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(s.disable_flags=!0),this.pi()&&(s.evaluation_contexts=this.fi());var o=this._instance.config.__preview_remote_config,a=o?"/flags/?v=2":"/flags/?v=2&config=true",l=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",c=this._instance.requestRouter.endpointFor("flags",a+l);o&&(s.timezone=Mx()),this.li=!0,this._instance._send_request({method:"POST",url:c,data:s,compression:this._instance.config.disable_compression?void 0:Lr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:u=>{var p,h,f=!0;if(u.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),f=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((h=u.json)!==null&&h!==void 0?h:{})),!s.disable_flags||this.hi)if(this.vi=!f,u.json&&(p=u.json.quotaLimited)!=null&&p.includes(DT.FeatureFlags))St.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var v;s.disable_flags||this.receivedFeatureFlags((v=u.json)!==null&&v!==void 0?v:{},f),this.hi&&(this.hi=!1,this.mi())}}})}}getFeatureFlag(e,t){var n;if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var i=this.getFeatureFlagResult(e,t);return(n=i?.variant)!==null&&n!==void 0?n:i?.enabled}St.warn('getFeatureFlag for key "'+e+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(e){return this.getFlagsWithDetails()[e]}getFeatureFlagPayload(e){var t=this.getFeatureFlagResult(e,{send_event:!1});return t?.payload}getFeatureFlagResult(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFlagVariants(),i=e in n,s=n[e],o=this.getFlagPayloads()[e],a=String(s),l=this._instance.get_property(C0)||void 0,c=this._instance.get_property(A0)||void 0,u=this._instance.get_property(_c)||{};if((t.send_event||!("send_event"in t))&&(!(e in u)||!u[e].includes(a))){var p,h,f,v,m,g,b,x,w;be(u[e])?u[e].push(a):u[e]=[a],(p=this._instance.persistence)==null||p.register({[_c]:u});var y=this.getFeatureFlagDetails(e),S={$feature_flag:e,$feature_flag_response:s,$feature_flag_payload:o||null,$feature_flag_request_id:l,$feature_flag_evaluated_at:c,$feature_flag_bootstrapped_response:((h=this._instance.config.bootstrap)==null||(h=h.featureFlags)==null?void 0:h[e])||null,$feature_flag_bootstrapped_payload:((f=this._instance.config.bootstrap)==null||(f=f.featureFlagPayloads)==null?void 0:f[e])||null,$used_bootstrap_value:!this.vi};j(y==null||(v=y.metadata)==null?void 0:v.version)||(S.$feature_flag_version=y.metadata.version);var T,_=(m=y==null||(g=y.reason)==null?void 0:g.description)!==null&&m!==void 0?m:y==null||(b=y.reason)==null?void 0:b.code;_&&(S.$feature_flag_reason=_),y!=null&&(x=y.metadata)!=null&&x.id&&(S.$feature_flag_id=y.metadata.id),j(y?.original_variant)&&j(y?.original_enabled)||(S.$feature_flag_original_response=j(y.original_variant)?y.original_enabled:y.original_variant),y!=null&&(w=y.metadata)!=null&&w.original_payload&&(S.$feature_flag_original_payload=y==null||(T=y.metadata)==null?void 0:T.original_payload),this._instance.capture("$feature_flag_called",S)}if(i){var C=o;if(!j(o))try{C=JSON.parse(o)}catch{}return{key:e,enabled:!!s,variant:typeof s=="string"?s:void 0,payload:C}}}else St.warn('getFeatureFlagResult for key "'+e+`" failed. Feature flags didn't load in time.`)}getRemoteConfigPayload(e,t){var n=this._instance.config.token,i={distinct_id:this._instance.get_distinct_id(),token:n};this.pi()&&(i.evaluation_contexts=this.fi()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:i,compression:this._instance.config.disable_compression?void 0:Lr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:s=>{var o,a=(o=s.json)==null?void 0:o.featureFlagPayloads;t(a?.[e]||void 0)}})}isFeatureEnabled(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFeatureFlag(e,t);return j(n)?void 0:!!n}St.warn('isFeatureEnabled for key "'+e+`" failed. Feature flags didn't load in time.`)}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(this._instance.persistence){this.ai=!0;var n=this.getFlagVariants(),i=this.getFlagPayloads(),s=this.getFlagsWithDetails();(function(o,a,l,c,u){l===void 0&&(l={}),c===void 0&&(c={}),u===void 0&&(u={});var p=FT(o),h=p.flags,f=p.featureFlags,v=p.featureFlagPayloads;if(f){var m=o.requestId,g=o.evaluatedAt;if(be(f)){St.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var b={};if(f)for(var x=0;x<f.length;x++)b[f[x]]=!0;a&&a.register({[Rh]:f,[qi]:b})}else{var w=f,y=v,S=h;if(o.errorsWhileComputingFlags)if(h){var T=new Set(Object.keys(h).filter((_=>{var C;return!((C=h[_])!=null&&C.failed)})));w=z({},l,Object.fromEntries(Object.entries(w).filter((_=>{var[C]=_;return T.has(C)})))),y=z({},c,Object.fromEntries(Object.entries(y||{}).filter((_=>{var[C]=_;return T.has(C)})))),S=z({},u,Object.fromEntries(Object.entries(S||{}).filter((_=>{var[C]=_;return T.has(C)}))))}else w=z({},l,w),y=z({},c,y),S=z({},u,S);a&&a.register(z({[Rh]:Object.keys(T0(w)),[qi]:w||{},[E0]:y||{},[tf]:S||{}},m?{[C0]:m}:{},g?{[A0]:g}:{}))}}})(e,this._instance.persistence,n,i,s),this.wi(t)}}override(e,t){t===void 0&&(t=!1),St.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this._instance.__loaded||!this._instance.persistence)return St.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(e===!1)return this._instance.persistence.unregister(Bi),this._instance.persistence.unregister(Uo),this.wi(),Vo.info("All overrides cleared");if(e&&typeof e=="object"&&("flags"in e||"payloads"in e)){var t,n=e;if(this.oi=!!((t=n.suppressWarning)!==null&&t!==void 0&&t),"flags"in n){if(n.flags===!1)this._instance.persistence.unregister(Bi),Vo.info("Flag overrides cleared");else if(n.flags){if(be(n.flags)){for(var i={},s=0;s<n.flags.length;s++)i[n.flags[s]]=!0;this._instance.persistence.register({[Bi]:i})}else this._instance.persistence.register({[Bi]:n.flags});Vo.info("Flag overrides set",{flags:n.flags})}}return"payloads"in n&&(n.payloads===!1?(this._instance.persistence.unregister(Uo),Vo.info("Payload overrides cleared")):n.payloads&&(this._instance.persistence.register({[Uo]:n.payloads}),Vo.info("Payload overrides set",{payloads:n.payloads}))),void this.wi()}this.wi()}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.ai){var{flags:t,flagVariants:n}=this.xi();e(t,n)}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t,n){var i,s=(this._instance.get_property(Go)||[]).find((c=>c.flagKey===e)),o={["$feature_enrollment/"+e]:t},a={$feature_flag:e,$feature_enrollment:t,$set:o};s&&(a.$early_access_feature_name=s.name),n&&(a.$feature_enrollment_stage=n),this._instance.capture("$feature_enrollment_update",a),this.setPersonPropertiesForFlags(o,!1);var l=z({},this.getFlagVariants(),{[e]:t});(i=this._instance.persistence)==null||i.register({[Rh]:Object.keys(T0(l)),[qi]:l}),this.wi()}getEarlyAccessFeatures(e,t,n){t===void 0&&(t=!1);var i=this._instance.get_property(Go),s=n?"&"+n.map((o=>"stage="+o)).join("&"):"";if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+s),method:"GET",callback:o=>{var a,l;if(o.json){var c=o.json.earlyAccessFeatures;return(a=this._instance.persistence)==null||a.unregister(Go),(l=this._instance.persistence)==null||l.register({[Go]:c}),e(c)}}})}xi(){var e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((n=>t[n])),flagVariants:Object.keys(t).filter((n=>t[n])).reduce(((n,i)=>(n[i]=t[i],n)),{})}}wi(e){var{flags:t,flagVariants:n}=this.xi();this.featureFlagEventHandlers.forEach((i=>i(t,n,{errorsLoading:e})))}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(Ko)||{};this._instance.register({[Ko]:z({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(Ko)}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(ni)||{};Object.keys(n).length!==0&&Object.keys(n).forEach((i=>{n[i]=z({},n[i],e[i]),delete e[i]})),this._instance.register({[ni]:z({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this._instance.get_property(ni)||{};this._instance.register({[ni]:z({},t,{[e]:{}})})}else this._instance.unregister(ni)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.bi(),this.oi=!1}},HT=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],ea=class{constructor(e,t){this.R=e,this.props={},this.Ei=!1,this.$i=(n=>{var i="";return n.token&&(i=n.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),n.persistence_name?"ph_"+n.persistence_name:"ph_"+i+"_posthog"})(e),this.Y=this.Si(e),this.load(),e.debug&&W.info("Persistence loaded",e.persistence,z({},this.props)),this.update_config(e,e,t),this.save()}isDisabled(){return!!this.ki}Si(e){HT.indexOf(e.persistence.toLowerCase())===-1&&(W.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");var t=(function(i){i===void 0&&(i=[]);var s=[...mT,...i];return z({},Me,{W:function(o){try{var a={};try{a=dr.W(o)||{}}catch{}var l=He(a,JSON.parse(Me.q(o)||"{}"));return Me.G(o,l),l}catch{}return null},G:function(o,a,l,c,u,p){try{Me.G(o,a,void 0,void 0,p);var h={};s.forEach((f=>{a[f]&&(h[f]=a[f])})),Object.keys(h).length&&dr.G(o,h,l,c,u,p)}catch(f){Me.B(f)}},V:function(o,a){try{E?.localStorage.removeItem(o),dr.V(o,a)}catch(l){Me.B(l)}}})})(e.cookie_persisted_properties||[]),n=e.persistence.toLowerCase();return n==="localstorage"&&Me.H()?Me:n==="localstorage+cookie"&&t.H()?t:n==="sessionstorage"&&et.H()?et:n==="memory"?vT:n==="cookie"?dr:t.H()?t:dr}properties(){var e={};return Ae(this.props,(function(t,n){if(n===qi&&ze(t))for(var i=Object.keys(t),s=0;s<i.length;s++)e["$feature/"+i[s]]=t[i[s]];else a=n,l=!1,(qt(o=Q2)?l:U_&&o.indexOf===U_?o.indexOf(a)!=-1:(Ae(o,(function(c){if(l||(l=c===a))return yc})),l))||(e[n]=t);var o,a,l})),e}load(){if(!this.ki){var e=this.Y.W(this.$i);e&&(this.props=He({},e))}}save(){this.ki||this.Y.G(this.$i,this.props,this.Pi,this.Ti,this.Ii,this.R.debug)}remove(){this.Y.V(this.$i,!1),this.Y.V(this.$i,!0)}clear(){this.remove(),this.props={}}register_once(e,t,n){if(ze(e)){j(t)&&(t="None"),this.Pi=j(n)?this.Ci:n;var i=!1;if(Ae(e,((s,o)=>{this.props.hasOwnProperty(o)&&this.props[o]!==t||(this.props[o]=s,i=!0)})),i)return this.save(),!0}return!1}register(e,t){if(ze(e)){this.Pi=j(t)?this.Ci:t;var n=!1;if(Ae(e,((i,s)=>{e.hasOwnProperty(s)&&this.props[s]!==i&&(this.props[s]=i,n=!0)})),n)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){if(!this.Ei){var e=Cx(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);zi(Jf(e))||this.register(e),this.Ei=!0}}update_search_keyword(){var e;this.register((e=U?.referrer)?Tx(e):{})}update_referrer_info(){var e;this.register_once({$referrer:Rx(),$referring_domain:U!=null&&U.referrer&&((e=Ec(U.referrer))==null?void 0:e.host)||"$direct"},void 0)}set_initial_person_info(){this.props[of]||this.props[af]||this.register_once({[xc]:Ix(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};Ae([af,of],(o=>{var a=this.props[o];a&&Ae(a,(function(l,c){e["$initial_"+Nh(c)]=l}))}));var t,n,i=this.props[xc];if(i){var s=(t=$x(i),n={},Ae(t,(function(o,a){n["$initial_"+Nh(a)]=o})),n);He(e,s)}return e}safe_merge(e){return Ae(this.props,(function(t,n){n in e||(e[n]=t)})),e}update_config(e,t,n){if(this.Ci=this.Pi=e.cookie_expiration,this.set_disabled(e.disable_persistence||!!n),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence||!((o,a)=>{if(o.length!==a.length)return!1;var l=[...o].sort(),c=[...a].sort();return l.every(((u,p)=>u===c[p]))})(e.cookie_persisted_properties||[],t.cookie_persisted_properties||[])){var i=this.Si(e),s=this.props;this.clear(),this.Y=i,this.props=s,this.save()}}set_disabled(e){this.ki=e,this.ki?this.remove():this.save()}set_cross_subdomain(e){e!==this.Ti&&(this.Ti=e,this.remove(),this.save())}set_secure(e){e!==this.Ii&&(this.Ii=e,this.remove(),this.save())}set_event_timer(e,t){var n=this.props[Zo]||{};n[e]=t,this.props[Zo]=n,this.save()}remove_event_timer(e){var t=(this.props[Zo]||{})[e];return j(t)||(delete this.props[Zo][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}},R0=Oe("[Product Tours]"),Ih="ph_product_tours",Af=class{constructor(e){this.Ri=null,this.Fi=null,this._instance=e}onRemoteConfig(e){this._instance.persistence&&this._instance.persistence.register({[i0]:!(e==null||!e.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var e,t;this.Ri||(e=this._instance).config.disable_product_tours||(t=e.persistence)==null||!t.get_property(i0)||this.it((()=>this.Oi()))}it(e){var t,n;(t=ee.__PosthogExtensions__)!=null&&t.generateProductTours?e():(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"product-tours",(i=>{i?R0.error("Could not load product tours script",i):e()}))}Oi(){var e;!this.Ri&&(e=ee.__PosthogExtensions__)!=null&&e.generateProductTours&&(this.Ri=ee.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(e,t){if(t===void 0&&(t=!1),!be(this.Fi)||t){var n=this._instance.persistence;if(n){var i=n.props[Ih];if(be(i)&&!t)return this.Fi=i,void e(i,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:s=>{var o=s.statusCode;if(o!==200||!s.json){var a="Product Tours API could not be loaded, status: "+o;return R0.error(a),void e([],{isLoaded:!1,error:a})}var l=be(s.json.product_tours)?s.json.product_tours:[];this.Fi=l,n&&n.register({[Ih]:l}),e(l,{isLoaded:!0})}})}else e(this.Fi,{isLoaded:!0})}getActiveProductTours(e){ge(this.Ri)?e([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ri.getActiveProductTours(e)}showProductTour(e){var t;(t=this.Ri)==null||t.showTourById(e)}previewTour(e){this.Ri?this.Ri.previewTour(e):this.it((()=>{var t;this.Oi(),(t=this.Ri)==null||t.previewTour(e)}))}dismissProductTour(){var e;(e=this.Ri)==null||e.dismissTour("user_clicked_skip")}nextStep(){var e;(e=this.Ri)==null||e.nextStep()}previousStep(){var e;(e=this.Ri)==null||e.previousStep()}clearCache(){var e;this.Fi=null,(e=this._instance.persistence)==null||e.unregister(Ih)}resetTour(e){var t;(t=this.Ri)==null||t.resetTour(e)}resetAllTours(){var e;(e=this.Ri)==null||e.resetAllTours()}cancelPendingTour(e){var t;(t=this.Ri)==null||t.cancelPendingTour(e)}},jo=(function(r){return r.Activation="events",r.Cancellation="cancelEvents",r})({}),EF=(function(r){return r.Button="button",r.Tab="tab",r.Selector="selector",r})({}),CF=(function(r){return r.TopLeft="top_left",r.TopRight="top_right",r.TopCenter="top_center",r.MiddleLeft="middle_left",r.MiddleRight="middle_right",r.MiddleCenter="middle_center",r.Left="left",r.Center="center",r.Right="right",r.NextToTrigger="next_to_trigger",r})({}),AF=(function(r){return r.Top="top",r.Left="left",r.Right="right",r.Bottom="bottom",r})({}),$h=(function(r){return r.Popover="popover",r.API="api",r.Widget="widget",r.ExternalSurvey="external_survey",r})({}),TF=(function(r){return r.Open="open",r.MultipleChoice="multiple_choice",r.SingleChoice="single_choice",r.Rating="rating",r.Link="link",r})({}),RF=(function(r){return r.NextQuestion="next_question",r.End="end",r.ResponseBased="response_based",r.SpecificQuestion="specific_question",r})({}),IF=(function(r){return r.Once="once",r.Recurring="recurring",r.Always="always",r})({}),Xo=(function(r){return r.SHOWN="survey shown",r.DISMISSED="survey dismissed",r.SENT="survey sent",r.ABANDONED="survey abandoned",r})({}),Mh=(function(r){return r.SURVEY_ID="$survey_id",r.SURVEY_NAME="$survey_name",r.SURVEY_RESPONSE="$survey_response",r.SURVEY_ITERATION="$survey_iteration",r.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",r.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",r.SURVEY_SUBMISSION_ID="$survey_submission_id",r.SURVEY_QUESTIONS="$survey_questions",r.SURVEY_COMPLETED="$survey_completed",r.PRODUCT_TOUR_ID="$product_tour_id",r.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",r})({}),Tf=(function(r){return r.Popover="popover",r.Inline="inline",r})({}),Ee=Oe("[Surveys]"),Hx="seenSurvey_",BT=(r,e)=>{var t="$survey_"+e+"/"+r.id;return r.current_iteration&&r.current_iteration>0&&(t="$survey_"+e+"/"+r.id+"/"+r.current_iteration),t},I0=r=>((e,t)=>{var n=""+e+t.id;return t.current_iteration&&t.current_iteration>0&&(n=""+e+t.id+"_"+t.current_iteration),n})(Hx,r),VT=[$h.Popover,$h.Widget,$h.API],UT={ignoreConditions:!1,ignoreDelay:!1,displayType:Tf.Popover},aa=class{constructor(){this.Mi={},this.Mi={}}on(e,t){return this.Mi[e]||(this.Mi[e]=[]),this.Mi[e].push(t),()=>{this.Mi[e]=this.Mi[e].filter((n=>n!==t))}}emit(e,t){for(var n of this.Mi[e]||[])n(t);for(var i of this.Mi["*"]||[])i(e,t)}};function Vi(r,e,t){if(ge(r))return!1;switch(t){case"exact":return r===e;case"contains":var n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(n,"i").test(r);case"regex":try{return new RegExp(e).test(r)}catch{return!1}default:return!1}}var Rf=class{constructor(e){this.Ai=new aa,this.ji=(t,n)=>this.Di(t,n)&&this.Li(t,n)&&this.Ni(t,n)&&this.Ui(t,n),this.Di=(t,n)=>n==null||!n.event||t?.event===n?.event,this._instance=e,this.zi=new Set,this.Hi=new Set}init(){var e;if(!j((e=this._instance)==null?void 0:e._addCaptureHook)){var t;(t=this._instance)==null||t._addCaptureHook(((n,i)=>{this.on(n,i)}))}}register(e){var t,n;if(!j((t=this._instance)==null?void 0:t._addCaptureHook)&&(e.forEach((o=>{var a,l;(a=this.Hi)==null||a.add(o),(l=o.steps)==null||l.forEach((c=>{var u;(u=this.zi)==null||u.add(c?.event||"")}))})),(n=this._instance)!=null&&n.autocapture)){var i,s=new Set;e.forEach((o=>{var a;(a=o.steps)==null||a.forEach((l=>{l!=null&&l.selector&&s.add(l?.selector)}))})),(i=this._instance)==null||i.autocapture.setElementSelectors(s)}}on(e,t){var n;t!=null&&e.length!=0&&(this.zi.has(e)||this.zi.has(t?.event))&&this.Hi&&((n=this.Hi)==null?void 0:n.size)>0&&this.Hi.forEach((i=>{this.Bi(t,i)&&this.Ai.emit("actionCaptured",i.name)}))}qi(e){this.onAction("actionCaptured",(t=>e(t)))}Bi(e,t){if(t?.steps==null)return!1;for(var n of t.steps)if(this.ji(e,n))return!0;return!1}onAction(e,t){return this.Ai.on(e,t)}Li(e,t){if(t!=null&&t.url){var n,i=e==null||(n=e.properties)==null?void 0:n.$current_url;if(!i||typeof i!="string"||!Vi(i,t.url,t.url_matching||"contains"))return!1}return!0}Ni(e,t){return!!this.Wi(e,t)&&!!this.Gi(e,t)&&!!this.Vi(e,t)}Wi(e,t){var n;if(t==null||!t.href)return!0;var i=this.Ji(e);if(i.length>0)return i.some((a=>Vi(a.href,t.href,t.href_matching||"exact")));var s,o=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!o&&Vi((s=o.match(/(?::|")href="(.*?)"/))?s[1]:"",t.href,t.href_matching||"exact")}Gi(e,t){var n;if(t==null||!t.text)return!0;var i=this.Ji(e);if(i.length>0)return i.some((c=>Vi(c.text,t.text,t.text_matching||"exact")||Vi(c.$el_text,t.text,t.text_matching||"exact")));var s,o,a,l=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!l&&(s=(function(c){for(var u,p=[],h=/(?::|")text="(.*?)"/g;!ge(u=h.exec(c));)p.includes(u[1])||p.push(u[1]);return p})(l),o=t.text,a=t.text_matching||"exact",s.some((c=>Vi(c,o,a))))}Vi(e,t){var n,i;if(t==null||!t.selector)return!0;var s=e==null||(n=e.properties)==null?void 0:n.$element_selectors;if(s!=null&&s.includes(t.selector))return!0;var o=(e==null||(i=e.properties)==null?void 0:i.$elements_chain)||"";if(t.selector_regex&&o)try{return new RegExp(t.selector_regex).test(o)}catch{return!1}return!1}Ji(e){var t;return(e==null||(t=e.properties)==null?void 0:t.$elements)==null?[]:e?.properties.$elements}Ui(e,t){return t==null||!t.properties||t.properties.length===0||Dx(t.properties.reduce(((n,i)=>{var s=be(i.value)?i.value.map(String):i.value!=null?[String(i.value)]:[];return n[i.key]={values:s,operator:i.operator||"exact"},n}),{}),e?.properties)}},If=class{constructor(e){this._instance=e,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(e,t){return!!e&&Dx(e.propertyFilters,t?.properties)}Zi(e,t){var n=new Map;return e.forEach((i=>{var s;(s=i.conditions)==null||(s=s[t])==null||(s=s.values)==null||s.forEach((o=>{if(o!=null&&o.name){var a=n.get(o.name)||[];a.push(i.id),n.set(o.name,a)}}))})),n}te(e,t,n){var i=(n===jo.Activation?this.Ki:this.Yi).get(e),s=[];return this.ie((o=>{s=o.filter((a=>i?.includes(a.id)))})),s.filter((o=>{var a,l=(a=o.conditions)==null||(a=a[n])==null||(a=a.values)==null?void 0:a.find((c=>c.name===e));return this.Qi(l,t)}))}register(e){var t;j((t=this._instance)==null?void 0:t._addCaptureHook)||(this.ee(e),this.re(e))}re(e){var t=e.filter((n=>{var i,s;return((i=n.conditions)==null?void 0:i.actions)&&((s=n.conditions)==null||(s=s.actions)==null||(s=s.values)==null?void 0:s.length)>0}));t.length!==0&&(this.se==null&&(this.se=new Rf(this._instance),this.se.init(),this.se.qi((n=>{this.onAction(n)}))),t.forEach((n=>{var i,s,o,a,l;n.conditions&&(i=n.conditions)!=null&&i.actions&&(s=n.conditions)!=null&&(s=s.actions)!=null&&s.values&&((o=n.conditions)==null||(o=o.actions)==null||(o=o.values)==null?void 0:o.length)>0&&((a=this.se)==null||a.register(n.conditions.actions.values),(l=n.conditions)==null||(l=l.actions)==null||(l=l.values)==null||l.forEach((c=>{if(c&&c.name){var u=this.Xi.get(c.name);u&&u.push(n.id),this.Xi.set(c.name,u||[n.id])}})))})))}ee(e){var t,n=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.events)&&((a=s.conditions)==null||(a=a.events)==null||(a=a.values)==null?void 0:a.length)>0})),i=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.cancelEvents)&&((a=s.conditions)==null||(a=a.cancelEvents)==null||(a=a.values)==null?void 0:a.length)>0}));(n.length!==0||i.length!==0)&&((t=this._instance)==null||t._addCaptureHook(((s,o)=>{this.onEvent(s,o)})),this.Ki=this.Zi(e,jo.Activation),this.Yi=this.Zi(e,jo.Cancellation))}onEvent(e,t){var n,i=this.ne(),s=this.oe(),o=this.ae(),a=((n=this._instance)==null||(n=n.persistence)==null?void 0:n.props[s])||[];if(o===e&&t&&a.length>0){var l,c;i.info("event matched, removing item from activated items",{event:e,eventPayload:t,existingActivatedItems:a});var u=(t==null||(l=t.properties)==null?void 0:l.$survey_id)||(t==null||(c=t.properties)==null?void 0:c.$product_tour_id);if(u){var p=a.indexOf(u);p>=0&&(a.splice(p,1),this.le(a))}}else{if(this.Yi.has(e)){var h=this.te(e,t,jo.Cancellation);h.length>0&&(i.info("cancel event matched, cancelling items",{event:e,itemsToCancel:h.map((v=>v.id))}),h.forEach((v=>{var m=a.indexOf(v.id);m>=0&&a.splice(m,1),this.ue(v.id)})),this.le(a))}if(this.Ki.has(e)){i.info("event name matched",{event:e,eventPayload:t,items:this.Ki.get(e)});var f=this.te(e,t,jo.Activation);this.le(a.concat(f.map((v=>v.id))||[]))}}}onAction(e){var t,n=this.oe(),i=((t=this._instance)==null||(t=t.persistence)==null?void 0:t.props[n])||[];this.Xi.has(e)&&this.le(i.concat(this.Xi.get(e)||[]))}le(e){var t,n=this.ne(),i=this.oe(),s=[...new Set(e)].filter((o=>!this.he(o)));n.info("updating activated items",{activatedItems:s}),(t=this._instance)==null||(t=t.persistence)==null||t.register({[i]:s})}getActivatedIds(){var e,t=this.oe(),n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.props[t];return n||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}},$f=class extends If{constructor(e){super(e)}oe(){return"$surveys_activated"}ae(){return Xo.SHOWN}ie(e){var t;(t=this._instance)==null||t.getSurveys(e)}ue(e){var t;(t=this._instance)==null||t.cancelPendingSurvey(e)}ne(){return Ee}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}},Mf=class{constructor(e){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=e,this._surveyEventReceiver=null}onRemoteConfig(e){if(!this._instance.config.disable_surveys){var t=e.surveys;if(ge(t))return Ee.warn("Flags not loaded yet. Not loading surveys.");var n=be(t);this.ve=n?t.length>0:t,Ee.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var e=[],t=0;t<localStorage.length;t++){var n=localStorage.key(t);(n!=null&&n.startsWith(Hx)||n!=null&&n.startsWith("inProgressSurvey_"))&&e.push(n)}e.forEach((i=>localStorage.removeItem(i)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)Ee.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)Ee.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())Ee.info("Not loading surveys in cookieless mode without consent.");else{var e=ee?.__PosthogExtensions__;if(e){if(!j(this.ve)||this._instance.config.advanced_enable_surveys){var t=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var n=e.generateSurveys;if(n)return void this.ge(n,t);var i=e.loadExternalDependency;if(!i)return void this._e("PostHog loadExternalDependency extension not found.");i(this._instance,"surveys",(s=>{s||!e.generateSurveys?this._e("Could not load surveys script",s):this.ge(e.generateSurveys,t)}))}catch(s){throw this._e("Error initializing surveys",s),s}finally{this.ce=!1}}}else Ee.error("PostHog Extensions not found.")}}ge(e,t){this._surveyManager=e(this._instance,t),this._surveyEventReceiver=new $f(this._instance),Ee.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(e,t){Ee.error(e,t),this.me({isLoaded:!1,error:e})}onSurveysLoaded(e){return this.fe.push(e),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((t=>t!==e))}}getSurveys(e,t){if(t===void 0&&(t=!1),this._instance.config.disable_surveys)return Ee.info("Disabled. Not loading surveys."),e([]);var n,i=this._instance.get_property(rf);if(i&&!t)return e(i,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((s=>{var{surveys:o,context:a}=s;return e(o,a)})):(typeof Promise<"u"&&(this.pe=new Promise((s=>{n=s}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:s=>{var o;this.pe=null;var a=s.statusCode;if(a!==200||!s.json){var l="Surveys API could not be loaded, status: "+a;Ee.error(l);var c={isLoaded:!1,error:l};return e([],c),void(n==null||n({surveys:[],context:c}))}var u,p=s.json.surveys||[],h=p.filter((v=>(function(m){return!(!m.start_date||m.end_date)})(v)&&((function(m){var g;return!((g=m.conditions)==null||(g=g.events)==null||(g=g.values)==null||!g.length)})(v)||(function(m){var g;return!((g=m.conditions)==null||(g=g.actions)==null||(g=g.values)==null||!g.length)})(v))));h.length>0&&((u=this._surveyEventReceiver)==null||u.register(h)),(o=this._instance.persistence)==null||o.register({[rf]:p});var f={isLoaded:!0};e(p,f),n?.({surveys:p,context:f})}}))}me(e){for(var t of this.fe)try{if(!e.isLoaded)return t([],e);this.getSurveys(t)}catch(n){Ee.error("Error in survey callback",n)}}getActiveMatchingSurveys(e,t){if(t===void 0&&(t=!1),!ge(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(e,t);Ee.warn("init was not called")}be(e){var t=null;return this.getSurveys((n=>{var i;t=(i=n.find((s=>s.id===e)))!==null&&i!==void 0?i:null})),t}ye(e){if(ge(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var t=typeof e=="string"?this.be(e):e;return t?this._surveyManager.checkSurveyEligibility(t):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(e){if(ge(this._surveyManager))return Ee.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var t=this.ye(e);return{visible:t.eligible,disabledReason:t.reason}}canRenderSurveyAsync(e,t){return ge(this._surveyManager)?(Ee.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((n=>{this.getSurveys((i=>{var s,o=(s=i.find((l=>l.id===e)))!==null&&s!==void 0?s:null;if(o){var a=this.ye(o);n({visible:a.eligible,disabledReason:a.reason})}else n({visible:!1,disabledReason:"Survey not found"})}),t)}))}renderSurvey(e,t,n){var i;if(ge(this._surveyManager))Ee.warn("init was not called");else{var s=typeof e=="string"?this.be(e):e;if(s!=null&&s.id)if(VT.includes(s.type)){var o=U?.querySelector(t);if(o)return(i=s.appearance)!=null&&i.surveyPopupDelaySeconds?(Ee.info("Rendering survey "+s.id+" with delay of "+s.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var a,l;Ee.info("Rendering survey "+s.id+" with delay of "+((a=s.appearance)==null?void 0:a.surveyPopupDelaySeconds)+" seconds"),(l=this._surveyManager)==null||l.renderSurvey(s,o,n),Ee.info("Survey "+s.id+" rendered")}),1e3*s.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(s,o,n);Ee.warn("Survey element not found")}else Ee.warn("Surveys of type "+s.type+" cannot be rendered in the app");else Ee.warn("Survey not found")}}displaySurvey(e,t){var n;if(ge(this._surveyManager))Ee.warn("init was not called");else{var i=this.be(e);if(i){var s=i;if((n=i.appearance)!=null&&n.surveyPopupDelaySeconds&&t.ignoreDelay&&(s=z({},i,{appearance:z({},i.appearance,{surveyPopupDelaySeconds:0})})),t.displayType!==Tf.Popover&&t.initialResponses&&Ee.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),t.ignoreConditions===!1){var o=this.canRenderSurvey(i);if(!o.visible)return void Ee.warn("Survey is not eligible to be displayed: ",o.disabledReason)}t.displayType!==Tf.Inline?this._surveyManager.handlePopoverSurvey(s,t):this.renderSurvey(s,t.selector,t.properties)}else Ee.warn("Survey not found")}}cancelPendingSurvey(e){ge(this._surveyManager)?Ee.warn("init was not called"):this._surveyManager.cancelSurvey(e)}handlePageUnload(){var e;(e=this._surveyManager)==null||e.handlePageUnload()}},$r=Oe("[Conversations]"),Pf=class{constructor(e){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=e}onRemoteConfig(e){if(!this._instance.config.disable_conversations){var t=e.conversations;ge(t)||(Fr(t)?this.we=t:(this.we=t.enabled,this.Ee=t),this.loadIfEnabled())}}reset(){var e;(e=this._conversationsManager)==null||e.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var e=ee?.__PosthogExtensions__;if(e&&!j(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var t=e.initConversations;if(t)return this.$e(t),void(this.xe=!1);var n=e.loadExternalDependency;if(!n)return void this.Se("PostHog loadExternalDependency extension not found.");n(this._instance,"conversations",(i=>{i||!e.initConversations?this.Se("Could not load conversations script",i):this.$e(e.initConversations),this.xe=!1}))}catch(i){this.Se("Error initializing conversations",i),this.xe=!1}}else $r.error("Conversations enabled but missing token in remote config.")}}$e(e){if(this.Ee)try{this._conversationsManager=e(this.Ee,this._instance),$r.info("Conversations loaded successfully")}catch(t){this.Se("Error completing conversations initialization",t)}else $r.error("Cannot complete initialization: remote config is null")}Se(e,t){$r.error(e,t),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():$r.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!qt(this._conversationsManager)}isVisible(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.isVisible())!==null&&e!==void 0&&e}sendMessage(e,t,n){var i=this;return Wi((function*(){return i._conversationsManager?i._conversationsManager.sendMessage(e,t,n):($r.warn("Conversations not available yet."),null)}))()}getMessages(e,t){var n=this;return Wi((function*(){return n._conversationsManager?n._conversationsManager.getMessages(e,t):($r.warn("Conversations not available yet."),null)}))()}markAsRead(e){var t=this;return Wi((function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):($r.warn("Conversations not available yet."),null)}))()}getTickets(e){var t=this;return Wi((function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):($r.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getCurrentTicketId())!==null&&e!==void 0?e:null}getWidgetSessionId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getWidgetSessionId())!==null&&e!==void 0?e:null}},Of=class{constructor(e){var t;this.ke=!1,this.Pe=!1,this._instance=e,this._instance&&(t=this._instance.config.logs)!=null&&t.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(e){var t,n=(t=e.logs)==null?void 0:t.captureConsoleLogs;!ge(n)&&n&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var e=Oe("[logs]"),t=ee?.__PosthogExtensions__;if(t){var n=t.loadExternalDependency;n?n(this._instance,"logs",(i=>{var s;i||(s=t.logs)==null||!s.initializeLogs?e.error("Could not load logs script",i):(t.logs.initializeLogs(this._instance),this.Pe=!0)})):e.error("PostHog loadExternalDependency extension not found.")}else e.error("PostHog Extensions not found.")}}},$0=Oe("[RateLimiter]"),Lf=class{constructor(e){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=t=>{var n=t.text;if(n&&n.length)try{(JSON.parse(n).quota_limited||[]).forEach((i=>{$0.info((i||"events")+" is quota limited."),this.serverLimits[i]=new Date().getTime()+6e4}))}catch(i){return void $0.warn('could not rate limit - continuing. Error: "'+i?.message+'"',{text:n})}},this.instance=e,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var e;return((e=this.instance.config.rate_limiting)==null?void 0:e.events_per_second)||10}get captureEventsBurstLimit(){var e;return Math.max(((e=this.instance.config.rate_limiting)==null?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(e){var t,n,i;e===void 0&&(e=!1);var{captureEventsBurstLimit:s,captureEventsPerSecond:o}=this,a=new Date().getTime(),l=(t=(n=this.instance.persistence)==null?void 0:n.get_property(sf))!==null&&t!==void 0?t:{tokens:s,last:a};l.tokens+=(a-l.last)/1e3*o,l.last=a,l.tokens>s&&(l.tokens=s);var c=l.tokens<1;return c||e||(l.tokens=Math.max(0,l.tokens-1)),!c||this.lastEventRateLimited||e||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+o+" events per second and "+s+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=c,(i=this.instance.persistence)==null||i.set_property(sf,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},ri=Oe("[RemoteConfig]"),Nf=class{constructor(e){this._instance=e}get remoteConfig(){var e;return(e=ee._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.config}Te(e){var t,n;(t=ee.__PosthogExtensions__)!=null&&t.loadExternalDependency?(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"remote-config",(()=>e(this.remoteConfig))):(ri.error("PostHog Extensions not found. Cannot load remote config."),e())}Ie(e){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:t=>{e(t.json)}})}load(){try{if(this.remoteConfig)return ri.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.M())return void ri.warn("Remote config is disabled. Falling back to local config.");this.Te((e=>{if(!e)return ri.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((t=>{this.yi(t)}));this.yi(e)}))}catch(e){ri.error("Error loading remote config",e)}}yi(e){e?this._instance.config.__preview_remote_config?(this._instance.yi(e),e.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):ri.info("__preview_remote_config is disabled. Logging config instead",e):ri.error("Failed to fetch remote config from PostHog.")}},Ff=3e3,Df=class{constructor(e,t){this.Ce=!0,this.Re=[],this.Fe=pr(t?.flush_interval_ms||Ff,250,5e3,W.createLogger("flush interval"),Ff),this.Oe=e}enqueue(e){this.Re.push(e),this.Me||this.Ae()}unload(){this.je();var e=this.Re.length>0?this.De():{},t=Object.values(e);[...t.filter((n=>n.url.indexOf("/e")===0)),...t.filter((n=>n.url.indexOf("/e")!==0))].map((n=>{this.Oe(z({},n,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var e=this;this.Ce||(this.Me=setTimeout((()=>{if(this.je(),this.Re.length>0){var t=this.De(),n=function(){var s=t[i],o=new Date().getTime();s.data&&be(s.data)&&Ae(s.data,(a=>{a.offset=Math.abs(a.timestamp-o),delete a.timestamp})),e.Oe(s)};for(var i in t)n()}}),this.Fe))}je(){clearTimeout(this.Me),this.Me=void 0}De(){var e={};return Ae(this.Re,(t=>{var n,i=t,s=(i?i.batchKey:null)||i.url;j(e[s])&&(e[s]=z({},i,{data:[]})),(n=e[s].data)==null||n.push(i.data)})),this.Re=[],e}},jT=["retriesPerformedSoFar"],Hf=class{constructor(e){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=e,this.Re=[],this.Ue=!0,!j(E)&&"onLine"in E.navigator&&(this.Ue=E.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},je(E,"online",this.ze),je(E,"offline",this.He))}get length(){return this.Re.length}retriableRequest(e){var{retriesPerformedSoFar:t}=e,n=F0(e,jT);Ui(t)&&(n.url=Mc(n.url,{retry_count:t})),this._instance._send_request(z({},n,{callback:i=>{i.statusCode!==200&&(i.statusCode<400||i.statusCode>=500)&&(t??0)<10?this.Be(z({retriesPerformedSoFar:t},n)):n.callback==null||n.callback(i)}}))}Be(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var n=(function(o){var a=3e3*Math.pow(2,o),l=a/2,c=Math.min(18e5,a),u=(Math.random()-.5)*(c-l);return Math.ceil(c+u)})(t),i=Date.now()+n;this.Re.push({retryAt:i,requestOptions:e});var s="Enqueued failed request for retry in "+n;navigator.onLine||(s+=" (Browser is offline)"),W.warn(s),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var e=Date.now(),t=[],n=this.Re.filter((s=>s.retryAt<e||(t.push(s),!1)));if(this.Re=t,n.length>0)for(var{requestOptions:i}of n)this.retriableRequest(i)}unload(){for(var{requestOptions:e}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,j(E)||(this.ze&&(E.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(E.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(z({},e,{transport:"sendBeacon"}))}catch(t){W.error(t)}this.Re=[]}},Bf=class{constructor(e){this.Ge=()=>{var t,n,i,s;this.Ve||(this.Ve={});var o=this.scrollElement(),a=this.scrollY(),l=o?Math.max(0,o.scrollHeight-o.clientHeight):0,c=a+(o?.clientHeight||0),u=o?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(a),this.Ve.maxScrollY=Math.max(a,(t=this.Ve.maxScrollY)!==null&&t!==void 0?t:0),this.Ve.maxScrollHeight=Math.max(l,(n=this.Ve.maxScrollHeight)!==null&&n!==void 0?n:0),this.Ve.lastContentY=c,this.Ve.maxContentY=Math.max(c,(i=this.Ve.maxContentY)!==null&&i!==void 0?i:0),this.Ve.maxContentHeight=Math.max(u,(s=this.Ve.maxContentHeight)!==null&&s!==void 0?s:0)},this._instance=e}getContext(){return this.Ve}resetContext(){var e=this.Ve;return setTimeout(this.Ge,0),e}startMeasuringScrollPosition(){je(E,"scroll",this.Ge,{capture:!0}),je(E,"scrollend",this.Ge,{capture:!0}),je(E,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return E?.document.documentElement;var e=be(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var t of e){var n=E?.document.querySelector(t);if(n)return n}}scrollY(){if(this._instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollTop||0}return E&&(E.scrollY||E.pageYOffset||E.document.documentElement.scrollTop)||0}scrollX(){if(this._instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollLeft||0}return E&&(E.scrollX||E.pageXOffset||E.document.documentElement.scrollLeft)||0}},WT=r=>Ix(r?.config.mask_personal_data_properties,r?.config.custom_personal_data_properties),Oc=class{constructor(e,t,n,i){this.Je=s=>{var o=this.Ke();if(!o||o.sessionId!==s){var a={sessionId:s,props:this.Ye(this._instance)};this.Xe.register({[nf]:a})}},this._instance=e,this.Qe=t,this.Xe=n,this.Ye=i||WT,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[nf]}getSetOnceProps(){var e,t=(e=this.Ke())==null?void 0:e.props;return t?"r"in t?$x(t):{$referring_domain:t.referringDomain,$pathname:t.initialPathName,utm_source:t.utm_source,utm_campaign:t.utm_campaign,utm_medium:t.utm_medium,utm_content:t.utm_content,utm_term:t.utm_term}:{}}getSessionProps(){var e={};return Ae(Jf(this.getSetOnceProps()),((t,n)=>{n==="$current_url"&&(n="url"),e["$session_entry_"+Nh(n)]=t})),e}},Ph=Oe("[SessionId]"),Lc=class{on(e,t){return this.Ze.on(e,t)}constructor(e,t,n){var i;if(this.tr=[],this.ir=void 0,this.Ze=new aa,this.er=(u,p)=>!(!Ui(u)||!Ui(p))&&Math.abs(u-p)>this.sessionTimeoutMs,!e.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(e.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=e.config,this.Xe=e.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=t||cn,this.ar=n||cn;var s=this.R.persistence_name||this.R.token,o=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*pr(o,60,36e3,Ph.createLogger("session_idle_timeout_seconds"),1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+s+"_window_id",this.hr="ph_"+s+"_primary_window_exists",this.dr()){var a=et.W(this.ur),l=et.W(this.hr);a&&!l?this.rr=a:et.V(this.ur),et.G(this.hr,!0)}if((i=this.R.bootstrap)!=null&&i.sessionID)try{var c=(u=>{var p=u.replace(/-/g,"");if(p.length!==32)throw new Error("Not a valid UUID");if(p[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(p.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),c)}catch(u){Ph.error("Invalid sessionID in bootstrap",u)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return j(this.tr)&&(this.tr=[]),this.tr.push(e),this.sr&&e(this.sr,this.rr),()=>{this.tr=this.tr.filter((t=>t!==e))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.ki&&et.H()}pr(e){e!==this.rr&&(this.rr=e,this.dr()&&et.G(this.ur,e))}gr(){return this.rr?this.rr:this.dr()?et.W(this.ur):null}vr(e,t,n){e===this.sr&&t===this._sessionActivityTimestamp&&n===this._sessionStartTimestamp||(this._sessionStartTimestamp=n,this._sessionActivityTimestamp=t,this.sr=e,this.Xe.register({[bc]:[t,e,n]}))}_r(){var e=this.Xe.props[bc];return be(e)&&e.length===2&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&E&&(E.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&et.V(this.hr)},je(E,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(e,t){if(e===void 0&&(e=!1),t===void 0&&(t=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var n=t||new Date().getTime(),[i,s,o]=this._r(),a=this.gr(),l=Ui(o)&&Math.abs(n-o)>864e5,c=!1,u=!s,p=!u&&!e&&this.er(n,i);u||p||l?(s=this.nr(),a=this.ar(),Ph.info("new session ID generated",{sessionId:s,windowId:a,changeReason:{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}}),o=n,c=!0):a||(a=this.ar(),c=!0);var h=Ui(i)&&e&&!l?i:n,f=Ui(o)?o:new Date().getTime();return this.pr(a),this.vr(s,h,f),e||this.lr(),c&&this.tr.forEach((v=>v(s,a,c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0))),{sessionId:s,windowId:a,sessionStartTimestamp:f,changeReason:c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0,lastActivityTimestamp:i}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[e]=this._r();if(this.er(new Date().getTime(),e)){var t=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:t})}}),1.1*this.sessionTimeoutMs)}},zT=["$set_once","$set"],an=Oe("[SiteApps]"),Vf=class{constructor(e){this._instance=e,this.br=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}yr(e,t){if(t){var n=this.globalsForEvent(t);this.br.push(n),this.br.length>1e3&&(this.br=this.br.slice(10))}}get siteAppLoaders(){var e;return(e=ee._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.siteApps}init(){if(this.isEnabled){var e=this._instance._addCaptureHook(this.yr.bind(this));this.wr=()=>{e(),this.br=[],this.wr=void 0}}}globalsForEvent(e){var t,n,i,s,o,a,l;if(!e)throw new Error("Event payload is required");var c={},u=this._instance.get_property("$groups")||[],p=this._instance.get_property("$stored_group_properties")||{};for(var[h,f]of Object.entries(p))c[h]={id:u[h],type:h,properties:f};var{$set_once:v,$set:m}=e;return{event:z({},F0(e,zT),{properties:z({},e.properties,m?{$set:z({},(t=(n=e.properties)==null?void 0:n.$set)!==null&&t!==void 0?t:{},m)}:{},v?{$set_once:z({},(i=(s=e.properties)==null?void 0:s.$set_once)!==null&&i!==void 0?i:{},v)}:{}),elements_chain:(o=(a=e.properties)==null?void 0:a.$elements_chain)!==null&&o!==void 0?o:"",distinct_id:(l=e.properties)==null?void 0:l.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:c}}setupSiteApp(e){var t=this.apps[e.id],n=()=>{var a;!t.errored&&this.br.length&&(an.info("Processing "+this.br.length+" events for site app with id "+e.id),this.br.forEach((l=>t.processEvent==null?void 0:t.processEvent(l))),t.processedBuffer=!0),Object.values(this.apps).every((l=>l.processedBuffer||l.errored))&&((a=this.wr)==null||a.call(this))},i=!1,s=a=>{t.errored=!a,t.loaded=!0,an.info("Site app with id "+e.id+" "+(a?"loaded":"errored")),i&&n()};try{var{processEvent:o}=e.init({posthog:this._instance,callback:a=>{s(a)}});o&&(t.processEvent=o),i=!0}catch(a){an.error("Error while initializing PostHog app with config id "+e.id,a),s(!1)}if(i&&t.loaded)try{n()}catch(a){an.error("Error while processing buffered events PostHog app with config id "+e.id,a),t.errored=!0}}Er(){var e=this.siteAppLoaders||[];for(var t of e)this.apps[t.id]={id:t.id,loaded:!1,errored:!1,processedBuffer:!1};for(var n of e)this.setupSiteApp(n)}$r(e){if(Object.keys(this.apps).length!==0){var t=this.globalsForEvent(e);for(var n of Object.values(this.apps))try{n.processEvent==null||n.processEvent(t)}catch(i){an.error("Error while processing event "+e.event+" for site app "+n.id,i)}}}onRemoteConfig(e){var t,n,i,s=this;if((t=this.siteAppLoaders)!=null&&t.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(c=>this.$r(c)))):void an.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((n=this.wr)==null||n.call(this),(i=e.siteApps)!=null&&i.length)if(this.isEnabled){var o=function(c){var u;ee["__$$ph_site_app_"+c]=s._instance,(u=ee.__PosthogExtensions__)==null||u.loadSiteApp==null||u.loadSiteApp(s._instance,l,(p=>{if(p)return an.error("Error while initializing PostHog app with config id "+c,p)}))};for(var{id:a,url:l}of e.siteApps)o(a)}else an.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}},Bx=function(r,e){if(!r)return!1;var t=r.userAgent;if(t&&z_(t,e))return!0;try{var n=r?.userAgentData;if(n!=null&&n.brands&&n.brands.some((i=>z_(i?.brand,e))))return!0}catch{}return!!r.webdriver},Jo=(function(r){return r.US="us",r.EU="eu",r.CUSTOM="custom",r})({}),M0="i.posthog.com",Uf=class{constructor(e){this.Sr={},this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\/$/,"");return e==="https://app.posthog.com"?"https://us.i.posthog.com":e}get flagsApiHost(){var e=this.instance.config.flags_api_host;return e?e.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var e,t=(e=this.instance.config.ui_host)==null?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace("."+M0,".posthog.com")),t==="https://app.posthog.com"?"https://us.posthog.com":t}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Jo.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Jo.EU:this.Sr[this.apiHost]=Jo.CUSTOM),this.Sr[this.apiHost]}endpointFor(e,t){if(t===void 0&&(t=""),t&&(t=t[0]==="/"?t:"/"+t),e==="ui")return this.uiHost+t;if(e==="flags")return this.flagsApiHost+t;if(this.region===Jo.CUSTOM)return this.apiHost+t;var n=M0+t;switch(e){case"assets":return"https://"+this.region+"-assets."+n;case"api":return"https://"+this.region+"."+n}}},qT={icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())>-1,not_icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())===-1,regex:(r,e)=>!!E&&Pc(e.href,r),not_regex:(r,e)=>!!E&&!Pc(e.href,r),exact:(r,e)=>e.href===r,is_not:(r,e)=>e.href!==r},jf=class r{constructor(e){var t=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(n){n===void 0&&(n=!1),t.getWebExperiments((i=>{r.kr("retrieved web experiments from the server"),t.Pr=new Map,i.forEach((s=>{if(s.feature_flag_key){var o;t.Pr&&(r.kr("setting flag key ",s.feature_flag_key," to web experiment ",s),(o=t.Pr)==null||o.set(s.feature_flag_key,s));var a=t._instance.getFeatureFlag(s.feature_flag_key);qe(a)&&s.variants[a]&&t.Tr(s.name,a,s.variants[a].transforms)}else if(s.variants)for(var l in s.variants){var c=s.variants[l];r.Ir(c)&&t.Tr(s.name,l,c.transforms)}}))}),n)},this._instance=e,this._instance.onFeatureFlags((n=>{this.onFeatureFlags(n)}))}onFeatureFlags(e){if(this._is_bot())r.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(ge(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();r.kr("applying feature flags",e),e.forEach((t=>{var n;if(this.Pr&&(n=this.Pr)!=null&&n.has(t)){var i,s=this._instance.getFeatureFlag(t),o=(i=this.Pr)==null?void 0:i.get(t);s&&o!=null&&o.variants[s]&&this.Tr(o.name,s,o.variants[s].transforms)}}))}}previewWebExperiment(){var e=r.getWindowLocation();if(e!=null&&e.search){var t=Cc(e?.search,"__experiment_id"),n=Cc(e?.search,"__experiment_variant");t&&n&&(r.kr("previewing web experiments "+t+" && "+n),this.getWebExperiments((i=>{this.Cr(parseInt(t),n,i)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,n){if(this._instance.config.disable_web_experiments&&!n)return e([]);var i=this._instance.get_property("$web_experiments");if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:s=>{if(s.statusCode!==200||!s.json)return e([]);var o=s.json.experiments||[];return e(o)}})}Cr(e,t,n){var i=n.filter((s=>s.id===e));i&&i.length>0&&(r.kr("Previewing web experiment ["+i[0].name+"] with variant ["+t+"]"),this.Tr(i[0].name,t,i[0].variants[t].transforms))}static Ir(e){return!ge(e.conditions)&&r.Rr(e)&&r.Fr(e)}static Rr(e){var t;if(ge(e.conditions)||ge((t=e.conditions)==null?void 0:t.url))return!0;var n,i,s,o=r.getWindowLocation();return!!o&&((n=e.conditions)==null||!n.url||qT[(i=(s=e.conditions)==null?void 0:s.urlMatchType)!==null&&i!==void 0?i:"icontains"](e.conditions.url,o))}static getWindowLocation(){return E?.location}static Fr(e){var t;if(ge(e.conditions)||ge((t=e.conditions)==null?void 0:t.utm))return!0;var n=Cx();if(n.utm_source){var i,s,o,a,l,c,u,p,h=(i=e.conditions)==null||(i=i.utm)==null||!i.utm_campaign||((s=e.conditions)==null||(s=s.utm)==null?void 0:s.utm_campaign)==n.utm_campaign,f=(o=e.conditions)==null||(o=o.utm)==null||!o.utm_source||((a=e.conditions)==null||(a=a.utm)==null?void 0:a.utm_source)==n.utm_source,v=(l=e.conditions)==null||(l=l.utm)==null||!l.utm_medium||((c=e.conditions)==null||(c=c.utm)==null?void 0:c.utm_medium)==n.utm_medium,m=(u=e.conditions)==null||(u=u.utm)==null||!u.utm_term||((p=e.conditions)==null||(p=p.utm)==null?void 0:p.utm_term)==n.utm_term;return h&&v&&m&&f}return!1}static kr(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];W.info("[WebExperiments] "+e,n)}Tr(e,t,n){this._is_bot()?r.kr("Refusing to render web experiment since the viewer is a likely bot"):t!=="control"?n.forEach((i=>{if(i.selector){var s;r.kr("applying transform of variant "+t+" for experiment "+e+" ",i);var o=(s=document)==null?void 0:s.querySelectorAll(i.selector);o?.forEach((a=>{var l=a;i.html&&(l.innerHTML=i.html),i.css&&l.setAttribute("style",i.css)}))}})):r.kr("Control variants leave the page unmodified.")}_is_bot(){return kt&&this._instance?Bx(kt,this._instance.config.custom_blocked_useragents):void 0}},ZT=Oe("[PostHog ExternalIntegrations]"),GT={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},Wf=class{constructor(e){this._instance=e}it(e,t){var n;(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,e,(i=>{if(i)return ZT.error("failed to load script",i);t()}))}startIfEnabledOrStop(){var e=this,t=function(o){var a,l,c;!i||(a=ee.__PosthogExtensions__)!=null&&(a=a.integrations)!=null&&a[o]||e.it(GT[o],(()=>{var u;(u=ee.__PosthogExtensions__)==null||(u=u.integrations)==null||(u=u[o])==null||u.start(e._instance)})),!i&&(l=ee.__PosthogExtensions__)!=null&&(l=l.integrations)!=null&&l[o]&&((c=ee.__PosthogExtensions__)==null||(c=c.integrations)==null||(c=c[o])==null||c.stop())};for(var[n,i]of Object.entries((s=this._instance.config.integrations)!==null&&s!==void 0?s:{})){var s;t(n)}}},zf="[SessionRecording]",Wo=Oe(zf),Nc=class{get started(){var e;return!((e=this.Or)==null||!e.isStarted)}get status(){return this.Or?this.Or.status:this.Mr&&!this.Ar?"disabled":"lazy_loading"}constructor(e){if(this._forceAllowLocalhostNetworkCapture=!1,this.Mr=!1,this.jr=void 0,this._instance=e,!this._instance.sessionManager)throw Wo.error("started without valid sessionManager"),new Error(zf+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(zf+' cannot be used with cookieless_mode="always"')}get Ar(){var e,t=!((e=this._instance.get_property(_h))==null||!e.enabled),n=!this._instance.config.disable_session_recording,i=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return E&&t&&n&&!i}startIfEnabledOrStop(e){var t;if(!this.Ar||(t=this.Or)==null||!t.isStarted){var n=!j(Object.assign)&&!j(Array.from);this.Ar&&n?(this.Dr(e),Wo.info("starting")):this.stopRecording()}}Dr(e){var t,n,i;this.Ar&&(ee!=null&&(t=ee.__PosthogExtensions__)!=null&&(t=t.rrweb)!=null&&t.record&&(n=ee.__PosthogExtensions__)!=null&&n.initSessionRecording?this.Lr(e):(i=ee.__PosthogExtensions__)==null||i.loadExternalDependency==null||i.loadExternalDependency(this._instance,this.Nr,(s=>{if(s)return Wo.error("could not load recorder",s);this.Lr(e)})))}stopRecording(){var e,t;(e=this.jr)==null||e.call(this),this.jr=void 0,(t=this.Or)==null||t.stop()}Ur(){var e;(e=this._instance.persistence)==null||e.unregister(cx)}zr(e){if(this._instance.persistence){var t,n,i=this._instance.persistence,s=()=>{var o=e.sessionRecording===!1?void 0:e.sessionRecording,a=o?.sampleRate,l=ge(a)?null:parseFloat(a);ge(l)&&this.Ur();var c=o?.minimumDurationMilliseconds;i.register({[_h]:z({enabled:!!o},o,{networkPayloadCapture:z({capturePerformance:e.capturePerformance},o?.networkPayloadCapture),canvasRecording:{enabled:o?.recordCanvas,fps:o?.canvasFps,quality:o?.canvasQuality},sampleRate:l,minimumDurationMilliseconds:j(c)?null:c,endpoint:o?.endpoint,triggerMatchType:o?.triggerMatchType,masking:o?.masking,urlTriggers:o?.urlTriggers})})};s(),(t=this.jr)==null||t.call(this),this.jr=(n=this._instance.sessionManager)==null?void 0:n.onSessionId(s)}}onRemoteConfig(e){"sessionRecording"in e?e.sessionRecording!==!1?(this.zr(e),this.Mr=!0,this.startIfEnabledOrStop()):this.Mr=!0:Wo.info("skipping remote config with no sessionRecording",e)}log(e,t){var n;t===void 0&&(t="log"),(n=this.Or)!=null&&n.log?this.Or.log(e,t):Wo.warn("log called before recorder was ready")}get Nr(){var e,t,n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.get_property(_h);return(n==null||(t=n.scriptConfig)==null?void 0:t.script)||"lazy-recorder"}Lr(e){var t,n;if((t=ee.__PosthogExtensions__)==null||!t.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Or||(this.Or=(n=ee.__PosthogExtensions__)==null?void 0:n.initSessionRecording(this._instance),this.Or._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Or.start(e)}onRRwebEmit(e){var t;(t=this.Or)==null||t.onRRwebEmit==null||t.onRRwebEmit(e)}overrideLinkedFlag(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_linked_flag:!0}),(e=this.Or)==null||e.overrideLinkedFlag()}overrideSampling(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_sampling:!0}),(e=this.Or)==null||e.overrideSampling()}overrideTrigger(e){var t,n;this.Or||(n=this._instance.persistence)==null||n.register({[e==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(t=this.Or)==null||t.overrideTrigger(e)}get sdkDebugProperties(){var e;return((e=this.Or)==null?void 0:e.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(e,t){var n;return!((n=this.Or)==null||!n.tryAddCustomEvent(e,t))}},ta={},qf=()=>{},ji="posthog",Vx=!NT&&_t?.indexOf("MSIE")===-1&&_t?.indexOf("Mozilla")===-1,P0=r=>{var e;return z({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:J2(U?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:qf,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:r??"unset",__preview_deferred_init_extensions:!1,debug:tt&&qe(tt?.search)&&tt.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(E==null||(e=E.location)==null?void 0:e.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:t=>{var n="Bad HTTP status: "+t.statusCode+" "+t.text;W.error(n)},get_device_id:t=>t,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:Ff},error_tracking:{},_onCapture:qf,__preview_eager_load_replay:!1},(t=>({rageclick:!(t&&t>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(t&&t>="2025-05-24")||"history_change",session_recording:t&&t>="2025-11-30"?{strictMinimumDuration:!0}:{},external_scripts_inject_target:t&&t>="2026-01-30"?"head":"body",internal_or_test_user_hostname:t&&t>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0}))(r))},O0=r=>{var e={};j(r.process_person)||(e.person_profiles=r.process_person),j(r.xhr_headers)||(e.request_headers=r.xhr_headers),j(r.cookie_name)||(e.persistence_name=r.cookie_name),j(r.disable_cookie)||(e.disable_persistence=r.disable_cookie),j(r.store_google)||(e.save_campaign_params=r.store_google),j(r.verbose)||(e.debug=r.verbose);var t=He({},e,r);return be(r.property_blacklist)&&(j(r.property_denylist)?t.property_denylist=r.property_blacklist:be(r.property_denylist)?t.property_denylist=[...r.property_blacklist,...r.property_denylist]:W.error("Invalid value for property_denylist config: "+r.property_denylist)),t},Zf=class{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(e){W.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}},Fc=class r{get decideEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}get flagsEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}constructor(){this.webPerformance=new Zf,this.Br=!1,this.version=Mr.LIB_VERSION,this.qr=new aa,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=P0(),this.SentryIntegration=mf,this.sentryIntegration=e=>(function(t,n){var i=Ex(t,n);return{name:kx,processEvent:s=>i(s)}})(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new Cf(this),this.toolbar=new vf(this),this.scrollManager=new Bf(this),this.pageViewManager=new Rc(this),this.surveys=new Mf(this),this.conversations=new Pf(this),this.logs=new Of(this),this.experiments=new jf(this),this.exceptions=new Ef(this),this.rateLimiter=new Lf(this),this.requestRouter=new Uf(this),this.consent=new hf(this),this.externalIntegrations=new Wf(this),this.people={set:(e,t,n)=>{var i=qe(e)?{[e]:t}:e;this.setPersonProperties(i),n?.({})},set_once:(e,t,n)=>{var i=qe(e)?{[e]:t}:e;this.setPersonProperties(void 0,i),n?.({})}},this.on("eventCaptured",(e=>W.info('send "'+e?.event+'"',e)))}init(e,t,n){if(n&&n!==ji){var i,s=(i=ta[n])!==null&&i!==void 0?i:new r;return s._init(e,t,n),ta[n]=s,ta[ji][n]=s,s}return this._init(e,t,n)}_init(e,t,n){var i;if(t===void 0&&(t={}),j(e)||Fh(e))return W.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},t.debug=this.Kr(t.debug),this.Yr=t,this.Xr=[],t.person_profiles&&(this.Vr=t.person_profiles),this.set_config(He({},P0(t.defaults),O0(t),{name:n,token:e})),this.config.on_xhr_error&&W.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=t.disable_compression?void 0:Lr.GZipJS;var s=this.Qr();this.persistence=new ea(this.config,s),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new ea(z({},this.config,{persistence:"sessionStorage"}),s);var o=z({},this.persistence.props),a=z({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new Df((x=>this.ts(x)),this.config.request_queue_config),this.es=new Hf(this),this.__request_queue=[];var l=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(l||(this.sessionManager=new Lc(this),this.sessionPropsManager=new Oc(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(W.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(l)}),0)):(W.info("Initializing extensions synchronously"),this.rs(l)),Mr.DEBUG=Mr.DEBUG||this.config.debug,Mr.DEBUG&&W.info("Starting in debug mode",{this:this,config:t,thisC:z({},this.config),p:o,s:a}),((i=t.bootstrap)==null?void 0:i.distinctID)!==void 0){var c,u,p=this.config.get_device_id(cn()),h=(c=t.bootstrap)!=null&&c.isIdentifiedID?p:t.bootstrap.distinctID;this.persistence.set_property(Pr,(u=t.bootstrap)!=null&&u.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:t.bootstrap.distinctID,$device_id:h})}if(this.ss()){var f,v,m=Object.keys(((f=t.bootstrap)==null?void 0:f.featureFlags)||{}).filter((x=>{var w;return!((w=t.bootstrap)==null||(w=w.featureFlags)==null||!w[x])})).reduce(((x,w)=>{var y;return x[w]=((y=t.bootstrap)==null||(y=y.featureFlags)==null?void 0:y[w])||!1,x}),{}),g=Object.keys(((v=t.bootstrap)==null?void 0:v.featureFlagPayloads)||{}).filter((x=>m[x])).reduce(((x,w)=>{var y,S;return(y=t.bootstrap)!=null&&(y=y.featureFlagPayloads)!=null&&y[w]&&(x[w]=(S=t.bootstrap)==null||(S=S.featureFlagPayloads)==null?void 0:S[w]),x}),{});this.featureFlags.receivedFeatureFlags({featureFlags:m,featureFlagPayloads:g})}if(l)this.register_once({distinct_id:No,$device_id:null},"");else if(!this.get_distinct_id()){var b=this.config.get_device_id(cn());this.register_once({distinct_id:b,$device_id:b},""),this.persistence.set_property(Pr,"anonymous")}return je(E,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),t.segment?_T(this,(()=>this.ns())):this.ns(),un(this.config._onCapture)&&this.config._onCapture!==qf&&(W.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(x=>this.config._onCapture(x.event,x)))),this.config.ip&&W.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}rs(e){var t=performance.now();this.historyAutocapture=new gf(this),this.historyAutocapture.startIfEnabled();var n=[];n.push((()=>{new yf(this).startIfEnabledOrStop()})),n.push((()=>{var i;this.siteApps=new Vf(this),(i=this.siteApps)==null||i.init()})),e||n.push((()=>{this.sessionRecording=new Nc(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||n.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),n.push((()=>{this.autocapture=new cf(this),this.autocapture.startIfEnabled()})),n.push((()=>{this.surveys.loadIfEnabled()})),n.push((()=>{this.logs.loadIfEnabled()})),n.push((()=>{this.conversations.loadIfEnabled()})),n.push((()=>{this.productTours=new Af(this),this.productTours.loadIfEnabled()})),n.push((()=>{this.heatmaps=new _f(this),this.heatmaps.startIfEnabled()})),n.push((()=>{this.webVitalsAutocapture=new bf(this)})),n.push((()=>{this.exceptionObserver=new ff(this),this.exceptionObserver.startIfEnabledOrStop()})),n.push((()=>{this.deadClicksAutocapture=new Tc(this,bT),this.deadClicksAutocapture.startIfEnabled()})),n.push((()=>{if(this.os){var i=this.os;this.os=void 0,this.yi(i)}})),this.ls(n,t)}ls(e,t){for(;e.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-t>=30&&e.length>0)return void setTimeout((()=>{this.ls(e,t)}),0);var n=e.shift();if(n)try{n()}catch(s){W.error("Error initializing extension:",s)}}var i=Math.round(performance.now()-t);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:i}),this.config.__preview_deferred_init_extensions&&W.info("PostHog extensions initialized ("+i+"ms)")}yi(e){var t,n,i,s,o,a,l,c,u;if(!U||!U.body)return W.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(e)}),500);this.config.__preview_deferred_init_extensions&&(this.os=e),this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=he(e.supportedCompression,Lr.GZipJS)?Lr.GZipJS:he(e.supportedCompression,Lr.Base64)?Lr.Base64:void 0),(t=e.analytics)!=null&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(n=this.siteApps)==null||n.onRemoteConfig(e),(i=this.sessionRecording)==null||i.onRemoteConfig(e),(s=this.autocapture)==null||s.onRemoteConfig(e),(o=this.heatmaps)==null||o.onRemoteConfig(e),this.surveys.onRemoteConfig(e),this.logs.onRemoteConfig(e),this.conversations.onRemoteConfig(e),(a=this.productTours)==null||a.onRemoteConfig(e),(l=this.webVitalsAutocapture)==null||l.onRemoteConfig(e),(c=this.exceptionObserver)==null||c.onRemoteConfig(e),this.exceptions.onRemoteConfig(e),(u=this.deadClicksAutocapture)==null||u.onRemoteConfig(e)}ns(){try{this.config.loaded(this)}catch(n){W.critical("`loaded` function failed",n)}if(this.us(),this.config.internal_or_test_user_hostname&&tt!=null&&tt.hostname){var e=tt.hostname,t=this.config.internal_or_test_user_hostname;(typeof t=="string"?e===t:t.test(e))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new Nf(this).load(),this.featureFlags.flags()}us(){var e;this.is_capturing()&&this.config.request_batching&&((e=this.Zr)==null||e.enable())}_dom_loaded(){this.is_capturing()&&dn(this.__request_queue,(e=>this.ts(e))),this.__request_queue=[],this.us()}_handle_unload(){var e,t;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(e=this.Zr)==null||e.unload(),(t=this.es)==null||t.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(e){this.__loaded&&(Vx?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Mc(e.url,{ip:this.config.ip?1:0}),e.headers=z({},this.config.request_headers,e.headers),e.compression=e.compression==="best-available"?this.compression:e.compression,e.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(e.disableTransport=["sendBeacon"]),e.fetchOptions=e.fetchOptions||this.config.fetch_options,(t=>{var n,i,s,o=z({},t);o.timeout=o.timeout||6e4,o.url=Mc(o.url,{_:new Date().getTime().toString(),ver:Mr.LIB_VERSION,compression:o.compression});var a=(n=o.transport)!==null&&n!==void 0?n:"fetch",l=gc.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(i=(s=ox(l,(u=>u.transport===a)))==null?void 0:s.method)!==null&&i!==void 0?i:l[0].method;if(!c)throw new Error("No available transport method");c(o)})(z({},e,{callback:t=>{var n,i;this.rateLimiter.checkForLimiting(t),t.statusCode>=400&&((n=(i=this.config).on_request_error)==null||n.call(i,t)),e.callback==null||e.callback(t)}}))))}ts(e){this.es?this.es.retriableRequest(e):this._send_request(e)}_execute_array(e){var t,n=[],i=[],s=[];dn(e,(a=>{a&&(t=a[0],be(t)?s.push(a):un(a)?a.call(this):be(a)&&t==="alias"?n.push(a):be(a)&&t.indexOf("capture")!==-1&&un(this[t])?s.push(a):i.push(a))}));var o=function(a,l){dn(a,(function(c){if(be(c[0])){var u=l;Ae(c,(function(p){u=u[p[0]].apply(u,p.slice(1))}))}else this[c[0]].apply(this,c.slice(1))}),l)};o(n,this),o(i,this),o(s,this)}ss(){var e,t;return((e=this.config.bootstrap)==null?void 0:e.featureFlags)&&Object.keys((t=this.config.bootstrap)==null?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,n){var i;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!j(e)&&qe(e)){var s=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(s&&!this.config.__preview_capture_bot_pageviews)){var o=n!=null&&n.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(o==null||!o.isRateLimited){t!=null&&t.$current_url&&!qe(t?.$current_url)&&(W.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),t==null||delete t.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var a=new Date,l=n?.timestamp||a,c=cn(),u={uuid:c,event:e,properties:this.calculateEventProperties(e,t||{},l,c)};e==="$pageview"&&this.config.__preview_capture_bot_pageviews&&s&&(u.event="$bot_pageview",u.properties.$browser_type="bot"),o&&(u.properties.$lib_rate_limit_remaining_tokens=o.remainingTokens),n?.$set&&(u.$set=n?.$set);var p,h=e!=="$groupidentify",f=this.vs(n?.$set_once,h);if(f&&(u.$set_once=f),(u=Y2(u,n!=null&&n._noTruncate?null:this.config.properties_string_max_length)).timestamp=l,j(n?.timestamp)||(u.properties.$event_time_override_provided=!0,u.properties.$event_time_override_system_time=a),e===Xo.DISMISSED||e===Xo.SENT){var v=t?.[Mh.SURVEY_ID],m=t?.[Mh.SURVEY_ITERATION];p={id:v,current_iteration:m},localStorage.getItem(I0(p))||localStorage.setItem(I0(p),"true"),u.$set=z({},u.$set,{[BT({id:v,current_iteration:m},e===Xo.SENT?"responded":"dismissed")]:!0})}else e===Xo.SHOWN&&(u.$set=z({},u.$set,{[Mh.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var g=z({},u.properties.$set,u.$set);if(zi(g)||this.setPersonPropertiesForFlags(g),!ge(this.config.before_send)){var b=this.cs(u);if(!b)return;u=b}this.qr.emit("eventCaptured",u);var x={method:"POST",url:(i=n?._url)!==null&&i!==void 0?i:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:u,compression:"best-available",batchKey:n?._batchKey};return!this.config.request_batching||n&&(n==null||!n._batchKey)||n!=null&&n.send_instantly?this.ts(x):this.Zr.enqueue(x),u}W.critical("This capture call is ignored due to client rate limiting.")}}else W.error("No event name provided to posthog.capture")}else W.uninitializedWarning("posthog.capture")}_addCaptureHook(e){return this.on("eventCaptured",(t=>e(t.event,t)))}calculateEventProperties(e,t,n,i,s){if(n=n||new Date,!this.persistence||!this.sessionPersistence)return t;var o=s?void 0:this.persistence.remove_event_timer(e),a=z({},t);if(a.token=this.config.token,a.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(a.$cookieless_mode=!0),e==="$snapshot"){var l=z({},this.persistence.properties(),this.sessionPersistence.properties());return a.distinct_id=l.distinct_id,(!qe(a.distinct_id)&&!Dr(a.distinct_id)||Fh(a.distinct_id))&&W.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=CT(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:p,windowId:h}=this.sessionManager.checkAndGetSessionAndWindowId(s,n.getTime());a.$session_id=p,a.$window_id=h}this.sessionPropsManager&&He(a,this.sessionPropsManager.getSessionProps());try{var f;this.sessionRecording&&He(a,this.sessionRecording.sdkDebugProperties),a.$sdk_debug_retry_queue_size=(f=this.es)==null?void 0:f.length}catch(b){a.$sdk_debug_error_capturing_properties=String(b)}if(this.requestRouter.region===Jo.CUSTOM&&(a.$lib_custom_api_host=this.config.api_host),c=e!=="$pageview"||s?e!=="$pageleave"||s?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(n):this.pageViewManager.doPageView(n,i),a=He(a,c),e==="$pageview"&&U&&(a.title=U.title),!j(o)){var v=n.getTime()-o;a.$duration=parseFloat((v/1e3).toFixed(3))}_t&&this.config.opt_out_useragent_filter&&(a.$browser_type=this._is_bot()?"bot":"browser"),(a=He({},u,this.persistence.properties(),this.sessionPersistence.properties(),a)).$is_identified=this._isIdentified(),be(this.config.property_denylist)?Ae(this.config.property_denylist,(function(b){delete a[b]})):W.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var m=this.config.sanitize_properties;m&&(W.error("sanitize_properties is deprecated. Use before_send instead"),a=m(a,e));var g=this.fs();return a.$process_person_profile=g,g&&!s&&this.ps("_calculate_event_properties"),a}vs(e,t){var n;if(t===void 0&&(t=!0),!this.persistence||!this.fs()||this.Br)return e;var i=this.persistence.get_initial_props(),s=(n=this.sessionPropsManager)==null?void 0:n.getSetOnceProps(),o=He({},i,s||{},e||{}),a=this.config.sanitize_properties;return a&&(W.error("sanitize_properties is deprecated. Use before_send instead"),o=a(o,"$set_once")),t&&(this.Br=!0),zi(o)?void 0:o}register(e,t){var n;(n=this.persistence)==null||n.register(e,t)}register_once(e,t,n){var i;(i=this.persistence)==null||i.register_once(e,t,n)}register_for_session(e){var t;(t=this.sessionPersistence)==null||t.register(e)}unregister(e){var t;(t=this.persistence)==null||t.unregister(e)}unregister_for_session(e){var t;(t=this.sessionPersistence)==null||t.unregister(e)}gs(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){return this.featureFlags.getFeatureFlagPayload(e)}getFeatureFlagResult(e,t){return this.featureFlags.getFeatureFlagResult(e,t)}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(e,t,n){var i=n!=null&&n.merge?this.featureFlags.getFlagVariants():{},s=n!=null&&n.merge?this.featureFlags.getFlagPayloads():{},o=z({},i,e),a=z({},s,t),l={};for(var[c,u]of Object.entries(o)){var p=typeof u=="string";l[c]={key:c,enabled:!!p||!!u,variant:p?u:void 0,reason:void 0,metadata:j(a?.[c])?void 0:{id:0,version:void 0,description:void 0,payload:a[c]}}}this.featureFlags.receivedFeatureFlags({flags:l})}updateEarlyAccessFeatureEnrollment(e,t,n){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t,n)}getEarlyAccessFeatures(e,t,n){return t===void 0&&(t=!1),this.featureFlags.getEarlyAccessFeatures(e,t,n)}on(e,t){return this.qr.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSurveysLoaded(e){return this.surveys.onSurveysLoaded(e)}onSessionId(e){var t,n;return(t=(n=this.sessionManager)==null?void 0:n.onSessionId(e))!==null&&t!==void 0?t:()=>{}}getSurveys(e,t){t===void 0&&(t=!1),this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e,t){t===void 0&&(t=!1),this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}displaySurvey(e,t){t===void 0&&(t=UT),this.surveys.displaySurvey(e,t)}cancelPendingSurvey(e){this.surveys.cancelPendingSurvey(e)}canRenderSurvey(e){return this.surveys.canRenderSurvey(e)}canRenderSurveyAsync(e,t){return t===void 0&&(t=!1),this.surveys.canRenderSurveyAsync(e,t)}identify(e,t,n){if(!this.__loaded||!this.persistence)return W.uninitializedWarning("posthog.identify");if(Dr(e)&&(e=e.toString(),W.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),e)if(["distinct_id","distinctid"].includes(e.toLowerCase()))W.critical('The string "'+e+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(e!==No){if(this.ps("posthog.identify")){var i=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var s=i;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},"")}e!==i&&e!==this.get_property(qo)&&(this.unregister(qo),this.register({distinct_id:e}));var o=(this.persistence.get_property(Pr)||"anonymous")==="anonymous";e!==i&&o?(this.persistence.set_property(Pr,"identified"),this.setPersonPropertiesForFlags(z({},n||{},t||{}),!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:i},{$set:t||{},$set_once:n||{}}),this.Jr=k0(e,t,n),this.featureFlags.setAnonymousDistinctId(i)):(t||n)&&this.setPersonProperties(t,n),e!==i&&(this.reloadFeatureFlags(),this.unregister(_c))}}else W.critical('The string "'+No+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else W.error("Unique user id has not been set in posthog.identify")}setPersonProperties(e,t){if((e||t)&&this.ps("posthog.setPersonProperties")){var n=k0(this.get_distinct_id(),e,t);this.Jr!==n?(this.setPersonPropertiesForFlags(z({},t||{},e||{})),this.capture("$set",{$set:e||{},$set_once:t||{}}),this.Jr=n):W.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(e,t,n){if(e&&t){var i=this.getGroups();i[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:z({},i,{[e]:t})}),n&&(this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:n}),this.setGroupPropertiesForFlags({[e]:n})),i[e]===t||n||this.reloadFeatureFlags()}else W.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0),this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,n,i,s;if(W.info("reset"),!this.__loaded)return W.uninitializedWarning("posthog.reset");var o=this.get_property("$device_id");if(this.consent.reset(),(t=this.persistence)==null||t.clear(),(n=this.sessionPersistence)==null||n.clear(),this.surveys.reset(),this.featureFlags.reset(),(i=this.persistence)==null||i.set_property(Pr,"anonymous"),(s=this.sessionManager)==null||s.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:No,$device_id:null},"");else{var a=this.config.get_device_id(cn());this.register_once({distinct_id:a,$device_id:e?a:o},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return(e=(t=this.sessionManager)==null?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&e!==void 0?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";var{sessionId:t,sessionStartTimestamp:n}=this.sessionManager.checkAndGetSessionAndWindowId(!0),i=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+t);if(e!=null&&e.withTimestamp&&n){var s,o=(s=e.timestampLookBack)!==null&&s!==void 0?s:10;if(!n)return i;i+="?t="+Math.max(Math.floor((new Date().getTime()-n)/1e3)-o,0)}return i}alias(e,t){return e===this.get_property(ax)?(W.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(j(t)&&(t=this.get_distinct_id()),e!==t?(this.gs(qo,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(W.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){var t=z({},this.config);if(ze(e)){var n,i,s,o,a,l,c;He(this.config,O0(e));var u=this.Qr();(n=this.persistence)==null||n.update_config(this.config,t,u),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new ea(z({},this.config,{persistence:"sessionStorage"}),u);var p=this.Kr(this.config.debug);Fr(p)&&(this.config.debug=p),Fr(this.config.debug)&&(this.config.debug?(Mr.DEBUG=!0,Me.H()&&Me.G("ph_debug","true"),W.info("set_config",{config:e,oldConfig:t,newConfig:z({},this.config)})):(Mr.DEBUG=!1,Me.H()&&Me.V("ph_debug"))),(i=this.exceptionObserver)==null||i.onConfigChange(),(s=this.sessionRecording)==null||s.startIfEnabledOrStop(),(o=this.autocapture)==null||o.startIfEnabled(),(a=this.heatmaps)==null||a.startIfEnabled(),(l=this.exceptionObserver)==null||l.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(c=this.externalIntegrations)==null||c.startIfEnabledOrStop()}}startSessionRecording(e){var t=e===!0,n={sampling:t||!(e==null||!e.sampling),linked_flag:t||!(e==null||!e.linked_flag),url_trigger:t||!(e==null||!e.url_trigger),event_trigger:t||!(e==null||!e.event_trigger)};if(Object.values(n).some(Boolean)){var i,s,o,a,l;(i=this.sessionManager)==null||i.checkAndGetSessionAndWindowId(),n.sampling&&((s=this.sessionRecording)==null||s.overrideSampling()),n.linked_flag&&((o=this.sessionRecording)==null||o.overrideLinkedFlag()),n.url_trigger&&((a=this.sessionRecording)==null||a.overrideTrigger("url")),n.event_trigger&&((l=this.sessionRecording)==null||l.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!((e=this.sessionRecording)==null||!e.started)}captureException(e,t){var n=new Error("PostHog syntheticException"),i=this.exceptions.buildProperties(e,{handled:!0,syntheticException:n});return this.exceptions.sendExceptionEvent(z({},i,t))}startExceptionAutocapture(e){this.set_config({capture_exceptions:e==null||e})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return(t=this.persistence)==null?void 0:t.props[e]}getSessionProperty(e){var t;return(t=this.sessionPersistence)==null?void 0:t.props[e]}toString(){var e,t=(e=this.config.name)!==null&&e!==void 0?e:ji;return t!==ji&&(t=ji+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(Pr))==="identified"||((t=this.sessionPersistence)==null?void 0:t.get_property(Pr))==="identified"}fs(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&zi(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[qo])&&((t=this.persistence)==null||(t=t.props)==null||!t[wc]))}ds(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.ps("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}ps(e){return this.config.person_profiles==="never"?(W.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(wc,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var e=this.consent.isOptedOut(),t=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||e&&!!t}_s(){var e,t,n,i,s=this.Qr();return((e=this.persistence)==null?void 0:e.ki)!==s&&((n=this.persistence)==null||n.set_disabled(s)),((t=this.sessionPersistence)==null?void 0:t.ki)!==s&&((i=this.sessionPersistence)==null||i.set_disabled(s)),s}opt_in_capturing(e){var t;if(this.config.cookieless_mode!=="always"){var n,i,s;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(n=this.sessionManager)==null||n.destroy(),(i=this.pageViewManager)==null||i.destroy(),this.sessionManager=new Lc(this),this.pageViewManager=new Rc(this),this.persistence&&(this.sessionPropsManager=new Oc(this,this.sessionManager,this.persistence)),this.sessionRecording=new Nc(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(t=this.sessionRecording)==null||t.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(j(e?.captureEventName)||e!=null&&e.captureEventName)&&this.capture((s=e?.captureEventName)!==null&&s!==void 0?s:"$opt_in",e?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else W.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var e,t,n;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:No,$device_id:null}),(e=this.sessionManager)==null||e.destroy(),(t=this.pageViewManager)==null||t.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(n=this.sessionRecording)==null||n.stopRecording(),this.sessionRecording=void 0,this.hs())):W.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var e=this.consent.consent;return e===Or.GRANTED?"granted":e===Or.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._s()}_is_bot(){return kt?Bx(kt,this.config.custom_blocked_useragents):void 0}hs(){U&&(U.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:U.title},{send_instantly:!0}),this.Gr&&(U.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),je(U,"visibilitychange",this.Gr)))}debug(e){e===!1?(E?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(E?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}M(){var e,t,n,i,s,o,a,l=this.Yr||{};return"advanced_disable_flags"in l?!!l.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(W.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(n="advanced_disable_decide",i=!1,s=W,o=(t="advanced_disable_flags")in(e=l)&&!ge(e[t]),a=n in e&&!ge(e[n]),o?e[t]:a?(s&&s.warn("Config field '"+n+"' is deprecated. Please use '"+t+"' instead. The old field will be removed in a future major version."),e[n]):i)}cs(e){if(ge(this.config.before_send))return e;var t=be(this.config.before_send)?this.config.before_send:[this.config.before_send],n=e;for(var i of t){if(n=i(n),ge(n)){var s="Event '"+e.event+"' was rejected in beforeSend function";return S2(e.event)?W.warn(s+". This can cause unexpected behavior."):W.info(s),null}n.properties&&!zi(n.properties)||W.warn("Event '"+e.event+"' has no properties after beforeSend function, this is likely an error.")}return n}getPageViewId(){var e;return(e=this.pageViewManager.Kt)==null?void 0:e.pageViewId}captureTraceFeedback(e,t){this.capture("$ai_feedback",{$ai_trace_id:String(e),$ai_feedback_text:t})}captureTraceMetric(e,t,n){this.capture("$ai_metric",{$ai_trace_id:String(e),$ai_metric_name:t,$ai_metric_value:String(n)})}Kr(e){var t=Fr(e)&&!e,n=Me.H()&&Me.q("ph_debug")==="true";return!t&&(!!n||e)}};(function(r,e){for(var t=0;t<e.length;t++)r.prototype[e[t]]=K2(r.prototype[e[t]])})(Fc,["identify"]);var L0;var Ux=(L0=ta[ji]=new Fc,(function(){function r(){r.done||(r.done=!0,Vx=!1,Ae(ta,(function(e){e._dom_loaded()})))}U!=null&&U.addEventListener?U.readyState==="complete"?r():je(U,"DOMContentLoaded",r,{capture:!1}):E&&W.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),L0);var ig=class{constructor(e={}){this.options=e;if(this.client=e.client,this.featureFlagsCallback=e.onFeatureFlagsLoaded,this.captureCallback=e.onCapture,this.rrwebCallback=e.onRRWebEvent,!this.client&&e.consent&&e.requireExplicitConsent&&typeof window<"u"&&e.apiKey){let t=e.consent;t.getStatus()==="granted"&&this.initPostHog(),t.subscribe(i=>{i==="granted"?this.client?this.client.opt_in_capturing():this.initPostHog():i==="denied"&&this.client&&this.client.opt_out_capturing()});return}!this.client&&typeof window<"u"&&e.apiKey&&this.initPostHog()}initPostHog(){let e=this.options;if(!e.apiKey)return;let t=e.enableFeatureFlags??!0,n=`syntro_${e.apiKey.slice(-6)||"sdk"}`,o={api_host:`${(e.apiHost??"https://telemetry.syntrologie.com").replace(/\/$/,"")}/t/${e.apiKey}`,advanced_disable_feature_flags:!t,advanced_disable_feature_flags_on_first_load:!t,autocapture:e.autocapture??!0,capture_pageview:e.capturePageview??"history_change",capture_pageleave:e.capturePageleave??!0,disable_session_recording:!(e.sessionRecording??!0),opt_out_useragent_filter:!0,session_recording:{recordCrossDomainIFrames:!0},capture_performance:!0,enable_recording_console_log:!0};e.cookieless_mode&&(o.cookieless_mode=e.cookieless_mode);let a=Ux.init(e.apiKey,o,n);if(a&&(this.client=a),this.captureCallback&&this.client&&this.client.on("eventCaptured",(...l)=>{let c=l[0],u=typeof c=="string"?c:c?.event,p=typeof c=="string"?void 0:c?.properties;typeof u=="string"&&this.captureCallback?.(u,p)}),t&&this.featureFlagsCallback&&this.client){this.client.onFeatureFlags(()=>{let c=this.getAllFeatureFlags();c&&this.featureFlagsCallback&&this.featureFlagsCallback(c)});let l=this.getAllFeatureFlags();l&&Object.keys(l).length>0&&this.featureFlagsCallback(l)}this.rrwebCallback&&this.client&&this.setupRRWebIntercept()}setupRRWebIntercept(e=30){let t=this.client?.sessionRecording;if(!t){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let n=null,i=t;for(let o of Object.getOwnPropertyNames(i)){let a=i[o];if(a&&typeof a=="object"&&typeof a.onRRwebEmit=="function"&&typeof a.start=="function"&&a!==t){n=a;break}}if(!n){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let s=n.onRRwebEmit.bind(n);n.onRRwebEmit=o=>{this.rrwebCallback?.({kind:"rrweb",...o}),s(o)},typeof window<"u"&&(window.__RRWEB_INTERCEPT_READY__=!0)}getAllFeatureFlags(){return this.client?.featureFlags?.getFlagVariants()}getSegmentFlags(){let e=this.getAllFeatureFlags();if(!e)return{};let t={};for(let[n,i]of Object.entries(e))n.startsWith("in_segment_")&&(t[n]=i===!0);return t}identify(e,t){this.client?.identify(e,t)}alias(e,t){this.client?.alias(e,t)}optInCapturing(){this.client?.opt_in_capturing()}optOutCapturing(){this.client?.opt_out_capturing()}track(e,t){this.client?.capture(e,t)}trackCanvasOpened(e){this.track("shadow_canvas_opened",{surface:e})}trackCanvasClosed(e){this.track("shadow_canvas_closed",{surface:e})}trackRectangleViewed(e,t){this.track("shadow_canvas_rectangle_viewed",{rectangleId:e,surface:t})}trackAction(e,t,n){this.track("shadow_canvas_action",{action:e,rectangleId:t,surface:n})}register(e){this.client?.register?.(e)}getSessionId(){return this.client?.get_session_id?.()}startSessionRecording(){this.client?.startSessionRecording?.()}trackExperiment(e,t,n){let i=`$experiment_${e}`;this.register({[i]:n??`variation_${t}`,[`${i}_id`]:t}),this.track("$experiment_started",{$experiment_key:e,$experiment_variation_id:t,$experiment_variation_name:n??`variation_${t}`})}setPersonProperties(e){this.client?.capture("$set",{$set:e})}setPersonPropertiesOnce(e){this.client?.capture("$set",{$set_once:e})}getDistinctId(){return this.client?.get_distinct_id?.()}};function sg(r={}){return new ig(r)}var jx={posthog:r=>sg(r),noop:()=>mh()};function Wx(r,e){let t=jx[r];if(!t)throw new Error(`Unknown telemetry provider: ${r}. Supported: ${Object.keys(jx).join(", ")}`);return t(e)}async function zx(r){sd(),G("Syntro Bootstrap","====== INIT ======"),G("Syntro Bootstrap","Options:",{hasToken:!!r.token,tokenPrefix:`${r.token?.slice(0,15)}...`,hasCanvasOptions:!!r.canvas});let e=Rl();if(console.log(`[DIAG] Mode detection: sdkMode=${e}`),console.log("[DIAG] editorSource:",go()),console.log("[DIAG] editorConf:",Tl()),G("Syntro Bootstrap","SDK mode:",e??"normal"),!e&&typeof window<"u"){let H=!!window.__SYNTRO_EDITOR_PARAMS__,Q=!!window.__SYNTRO_AUDIT_LEGEND__,re=!!window.__SYNTRO_REVIEW_DATA__;if(H||Q||re){let fe=[H&&"__SYNTRO_EDITOR_PARAMS__",Q&&"__SYNTRO_AUDIT_LEGEND__",re&&"__SYNTRO_REVIEW_DATA__"].filter(Boolean);console.warn(`[Syntro Bootstrap] \u26A0 Mode detection returned null but mode-specific globals found: ${fe.join(", ")}. This suggests URL params were lost (redirect?) but the service worker injected mode data. Check if replaceState failed or if page JS changed the URL before init().`)}}console.log(`[DIAG] Token resolution: options.token=${r.token?r.token.slice(0,15)+"...":"null"}`);let t=r.token;if(!t&&e){let Q=Tl()?.syntro_token;Q?.startsWith("syn_")&&(t=Q,G("Syntro Bootstrap",`\u2713 Using syntro_token from editor_conf (${e} mode)`))}let n;if(t)if(t.startsWith("syn_"))G("Syntro Bootstrap","Token starts with syn_, decoding..."),n=mo(t),sd(n.d);else if(e)G("Syntro Bootstrap",`\u2713 Non-syn_ token allowed (${e} mode)`);else throw ul("Syntro Bootstrap","\u274C Token does not start with syn_ and NOT in editor/audit/review mode!"),ul("Syntro Bootstrap","Token received:",t),new Error("Invalid Syntro token: must start with 'syn_'");else if(e)G("Syntro Bootstrap",`\u2713 No token, but ${e} mode - proceeding`);else throw ul("Syntro Bootstrap","\u274C No token provided and NOT in editor/audit/review mode!"),new Error("Syntro token is required (unless in editor, audit, or review mode)");let i=Mt("NEXT_PUBLIC_SYNTRO_EXPERIMENT_HOST")||Mt("VITE_SYNTRO_EXPERIMENT_HOST")||n?.eh,s=Mt("NEXT_PUBLIC_SYNTRO_TELEMETRY_HOST")||Mt("VITE_SYNTRO_TELEMETRY_HOST")||n?.th;if(n!=null&&n.obd!==!0&&s)try{let H=`${s.replace(/\/$/,"")}/sdk-otel/v1/logs`,Q=od({resource:{serviceName:"syntro-runtime-sdk",serviceVersion:to,posthogKey:n.t??"",hostOrigin:typeof window<"u"?window.location.origin:""},emit:ld({endpoint:H})}),re=ud()??"https://cdn.syntrologie.com/runtime-sdk/",fe=kd(Q,{attributedScriptUrlPrefix:re});Q.attachAdapterCleanup(fe)}catch{}let o=Mt("NEXT_PUBLIC_SYNTRO_EDITOR_URL")||Mt("VITE_SYNTRO_EDITOR_URL")||r.canvas?.editorUrl,a=n?.g||Mt("NEXT_PUBLIC_SYNTRO_GEO_HOST")||Mt("VITE_SYNTRO_GEO_HOST")||wb,l=mb(),c=pp(),u=r.appSignalsInit??{},p=_b(),h=hp(c,p);xb(h);let f={...c,...h,...l,...u};G("Syntro Bootstrap","Phase 1: Browser metadata:",c),G("Syntro Bootstrap","Phase 1: Initial attrs:",h),G("Syntro Bootstrap","Phase 1: Cached segment attributes:",l),Object.keys(u).length>0&&G("Syntro Bootstrap","Phase 1: App signals:",u);let v=fp(a),m=(()=>{try{if(typeof window>"u"||window.self===window.top)return Promise.resolve(null)}catch{}return new Promise(H=>{let Q=setTimeout(()=>{window.removeEventListener("message",re),H(null)},500);function re(fe){let Ce=fe.data;Ce?.jsonrpc==="2.0"&&Ce?.id===1&&Ce?.result?.hostInfo&&(clearTimeout(Q),window.removeEventListener("message",re),H(Ce.result.hostInfo))}window.addEventListener("message",re);try{window.parent.postMessage({jsonrpc:"2.0",id:1,method:"ui/initialize",params:{capabilities:{}}},"*")}catch{clearTimeout(Q),window.removeEventListener("message",re),H(null)}})})(),g,b=r.debug||r.testMode,x=vo({debug:r.debug,history:b?new yo(r.testMode?0:100):void 0,testMode:r.testMode});console.log("[Syntro Bootstrap] EventBus created");let w=td({elementResolver:typeof window<"u"?(H,Q)=>{let re=document.elementFromPoint(H,Q);if(!re)return null;let fe={tag_name:re.tagName.toLowerCase()};re.id&&(fe.attr__id=re.id),re.className&&typeof re.className=="string"&&(fe.classes=re.className.split(" ").filter(Boolean));for(let Ce of re.attributes)Ce.name.startsWith("data-")&&(fe[`attr__${Ce.name}`]=Ce.value);return fe}:void 0});w.onEvent(H=>x.publishEvent(H)),typeof window<"u"&&(setInterval(()=>w.tick(Date.now()),1e3),document.addEventListener("click",H=>{let Q=[],re=H.target;for(;re&&re!==document.body;){let fe={tag_name:re.tagName.toLowerCase()};for(let Ce of re.attributes)(Ce.name.startsWith("data-")||Ce.name==="id"||Ce.name==="class"||Ce.name==="aria-label")&&(fe[`attr__${Ce.name}`]=Ce.value);Q.push(fe),re=re.parentElement}w.enrichClickAttributes(Date.now(),Q)},!0));let y=S_(),S,T=H=>{G("Syntro Bootstrap","Phase 2: PostHog feature flags loaded");let Q=yb(H);if(G("Syntro Bootstrap","Segment flags from PostHog:",Q),vb(Q),g){let re=C?.getAll?.()??{},fe={...c,...h,...re,...Q,...u};G("Syntro Bootstrap","Updating GrowthBook with attributes:",fe),g.setAttributes?.(fe)}if(S&&_?.getDistinctId){let re=_.getDistinctId();re&&s&&n?.t&&S.updateContext({distinctId:re,telemetryHost:s,telemetryKey:n.t})}},_;if(n?.t){let H=n.t==="noop"?"noop":"posthog";_=Wx(H,{apiKey:n.t,apiHost:s,enableFeatureFlags:!0,sessionRecording:!0,cookieless_mode:"on_reject",onFeatureFlagsLoaded:T,onCapture:(Se,Ie)=>{w.ingest({kind:"posthog",event:Se,properties:Ie,timestamp:Date.now()})},onRRWebEvent:Se=>{w.ingest(Se)}}),console.log(`[Syntro Bootstrap] Telemetry client created (${H}) with EventBus wiring`),Object.keys(u).length>0&&(_.track?.("app_signals_init",u),G("Syntro Bootstrap","Tracked app signals event:",u));let Q=_;x.setPosthogCapture((Se,Ie)=>{Q.track?.(Se,Ie)});let re=_,fe=async()=>{let Se=await v;return Se.is_eu==="true"||Se.country_code==="GB"||Se.country_code==="CH"?"denied":"granted"},Ce=new Oo({initialStatus:"pending",pendingResolver:fe,onConsentChange:Se=>{Se==="granted"?re.optInCapturing?.():Se==="denied"&&re.optOutCapturing?.()}});try{Rb(_,Ce,{geoPromise:v}),G("Syntro Bootstrap","SDK defaults installed (D-1..D-5) with consent gate")}catch(Se){dt("Syntro Bootstrap","installDefaults failed",Se)}try{new Po({adapters:[new Mo,new $o,new Io],fallbackStatus:fe,onAdapterSelected:Ie=>{re.track?.("syntro_consent_adapter_selected",{adapter:Ie??"none"}),G("Syntro Bootstrap",`Consent adapter selected: ${Ie??"none"}`)}}).start(Ce).catch(Ie=>{dt("Syntro Bootstrap","Consent detector failed to start",Ie)})}catch(Se){dt("Syntro Bootstrap","Consent detector setup failed",Se)}if(y?.name==="shopify"&&s)try{S=new rc({distinctId:_.getDistinctId?.()??"",telemetryHost:s,telemetryKey:n.t}),G("Syntro Bootstrap","ShopifyPixelBridge initialized for checkout attribution")}catch(Se){dt("Syntro Bootstrap","ShopifyPixelBridge init failed",Se)}}let C;n?.e&&(g=v_("growthbook",{clientKey:n.e,apiHost:i,attributes:f,onExperimentViewed:_?.trackExperiment?(H,Q,re)=>{_.trackExperiment(H,Q,re)}:void 0})),C=qp({experiments:g,onMetricChange:(H,Q)=>{G("Syntro Bootstrap",`Session metric changed: ${H} = ${Q}`)}}),G("Syntro Bootstrap","SessionMetricTracker created");let R="production";e==="editor"?R="editor":e==="audit"?R="audit":Mt("NODE_ENV")==="development"&&(R="development");let N=typeof c.surface_type=="string"?c.surface_type:"web",M=typeof c.surface_host=="string"?c.surface_host:"web",F=hh({telemetry:_,sessionMetrics:C,mode:R,events:x,initialSurfaceType:N,initialSurfaceHost:M});G("Syntro Bootstrap","Runtime created:",{version:F.version,mode:F.mode,hasContext:!!F.context,hasEvents:!!F.events,hasState:!!F.state}),G("Syntro Bootstrap","Core app executors already registered");let V=r.cdnBase||Mt("NEXT_PUBLIC_SYNTRO_CDN_BASE")||Mt("VITE_SYNTRO_CDN_BASE")||Sb()||"https://cdn.syntrologie.com",P=mu({cdnBase:V,registry:F.apps,onLoadStart:H=>{G("Syntro Bootstrap",`Loading app from CDN: ${H}`)},onLoadEnd:(H,Q,re)=>{Q?G("Syntro Bootstrap",`App loaded successfully: ${H}`):dt("Syntro Bootstrap",`Failed to load app: ${H}`,re)}});typeof window<"u"&&(window.SynOS={...window.SynOS,appRegistry:F.apps,appLoader:P,runtime:F,version:F.version},G("Syntro Bootstrap","Global SynOS object exposed")),typeof window<"u"&&window.parent!==window&&P.loadApp("adaptive-mcp").catch(H=>{G("Syntro Bootstrap","auto-load of adaptive-mcp failed (non-fatal):",H)});let K=F.apps.list?.()??[];console.log(`[DIAG] Activation loop: ${K.length} apps in registry:`,K.map(H=>`${H.manifest.id}(${H.state})`).join(", "));for(let H of K)if(H.state==="registered")try{await F.apps.activate(H.manifest.id),console.log(`[DIAG] Activated: ${H.manifest.id} \u2192 widgets: [${F.widgets.list().join(", ")}]`)}catch(Q){console.error(`[DIAG] FAILED to activate: ${H.manifest.id}`,Q),dt("Syntro Bootstrap",`Failed to auto-activate built-in app: ${H.manifest.id}`,Q)}if(console.log(`[DIAG] Activation complete. Total widgets: [${F.widgets.list().join(", ")}]`),g?.refreshFeatures)try{await g.refreshFeatures(),G("Syntro Bootstrap","GrowthBook features loaded")}catch(H){dt("Syntro Bootstrap","Failed to load GrowthBook features:",H)}let Y=await v;if(g&&Object.keys(Y).length>0){let H={...c,...h,...Y,...u};G("Syntro Bootstrap","Merging geo data into GrowthBook attributes:",Y),g.setAttributes?.(H)}let le=await m;le&&g&&(c.surface_type="mcp-app",c.surface_host=le.name,g.setAttributes?.({...c,...h,...Y}),F.context.setSurfaceType("mcp-app"),F.context.setSurfaceHost(le.name),G("Syntro Bootstrap","MCP App detected:",le.name));let D;if(r.fetcher)D=r.fetcher;else if(n?.f){let H=x_(n.f,n.o??{});D=async()=>{let Q=await H.fetch();return{...Q.config,tiles:Q.config.tiles??[]}}}else g&&(D=Ai({experiments:g}));let te=new Set,Ze=D?async()=>{let H=await D(),Q=H.tiles?.length??0,re=H.actions?.length??0,fe=H.meta?.variant_id;if((Q>0||re>0)&&(fe||console.warn("[Syntro] Config has content but no meta.variant_id \u2014 intervention tracking disabled")),_&&fe){let Ie=typeof window<"u"?window.SynOS??(window.SynOS={}):void 0,Ne=Ie?.interventionTracker,Zt;Ne&&Ne.variantId===fe?Zt=Ne:(Zt=new Lo(_,fe),Ie&&(Ie.interventionTracker=Zt),F.navigation.subscribe(()=>{Zt.resetPage()})),Zt.trackServed(Q,re)}console.log("[Syntro Bootstrap] Config fetched:",`tiles=${H.tiles?.length??0},`,`actions=${H.actions?.length??0},`,`theme=${H.theme?.name??"none"}`),H.actions?.length>0&&console.log("[Syntro Bootstrap] Actions in config:",H.actions.map((Ie,Ne)=>`[${Ne}] ${Ie.kind}${Ie.anchorId?` anchor="${Ie.anchorId.selector}"`:""}${Ie.label?` "${Ie.label}"`:""}`).join(", "));let Ce=H,Se=P.getRequiredApps(Ce);return Se.length>0?console.log("[Syntro Bootstrap] Required external apps:",Se.join(", ")):G("Syntro Bootstrap","No external apps required (all executors are built-in)"),Se.length>0&&await P.loadAppsForConfig(Ce).then(async Ne=>{let Zt=Ne.filter(Fe=>Fe.success),pa=Ne.filter(Fe=>!Fe.success);Zt.length>0&&console.log(`[Syntro Bootstrap] Apps loaded from CDN: ${Zt.map(Fe=>Fe.appId).join(", ")}`);let hn=pa.filter(Fe=>!te.has(Fe.appId));hn.length>0&&(console.error("[Syntro Bootstrap] Apps FAILED to load from CDN:",hn.map(Fe=>`${Fe.appId} (${Fe.error})`).join(", ")),hn.forEach(Fe=>te.add(Fe.appId)));for(let Fe of Se)if(F.apps.has(Fe))try{await F.apps.activate(Fe),console.log(`[Syntro Bootstrap] App activated: ${Fe}`)}catch(ha){console.error(`[Syntro Bootstrap] Failed to activate app: ${Fe}`,ha)}else console.error(`[Syntro Bootstrap] App "${Fe}" required by config but NOT registered.`,`Available apps: [${Array.from(F.apps.list?.()??[]).join(", ")}]`)}),H}:void 0;if(y){G("Syntro Bootstrap",`Detected platform: ${y.name}`);try{await y.onInit(),G("Syntro Bootstrap",`Platform adapter initialized: ${y.name}`)}catch(H){dt("Syntro Bootstrap",`Platform adapter init failed: ${y.name}`,H)}}let ot=await ap({...r.canvas,fetcher:Ze,integrations:{experiments:g,telemetry:_},editorUrl:o,runtime:F});if(ot.setOverrideFetcher){let H=ot.setOverrideFetcher.bind(ot);ot.setOverrideFetcher=Q=>{H(async()=>{let fe=await Q(),Ce=fe;if(P.getRequiredApps(Ce).length>0){let Ie=await P.loadAppsForConfig(Ce);for(let Ne of Ie)if(Ne.success&&F.apps.has(Ne.appId))try{await F.apps.activate(Ne.appId)}catch{}}return fe})}}let Le=nr();if(Le!==null)try{let H=_,Q=F;Le.bindRuntime({getSessionId:()=>{try{return H?.getSessionId?.()??""}catch{return""}},getSurface:()=>{try{let re=Q.context.get().surface;return re?{...re}:null}catch{return null}}})}catch{}return Le?.increment("bootstrap_ok"),{canvas:ot,runtime:F,experiments:g,telemetry:_,sessionMetrics:C,appLoader:P}}async function KT(r){try{return await zx(r)}catch(e){let t=e instanceof Error?e.message:String(e);console.warn("[Syntrologie] SDK initialization failed:",t),nr()?.increment("bootstrap_errors"),typeof document<"u"&&document.getElementById("syntrologie-anti-flicker")?.remove();return}}function YT(r,e={}){if(typeof window>"u")return;let t=window.SynOS?.runtime;t?.events?.publish&&t.events.publish({name:r,source:"custom",props:e})}async function XT(r){if(typeof window>"u")return{appId:r,success:!1,error:"no-window"};let e=window.SynOS?.appLoader;return e?e.loadApp(r):{appId:r,success:!1,error:"syntro-not-initialized"}}var qx={init:KT,loadAdaptive:XT,encodeToken:cp,decodeToken:mo,events:{emit:YT}};typeof window<"u"&&(window.Syntro=qx);function da(r){let e=r.split(".");return{major:parseInt(e[0]||"0",10),minor:parseInt(e[1]||"0",10)}}function hD(r){let e=[],t=[];if(!r||typeof r!="object")return{valid:!1,errors:["Config must be an object"],warnings:e};let n=r;if(n.tiles||t.push("Config missing required field: tiles"),n.actions||t.push("Config missing required field: actions"),n.fetchedAt||t.push("Config missing required field: fetchedAt"),t.length>0)return{valid:!1,errors:t,warnings:e};let i=n.schemaVersion||"1.0",s=da(i),o=da(Kr);return s.major>o.major&&e.push(`Config schema v${i} is newer than SDK v${Kr}. Some features may not work. Update SDK to latest version.`),s.major<o.major||!n.schemaVersion?(e.push(`Config schema v${i} is older than SDK v${Kr}. Migrating config to current version.`),{valid:!0,warnings:e,errors:t,migratedConfig:JT(n,i)}):{valid:!0,warnings:e,errors:t}}function JT(r,e){let t={...r};return da(e).major===1&&(t=QT(t)),t.schemaVersion=Kr,t}function QT(r){let e={schemaVersion:"2.0",tiles:[],actions:r.actions||[],fetchedAt:r.fetchedAt||new Date().toISOString()};return r.tiles&&Array.isArray(r.tiles)&&(e.tiles=r.tiles.map(t=>{let n={...t};return t.experiment&&delete n.experiment,n})),r.configVersion&&(e.configVersion=r.configVersion),r.canvasTitle&&(e.canvasTitle=r.canvasTitle),r.theme&&(e.theme=r.theme),r.launcher&&(e.launcher=r.launcher),e}function fD(r){if(!r||typeof r!="object")return!1;let e=r,t=e.schemaVersion||"1.0",n=da(t),i=da(Kr);return n.major<i.major||!e.schemaVersion}var eR=d.object({url:d.string(),routeId:d.string().optional(),title:d.string().optional(),locale:d.string().optional()}),tR=d.object({url:d.string(),ts:d.number()}),rR=d.object({sessionId:d.string(),startTs:d.number(),pageHistory:d.array(tR).optional()}),nR=d.object({width:d.number(),height:d.number()}),iR=d.object({x:d.number(),y:d.number(),w:d.number(),h:d.number()}),sR=d.object({anchorId:d.string(),present:d.boolean(),visible:d.boolean().optional(),boundingBox:iR.optional()}),oR=d.record(d.string(),d.union([d.number(),d.string(),d.boolean(),d.undefined()])),aR=d.object({page:eR,session:rR,viewport:nR,anchors:d.array(sR).optional(),augmented:oR.optional()});function vD(r){return aR.safeParse(r)}var og=class{constructor(e,t,n,i){this._isFallback=!0;this._isLoading=!0;this._cancelled=!1;this._host=e,this._runtime=t,this._strategy=n,this._defaultValue=i,this._value=i,e.addController(this)}get value(){return this._value}get isFallback(){return this._isFallback}get isLoading(){return this._isLoading}hostConnected(){this._evaluate()}hostDisconnected(){this._cancelled=!0}setStrategy(e){this._strategy=e,this._evaluate()}_evaluate(){if(this._cancelled=!1,!this._runtime||!this._strategy){this._value=this._defaultValue,this._isFallback=!0,this._isLoading=!1,this._host.requestUpdate();return}this._isLoading=!0,this._host.requestUpdate();let e=this._strategy;this._runtime.evaluate(e).then(t=>{this._cancelled||(this._value=t.value,this._isFallback=t.isFallback,this._isLoading=!1,this._host.requestUpdate())})}};var ag=class{constructor(e,t){this._unsubscribe=null;this.host=e,this._runtime=t,this._context=t.context.get(),e.addController(this)}hostConnected(){this._context=this._runtime.context.get(),this._unsubscribe=this._runtime.context.subscribe(e=>{this._context=e,this.host.requestUpdate()})}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=null}get runtime(){return this._runtime}get context(){return this._context}get page(){return this._context?.page??null}get session(){return this._context?.session??null}get viewport(){return this._context?.viewport??null}};var lg=class{constructor(e,t,n,i){this._host=e,this._runtime=t,this._filter=n,this._callback=i,e.addController(this)}hostConnected(){this._subscribe()}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}setFilter(e){this._filter=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}setCallback(e){this._callback=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}_subscribe(){this._runtime&&(this._unsubscribe=this._filter?this._runtime.events.subscribe(this._filter,this._callback):this._runtime.events.subscribe(this._callback))}};var Zx=d.enum(["posthog","canvas","derived"]),lR=d.object({ts:d.number(),name:d.string(),source:Zx,props:d.record(d.string(),d.unknown()).optional(),schemaVersion:d.string()}),cR=d.object({names:d.array(d.string()).optional(),patterns:d.array(d.string()).optional(),sources:d.array(Zx).optional()});function VD(r){return lR.safeParse(r)}function UD(r){return cR.safeParse(r)}var Gx=d.union([d.object({type:d.literal("data"),key:d.string(),value:d.string().optional()}),d.object({type:d.literal("css"),value:d.string()}),d.object({type:d.literal("aria"),role:d.string().optional(),label:d.string().optional()}),d.object({type:d.literal("shadow-css"),value:d.string()}),d.object({type:d.literal("ref"),el:d.any()})]),uR=d.object({kind:d.literal("tooltip"),id:d.string(),anchor:Gx,content:d.object({title:d.string().optional(),body:d.string()}),placement:d.enum(["top","bottom","left","right","auto"]).optional(),offsetPx:d.number().optional(),blocking:d.boolean().optional(),trigger:d.enum(["immediate","hover","click"]).optional(),dismiss:d.object({onEsc:d.boolean().optional(),closeButton:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),dR=d.object({kind:d.literal("highlight"),id:d.string(),anchor:Gx,copy:d.string().optional(),ring:d.object({paddingPx:d.number().optional(),radiusPx:d.number().optional()}).optional(),scrim:d.object({opacity:d.number().optional()}).optional(),ringColor:d.string().optional(),blocking:d.boolean().optional(),dismiss:d.object({onClickOutside:d.boolean().optional(),onEsc:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),cg=d.object({id:d.string(),version:d.number(),routes:d.array(d.string()).optional(),steps:d.array(d.union([uR,dR]))});function n3(r){return cg.parse(r)}var a3=({configUri:r,experiments:e,featureKey:t="smart-canvas-overlay-uri",credentials:n="include"}={})=>async()=>{let i=Ed({configUri:r,experiments:e,featureKey:t});if(!i)throw new Error("SmartCanvas overlays: recipe URI missing (env + feature unset).");let s=await fetch(i,{credentials:n});if(!s.ok)throw new Error(`SmartCanvas overlays: failed to fetch recipe (${s.status})`);let o=await s.json();return cg.parse(o)};var pR=d.object({value:d.unknown(),expiresAt:d.number().optional()}),hR=d.object({count:d.number(),resetAt:d.number().optional()});function u3(r){return pR.safeParse(r)}function d3(r){return hR.safeParse(r)}var Kx="2026-05-09T01:25:18.783Z (018ffbdaba3)";if(typeof window<"u"){console.log(`[Syntro Runtime] Build: ${Kx} (Lit)`);let r=window.SynOS,e=r?.appRegistry||ws;window.SynOS={...r,appRegistry:e,_runtimeBuild:Kx,_renderer:"lit"},bl(),Av(e)}export{Ro as ANIMATION_KEYFRAMES,Cl as ActivationConfigZ,jy as AddClassZ,$t as AnchorIdZ,sR as AnchorStateZ,ju as AnchorVisibleConditionZ,xs as AppRegistry,oR as AugmentationZ,My as BadgePositionZ,Ky as BadgeZ,iR as BoundingBoxZ,Xs as CanvasEvents,cg as CanvasRecipeZ,Gr as ConditionZ,nc as ContextManager,Ku as CooldownActiveConditionZ,Bs as CounterDefZ,np as CtaButtonZ,rd as DEFAULT_COOLDOWN,og as DecisionController,qs as DecisionStrategyZ,Gu as DismissedConditionZ,De as EVENT_SCHEMA_VERSION,Ol as EventBus,Xu as EventCountConditionZ,cR as EventFilterZ,yo as EventHistory,Wu as EventOccurredConditionZ,Zx as EventSourceZ,wl as ExecutorRegistry,zs as ExternalStrategyZ,hR as FrequencyEntryZ,Yu as FrequencyLimitConditionZ,dR as HighlightStepZ,$y as HighlightStyleZ,Zy as HighlightZ,qy as InsertHtmlZ,Ny as InsertPositionZ,Lo as InterventionTracker,ol as MAX_VISIBLE_TOASTS,Hs as MatchOpZ,Ly as ModalContentZ,Xy as ModalZ,Ws as ModelStrategyZ,eb as MountWidgetZ,Qy as NavigateZ,Eo as NavigationMonitor,lR as NormalizedEventZ,Ys as NotificationsController,eR as PageContextZ,tR as PageHistoryEntryZ,Vu as PageUrlConditionZ,nb as ParallelZ,Py as PlacementZ,Gy as PulseZ,Kx as RUNTIME_SDK_BUILD,D_ as RUNTIME_VERSION,Wy as RemoveClassZ,Uu as RouteConditionZ,Ry as RouteFilterZ,Us as RuleStrategyZ,Vs as RuleZ,aR as RuntimeContextZ,ag as RuntimeController,lg as RuntimeEventsController,Kr as SDK_SCHEMA_VERSION,to as SDK_VERSION,O_ as STATIC_SLOT_STYLES,js as ScoreStrategyZ,By as ScrollBehaviorZ,rp as ScrollLogicalPositionZ,Jy as ScrollToZ,Gx as SelectorZ,rb as SequenceZ,rR as SessionContextZ,Zu as SessionMetricConditionZ,Jl as SessionMetricTracker,Uy as SetAttrZ,zy as SetStyleZ,Vy as SetTextZ,Cd as SmartCanvasController,Ri as SmartCanvasElementLit,Je as StandardEvents,zu as StateEqualsConditionZ,oc as StateStore,pR as StoredValueZ,qx as Syntro,so as ThemeController,Oy as TooltipContentZ,uR as TooltipStepZ,Fy as TooltipTriggerZ,Yy as TooltipZ,Hy as TourStepForSchemaZ,ib as TourZ,Ya as TriggerWhenZ,qu as ViewportConditionZ,nR as ViewportContextZ,tb as WaitZ,Dy as WidgetConfigZ,lc as WidgetRegistry,nh as applyStaticSlotStyles,OC as coreActionStepSchemas,ep as createActionEngine,ip as createAnchorResolver,Ai as createCanvasConfigFetcher,Yp as createContextManager,Xp as createDecisionEngine,Jp as createEventAccumulator,vo as createEventBus,jp as createGrowthBookClient,mh as createNoopClient,a3 as createOverlayRecipeFetcher,sg as createPostHogClient,Dv as createPostHogNormalizer,qp as createSessionMetricTracker,ap as createSmartCanvas,cy as createSmartCanvasController,hh as createSmartCanvasRuntime,rh as createStateStore,lh as createSurfaceContainer,uh as createSurfaces,O5 as decisionSchemas,mo as decodeToken,cp as encodeToken,R_ as evaluate,C_ as evaluateCondition,A_ as evaluateRule,ic as evaluateRuleStrategy,sc as evaluateScoreStrategy,I_ as evaluateSync,Ar as executorRegistry,LC as getAntiFlickerSnippet,_C as getExecutor,ac as getSlotAnchorId,To as getSlotType,ch as getSlotZIndex,Dd as hasExecutor,fD as needsMigration,Gs as normalizePostHogEvent,da as parseVersion,oh as playEnterAnimation,ah as playExitAnimation,Ti as registerConfigPredicates,bl as registerSmartCanvasElement,Ed as resolveConfigUri,gC as runtimeContext,ih as setupAdjacentPositioning,sh as setupInlinePositioning,Ks as shouldNormalizeEvent,lr as validateAction,El as validateActions,P5 as validateActivationConfig,$5 as validateCondition,hD as validateConfig,UD as validateEventFilter,Sp as validateEventName,d3 as validateFrequencyEntry,VD as validateNormalizedEvent,kp as validateProps,n3 as validateRecipe,vD as validateRuntimeContext,u3 as validateStoredValue,M5 as validateStrategy,dh as widgetRegistry};
|
|
1065
|
+
`)).length,i=0;i<n;i++){var o=r.charCodeAt(i),a=null;o<128?t++:a=o>127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),qt(a)||(t>e&&(s+=r.substring(e,t)),s+=a,e=t=i+1)}return t>e&&(s+=r.substring(e,r.length)),s},NT=!!Lh||!!Oh,S0="text/plain",Mc=function(r,e,t){var n;t===void 0&&(t=!0);var[i,s]=r.split("?"),o=z({},e),a=(n=s?.split("&").map((c=>{var u,[p,h]=c.split("="),f=t&&(u=o[p])!==null&&u!==void 0?u:h;return delete o[p],p+"="+f})))!==null&&n!==void 0?n:[],l=cT(o);return l&&a.push(l),i+"?"+a.join("&")},Yo=(r,e)=>JSON.stringify(r,((t,n)=>typeof n=="bigint"?n.toString():n),e),Ah=r=>{var{data:e,compression:t}=r;if(e){if(t===Lr.GZipJS){var n=OT((function(l,c){var u=l.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(l);for(var p=new Ot(l.length+(l.length>>>1)),h=0,f=function(b){p[h++]=b},v=0;v<u;++v){if(h+5>p.length){var m=new Ot(h+8+(u-v<<1));m.set(p),p=m}var g=l.charCodeAt(v);g<128||c?f(g):g<2048?(f(192|g>>>6),f(128|63&g)):g>55295&&g<57344?(f(240|(g=65536+(1047552&g)|1023&l.charCodeAt(++v))>>>18),f(128|g>>>12&63),f(128|g>>>6&63),f(128|63&g)):(f(224|g>>>12),f(128|g>>>6&63),f(128|63&g))}return Nx(p,0,h)})(Yo(e)),{mtime:0}),i=new Blob([n],{type:S0});return{contentType:S0,body:i,estimatedSize:i.size}}if(t===Lr.Base64){var s=(function(l){var c,u,p,h,f,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=0,g=0,b="",x=[];if(!l)return l;l=LT(l);do c=(f=l.charCodeAt(m++)<<16|l.charCodeAt(m++)<<8|l.charCodeAt(m++))>>18&63,u=f>>12&63,p=f>>6&63,h=63&f,x[g++]=v.charAt(c)+v.charAt(u)+v.charAt(p)+v.charAt(h);while(m<l.length);switch(b=x.join(""),l.length%3){case 1:b=b.slice(0,-2)+"==";break;case 2:b=b.slice(0,-1)+"="}return b})(Yo(e)),o=(l=>"data="+encodeURIComponent(typeof l=="string"?l:Yo(l)))(s);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}var a=Yo(e);return{contentType:"application/json",body:a,estimatedSize:new Blob([a]).size}}},gc=[];Oh&&gc.push({transport:"fetch",method:r=>{var e,t,{contentType:n,body:i,estimatedSize:s}=(e=Ah(r))!==null&&e!==void 0?e:{},o=new Headers;Ae(r.headers,(function(u,p){o.append(p,u)})),n&&o.append("Content-Type",n);var a=r.url,l=null;if(j_){var c=new j_;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),r.timeout)}}Oh(a,z({method:r?.method||"GET",headers:o,keepalive:r.method==="POST"&&(s||0)<52428.8,body:i,signal:(t=l)==null?void 0:t.signal},r.fetchOptions)).then((u=>u.text().then((p=>{var h={statusCode:u.status,text:p};if(u.status===200)try{h.json=JSON.parse(p)}catch(f){W.error(f)}r.callback==null||r.callback(h)})))).catch((u=>{W.error(u),r.callback==null||r.callback({statusCode:0,text:u})})).finally((()=>l?clearTimeout(l.timeout):null))}}),Lh&&gc.push({transport:"XHR",method:r=>{var e,t=new Lh;t.open(r.method||"GET",r.url,!0);var{contentType:n,body:i}=(e=Ah(r))!==null&&e!==void 0?e:{};Ae(r.headers,(function(s,o){t.setRequestHeader(o,s)})),n&&t.setRequestHeader("Content-Type",n),r.timeout&&(t.timeout=r.timeout),r.disableXHRCredentials||(t.withCredentials=!0),t.onreadystatechange=()=>{if(t.readyState===4){var s={statusCode:t.status,text:t.responseText};if(t.status===200)try{s.json=JSON.parse(t.responseText)}catch{}r.callback==null||r.callback(s)}},t.send(i)}}),kt!=null&&kt.sendBeacon&&gc.push({transport:"sendBeacon",method:r=>{var e=Mc(r.url,{beacon:"1"});try{var t,{contentType:n,body:i}=(t=Ah(r))!==null&&t!==void 0?t:{},s=typeof i=="string"?new Blob([i],{type:n}):i;kt.sendBeacon(e,s)}catch{}}});var Pc=function(r,e){if(!(function(t){try{new RegExp(t)}catch{return!1}return!0})(e))return!1;try{return new RegExp(e).test(r)}catch{return!1}};function k0(r,e,t){return Yo({distinct_id:r,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var Fx={exact:(r,e)=>e.some((t=>r.some((n=>t===n)))),is_not:(r,e)=>e.every((t=>r.every((n=>t!==n)))),regex:(r,e)=>e.some((t=>r.some((n=>Pc(t,n))))),not_regex:(r,e)=>e.every((t=>r.every((n=>!Pc(t,n))))),icontains:(r,e)=>e.map(hc).some((t=>r.map(hc).some((n=>t.includes(n))))),not_icontains:(r,e)=>e.map(hc).every((t=>r.map(hc).every((n=>!t.includes(n))))),gt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n>parseFloat(i)))})),lt:(r,e)=>e.some((t=>{var n=parseFloat(t);return!isNaN(n)&&r.some((i=>n<parseFloat(i)))}))},hc=r=>r.toLowerCase();function Dx(r,e){return!r||Object.entries(r).every((t=>{var[n,i]=t,s=e?.[n];if(j(s)||qt(s))return!1;var o=[String(s)],a=Fx[i.operator];return!!a&&a(i.values,o)}))}var Th=Oe("[Error tracking]"),Ef=class{constructor(e){var t,n;this.Zt=[],this.ti=new jh([new zh,new Jh,new Zh,new qh,new Yh,new Kh,new Gh,new Xh],z2()),this._instance=e,this.Zt=(t=(n=this._instance.persistence)==null?void 0:n.get_property(ef))!==null&&t!==void 0?t:[]}onRemoteConfig(e){var t,n,i,s=(t=(n=e.errorTracking)==null?void 0:n.suppressionRules)!==null&&t!==void 0?t:[],o=(i=e.errorTracking)==null?void 0:i.captureExtensionExceptions;this.Zt=s,this._instance.persistence&&this._instance.persistence.register({[ef]:this.Zt,[r0]:o})}get ii(){var e,t=!!this._instance.get_property(r0),n=this._instance.config.error_tracking.captureExtensionExceptions;return(e=n??t)!==null&&e!==void 0&&e}buildProperties(e,t){return this.ti.buildFromUnknown(e,{syntheticException:t?.syntheticException,mechanism:{handled:t?.handled}})}sendExceptionEvent(e){var t=e.$exception_list;if(this.ei(t)){if(this.ri(t))return void Th.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(t))return void Th.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(t))return void Th.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",e,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(e){if(e.length===0)return!1;var t=e.reduce(((n,i)=>{var{type:s,value:o}=i;return qe(s)&&s.length>0&&n.$exception_types.push(s),qe(o)&&o.length>0&&n.$exception_values.push(o),n}),{$exception_types:[],$exception_values:[]});return this.Zt.some((n=>{var i=n.values.map((s=>{var o,a=Fx[s.operator],l=be(s.value)?s.value:[s.value],c=(o=t[s.key])!==null&&o!==void 0?o:[];return l.length>0&&a(l,c)}));return n.type==="OR"?i.some(Boolean):i.every(Boolean)}))}si(e){return e.flatMap((t=>{var n,i;return(n=(i=t.stacktrace)==null?void 0:i.frames)!==null&&n!==void 0?n:[]})).some((t=>t.filename&&t.filename.startsWith("chrome-extension://")))}ni(e){if(e.length>0){var t,n,i,s,o=(t=(n=e[0].stacktrace)==null?void 0:n.frames)!==null&&t!==void 0?t:[],a=o[o.length-1];return(i=a==null||(s=a.filename)==null?void 0:s.includes("posthog.com/static"))!==null&&i!==void 0&&i}return!1}ei(e){return!ge(e)&&be(e)}},St=Oe("[FeatureFlags]"),Vo=Oe("[FeatureFlags]",{debugEnabled:!0}),Rh="$active_feature_flags",Bi="$override_feature_flags",E0="$feature_flag_payloads",Uo="$override_feature_flag_payloads",C0="$feature_flag_request_id",A0="$feature_flag_evaluated_at",T0=r=>{var e={};for(var[t,n]of fc(r||{}))n&&(e[t]=n);return e},FT=r=>{var e=r.flags;return e?(r.featureFlags=Object.fromEntries(Object.keys(e).map((t=>{var n;return[t,(n=e[t].variant)!==null&&n!==void 0?n:e[t].enabled]}))),r.featureFlagPayloads=Object.fromEntries(Object.keys(e).filter((t=>e[t].enabled)).filter((t=>{var n;return(n=e[t].metadata)==null?void 0:n.payload})).map((t=>{var n;return[t,(n=e[t].metadata)==null?void 0:n.payload]})))):St.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),r},DT=(function(r){return r.FeatureFlags="feature_flags",r.Recordings="recordings",r})({}),Cf=class{constructor(e){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.ci=!1,this._instance=e,this.featureFlagEventHandlers=[]}fi(){var e,t=(e=this._instance.config.evaluation_contexts)!==null&&e!==void 0?e:this._instance.config.evaluation_environments;return!this._instance.config.evaluation_environments||this._instance.config.evaluation_contexts||this.ci||(St.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.ci=!0),t!=null&&t.length?t.filter((n=>{var i=n&&typeof n=="string"&&n.trim().length>0;return i||St.error("Invalid evaluation context found:",n,"Expected non-empty string"),i})):[]}pi(){return this.fi().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var e=!this.gi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.mi({disableFlags:e})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var e=this._instance.get_property(tf),t=this._instance.get_property(Bi),n=this._instance.get_property(Uo);if(!n&&!t)return e||{};var i=He({},e||{}),s=[...new Set([...Object.keys(n||{}),...Object.keys(t||{})])];for(var o of s){var a,l,c=i[o],u=t?.[o],p=j(u)?(a=c?.enabled)!==null&&a!==void 0&&a:!!u,h=j(u)?c.variant:typeof u=="string"?u:void 0,f=n?.[o],v=z({},c,{enabled:p,variant:p?h??c?.variant:void 0});p!==c?.enabled&&(v.original_enabled=c?.enabled),h!==c?.variant&&(v.original_variant=c?.variant),f&&(v.metadata=z({},c?.metadata,{payload:f,original_payload:c==null||(l=c.metadata)==null?void 0:l.payload})),i[o]=v}return this.oi||(St.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:n,finalDetails:i}),this.oi=!0),i}getFlagVariants(){var e=this._instance.get_property(qi),t=this._instance.get_property(Bi);if(!t)return e||{};for(var n=He({},e),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(St.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:n}),this.oi=!0),n}getFlagPayloads(){var e=this._instance.get_property(E0),t=this._instance.get_property(Uo);if(!t)return e||{};for(var n=He({},e||{}),i=Object.keys(t),s=0;s<i.length;s++)n[i[s]]=t[i[s]];return this.oi||(St.warn(" Overriding feature flag payloads!",{flagPayloads:e,overriddenPayloads:t,finalPayloads:n}),this.oi=!0),n}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.gi||(this.gi=setTimeout((()=>{this.mi()}),5))}bi(){clearTimeout(this.gi),this.gi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.gi||this.reloadFeatureFlags()}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.ui=e}mi(e){var t;if(this.bi(),!this._instance.M())if(this.li)this.hi=!0;else{var n=this._instance.config.token,i=this._instance.get_property("$device_id"),s={token:n,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:z({},((t=this._instance.persistence)==null?void 0:t.get_initial_props())||{},this._instance.get_property(Ko)||{}),group_properties:this._instance.get_property(ni)};qt(i)||j(i)||(s.$device_id=i),(e!=null&&e.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(s.disable_flags=!0),this.pi()&&(s.evaluation_contexts=this.fi());var o=this._instance.config.__preview_remote_config,a=o?"/flags/?v=2":"/flags/?v=2&config=true",l=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",c=this._instance.requestRouter.endpointFor("flags",a+l);o&&(s.timezone=Mx()),this.li=!0,this._instance._send_request({method:"POST",url:c,data:s,compression:this._instance.config.disable_compression?void 0:Lr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:u=>{var p,h,f=!0;if(u.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),f=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((h=u.json)!==null&&h!==void 0?h:{})),!s.disable_flags||this.hi)if(this.vi=!f,u.json&&(p=u.json.quotaLimited)!=null&&p.includes(DT.FeatureFlags))St.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var v;s.disable_flags||this.receivedFeatureFlags((v=u.json)!==null&&v!==void 0?v:{},f),this.hi&&(this.hi=!1,this.mi())}}})}}getFeatureFlag(e,t){var n;if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var i=this.getFeatureFlagResult(e,t);return(n=i?.variant)!==null&&n!==void 0?n:i?.enabled}St.warn('getFeatureFlag for key "'+e+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(e){return this.getFlagsWithDetails()[e]}getFeatureFlagPayload(e){var t=this.getFeatureFlagResult(e,{send_event:!1});return t?.payload}getFeatureFlagResult(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFlagVariants(),i=e in n,s=n[e],o=this.getFlagPayloads()[e],a=String(s),l=this._instance.get_property(C0)||void 0,c=this._instance.get_property(A0)||void 0,u=this._instance.get_property(_c)||{};if((t.send_event||!("send_event"in t))&&(!(e in u)||!u[e].includes(a))){var p,h,f,v,m,g,b,x,w;be(u[e])?u[e].push(a):u[e]=[a],(p=this._instance.persistence)==null||p.register({[_c]:u});var y=this.getFeatureFlagDetails(e),S={$feature_flag:e,$feature_flag_response:s,$feature_flag_payload:o||null,$feature_flag_request_id:l,$feature_flag_evaluated_at:c,$feature_flag_bootstrapped_response:((h=this._instance.config.bootstrap)==null||(h=h.featureFlags)==null?void 0:h[e])||null,$feature_flag_bootstrapped_payload:((f=this._instance.config.bootstrap)==null||(f=f.featureFlagPayloads)==null?void 0:f[e])||null,$used_bootstrap_value:!this.vi};j(y==null||(v=y.metadata)==null?void 0:v.version)||(S.$feature_flag_version=y.metadata.version);var T,_=(m=y==null||(g=y.reason)==null?void 0:g.description)!==null&&m!==void 0?m:y==null||(b=y.reason)==null?void 0:b.code;_&&(S.$feature_flag_reason=_),y!=null&&(x=y.metadata)!=null&&x.id&&(S.$feature_flag_id=y.metadata.id),j(y?.original_variant)&&j(y?.original_enabled)||(S.$feature_flag_original_response=j(y.original_variant)?y.original_enabled:y.original_variant),y!=null&&(w=y.metadata)!=null&&w.original_payload&&(S.$feature_flag_original_payload=y==null||(T=y.metadata)==null?void 0:T.original_payload),this._instance.capture("$feature_flag_called",S)}if(i){var C=o;if(!j(o))try{C=JSON.parse(o)}catch{}return{key:e,enabled:!!s,variant:typeof s=="string"?s:void 0,payload:C}}}else St.warn('getFeatureFlagResult for key "'+e+`" failed. Feature flags didn't load in time.`)}getRemoteConfigPayload(e,t){var n=this._instance.config.token,i={distinct_id:this._instance.get_distinct_id(),token:n};this.pi()&&(i.evaluation_contexts=this.fi()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:i,compression:this._instance.config.disable_compression?void 0:Lr.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:s=>{var o,a=(o=s.json)==null?void 0:o.featureFlagPayloads;t(a?.[e]||void 0)}})}isFeatureEnabled(e,t){if(t===void 0&&(t={}),this.ai||this.getFlags()&&this.getFlags().length>0){var n=this.getFeatureFlag(e,t);return j(n)?void 0:!!n}St.warn('isFeatureEnabled for key "'+e+`" failed. Feature flags didn't load in time.`)}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(this._instance.persistence){this.ai=!0;var n=this.getFlagVariants(),i=this.getFlagPayloads(),s=this.getFlagsWithDetails();(function(o,a,l,c,u){l===void 0&&(l={}),c===void 0&&(c={}),u===void 0&&(u={});var p=FT(o),h=p.flags,f=p.featureFlags,v=p.featureFlagPayloads;if(f){var m=o.requestId,g=o.evaluatedAt;if(be(f)){St.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var b={};if(f)for(var x=0;x<f.length;x++)b[f[x]]=!0;a&&a.register({[Rh]:f,[qi]:b})}else{var w=f,y=v,S=h;if(o.errorsWhileComputingFlags)if(h){var T=new Set(Object.keys(h).filter((_=>{var C;return!((C=h[_])!=null&&C.failed)})));w=z({},l,Object.fromEntries(Object.entries(w).filter((_=>{var[C]=_;return T.has(C)})))),y=z({},c,Object.fromEntries(Object.entries(y||{}).filter((_=>{var[C]=_;return T.has(C)})))),S=z({},u,Object.fromEntries(Object.entries(S||{}).filter((_=>{var[C]=_;return T.has(C)}))))}else w=z({},l,w),y=z({},c,y),S=z({},u,S);a&&a.register(z({[Rh]:Object.keys(T0(w)),[qi]:w||{},[E0]:y||{},[tf]:S||{}},m?{[C0]:m}:{},g?{[A0]:g}:{}))}}})(e,this._instance.persistence,n,i,s),this.wi(t)}}override(e,t){t===void 0&&(t=!1),St.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this._instance.__loaded||!this._instance.persistence)return St.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(e===!1)return this._instance.persistence.unregister(Bi),this._instance.persistence.unregister(Uo),this.wi(),Vo.info("All overrides cleared");if(e&&typeof e=="object"&&("flags"in e||"payloads"in e)){var t,n=e;if(this.oi=!!((t=n.suppressWarning)!==null&&t!==void 0&&t),"flags"in n){if(n.flags===!1)this._instance.persistence.unregister(Bi),Vo.info("Flag overrides cleared");else if(n.flags){if(be(n.flags)){for(var i={},s=0;s<n.flags.length;s++)i[n.flags[s]]=!0;this._instance.persistence.register({[Bi]:i})}else this._instance.persistence.register({[Bi]:n.flags});Vo.info("Flag overrides set",{flags:n.flags})}}return"payloads"in n&&(n.payloads===!1?(this._instance.persistence.unregister(Uo),Vo.info("Payload overrides cleared")):n.payloads&&(this._instance.persistence.register({[Uo]:n.payloads}),Vo.info("Payload overrides set",{payloads:n.payloads}))),void this.wi()}this.wi()}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.ai){var{flags:t,flagVariants:n}=this.xi();e(t,n)}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t,n){var i,s=(this._instance.get_property(Go)||[]).find((c=>c.flagKey===e)),o={["$feature_enrollment/"+e]:t},a={$feature_flag:e,$feature_enrollment:t,$set:o};s&&(a.$early_access_feature_name=s.name),n&&(a.$feature_enrollment_stage=n),this._instance.capture("$feature_enrollment_update",a),this.setPersonPropertiesForFlags(o,!1);var l=z({},this.getFlagVariants(),{[e]:t});(i=this._instance.persistence)==null||i.register({[Rh]:Object.keys(T0(l)),[qi]:l}),this.wi()}getEarlyAccessFeatures(e,t,n){t===void 0&&(t=!1);var i=this._instance.get_property(Go),s=n?"&"+n.map((o=>"stage="+o)).join("&"):"";if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+s),method:"GET",callback:o=>{var a,l;if(o.json){var c=o.json.earlyAccessFeatures;return(a=this._instance.persistence)==null||a.unregister(Go),(l=this._instance.persistence)==null||l.register({[Go]:c}),e(c)}}})}xi(){var e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((n=>t[n])),flagVariants:Object.keys(t).filter((n=>t[n])).reduce(((n,i)=>(n[i]=t[i],n)),{})}}wi(e){var{flags:t,flagVariants:n}=this.xi();this.featureFlagEventHandlers.forEach((i=>i(t,n,{errorsLoading:e})))}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(Ko)||{};this._instance.register({[Ko]:z({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(Ko)}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0);var n=this._instance.get_property(ni)||{};Object.keys(n).length!==0&&Object.keys(n).forEach((i=>{n[i]=z({},n[i],e[i]),delete e[i]})),this._instance.register({[ni]:z({},n,e)}),t&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this._instance.get_property(ni)||{};this._instance.register({[ni]:z({},t,{[e]:{}})})}else this._instance.unregister(ni)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.bi(),this.oi=!1}},HT=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],ea=class{constructor(e,t){this.R=e,this.props={},this.Ei=!1,this.$i=(n=>{var i="";return n.token&&(i=n.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),n.persistence_name?"ph_"+n.persistence_name:"ph_"+i+"_posthog"})(e),this.Y=this.Si(e),this.load(),e.debug&&W.info("Persistence loaded",e.persistence,z({},this.props)),this.update_config(e,e,t),this.save()}isDisabled(){return!!this.ki}Si(e){HT.indexOf(e.persistence.toLowerCase())===-1&&(W.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");var t=(function(i){i===void 0&&(i=[]);var s=[...mT,...i];return z({},Me,{W:function(o){try{var a={};try{a=dr.W(o)||{}}catch{}var l=He(a,JSON.parse(Me.q(o)||"{}"));return Me.G(o,l),l}catch{}return null},G:function(o,a,l,c,u,p){try{Me.G(o,a,void 0,void 0,p);var h={};s.forEach((f=>{a[f]&&(h[f]=a[f])})),Object.keys(h).length&&dr.G(o,h,l,c,u,p)}catch(f){Me.B(f)}},V:function(o,a){try{E?.localStorage.removeItem(o),dr.V(o,a)}catch(l){Me.B(l)}}})})(e.cookie_persisted_properties||[]),n=e.persistence.toLowerCase();return n==="localstorage"&&Me.H()?Me:n==="localstorage+cookie"&&t.H()?t:n==="sessionstorage"&&et.H()?et:n==="memory"?vT:n==="cookie"?dr:t.H()?t:dr}properties(){var e={};return Ae(this.props,(function(t,n){if(n===qi&&ze(t))for(var i=Object.keys(t),s=0;s<i.length;s++)e["$feature/"+i[s]]=t[i[s]];else a=n,l=!1,(qt(o=Q2)?l:U_&&o.indexOf===U_?o.indexOf(a)!=-1:(Ae(o,(function(c){if(l||(l=c===a))return yc})),l))||(e[n]=t);var o,a,l})),e}load(){if(!this.ki){var e=this.Y.W(this.$i);e&&(this.props=He({},e))}}save(){this.ki||this.Y.G(this.$i,this.props,this.Pi,this.Ti,this.Ii,this.R.debug)}remove(){this.Y.V(this.$i,!1),this.Y.V(this.$i,!0)}clear(){this.remove(),this.props={}}register_once(e,t,n){if(ze(e)){j(t)&&(t="None"),this.Pi=j(n)?this.Ci:n;var i=!1;if(Ae(e,((s,o)=>{this.props.hasOwnProperty(o)&&this.props[o]!==t||(this.props[o]=s,i=!0)})),i)return this.save(),!0}return!1}register(e,t){if(ze(e)){this.Pi=j(t)?this.Ci:t;var n=!1;if(Ae(e,((i,s)=>{e.hasOwnProperty(s)&&this.props[s]!==i&&(this.props[s]=i,n=!0)})),n)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){if(!this.Ei){var e=Cx(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);zi(Jf(e))||this.register(e),this.Ei=!0}}update_search_keyword(){var e;this.register((e=U?.referrer)?Tx(e):{})}update_referrer_info(){var e;this.register_once({$referrer:Rx(),$referring_domain:U!=null&&U.referrer&&((e=Ec(U.referrer))==null?void 0:e.host)||"$direct"},void 0)}set_initial_person_info(){this.props[of]||this.props[af]||this.register_once({[xc]:Ix(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};Ae([af,of],(o=>{var a=this.props[o];a&&Ae(a,(function(l,c){e["$initial_"+Nh(c)]=l}))}));var t,n,i=this.props[xc];if(i){var s=(t=$x(i),n={},Ae(t,(function(o,a){n["$initial_"+Nh(a)]=o})),n);He(e,s)}return e}safe_merge(e){return Ae(this.props,(function(t,n){n in e||(e[n]=t)})),e}update_config(e,t,n){if(this.Ci=this.Pi=e.cookie_expiration,this.set_disabled(e.disable_persistence||!!n),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence||!((o,a)=>{if(o.length!==a.length)return!1;var l=[...o].sort(),c=[...a].sort();return l.every(((u,p)=>u===c[p]))})(e.cookie_persisted_properties||[],t.cookie_persisted_properties||[])){var i=this.Si(e),s=this.props;this.clear(),this.Y=i,this.props=s,this.save()}}set_disabled(e){this.ki=e,this.ki?this.remove():this.save()}set_cross_subdomain(e){e!==this.Ti&&(this.Ti=e,this.remove(),this.save())}set_secure(e){e!==this.Ii&&(this.Ii=e,this.remove(),this.save())}set_event_timer(e,t){var n=this.props[Zo]||{};n[e]=t,this.props[Zo]=n,this.save()}remove_event_timer(e){var t=(this.props[Zo]||{})[e];return j(t)||(delete this.props[Zo][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}},R0=Oe("[Product Tours]"),Ih="ph_product_tours",Af=class{constructor(e){this.Ri=null,this.Fi=null,this._instance=e}onRemoteConfig(e){this._instance.persistence&&this._instance.persistence.register({[i0]:!(e==null||!e.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var e,t;this.Ri||(e=this._instance).config.disable_product_tours||(t=e.persistence)==null||!t.get_property(i0)||this.it((()=>this.Oi()))}it(e){var t,n;(t=ee.__PosthogExtensions__)!=null&&t.generateProductTours?e():(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"product-tours",(i=>{i?R0.error("Could not load product tours script",i):e()}))}Oi(){var e;!this.Ri&&(e=ee.__PosthogExtensions__)!=null&&e.generateProductTours&&(this.Ri=ee.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(e,t){if(t===void 0&&(t=!1),!be(this.Fi)||t){var n=this._instance.persistence;if(n){var i=n.props[Ih];if(be(i)&&!t)return this.Fi=i,void e(i,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:s=>{var o=s.statusCode;if(o!==200||!s.json){var a="Product Tours API could not be loaded, status: "+o;return R0.error(a),void e([],{isLoaded:!1,error:a})}var l=be(s.json.product_tours)?s.json.product_tours:[];this.Fi=l,n&&n.register({[Ih]:l}),e(l,{isLoaded:!0})}})}else e(this.Fi,{isLoaded:!0})}getActiveProductTours(e){ge(this.Ri)?e([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ri.getActiveProductTours(e)}showProductTour(e){var t;(t=this.Ri)==null||t.showTourById(e)}previewTour(e){this.Ri?this.Ri.previewTour(e):this.it((()=>{var t;this.Oi(),(t=this.Ri)==null||t.previewTour(e)}))}dismissProductTour(){var e;(e=this.Ri)==null||e.dismissTour("user_clicked_skip")}nextStep(){var e;(e=this.Ri)==null||e.nextStep()}previousStep(){var e;(e=this.Ri)==null||e.previousStep()}clearCache(){var e;this.Fi=null,(e=this._instance.persistence)==null||e.unregister(Ih)}resetTour(e){var t;(t=this.Ri)==null||t.resetTour(e)}resetAllTours(){var e;(e=this.Ri)==null||e.resetAllTours()}cancelPendingTour(e){var t;(t=this.Ri)==null||t.cancelPendingTour(e)}},jo=(function(r){return r.Activation="events",r.Cancellation="cancelEvents",r})({}),EF=(function(r){return r.Button="button",r.Tab="tab",r.Selector="selector",r})({}),CF=(function(r){return r.TopLeft="top_left",r.TopRight="top_right",r.TopCenter="top_center",r.MiddleLeft="middle_left",r.MiddleRight="middle_right",r.MiddleCenter="middle_center",r.Left="left",r.Center="center",r.Right="right",r.NextToTrigger="next_to_trigger",r})({}),AF=(function(r){return r.Top="top",r.Left="left",r.Right="right",r.Bottom="bottom",r})({}),$h=(function(r){return r.Popover="popover",r.API="api",r.Widget="widget",r.ExternalSurvey="external_survey",r})({}),TF=(function(r){return r.Open="open",r.MultipleChoice="multiple_choice",r.SingleChoice="single_choice",r.Rating="rating",r.Link="link",r})({}),RF=(function(r){return r.NextQuestion="next_question",r.End="end",r.ResponseBased="response_based",r.SpecificQuestion="specific_question",r})({}),IF=(function(r){return r.Once="once",r.Recurring="recurring",r.Always="always",r})({}),Xo=(function(r){return r.SHOWN="survey shown",r.DISMISSED="survey dismissed",r.SENT="survey sent",r.ABANDONED="survey abandoned",r})({}),Mh=(function(r){return r.SURVEY_ID="$survey_id",r.SURVEY_NAME="$survey_name",r.SURVEY_RESPONSE="$survey_response",r.SURVEY_ITERATION="$survey_iteration",r.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",r.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",r.SURVEY_SUBMISSION_ID="$survey_submission_id",r.SURVEY_QUESTIONS="$survey_questions",r.SURVEY_COMPLETED="$survey_completed",r.PRODUCT_TOUR_ID="$product_tour_id",r.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",r})({}),Tf=(function(r){return r.Popover="popover",r.Inline="inline",r})({}),Ee=Oe("[Surveys]"),Hx="seenSurvey_",BT=(r,e)=>{var t="$survey_"+e+"/"+r.id;return r.current_iteration&&r.current_iteration>0&&(t="$survey_"+e+"/"+r.id+"/"+r.current_iteration),t},I0=r=>((e,t)=>{var n=""+e+t.id;return t.current_iteration&&t.current_iteration>0&&(n=""+e+t.id+"_"+t.current_iteration),n})(Hx,r),VT=[$h.Popover,$h.Widget,$h.API],UT={ignoreConditions:!1,ignoreDelay:!1,displayType:Tf.Popover},aa=class{constructor(){this.Mi={},this.Mi={}}on(e,t){return this.Mi[e]||(this.Mi[e]=[]),this.Mi[e].push(t),()=>{this.Mi[e]=this.Mi[e].filter((n=>n!==t))}}emit(e,t){for(var n of this.Mi[e]||[])n(t);for(var i of this.Mi["*"]||[])i(e,t)}};function Vi(r,e,t){if(ge(r))return!1;switch(t){case"exact":return r===e;case"contains":var n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(n,"i").test(r);case"regex":try{return new RegExp(e).test(r)}catch{return!1}default:return!1}}var Rf=class{constructor(e){this.Ai=new aa,this.ji=(t,n)=>this.Di(t,n)&&this.Li(t,n)&&this.Ni(t,n)&&this.Ui(t,n),this.Di=(t,n)=>n==null||!n.event||t?.event===n?.event,this._instance=e,this.zi=new Set,this.Hi=new Set}init(){var e;if(!j((e=this._instance)==null?void 0:e._addCaptureHook)){var t;(t=this._instance)==null||t._addCaptureHook(((n,i)=>{this.on(n,i)}))}}register(e){var t,n;if(!j((t=this._instance)==null?void 0:t._addCaptureHook)&&(e.forEach((o=>{var a,l;(a=this.Hi)==null||a.add(o),(l=o.steps)==null||l.forEach((c=>{var u;(u=this.zi)==null||u.add(c?.event||"")}))})),(n=this._instance)!=null&&n.autocapture)){var i,s=new Set;e.forEach((o=>{var a;(a=o.steps)==null||a.forEach((l=>{l!=null&&l.selector&&s.add(l?.selector)}))})),(i=this._instance)==null||i.autocapture.setElementSelectors(s)}}on(e,t){var n;t!=null&&e.length!=0&&(this.zi.has(e)||this.zi.has(t?.event))&&this.Hi&&((n=this.Hi)==null?void 0:n.size)>0&&this.Hi.forEach((i=>{this.Bi(t,i)&&this.Ai.emit("actionCaptured",i.name)}))}qi(e){this.onAction("actionCaptured",(t=>e(t)))}Bi(e,t){if(t?.steps==null)return!1;for(var n of t.steps)if(this.ji(e,n))return!0;return!1}onAction(e,t){return this.Ai.on(e,t)}Li(e,t){if(t!=null&&t.url){var n,i=e==null||(n=e.properties)==null?void 0:n.$current_url;if(!i||typeof i!="string"||!Vi(i,t.url,t.url_matching||"contains"))return!1}return!0}Ni(e,t){return!!this.Wi(e,t)&&!!this.Gi(e,t)&&!!this.Vi(e,t)}Wi(e,t){var n;if(t==null||!t.href)return!0;var i=this.Ji(e);if(i.length>0)return i.some((a=>Vi(a.href,t.href,t.href_matching||"exact")));var s,o=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!o&&Vi((s=o.match(/(?::|")href="(.*?)"/))?s[1]:"",t.href,t.href_matching||"exact")}Gi(e,t){var n;if(t==null||!t.text)return!0;var i=this.Ji(e);if(i.length>0)return i.some((c=>Vi(c.text,t.text,t.text_matching||"exact")||Vi(c.$el_text,t.text,t.text_matching||"exact")));var s,o,a,l=(e==null||(n=e.properties)==null?void 0:n.$elements_chain)||"";return!!l&&(s=(function(c){for(var u,p=[],h=/(?::|")text="(.*?)"/g;!ge(u=h.exec(c));)p.includes(u[1])||p.push(u[1]);return p})(l),o=t.text,a=t.text_matching||"exact",s.some((c=>Vi(c,o,a))))}Vi(e,t){var n,i;if(t==null||!t.selector)return!0;var s=e==null||(n=e.properties)==null?void 0:n.$element_selectors;if(s!=null&&s.includes(t.selector))return!0;var o=(e==null||(i=e.properties)==null?void 0:i.$elements_chain)||"";if(t.selector_regex&&o)try{return new RegExp(t.selector_regex).test(o)}catch{return!1}return!1}Ji(e){var t;return(e==null||(t=e.properties)==null?void 0:t.$elements)==null?[]:e?.properties.$elements}Ui(e,t){return t==null||!t.properties||t.properties.length===0||Dx(t.properties.reduce(((n,i)=>{var s=be(i.value)?i.value.map(String):i.value!=null?[String(i.value)]:[];return n[i.key]={values:s,operator:i.operator||"exact"},n}),{}),e?.properties)}},If=class{constructor(e){this._instance=e,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(e,t){return!!e&&Dx(e.propertyFilters,t?.properties)}Zi(e,t){var n=new Map;return e.forEach((i=>{var s;(s=i.conditions)==null||(s=s[t])==null||(s=s.values)==null||s.forEach((o=>{if(o!=null&&o.name){var a=n.get(o.name)||[];a.push(i.id),n.set(o.name,a)}}))})),n}te(e,t,n){var i=(n===jo.Activation?this.Ki:this.Yi).get(e),s=[];return this.ie((o=>{s=o.filter((a=>i?.includes(a.id)))})),s.filter((o=>{var a,l=(a=o.conditions)==null||(a=a[n])==null||(a=a.values)==null?void 0:a.find((c=>c.name===e));return this.Qi(l,t)}))}register(e){var t;j((t=this._instance)==null?void 0:t._addCaptureHook)||(this.ee(e),this.re(e))}re(e){var t=e.filter((n=>{var i,s;return((i=n.conditions)==null?void 0:i.actions)&&((s=n.conditions)==null||(s=s.actions)==null||(s=s.values)==null?void 0:s.length)>0}));t.length!==0&&(this.se==null&&(this.se=new Rf(this._instance),this.se.init(),this.se.qi((n=>{this.onAction(n)}))),t.forEach((n=>{var i,s,o,a,l;n.conditions&&(i=n.conditions)!=null&&i.actions&&(s=n.conditions)!=null&&(s=s.actions)!=null&&s.values&&((o=n.conditions)==null||(o=o.actions)==null||(o=o.values)==null?void 0:o.length)>0&&((a=this.se)==null||a.register(n.conditions.actions.values),(l=n.conditions)==null||(l=l.actions)==null||(l=l.values)==null||l.forEach((c=>{if(c&&c.name){var u=this.Xi.get(c.name);u&&u.push(n.id),this.Xi.set(c.name,u||[n.id])}})))})))}ee(e){var t,n=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.events)&&((a=s.conditions)==null||(a=a.events)==null||(a=a.values)==null?void 0:a.length)>0})),i=e.filter((s=>{var o,a;return((o=s.conditions)==null?void 0:o.cancelEvents)&&((a=s.conditions)==null||(a=a.cancelEvents)==null||(a=a.values)==null?void 0:a.length)>0}));(n.length!==0||i.length!==0)&&((t=this._instance)==null||t._addCaptureHook(((s,o)=>{this.onEvent(s,o)})),this.Ki=this.Zi(e,jo.Activation),this.Yi=this.Zi(e,jo.Cancellation))}onEvent(e,t){var n,i=this.ne(),s=this.oe(),o=this.ae(),a=((n=this._instance)==null||(n=n.persistence)==null?void 0:n.props[s])||[];if(o===e&&t&&a.length>0){var l,c;i.info("event matched, removing item from activated items",{event:e,eventPayload:t,existingActivatedItems:a});var u=(t==null||(l=t.properties)==null?void 0:l.$survey_id)||(t==null||(c=t.properties)==null?void 0:c.$product_tour_id);if(u){var p=a.indexOf(u);p>=0&&(a.splice(p,1),this.le(a))}}else{if(this.Yi.has(e)){var h=this.te(e,t,jo.Cancellation);h.length>0&&(i.info("cancel event matched, cancelling items",{event:e,itemsToCancel:h.map((v=>v.id))}),h.forEach((v=>{var m=a.indexOf(v.id);m>=0&&a.splice(m,1),this.ue(v.id)})),this.le(a))}if(this.Ki.has(e)){i.info("event name matched",{event:e,eventPayload:t,items:this.Ki.get(e)});var f=this.te(e,t,jo.Activation);this.le(a.concat(f.map((v=>v.id))||[]))}}}onAction(e){var t,n=this.oe(),i=((t=this._instance)==null||(t=t.persistence)==null?void 0:t.props[n])||[];this.Xi.has(e)&&this.le(i.concat(this.Xi.get(e)||[]))}le(e){var t,n=this.ne(),i=this.oe(),s=[...new Set(e)].filter((o=>!this.he(o)));n.info("updating activated items",{activatedItems:s}),(t=this._instance)==null||(t=t.persistence)==null||t.register({[i]:s})}getActivatedIds(){var e,t=this.oe(),n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.props[t];return n||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}},$f=class extends If{constructor(e){super(e)}oe(){return"$surveys_activated"}ae(){return Xo.SHOWN}ie(e){var t;(t=this._instance)==null||t.getSurveys(e)}ue(e){var t;(t=this._instance)==null||t.cancelPendingSurvey(e)}ne(){return Ee}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}},Mf=class{constructor(e){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=e,this._surveyEventReceiver=null}onRemoteConfig(e){if(!this._instance.config.disable_surveys){var t=e.surveys;if(ge(t))return Ee.warn("Flags not loaded yet. Not loading surveys.");var n=be(t);this.ve=n?t.length>0:t,Ee.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var e=[],t=0;t<localStorage.length;t++){var n=localStorage.key(t);(n!=null&&n.startsWith(Hx)||n!=null&&n.startsWith("inProgressSurvey_"))&&e.push(n)}e.forEach((i=>localStorage.removeItem(i)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)Ee.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)Ee.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())Ee.info("Not loading surveys in cookieless mode without consent.");else{var e=ee?.__PosthogExtensions__;if(e){if(!j(this.ve)||this._instance.config.advanced_enable_surveys){var t=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var n=e.generateSurveys;if(n)return void this.ge(n,t);var i=e.loadExternalDependency;if(!i)return void this._e("PostHog loadExternalDependency extension not found.");i(this._instance,"surveys",(s=>{s||!e.generateSurveys?this._e("Could not load surveys script",s):this.ge(e.generateSurveys,t)}))}catch(s){throw this._e("Error initializing surveys",s),s}finally{this.ce=!1}}}else Ee.error("PostHog Extensions not found.")}}ge(e,t){this._surveyManager=e(this._instance,t),this._surveyEventReceiver=new $f(this._instance),Ee.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(e,t){Ee.error(e,t),this.me({isLoaded:!1,error:e})}onSurveysLoaded(e){return this.fe.push(e),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((t=>t!==e))}}getSurveys(e,t){if(t===void 0&&(t=!1),this._instance.config.disable_surveys)return Ee.info("Disabled. Not loading surveys."),e([]);var n,i=this._instance.get_property(rf);if(i&&!t)return e(i,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((s=>{var{surveys:o,context:a}=s;return e(o,a)})):(typeof Promise<"u"&&(this.pe=new Promise((s=>{n=s}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:s=>{var o;this.pe=null;var a=s.statusCode;if(a!==200||!s.json){var l="Surveys API could not be loaded, status: "+a;Ee.error(l);var c={isLoaded:!1,error:l};return e([],c),void(n==null||n({surveys:[],context:c}))}var u,p=s.json.surveys||[],h=p.filter((v=>(function(m){return!(!m.start_date||m.end_date)})(v)&&((function(m){var g;return!((g=m.conditions)==null||(g=g.events)==null||(g=g.values)==null||!g.length)})(v)||(function(m){var g;return!((g=m.conditions)==null||(g=g.actions)==null||(g=g.values)==null||!g.length)})(v))));h.length>0&&((u=this._surveyEventReceiver)==null||u.register(h)),(o=this._instance.persistence)==null||o.register({[rf]:p});var f={isLoaded:!0};e(p,f),n?.({surveys:p,context:f})}}))}me(e){for(var t of this.fe)try{if(!e.isLoaded)return t([],e);this.getSurveys(t)}catch(n){Ee.error("Error in survey callback",n)}}getActiveMatchingSurveys(e,t){if(t===void 0&&(t=!1),!ge(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(e,t);Ee.warn("init was not called")}be(e){var t=null;return this.getSurveys((n=>{var i;t=(i=n.find((s=>s.id===e)))!==null&&i!==void 0?i:null})),t}ye(e){if(ge(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var t=typeof e=="string"?this.be(e):e;return t?this._surveyManager.checkSurveyEligibility(t):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(e){if(ge(this._surveyManager))return Ee.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var t=this.ye(e);return{visible:t.eligible,disabledReason:t.reason}}canRenderSurveyAsync(e,t){return ge(this._surveyManager)?(Ee.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((n=>{this.getSurveys((i=>{var s,o=(s=i.find((l=>l.id===e)))!==null&&s!==void 0?s:null;if(o){var a=this.ye(o);n({visible:a.eligible,disabledReason:a.reason})}else n({visible:!1,disabledReason:"Survey not found"})}),t)}))}renderSurvey(e,t,n){var i;if(ge(this._surveyManager))Ee.warn("init was not called");else{var s=typeof e=="string"?this.be(e):e;if(s!=null&&s.id)if(VT.includes(s.type)){var o=U?.querySelector(t);if(o)return(i=s.appearance)!=null&&i.surveyPopupDelaySeconds?(Ee.info("Rendering survey "+s.id+" with delay of "+s.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var a,l;Ee.info("Rendering survey "+s.id+" with delay of "+((a=s.appearance)==null?void 0:a.surveyPopupDelaySeconds)+" seconds"),(l=this._surveyManager)==null||l.renderSurvey(s,o,n),Ee.info("Survey "+s.id+" rendered")}),1e3*s.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(s,o,n);Ee.warn("Survey element not found")}else Ee.warn("Surveys of type "+s.type+" cannot be rendered in the app");else Ee.warn("Survey not found")}}displaySurvey(e,t){var n;if(ge(this._surveyManager))Ee.warn("init was not called");else{var i=this.be(e);if(i){var s=i;if((n=i.appearance)!=null&&n.surveyPopupDelaySeconds&&t.ignoreDelay&&(s=z({},i,{appearance:z({},i.appearance,{surveyPopupDelaySeconds:0})})),t.displayType!==Tf.Popover&&t.initialResponses&&Ee.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),t.ignoreConditions===!1){var o=this.canRenderSurvey(i);if(!o.visible)return void Ee.warn("Survey is not eligible to be displayed: ",o.disabledReason)}t.displayType!==Tf.Inline?this._surveyManager.handlePopoverSurvey(s,t):this.renderSurvey(s,t.selector,t.properties)}else Ee.warn("Survey not found")}}cancelPendingSurvey(e){ge(this._surveyManager)?Ee.warn("init was not called"):this._surveyManager.cancelSurvey(e)}handlePageUnload(){var e;(e=this._surveyManager)==null||e.handlePageUnload()}},$r=Oe("[Conversations]"),Pf=class{constructor(e){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=e}onRemoteConfig(e){if(!this._instance.config.disable_conversations){var t=e.conversations;ge(t)||(Fr(t)?this.we=t:(this.we=t.enabled,this.Ee=t),this.loadIfEnabled())}}reset(){var e;(e=this._conversationsManager)==null||e.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var e=ee?.__PosthogExtensions__;if(e&&!j(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var t=e.initConversations;if(t)return this.$e(t),void(this.xe=!1);var n=e.loadExternalDependency;if(!n)return void this.Se("PostHog loadExternalDependency extension not found.");n(this._instance,"conversations",(i=>{i||!e.initConversations?this.Se("Could not load conversations script",i):this.$e(e.initConversations),this.xe=!1}))}catch(i){this.Se("Error initializing conversations",i),this.xe=!1}}else $r.error("Conversations enabled but missing token in remote config.")}}$e(e){if(this.Ee)try{this._conversationsManager=e(this.Ee,this._instance),$r.info("Conversations loaded successfully")}catch(t){this.Se("Error completing conversations initialization",t)}else $r.error("Cannot complete initialization: remote config is null")}Se(e,t){$r.error(e,t),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():$r.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!qt(this._conversationsManager)}isVisible(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.isVisible())!==null&&e!==void 0&&e}sendMessage(e,t,n){var i=this;return Wi((function*(){return i._conversationsManager?i._conversationsManager.sendMessage(e,t,n):($r.warn("Conversations not available yet."),null)}))()}getMessages(e,t){var n=this;return Wi((function*(){return n._conversationsManager?n._conversationsManager.getMessages(e,t):($r.warn("Conversations not available yet."),null)}))()}markAsRead(e){var t=this;return Wi((function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):($r.warn("Conversations not available yet."),null)}))()}getTickets(e){var t=this;return Wi((function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):($r.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getCurrentTicketId())!==null&&e!==void 0?e:null}getWidgetSessionId(){var e,t;return(e=(t=this._conversationsManager)==null?void 0:t.getWidgetSessionId())!==null&&e!==void 0?e:null}},Of=class{constructor(e){var t;this.ke=!1,this.Pe=!1,this._instance=e,this._instance&&(t=this._instance.config.logs)!=null&&t.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(e){var t,n=(t=e.logs)==null?void 0:t.captureConsoleLogs;!ge(n)&&n&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var e=Oe("[logs]"),t=ee?.__PosthogExtensions__;if(t){var n=t.loadExternalDependency;n?n(this._instance,"logs",(i=>{var s;i||(s=t.logs)==null||!s.initializeLogs?e.error("Could not load logs script",i):(t.logs.initializeLogs(this._instance),this.Pe=!0)})):e.error("PostHog loadExternalDependency extension not found.")}else e.error("PostHog Extensions not found.")}}},$0=Oe("[RateLimiter]"),Lf=class{constructor(e){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=t=>{var n=t.text;if(n&&n.length)try{(JSON.parse(n).quota_limited||[]).forEach((i=>{$0.info((i||"events")+" is quota limited."),this.serverLimits[i]=new Date().getTime()+6e4}))}catch(i){return void $0.warn('could not rate limit - continuing. Error: "'+i?.message+'"',{text:n})}},this.instance=e,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var e;return((e=this.instance.config.rate_limiting)==null?void 0:e.events_per_second)||10}get captureEventsBurstLimit(){var e;return Math.max(((e=this.instance.config.rate_limiting)==null?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(e){var t,n,i;e===void 0&&(e=!1);var{captureEventsBurstLimit:s,captureEventsPerSecond:o}=this,a=new Date().getTime(),l=(t=(n=this.instance.persistence)==null?void 0:n.get_property(sf))!==null&&t!==void 0?t:{tokens:s,last:a};l.tokens+=(a-l.last)/1e3*o,l.last=a,l.tokens>s&&(l.tokens=s);var c=l.tokens<1;return c||e||(l.tokens=Math.max(0,l.tokens-1)),!c||this.lastEventRateLimited||e||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+o+" events per second and "+s+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=c,(i=this.instance.persistence)==null||i.set_property(sf,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},ri=Oe("[RemoteConfig]"),Nf=class{constructor(e){this._instance=e}get remoteConfig(){var e;return(e=ee._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.config}Te(e){var t,n;(t=ee.__PosthogExtensions__)!=null&&t.loadExternalDependency?(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,"remote-config",(()=>e(this.remoteConfig))):(ri.error("PostHog Extensions not found. Cannot load remote config."),e())}Ie(e){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:t=>{e(t.json)}})}load(){try{if(this.remoteConfig)return ri.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.M())return void ri.warn("Remote config is disabled. Falling back to local config.");this.Te((e=>{if(!e)return ri.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((t=>{this.yi(t)}));this.yi(e)}))}catch(e){ri.error("Error loading remote config",e)}}yi(e){e?this._instance.config.__preview_remote_config?(this._instance.yi(e),e.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):ri.info("__preview_remote_config is disabled. Logging config instead",e):ri.error("Failed to fetch remote config from PostHog.")}},Ff=3e3,Df=class{constructor(e,t){this.Ce=!0,this.Re=[],this.Fe=pr(t?.flush_interval_ms||Ff,250,5e3,W.createLogger("flush interval"),Ff),this.Oe=e}enqueue(e){this.Re.push(e),this.Me||this.Ae()}unload(){this.je();var e=this.Re.length>0?this.De():{},t=Object.values(e);[...t.filter((n=>n.url.indexOf("/e")===0)),...t.filter((n=>n.url.indexOf("/e")!==0))].map((n=>{this.Oe(z({},n,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var e=this;this.Ce||(this.Me=setTimeout((()=>{if(this.je(),this.Re.length>0){var t=this.De(),n=function(){var s=t[i],o=new Date().getTime();s.data&&be(s.data)&&Ae(s.data,(a=>{a.offset=Math.abs(a.timestamp-o),delete a.timestamp})),e.Oe(s)};for(var i in t)n()}}),this.Fe))}je(){clearTimeout(this.Me),this.Me=void 0}De(){var e={};return Ae(this.Re,(t=>{var n,i=t,s=(i?i.batchKey:null)||i.url;j(e[s])&&(e[s]=z({},i,{data:[]})),(n=e[s].data)==null||n.push(i.data)})),this.Re=[],e}},jT=["retriesPerformedSoFar"],Hf=class{constructor(e){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=e,this.Re=[],this.Ue=!0,!j(E)&&"onLine"in E.navigator&&(this.Ue=E.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},je(E,"online",this.ze),je(E,"offline",this.He))}get length(){return this.Re.length}retriableRequest(e){var{retriesPerformedSoFar:t}=e,n=F0(e,jT);Ui(t)&&(n.url=Mc(n.url,{retry_count:t})),this._instance._send_request(z({},n,{callback:i=>{i.statusCode!==200&&(i.statusCode<400||i.statusCode>=500)&&(t??0)<10?this.Be(z({retriesPerformedSoFar:t},n)):n.callback==null||n.callback(i)}}))}Be(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var n=(function(o){var a=3e3*Math.pow(2,o),l=a/2,c=Math.min(18e5,a),u=(Math.random()-.5)*(c-l);return Math.ceil(c+u)})(t),i=Date.now()+n;this.Re.push({retryAt:i,requestOptions:e});var s="Enqueued failed request for retry in "+n;navigator.onLine||(s+=" (Browser is offline)"),W.warn(s),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var e=Date.now(),t=[],n=this.Re.filter((s=>s.retryAt<e||(t.push(s),!1)));if(this.Re=t,n.length>0)for(var{requestOptions:i}of n)this.retriableRequest(i)}unload(){for(var{requestOptions:e}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,j(E)||(this.ze&&(E.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(E.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(z({},e,{transport:"sendBeacon"}))}catch(t){W.error(t)}this.Re=[]}},Bf=class{constructor(e){this.Ge=()=>{var t,n,i,s;this.Ve||(this.Ve={});var o=this.scrollElement(),a=this.scrollY(),l=o?Math.max(0,o.scrollHeight-o.clientHeight):0,c=a+(o?.clientHeight||0),u=o?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(a),this.Ve.maxScrollY=Math.max(a,(t=this.Ve.maxScrollY)!==null&&t!==void 0?t:0),this.Ve.maxScrollHeight=Math.max(l,(n=this.Ve.maxScrollHeight)!==null&&n!==void 0?n:0),this.Ve.lastContentY=c,this.Ve.maxContentY=Math.max(c,(i=this.Ve.maxContentY)!==null&&i!==void 0?i:0),this.Ve.maxContentHeight=Math.max(u,(s=this.Ve.maxContentHeight)!==null&&s!==void 0?s:0)},this._instance=e}getContext(){return this.Ve}resetContext(){var e=this.Ve;return setTimeout(this.Ge,0),e}startMeasuringScrollPosition(){je(E,"scroll",this.Ge,{capture:!0}),je(E,"scrollend",this.Ge,{capture:!0}),je(E,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return E?.document.documentElement;var e=be(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var t of e){var n=E?.document.querySelector(t);if(n)return n}}scrollY(){if(this._instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollTop||0}return E&&(E.scrollY||E.pageYOffset||E.document.documentElement.scrollTop)||0}scrollX(){if(this._instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollLeft||0}return E&&(E.scrollX||E.pageXOffset||E.document.documentElement.scrollLeft)||0}},WT=r=>Ix(r?.config.mask_personal_data_properties,r?.config.custom_personal_data_properties),Oc=class{constructor(e,t,n,i){this.Je=s=>{var o=this.Ke();if(!o||o.sessionId!==s){var a={sessionId:s,props:this.Ye(this._instance)};this.Xe.register({[nf]:a})}},this._instance=e,this.Qe=t,this.Xe=n,this.Ye=i||WT,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[nf]}getSetOnceProps(){var e,t=(e=this.Ke())==null?void 0:e.props;return t?"r"in t?$x(t):{$referring_domain:t.referringDomain,$pathname:t.initialPathName,utm_source:t.utm_source,utm_campaign:t.utm_campaign,utm_medium:t.utm_medium,utm_content:t.utm_content,utm_term:t.utm_term}:{}}getSessionProps(){var e={};return Ae(Jf(this.getSetOnceProps()),((t,n)=>{n==="$current_url"&&(n="url"),e["$session_entry_"+Nh(n)]=t})),e}},Ph=Oe("[SessionId]"),Lc=class{on(e,t){return this.Ze.on(e,t)}constructor(e,t,n){var i;if(this.tr=[],this.ir=void 0,this.Ze=new aa,this.er=(u,p)=>!(!Ui(u)||!Ui(p))&&Math.abs(u-p)>this.sessionTimeoutMs,!e.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(e.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=e.config,this.Xe=e.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=t||cn,this.ar=n||cn;var s=this.R.persistence_name||this.R.token,o=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*pr(o,60,36e3,Ph.createLogger("session_idle_timeout_seconds"),1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+s+"_window_id",this.hr="ph_"+s+"_primary_window_exists",this.dr()){var a=et.W(this.ur),l=et.W(this.hr);a&&!l?this.rr=a:et.V(this.ur),et.G(this.hr,!0)}if((i=this.R.bootstrap)!=null&&i.sessionID)try{var c=(u=>{var p=u.replace(/-/g,"");if(p.length!==32)throw new Error("Not a valid UUID");if(p[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(p.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),c)}catch(u){Ph.error("Invalid sessionID in bootstrap",u)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return j(this.tr)&&(this.tr=[]),this.tr.push(e),this.sr&&e(this.sr,this.rr),()=>{this.tr=this.tr.filter((t=>t!==e))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.ki&&et.H()}pr(e){e!==this.rr&&(this.rr=e,this.dr()&&et.G(this.ur,e))}gr(){return this.rr?this.rr:this.dr()?et.W(this.ur):null}vr(e,t,n){e===this.sr&&t===this._sessionActivityTimestamp&&n===this._sessionStartTimestamp||(this._sessionStartTimestamp=n,this._sessionActivityTimestamp=t,this.sr=e,this.Xe.register({[bc]:[t,e,n]}))}_r(){var e=this.Xe.props[bc];return be(e)&&e.length===2&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&E&&(E.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&et.V(this.hr)},je(E,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(e,t){if(e===void 0&&(e=!1),t===void 0&&(t=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var n=t||new Date().getTime(),[i,s,o]=this._r(),a=this.gr(),l=Ui(o)&&Math.abs(n-o)>864e5,c=!1,u=!s,p=!u&&!e&&this.er(n,i);u||p||l?(s=this.nr(),a=this.ar(),Ph.info("new session ID generated",{sessionId:s,windowId:a,changeReason:{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}}),o=n,c=!0):a||(a=this.ar(),c=!0);var h=Ui(i)&&e&&!l?i:n,f=Ui(o)?o:new Date().getTime();return this.pr(a),this.vr(s,h,f),e||this.lr(),c&&this.tr.forEach((v=>v(s,a,c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0))),{sessionId:s,windowId:a,sessionStartTimestamp:f,changeReason:c?{noSessionId:u,activityTimeout:p,sessionPastMaximumLength:l}:void 0,lastActivityTimestamp:i}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[e]=this._r();if(this.er(new Date().getTime(),e)){var t=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:t})}}),1.1*this.sessionTimeoutMs)}},zT=["$set_once","$set"],an=Oe("[SiteApps]"),Vf=class{constructor(e){this._instance=e,this.br=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}yr(e,t){if(t){var n=this.globalsForEvent(t);this.br.push(n),this.br.length>1e3&&(this.br=this.br.slice(10))}}get siteAppLoaders(){var e;return(e=ee._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.siteApps}init(){if(this.isEnabled){var e=this._instance._addCaptureHook(this.yr.bind(this));this.wr=()=>{e(),this.br=[],this.wr=void 0}}}globalsForEvent(e){var t,n,i,s,o,a,l;if(!e)throw new Error("Event payload is required");var c={},u=this._instance.get_property("$groups")||[],p=this._instance.get_property("$stored_group_properties")||{};for(var[h,f]of Object.entries(p))c[h]={id:u[h],type:h,properties:f};var{$set_once:v,$set:m}=e;return{event:z({},F0(e,zT),{properties:z({},e.properties,m?{$set:z({},(t=(n=e.properties)==null?void 0:n.$set)!==null&&t!==void 0?t:{},m)}:{},v?{$set_once:z({},(i=(s=e.properties)==null?void 0:s.$set_once)!==null&&i!==void 0?i:{},v)}:{}),elements_chain:(o=(a=e.properties)==null?void 0:a.$elements_chain)!==null&&o!==void 0?o:"",distinct_id:(l=e.properties)==null?void 0:l.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:c}}setupSiteApp(e){var t=this.apps[e.id],n=()=>{var a;!t.errored&&this.br.length&&(an.info("Processing "+this.br.length+" events for site app with id "+e.id),this.br.forEach((l=>t.processEvent==null?void 0:t.processEvent(l))),t.processedBuffer=!0),Object.values(this.apps).every((l=>l.processedBuffer||l.errored))&&((a=this.wr)==null||a.call(this))},i=!1,s=a=>{t.errored=!a,t.loaded=!0,an.info("Site app with id "+e.id+" "+(a?"loaded":"errored")),i&&n()};try{var{processEvent:o}=e.init({posthog:this._instance,callback:a=>{s(a)}});o&&(t.processEvent=o),i=!0}catch(a){an.error("Error while initializing PostHog app with config id "+e.id,a),s(!1)}if(i&&t.loaded)try{n()}catch(a){an.error("Error while processing buffered events PostHog app with config id "+e.id,a),t.errored=!0}}Er(){var e=this.siteAppLoaders||[];for(var t of e)this.apps[t.id]={id:t.id,loaded:!1,errored:!1,processedBuffer:!1};for(var n of e)this.setupSiteApp(n)}$r(e){if(Object.keys(this.apps).length!==0){var t=this.globalsForEvent(e);for(var n of Object.values(this.apps))try{n.processEvent==null||n.processEvent(t)}catch(i){an.error("Error while processing event "+e.event+" for site app "+n.id,i)}}}onRemoteConfig(e){var t,n,i,s=this;if((t=this.siteAppLoaders)!=null&&t.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(c=>this.$r(c)))):void an.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((n=this.wr)==null||n.call(this),(i=e.siteApps)!=null&&i.length)if(this.isEnabled){var o=function(c){var u;ee["__$$ph_site_app_"+c]=s._instance,(u=ee.__PosthogExtensions__)==null||u.loadSiteApp==null||u.loadSiteApp(s._instance,l,(p=>{if(p)return an.error("Error while initializing PostHog app with config id "+c,p)}))};for(var{id:a,url:l}of e.siteApps)o(a)}else an.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}},Bx=function(r,e){if(!r)return!1;var t=r.userAgent;if(t&&z_(t,e))return!0;try{var n=r?.userAgentData;if(n!=null&&n.brands&&n.brands.some((i=>z_(i?.brand,e))))return!0}catch{}return!!r.webdriver},Jo=(function(r){return r.US="us",r.EU="eu",r.CUSTOM="custom",r})({}),M0="i.posthog.com",Uf=class{constructor(e){this.Sr={},this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\/$/,"");return e==="https://app.posthog.com"?"https://us.i.posthog.com":e}get flagsApiHost(){var e=this.instance.config.flags_api_host;return e?e.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var e,t=(e=this.instance.config.ui_host)==null?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace("."+M0,".posthog.com")),t==="https://app.posthog.com"?"https://us.posthog.com":t}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Jo.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Jo.EU:this.Sr[this.apiHost]=Jo.CUSTOM),this.Sr[this.apiHost]}endpointFor(e,t){if(t===void 0&&(t=""),t&&(t=t[0]==="/"?t:"/"+t),e==="ui")return this.uiHost+t;if(e==="flags")return this.flagsApiHost+t;if(this.region===Jo.CUSTOM)return this.apiHost+t;var n=M0+t;switch(e){case"assets":return"https://"+this.region+"-assets."+n;case"api":return"https://"+this.region+"."+n}}},qT={icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())>-1,not_icontains:(r,e)=>!!E&&e.href.toLowerCase().indexOf(r.toLowerCase())===-1,regex:(r,e)=>!!E&&Pc(e.href,r),not_regex:(r,e)=>!!E&&!Pc(e.href,r),exact:(r,e)=>e.href===r,is_not:(r,e)=>e.href!==r},jf=class r{constructor(e){var t=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(n){n===void 0&&(n=!1),t.getWebExperiments((i=>{r.kr("retrieved web experiments from the server"),t.Pr=new Map,i.forEach((s=>{if(s.feature_flag_key){var o;t.Pr&&(r.kr("setting flag key ",s.feature_flag_key," to web experiment ",s),(o=t.Pr)==null||o.set(s.feature_flag_key,s));var a=t._instance.getFeatureFlag(s.feature_flag_key);qe(a)&&s.variants[a]&&t.Tr(s.name,a,s.variants[a].transforms)}else if(s.variants)for(var l in s.variants){var c=s.variants[l];r.Ir(c)&&t.Tr(s.name,l,c.transforms)}}))}),n)},this._instance=e,this._instance.onFeatureFlags((n=>{this.onFeatureFlags(n)}))}onFeatureFlags(e){if(this._is_bot())r.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(ge(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();r.kr("applying feature flags",e),e.forEach((t=>{var n;if(this.Pr&&(n=this.Pr)!=null&&n.has(t)){var i,s=this._instance.getFeatureFlag(t),o=(i=this.Pr)==null?void 0:i.get(t);s&&o!=null&&o.variants[s]&&this.Tr(o.name,s,o.variants[s].transforms)}}))}}previewWebExperiment(){var e=r.getWindowLocation();if(e!=null&&e.search){var t=Cc(e?.search,"__experiment_id"),n=Cc(e?.search,"__experiment_variant");t&&n&&(r.kr("previewing web experiments "+t+" && "+n),this.getWebExperiments((i=>{this.Cr(parseInt(t),n,i)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,n){if(this._instance.config.disable_web_experiments&&!n)return e([]);var i=this._instance.get_property("$web_experiments");if(i&&!t)return e(i);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:s=>{if(s.statusCode!==200||!s.json)return e([]);var o=s.json.experiments||[];return e(o)}})}Cr(e,t,n){var i=n.filter((s=>s.id===e));i&&i.length>0&&(r.kr("Previewing web experiment ["+i[0].name+"] with variant ["+t+"]"),this.Tr(i[0].name,t,i[0].variants[t].transforms))}static Ir(e){return!ge(e.conditions)&&r.Rr(e)&&r.Fr(e)}static Rr(e){var t;if(ge(e.conditions)||ge((t=e.conditions)==null?void 0:t.url))return!0;var n,i,s,o=r.getWindowLocation();return!!o&&((n=e.conditions)==null||!n.url||qT[(i=(s=e.conditions)==null?void 0:s.urlMatchType)!==null&&i!==void 0?i:"icontains"](e.conditions.url,o))}static getWindowLocation(){return E?.location}static Fr(e){var t;if(ge(e.conditions)||ge((t=e.conditions)==null?void 0:t.utm))return!0;var n=Cx();if(n.utm_source){var i,s,o,a,l,c,u,p,h=(i=e.conditions)==null||(i=i.utm)==null||!i.utm_campaign||((s=e.conditions)==null||(s=s.utm)==null?void 0:s.utm_campaign)==n.utm_campaign,f=(o=e.conditions)==null||(o=o.utm)==null||!o.utm_source||((a=e.conditions)==null||(a=a.utm)==null?void 0:a.utm_source)==n.utm_source,v=(l=e.conditions)==null||(l=l.utm)==null||!l.utm_medium||((c=e.conditions)==null||(c=c.utm)==null?void 0:c.utm_medium)==n.utm_medium,m=(u=e.conditions)==null||(u=u.utm)==null||!u.utm_term||((p=e.conditions)==null||(p=p.utm)==null?void 0:p.utm_term)==n.utm_term;return h&&v&&m&&f}return!1}static kr(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];W.info("[WebExperiments] "+e,n)}Tr(e,t,n){this._is_bot()?r.kr("Refusing to render web experiment since the viewer is a likely bot"):t!=="control"?n.forEach((i=>{if(i.selector){var s;r.kr("applying transform of variant "+t+" for experiment "+e+" ",i);var o=(s=document)==null?void 0:s.querySelectorAll(i.selector);o?.forEach((a=>{var l=a;i.html&&(l.innerHTML=i.html),i.css&&l.setAttribute("style",i.css)}))}})):r.kr("Control variants leave the page unmodified.")}_is_bot(){return kt&&this._instance?Bx(kt,this._instance.config.custom_blocked_useragents):void 0}},ZT=Oe("[PostHog ExternalIntegrations]"),GT={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},Wf=class{constructor(e){this._instance=e}it(e,t){var n;(n=ee.__PosthogExtensions__)==null||n.loadExternalDependency==null||n.loadExternalDependency(this._instance,e,(i=>{if(i)return ZT.error("failed to load script",i);t()}))}startIfEnabledOrStop(){var e=this,t=function(o){var a,l,c;!i||(a=ee.__PosthogExtensions__)!=null&&(a=a.integrations)!=null&&a[o]||e.it(GT[o],(()=>{var u;(u=ee.__PosthogExtensions__)==null||(u=u.integrations)==null||(u=u[o])==null||u.start(e._instance)})),!i&&(l=ee.__PosthogExtensions__)!=null&&(l=l.integrations)!=null&&l[o]&&((c=ee.__PosthogExtensions__)==null||(c=c.integrations)==null||(c=c[o])==null||c.stop())};for(var[n,i]of Object.entries((s=this._instance.config.integrations)!==null&&s!==void 0?s:{})){var s;t(n)}}},zf="[SessionRecording]",Wo=Oe(zf),Nc=class{get started(){var e;return!((e=this.Or)==null||!e.isStarted)}get status(){return this.Or?this.Or.status:this.Mr&&!this.Ar?"disabled":"lazy_loading"}constructor(e){if(this._forceAllowLocalhostNetworkCapture=!1,this.Mr=!1,this.jr=void 0,this._instance=e,!this._instance.sessionManager)throw Wo.error("started without valid sessionManager"),new Error(zf+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(zf+' cannot be used with cookieless_mode="always"')}get Ar(){var e,t=!((e=this._instance.get_property(_h))==null||!e.enabled),n=!this._instance.config.disable_session_recording,i=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return E&&t&&n&&!i}startIfEnabledOrStop(e){var t;if(!this.Ar||(t=this.Or)==null||!t.isStarted){var n=!j(Object.assign)&&!j(Array.from);this.Ar&&n?(this.Dr(e),Wo.info("starting")):this.stopRecording()}}Dr(e){var t,n,i;this.Ar&&(ee!=null&&(t=ee.__PosthogExtensions__)!=null&&(t=t.rrweb)!=null&&t.record&&(n=ee.__PosthogExtensions__)!=null&&n.initSessionRecording?this.Lr(e):(i=ee.__PosthogExtensions__)==null||i.loadExternalDependency==null||i.loadExternalDependency(this._instance,this.Nr,(s=>{if(s)return Wo.error("could not load recorder",s);this.Lr(e)})))}stopRecording(){var e,t;(e=this.jr)==null||e.call(this),this.jr=void 0,(t=this.Or)==null||t.stop()}Ur(){var e;(e=this._instance.persistence)==null||e.unregister(cx)}zr(e){if(this._instance.persistence){var t,n,i=this._instance.persistence,s=()=>{var o=e.sessionRecording===!1?void 0:e.sessionRecording,a=o?.sampleRate,l=ge(a)?null:parseFloat(a);ge(l)&&this.Ur();var c=o?.minimumDurationMilliseconds;i.register({[_h]:z({enabled:!!o},o,{networkPayloadCapture:z({capturePerformance:e.capturePerformance},o?.networkPayloadCapture),canvasRecording:{enabled:o?.recordCanvas,fps:o?.canvasFps,quality:o?.canvasQuality},sampleRate:l,minimumDurationMilliseconds:j(c)?null:c,endpoint:o?.endpoint,triggerMatchType:o?.triggerMatchType,masking:o?.masking,urlTriggers:o?.urlTriggers})})};s(),(t=this.jr)==null||t.call(this),this.jr=(n=this._instance.sessionManager)==null?void 0:n.onSessionId(s)}}onRemoteConfig(e){"sessionRecording"in e?e.sessionRecording!==!1?(this.zr(e),this.Mr=!0,this.startIfEnabledOrStop()):this.Mr=!0:Wo.info("skipping remote config with no sessionRecording",e)}log(e,t){var n;t===void 0&&(t="log"),(n=this.Or)!=null&&n.log?this.Or.log(e,t):Wo.warn("log called before recorder was ready")}get Nr(){var e,t,n=(e=this._instance)==null||(e=e.persistence)==null?void 0:e.get_property(_h);return(n==null||(t=n.scriptConfig)==null?void 0:t.script)||"lazy-recorder"}Lr(e){var t,n;if((t=ee.__PosthogExtensions__)==null||!t.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Or||(this.Or=(n=ee.__PosthogExtensions__)==null?void 0:n.initSessionRecording(this._instance),this.Or._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Or.start(e)}onRRwebEmit(e){var t;(t=this.Or)==null||t.onRRwebEmit==null||t.onRRwebEmit(e)}overrideLinkedFlag(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_linked_flag:!0}),(e=this.Or)==null||e.overrideLinkedFlag()}overrideSampling(){var e,t;this.Or||(t=this._instance.persistence)==null||t.register({$replay_override_sampling:!0}),(e=this.Or)==null||e.overrideSampling()}overrideTrigger(e){var t,n;this.Or||(n=this._instance.persistence)==null||n.register({[e==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(t=this.Or)==null||t.overrideTrigger(e)}get sdkDebugProperties(){var e;return((e=this.Or)==null?void 0:e.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(e,t){var n;return!((n=this.Or)==null||!n.tryAddCustomEvent(e,t))}},ta={},qf=()=>{},ji="posthog",Vx=!NT&&_t?.indexOf("MSIE")===-1&&_t?.indexOf("Mozilla")===-1,P0=r=>{var e;return z({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:J2(U?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:qf,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:r??"unset",__preview_deferred_init_extensions:!1,debug:tt&&qe(tt?.search)&&tt.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(E==null||(e=E.location)==null?void 0:e.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:t=>{var n="Bad HTTP status: "+t.statusCode+" "+t.text;W.error(n)},get_device_id:t=>t,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:Ff},error_tracking:{},_onCapture:qf,__preview_eager_load_replay:!1},(t=>({rageclick:!(t&&t>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(t&&t>="2025-05-24")||"history_change",session_recording:t&&t>="2025-11-30"?{strictMinimumDuration:!0}:{},external_scripts_inject_target:t&&t>="2026-01-30"?"head":"body",internal_or_test_user_hostname:t&&t>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0}))(r))},O0=r=>{var e={};j(r.process_person)||(e.person_profiles=r.process_person),j(r.xhr_headers)||(e.request_headers=r.xhr_headers),j(r.cookie_name)||(e.persistence_name=r.cookie_name),j(r.disable_cookie)||(e.disable_persistence=r.disable_cookie),j(r.store_google)||(e.save_campaign_params=r.store_google),j(r.verbose)||(e.debug=r.verbose);var t=He({},e,r);return be(r.property_blacklist)&&(j(r.property_denylist)?t.property_denylist=r.property_blacklist:be(r.property_denylist)?t.property_denylist=[...r.property_blacklist,...r.property_denylist]:W.error("Invalid value for property_denylist config: "+r.property_denylist)),t},Zf=class{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(e){W.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}},Fc=class r{get decideEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}get flagsEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}constructor(){this.webPerformance=new Zf,this.Br=!1,this.version=Mr.LIB_VERSION,this.qr=new aa,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=P0(),this.SentryIntegration=mf,this.sentryIntegration=e=>(function(t,n){var i=Ex(t,n);return{name:kx,processEvent:s=>i(s)}})(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new Cf(this),this.toolbar=new vf(this),this.scrollManager=new Bf(this),this.pageViewManager=new Rc(this),this.surveys=new Mf(this),this.conversations=new Pf(this),this.logs=new Of(this),this.experiments=new jf(this),this.exceptions=new Ef(this),this.rateLimiter=new Lf(this),this.requestRouter=new Uf(this),this.consent=new hf(this),this.externalIntegrations=new Wf(this),this.people={set:(e,t,n)=>{var i=qe(e)?{[e]:t}:e;this.setPersonProperties(i),n?.({})},set_once:(e,t,n)=>{var i=qe(e)?{[e]:t}:e;this.setPersonProperties(void 0,i),n?.({})}},this.on("eventCaptured",(e=>W.info('send "'+e?.event+'"',e)))}init(e,t,n){if(n&&n!==ji){var i,s=(i=ta[n])!==null&&i!==void 0?i:new r;return s._init(e,t,n),ta[n]=s,ta[ji][n]=s,s}return this._init(e,t,n)}_init(e,t,n){var i;if(t===void 0&&(t={}),j(e)||Fh(e))return W.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},t.debug=this.Kr(t.debug),this.Yr=t,this.Xr=[],t.person_profiles&&(this.Vr=t.person_profiles),this.set_config(He({},P0(t.defaults),O0(t),{name:n,token:e})),this.config.on_xhr_error&&W.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=t.disable_compression?void 0:Lr.GZipJS;var s=this.Qr();this.persistence=new ea(this.config,s),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new ea(z({},this.config,{persistence:"sessionStorage"}),s);var o=z({},this.persistence.props),a=z({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new Df((x=>this.ts(x)),this.config.request_queue_config),this.es=new Hf(this),this.__request_queue=[];var l=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(l||(this.sessionManager=new Lc(this),this.sessionPropsManager=new Oc(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(W.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(l)}),0)):(W.info("Initializing extensions synchronously"),this.rs(l)),Mr.DEBUG=Mr.DEBUG||this.config.debug,Mr.DEBUG&&W.info("Starting in debug mode",{this:this,config:t,thisC:z({},this.config),p:o,s:a}),((i=t.bootstrap)==null?void 0:i.distinctID)!==void 0){var c,u,p=this.config.get_device_id(cn()),h=(c=t.bootstrap)!=null&&c.isIdentifiedID?p:t.bootstrap.distinctID;this.persistence.set_property(Pr,(u=t.bootstrap)!=null&&u.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:t.bootstrap.distinctID,$device_id:h})}if(this.ss()){var f,v,m=Object.keys(((f=t.bootstrap)==null?void 0:f.featureFlags)||{}).filter((x=>{var w;return!((w=t.bootstrap)==null||(w=w.featureFlags)==null||!w[x])})).reduce(((x,w)=>{var y;return x[w]=((y=t.bootstrap)==null||(y=y.featureFlags)==null?void 0:y[w])||!1,x}),{}),g=Object.keys(((v=t.bootstrap)==null?void 0:v.featureFlagPayloads)||{}).filter((x=>m[x])).reduce(((x,w)=>{var y,S;return(y=t.bootstrap)!=null&&(y=y.featureFlagPayloads)!=null&&y[w]&&(x[w]=(S=t.bootstrap)==null||(S=S.featureFlagPayloads)==null?void 0:S[w]),x}),{});this.featureFlags.receivedFeatureFlags({featureFlags:m,featureFlagPayloads:g})}if(l)this.register_once({distinct_id:No,$device_id:null},"");else if(!this.get_distinct_id()){var b=this.config.get_device_id(cn());this.register_once({distinct_id:b,$device_id:b},""),this.persistence.set_property(Pr,"anonymous")}return je(E,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),t.segment?_T(this,(()=>this.ns())):this.ns(),un(this.config._onCapture)&&this.config._onCapture!==qf&&(W.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(x=>this.config._onCapture(x.event,x)))),this.config.ip&&W.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}rs(e){var t=performance.now();this.historyAutocapture=new gf(this),this.historyAutocapture.startIfEnabled();var n=[];n.push((()=>{new yf(this).startIfEnabledOrStop()})),n.push((()=>{var i;this.siteApps=new Vf(this),(i=this.siteApps)==null||i.init()})),e||n.push((()=>{this.sessionRecording=new Nc(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||n.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),n.push((()=>{this.autocapture=new cf(this),this.autocapture.startIfEnabled()})),n.push((()=>{this.surveys.loadIfEnabled()})),n.push((()=>{this.logs.loadIfEnabled()})),n.push((()=>{this.conversations.loadIfEnabled()})),n.push((()=>{this.productTours=new Af(this),this.productTours.loadIfEnabled()})),n.push((()=>{this.heatmaps=new _f(this),this.heatmaps.startIfEnabled()})),n.push((()=>{this.webVitalsAutocapture=new bf(this)})),n.push((()=>{this.exceptionObserver=new ff(this),this.exceptionObserver.startIfEnabledOrStop()})),n.push((()=>{this.deadClicksAutocapture=new Tc(this,bT),this.deadClicksAutocapture.startIfEnabled()})),n.push((()=>{if(this.os){var i=this.os;this.os=void 0,this.yi(i)}})),this.ls(n,t)}ls(e,t){for(;e.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-t>=30&&e.length>0)return void setTimeout((()=>{this.ls(e,t)}),0);var n=e.shift();if(n)try{n()}catch(s){W.error("Error initializing extension:",s)}}var i=Math.round(performance.now()-t);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:i}),this.config.__preview_deferred_init_extensions&&W.info("PostHog extensions initialized ("+i+"ms)")}yi(e){var t,n,i,s,o,a,l,c,u;if(!U||!U.body)return W.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(e)}),500);this.config.__preview_deferred_init_extensions&&(this.os=e),this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=he(e.supportedCompression,Lr.GZipJS)?Lr.GZipJS:he(e.supportedCompression,Lr.Base64)?Lr.Base64:void 0),(t=e.analytics)!=null&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(n=this.siteApps)==null||n.onRemoteConfig(e),(i=this.sessionRecording)==null||i.onRemoteConfig(e),(s=this.autocapture)==null||s.onRemoteConfig(e),(o=this.heatmaps)==null||o.onRemoteConfig(e),this.surveys.onRemoteConfig(e),this.logs.onRemoteConfig(e),this.conversations.onRemoteConfig(e),(a=this.productTours)==null||a.onRemoteConfig(e),(l=this.webVitalsAutocapture)==null||l.onRemoteConfig(e),(c=this.exceptionObserver)==null||c.onRemoteConfig(e),this.exceptions.onRemoteConfig(e),(u=this.deadClicksAutocapture)==null||u.onRemoteConfig(e)}ns(){try{this.config.loaded(this)}catch(n){W.critical("`loaded` function failed",n)}if(this.us(),this.config.internal_or_test_user_hostname&&tt!=null&&tt.hostname){var e=tt.hostname,t=this.config.internal_or_test_user_hostname;(typeof t=="string"?e===t:t.test(e))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new Nf(this).load(),this.featureFlags.flags()}us(){var e;this.is_capturing()&&this.config.request_batching&&((e=this.Zr)==null||e.enable())}_dom_loaded(){this.is_capturing()&&dn(this.__request_queue,(e=>this.ts(e))),this.__request_queue=[],this.us()}_handle_unload(){var e,t;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(e=this.Zr)==null||e.unload(),(t=this.es)==null||t.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(e){this.__loaded&&(Vx?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Mc(e.url,{ip:this.config.ip?1:0}),e.headers=z({},this.config.request_headers,e.headers),e.compression=e.compression==="best-available"?this.compression:e.compression,e.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(e.disableTransport=["sendBeacon"]),e.fetchOptions=e.fetchOptions||this.config.fetch_options,(t=>{var n,i,s,o=z({},t);o.timeout=o.timeout||6e4,o.url=Mc(o.url,{_:new Date().getTime().toString(),ver:Mr.LIB_VERSION,compression:o.compression});var a=(n=o.transport)!==null&&n!==void 0?n:"fetch",l=gc.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(i=(s=ox(l,(u=>u.transport===a)))==null?void 0:s.method)!==null&&i!==void 0?i:l[0].method;if(!c)throw new Error("No available transport method");c(o)})(z({},e,{callback:t=>{var n,i;this.rateLimiter.checkForLimiting(t),t.statusCode>=400&&((n=(i=this.config).on_request_error)==null||n.call(i,t)),e.callback==null||e.callback(t)}}))))}ts(e){this.es?this.es.retriableRequest(e):this._send_request(e)}_execute_array(e){var t,n=[],i=[],s=[];dn(e,(a=>{a&&(t=a[0],be(t)?s.push(a):un(a)?a.call(this):be(a)&&t==="alias"?n.push(a):be(a)&&t.indexOf("capture")!==-1&&un(this[t])?s.push(a):i.push(a))}));var o=function(a,l){dn(a,(function(c){if(be(c[0])){var u=l;Ae(c,(function(p){u=u[p[0]].apply(u,p.slice(1))}))}else this[c[0]].apply(this,c.slice(1))}),l)};o(n,this),o(i,this),o(s,this)}ss(){var e,t;return((e=this.config.bootstrap)==null?void 0:e.featureFlags)&&Object.keys((t=this.config.bootstrap)==null?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,n){var i;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!j(e)&&qe(e)){var s=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(s&&!this.config.__preview_capture_bot_pageviews)){var o=n!=null&&n.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(o==null||!o.isRateLimited){t!=null&&t.$current_url&&!qe(t?.$current_url)&&(W.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),t==null||delete t.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var a=new Date,l=n?.timestamp||a,c=cn(),u={uuid:c,event:e,properties:this.calculateEventProperties(e,t||{},l,c)};e==="$pageview"&&this.config.__preview_capture_bot_pageviews&&s&&(u.event="$bot_pageview",u.properties.$browser_type="bot"),o&&(u.properties.$lib_rate_limit_remaining_tokens=o.remainingTokens),n?.$set&&(u.$set=n?.$set);var p,h=e!=="$groupidentify",f=this.vs(n?.$set_once,h);if(f&&(u.$set_once=f),(u=Y2(u,n!=null&&n._noTruncate?null:this.config.properties_string_max_length)).timestamp=l,j(n?.timestamp)||(u.properties.$event_time_override_provided=!0,u.properties.$event_time_override_system_time=a),e===Xo.DISMISSED||e===Xo.SENT){var v=t?.[Mh.SURVEY_ID],m=t?.[Mh.SURVEY_ITERATION];p={id:v,current_iteration:m},localStorage.getItem(I0(p))||localStorage.setItem(I0(p),"true"),u.$set=z({},u.$set,{[BT({id:v,current_iteration:m},e===Xo.SENT?"responded":"dismissed")]:!0})}else e===Xo.SHOWN&&(u.$set=z({},u.$set,{[Mh.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var g=z({},u.properties.$set,u.$set);if(zi(g)||this.setPersonPropertiesForFlags(g),!ge(this.config.before_send)){var b=this.cs(u);if(!b)return;u=b}this.qr.emit("eventCaptured",u);var x={method:"POST",url:(i=n?._url)!==null&&i!==void 0?i:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:u,compression:"best-available",batchKey:n?._batchKey};return!this.config.request_batching||n&&(n==null||!n._batchKey)||n!=null&&n.send_instantly?this.ts(x):this.Zr.enqueue(x),u}W.critical("This capture call is ignored due to client rate limiting.")}}else W.error("No event name provided to posthog.capture")}else W.uninitializedWarning("posthog.capture")}_addCaptureHook(e){return this.on("eventCaptured",(t=>e(t.event,t)))}calculateEventProperties(e,t,n,i,s){if(n=n||new Date,!this.persistence||!this.sessionPersistence)return t;var o=s?void 0:this.persistence.remove_event_timer(e),a=z({},t);if(a.token=this.config.token,a.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(a.$cookieless_mode=!0),e==="$snapshot"){var l=z({},this.persistence.properties(),this.sessionPersistence.properties());return a.distinct_id=l.distinct_id,(!qe(a.distinct_id)&&!Dr(a.distinct_id)||Fh(a.distinct_id))&&W.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=CT(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:p,windowId:h}=this.sessionManager.checkAndGetSessionAndWindowId(s,n.getTime());a.$session_id=p,a.$window_id=h}this.sessionPropsManager&&He(a,this.sessionPropsManager.getSessionProps());try{var f;this.sessionRecording&&He(a,this.sessionRecording.sdkDebugProperties),a.$sdk_debug_retry_queue_size=(f=this.es)==null?void 0:f.length}catch(b){a.$sdk_debug_error_capturing_properties=String(b)}if(this.requestRouter.region===Jo.CUSTOM&&(a.$lib_custom_api_host=this.config.api_host),c=e!=="$pageview"||s?e!=="$pageleave"||s?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(n):this.pageViewManager.doPageView(n,i),a=He(a,c),e==="$pageview"&&U&&(a.title=U.title),!j(o)){var v=n.getTime()-o;a.$duration=parseFloat((v/1e3).toFixed(3))}_t&&this.config.opt_out_useragent_filter&&(a.$browser_type=this._is_bot()?"bot":"browser"),(a=He({},u,this.persistence.properties(),this.sessionPersistence.properties(),a)).$is_identified=this._isIdentified(),be(this.config.property_denylist)?Ae(this.config.property_denylist,(function(b){delete a[b]})):W.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var m=this.config.sanitize_properties;m&&(W.error("sanitize_properties is deprecated. Use before_send instead"),a=m(a,e));var g=this.fs();return a.$process_person_profile=g,g&&!s&&this.ps("_calculate_event_properties"),a}vs(e,t){var n;if(t===void 0&&(t=!0),!this.persistence||!this.fs()||this.Br)return e;var i=this.persistence.get_initial_props(),s=(n=this.sessionPropsManager)==null?void 0:n.getSetOnceProps(),o=He({},i,s||{},e||{}),a=this.config.sanitize_properties;return a&&(W.error("sanitize_properties is deprecated. Use before_send instead"),o=a(o,"$set_once")),t&&(this.Br=!0),zi(o)?void 0:o}register(e,t){var n;(n=this.persistence)==null||n.register(e,t)}register_once(e,t,n){var i;(i=this.persistence)==null||i.register_once(e,t,n)}register_for_session(e){var t;(t=this.sessionPersistence)==null||t.register(e)}unregister(e){var t;(t=this.persistence)==null||t.unregister(e)}unregister_for_session(e){var t;(t=this.sessionPersistence)==null||t.unregister(e)}gs(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){return this.featureFlags.getFeatureFlagPayload(e)}getFeatureFlagResult(e,t){return this.featureFlags.getFeatureFlagResult(e,t)}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(e,t,n){var i=n!=null&&n.merge?this.featureFlags.getFlagVariants():{},s=n!=null&&n.merge?this.featureFlags.getFlagPayloads():{},o=z({},i,e),a=z({},s,t),l={};for(var[c,u]of Object.entries(o)){var p=typeof u=="string";l[c]={key:c,enabled:!!p||!!u,variant:p?u:void 0,reason:void 0,metadata:j(a?.[c])?void 0:{id:0,version:void 0,description:void 0,payload:a[c]}}}this.featureFlags.receivedFeatureFlags({flags:l})}updateEarlyAccessFeatureEnrollment(e,t,n){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t,n)}getEarlyAccessFeatures(e,t,n){return t===void 0&&(t=!1),this.featureFlags.getEarlyAccessFeatures(e,t,n)}on(e,t){return this.qr.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSurveysLoaded(e){return this.surveys.onSurveysLoaded(e)}onSessionId(e){var t,n;return(t=(n=this.sessionManager)==null?void 0:n.onSessionId(e))!==null&&t!==void 0?t:()=>{}}getSurveys(e,t){t===void 0&&(t=!1),this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e,t){t===void 0&&(t=!1),this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}displaySurvey(e,t){t===void 0&&(t=UT),this.surveys.displaySurvey(e,t)}cancelPendingSurvey(e){this.surveys.cancelPendingSurvey(e)}canRenderSurvey(e){return this.surveys.canRenderSurvey(e)}canRenderSurveyAsync(e,t){return t===void 0&&(t=!1),this.surveys.canRenderSurveyAsync(e,t)}identify(e,t,n){if(!this.__loaded||!this.persistence)return W.uninitializedWarning("posthog.identify");if(Dr(e)&&(e=e.toString(),W.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),e)if(["distinct_id","distinctid"].includes(e.toLowerCase()))W.critical('The string "'+e+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(e!==No){if(this.ps("posthog.identify")){var i=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property("$device_id")){var s=i;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},"")}e!==i&&e!==this.get_property(qo)&&(this.unregister(qo),this.register({distinct_id:e}));var o=(this.persistence.get_property(Pr)||"anonymous")==="anonymous";e!==i&&o?(this.persistence.set_property(Pr,"identified"),this.setPersonPropertiesForFlags(z({},n||{},t||{}),!1),this.capture("$identify",{distinct_id:e,$anon_distinct_id:i},{$set:t||{},$set_once:n||{}}),this.Jr=k0(e,t,n),this.featureFlags.setAnonymousDistinctId(i)):(t||n)&&this.setPersonProperties(t,n),e!==i&&(this.reloadFeatureFlags(),this.unregister(_c))}}else W.critical('The string "'+No+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else W.error("Unique user id has not been set in posthog.identify")}setPersonProperties(e,t){if((e||t)&&this.ps("posthog.setPersonProperties")){var n=k0(this.get_distinct_id(),e,t);this.Jr!==n?(this.setPersonPropertiesForFlags(z({},t||{},e||{})),this.capture("$set",{$set:e||{},$set_once:t||{}}),this.Jr=n):W.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(e,t,n){if(e&&t){var i=this.getGroups();i[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:z({},i,{[e]:t})}),n&&(this.capture("$groupidentify",{$group_type:e,$group_key:t,$group_set:n}),this.setGroupPropertiesForFlags({[e]:n})),i[e]===t||n||this.reloadFeatureFlags()}else W.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e,t){t===void 0&&(t=!0),this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e,t){t===void 0&&(t=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,n,i,s;if(W.info("reset"),!this.__loaded)return W.uninitializedWarning("posthog.reset");var o=this.get_property("$device_id");if(this.consent.reset(),(t=this.persistence)==null||t.clear(),(n=this.sessionPersistence)==null||n.clear(),this.surveys.reset(),this.featureFlags.reset(),(i=this.persistence)==null||i.set_property(Pr,"anonymous"),(s=this.sessionManager)==null||s.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:No,$device_id:null},"");else{var a=this.config.get_device_id(cn());this.register_once({distinct_id:a,$device_id:e?a:o},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return(e=(t=this.sessionManager)==null?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&e!==void 0?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";var{sessionId:t,sessionStartTimestamp:n}=this.sessionManager.checkAndGetSessionAndWindowId(!0),i=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+t);if(e!=null&&e.withTimestamp&&n){var s,o=(s=e.timestampLookBack)!==null&&s!==void 0?s:10;if(!n)return i;i+="?t="+Math.max(Math.floor((new Date().getTime()-n)/1e3)-o,0)}return i}alias(e,t){return e===this.get_property(ax)?(W.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(j(t)&&(t=this.get_distinct_id()),e!==t?(this.gs(qo,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(W.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){var t=z({},this.config);if(ze(e)){var n,i,s,o,a,l,c;He(this.config,O0(e));var u=this.Qr();(n=this.persistence)==null||n.update_config(this.config,t,u),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new ea(z({},this.config,{persistence:"sessionStorage"}),u);var p=this.Kr(this.config.debug);Fr(p)&&(this.config.debug=p),Fr(this.config.debug)&&(this.config.debug?(Mr.DEBUG=!0,Me.H()&&Me.G("ph_debug","true"),W.info("set_config",{config:e,oldConfig:t,newConfig:z({},this.config)})):(Mr.DEBUG=!1,Me.H()&&Me.V("ph_debug"))),(i=this.exceptionObserver)==null||i.onConfigChange(),(s=this.sessionRecording)==null||s.startIfEnabledOrStop(),(o=this.autocapture)==null||o.startIfEnabled(),(a=this.heatmaps)==null||a.startIfEnabled(),(l=this.exceptionObserver)==null||l.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(c=this.externalIntegrations)==null||c.startIfEnabledOrStop()}}startSessionRecording(e){var t=e===!0,n={sampling:t||!(e==null||!e.sampling),linked_flag:t||!(e==null||!e.linked_flag),url_trigger:t||!(e==null||!e.url_trigger),event_trigger:t||!(e==null||!e.event_trigger)};if(Object.values(n).some(Boolean)){var i,s,o,a,l;(i=this.sessionManager)==null||i.checkAndGetSessionAndWindowId(),n.sampling&&((s=this.sessionRecording)==null||s.overrideSampling()),n.linked_flag&&((o=this.sessionRecording)==null||o.overrideLinkedFlag()),n.url_trigger&&((a=this.sessionRecording)==null||a.overrideTrigger("url")),n.event_trigger&&((l=this.sessionRecording)==null||l.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!((e=this.sessionRecording)==null||!e.started)}captureException(e,t){var n=new Error("PostHog syntheticException"),i=this.exceptions.buildProperties(e,{handled:!0,syntheticException:n});return this.exceptions.sendExceptionEvent(z({},i,t))}startExceptionAutocapture(e){this.set_config({capture_exceptions:e==null||e})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return(t=this.persistence)==null?void 0:t.props[e]}getSessionProperty(e){var t;return(t=this.sessionPersistence)==null?void 0:t.props[e]}toString(){var e,t=(e=this.config.name)!==null&&e!==void 0?e:ji;return t!==ji&&(t=ji+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(Pr))==="identified"||((t=this.sessionPersistence)==null?void 0:t.get_property(Pr))==="identified"}fs(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&zi(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[qo])&&((t=this.persistence)==null||(t=t.props)==null||!t[wc]))}ds(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.ps("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}ps(e){return this.config.person_profiles==="never"?(W.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(wc,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var e=this.consent.isOptedOut(),t=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||e&&!!t}_s(){var e,t,n,i,s=this.Qr();return((e=this.persistence)==null?void 0:e.ki)!==s&&((n=this.persistence)==null||n.set_disabled(s)),((t=this.sessionPersistence)==null?void 0:t.ki)!==s&&((i=this.sessionPersistence)==null||i.set_disabled(s)),s}opt_in_capturing(e){var t;if(this.config.cookieless_mode!=="always"){var n,i,s;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(n=this.sessionManager)==null||n.destroy(),(i=this.pageViewManager)==null||i.destroy(),this.sessionManager=new Lc(this),this.pageViewManager=new Rc(this),this.persistence&&(this.sessionPropsManager=new Oc(this,this.sessionManager,this.persistence)),this.sessionRecording=new Nc(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(t=this.sessionRecording)==null||t.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(j(e?.captureEventName)||e!=null&&e.captureEventName)&&this.capture((s=e?.captureEventName)!==null&&s!==void 0?s:"$opt_in",e?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else W.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var e,t,n;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:No,$device_id:null}),(e=this.sessionManager)==null||e.destroy(),(t=this.pageViewManager)==null||t.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(n=this.sessionRecording)==null||n.stopRecording(),this.sessionRecording=void 0,this.hs())):W.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var e=this.consent.consent;return e===Or.GRANTED?"granted":e===Or.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._s()}_is_bot(){return kt?Bx(kt,this.config.custom_blocked_useragents):void 0}hs(){U&&(U.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:U.title},{send_instantly:!0}),this.Gr&&(U.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),je(U,"visibilitychange",this.Gr)))}debug(e){e===!1?(E?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(E?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}M(){var e,t,n,i,s,o,a,l=this.Yr||{};return"advanced_disable_flags"in l?!!l.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(W.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(n="advanced_disable_decide",i=!1,s=W,o=(t="advanced_disable_flags")in(e=l)&&!ge(e[t]),a=n in e&&!ge(e[n]),o?e[t]:a?(s&&s.warn("Config field '"+n+"' is deprecated. Please use '"+t+"' instead. The old field will be removed in a future major version."),e[n]):i)}cs(e){if(ge(this.config.before_send))return e;var t=be(this.config.before_send)?this.config.before_send:[this.config.before_send],n=e;for(var i of t){if(n=i(n),ge(n)){var s="Event '"+e.event+"' was rejected in beforeSend function";return S2(e.event)?W.warn(s+". This can cause unexpected behavior."):W.info(s),null}n.properties&&!zi(n.properties)||W.warn("Event '"+e.event+"' has no properties after beforeSend function, this is likely an error.")}return n}getPageViewId(){var e;return(e=this.pageViewManager.Kt)==null?void 0:e.pageViewId}captureTraceFeedback(e,t){this.capture("$ai_feedback",{$ai_trace_id:String(e),$ai_feedback_text:t})}captureTraceMetric(e,t,n){this.capture("$ai_metric",{$ai_trace_id:String(e),$ai_metric_name:t,$ai_metric_value:String(n)})}Kr(e){var t=Fr(e)&&!e,n=Me.H()&&Me.q("ph_debug")==="true";return!t&&(!!n||e)}};(function(r,e){for(var t=0;t<e.length;t++)r.prototype[e[t]]=K2(r.prototype[e[t]])})(Fc,["identify"]);var L0;var Ux=(L0=ta[ji]=new Fc,(function(){function r(){r.done||(r.done=!0,Vx=!1,Ae(ta,(function(e){e._dom_loaded()})))}U!=null&&U.addEventListener?U.readyState==="complete"?r():je(U,"DOMContentLoaded",r,{capture:!1}):E&&W.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),L0);var ig=class{constructor(e={}){this.options=e;if(this.client=e.client,this.featureFlagsCallback=e.onFeatureFlagsLoaded,this.captureCallback=e.onCapture,this.rrwebCallback=e.onRRWebEvent,!this.client&&e.consent&&e.requireExplicitConsent&&typeof window<"u"&&e.apiKey){let t=e.consent;t.getStatus()==="granted"&&this.initPostHog(),t.subscribe(i=>{i==="granted"?this.client?this.client.opt_in_capturing():this.initPostHog():i==="denied"&&this.client&&this.client.opt_out_capturing()});return}!this.client&&typeof window<"u"&&e.apiKey&&this.initPostHog()}initPostHog(){let e=this.options;if(!e.apiKey)return;let t=e.enableFeatureFlags??!0,n=`syntro_${e.apiKey.slice(-6)||"sdk"}`,o={api_host:`${(e.apiHost??"https://telemetry.syntrologie.com").replace(/\/$/,"")}/t/${e.apiKey}`,advanced_disable_feature_flags:!t,advanced_disable_feature_flags_on_first_load:!t,autocapture:e.autocapture??!0,capture_pageview:e.capturePageview??"history_change",capture_pageleave:e.capturePageleave??!0,disable_session_recording:!(e.sessionRecording??!0),opt_out_useragent_filter:!0,session_recording:{recordCrossDomainIFrames:!0},capture_performance:!0,enable_recording_console_log:!0};e.cookieless_mode&&(o.cookieless_mode=e.cookieless_mode);let a=Ux.init(e.apiKey,o,n);if(a&&(this.client=a),this.captureCallback&&this.client&&this.client.on("eventCaptured",(...l)=>{let c=l[0],u=typeof c=="string"?c:c?.event,p=typeof c=="string"?void 0:c?.properties;typeof u=="string"&&this.captureCallback?.(u,p)}),t&&this.featureFlagsCallback&&this.client){this.client.onFeatureFlags(()=>{let c=this.getAllFeatureFlags();c&&this.featureFlagsCallback&&this.featureFlagsCallback(c)});let l=this.getAllFeatureFlags();l&&Object.keys(l).length>0&&this.featureFlagsCallback(l)}this.rrwebCallback&&this.client&&this.setupRRWebIntercept()}setupRRWebIntercept(e=30){let t=this.client?.sessionRecording;if(!t){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let n=null,i=t;for(let o of Object.getOwnPropertyNames(i)){let a=i[o];if(a&&typeof a=="object"&&typeof a.onRRwebEmit=="function"&&typeof a.start=="function"&&a!==t){n=a;break}}if(!n){e>0&&setTimeout(()=>this.setupRRWebIntercept(e-1),500);return}let s=n.onRRwebEmit.bind(n);n.onRRwebEmit=o=>{this.rrwebCallback?.({kind:"rrweb",...o}),s(o)},typeof window<"u"&&(window.__RRWEB_INTERCEPT_READY__=!0)}getAllFeatureFlags(){return this.client?.featureFlags?.getFlagVariants()}getSegmentFlags(){let e=this.getAllFeatureFlags();if(!e)return{};let t={};for(let[n,i]of Object.entries(e))n.startsWith("in_segment_")&&(t[n]=i===!0);return t}identify(e,t){this.client?.identify(e,t)}alias(e,t){this.client?.alias(e,t)}optInCapturing(){this.client?.opt_in_capturing()}optOutCapturing(){this.client?.opt_out_capturing()}track(e,t){this.client?.capture(e,t)}trackCanvasOpened(e){this.track("shadow_canvas_opened",{surface:e})}trackCanvasClosed(e){this.track("shadow_canvas_closed",{surface:e})}trackRectangleViewed(e,t){this.track("shadow_canvas_rectangle_viewed",{rectangleId:e,surface:t})}trackAction(e,t,n){this.track("shadow_canvas_action",{action:e,rectangleId:t,surface:n})}register(e){this.client?.register?.(e)}getSessionId(){return this.client?.get_session_id?.()}startSessionRecording(){this.client?.startSessionRecording?.()}trackExperiment(e,t,n){let i=`$experiment_${e}`;this.register({[i]:n??`variation_${t}`,[`${i}_id`]:t}),this.track("$experiment_started",{$experiment_key:e,$experiment_variation_id:t,$experiment_variation_name:n??`variation_${t}`})}setPersonProperties(e){this.client?.capture("$set",{$set:e})}setPersonPropertiesOnce(e){this.client?.capture("$set",{$set_once:e})}getDistinctId(){return this.client?.get_distinct_id?.()}};function sg(r={}){return new ig(r)}var jx={posthog:r=>sg(r),noop:()=>mh()};function Wx(r,e){let t=jx[r];if(!t)throw new Error(`Unknown telemetry provider: ${r}. Supported: ${Object.keys(jx).join(", ")}`);return t(e)}async function zx(r){sd(),G("Syntro Bootstrap","====== INIT ======"),G("Syntro Bootstrap","Options:",{hasToken:!!r.token,tokenPrefix:`${r.token?.slice(0,15)}...`,hasCanvasOptions:!!r.canvas});let e=Rl();if(console.log(`[DIAG] Mode detection: sdkMode=${e}`),console.log("[DIAG] editorSource:",go()),console.log("[DIAG] editorConf:",Tl()),G("Syntro Bootstrap","SDK mode:",e??"normal"),!e&&typeof window<"u"){let H=!!window.__SYNTRO_EDITOR_PARAMS__,Q=!!window.__SYNTRO_AUDIT_LEGEND__,re=!!window.__SYNTRO_REVIEW_DATA__;if(H||Q||re){let fe=[H&&"__SYNTRO_EDITOR_PARAMS__",Q&&"__SYNTRO_AUDIT_LEGEND__",re&&"__SYNTRO_REVIEW_DATA__"].filter(Boolean);console.warn(`[Syntro Bootstrap] \u26A0 Mode detection returned null but mode-specific globals found: ${fe.join(", ")}. This suggests URL params were lost (redirect?) but the service worker injected mode data. Check if replaceState failed or if page JS changed the URL before init().`)}}console.log(`[DIAG] Token resolution: options.token=${r.token?r.token.slice(0,15)+"...":"null"}`);let t=r.token;if(!t&&e){let Q=Tl()?.syntro_token;Q?.startsWith("syn_")&&(t=Q,G("Syntro Bootstrap",`\u2713 Using syntro_token from editor_conf (${e} mode)`))}let n;if(t)if(t.startsWith("syn_"))G("Syntro Bootstrap","Token starts with syn_, decoding..."),n=mo(t),sd(n.d);else if(e)G("Syntro Bootstrap",`\u2713 Non-syn_ token allowed (${e} mode)`);else throw ul("Syntro Bootstrap","\u274C Token does not start with syn_ and NOT in editor/audit/review mode!"),ul("Syntro Bootstrap","Token received:",t),new Error("Invalid Syntro token: must start with 'syn_'");else if(e)G("Syntro Bootstrap",`\u2713 No token, but ${e} mode - proceeding`);else throw ul("Syntro Bootstrap","\u274C No token provided and NOT in editor/audit/review mode!"),new Error("Syntro token is required (unless in editor, audit, or review mode)");let i=Mt("NEXT_PUBLIC_SYNTRO_EXPERIMENT_HOST")||Mt("VITE_SYNTRO_EXPERIMENT_HOST")||n?.eh,s=Mt("NEXT_PUBLIC_SYNTRO_TELEMETRY_HOST")||Mt("VITE_SYNTRO_TELEMETRY_HOST")||n?.th;if(n!=null&&n.obd!==!0&&s)try{let H=`${s.replace(/\/$/,"")}/sdk-otel/v1/logs`,Q=od({resource:{serviceName:"syntro-runtime-sdk",serviceVersion:to,posthogKey:n.t??"",hostOrigin:typeof window<"u"?window.location.origin:""},emit:ld({endpoint:H})}),re=ud()??"https://cdn.syntrologie.com/runtime-sdk/",fe=kd(Q,{attributedScriptUrlPrefix:re});Q.attachAdapterCleanup(fe)}catch{}let o=Mt("NEXT_PUBLIC_SYNTRO_EDITOR_URL")||Mt("VITE_SYNTRO_EDITOR_URL")||r.canvas?.editorUrl,a=n?.g||Mt("NEXT_PUBLIC_SYNTRO_GEO_HOST")||Mt("VITE_SYNTRO_GEO_HOST")||wb,l=mb(),c=pp(),u=r.appSignalsInit??{},p=_b(),h=hp(c,p);xb(h);let f={...c,...h,...l,...u};G("Syntro Bootstrap","Phase 1: Browser metadata:",c),G("Syntro Bootstrap","Phase 1: Initial attrs:",h),G("Syntro Bootstrap","Phase 1: Cached segment attributes:",l),Object.keys(u).length>0&&G("Syntro Bootstrap","Phase 1: App signals:",u);let v=fp(a),m=(()=>{try{if(typeof window>"u"||window.self===window.top)return Promise.resolve(null)}catch{}return new Promise(H=>{let Q=setTimeout(()=>{window.removeEventListener("message",re),H(null)},500);function re(fe){let Ce=fe.data;Ce?.jsonrpc==="2.0"&&Ce?.id===1&&Ce?.result?.hostInfo&&(clearTimeout(Q),window.removeEventListener("message",re),H(Ce.result.hostInfo))}window.addEventListener("message",re);try{window.parent.postMessage({jsonrpc:"2.0",id:1,method:"ui/initialize",params:{capabilities:{}}},"*")}catch{clearTimeout(Q),window.removeEventListener("message",re),H(null)}})})(),g,b=r.debug||r.testMode,x=vo({debug:r.debug,history:b?new yo(r.testMode?0:100):void 0,testMode:r.testMode});console.log("[Syntro Bootstrap] EventBus created");let w=td({elementResolver:typeof window<"u"?(H,Q)=>{let re=document.elementFromPoint(H,Q);if(!re)return null;let fe={tag_name:re.tagName.toLowerCase()};re.id&&(fe.attr__id=re.id),re.className&&typeof re.className=="string"&&(fe.classes=re.className.split(" ").filter(Boolean));for(let Ce of re.attributes)Ce.name.startsWith("data-")&&(fe[`attr__${Ce.name}`]=Ce.value);return fe}:void 0});w.onEvent(H=>x.publishEvent(H)),typeof window<"u"&&(setInterval(()=>w.tick(Date.now()),1e3),document.addEventListener("click",H=>{let Q=[],re=H.target;for(;re&&re!==document.body;){let fe={tag_name:re.tagName.toLowerCase()};for(let Ce of re.attributes)(Ce.name.startsWith("data-")||Ce.name==="id"||Ce.name==="class"||Ce.name==="aria-label")&&(fe[`attr__${Ce.name}`]=Ce.value);Q.push(fe),re=re.parentElement}w.enrichClickAttributes(Date.now(),Q)},!0));let y=S_(),S,T=H=>{G("Syntro Bootstrap","Phase 2: PostHog feature flags loaded");let Q=yb(H);if(G("Syntro Bootstrap","Segment flags from PostHog:",Q),vb(Q),g){let re=C?.getAll?.()??{},fe={...c,...h,...re,...Q,...u};G("Syntro Bootstrap","Updating GrowthBook with attributes:",fe),g.setAttributes?.(fe)}if(S&&_?.getDistinctId){let re=_.getDistinctId();re&&s&&n?.t&&S.updateContext({distinctId:re,telemetryHost:s,telemetryKey:n.t})}},_;if(n?.t){let H=n.t==="noop"?"noop":"posthog";_=Wx(H,{apiKey:n.t,apiHost:s,enableFeatureFlags:!0,sessionRecording:!0,cookieless_mode:"on_reject",onFeatureFlagsLoaded:T,onCapture:(Se,Ie)=>{w.ingest({kind:"posthog",event:Se,properties:Ie,timestamp:Date.now()})},onRRWebEvent:Se=>{w.ingest(Se)}}),console.log(`[Syntro Bootstrap] Telemetry client created (${H}) with EventBus wiring`),Object.keys(u).length>0&&(_.track?.("app_signals_init",u),G("Syntro Bootstrap","Tracked app signals event:",u));let Q=_;x.setPosthogCapture((Se,Ie)=>{Q.track?.(Se,Ie)});let re=_,fe=async()=>{let Se=await v;return Se.is_eu==="true"||Se.country_code==="GB"||Se.country_code==="CH"?"denied":"granted"},Ce=new Oo({initialStatus:"pending",pendingResolver:fe,onConsentChange:Se=>{Se==="granted"?re.optInCapturing?.():Se==="denied"&&re.optOutCapturing?.()}});try{Rb(_,Ce,{geoPromise:v}),G("Syntro Bootstrap","SDK defaults installed (D-1..D-5) with consent gate")}catch(Se){dt("Syntro Bootstrap","installDefaults failed",Se)}try{new Po({adapters:[new Mo,new $o,new Io],fallbackStatus:fe,onAdapterSelected:Ie=>{re.track?.("syntro_consent_adapter_selected",{adapter:Ie??"none"}),G("Syntro Bootstrap",`Consent adapter selected: ${Ie??"none"}`)}}).start(Ce).catch(Ie=>{dt("Syntro Bootstrap","Consent detector failed to start",Ie)})}catch(Se){dt("Syntro Bootstrap","Consent detector setup failed",Se)}if(y?.name==="shopify"&&s)try{S=new rc({distinctId:_.getDistinctId?.()??"",telemetryHost:s,telemetryKey:n.t}),G("Syntro Bootstrap","ShopifyPixelBridge initialized for checkout attribution")}catch(Se){dt("Syntro Bootstrap","ShopifyPixelBridge init failed",Se)}}let C;n?.e&&(g=v_("growthbook",{clientKey:n.e,apiHost:i,attributes:f,onExperimentViewed:_?.trackExperiment?(H,Q,re)=>{_.trackExperiment(H,Q,re)}:void 0})),C=qp({experiments:g,onMetricChange:(H,Q)=>{G("Syntro Bootstrap",`Session metric changed: ${H} = ${Q}`)}}),G("Syntro Bootstrap","SessionMetricTracker created");let R="production";e==="editor"?R="editor":e==="audit"?R="audit":Mt("NODE_ENV")==="development"&&(R="development");let N=typeof c.surface_type=="string"?c.surface_type:"web",M=typeof c.surface_host=="string"?c.surface_host:"web",F=hh({telemetry:_,sessionMetrics:C,mode:R,events:x,initialSurfaceType:N,initialSurfaceHost:M});G("Syntro Bootstrap","Runtime created:",{version:F.version,mode:F.mode,hasContext:!!F.context,hasEvents:!!F.events,hasState:!!F.state}),G("Syntro Bootstrap","Core app executors already registered");let V=r.cdnBase||Mt("NEXT_PUBLIC_SYNTRO_CDN_BASE")||Mt("VITE_SYNTRO_CDN_BASE")||Sb()||"https://cdn.syntrologie.com",P=mu({cdnBase:V,registry:F.apps,onLoadStart:H=>{G("Syntro Bootstrap",`Loading app from CDN: ${H}`)},onLoadEnd:(H,Q,re)=>{Q?G("Syntro Bootstrap",`App loaded successfully: ${H}`):dt("Syntro Bootstrap",`Failed to load app: ${H}`,re)}});typeof window<"u"&&(window.SynOS={...window.SynOS,appRegistry:F.apps,appLoader:P,runtime:F,version:F.version},G("Syntro Bootstrap","Global SynOS object exposed")),typeof window<"u"&&window.parent!==window&&P.loadApp("adaptive-mcp").catch(H=>{G("Syntro Bootstrap","auto-load of adaptive-mcp failed (non-fatal):",H)});let K=F.apps.list?.()??[];console.log(`[DIAG] Activation loop: ${K.length} apps in registry:`,K.map(H=>`${H.manifest.id}(${H.state})`).join(", "));for(let H of K)if(H.state==="registered")try{await F.apps.activate(H.manifest.id),console.log(`[DIAG] Activated: ${H.manifest.id} \u2192 widgets: [${F.widgets.list().join(", ")}]`)}catch(Q){console.error(`[DIAG] FAILED to activate: ${H.manifest.id}`,Q),dt("Syntro Bootstrap",`Failed to auto-activate built-in app: ${H.manifest.id}`,Q)}if(console.log(`[DIAG] Activation complete. Total widgets: [${F.widgets.list().join(", ")}]`),g?.refreshFeatures)try{await g.refreshFeatures(),G("Syntro Bootstrap","GrowthBook features loaded")}catch(H){dt("Syntro Bootstrap","Failed to load GrowthBook features:",H)}let Y=await v;if(g&&Object.keys(Y).length>0){let H={...c,...h,...Y,...u};G("Syntro Bootstrap","Merging geo data into GrowthBook attributes:",Y),g.setAttributes?.(H)}let le=await m;le&&g&&(c.surface_type="mcp-app",c.surface_host=le.name,g.setAttributes?.({...c,...h,...Y}),F.context.setSurfaceType("mcp-app"),F.context.setSurfaceHost(le.name),G("Syntro Bootstrap","MCP App detected:",le.name));let D;if(r.fetcher)D=r.fetcher;else if(n?.f){let H=x_(n.f,n.o??{});D=async()=>{let Q=await H.fetch();return{...Q.config,tiles:Q.config.tiles??[]}}}else g&&(D=Ai({experiments:g}));let te=new Set,Ze=D?async()=>{let H=await D(),Q=H.tiles?.length??0,re=H.actions?.length??0,fe=H.meta?.variant_id;if((Q>0||re>0)&&(fe||console.warn("[Syntro] Config has content but no meta.variant_id \u2014 intervention tracking disabled")),_&&fe){let Ie=typeof window<"u"?window.SynOS??(window.SynOS={}):void 0,Ne=Ie?.interventionTracker,Zt;Ne&&Ne.variantId===fe?Zt=Ne:(Zt=new Lo(_,fe),Ie&&(Ie.interventionTracker=Zt),F.navigation.subscribe(()=>{Zt.resetPage()})),Zt.trackServed(Q,re)}console.log("[Syntro Bootstrap] Config fetched:",`tiles=${H.tiles?.length??0},`,`actions=${H.actions?.length??0},`,`theme=${H.theme?.name??"none"}`),H.actions?.length>0&&console.log("[Syntro Bootstrap] Actions in config:",H.actions.map((Ie,Ne)=>`[${Ne}] ${Ie.kind}${Ie.anchorId?` anchor="${Ie.anchorId.selector}"`:""}${Ie.label?` "${Ie.label}"`:""}`).join(", "));let Ce=H,Se=P.getRequiredApps(Ce);return Se.length>0?console.log("[Syntro Bootstrap] Required external apps:",Se.join(", ")):G("Syntro Bootstrap","No external apps required (all executors are built-in)"),Se.length>0&&await P.loadAppsForConfig(Ce).then(async Ne=>{let Zt=Ne.filter(Fe=>Fe.success),pa=Ne.filter(Fe=>!Fe.success);Zt.length>0&&console.log(`[Syntro Bootstrap] Apps loaded from CDN: ${Zt.map(Fe=>Fe.appId).join(", ")}`);let hn=pa.filter(Fe=>!te.has(Fe.appId));hn.length>0&&(console.error("[Syntro Bootstrap] Apps FAILED to load from CDN:",hn.map(Fe=>`${Fe.appId} (${Fe.error})`).join(", ")),hn.forEach(Fe=>te.add(Fe.appId)));for(let Fe of Se)if(F.apps.has(Fe))try{await F.apps.activate(Fe),console.log(`[Syntro Bootstrap] App activated: ${Fe}`)}catch(ha){console.error(`[Syntro Bootstrap] Failed to activate app: ${Fe}`,ha)}else console.error(`[Syntro Bootstrap] App "${Fe}" required by config but NOT registered.`,`Available apps: [${Array.from(F.apps.list?.()??[]).join(", ")}]`)}),H}:void 0;if(y){G("Syntro Bootstrap",`Detected platform: ${y.name}`);try{await y.onInit(),G("Syntro Bootstrap",`Platform adapter initialized: ${y.name}`)}catch(H){dt("Syntro Bootstrap",`Platform adapter init failed: ${y.name}`,H)}}let ot=await ap({...r.canvas,fetcher:Ze,integrations:{experiments:g,telemetry:_},editorUrl:o,runtime:F});if(ot.setOverrideFetcher){let H=ot.setOverrideFetcher.bind(ot);ot.setOverrideFetcher=Q=>{H(async()=>{let fe=await Q(),Ce=fe;if(P.getRequiredApps(Ce).length>0){let Ie=await P.loadAppsForConfig(Ce);for(let Ne of Ie)if(Ne.success&&F.apps.has(Ne.appId))try{await F.apps.activate(Ne.appId)}catch{}}return fe})}}let Le=nr();if(Le!==null)try{let H=_,Q=F;Le.bindRuntime({getSessionId:()=>{try{return H?.getSessionId?.()??""}catch{return""}},getSurface:()=>{try{let re=Q.context.get().surface;return re?{...re}:null}catch{return null}}})}catch{}return Le?.increment("bootstrap_ok"),{canvas:ot,runtime:F,experiments:g,telemetry:_,sessionMetrics:C,appLoader:P}}async function KT(r){try{return await zx(r)}catch(e){let t=e instanceof Error?e.message:String(e);console.warn("[Syntrologie] SDK initialization failed:",t),nr()?.increment("bootstrap_errors"),typeof document<"u"&&document.getElementById("syntrologie-anti-flicker")?.remove();return}}function YT(r,e={}){if(typeof window>"u")return;let t=window.SynOS?.runtime;t?.events?.publish&&t.events.publish({name:r,source:"custom",props:e})}async function XT(r){if(typeof window>"u")return{appId:r,success:!1,error:"no-window"};let e=window.SynOS?.appLoader;return e?e.loadApp(r):{appId:r,success:!1,error:"syntro-not-initialized"}}var qx={init:KT,loadAdaptive:XT,encodeToken:cp,decodeToken:mo,events:{emit:YT}};typeof window<"u"&&(window.Syntro=qx);function da(r){let e=r.split(".");return{major:parseInt(e[0]||"0",10),minor:parseInt(e[1]||"0",10)}}function hD(r){let e=[],t=[];if(!r||typeof r!="object")return{valid:!1,errors:["Config must be an object"],warnings:e};let n=r;if(n.tiles||t.push("Config missing required field: tiles"),n.actions||t.push("Config missing required field: actions"),n.fetchedAt||t.push("Config missing required field: fetchedAt"),t.length>0)return{valid:!1,errors:t,warnings:e};let i=n.schemaVersion||"1.0",s=da(i),o=da(Kr);return s.major>o.major&&e.push(`Config schema v${i} is newer than SDK v${Kr}. Some features may not work. Update SDK to latest version.`),s.major<o.major||!n.schemaVersion?(e.push(`Config schema v${i} is older than SDK v${Kr}. Migrating config to current version.`),{valid:!0,warnings:e,errors:t,migratedConfig:JT(n,i)}):{valid:!0,warnings:e,errors:t}}function JT(r,e){let t={...r};return da(e).major===1&&(t=QT(t)),t.schemaVersion=Kr,t}function QT(r){let e={schemaVersion:"2.0",tiles:[],actions:r.actions||[],fetchedAt:r.fetchedAt||new Date().toISOString()};return r.tiles&&Array.isArray(r.tiles)&&(e.tiles=r.tiles.map(t=>{let n={...t};return t.experiment&&delete n.experiment,n})),r.configVersion&&(e.configVersion=r.configVersion),r.canvasTitle&&(e.canvasTitle=r.canvasTitle),r.theme&&(e.theme=r.theme),r.launcher&&(e.launcher=r.launcher),e}function fD(r){if(!r||typeof r!="object")return!1;let e=r,t=e.schemaVersion||"1.0",n=da(t),i=da(Kr);return n.major<i.major||!e.schemaVersion}var eR=d.object({url:d.string(),routeId:d.string().optional(),title:d.string().optional(),locale:d.string().optional()}),tR=d.object({url:d.string(),ts:d.number()}),rR=d.object({sessionId:d.string(),startTs:d.number(),pageHistory:d.array(tR).optional()}),nR=d.object({width:d.number(),height:d.number()}),iR=d.object({x:d.number(),y:d.number(),w:d.number(),h:d.number()}),sR=d.object({anchorId:d.string(),present:d.boolean(),visible:d.boolean().optional(),boundingBox:iR.optional()}),oR=d.record(d.string(),d.union([d.number(),d.string(),d.boolean(),d.undefined()])),aR=d.object({page:eR,session:rR,viewport:nR,anchors:d.array(sR).optional(),augmented:oR.optional()});function vD(r){return aR.safeParse(r)}var og=class{constructor(e,t,n,i){this._isFallback=!0;this._isLoading=!0;this._cancelled=!1;this._host=e,this._runtime=t,this._strategy=n,this._defaultValue=i,this._value=i,e.addController(this)}get value(){return this._value}get isFallback(){return this._isFallback}get isLoading(){return this._isLoading}hostConnected(){this._evaluate()}hostDisconnected(){this._cancelled=!0}setStrategy(e){this._strategy=e,this._evaluate()}_evaluate(){if(this._cancelled=!1,!this._runtime||!this._strategy){this._value=this._defaultValue,this._isFallback=!0,this._isLoading=!1,this._host.requestUpdate();return}this._isLoading=!0,this._host.requestUpdate();let e=this._strategy;this._runtime.evaluate(e).then(t=>{this._cancelled||(this._value=t.value,this._isFallback=t.isFallback,this._isLoading=!1,this._host.requestUpdate())})}};var ag=class{constructor(e,t){this._unsubscribe=null;this.host=e,this._runtime=t,this._context=t.context.get(),e.addController(this)}hostConnected(){this._context=this._runtime.context.get(),this._unsubscribe=this._runtime.context.subscribe(e=>{this._context=e,this.host.requestUpdate()})}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=null}get runtime(){return this._runtime}get context(){return this._context}get page(){return this._context?.page??null}get session(){return this._context?.session??null}get viewport(){return this._context?.viewport??null}};var lg=class{constructor(e,t,n,i){this._host=e,this._runtime=t,this._filter=n,this._callback=i,e.addController(this)}hostConnected(){this._subscribe()}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0}setFilter(e){this._filter=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}setCallback(e){this._callback=e,this._unsubscribe!==void 0&&(this._unsubscribe(),this._unsubscribe=void 0,this._subscribe())}_subscribe(){this._runtime&&(this._unsubscribe=this._filter?this._runtime.events.subscribe(this._filter,this._callback):this._runtime.events.subscribe(this._callback))}};var Zx=d.enum(["posthog","canvas","derived"]),lR=d.object({ts:d.number(),name:d.string(),source:Zx,props:d.record(d.string(),d.unknown()).optional(),schemaVersion:d.string()}),cR=d.object({names:d.array(d.string()).optional(),patterns:d.array(d.string()).optional(),sources:d.array(Zx).optional()});function VD(r){return lR.safeParse(r)}function UD(r){return cR.safeParse(r)}var Gx=d.union([d.object({type:d.literal("data"),key:d.string(),value:d.string().optional()}),d.object({type:d.literal("css"),value:d.string()}),d.object({type:d.literal("aria"),role:d.string().optional(),label:d.string().optional()}),d.object({type:d.literal("shadow-css"),value:d.string()}),d.object({type:d.literal("ref"),el:d.any()})]),uR=d.object({kind:d.literal("tooltip"),id:d.string(),anchor:Gx,content:d.object({title:d.string().optional(),body:d.string()}),placement:d.enum(["top","bottom","left","right","auto"]).optional(),offsetPx:d.number().optional(),blocking:d.boolean().optional(),trigger:d.enum(["immediate","hover","click"]).optional(),dismiss:d.object({onEsc:d.boolean().optional(),closeButton:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),dR=d.object({kind:d.literal("highlight"),id:d.string(),anchor:Gx,copy:d.string().optional(),ring:d.object({paddingPx:d.number().optional(),radiusPx:d.number().optional()}).optional(),scrim:d.object({opacity:d.number().optional()}).optional(),ringColor:d.string().optional(),blocking:d.boolean().optional(),dismiss:d.object({onClickOutside:d.boolean().optional(),onEsc:d.boolean().optional(),timeoutMs:d.number().optional()}).optional()}),cg=d.object({id:d.string(),version:d.number(),routes:d.array(d.string()).optional(),steps:d.array(d.union([uR,dR]))});function n3(r){return cg.parse(r)}var a3=({configUri:r,experiments:e,featureKey:t="smart-canvas-overlay-uri",credentials:n="include"}={})=>async()=>{let i=Ed({configUri:r,experiments:e,featureKey:t});if(!i)throw new Error("SmartCanvas overlays: recipe URI missing (env + feature unset).");let s=await fetch(i,{credentials:n});if(!s.ok)throw new Error(`SmartCanvas overlays: failed to fetch recipe (${s.status})`);let o=await s.json();return cg.parse(o)};var pR=d.object({value:d.unknown(),expiresAt:d.number().optional()}),hR=d.object({count:d.number(),resetAt:d.number().optional()});function u3(r){return pR.safeParse(r)}function d3(r){return hR.safeParse(r)}var Kx="2026-05-09T06:00:11.105Z (0a492ced86d)";if(typeof window<"u"){console.log(`[Syntro Runtime] Build: ${Kx} (Lit)`);let r=window.SynOS,e=r?.appRegistry||ws;window.SynOS={...r,appRegistry:e,_runtimeBuild:Kx,_renderer:"lit"},bl(),Av(e)}export{Ro as ANIMATION_KEYFRAMES,Cl as ActivationConfigZ,jy as AddClassZ,$t as AnchorIdZ,sR as AnchorStateZ,ju as AnchorVisibleConditionZ,xs as AppRegistry,oR as AugmentationZ,My as BadgePositionZ,Ky as BadgeZ,iR as BoundingBoxZ,Xs as CanvasEvents,cg as CanvasRecipeZ,Gr as ConditionZ,nc as ContextManager,Ku as CooldownActiveConditionZ,Bs as CounterDefZ,np as CtaButtonZ,rd as DEFAULT_COOLDOWN,og as DecisionController,qs as DecisionStrategyZ,Gu as DismissedConditionZ,De as EVENT_SCHEMA_VERSION,Ol as EventBus,Xu as EventCountConditionZ,cR as EventFilterZ,yo as EventHistory,Wu as EventOccurredConditionZ,Zx as EventSourceZ,wl as ExecutorRegistry,zs as ExternalStrategyZ,hR as FrequencyEntryZ,Yu as FrequencyLimitConditionZ,dR as HighlightStepZ,$y as HighlightStyleZ,Zy as HighlightZ,qy as InsertHtmlZ,Ny as InsertPositionZ,Lo as InterventionTracker,ol as MAX_VISIBLE_TOASTS,Hs as MatchOpZ,Ly as ModalContentZ,Xy as ModalZ,Ws as ModelStrategyZ,eb as MountWidgetZ,Qy as NavigateZ,Eo as NavigationMonitor,lR as NormalizedEventZ,Ys as NotificationsController,eR as PageContextZ,tR as PageHistoryEntryZ,Vu as PageUrlConditionZ,nb as ParallelZ,Py as PlacementZ,Gy as PulseZ,Kx as RUNTIME_SDK_BUILD,D_ as RUNTIME_VERSION,Wy as RemoveClassZ,Uu as RouteConditionZ,Ry as RouteFilterZ,Us as RuleStrategyZ,Vs as RuleZ,aR as RuntimeContextZ,ag as RuntimeController,lg as RuntimeEventsController,Kr as SDK_SCHEMA_VERSION,to as SDK_VERSION,O_ as STATIC_SLOT_STYLES,js as ScoreStrategyZ,By as ScrollBehaviorZ,rp as ScrollLogicalPositionZ,Jy as ScrollToZ,Gx as SelectorZ,rb as SequenceZ,rR as SessionContextZ,Zu as SessionMetricConditionZ,Jl as SessionMetricTracker,Uy as SetAttrZ,zy as SetStyleZ,Vy as SetTextZ,Cd as SmartCanvasController,Ri as SmartCanvasElementLit,Je as StandardEvents,zu as StateEqualsConditionZ,oc as StateStore,pR as StoredValueZ,qx as Syntro,so as ThemeController,Oy as TooltipContentZ,uR as TooltipStepZ,Fy as TooltipTriggerZ,Yy as TooltipZ,Hy as TourStepForSchemaZ,ib as TourZ,Ya as TriggerWhenZ,qu as ViewportConditionZ,nR as ViewportContextZ,tb as WaitZ,Dy as WidgetConfigZ,lc as WidgetRegistry,nh as applyStaticSlotStyles,OC as coreActionStepSchemas,ep as createActionEngine,ip as createAnchorResolver,Ai as createCanvasConfigFetcher,Yp as createContextManager,Xp as createDecisionEngine,Jp as createEventAccumulator,vo as createEventBus,jp as createGrowthBookClient,mh as createNoopClient,a3 as createOverlayRecipeFetcher,sg as createPostHogClient,Dv as createPostHogNormalizer,qp as createSessionMetricTracker,ap as createSmartCanvas,cy as createSmartCanvasController,hh as createSmartCanvasRuntime,rh as createStateStore,lh as createSurfaceContainer,uh as createSurfaces,O5 as decisionSchemas,mo as decodeToken,cp as encodeToken,R_ as evaluate,C_ as evaluateCondition,A_ as evaluateRule,ic as evaluateRuleStrategy,sc as evaluateScoreStrategy,I_ as evaluateSync,Ar as executorRegistry,LC as getAntiFlickerSnippet,_C as getExecutor,ac as getSlotAnchorId,To as getSlotType,ch as getSlotZIndex,Dd as hasExecutor,fD as needsMigration,Gs as normalizePostHogEvent,da as parseVersion,oh as playEnterAnimation,ah as playExitAnimation,Ti as registerConfigPredicates,bl as registerSmartCanvasElement,Ed as resolveConfigUri,gC as runtimeContext,ih as setupAdjacentPositioning,sh as setupInlinePositioning,Ks as shouldNormalizeEvent,lr as validateAction,El as validateActions,P5 as validateActivationConfig,$5 as validateCondition,hD as validateConfig,UD as validateEventFilter,Sp as validateEventName,d3 as validateFrequencyEntry,VD as validateNormalizedEvent,kp as validateProps,n3 as validateRecipe,vD as validateRuntimeContext,u3 as validateStoredValue,M5 as validateStrategy,dh as widgetRegistry};
|
|
1066
1066
|
/*! Bundled license information:
|
|
1067
1067
|
|
|
1068
1068
|
@lit/reactive-element/css-tag.js:
|