wineater-bot 4.9.7 → 4.9.8
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/wineater-chatbot.mjs +2032 -2019
- package/dist/wineater-chatbot.umd.js +22 -22
- package/package.json +1 -1
- package/src/App.svelte +10 -0
- package/src/components/WineTile.svelte +3 -0
- package/src/components/ui/Action.svelte +1 -1
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
(function(se,ie){typeof exports=="object"&&typeof module<"u"?module.exports=ie():typeof define=="function"&&define.amd?define(ie):(se=typeof globalThis<"u"?globalThis:se||self,se.WineaterChatbot=ie())})(this,function(){"use strict";var Tp=Object.defineProperty;var vl=se=>{throw TypeError(se)};var xp=(se,ie,be)=>ie in se?Tp(se,ie,{enumerable:!0,configurable:!0,writable:!0,value:be}):se[ie]=be;var bt=(se,ie,be)=>xp(se,typeof ie!="symbol"?ie+"":ie,be),xr=(se,ie,be)=>ie.has(se)||vl("Cannot "+be);var w=(se,ie,be)=>(xr(se,ie,"read from private field"),be?be.call(se):ie.get(se)),q=(se,ie,be)=>ie.has(se)?vl("Cannot add the same private member more than once"):ie instanceof WeakSet?ie.add(se):ie.set(se,be),W=(se,ie,be,ps)=>(xr(se,ie,"write to private field"),ps?ps.call(se,be):ie.set(se,be),be),ke=(se,ie,be)=>(xr(se,ie,"access private method"),be);var hl,Bn,Fn,un,Wn,cs,zn,Vt,gt,jn,ze,Er,Ir,Cr,wl,Qe,kr,mt,hn,Me,vt,je,rt,It,dn,Gt,Un,Hn,qn,Ct,ti,ye,Ep,Ip,Cp,Nr,ri,oi,Rr,dl,ot,wt,Ue,fn,us,hs,ni,Vn,pn,Gn,fl,pl;const se="5";typeof window<"u"&&((hl=window.__svelte??(window.__svelte={})).v??(hl.v=new Set)).add(se);const ie=1,be=2,ps=16,bl=1,yl=2,Sl=4,_l=8,kl=16,Tl=1,xl=2,Te=Symbol(),Dr="http://www.w3.org/1999/xhtml",ai=!1;var li=Array.isArray,El=Array.prototype.indexOf,mn=Array.prototype.includes,gs=Array.from,Il=Object.defineProperty,vn=Object.getOwnPropertyDescriptor,Cl=Object.getOwnPropertyDescriptors,Nl=Object.prototype,Rl=Array.prototype,Or=Object.getPrototypeOf,Ar=Object.isExtensible;const Dl=()=>{};function Ol(t){for(var e=0;e<t.length;e++)t[e]()}function Mr(){var t,e,n=new Promise((s,i)=>{t=s,e=i});return{promise:n,resolve:t,reject:e}}const xe=2,Kn=4,ms=8,Pr=1<<24,yt=16,$e=32,Xt=64,ci=128,qe=512,_e=1024,Ee=2048,et=4096,Be=8192,St=16384,Yt=32768,Jt=65536,Lr=1<<17,Br=1<<18,wn=1<<19,Al=1<<20,Nt=1<<25,Qt=65536,ui=1<<21,hi=1<<22,Rt=1<<23,Zt=Symbol("$state"),Ml=Symbol("legacy props"),Pl=Symbol(""),$t=new class extends Error{constructor(){super(...arguments);bt(this,"name","StaleReactionError");bt(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function Ll(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Bl(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Fl(t,e,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Wl(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function zl(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function jl(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Ul(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Hl(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function ql(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Vl(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Gl(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Kl(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function Xl(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Yl(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Fr(t){return t===this.v}function Jl(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function Wr(t){return!Jl(t,this.v)}let bn=!1,Ql=!1;function Zl(){bn=!0}let ve=null;function yn(t){ve=t}function Dt(t,e=!1,n){ve={p:ve,i:!1,c:null,e:null,s:t,x:null,l:bn&&!e?{s:null,u:null,$:[]}:null}}function Ot(t){var e=ve,n=e.e;if(n!==null){e.e=null;for(var s of n)lo(s)}return t!==void 0&&(e.x=t),e.i=!0,ve=e.p,t??{}}function Xn(){return!bn||ve!==null&&ve.l===null}let en=[];function zr(){var t=en;en=[],Ol(t)}function At(t){if(en.length===0&&!Yn){var e=en;queueMicrotask(()=>{e===en&&zr()})}en.push(t)}function $l(){for(;en.length>0;)zr()}function jr(t){var e=Z;if(e===null)return K.f|=Rt,t;if(!(e.f&Yt)&&!(e.f&Kn))throw t;Mt(t,e)}function Mt(t,e){for(;e!==null;){if(e.f&ci){if(!(e.f&Yt))throw t;try{e.b.error(t);return}catch(n){t=n}}e=e.parent}throw t}const ec=-7169;function fe(t,e){t.f=t.f&ec|e}function di(t){t.f&qe||t.deps===null?fe(t,_e):fe(t,et)}function Ur(t){if(t!==null)for(const e of t)!(e.f&xe)||!(e.f&Qt)||(e.f^=Qt,Ur(e.deps))}function Hr(t,e,n){t.f&Ee?e.add(t):t.f&et&&n.add(t),Ur(t.deps),fe(t,_e)}const vs=new Set;let z=null,fi=null,Ie=null,Re=[],ws=null,pi=!1,Yn=!1;const _r=class _r{constructor(){q(this,ze);bt(this,"current",new Map);bt(this,"previous",new Map);q(this,Bn,new Set);q(this,Fn,new Set);q(this,un,0);q(this,Wn,0);q(this,cs,null);q(this,zn,new Set);q(this,Vt,new Set);q(this,gt,new Map);bt(this,"is_fork",!1);q(this,jn,!1)}skip_effect(e){w(this,gt).has(e)||w(this,gt).set(e,{d:[],m:[]})}unskip_effect(e){var n=w(this,gt).get(e);if(n){w(this,gt).delete(e);for(var s of n.d)fe(s,Ee),nt(s);for(s of n.m)fe(s,et),nt(s)}}process(e){var i;Re=[],this.apply();var n=[],s=[];for(const r of e)ke(this,ze,Ir).call(this,r,n,s);if(ke(this,ze,Er).call(this)){ke(this,ze,Cr).call(this,s),ke(this,ze,Cr).call(this,n);for(const[r,o]of w(this,gt))Xr(r,o)}else{for(const r of w(this,Bn))r();w(this,Bn).clear(),w(this,un)===0&&ke(this,ze,wl).call(this),fi=this,z=null,Vr(s),Vr(n),w(this,zn).clear(),w(this,Vt).clear(),fi=null,(i=w(this,cs))==null||i.resolve()}Ie=null}capture(e,n){n!==Te&&!this.previous.has(e)&&this.previous.set(e,n),e.f&Rt||(this.current.set(e,e.v),Ie==null||Ie.set(e,e.v))}activate(){z=this,this.apply()}deactivate(){z===this&&(z=null,Ie=null)}flush(){if(this.activate(),Re.length>0){if(qr(),z!==null&&z!==this)return}else w(this,un)===0&&this.process([]);this.deactivate()}discard(){for(const e of w(this,Fn))e(this);w(this,Fn).clear()}increment(e){W(this,un,w(this,un)+1),e&&W(this,Wn,w(this,Wn)+1)}decrement(e){W(this,un,w(this,un)-1),e&&W(this,Wn,w(this,Wn)-1),!w(this,jn)&&(W(this,jn,!0),At(()=>{W(this,jn,!1),ke(this,ze,Er).call(this)?Re.length>0&&this.flush():this.revive()}))}revive(){for(const e of w(this,zn))w(this,Vt).delete(e),fe(e,Ee),nt(e);for(const e of w(this,Vt))fe(e,et),nt(e);this.flush()}oncommit(e){w(this,Bn).add(e)}ondiscard(e){w(this,Fn).add(e)}settled(){return(w(this,cs)??W(this,cs,Mr())).promise}static ensure(){if(z===null){const e=z=new _r;vs.add(z),Yn||At(()=>{z===e&&e.flush()})}return z}apply(){}};Bn=new WeakMap,Fn=new WeakMap,un=new WeakMap,Wn=new WeakMap,cs=new WeakMap,zn=new WeakMap,Vt=new WeakMap,gt=new WeakMap,jn=new WeakMap,ze=new WeakSet,Er=function(){return this.is_fork||w(this,Wn)>0},Ir=function(e,n,s){e.f^=_e;for(var i=e.first;i!==null;){var r=i.f,o=(r&($e|Xt))!==0,a=o&&(r&_e)!==0,l=a||(r&Be)!==0||w(this,gt).has(i);if(!l&&i.fn!==null){o?i.f^=_e:r&Kn?n.push(i):$n(i)&&(r&yt&&w(this,Vt).add(i),kn(i));var u=i.first;if(u!==null){i=u;continue}}for(;i!==null;){var c=i.next;if(c!==null){i=c;break}i=i.parent}}},Cr=function(e){for(var n=0;n<e.length;n+=1)Hr(e[n],w(this,zn),w(this,Vt))},wl=function(){var i;if(vs.size>1){this.previous.clear();var e=Ie,n=!0;for(const r of vs){if(r===this){n=!1;continue}const o=[];for(const[l,u]of this.current){if(r.current.has(l))if(n&&u!==r.current.get(l))r.current.set(l,u);else continue;o.push(l)}if(o.length===0)continue;const a=[...r.current.keys()].filter(l=>!this.current.has(l));if(a.length>0){var s=Re;Re=[];const l=new Set,u=new Map;for(const c of o)Gr(c,a,l,u);if(Re.length>0){z=r,r.apply();for(const c of Re)ke(i=r,ze,Ir).call(i,c,[],[]);r.deactivate()}Re=s}}z=null,Ie=e}w(this,gt).clear(),vs.delete(this)};let Pt=_r;function tc(t){var e=Yn;Yn=!0;try{for(var n;;){if($l(),Re.length===0&&(z==null||z.flush(),Re.length===0))return ws=null,n;qr()}}finally{Yn=e}}function qr(){pi=!0;var t=null;try{for(var e=0;Re.length>0;){var n=Pt.ensure();if(e++>1e3){var s,i;nc()}n.process(Re),Lt.clear()}}finally{Re=[],pi=!1,ws=null}}function nc(){try{Ul()}catch(t){Mt(t,ws)}}let tt=null;function Vr(t){var e=t.length;if(e!==0){for(var n=0;n<e;){var s=t[n++];if(!(s.f&(St|Be))&&$n(s)&&(tt=new Set,kn(s),s.deps===null&&s.first===null&&s.nodes===null&&s.teardown===null&&s.ac===null&&ho(s),(tt==null?void 0:tt.size)>0)){Lt.clear();for(const i of tt){if(i.f&(St|Be))continue;const r=[i];let o=i.parent;for(;o!==null;)tt.has(o)&&(tt.delete(o),r.push(o)),o=o.parent;for(let a=r.length-1;a>=0;a--){const l=r[a];l.f&(St|Be)||kn(l)}}tt.clear()}}tt=null}}function Gr(t,e,n,s){if(!n.has(t)&&(n.add(t),t.reactions!==null))for(const i of t.reactions){const r=i.f;r&xe?Gr(i,e,n,s):r&(hi|yt)&&!(r&Ee)&&Kr(i,e,s)&&(fe(i,Ee),nt(i))}}function Kr(t,e,n){const s=n.get(t);if(s!==void 0)return s;if(t.deps!==null)for(const i of t.deps){if(mn.call(e,i))return!0;if(i.f&xe&&Kr(i,e,n))return n.set(i,!0),!0}return n.set(t,!1),!1}function nt(t){var e=ws=t,n=e.b;if(n!=null&&n.is_pending&&t.f&(Kn|ms|Pr)&&!(t.f&Yt)){n.defer_effect(t);return}for(;e.parent!==null;){e=e.parent;var s=e.f;if(pi&&e===Z&&s&yt&&!(s&Br)&&s&Yt)return;if(s&(Xt|$e)){if(!(s&_e))return;e.f^=_e}}Re.push(e)}function Xr(t,e){if(!(t.f&$e&&t.f&_e)){t.f&Ee?e.d.push(t):t.f&et&&e.m.push(t),fe(t,_e);for(var n=t.first;n!==null;)Xr(n,e),n=n.next}}function sc(t){let e=0,n=tn(0),s;return()=>{bi()&&(v(n),Si(()=>(e===0&&(s=ts(()=>t(()=>Jn(n)))),e+=1,()=>{At(()=>{e-=1,e===0&&(s==null||s(),s=void 0,Jn(n))})})))}}var ic=Jt|wn;function rc(t,e,n,s){new oc(t,e,n,s)}class oc{constructor(e,n,s,i){q(this,ye);bt(this,"parent");bt(this,"is_pending",!1);bt(this,"transform_error");q(this,Qe);q(this,kr,null);q(this,mt);q(this,hn);q(this,Me);q(this,vt,null);q(this,je,null);q(this,rt,null);q(this,It,null);q(this,dn,0);q(this,Gt,0);q(this,Un,!1);q(this,Hn,new Set);q(this,qn,new Set);q(this,Ct,null);q(this,ti,sc(()=>(W(this,Ct,tn(w(this,dn))),()=>{W(this,Ct,null)})));var r;W(this,Qe,e),W(this,mt,n),W(this,hn,o=>{var a=Z;a.b=this,a.f|=ci,s(o)}),this.parent=Z.b,this.transform_error=i??((r=this.parent)==null?void 0:r.transform_error)??(o=>o),W(this,Me,Ss(()=>{ke(this,ye,Nr).call(this)},ic))}defer_effect(e){Hr(e,w(this,Hn),w(this,qn))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!w(this,mt).pending}update_pending_count(e){ke(this,ye,Rr).call(this,e),W(this,dn,w(this,dn)+e),!(!w(this,Ct)||w(this,Un))&&(W(this,Un,!0),At(()=>{W(this,Un,!1),w(this,Ct)&&Sn(w(this,Ct),w(this,dn))}))}get_effect_pending(){return w(this,ti).call(this),v(w(this,Ct))}error(e){var n=w(this,mt).onerror;let s=w(this,mt).failed;if(!n&&!s)throw e;w(this,vt)&&(De(w(this,vt)),W(this,vt,null)),w(this,je)&&(De(w(this,je)),W(this,je,null)),w(this,rt)&&(De(w(this,rt)),W(this,rt,null));var i=!1,r=!1;const o=()=>{if(i){Yl();return}i=!0,r&&Kl(),w(this,rt)!==null&&nn(w(this,rt),()=>{W(this,rt,null)}),ke(this,ye,oi).call(this,()=>{Pt.ensure(),ke(this,ye,Nr).call(this)})},a=l=>{try{r=!0,n==null||n(l,o),r=!1}catch(u){Mt(u,w(this,Me)&&w(this,Me).parent)}s&&W(this,rt,ke(this,ye,oi).call(this,()=>{Pt.ensure();try{return Ve(()=>{var u=Z;u.b=this,u.f|=ci,s(w(this,Qe),()=>l,()=>o)})}catch(u){return Mt(u,w(this,Me).parent),null}}))};At(()=>{var l;try{l=this.transform_error(e)}catch(u){Mt(u,w(this,Me)&&w(this,Me).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(a,u=>Mt(u,w(this,Me)&&w(this,Me).parent)):a(l)})}}Qe=new WeakMap,kr=new WeakMap,mt=new WeakMap,hn=new WeakMap,Me=new WeakMap,vt=new WeakMap,je=new WeakMap,rt=new WeakMap,It=new WeakMap,dn=new WeakMap,Gt=new WeakMap,Un=new WeakMap,Hn=new WeakMap,qn=new WeakMap,Ct=new WeakMap,ti=new WeakMap,ye=new WeakSet,Ep=function(){try{W(this,vt,Ve(()=>w(this,hn).call(this,w(this,Qe))))}catch(e){this.error(e)}},Ip=function(e){const n=w(this,mt).failed;n&&W(this,rt,Ve(()=>{n(w(this,Qe),()=>e,()=>()=>{})}))},Cp=function(){const e=w(this,mt).pending;e&&(this.is_pending=!0,W(this,je,Ve(()=>e(w(this,Qe)))),At(()=>{var n=W(this,It,document.createDocumentFragment()),s=_t();n.append(s),W(this,vt,ke(this,ye,oi).call(this,()=>(Pt.ensure(),Ve(()=>w(this,hn).call(this,s))))),w(this,Gt)===0&&(w(this,Qe).before(n),W(this,It,null),nn(w(this,je),()=>{W(this,je,null)}),ke(this,ye,ri).call(this))}))},Nr=function(){try{if(this.is_pending=this.has_pending_snippet(),W(this,Gt,0),W(this,dn,0),W(this,vt,Ve(()=>{w(this,hn).call(this,w(this,Qe))})),w(this,Gt)>0){var e=W(this,It,document.createDocumentFragment());go(w(this,vt),e);const n=w(this,mt).pending;W(this,je,Ve(()=>n(w(this,Qe))))}else ke(this,ye,ri).call(this)}catch(n){this.error(n)}},ri=function(){this.is_pending=!1;for(const e of w(this,Hn))fe(e,Ee),nt(e);for(const e of w(this,qn))fe(e,et),nt(e);w(this,Hn).clear(),w(this,qn).clear()},oi=function(e){var n=Z,s=K,i=ve;lt(w(this,Me)),Ge(w(this,Me)),yn(w(this,Me).ctx);try{return e()}catch(r){return jr(r),null}finally{lt(n),Ge(s),yn(i)}},Rr=function(e){var n;if(!this.has_pending_snippet()){this.parent&&ke(n=this.parent,ye,Rr).call(n,e);return}W(this,Gt,w(this,Gt)+e),w(this,Gt)===0&&(ke(this,ye,ri).call(this),w(this,je)&&nn(w(this,je),()=>{W(this,je,null)}),w(this,It)&&(w(this,Qe).before(w(this,It)),W(this,It,null)))};function ac(t,e,n,s){const i=Xn()?bs:mi;var r=t.filter(h=>!h.settled);if(n.length===0&&r.length===0){s(e.map(i));return}var o=Z,a=lc(),l=r.length===1?r[0].promise:r.length>1?Promise.all(r.map(h=>h.promise)):null;function u(h){a();try{s(h)}catch(d){o.f&St||Mt(d,o)}gi()}if(n.length===0){l.then(()=>u(e.map(i)));return}function c(){a(),Promise.all(n.map(h=>uc(h))).then(h=>u([...e.map(i),...h])).catch(h=>Mt(h,o))}l?l.then(c):c()}function lc(){var t=Z,e=K,n=ve,s=z;return function(r=!0){lt(t),Ge(e),yn(n),r&&(s==null||s.activate())}}function gi(t=!0){lt(null),Ge(null),yn(null),t&&(z==null||z.deactivate())}function cc(){var t=Z.b,e=z,n=t.is_rendered();return t.update_pending_count(1),e.increment(n),()=>{t.update_pending_count(-1),e.decrement(n)}}function bs(t){var e=xe|Ee,n=K!==null&&K.f&xe?K:null;return Z!==null&&(Z.f|=wn),{ctx:ve,deps:null,effects:null,equals:Fr,f:e,fn:t,reactions:null,rv:0,v:Te,wv:0,parent:n??Z,ac:null}}function uc(t,e,n){Z===null&&Bl();var i=void 0,r=tn(Te),o=!K,a=new Map;return Tc(()=>{var d;var l=Mr();i=l.promise;try{Promise.resolve(t()).then(l.resolve,l.reject).finally(gi)}catch(p){l.reject(p),gi()}var u=z;if(o){var c=cc();(d=a.get(u))==null||d.reject($t),a.delete(u),a.set(u,l)}const h=(p,f=void 0)=>{if(u.activate(),f)f!==$t&&(r.f|=Rt,Sn(r,f));else{r.f&Rt&&(r.f^=Rt),Sn(r,p);for(const[m,S]of a){if(a.delete(m),m===u)break;S.reject($t)}}c&&c()};l.promise.then(h,p=>h(null,p||"unknown"))}),yi(()=>{for(const l of a.values())l.reject($t)}),new Promise(l=>{function u(c){function h(){c===i?l(r):u(i)}c.then(h,h)}u(i)})}function re(t){const e=bs(t);return vo(e),e}function mi(t){const e=bs(t);return e.equals=Wr,e}function hc(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;n<e.length;n+=1)De(e[n])}}function dc(t){for(var e=t.parent;e!==null;){if(!(e.f&xe))return e.f&St?null:e;e=e.parent}return null}function vi(t){var e,n=Z;lt(dc(t));try{t.f&=~Qt,hc(t),e=_o(t)}finally{lt(n)}return e}function Yr(t){var e=vi(t);if(!t.equals(e)&&(t.wv=yo(),(!(z!=null&&z.is_fork)||t.deps===null)&&(t.v=e,t.deps===null))){fe(t,_e);return}Ft||(Ie!==null?(bi()||z!=null&&z.is_fork)&&Ie.set(t,e):di(t))}function fc(t){var e,n;if(t.effects!==null)for(const s of t.effects)(s.teardown||s.ac)&&((e=s.teardown)==null||e.call(s),(n=s.ac)==null||n.abort($t),s.teardown=Dl,s.ac=null,es(s,0),_i(s))}function Jr(t){if(t.effects!==null)for(const e of t.effects)e.teardown&&kn(e)}let wi=new Set;const Lt=new Map;let Qr=!1;function tn(t,e){var n={f:0,v:t,reactions:null,equals:Fr,rv:0,wv:0};return n}function le(t,e){const n=tn(t);return vo(n),n}function pc(t,e=!1,n=!0){var i;const s=tn(t);return e||(s.equals=Wr),bn&&n&&ve!==null&&ve.l!==null&&((i=ve.l).s??(i.s=[])).push(s),s}function D(t,e,n=!1){K!==null&&(!st||K.f&Lr)&&Xn()&&K.f&(xe|yt|hi|Lr)&&(Ke===null||!mn.call(Ke,t))&&Gl();let s=n?at(e):e;return Sn(t,s)}function Sn(t,e){if(!t.equals(e)){var n=t.v;Ft?Lt.set(t,e):Lt.set(t,n),t.v=e;var s=Pt.ensure();if(s.capture(t,n),t.f&xe){const i=t;t.f&Ee&&vi(i),di(i)}t.wv=yo(),$r(t,Ee),Xn()&&Z!==null&&Z.f&_e&&!(Z.f&($e|Xt))&&(Xe===null?Ic([t]):Xe.push(t)),!s.is_fork&&wi.size>0&&!Qr&&gc()}return e}function gc(){Qr=!1;for(const t of wi)t.f&_e&&fe(t,et),$n(t)&&kn(t);wi.clear()}function Zr(t,e=1){var n=v(t),s=e===1?n++:n--;return D(t,n),s}function Jn(t){D(t,t.v+1)}function $r(t,e){var n=t.reactions;if(n!==null)for(var s=Xn(),i=n.length,r=0;r<i;r++){var o=n[r],a=o.f;if(!(!s&&o===Z)){var l=(a&Ee)===0;if(l&&fe(o,e),a&xe){var u=o;Ie==null||Ie.delete(u),a&Qt||(a&qe&&(o.f|=Qt),$r(u,et))}else l&&(a&yt&&tt!==null&&tt.add(o),nt(o))}}}function at(t){if(typeof t!="object"||t===null||Zt in t)return t;const e=Or(t);if(e!==Nl&&e!==Rl)return t;var n=new Map,s=li(t),i=le(0),r=rn,o=a=>{if(rn===r)return a();var l=K,u=rn;Ge(null),bo(r);var c=a();return Ge(l),bo(u),c};return s&&n.set("length",le(t.length)),new Proxy(t,{defineProperty(a,l,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&ql();var c=n.get(l);return c===void 0?o(()=>{var h=le(u.value);return n.set(l,h),h}):D(c,u.value,!0),!0},deleteProperty(a,l){var u=n.get(l);if(u===void 0){if(l in a){const c=o(()=>le(Te));n.set(l,c),Jn(i)}}else D(u,Te),Jn(i);return!0},get(a,l,u){var p;if(l===Zt)return t;var c=n.get(l),h=l in a;if(c===void 0&&(!h||(p=vn(a,l))!=null&&p.writable)&&(c=o(()=>{var f=at(h?a[l]:Te),m=le(f);return m}),n.set(l,c)),c!==void 0){var d=v(c);return d===Te?void 0:d}return Reflect.get(a,l,u)},getOwnPropertyDescriptor(a,l){var u=Reflect.getOwnPropertyDescriptor(a,l);if(u&&"value"in u){var c=n.get(l);c&&(u.value=v(c))}else if(u===void 0){var h=n.get(l),d=h==null?void 0:h.v;if(h!==void 0&&d!==Te)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return u},has(a,l){var d;if(l===Zt)return!0;var u=n.get(l),c=u!==void 0&&u.v!==Te||Reflect.has(a,l);if(u!==void 0||Z!==null&&(!c||(d=vn(a,l))!=null&&d.writable)){u===void 0&&(u=o(()=>{var p=c?at(a[l]):Te,f=le(p);return f}),n.set(l,u));var h=v(u);if(h===Te)return!1}return c},set(a,l,u,c){var I;var h=n.get(l),d=l in a;if(s&&l==="length")for(var p=u;p<h.v;p+=1){var f=n.get(p+"");f!==void 0?D(f,Te):p in a&&(f=o(()=>le(Te)),n.set(p+"",f))}if(h===void 0)(!d||(I=vn(a,l))!=null&&I.writable)&&(h=o(()=>le(void 0)),D(h,at(u)),n.set(l,h));else{d=h.v!==Te;var m=o(()=>at(u));D(h,m)}var S=Reflect.getOwnPropertyDescriptor(a,l);if(S!=null&&S.set&&S.set.call(c,u),!d){if(s&&typeof l=="string"){var T=n.get("length"),x=Number(l);Number.isInteger(x)&&x>=T.v&&D(T,x+1)}Jn(i)}return!0},ownKeys(a){v(i);var l=Reflect.ownKeys(a).filter(h=>{var d=n.get(h);return d===void 0||d.v!==Te});for(var[u,c]of n)c.v!==Te&&!(u in a)&&l.push(u);return l},setPrototypeOf(){Vl()}})}function eo(t){try{if(t!==null&&typeof t=="object"&&Zt in t)return t[Zt]}catch{}return t}function mc(t,e){return Object.is(eo(t),eo(e))}var to,no,so,io;function vc(){if(to===void 0){to=window,no=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;so=vn(e,"firstChild").get,io=vn(e,"nextSibling").get,Ar(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),Ar(n)&&(n.__t=void 0)}}function _t(t=""){return document.createTextNode(t)}function _n(t){return so.call(t)}function Qn(t){return io.call(t)}function O(t,e){return _n(t)}function Bt(t,e=!1){{var n=_n(t);return n instanceof Comment&&n.data===""?Qn(n):n}}function H(t,e=1,n=!1){let s=t;for(;e--;)s=Qn(s);return s}function wc(t){t.textContent=""}function ro(){return!1}function oo(t,e,n){return document.createElementNS(Dr,t,void 0)}let ao=!1;function bc(){ao||(ao=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(const n of t.target.elements)(e=n.__on_r)==null||e.call(n)})},{capture:!0}))}function ys(t){var e=K,n=Z;Ge(null),lt(null);try{return t()}finally{Ge(e),lt(n)}}function yc(t,e,n,s=n){t.addEventListener(e,()=>ys(n));const i=t.__on_r;i?t.__on_r=()=>{i(),s(!0)}:t.__on_r=()=>s(!0),bc()}function Sc(t){Z===null&&(K===null&&jl(),zl()),Ft&&Wl()}function _c(t,e){var n=e.last;n===null?e.last=e.first=t:(n.next=t,t.prev=n,e.last=t)}function kt(t,e,n){var s=Z;s!==null&&s.f&Be&&(t|=Be);var i={ctx:ve,deps:null,nodes:null,f:t|Ee|qe,first:null,fn:e,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{kn(i)}catch(a){throw De(i),a}else e!==null&&nt(i);var r=i;if(n&&r.deps===null&&r.teardown===null&&r.nodes===null&&r.first===r.last&&!(r.f&wn)&&(r=r.first,t&yt&&t&Jt&&r!==null&&(r.f|=Jt)),r!==null&&(r.parent=s,s!==null&&_c(r,s),K!==null&&K.f&xe&&!(t&Xt))){var o=K;(o.effects??(o.effects=[])).push(r)}return i}function bi(){return K!==null&&!st}function yi(t){const e=kt(ms,null,!1);return fe(e,_e),e.teardown=t,e}function Zn(t){Sc();var e=Z.f,n=!K&&(e&$e)!==0&&(e&Yt)===0;if(n){var s=ve;(s.e??(s.e=[])).push(t)}else return lo(t)}function lo(t){return kt(Kn|Al,t,!1)}function kc(t){Pt.ensure();const e=kt(Xt|wn,t,!0);return(n={})=>new Promise(s=>{n.outro?nn(e,()=>{De(e),s(void 0)}):(De(e),s(void 0))})}function co(t){return kt(Kn,t,!1)}function Tc(t){return kt(hi|wn,t,!0)}function Si(t,e=0){return kt(ms|e,t,!0)}function G(t,e=[],n=[],s=[]){ac(s,e,n,i=>{kt(ms,()=>t(...i.map(v)),!0)})}function Ss(t,e=0){var n=kt(yt|e,t,!0);return n}function Ve(t){return kt($e|wn,t,!0)}function uo(t){var e=t.teardown;if(e!==null){const n=Ft,s=K;mo(!0),Ge(null);try{e.call(null)}finally{mo(n),Ge(s)}}}function _i(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){const i=n.ac;i!==null&&ys(()=>{i.abort($t)});var s=n.next;n.f&Xt?n.parent=null:De(n,e),n=s}}function xc(t){for(var e=t.first;e!==null;){var n=e.next;e.f&$e||De(e),e=n}}function De(t,e=!0){var n=!1;(e||t.f&Br)&&t.nodes!==null&&t.nodes.end!==null&&(Ec(t.nodes.start,t.nodes.end),n=!0),_i(t,e&&!n),es(t,0),fe(t,St);var s=t.nodes&&t.nodes.t;if(s!==null)for(const r of s)r.stop();uo(t);var i=t.parent;i!==null&&i.first!==null&&ho(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function Ec(t,e){for(;t!==null;){var n=t===e?null:Qn(t);t.remove(),t=n}}function ho(t){var e=t.parent,n=t.prev,s=t.next;n!==null&&(n.next=s),s!==null&&(s.prev=n),e!==null&&(e.first===t&&(e.first=s),e.last===t&&(e.last=n))}function nn(t,e,n=!0){var s=[];fo(t,s,!0);var i=()=>{n&&De(t),e&&e()},r=s.length;if(r>0){var o=()=>--r||i();for(var a of s)a.out(o)}else i()}function fo(t,e,n){if(!(t.f&Be)){t.f^=Be;var s=t.nodes&&t.nodes.t;if(s!==null)for(const a of s)(a.is_global||n)&&e.push(a);for(var i=t.first;i!==null;){var r=i.next,o=(i.f&Jt)!==0||(i.f&$e)!==0&&(t.f&yt)!==0;fo(i,e,o?n:!1),i=r}}}function ki(t){po(t,!0)}function po(t,e){if(t.f&Be){t.f^=Be,t.f&_e||(fe(t,Ee),nt(t));for(var n=t.first;n!==null;){var s=n.next,i=(n.f&Jt)!==0||(n.f&$e)!==0;po(n,i?e:!1),n=s}var r=t.nodes&&t.nodes.t;if(r!==null)for(const o of r)(o.is_global||e)&&o.in()}}function go(t,e){if(t.nodes)for(var n=t.nodes.start,s=t.nodes.end;n!==null;){var i=n===s?null:Qn(n);e.append(n),n=i}}let _s=!1,Ft=!1;function mo(t){Ft=t}let K=null,st=!1;function Ge(t){K=t}let Z=null;function lt(t){Z=t}let Ke=null;function vo(t){K!==null&&(Ke===null?Ke=[t]:Ke.push(t))}let Oe=null,Fe=0,Xe=null;function Ic(t){Xe=t}let wo=1,sn=0,rn=sn;function bo(t){rn=t}function yo(){return++wo}function $n(t){var e=t.f;if(e&Ee)return!0;if(e&xe&&(t.f&=~Qt),e&et){for(var n=t.deps,s=n.length,i=0;i<s;i++){var r=n[i];if($n(r)&&Yr(r),r.wv>t.wv)return!0}e&qe&&Ie===null&&fe(t,_e)}return!1}function So(t,e,n=!0){var s=t.reactions;if(s!==null&&!(Ke!==null&&mn.call(Ke,t)))for(var i=0;i<s.length;i++){var r=s[i];r.f&xe?So(r,e,!1):e===r&&(n?fe(r,Ee):r.f&_e&&fe(r,et),nt(r))}}function _o(t){var m;var e=Oe,n=Fe,s=Xe,i=K,r=Ke,o=ve,a=st,l=rn,u=t.f;Oe=null,Fe=0,Xe=null,K=u&($e|Xt)?null:t,Ke=null,yn(t.ctx),st=!1,rn=++sn,t.ac!==null&&(ys(()=>{t.ac.abort($t)}),t.ac=null);try{t.f|=ui;var c=t.fn,h=c();t.f|=Yt;var d=t.deps,p=z==null?void 0:z.is_fork;if(Oe!==null){var f;if(p||es(t,Fe),d!==null&&Fe>0)for(d.length=Fe+Oe.length,f=0;f<Oe.length;f++)d[Fe+f]=Oe[f];else t.deps=d=Oe;if(bi()&&t.f&qe)for(f=Fe;f<d.length;f++)((m=d[f]).reactions??(m.reactions=[])).push(t)}else!p&&d!==null&&Fe<d.length&&(es(t,Fe),d.length=Fe);if(Xn()&&Xe!==null&&!st&&d!==null&&!(t.f&(xe|et|Ee)))for(f=0;f<Xe.length;f++)So(Xe[f],t);if(i!==null&&i!==t){if(sn++,i.deps!==null)for(let S=0;S<n;S+=1)i.deps[S].rv=sn;if(e!==null)for(const S of e)S.rv=sn;Xe!==null&&(s===null?s=Xe:s.push(...Xe))}return t.f&Rt&&(t.f^=Rt),h}catch(S){return jr(S)}finally{t.f^=ui,Oe=e,Fe=n,Xe=s,K=i,Ke=r,yn(o),st=a,rn=l}}function Cc(t,e){let n=e.reactions;if(n!==null){var s=El.call(n,t);if(s!==-1){var i=n.length-1;i===0?n=e.reactions=null:(n[s]=n[i],n.pop())}}if(n===null&&e.f&xe&&(Oe===null||!mn.call(Oe,e))){var r=e;r.f&qe&&(r.f^=qe,r.f&=~Qt),di(r),fc(r),es(r,0)}}function es(t,e){var n=t.deps;if(n!==null)for(var s=e;s<n.length;s++)Cc(t,n[s])}function kn(t){var e=t.f;if(!(e&St)){fe(t,_e);var n=Z,s=_s;Z=t,_s=!0;try{e&(yt|Pr)?xc(t):_i(t),uo(t);var i=_o(t);t.teardown=typeof i=="function"?i:null,t.wv=wo;var r;ai&&Ql&&t.f&Ee&&t.deps}finally{_s=s,Z=n}}}async function Nc(){await Promise.resolve(),tc()}function v(t){var e=t.f,n=(e&xe)!==0;if(K!==null&&!st){var s=Z!==null&&(Z.f&St)!==0;if(!s&&(Ke===null||!mn.call(Ke,t))){var i=K.deps;if(K.f&ui)t.rv<sn&&(t.rv=sn,Oe===null&&i!==null&&i[Fe]===t?Fe++:Oe===null?Oe=[t]:Oe.push(t));else{(K.deps??(K.deps=[])).push(t);var r=t.reactions;r===null?t.reactions=[K]:mn.call(r,K)||r.push(K)}}}if(Ft&&Lt.has(t))return Lt.get(t);if(n){var o=t;if(Ft){var a=o.v;return(!(o.f&_e)&&o.reactions!==null||To(o))&&(a=vi(o)),Lt.set(o,a),a}var l=(o.f&qe)===0&&!st&&K!==null&&(_s||(K.f&qe)!==0),u=(o.f&Yt)===0;$n(o)&&(l&&(o.f|=qe),Yr(o)),l&&!u&&(Jr(o),ko(o))}if(Ie!=null&&Ie.has(t))return Ie.get(t);if(t.f&Rt)throw t.v;return t.v}function ko(t){if(t.f|=qe,t.deps!==null)for(const e of t.deps)(e.reactions??(e.reactions=[])).push(t),e.f&xe&&!(e.f&qe)&&(Jr(e),ko(e))}function To(t){if(t.v===Te)return!0;if(t.deps===null)return!1;for(const e of t.deps)if(Lt.has(e)||e.f&xe&&To(e))return!0;return!1}function ts(t){var e=st;try{return st=!0,t()}finally{st=e}}const on=Symbol("events"),xo=new Set,Ti=new Set;function Rc(t,e,n,s={}){function i(r){if(s.capture||xi.call(e,r),!r.cancelBubble)return ys(()=>n==null?void 0:n.call(this,r))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?At(()=>{e.addEventListener(t,i,s)}):e.addEventListener(t,i,s),i}function Tt(t,e,n,s,i){var r={capture:s,passive:i},o=Rc(t,e,n,r);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&yi(()=>{e.removeEventListener(t,o,r)})}function Tn(t,e,n){(e[on]??(e[on]={}))[t]=n}function ks(t){for(var e=0;e<t.length;e++)xo.add(t[e]);for(var n of Ti)n(t)}let Eo=null;function xi(t){var S,T;var e=this,n=e.ownerDocument,s=t.type,i=((S=t.composedPath)==null?void 0:S.call(t))||[],r=i[0]||t.target;Eo=t;var o=0,a=Eo===t&&t[on];if(a){var l=i.indexOf(a);if(l!==-1&&(e===document||e===window)){t[on]=e;return}var u=i.indexOf(e);if(u===-1)return;l<=u&&(o=l)}if(r=i[o]||t.target,r!==e){Il(t,"currentTarget",{configurable:!0,get(){return r||n}});var c=K,h=Z;Ge(null),lt(null);try{for(var d,p=[];r!==null;){var f=r.assignedSlot||r.parentNode||r.host||null;try{var m=(T=r[on])==null?void 0:T[s];m!=null&&(!r.disabled||t.target===r)&&m.call(r,t)}catch(x){d?p.push(x):d=x}if(t.cancelBubble||f===e||f===null)break;r=f}if(d){for(let x of p)queueMicrotask(()=>{throw x});throw d}}finally{t[on]=e,delete t.currentTarget,Ge(c),lt(h)}}}const Ei=((dl=globalThis==null?void 0:globalThis.window)==null?void 0:dl.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Dc(t){return(Ei==null?void 0:Ei.createHTML(t))??t}function Io(t){var e=oo("template");return e.innerHTML=Dc(t.replaceAll("<!>","<!---->")),e.content}function ns(t,e){var n=Z;n.nodes===null&&(n.nodes={start:t,end:e,a:null,t:null})}function V(t,e){var n=(e&Tl)!==0,s=(e&xl)!==0,i,r=!t.startsWith("<!>");return()=>{i===void 0&&(i=Io(r?t:"<!>"+t),n||(i=_n(i)));var o=s||no?document.importNode(i,!0):i.cloneNode(!0);if(n){var a=_n(o),l=o.lastChild;ns(a,l)}else ns(o,o);return o}}function Oc(t,e,n="svg"){var s=!t.startsWith("<!>"),i=`<${n}>${s?t:"<!>"+t}</${n}>`,r;return()=>{if(!r){var o=Io(i),a=_n(o);r=_n(a)}var l=r.cloneNode(!0);return ns(l,l),l}}function Ts(t,e){return Oc(t,e,"svg")}function xs(t=""){{var e=_t(t+"");return ns(e,e),e}}function Es(){var t=document.createDocumentFragment(),e=document.createComment(""),n=_t();return t.append(e,n),ns(e,n),t}function M(t,e){t!==null&&t.before(e)}const Ac=["touchstart","touchmove"];function Mc(t){return Ac.includes(t)}function $(t,e){var n=e==null?"":typeof e=="object"?`${e}`:e;n!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=n,t.nodeValue=`${n}`)}function Pc(t,e){return Lc(t,e)}const Is=new Map;function Lc(t,{target:e,anchor:n,props:s={},events:i,context:r,intro:o=!0,transformError:a}){vc();var l=void 0,u=kc(()=>{var c=n??e.appendChild(_t());rc(c,{pending:()=>{}},p=>{Dt({});var f=ve;r&&(f.c=r),i&&(s.$$events=i),l=t(p,s)||{},Ot()},a);var h=new Set,d=p=>{for(var f=0;f<p.length;f++){var m=p[f];if(!h.has(m)){h.add(m);var S=Mc(m);for(const I of[e,document]){var T=Is.get(I);T===void 0&&(T=new Map,Is.set(I,T));var x=T.get(m);x===void 0?(I.addEventListener(m,xi,{passive:S}),T.set(m,1)):T.set(m,x+1)}}}};return d(gs(xo)),Ti.add(d),()=>{var S;for(var p of h)for(const T of[e,document]){var f=Is.get(T),m=f.get(p);--m==0?(T.removeEventListener(p,xi),f.delete(p),f.size===0&&Is.delete(T)):f.set(p,m)}Ti.delete(d),c!==n&&((S=c.parentNode)==null||S.removeChild(c))}});return Bc.set(l,u),l}let Bc=new WeakMap;class Co{constructor(e,n=!0){bt(this,"anchor");q(this,ot,new Map);q(this,wt,new Map);q(this,Ue,new Map);q(this,fn,new Set);q(this,us,!0);q(this,hs,()=>{var e=z;if(w(this,ot).has(e)){var n=w(this,ot).get(e),s=w(this,wt).get(n);if(s)ki(s),w(this,fn).delete(n);else{var i=w(this,Ue).get(n);i&&(w(this,wt).set(n,i.effect),w(this,Ue).delete(n),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),s=i.effect)}for(const[r,o]of w(this,ot)){if(w(this,ot).delete(r),r===e)break;const a=w(this,Ue).get(o);a&&(De(a.effect),w(this,Ue).delete(o))}for(const[r,o]of w(this,wt)){if(r===n||w(this,fn).has(r))continue;const a=()=>{if(Array.from(w(this,ot).values()).includes(r)){var u=document.createDocumentFragment();go(o,u),u.append(_t()),w(this,Ue).set(r,{effect:o,fragment:u})}else De(o);w(this,fn).delete(r),w(this,wt).delete(r)};w(this,us)||!s?(w(this,fn).add(r),nn(o,a,!1)):a()}}});q(this,ni,e=>{w(this,ot).delete(e);const n=Array.from(w(this,ot).values());for(const[s,i]of w(this,Ue))n.includes(s)||(De(i.effect),w(this,Ue).delete(s))});this.anchor=e,W(this,us,n)}ensure(e,n){var s=z,i=ro();if(n&&!w(this,wt).has(e)&&!w(this,Ue).has(e))if(i){var r=document.createDocumentFragment(),o=_t();r.append(o),w(this,Ue).set(e,{effect:Ve(()=>n(o)),fragment:r})}else w(this,wt).set(e,Ve(()=>n(this.anchor)));if(w(this,ot).set(s,e),i){for(const[a,l]of w(this,wt))a===e?s.unskip_effect(l):s.skip_effect(l);for(const[a,l]of w(this,Ue))a===e?s.unskip_effect(l.effect):s.skip_effect(l.effect);s.oncommit(w(this,hs)),s.ondiscard(w(this,ni))}else w(this,hs).call(this)}}ot=new WeakMap,wt=new WeakMap,Ue=new WeakMap,fn=new WeakMap,us=new WeakMap,hs=new WeakMap,ni=new WeakMap;function Ii(t){ve===null&&Ll(),bn&&ve.l!==null?Fc(ve).m.push(t):Zn(()=>{const e=ts(t);if(typeof e=="function")return e})}function Fc(t){var e=t.l;return e.u??(e.u={a:[],b:[],m:[]})}function ce(t,e,n=!1){var s=new Co(t),i=n?Jt:0;function r(o,a){s.ensure(o,a)}Ss(()=>{var o=!1;e((a,l=0)=>{o=!0,r(l,a)}),o||r(!1,null)},i)}function xn(t,e){return e}function Wc(t,e,n){for(var s=[],i=e.length,r,o=e.length,a=0;a<i;a++){let h=e[a];nn(h,()=>{if(r){if(r.pending.delete(h),r.done.add(h),r.pending.size===0){var d=t.outrogroups;Ci(gs(r.done)),d.delete(r),d.size===0&&(t.outrogroups=null)}}else o-=1},!1)}if(o===0){var l=s.length===0&&n!==null;if(l){var u=n,c=u.parentNode;wc(c),c.append(u),t.items.clear()}Ci(e,!l)}else r={pending:new Set(e),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(r)}function Ci(t,e=!0){for(var n=0;n<t.length;n++)De(t[n],e)}var No;function En(t,e,n,s,i,r=null){var o=t,a=new Map;{var l=t;o=l.appendChild(_t())}var u=null,c=mi(()=>{var S=n();return li(S)?S:S==null?[]:gs(S)}),h,d=!0;function p(){m.fallback=u,zc(m,h,o,e,s),u!==null&&(h.length===0?u.f&Nt?(u.f^=Nt,is(u,null,o)):ki(u):nn(u,()=>{u=null}))}var f=Ss(()=>{h=v(c);for(var S=h.length,T=new Set,x=z,I=ro(),g=0;g<S;g+=1){var b=h[g],_=s(b,g),k=d?null:a.get(_);k?(k.v&&Sn(k.v,b),k.i&&Sn(k.i,g),I&&x.unskip_effect(k.e)):(k=jc(a,d?o:No??(No=_t()),b,_,g,i,e,n),d||(k.e.f|=Nt),a.set(_,k)),T.add(_)}if(S===0&&r&&!u&&(d?u=Ve(()=>r(o)):(u=Ve(()=>r(No??(No=_t()))),u.f|=Nt)),S>T.size&&Fl(),!d)if(I){for(const[y,E]of a)T.has(y)||x.skip_effect(E.e);x.oncommit(p),x.ondiscard(()=>{})}else p();v(c)}),m={effect:f,items:a,outrogroups:null,fallback:u};d=!1}function ss(t){for(;t!==null&&!(t.f&$e);)t=t.next;return t}function zc(t,e,n,s,i){var y;var r=e.length,o=t.items,a=ss(t.effect.first),l,u=null,c=[],h=[],d,p,f,m;for(m=0;m<r;m+=1){if(d=e[m],p=i(d,m),f=o.get(p).e,t.outrogroups!==null)for(const E of t.outrogroups)E.pending.delete(f),E.done.delete(f);if(f.f&Nt)if(f.f^=Nt,f===a)is(f,null,n);else{var S=u?u.next:a;f===t.effect.last&&(t.effect.last=f.prev),f.prev&&(f.prev.next=f.next),f.next&&(f.next.prev=f.prev),Wt(t,u,f),Wt(t,f,S),is(f,S,n),u=f,c=[],h=[],a=ss(u.next);continue}if(f.f&Be&&ki(f),f!==a){if(l!==void 0&&l.has(f)){if(c.length<h.length){var T=h[0],x;u=T.prev;var I=c[0],g=c[c.length-1];for(x=0;x<c.length;x+=1)is(c[x],T,n);for(x=0;x<h.length;x+=1)l.delete(h[x]);Wt(t,I.prev,g.next),Wt(t,u,I),Wt(t,g,T),a=T,u=g,m-=1,c=[],h=[]}else l.delete(f),is(f,a,n),Wt(t,f.prev,f.next),Wt(t,f,u===null?t.effect.first:u.next),Wt(t,u,f),u=f;continue}for(c=[],h=[];a!==null&&a!==f;)(l??(l=new Set)).add(a),h.push(a),a=ss(a.next);if(a===null)continue}f.f&Nt||c.push(f),u=f,a=ss(f.next)}if(t.outrogroups!==null){for(const E of t.outrogroups)E.pending.size===0&&(Ci(gs(E.done)),(y=t.outrogroups)==null||y.delete(E));t.outrogroups.size===0&&(t.outrogroups=null)}if(a!==null||l!==void 0){var b=[];if(l!==void 0)for(f of l)f.f&Be||b.push(f);for(;a!==null;)!(a.f&Be)&&a!==t.fallback&&b.push(a),a=ss(a.next);var _=b.length;if(_>0){var k=r===0?n:null;Wc(t,b,k)}}}function jc(t,e,n,s,i,r,o,a){var l=o&ie?o&ps?tn(n):pc(n,!1,!1):null,u=o&be?tn(i):null;return{v:l,i:u,e:Ve(()=>(r(e,l??n,u??i,a),()=>{t.delete(s)}))}}function is(t,e,n){if(t.nodes)for(var s=t.nodes.start,i=t.nodes.end,r=e&&!(e.f&Nt)?e.nodes.start:n;s!==null;){var o=Qn(s);if(r.before(s),s===i)return;s=o}}function Wt(t,e,n){e===null?t.effect.first=n:e.next=n,n===null?t.effect.last=e:n.prev=e}function Ro(t,e,n,s,i){var a;var r=(a=e.$$slots)==null?void 0:a[n],o=!1;r===!0&&(r=e.children,o=!0),r===void 0||r(t,o?()=>s:s)}function Do(t,e,n){var s=new Co(t);Ss(()=>{var i=e()??null;s.ensure(i,i&&(r=>n(r,i)))},Jt)}function zt(t,e){co(()=>{var n=t.getRootNode(),s=n.host?n:n.head??n.ownerDocument.head;if(!s.querySelector("#"+e.hash)){const i=oo("style");i.id=e.hash,i.textContent=e.code,s.appendChild(i)}})}function Oo(t){var e,n,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(e=0;e<i;e++)t[e]&&(n=Oo(t[e]))&&(s&&(s+=" "),s+=n)}else for(n in t)t[n]&&(s&&(s+=" "),s+=n);return s}function Uc(){for(var t,e,n=0,s="",i=arguments.length;n<i;n++)(t=arguments[n])&&(e=Oo(t))&&(s&&(s+=" "),s+=e);return s}function In(t){return typeof t=="object"?Uc(t):t??""}function Hc(t,e,n){var s=t==null?"":""+t;return e&&(s=s?s+" "+e:e),s===""?null:s}function jt(t,e,n,s,i,r){var o=t.__className;if(o!==n||o===void 0){var a=Hc(n,s);a==null?t.removeAttribute("class"):e?t.className=a:t.setAttribute("class",a),t.__className=n}return r}function Ao(t,e,n=!1){if(t.multiple){if(e==null)return;if(!li(e))return Xl();for(var s of t.options)s.selected=e.includes(Mo(s));return}for(s of t.options){var i=Mo(s);if(mc(i,e)){s.selected=!0;return}}(!n||e!==void 0)&&(t.selectedIndex=-1)}function qc(t){var e=new MutationObserver(()=>{Ao(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),yi(()=>{e.disconnect()})}function Mo(t){return"__value"in t?t.__value:t.value}const Vc=Symbol("is custom element"),Gc=Symbol("is html");function Kc(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function Ce(t,e,n,s){var i=Xc(t);i[e]!==(i[e]=n)&&(e==="loading"&&(t[Pl]=n),n==null?t.removeAttribute(e):typeof n!="string"&&Yc(t).includes(e)?t[e]=n:t.setAttribute(e,n))}function Xc(t){return t.__attributes??(t.__attributes={[Vc]:t.nodeName.includes("-"),[Gc]:t.namespaceURI===Dr})}var Po=new Map;function Yc(t){var e=t.getAttribute("is")||t.nodeName,n=Po.get(e);if(n)return n;Po.set(e,n=[]);for(var s,i=t,r=Element.prototype;r!==i;){s=Cl(i);for(var o in s)s[o].set&&n.push(o);i=Or(i)}return n}function Jc(t,e,n=e){var s=new WeakSet;yc(t,"input",async i=>{var r=i?t.defaultValue:t.value;if(r=Ni(t)?Ri(r):r,n(r),z!==null&&s.add(z),await Nc(),r!==(r=e())){var o=t.selectionStart,a=t.selectionEnd,l=t.value.length;if(t.value=r??"",a!==null){var u=t.value.length;o===a&&a===l&&u>l?(t.selectionStart=u,t.selectionEnd=u):(t.selectionStart=o,t.selectionEnd=Math.min(a,u))}}}),ts(e)==null&&t.value&&(n(Ni(t)?Ri(t.value):t.value),z!==null&&s.add(z)),Si(()=>{var i=e();if(t===document.activeElement){var r=fi??z;if(s.has(r))return}Ni(t)&&i===Ri(t.value)||t.type==="date"&&!i&&!t.value||i!==t.value&&(t.value=i??"")})}function Ni(t){var e=t.type;return e==="number"||e==="range"}function Ri(t){return t===""?null:+t}function Lo(t,e){return t===e||(t==null?void 0:t[Zt])===e}function Qc(t={},e,n,s){return co(()=>{var i,r;return Si(()=>{i=r,r=[],ts(()=>{t!==n(...r)&&(e(t,...r),i&&Lo(n(...i),t)&&e(null,...i))})}),()=>{At(()=>{r&&Lo(n(...r),t)&&e(null,...r)})}}),t}let Cs=!1;function Zc(t){var e=Cs;try{return Cs=!1,[t(),Cs]}finally{Cs=e}}function We(t,e,n,s){var I;var i=!bn||(n&yl)!==0,r=(n&_l)!==0,o=(n&kl)!==0,a=s,l=!0,u=()=>(l&&(l=!1,a=o?ts(s):s),a),c;if(r){var h=Zt in t||Ml in t;c=((I=vn(t,e))==null?void 0:I.set)??(h&&e in t?g=>t[e]=g:void 0)}var d,p=!1;r?[d,p]=Zc(()=>t[e]):d=t[e],d===void 0&&s!==void 0&&(d=u(),c&&(i&&Hl(),c(d)));var f;if(i?f=()=>{var g=t[e];return g===void 0?u():(l=!0,g)}:f=()=>{var g=t[e];return g!==void 0&&(a=void 0),g===void 0?a:g},i&&!(n&Sl))return f;if(c){var m=t.$$legacy;return function(g,b){return arguments.length>0?((!i||!b||m||p)&&c(b?f():g),g):f()}}var S=!1,T=(n&bl?bs:mi)(()=>(S=!1,f()));r&&v(T);var x=Z;return function(g,b){if(arguments.length>0){const _=b?v(T):i&&r?at(g):g;return D(T,_),S=!0,a!==void 0&&(a=_),g}return Ft&&S||x.f&St?T.v:v(T)}}function Bo(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Di(t,e,n){let s="";if(n){const i=new Date;i.setTime(i.getTime()+n*24*60*60*1e3),s="; expires="+i.toUTCString()}document.cookie=t+"="+(e||"")+s+"; path=/; secure; samesite=strict"}function Oi(t){const e=t+"=",n=document.cookie.split(";");for(let s=0;s<n.length;s++){let i=n[s];for(;i.charAt(0)===" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return i.substring(e.length,i.length)}return null}function Fo(){const t="uniqueUserID";let e=Oi(t);return e||(e=Bo(),Di(t,e,365)),e}function ct(t,e,n={},s={}){const i="https://admin-api.wineater.com/api/widget-events";let r=Oi("uniqueUserID");r||(r=Fo());const o={user_agent:navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,language:navigator.language,platform:navigator.platform},a=new Date().toISOString();let l=Oi("sessionID");l||(l=Bo(),Di("sessionID",l,1));const u={event_type:t,store_id:e,session_id:l,event_time:a,data:n,meta:{...s,user_id:r},device_info:o,region:navigator.language.split("-")[1]||null,language:navigator.language.split("-")[0]||"en"};return fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}).then(c=>c.ok?c.json():c.json().then(h=>{throw new Error(h.message||"Failed to track widget event")})).catch(c=>{throw console.error("Widget event tracking error:",c),c})}var Wo={},$c=function(t,e,n,s,i){var r=new Worker(Wo[e]||(Wo[e]=URL.createObjectURL(new Blob([t+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return r.onmessage=function(o){var a=o.data,l=a.$e$;if(l){var u=new Error(l[0]);u.code=l[1],u.stack=l[2],i(u,null)}else i(null,a)},r.postMessage(n,s),r},Ye=Uint8Array,Ae=Uint16Array,Ns=Int32Array,Rs=new Ye([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]),Ds=new Ye([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]),Ai=new Ye([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),zo=function(t,e){for(var n=new Ae(31),s=0;s<31;++s)n[s]=e+=1<<t[s-1];for(var i=new Ns(n[30]),s=1;s<30;++s)for(var r=n[s];r<n[s+1];++r)i[r]=r-n[s]<<5|s;return{b:n,r:i}},jo=zo(Rs,2),eu=jo.b,Os=jo.r;eu[28]=258,Os[258]=28;for(var tu=zo(Ds,0),Mi=tu.r,As=new Ae(32768),ae=0;ae<32768;++ae){var Ut=(ae&43690)>>1|(ae&21845)<<1;Ut=(Ut&52428)>>2|(Ut&13107)<<2,Ut=(Ut&61680)>>4|(Ut&3855)<<4,As[ae]=((Ut&65280)>>8|(Ut&255)<<8)>>1}for(var Cn=function(t,e,n){for(var s=t.length,i=0,r=new Ae(e);i<s;++i)t[i]&&++r[t[i]-1];var o=new Ae(e);for(i=1;i<e;++i)o[i]=o[i-1]+r[i-1]<<1;var a;if(n){a=new Ae(1<<e);var l=15-e;for(i=0;i<s;++i)if(t[i])for(var u=i<<4|t[i],c=e-t[i],h=o[t[i]-1]++<<c,d=h|(1<<c)-1;h<=d;++h)a[As[h]>>l]=u}else for(a=new Ae(s),i=0;i<s;++i)t[i]&&(a[i]=As[o[t[i]-1]++]>>15-t[i]);return a},Ht=new Ye(288),ae=0;ae<144;++ae)Ht[ae]=8;for(var ae=144;ae<256;++ae)Ht[ae]=9;for(var ae=256;ae<280;++ae)Ht[ae]=7;for(var ae=280;ae<288;++ae)Ht[ae]=8;for(var rs=new Ye(32),ae=0;ae<32;++ae)rs[ae]=5;var Uo=Cn(Ht,9,0),Ho=Cn(rs,5,0),Pi=function(t){return(t+7)/8|0},qo=function(t,e,n){return(e==null||e<0)&&(e=0),(n==null||n>t.length)&&(n=t.length),new Ye(t.subarray(e,n))},nu=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Vo=function(t,e,n){var s=new Error(e||nu[t]);if(s.code=t,Error.captureStackTrace&&Error.captureStackTrace(s,Vo),!n)throw s;return s},ut=function(t,e,n){n<<=e&7;var s=e/8|0;t[s]|=n,t[s+1]|=n>>8},Nn=function(t,e,n){n<<=e&7;var s=e/8|0;t[s]|=n,t[s+1]|=n>>8,t[s+2]|=n>>16},Ms=function(t,e){for(var n=[],s=0;s<t.length;++s)t[s]&&n.push({s,f:t[s]});var i=n.length,r=n.slice();if(!i)return{t:Wi,l:0};if(i==1){var o=new Ye(n[0].s+1);return o[n[0].s]=1,{t:o,l:1}}n.sort(function(b,_){return b.f-_.f}),n.push({s:-1,f:25001});var a=n[0],l=n[1],u=0,c=1,h=2;for(n[0]={s:-1,f:a.f+l.f,l:a,r:l};c!=i-1;)a=n[n[u].f<n[h].f?u++:h++],l=n[u!=c&&n[u].f<n[h].f?u++:h++],n[c++]={s:-1,f:a.f+l.f,l:a,r:l};for(var d=r[0].s,s=1;s<i;++s)r[s].s>d&&(d=r[s].s);var p=new Ae(d+1),f=Ps(n[c-1],p,0);if(f>e){var s=0,m=0,S=f-e,T=1<<S;for(r.sort(function(_,k){return p[k.s]-p[_.s]||_.f-k.f});s<i;++s){var x=r[s].s;if(p[x]>e)m+=T-(1<<f-p[x]),p[x]=e;else break}for(m>>=S;m>0;){var I=r[s].s;p[I]<e?m-=1<<e-p[I]++-1:++s}for(;s>=0&&m;--s){var g=r[s].s;p[g]==e&&(--p[g],++m)}f=e}return{t:new Ye(p),l:f}},Ps=function(t,e,n){return t.s==-1?Math.max(Ps(t.l,e,n+1),Ps(t.r,e,n+1)):e[t.s]=n},Li=function(t){for(var e=t.length;e&&!t[--e];);for(var n=new Ae(++e),s=0,i=t[0],r=1,o=function(l){n[s++]=l},a=1;a<=e;++a)if(t[a]==i&&a!=e)++r;else{if(!i&&r>2){for(;r>138;r-=138)o(32754);r>2&&(o(r>10?r-11<<5|28690:r-3<<5|12305),r=0)}else if(r>3){for(o(i),--r;r>6;r-=6)o(8304);r>2&&(o(r-3<<5|8208),r=0)}for(;r--;)o(i);r=1,i=t[a]}return{c:n.subarray(0,s),n:e}},Rn=function(t,e){for(var n=0,s=0;s<e.length;++s)n+=t[s]*e[s];return n},Bi=function(t,e,n){var s=n.length,i=Pi(e+2);t[i]=s&255,t[i+1]=s>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var r=0;r<s;++r)t[i+r+4]=n[r];return(i+4+s)*8},Fi=function(t,e,n,s,i,r,o,a,l,u,c){ut(e,c++,n),++i[256];for(var h=Ms(i,15),d=h.t,p=h.l,f=Ms(r,15),m=f.t,S=f.l,T=Li(d),x=T.c,I=T.n,g=Li(m),b=g.c,_=g.n,k=new Ae(19),y=0;y<x.length;++y)++k[x[y]&31];for(var y=0;y<b.length;++y)++k[b[y]&31];for(var E=Ms(k,7),P=E.t,j=E.l,L=19;L>4&&!P[Ai[L-1]];--L);var J=u+5<<3,U=Rn(i,Ht)+Rn(r,rs)+o,B=Rn(i,d)+Rn(r,m)+o+14+3*L+Rn(k,P)+2*k[16]+3*k[17]+7*k[18];if(l>=0&&J<=U&&J<=B)return Bi(e,c,t.subarray(l,l+u));var Y,ee,R,Q;if(ut(e,c,1+(B<U)),c+=2,B<U){Y=Cn(d,p,0),ee=d,R=Cn(m,S,0),Q=m;var N=Cn(P,j,0);ut(e,c,I-257),ut(e,c+5,_-1),ut(e,c+10,L-4),c+=14;for(var y=0;y<L;++y)ut(e,c+3*y,P[Ai[y]]);c+=3*L;for(var A=[x,b],ne=0;ne<2;++ne)for(var oe=A[ne],y=0;y<oe.length;++y){var ue=oe[y]&31;ut(e,c,N[ue]),c+=P[ue],ue>15&&(ut(e,c,oe[y]>>5&127),c+=oe[y]>>12)}}else Y=Uo,ee=Ht,R=Ho,Q=rs;for(var y=0;y<a;++y){var C=s[y];if(C>255){var ue=C>>18&31;Nn(e,c,Y[ue+257]),c+=ee[ue+257],ue>7&&(ut(e,c,C>>23&31),c+=Rs[ue]);var F=C&31;Nn(e,c,R[F]),c+=Q[F],F>3&&(Nn(e,c,C>>5&8191),c+=Ds[F])}else Nn(e,c,Y[C]),c+=ee[C]}return Nn(e,c,Y[256]),c+ee[256]},Go=new Ns([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Wi=new Ye(0),Ko=function(t,e,n,s,i,r){var o=r.z||t.length,a=new Ye(s+o+5*(1+Math.ceil(o/7e3))+i),l=a.subarray(s,a.length-i),u=r.l,c=(r.r||0)&7;if(e){c&&(l[0]=r.r>>3);for(var h=Go[e-1],d=h>>13,p=h&8191,f=(1<<n)-1,m=r.p||new Ae(32768),S=r.h||new Ae(f+1),T=Math.ceil(n/3),x=2*T,I=function(gn){return(t[gn]^t[gn+1]<<T^t[gn+2]<<x)&f},g=new Ns(25e3),b=new Ae(288),_=new Ae(32),k=0,y=0,E=r.i||0,P=0,j=r.w||0,L=0;E+2<o;++E){var J=I(E),U=E&32767,B=S[J];if(m[U]=B,S[J]=U,j<=E){var Y=o-E;if((k>7e3||P>24576)&&(Y>423||!u)){c=Fi(t,l,0,g,b,_,y,P,L,E-L,c),P=k=y=0,L=E;for(var ee=0;ee<286;++ee)b[ee]=0;for(var ee=0;ee<30;++ee)_[ee]=0}var R=2,Q=0,N=p,A=U-B&32767;if(Y>2&&J==I(E-A))for(var ne=Math.min(d,Y)-1,oe=Math.min(32767,E),ue=Math.min(258,Y);A<=oe&&--N&&U!=B;){if(t[E+R]==t[E+R-A]){for(var C=0;C<ue&&t[E+C]==t[E+C-A];++C);if(C>R){if(R=C,Q=A,C>ne)break;for(var F=Math.min(A,C-2),te=0,ee=0;ee<F;++ee){var Se=E-A+ee&32767,Ze=m[Se],Pe=Se-Ze&32767;Pe>te&&(te=Pe,B=Se)}}}U=B,B=m[U],A+=U-B&32767}if(Q){g[P++]=268435456|Os[R]<<18|Mi[Q];var Le=Os[R]&31,ds=Mi[Q]&31;y+=Rs[Le]+Ds[ds],++b[257+Le],++_[ds],j=E+R,++k}else g[P++]=t[E],++b[t[E]]}}for(E=Math.max(E,j);E<o;++E)g[P++]=t[E],++b[t[E]];c=Fi(t,l,u,g,b,_,y,P,L,E-L,c),u||(r.r=c&7|l[c/8|0]<<3,c-=7,r.h=S,r.p=m,r.i=E,r.w=j)}else{for(var E=r.w||0;E<o+u;E+=65535){var Kt=E+65535;Kt>=o&&(l[c/8|0]=u,Kt=o),c=Bi(l,c+1,t.subarray(E,Kt))}r.i=o}return qo(a,0,s+Pi(c)+i)},Xo=function(){for(var t=new Int32Array(256),e=0;e<256;++e){for(var n=e,s=9;--s;)n=(n&1&&-306674912)^n>>>1;t[e]=n}return t}(),Yo=function(){var t=-1;return{p:function(e){for(var n=t,s=0;s<e.length;++s)n=Xo[n&255^e[s]]^n>>>8;t=n},d:function(){return~t}}},zi=function(t,e,n,s,i){if(!i&&(i={l:1},e.dictionary)){var r=e.dictionary.subarray(-32768),o=new Ye(r.length+t.length);o.set(r),o.set(t,r.length),t=o,i.w=r.length}return Ko(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,n,s,i)},su=function(t,e){var n={};for(var s in t)n[s]=t[s];for(var s in e)n[s]=e[s];return n},Jo=function(t,e,n){for(var s=t(),i=t.toString(),r=i.slice(i.indexOf("[")+1,i.lastIndexOf("]")).replace(/\s+/g,"").split(","),o=0;o<s.length;++o){var a=s[o],l=r[o];if(typeof a=="function"){e+=";"+l+"=";var u=a.toString();if(a.prototype)if(u.indexOf("[native code]")!=-1){var c=u.indexOf(" ",8)+1;e+=u.slice(c,u.indexOf("(",c))}else{e+=u;for(var h in a.prototype)e+=";"+l+".prototype."+h+"="+a.prototype[h].toString()}else e+=u}else n[l]=a}return e},Ls=[],iu=function(t){var e=[];for(var n in t)t[n].buffer&&e.push((t[n]=new t[n].constructor(t[n])).buffer);return e},ru=function(t,e,n,s){if(!Ls[n]){for(var i="",r={},o=t.length-1,a=0;a<o;++a)i=Jo(t[a],i,r);Ls[n]={c:Jo(t[o],i,r),e:r}}var l=su({},Ls[n].e);return $c(Ls[n].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+e.toString()+"}",n,l,iu(l),s)},ou=function(){return[Ye,Ae,Ns,Rs,Ds,Ai,Os,Mi,Uo,Ht,Ho,rs,As,Go,Wi,Cn,ut,Nn,Ms,Ps,Li,Rn,Bi,Fi,Pi,qo,Ko,zi,cu,Qo]},au=function(){return[Zo,$o,Bs,Yo,Xo]},Qo=function(t){return postMessage(t,[t.buffer])},lu=function(t,e,n,s,i,r){var o=ru(n,s,i,function(a,l){o.terminate(),r(a,l)});return o.postMessage([t,e],e.consume?[t.buffer]:[]),function(){o.terminate()}},Bs=function(t,e,n){for(;n;++e)t[e]=n,n>>>=8},Zo=function(t,e){var n=e.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=e.level<2?4:e.level==9?2:0,t[9]=3,e.mtime!=0&&Bs(t,4,Math.floor(new Date(e.mtime||Date.now())/1e3)),n){t[3]=8;for(var s=0;s<=n.length;++s)t[s+10]=n.charCodeAt(s)}},$o=function(t){return 10+(t.filename?t.filename.length+1:0)};function cu(t,e){return zi(t,e||{},0,0)}function uu(t,e,n){return n||(n=e,e={}),typeof n!="function"&&Vo(7),lu(t,e,[ou,au,function(){return[ea]}],function(s){return Qo(ea(s.data[0],s.data[1]))},2,n)}function ea(t,e){e||(e={});var n=Yo(),s=t.length;n.p(t);var i=zi(t,e,$o(e),8),r=i.length;return Zo(i,e),Bs(i,r-8,n.d()),Bs(i,r-4,s),i}var hu=typeof TextDecoder<"u"&&new TextDecoder,du=0;try{hu.decode(Wi,{stream:!0}),du=1}catch{}class ta{constructor(){this.idx=1,this.backDict={}}getKey(e){let n=!1;return this.backDict[e]||(n=!0,this.backDict[e]=this.idx++),[this.backDict[e],n]}}class fu{constructor(e){this.dict=new ta,this.app=e.app,this.isDictDisabled=e.isDictDisabled}sendSetAttribute(e,n,s){if(this.isDictDisabled){const i=[12,e,n,s];return this.app.send(i)}else{const i=[51,e,this.applyDict(n),this.applyDict(s)];return this.app.send(i)}}applyDict(e){const[n,s]=this.dict.getKey(e);return s&&this.app.send([50,n,e]),n}clear(){this.dict=new ta}}class pu{constructor(e,n){this.app=e,this.startParams=n,this.conditions=[],this.hasStarted=!1,this.createConditionFromFilter=s=>{if(s.value.length){const i=gu(s);if(i.type)return i}},this.durationInt=null}setConditions(e){this.conditions=e}async fetchConditions(e,n){try{const s=await fetch(`${this.app.options.ingestPoint}/v1/web/conditions/${e}`,{method:"GET",headers:{Authorization:`Bearer ${n}`}}),{conditions:i}=await s.json(),r=[];i.forEach(o=>{o.filters.forEach(l=>{let u;l.type==="fetch"?(u={type:"network_request",subConditions:[],name:o.name},l.filters.forEach(c=>{const h=this.createConditionFromFilter(c);h&&u.subConditions.push(h)})):u=this.createConditionFromFilter(l),u&&(u.type==="session_duration"&&this.processDuration(u.value[0],o.name),r.push({...u,name:o.name}))})}),this.conditions=r}catch{this.app.debug.error("Critical: cannot fetch start conditions")}}trigger(e){if(!this.hasStarted)try{this.hasStarted=!0,this.app.start(this.startParams,void 0,e)}catch(n){this.app.debug.error(n)}}processMessage(e){if(!this.hasStarted)switch(e[0]){case 78:this.jsExceptionEvent(e);break;case 27:this.customEvent(e);break;case 68:this.clickEvent(e);break;case 122:this.pageLocationEvent(e);break;case 83:this.networkRequest(e);break}}processFlags(e){const n=this.conditions.filter(s=>s.type==="feature_flag");n.length&&n.forEach(s=>{const i=Dn[s.operator];i&&e.find(r=>i(r.key,s.value))&&this.trigger(s.name)})}processDuration(e,n){this.durationInt=setInterval(()=>{performance.now()>e&&this.trigger(n)},1e3),this.app.attachStopCallback(()=>{this.durationInt&&clearInterval(this.durationInt)})}networkRequest(e){const n=this.conditions.filter(s=>s.type==="network_request");n.length&&n.forEach(s=>{const i=s.subConditions.filter(r=>r.operator!=="isAny");i.length?i.every(o=>{let a;switch(o.key){case"url":a=e[3];break;case"status":a=e[6];break;case"method":a=e[2];break;case"duration":a=e[8];break}const l=Dn[o.operator];if(l&&l(a,o.value))return!0})&&this.trigger(s.name):i.length===0&&s.subConditions.length&&this.trigger(s.name)})}customEvent(e){const n=this.conditions.filter(s=>s.type==="custom_event");n.length&&n.forEach(s=>{const i=Dn[s.operator];i&&(i(e[1],s.value)||i(e[2],s.value))&&this.trigger(s.name)})}clickEvent(e){const n=this.conditions.filter(s=>s.type==="click");n.length&&n.forEach(s=>{const i=Dn[s.operator];i&&(i(e[3],s.value)||i(e[4],s.value))&&this.trigger(s.name)})}pageLocationEvent(e){const n=this.conditions.filter(s=>s.type==="visited_url");n&&n.forEach(s=>{const i=Dn[s.operator];i&&i(e[1],s.value)&&this.trigger(s.name)})}jsExceptionEvent(e){const n=[e[1],e[2],e[3]],s=this.conditions.filter(i=>i.type==="exception");s&&s.forEach(i=>{const r=Dn[i.operator];r&&n.some(o=>r(o,i.value))&&this.trigger(i.name)})}}const Dn={is:(t,e)=>e.some(n=>t.includes(n)),isAny:()=>!0,isNot:(t,e)=>!e.some(n=>t.includes(n)),contains:(t,e)=>e.some(n=>t.includes(n)),notContains:(t,e)=>!e.some(n=>t.includes(n)),startsWith:(t,e)=>e.some(n=>t.startsWith(n)),endsWith:(t,e)=>e.some(n=>t.endsWith(n)),greaterThan:(t,e)=>t>e,greaterOrEqual:(t,e)=>t>=e,lessOrEqual:(t,e)=>t<=e,lessThan:(t,e)=>t<e},gu=t=>{const e={on:"is",notOn:"isNot",">":"greaterThan","<":"lessThan","=":"is","<=":"lessOrEqual",">=":"greaterOrEqual"},n=i=>{if(Object.keys(e).includes(i))return e[i]};let s={type:"",operator:"",value:t.value,key:""};switch(t.type){case"click":s={type:"click",operator:n(t.operator),value:t.value,key:""};break;case"location":s={type:"visited_url",operator:t.operator,value:t.value,key:""};break;case"custom":s={type:"custom_event",operator:t.operator,value:t.value,key:""};break;case"metadata":s={type:t.source==="featureFlag"?"feature_flag":t.type,operator:t.operator,value:t.value,key:""};break;case"error":s={type:"exception",operator:t.operator,value:t.value,key:""};break;case"duration":s={type:"session_duration",value:t.value[0],key:""};break;case"fetchUrl":s={type:"network_request",key:"url",operator:t.operator,value:t.value};break;case"fetchStatusCode":s={type:"network_request",key:"status",operator:n(t.operator),value:t.value};break;case"fetchMethod":s={type:"network_request",key:"method",operator:n(t.operator),value:t.value};break;case"fetchDuration":s={type:"network_request",key:"duration",operator:n(t.operator),value:t.value};break}return s};class mu{constructor(e){this.app=e,this.flags=[],this.storageKey="__openreplay_flags";const n=this.app.sessionStorage.getItem(this.storageKey);if(n){const s=n.split(";").filter(Boolean);this.flags=s.map(i=>JSON.parse(i))}}getFeatureFlag(e){return this.flags.find(n=>n.key===e)}isFlagEnabled(e){return this.flags.findIndex(n=>n.key===e)!==-1}onFlagsLoad(e){this.onFlagsCb=e}async reloadFlags(e){const n=this.app.sessionStorage.getItem(this.storageKey),s={};n&&n.split(";").filter(Boolean).forEach(c=>{const h=JSON.parse(c);s[h.key]={key:h.key,value:h.value}});const i=this.app.session.getInfo(),r=this.app.session.userInfo,o={projectID:i.projectID,userID:i.userID,metadata:i.metadata,referrer:document.referrer,os:r.userOS,device:r.userDevice,country:r.userCountry,state:r.userState,city:r.userCity,browser:r.userBrowser,persistFlags:s},a=e??this.app.session.getSessionToken(),l=await fetch(this.app.options.ingestPoint+"/v1/web/feature-flags",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify(o)});if(l.status===200){const u=await l.json();return this.handleFlags(u.flags)}}handleFlags(e){var r;const n=[];e.forEach(o=>{o.is_persist&&n.push(o)});let s="";return this.diffPersist(n).forEach(o=>{s+=`${JSON.stringify(o)};`}),this.app.sessionStorage.setItem(this.storageKey,s),this.flags=e,(r=this.onFlagsCb)==null?void 0:r.call(this,e)}clearPersistFlags(){this.app.sessionStorage.removeItem(this.storageKey)}diffPersist(e){const n=this.app.sessionStorage.getItem(this.storageKey);if(!n)return e;const i=n.split(";").filter(Boolean).map(r=>JSON.parse(r));return e.filter(r=>i.findIndex(o=>o.key===r.key)===-1)}}const na={htmlmasked:"hidden",masked:"obscured"},ht=!(typeof window>"u"),vu=ht&&navigator.userAgent.match(/firefox|fxios/i),wu=1e5;let ji=ht?Date.now()-performance.now():0;function Ui(){ji=Date.now()-performance.now()}function On(){return ji}const it=ht&&performance.now?()=>Math.round(performance.now()+ji):()=>Date.now(),Hi="repeat"in String.prototype?t=>"*".repeat(t.length):t=>t.replace(/./g,"*");function sa(t){return t.trim().replace(/\s+/g," ")}function ia(t){return t.startsWith("https://")||t.startsWith("http://")}const Fs="https://docs.openreplay.com",ra={};function qt(t,e,n="/"){ra[t]||(console.warn(`OpenReplay: ${t} is deprecated. ${e?`Please, use ${e} instead.`:""} Visit ${Fs}${n} for more information.`),ra[t]=!0)}function qi(t){let e=t.getAttribute("data-openreplay-label");return e!==null||(e=t.getAttribute("data-asayer-label"),e!==null&&qt('"data-asayer-label" attribute','"data-openreplay-label" attribute',"/")),e}function an(t,e){const n=`data-openreplay-${e}`;return t.hasAttribute(n)?(na[e]&&qt(`"${n}" attribute`,`"${na[e]}" attribute`,"/installation/sanitize-data"),!0):!1}function bu(t){try{return!!t.contentDocument}catch{return!1}}function oa(t){try{return t instanceof HTMLIFrameElement?t.contentDocument:t instanceof Window?t.document:t instanceof Document?t.defaultView:"nodeType"in t?t.nodeType:"addEventListener"in t&&t.addEventListener,!0}catch(e){if(e instanceof DOMException&&e.name==="SecurityError")return!1}return!0}function aa(t){return t.toString(16).padStart(2,"0")}function yu(t){const e=new Uint8Array(t/2),n=window.crypto||window.msCrypto;return n?(n.getRandomValues(e),Array.from(e,aa).join("")):Array.from({length:t},()=>aa(Math.floor(Math.random()*16))).join("")}function la(){try{return window.self&&window.top&&window.self!==window.top}catch{return!0}}function Vi(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}function ca(t,e){if(e)return new MutationObserver(t);{const n=Vi("MutationObserver");return new window[n](t)}}function ua(t,e,n,s,i){if(!oa(t))return;let r="addEventListener";i||(r=Vi("addEventListener"));try{t[r]?t[r](e,n,s):t.addEventListener(e,n,s)}catch(o){const a=o.message;console.error(`Openreplay: ${a}; if this error is caused by an IframeObserver, ignore it`,e,t)}}function ha(t,e,n,s,i){if(!oa(t))return;let r="removeEventListener";i||(r=Vi("removeEventListener"));try{t[r]?t[r](e,n,s):t.removeEventListener(e,n,s)}catch(o){const a=o.message;console.error(`Openreplay: ${a}; if this error is caused by an IframeObserver, ignore it`,e,t)}}class Su{constructor(){this.taskQueue=[],this.isRunning=!1}addTask(e){this.taskQueue.push(e),this.runTasks()}runTasks(){if(this.isRunning||this.taskQueue.length===0)return;this.isRunning=!0;const e=()=>{if(this.taskQueue.length===0){this.isRunning=!1;return}const n=this.taskQueue.shift();Promise.resolve(n()).then(()=>{requestAnimationFrame(()=>e())})};e()}}const _u=new Su;function ku(t){_u.addTask(t)}function da(t,e){const n={...t};for(const s in e)if(e.hasOwnProperty(s)){const i=e[s],r=t[s];typeof i=="object"&&!Array.isArray(i)&&i!==null?n[s]=da(r||{},i):n[s]=i}return n}function ln(t){return[0,t]}function Tu(t,e){return[5,t,e]}function xu(t,e){return[6,t,e]}function Eu(){return[7]}function Iu(t,e,n,s,i){return[8,t,e,n,s,i]}function Cu(t,e,n){return[9,t,e,n]}function Nu(t,e,n){return[10,t,e,n]}function Ru(t){return[11,t]}function fa(t,e){return[13,t,e]}function Du(t,e){return[14,t,e]}function Ou(t,e,n){return[16,t,e,n]}function Au(t,e,n){return[18,t,e,n]}function Mu(t,e){return[19,t,e]}function Pu(t,e){return[20,t,e]}function Lu(t,e){return[22,t,e]}function Bu(t,e,n,s,i,r,o,a,l){return[23,t,e,n,s,i,r,o,a,l]}function Fu(t,e,n){return[24,t,e,n]}function Wu(t,e){return[27,t,e]}function zu(t){return[28,t]}function ju(t){return[29,t]}function pa(t,e){return[30,t,e]}function Uu(t,e,n,s){return[49,t,e,n,s]}function Hu(t,e){return[54,t,e]}function qu(t){return[55,t]}function ga(t,e,n,s){return[57,t,e,n,s]}function ma(t){return[58,t]}function Gi(t,e,n,s){return[60,t,e,n,s]}function Vu(t,e,n){return[61,t,e,n]}function Gu(t,e){return[63,t,e]}function Ku(t,e){return[64,t,e]}function Xu(t,e,n,s,i,r){return[68,t,e,n,s,i,r]}function Ki(t,e){return[70,t,e]}function va(t,e,n){return[71,t,e,n]}function Xi(t,e,n,s){return[73,t,e,n,s]}function wa(t,e){return[75,t,e]}function ba(t,e){return[76,t,e]}function Yu(t,e){return[77,t,e]}function Yi(t,e,n,s){return[78,t,e,n,s]}function Ws(t,e,n,s,i,r,o,a,l){return[83,t,e,n,s,i,r,o,a,l]}function Ju(t,e,n,s,i,r){return[84,t,e,n,s,i,r]}function Qu(t,e,n,s,i,r){return[112,t,e,n,s,i,r]}function ya(t,e,n){return[113,t,e,n]}function Zu(t){return[114,t]}function Sa(t){return[115,t]}function _a(t,e,n,s,i,r,o,a,l,u){return[116,t,e,n,s,i,r,o,a,l,u]}function zs(t){return[117,t]}function cn(t){return[118,t]}function $u(t,e){return[119,t,e]}function eh(t){return[120,t]}function th(t,e,n,s){return[122,t,e,n,s]}const Ji=ht&&"performance"in window&&"memory"in performance?performance:{memory:{}},Qi=ht?(navigator.deviceMemory||0)*1024:0,Zi=Ji.memory.jsHeapSizeLimit||0;function nh(t,e){if(!Object.assign({capturePerformance:!0},e).capturePerformance)return;let s,i;const r=()=>{s===void 0||s===-1||(s++,requestAnimationFrame(r))};t.ticker.attach(()=>{i===void 0||i===-1||i++},0,!1);const o=()=>{s===void 0||i===void 0||(t.send(Uu(s,i,Ji.memory.totalJSHeapSize||0,Ji.memory.usedJSHeapSize||0)),i=s=document.hidden?-1:0)};t.attachStartCallback(()=>{i=s=-1,o(),r()}),t.attachStopCallback(()=>{i=s=void 0}),t.ticker.attach(o,40,!1),document.hidden!==void 0&&t.attachEventListener(document,"visibilitychange",o,!1,!1)}const ka="__or__watched_tags__";class sh{constructor(e){this.intervals={},this.tags=[],this.sessionStorage=e.sessionStorage,this.errLog=e.errLog,this.onTag=e.onTag;const n=JSON.parse(e.sessionStorage.getItem(ka)??"[]");this.setTags(n),this.observer=new IntersectionObserver(s=>{s.forEach(i=>{if(i.isIntersecting&&i.target){const r=i.target.__or_watcher_tagname;r&&this.onTagRendered(r),this.observer.unobserve(i.target)}})})}async fetchTags(e,n){return fetch(`${e}/v1/web/tags`,{method:"GET",headers:{Authorization:`Bearer ${n}`}}).then(s=>s.json()).then(({tags:s})=>{if(s&&s.length){this.setTags(s);const i=JSON.stringify(s);this.sessionStorage.setItem(ka,i||"")}}).catch(s=>this.errLog(s))}setTags(e){this.tags=e,this.intervals={},e.forEach(n=>{this.intervals[n.id]=setInterval(()=>{const s=document.querySelectorAll(n.selector);if(s.length>0){const i=s[0];i.__or_watcher_tagname=n.id,this.observer.observe(i)}},500)})}onTagRendered(e){this.intervals[e]&&clearInterval(this.intervals[e]),this.onTag(e)}clear(){this.tags.forEach(e=>{clearInterval(this.intervals[e.id])}),this.tags=[],this.intervals={},this.observer.disconnect()}}const ih={position:"fixed",top:0,left:0,width:"100vw",height:"100vh",background:"rgba(0, 0, 0, 0.40)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:999999,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},rh={display:"flex",flexDirection:"column",gap:"2rem",alignItems:"center",padding:"1.5rem",borderRadius:"2px",border:"1px solid #D9D9D9",background:"#FFF",width:"22rem"},js={display:"flex","flex-direction":"column",gap:"unset","align-items":"center",padding:"unset",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',"border-radius":"2px",border:"1px solid #D9D9D9",background:"rgba(255, 255, 255, 0.75)",width:"22rem"},oh={fontFamily:"Verdana, sans-serif",fontSize:"1.25rem",fontStyle:"normal",fontWeight:"500",lineHeight:"1.75rem",color:"rgba(0, 0, 0, 0.85)"},ah={borderTop:"1px solid rgba(0, 0, 0, 0.06)",borderBottom:"1px solid rgba(0, 0, 0, 0.06)",padding:"1.25rem 0rem",color:"rgba(0, 0, 0, 0.85)",fontFamily:"Verdana, sans-serif",fontSize:"13px",fontStyle:"normal",fontWeight:"400",lineHeight:"auto",whiteSpace:"pre-wrap"},lh={display:"flex",padding:"0.4rem 0.9375rem",justifyContent:"center",alignItems:"center",gap:"0.625rem",borderRadius:"0.25rem",border:"1px solid #394EFF",background:"#394EFF",boxShadow:"0px 2px 0px 0px rgba(0, 0, 0, 0.04)",color:"#FFF",textAlign:"center",fontFamily:"Verdana, sans-serif",fontSize:"1rem",fontStyle:"normal",fontWeight:"500",lineHeight:"1.5rem",cursor:"pointer"},Ta={fontFamily:"Verdana, sans-serif",fontSize:"13px",fontWeight:"500",lineHeight:"auto",display:"flex",justifyContent:"space-between",width:"100%",cursor:"pointer"},An={display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"0.625rem",fontSize:"13px",lineHeight:"auto"},ch={padding:"0.5rem",gap:"0.5rem",fontFamily:"Verdana, sans-serif",fontSize:"16px",fontStyle:"normal",fontWeight:"500",lineHeight:"auto",color:"white",display:"flex",alignItems:"center",width:"100%",borderRadius:"2px",background:"rgba(0, 0, 0, 0.75)",boxSizing:"border-box"},Mn={boxSizing:"border-box",display:"block",width:"100%",borderBottom:"1px solid #D9D9D9",background:"#FFF",padding:"0.65rem",alignSelf:"stretch",color:"#000",fontFamily:"Verdana, sans-serif",fontStyle:"normal",fontWeight:"400"},uh={...Mn,display:"flex",flexDirection:"column",alignItems:"center",gap:"0.625rem"},xa={fontSize:"1.25rem",fontWeight:"500",cursor:"pointer",color:"#394EFF"},Ea={display:"flex",padding:"0.4rem 0.9375rem",justifyContent:"center",alignItems:"center",gap:"0.625rem",borderRadius:"0.25rem",border:"1px solid #394EFF",background:"#394EFF",boxShadow:"0px 2px 0px 0px rgba(0, 0, 0, 0.04)",color:"#FFF",textAlign:"center",fontFamily:"Verdana, sans-serif",fontSize:"1rem",fontStyle:"normal",fontWeight:"500",lineHeight:"1.5rem",width:"100%",boxSizing:"border-box",cursor:"pointer"},Ia={marginTop:"1rem",marginBottom:"1rem",cursor:"pointer",display:"block",fontWeight:"500",fontSize:"13px!important",lineHeight:"auto"},hh={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"1rem",padding:"0.5rem",width:"100%",boxSizing:"border-box"},Ca={display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",borderRadius:"6.25em",outline:"1px solid #394EFF",fontSize:"13px",height:"24px",width:"24px"},dh={display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",borderRadius:"6.25em",outline:"1px solid #D2DFFF",boxShadow:"0px 2px 0px 0px rgba(0, 0, 0, 0.04)",background:"#D2DFFF",fontSize:"13px",height:"24px",width:"24px"},Na={borderRadius:"0.375rem",border:"1px solid rgba(0, 0, 0, 0.06)",background:"#F5F7FF",boxShadow:"0px 2px 0px 0px rgba(0, 0, 0, 0.04)",display:"flex",flexDirection:"column",padding:"0.625rem 0.9375rem",gap:"0.5rem",alignSelf:"stretch"},Ra={fontWeight:"bold"},fh={fontSize:"13px",lineHeight:"auto"},Da={marginRight:"0.5rem",cursor:"pointer",color:"#394EFF",textAlign:"center",fontFamily:"Verdana, sans-serif",fontSize:"13px",fontStyle:"normal",fontWeight:"500",lineHeight:"auto"},ph={...Da,display:"flex",padding:"0.25rem 0.9375rem",justifyContent:"center",alignItems:"center",gap:"0.5rem",borderRadius:"0.25rem",border:"1px solid #394EFF"},gh={display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",boxSizing:"border-box"},mh={border:"4px solid rgba(255, 255, 255, 0.4)",width:"16px",height:"16px",borderRadius:"50%",borderLeftColor:"#fff",animation:"spin 0.5s linear infinite"},Oa={Standard:{width:1280,height:720}};class vh{constructor(e){this.app=e,this.mediaRecorder=null,this.recordedChunks=[],this.stream=null,this.recStartTs=null}async startRecording(e,n,s,i){this.recStartTs=this.app.timestamp();const r=n;try{this.stream=await navigator.mediaDevices.getUserMedia({video:i?{...r,frameRate:{ideal:e}}:!1,audio:s}),this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:"video/webm;codecs=vp9"}),this.recordedChunks=[],this.mediaRecorder.ondataavailable=o=>{o.data.size>0&&this.recordedChunks.push(o.data)},this.mediaRecorder.start()}catch(o){console.error(o)}}async stopRecording(){return new Promise(e=>{this.mediaRecorder&&(this.mediaRecorder.onstop=()=>{const n=new Blob(this.recordedChunks,{type:"video/webm"});e(n)},this.mediaRecorder.stop())})}async sendToAPI(){const e=await this.stopRecording();return fetch(`${this.app.options.ingestPoint}/v1/web/uxt/upload-url`,{headers:{Authorization:`Bearer ${this.app.session.getSessionToken()}`}}).then(n=>{if(n.ok)return n.json();throw new Error("Failed to get upload url")}).then(({url:n})=>fetch(n,{method:"PUT",headers:{"Content-Type":"video/webm"},body:e})).catch(console.error).finally(()=>{this.discard()})}async saveToFile(e="recorded-video.webm"){const n=await this.stopRecording(),s=URL.createObjectURL(n),i=document.createElement("a");i.style.display="none",i.href=s,i.download=e,document.body.appendChild(i),i.click(),window.URL.revokeObjectURL(s),document.body.removeChild(i)}discard(){var e,n;(e=this.mediaRecorder)==null||e.stop(),(n=this.stream)==null||n.getTracks().forEach(s=>s.stop())}}function wh(t,e){e.onmousedown=function(n){const s=t.getBoundingClientRect(),i=n.clientX-s.left,r=n.clientY-s.top;t.style.position="fixed",t.style.zIndex=99999999999999,o(n.pageX,n.pageY);function o(u,c){let h=u-i,d=c-r;h<=5&&(h=5),d<=5&&(d=5),h>=window.innerWidth-s.width&&(h=window.innerWidth-s.width),d>=window.innerHeight-s.height&&(d=window.innerHeight-s.height),t.style.left=`${h}px`,t.style.top=`${d}px`}function a(u){o(u.pageX,u.pageY)}document.addEventListener("mousemove",a);const l=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",l)};document.addEventListener("mouseup",l)},e.ondragstart=function(){return!1}}function bh(){const t=document.createElement("div");t.className="grid";for(let e=0;e<16;e++){const n=document.createElement("div");Object.assign(n.style,{width:"2px",height:"2px",borderRadius:"10px",background:"white"}),n.className="cell",t.appendChild(n)}return Object.assign(t.style,{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gridTemplateRows:"repeat(4, 1fr)",gap:"2px",cursor:"grab"}),t}function yh(){const t=document.createElement("div");Object.assign(t.style,{width:"0",height:"0",borderLeft:"7px solid transparent",borderRight:"7px solid transparent",borderBottom:"7px solid white"});const e=document.createElement("div");return e.appendChild(t),Object.assign(e.style,{display:"flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",cursor:"pointer",marginLeft:"auto",transform:"rotate(180deg)"}),e}function Sh(){const t=document.createElement("style");t.type="text/css",t.innerText=`@keyframes spin {
|
|
1
|
+
(function(se,re){typeof exports=="object"&&typeof module<"u"?module.exports=re():typeof define=="function"&&define.amd?define(re):(se=typeof globalThis<"u"?globalThis:se||self,se.WineaterChatbot=re())})(this,function(){"use strict";var xp=Object.defineProperty;var wl=se=>{throw TypeError(se)};var Ep=(se,re,ye)=>re in se?xp(se,re,{enumerable:!0,configurable:!0,writable:!0,value:ye}):se[re]=ye;var yt=(se,re,ye)=>Ep(se,typeof re!="symbol"?re+"":re,ye),Er=(se,re,ye)=>re.has(se)||wl("Cannot "+ye);var w=(se,re,ye)=>(Er(se,re,"read from private field"),ye?ye.call(se):re.get(se)),V=(se,re,ye)=>re.has(se)?wl("Cannot add the same private member more than once"):re instanceof WeakSet?re.add(se):re.set(se,ye),W=(se,re,ye,ps)=>(Er(se,re,"write to private field"),ps?ps.call(se,ye):re.set(se,ye),ye),ke=(se,re,ye)=>(Er(se,re,"access private method"),ye);var dl,Bn,Fn,dn,Wn,us,zn,Gt,gt,jn,We,Ir,Cr,Nr,bl,Je,kr,mt,fn,Me,vt,ze,at,Ct,pn,Kt,Un,Hn,qn,Nt,ti,Se,Ip,Cp,Np,Rr,ri,oi,Dr,fl,lt,wt,je,gn,hs,ds,ni,Vn,mn,Gn,pl,gl;const se="5";typeof window<"u"&&((dl=window.__svelte??(window.__svelte={})).v??(dl.v=new Set)).add(se);const re=1,ye=2,ps=16,yl=1,Sl=2,_l=4,kl=8,Tl=16,xl=1,El=2,Te=Symbol(),Or="http://www.w3.org/1999/xhtml",ai=!1;var li=Array.isArray,Il=Array.prototype.indexOf,vn=Array.prototype.includes,gs=Array.from,Cl=Object.defineProperty,wn=Object.getOwnPropertyDescriptor,Nl=Object.getOwnPropertyDescriptors,Rl=Object.prototype,Dl=Array.prototype,Ar=Object.getPrototypeOf,Mr=Object.isExtensible;const Ol=()=>{};function Al(t){for(var e=0;e<t.length;e++)t[e]()}function Pr(){var t,e,n=new Promise((s,i)=>{t=s,e=i});return{promise:n,resolve:t,reject:e}}const xe=2,Xn=4,ms=8,Lr=1<<24,St=16,$e=32,Yt=64,ci=128,He=512,_e=1024,Ee=2048,et=4096,Le=8192,_t=16384,Jt=32768,Qt=65536,Br=1<<17,Fr=1<<18,bn=1<<19,Ml=1<<20,Rt=1<<25,Zt=65536,ui=1<<21,hi=1<<22,Dt=1<<23,$t=Symbol("$state"),Pl=Symbol("legacy props"),Ll=Symbol(""),en=new class extends Error{constructor(){super(...arguments);yt(this,"name","StaleReactionError");yt(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function Bl(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Fl(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Wl(t,e,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function zl(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function jl(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ul(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Hl(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function ql(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Vl(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Gl(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Kl(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Xl(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function Yl(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Jl(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Wr(t){return t===this.v}function Ql(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function zr(t){return!Ql(t,this.v)}let yn=!1,Zl=!1;function $l(){yn=!0}let we=null;function Sn(t){we=t}function Ot(t,e=!1,n){we={p:we,i:!1,c:null,e:null,s:t,x:null,l:yn&&!e?{s:null,u:null,$:[]}:null}}function At(t){var e=we,n=e.e;if(n!==null){e.e=null;for(var s of n)co(s)}return t!==void 0&&(e.x=t),e.i=!0,we=e.p,t??{}}function Yn(){return!yn||we!==null&&we.l===null}let tn=[];function jr(){var t=tn;tn=[],Al(t)}function Mt(t){if(tn.length===0&&!Jn){var e=tn;queueMicrotask(()=>{e===tn&&jr()})}tn.push(t)}function ec(){for(;tn.length>0;)jr()}function Ur(t){var e=$;if(e===null)return X.f|=Dt,t;if(!(e.f&Jt)&&!(e.f&Xn))throw t;Pt(t,e)}function Pt(t,e){for(;e!==null;){if(e.f&ci){if(!(e.f&Jt))throw t;try{e.b.error(t);return}catch(n){t=n}}e=e.parent}throw t}const tc=-7169;function pe(t,e){t.f=t.f&tc|e}function di(t){t.f&He||t.deps===null?pe(t,_e):pe(t,et)}function Hr(t){if(t!==null)for(const e of t)!(e.f&xe)||!(e.f&Zt)||(e.f^=Zt,Hr(e.deps))}function qr(t,e,n){t.f&Ee?e.add(t):t.f&et&&n.add(t),Hr(t.deps),pe(t,_e)}const vs=new Set;let z=null,fi=null,Ie=null,Re=[],ws=null,pi=!1,Jn=!1;const _r=class _r{constructor(){V(this,We);yt(this,"current",new Map);yt(this,"previous",new Map);V(this,Bn,new Set);V(this,Fn,new Set);V(this,dn,0);V(this,Wn,0);V(this,us,null);V(this,zn,new Set);V(this,Gt,new Set);V(this,gt,new Map);yt(this,"is_fork",!1);V(this,jn,!1)}skip_effect(e){w(this,gt).has(e)||w(this,gt).set(e,{d:[],m:[]})}unskip_effect(e){var n=w(this,gt).get(e);if(n){w(this,gt).delete(e);for(var s of n.d)pe(s,Ee),nt(s);for(s of n.m)pe(s,et),nt(s)}}process(e){var i;Re=[],this.apply();var n=[],s=[];for(const r of e)ke(this,We,Cr).call(this,r,n,s);if(ke(this,We,Ir).call(this)){ke(this,We,Nr).call(this,s),ke(this,We,Nr).call(this,n);for(const[r,o]of w(this,gt))Yr(r,o)}else{for(const r of w(this,Bn))r();w(this,Bn).clear(),w(this,dn)===0&&ke(this,We,bl).call(this),fi=this,z=null,Gr(s),Gr(n),w(this,zn).clear(),w(this,Gt).clear(),fi=null,(i=w(this,us))==null||i.resolve()}Ie=null}capture(e,n){n!==Te&&!this.previous.has(e)&&this.previous.set(e,n),e.f&Dt||(this.current.set(e,e.v),Ie==null||Ie.set(e,e.v))}activate(){z=this,this.apply()}deactivate(){z===this&&(z=null,Ie=null)}flush(){if(this.activate(),Re.length>0){if(Vr(),z!==null&&z!==this)return}else w(this,dn)===0&&this.process([]);this.deactivate()}discard(){for(const e of w(this,Fn))e(this);w(this,Fn).clear()}increment(e){W(this,dn,w(this,dn)+1),e&&W(this,Wn,w(this,Wn)+1)}decrement(e){W(this,dn,w(this,dn)-1),e&&W(this,Wn,w(this,Wn)-1),!w(this,jn)&&(W(this,jn,!0),Mt(()=>{W(this,jn,!1),ke(this,We,Ir).call(this)?Re.length>0&&this.flush():this.revive()}))}revive(){for(const e of w(this,zn))w(this,Gt).delete(e),pe(e,Ee),nt(e);for(const e of w(this,Gt))pe(e,et),nt(e);this.flush()}oncommit(e){w(this,Bn).add(e)}ondiscard(e){w(this,Fn).add(e)}settled(){return(w(this,us)??W(this,us,Pr())).promise}static ensure(){if(z===null){const e=z=new _r;vs.add(z),Jn||Mt(()=>{z===e&&e.flush()})}return z}apply(){}};Bn=new WeakMap,Fn=new WeakMap,dn=new WeakMap,Wn=new WeakMap,us=new WeakMap,zn=new WeakMap,Gt=new WeakMap,gt=new WeakMap,jn=new WeakMap,We=new WeakSet,Ir=function(){return this.is_fork||w(this,Wn)>0},Cr=function(e,n,s){e.f^=_e;for(var i=e.first;i!==null;){var r=i.f,o=(r&($e|Yt))!==0,a=o&&(r&_e)!==0,l=a||(r&Le)!==0||w(this,gt).has(i);if(!l&&i.fn!==null){o?i.f^=_e:r&Xn?n.push(i):es(i)&&(r&St&&w(this,Gt).add(i),Tn(i));var u=i.first;if(u!==null){i=u;continue}}for(;i!==null;){var c=i.next;if(c!==null){i=c;break}i=i.parent}}},Nr=function(e){for(var n=0;n<e.length;n+=1)qr(e[n],w(this,zn),w(this,Gt))},bl=function(){var i;if(vs.size>1){this.previous.clear();var e=Ie,n=!0;for(const r of vs){if(r===this){n=!1;continue}const o=[];for(const[l,u]of this.current){if(r.current.has(l))if(n&&u!==r.current.get(l))r.current.set(l,u);else continue;o.push(l)}if(o.length===0)continue;const a=[...r.current.keys()].filter(l=>!this.current.has(l));if(a.length>0){var s=Re;Re=[];const l=new Set,u=new Map;for(const c of o)Kr(c,a,l,u);if(Re.length>0){z=r,r.apply();for(const c of Re)ke(i=r,We,Cr).call(i,c,[],[]);r.deactivate()}Re=s}}z=null,Ie=e}w(this,gt).clear(),vs.delete(this)};let Lt=_r;function nc(t){var e=Jn;Jn=!0;try{for(var n;;){if(ec(),Re.length===0&&(z==null||z.flush(),Re.length===0))return ws=null,n;Vr()}}finally{Jn=e}}function Vr(){pi=!0;var t=null;try{for(var e=0;Re.length>0;){var n=Lt.ensure();if(e++>1e3){var s,i;sc()}n.process(Re),Bt.clear()}}finally{Re=[],pi=!1,ws=null}}function sc(){try{Hl()}catch(t){Pt(t,ws)}}let tt=null;function Gr(t){var e=t.length;if(e!==0){for(var n=0;n<e;){var s=t[n++];if(!(s.f&(_t|Le))&&es(s)&&(tt=new Set,Tn(s),s.deps===null&&s.first===null&&s.nodes===null&&s.teardown===null&&s.ac===null&&fo(s),(tt==null?void 0:tt.size)>0)){Bt.clear();for(const i of tt){if(i.f&(_t|Le))continue;const r=[i];let o=i.parent;for(;o!==null;)tt.has(o)&&(tt.delete(o),r.push(o)),o=o.parent;for(let a=r.length-1;a>=0;a--){const l=r[a];l.f&(_t|Le)||Tn(l)}}tt.clear()}}tt=null}}function Kr(t,e,n,s){if(!n.has(t)&&(n.add(t),t.reactions!==null))for(const i of t.reactions){const r=i.f;r&xe?Kr(i,e,n,s):r&(hi|St)&&!(r&Ee)&&Xr(i,e,s)&&(pe(i,Ee),nt(i))}}function Xr(t,e,n){const s=n.get(t);if(s!==void 0)return s;if(t.deps!==null)for(const i of t.deps){if(vn.call(e,i))return!0;if(i.f&xe&&Xr(i,e,n))return n.set(i,!0),!0}return n.set(t,!1),!1}function nt(t){var e=ws=t,n=e.b;if(n!=null&&n.is_pending&&t.f&(Xn|ms|Lr)&&!(t.f&Jt)){n.defer_effect(t);return}for(;e.parent!==null;){e=e.parent;var s=e.f;if(pi&&e===$&&s&St&&!(s&Fr)&&s&Jt)return;if(s&(Yt|$e)){if(!(s&_e))return;e.f^=_e}}Re.push(e)}function Yr(t,e){if(!(t.f&$e&&t.f&_e)){t.f&Ee?e.d.push(t):t.f&et&&e.m.push(t),pe(t,_e);for(var n=t.first;n!==null;)Yr(n,e),n=n.next}}function ic(t){let e=0,n=nn(0),s;return()=>{bi()&&(v(n),Si(()=>(e===0&&(s=ns(()=>t(()=>Qn(n)))),e+=1,()=>{Mt(()=>{e-=1,e===0&&(s==null||s(),s=void 0,Qn(n))})})))}}var rc=Qt|bn;function oc(t,e,n,s){new ac(t,e,n,s)}class ac{constructor(e,n,s,i){V(this,Se);yt(this,"parent");yt(this,"is_pending",!1);yt(this,"transform_error");V(this,Je);V(this,kr,null);V(this,mt);V(this,fn);V(this,Me);V(this,vt,null);V(this,ze,null);V(this,at,null);V(this,Ct,null);V(this,pn,0);V(this,Kt,0);V(this,Un,!1);V(this,Hn,new Set);V(this,qn,new Set);V(this,Nt,null);V(this,ti,ic(()=>(W(this,Nt,nn(w(this,pn))),()=>{W(this,Nt,null)})));var r;W(this,Je,e),W(this,mt,n),W(this,fn,o=>{var a=$;a.b=this,a.f|=ci,s(o)}),this.parent=$.b,this.transform_error=i??((r=this.parent)==null?void 0:r.transform_error)??(o=>o),W(this,Me,Ss(()=>{ke(this,Se,Rr).call(this)},rc))}defer_effect(e){qr(e,w(this,Hn),w(this,qn))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!w(this,mt).pending}update_pending_count(e){ke(this,Se,Dr).call(this,e),W(this,pn,w(this,pn)+e),!(!w(this,Nt)||w(this,Un))&&(W(this,Un,!0),Mt(()=>{W(this,Un,!1),w(this,Nt)&&_n(w(this,Nt),w(this,pn))}))}get_effect_pending(){return w(this,ti).call(this),v(w(this,Nt))}error(e){var n=w(this,mt).onerror;let s=w(this,mt).failed;if(!n&&!s)throw e;w(this,vt)&&(De(w(this,vt)),W(this,vt,null)),w(this,ze)&&(De(w(this,ze)),W(this,ze,null)),w(this,at)&&(De(w(this,at)),W(this,at,null));var i=!1,r=!1;const o=()=>{if(i){Jl();return}i=!0,r&&Xl(),w(this,at)!==null&&sn(w(this,at),()=>{W(this,at,null)}),ke(this,Se,oi).call(this,()=>{Lt.ensure(),ke(this,Se,Rr).call(this)})},a=l=>{try{r=!0,n==null||n(l,o),r=!1}catch(u){Pt(u,w(this,Me)&&w(this,Me).parent)}s&&W(this,at,ke(this,Se,oi).call(this,()=>{Lt.ensure();try{return qe(()=>{var u=$;u.b=this,u.f|=ci,s(w(this,Je),()=>l,()=>o)})}catch(u){return Pt(u,w(this,Me).parent),null}}))};Mt(()=>{var l;try{l=this.transform_error(e)}catch(u){Pt(u,w(this,Me)&&w(this,Me).parent);return}l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(a,u=>Pt(u,w(this,Me)&&w(this,Me).parent)):a(l)})}}Je=new WeakMap,kr=new WeakMap,mt=new WeakMap,fn=new WeakMap,Me=new WeakMap,vt=new WeakMap,ze=new WeakMap,at=new WeakMap,Ct=new WeakMap,pn=new WeakMap,Kt=new WeakMap,Un=new WeakMap,Hn=new WeakMap,qn=new WeakMap,Nt=new WeakMap,ti=new WeakMap,Se=new WeakSet,Ip=function(){try{W(this,vt,qe(()=>w(this,fn).call(this,w(this,Je))))}catch(e){this.error(e)}},Cp=function(e){const n=w(this,mt).failed;n&&W(this,at,qe(()=>{n(w(this,Je),()=>e,()=>()=>{})}))},Np=function(){const e=w(this,mt).pending;e&&(this.is_pending=!0,W(this,ze,qe(()=>e(w(this,Je)))),Mt(()=>{var n=W(this,Ct,document.createDocumentFragment()),s=kt();n.append(s),W(this,vt,ke(this,Se,oi).call(this,()=>(Lt.ensure(),qe(()=>w(this,fn).call(this,s))))),w(this,Kt)===0&&(w(this,Je).before(n),W(this,Ct,null),sn(w(this,ze),()=>{W(this,ze,null)}),ke(this,Se,ri).call(this))}))},Rr=function(){try{if(this.is_pending=this.has_pending_snippet(),W(this,Kt,0),W(this,pn,0),W(this,vt,qe(()=>{w(this,fn).call(this,w(this,Je))})),w(this,Kt)>0){var e=W(this,Ct,document.createDocumentFragment());mo(w(this,vt),e);const n=w(this,mt).pending;W(this,ze,qe(()=>n(w(this,Je))))}else ke(this,Se,ri).call(this)}catch(n){this.error(n)}},ri=function(){this.is_pending=!1;for(const e of w(this,Hn))pe(e,Ee),nt(e);for(const e of w(this,qn))pe(e,et),nt(e);w(this,Hn).clear(),w(this,qn).clear()},oi=function(e){var n=$,s=X,i=we;ut(w(this,Me)),Ve(w(this,Me)),Sn(w(this,Me).ctx);try{return e()}catch(r){return Ur(r),null}finally{ut(n),Ve(s),Sn(i)}},Dr=function(e){var n;if(!this.has_pending_snippet()){this.parent&&ke(n=this.parent,Se,Dr).call(n,e);return}W(this,Kt,w(this,Kt)+e),w(this,Kt)===0&&(ke(this,Se,ri).call(this),w(this,ze)&&sn(w(this,ze),()=>{W(this,ze,null)}),w(this,Ct)&&(w(this,Je).before(w(this,Ct)),W(this,Ct,null)))};function lc(t,e,n,s){const i=Yn()?bs:mi;var r=t.filter(h=>!h.settled);if(n.length===0&&r.length===0){s(e.map(i));return}var o=$,a=cc(),l=r.length===1?r[0].promise:r.length>1?Promise.all(r.map(h=>h.promise)):null;function u(h){a();try{s(h)}catch(d){o.f&_t||Pt(d,o)}gi()}if(n.length===0){l.then(()=>u(e.map(i)));return}function c(){a(),Promise.all(n.map(h=>hc(h))).then(h=>u([...e.map(i),...h])).catch(h=>Pt(h,o))}l?l.then(c):c()}function cc(){var t=$,e=X,n=we,s=z;return function(r=!0){ut(t),Ve(e),Sn(n),r&&(s==null||s.activate())}}function gi(t=!0){ut(null),Ve(null),Sn(null),t&&(z==null||z.deactivate())}function uc(){var t=$.b,e=z,n=t.is_rendered();return t.update_pending_count(1),e.increment(n),()=>{t.update_pending_count(-1),e.decrement(n)}}function bs(t){var e=xe|Ee,n=X!==null&&X.f&xe?X:null;return $!==null&&($.f|=bn),{ctx:we,deps:null,effects:null,equals:Wr,f:e,fn:t,reactions:null,rv:0,v:Te,wv:0,parent:n??$,ac:null}}function hc(t,e,n){$===null&&Fl();var i=void 0,r=nn(Te),o=!X,a=new Map;return xc(()=>{var d;var l=Pr();i=l.promise;try{Promise.resolve(t()).then(l.resolve,l.reject).finally(gi)}catch(p){l.reject(p),gi()}var u=z;if(o){var c=uc();(d=a.get(u))==null||d.reject(en),a.delete(u),a.set(u,l)}const h=(p,f=void 0)=>{if(u.activate(),f)f!==en&&(r.f|=Dt,_n(r,f));else{r.f&Dt&&(r.f^=Dt),_n(r,p);for(const[m,S]of a){if(a.delete(m),m===u)break;S.reject(en)}}c&&c()};l.promise.then(h,p=>h(null,p||"unknown"))}),yi(()=>{for(const l of a.values())l.reject(en)}),new Promise(l=>{function u(c){function h(){c===i?l(r):u(i)}c.then(h,h)}u(i)})}function oe(t){const e=bs(t);return wo(e),e}function mi(t){const e=bs(t);return e.equals=zr,e}function dc(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;n<e.length;n+=1)De(e[n])}}function fc(t){for(var e=t.parent;e!==null;){if(!(e.f&xe))return e.f&_t?null:e;e=e.parent}return null}function vi(t){var e,n=$;ut(fc(t));try{t.f&=~Zt,dc(t),e=ko(t)}finally{ut(n)}return e}function Jr(t){var e=vi(t);if(!t.equals(e)&&(t.wv=So(),(!(z!=null&&z.is_fork)||t.deps===null)&&(t.v=e,t.deps===null))){pe(t,_e);return}Wt||(Ie!==null?(bi()||z!=null&&z.is_fork)&&Ie.set(t,e):di(t))}function pc(t){var e,n;if(t.effects!==null)for(const s of t.effects)(s.teardown||s.ac)&&((e=s.teardown)==null||e.call(s),(n=s.ac)==null||n.abort(en),s.teardown=Ol,s.ac=null,ts(s,0),_i(s))}function Qr(t){if(t.effects!==null)for(const e of t.effects)e.teardown&&Tn(e)}let wi=new Set;const Bt=new Map;let Zr=!1;function nn(t,e){var n={f:0,v:t,reactions:null,equals:Wr,rv:0,wv:0};return n}function ce(t,e){const n=nn(t);return wo(n),n}function gc(t,e=!1,n=!0){var i;const s=nn(t);return e||(s.equals=zr),yn&&n&&we!==null&&we.l!==null&&((i=we.l).s??(i.s=[])).push(s),s}function D(t,e,n=!1){X!==null&&(!st||X.f&Br)&&Yn()&&X.f&(xe|St|hi|Br)&&(Ge===null||!vn.call(Ge,t))&&Kl();let s=n?ct(e):e;return _n(t,s)}function _n(t,e){if(!t.equals(e)){var n=t.v;Wt?Bt.set(t,e):Bt.set(t,n),t.v=e;var s=Lt.ensure();if(s.capture(t,n),t.f&xe){const i=t;t.f&Ee&&vi(i),di(i)}t.wv=So(),eo(t,Ee),Yn()&&$!==null&&$.f&_e&&!($.f&($e|Yt))&&(Ke===null?Cc([t]):Ke.push(t)),!s.is_fork&&wi.size>0&&!Zr&&mc()}return e}function mc(){Zr=!1;for(const t of wi)t.f&_e&&pe(t,et),es(t)&&Tn(t);wi.clear()}function $r(t,e=1){var n=v(t),s=e===1?n++:n--;return D(t,n),s}function Qn(t){D(t,t.v+1)}function eo(t,e){var n=t.reactions;if(n!==null)for(var s=Yn(),i=n.length,r=0;r<i;r++){var o=n[r],a=o.f;if(!(!s&&o===$)){var l=(a&Ee)===0;if(l&&pe(o,e),a&xe){var u=o;Ie==null||Ie.delete(u),a&Zt||(a&He&&(o.f|=Zt),eo(u,et))}else l&&(a&St&&tt!==null&&tt.add(o),nt(o))}}}function ct(t){if(typeof t!="object"||t===null||$t in t)return t;const e=Ar(t);if(e!==Rl&&e!==Dl)return t;var n=new Map,s=li(t),i=ce(0),r=on,o=a=>{if(on===r)return a();var l=X,u=on;Ve(null),yo(r);var c=a();return Ve(l),yo(u),c};return s&&n.set("length",ce(t.length)),new Proxy(t,{defineProperty(a,l,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&Vl();var c=n.get(l);return c===void 0?o(()=>{var h=ce(u.value);return n.set(l,h),h}):D(c,u.value,!0),!0},deleteProperty(a,l){var u=n.get(l);if(u===void 0){if(l in a){const c=o(()=>ce(Te));n.set(l,c),Qn(i)}}else D(u,Te),Qn(i);return!0},get(a,l,u){var p;if(l===$t)return t;var c=n.get(l),h=l in a;if(c===void 0&&(!h||(p=wn(a,l))!=null&&p.writable)&&(c=o(()=>{var f=ct(h?a[l]:Te),m=ce(f);return m}),n.set(l,c)),c!==void 0){var d=v(c);return d===Te?void 0:d}return Reflect.get(a,l,u)},getOwnPropertyDescriptor(a,l){var u=Reflect.getOwnPropertyDescriptor(a,l);if(u&&"value"in u){var c=n.get(l);c&&(u.value=v(c))}else if(u===void 0){var h=n.get(l),d=h==null?void 0:h.v;if(h!==void 0&&d!==Te)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return u},has(a,l){var d;if(l===$t)return!0;var u=n.get(l),c=u!==void 0&&u.v!==Te||Reflect.has(a,l);if(u!==void 0||$!==null&&(!c||(d=wn(a,l))!=null&&d.writable)){u===void 0&&(u=o(()=>{var p=c?ct(a[l]):Te,f=ce(p);return f}),n.set(l,u));var h=v(u);if(h===Te)return!1}return c},set(a,l,u,c){var I;var h=n.get(l),d=l in a;if(s&&l==="length")for(var p=u;p<h.v;p+=1){var f=n.get(p+"");f!==void 0?D(f,Te):p in a&&(f=o(()=>ce(Te)),n.set(p+"",f))}if(h===void 0)(!d||(I=wn(a,l))!=null&&I.writable)&&(h=o(()=>ce(void 0)),D(h,ct(u)),n.set(l,h));else{d=h.v!==Te;var m=o(()=>ct(u));D(h,m)}var S=Reflect.getOwnPropertyDescriptor(a,l);if(S!=null&&S.set&&S.set.call(c,u),!d){if(s&&typeof l=="string"){var T=n.get("length"),x=Number(l);Number.isInteger(x)&&x>=T.v&&D(T,x+1)}Qn(i)}return!0},ownKeys(a){v(i);var l=Reflect.ownKeys(a).filter(h=>{var d=n.get(h);return d===void 0||d.v!==Te});for(var[u,c]of n)c.v!==Te&&!(u in a)&&l.push(u);return l},setPrototypeOf(){Gl()}})}function to(t){try{if(t!==null&&typeof t=="object"&&$t in t)return t[$t]}catch{}return t}function vc(t,e){return Object.is(to(t),to(e))}var no,so,io,ro;function wc(){if(no===void 0){no=window,so=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,n=Text.prototype;io=wn(e,"firstChild").get,ro=wn(e,"nextSibling").get,Mr(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),Mr(n)&&(n.__t=void 0)}}function kt(t=""){return document.createTextNode(t)}function kn(t){return io.call(t)}function Zn(t){return ro.call(t)}function O(t,e){return kn(t)}function Ft(t,e=!1){{var n=kn(t);return n instanceof Comment&&n.data===""?Zn(n):n}}function q(t,e=1,n=!1){let s=t;for(;e--;)s=Zn(s);return s}function bc(t){t.textContent=""}function oo(){return!1}function ao(t,e,n){return document.createElementNS(Or,t,void 0)}let lo=!1;function yc(){lo||(lo=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(const n of t.target.elements)(e=n.__on_r)==null||e.call(n)})},{capture:!0}))}function ys(t){var e=X,n=$;Ve(null),ut(null);try{return t()}finally{Ve(e),ut(n)}}function Sc(t,e,n,s=n){t.addEventListener(e,()=>ys(n));const i=t.__on_r;i?t.__on_r=()=>{i(),s(!0)}:t.__on_r=()=>s(!0),yc()}function _c(t){$===null&&(X===null&&Ul(),jl()),Wt&&zl()}function kc(t,e){var n=e.last;n===null?e.last=e.first=t:(n.next=t,t.prev=n,e.last=t)}function Tt(t,e,n){var s=$;s!==null&&s.f&Le&&(t|=Le);var i={ctx:we,deps:null,nodes:null,f:t|Ee|He,first:null,fn:e,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{Tn(i)}catch(a){throw De(i),a}else e!==null&&nt(i);var r=i;if(n&&r.deps===null&&r.teardown===null&&r.nodes===null&&r.first===r.last&&!(r.f&bn)&&(r=r.first,t&St&&t&Qt&&r!==null&&(r.f|=Qt)),r!==null&&(r.parent=s,s!==null&&kc(r,s),X!==null&&X.f&xe&&!(t&Yt))){var o=X;(o.effects??(o.effects=[])).push(r)}return i}function bi(){return X!==null&&!st}function yi(t){const e=Tt(ms,null,!1);return pe(e,_e),e.teardown=t,e}function $n(t){_c();var e=$.f,n=!X&&(e&$e)!==0&&(e&Jt)===0;if(n){var s=we;(s.e??(s.e=[])).push(t)}else return co(t)}function co(t){return Tt(Xn|Ml,t,!1)}function Tc(t){Lt.ensure();const e=Tt(Yt|bn,t,!0);return(n={})=>new Promise(s=>{n.outro?sn(e,()=>{De(e),s(void 0)}):(De(e),s(void 0))})}function uo(t){return Tt(Xn,t,!1)}function xc(t){return Tt(hi|bn,t,!0)}function Si(t,e=0){return Tt(ms|e,t,!0)}function K(t,e=[],n=[],s=[]){lc(s,e,n,i=>{Tt(ms,()=>t(...i.map(v)),!0)})}function Ss(t,e=0){var n=Tt(St|e,t,!0);return n}function qe(t){return Tt($e|bn,t,!0)}function ho(t){var e=t.teardown;if(e!==null){const n=Wt,s=X;vo(!0),Ve(null);try{e.call(null)}finally{vo(n),Ve(s)}}}function _i(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){const i=n.ac;i!==null&&ys(()=>{i.abort(en)});var s=n.next;n.f&Yt?n.parent=null:De(n,e),n=s}}function Ec(t){for(var e=t.first;e!==null;){var n=e.next;e.f&$e||De(e),e=n}}function De(t,e=!0){var n=!1;(e||t.f&Fr)&&t.nodes!==null&&t.nodes.end!==null&&(Ic(t.nodes.start,t.nodes.end),n=!0),_i(t,e&&!n),ts(t,0),pe(t,_t);var s=t.nodes&&t.nodes.t;if(s!==null)for(const r of s)r.stop();ho(t);var i=t.parent;i!==null&&i.first!==null&&fo(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function Ic(t,e){for(;t!==null;){var n=t===e?null:Zn(t);t.remove(),t=n}}function fo(t){var e=t.parent,n=t.prev,s=t.next;n!==null&&(n.next=s),s!==null&&(s.prev=n),e!==null&&(e.first===t&&(e.first=s),e.last===t&&(e.last=n))}function sn(t,e,n=!0){var s=[];po(t,s,!0);var i=()=>{n&&De(t),e&&e()},r=s.length;if(r>0){var o=()=>--r||i();for(var a of s)a.out(o)}else i()}function po(t,e,n){if(!(t.f&Le)){t.f^=Le;var s=t.nodes&&t.nodes.t;if(s!==null)for(const a of s)(a.is_global||n)&&e.push(a);for(var i=t.first;i!==null;){var r=i.next,o=(i.f&Qt)!==0||(i.f&$e)!==0&&(t.f&St)!==0;po(i,e,o?n:!1),i=r}}}function ki(t){go(t,!0)}function go(t,e){if(t.f&Le){t.f^=Le,t.f&_e||(pe(t,Ee),nt(t));for(var n=t.first;n!==null;){var s=n.next,i=(n.f&Qt)!==0||(n.f&$e)!==0;go(n,i?e:!1),n=s}var r=t.nodes&&t.nodes.t;if(r!==null)for(const o of r)(o.is_global||e)&&o.in()}}function mo(t,e){if(t.nodes)for(var n=t.nodes.start,s=t.nodes.end;n!==null;){var i=n===s?null:Zn(n);e.append(n),n=i}}let _s=!1,Wt=!1;function vo(t){Wt=t}let X=null,st=!1;function Ve(t){X=t}let $=null;function ut(t){$=t}let Ge=null;function wo(t){X!==null&&(Ge===null?Ge=[t]:Ge.push(t))}let Oe=null,Be=0,Ke=null;function Cc(t){Ke=t}let bo=1,rn=0,on=rn;function yo(t){on=t}function So(){return++bo}function es(t){var e=t.f;if(e&Ee)return!0;if(e&xe&&(t.f&=~Zt),e&et){for(var n=t.deps,s=n.length,i=0;i<s;i++){var r=n[i];if(es(r)&&Jr(r),r.wv>t.wv)return!0}e&He&&Ie===null&&pe(t,_e)}return!1}function _o(t,e,n=!0){var s=t.reactions;if(s!==null&&!(Ge!==null&&vn.call(Ge,t)))for(var i=0;i<s.length;i++){var r=s[i];r.f&xe?_o(r,e,!1):e===r&&(n?pe(r,Ee):r.f&_e&&pe(r,et),nt(r))}}function ko(t){var m;var e=Oe,n=Be,s=Ke,i=X,r=Ge,o=we,a=st,l=on,u=t.f;Oe=null,Be=0,Ke=null,X=u&($e|Yt)?null:t,Ge=null,Sn(t.ctx),st=!1,on=++rn,t.ac!==null&&(ys(()=>{t.ac.abort(en)}),t.ac=null);try{t.f|=ui;var c=t.fn,h=c();t.f|=Jt;var d=t.deps,p=z==null?void 0:z.is_fork;if(Oe!==null){var f;if(p||ts(t,Be),d!==null&&Be>0)for(d.length=Be+Oe.length,f=0;f<Oe.length;f++)d[Be+f]=Oe[f];else t.deps=d=Oe;if(bi()&&t.f&He)for(f=Be;f<d.length;f++)((m=d[f]).reactions??(m.reactions=[])).push(t)}else!p&&d!==null&&Be<d.length&&(ts(t,Be),d.length=Be);if(Yn()&&Ke!==null&&!st&&d!==null&&!(t.f&(xe|et|Ee)))for(f=0;f<Ke.length;f++)_o(Ke[f],t);if(i!==null&&i!==t){if(rn++,i.deps!==null)for(let S=0;S<n;S+=1)i.deps[S].rv=rn;if(e!==null)for(const S of e)S.rv=rn;Ke!==null&&(s===null?s=Ke:s.push(...Ke))}return t.f&Dt&&(t.f^=Dt),h}catch(S){return Ur(S)}finally{t.f^=ui,Oe=e,Be=n,Ke=s,X=i,Ge=r,Sn(o),st=a,on=l}}function Nc(t,e){let n=e.reactions;if(n!==null){var s=Il.call(n,t);if(s!==-1){var i=n.length-1;i===0?n=e.reactions=null:(n[s]=n[i],n.pop())}}if(n===null&&e.f&xe&&(Oe===null||!vn.call(Oe,e))){var r=e;r.f&He&&(r.f^=He,r.f&=~Zt),di(r),pc(r),ts(r,0)}}function ts(t,e){var n=t.deps;if(n!==null)for(var s=e;s<n.length;s++)Nc(t,n[s])}function Tn(t){var e=t.f;if(!(e&_t)){pe(t,_e);var n=$,s=_s;$=t,_s=!0;try{e&(St|Lr)?Ec(t):_i(t),ho(t);var i=ko(t);t.teardown=typeof i=="function"?i:null,t.wv=bo;var r;ai&&Zl&&t.f&Ee&&t.deps}finally{_s=s,$=n}}}async function Rc(){await Promise.resolve(),nc()}function v(t){var e=t.f,n=(e&xe)!==0;if(X!==null&&!st){var s=$!==null&&($.f&_t)!==0;if(!s&&(Ge===null||!vn.call(Ge,t))){var i=X.deps;if(X.f&ui)t.rv<rn&&(t.rv=rn,Oe===null&&i!==null&&i[Be]===t?Be++:Oe===null?Oe=[t]:Oe.push(t));else{(X.deps??(X.deps=[])).push(t);var r=t.reactions;r===null?t.reactions=[X]:vn.call(r,X)||r.push(X)}}}if(Wt&&Bt.has(t))return Bt.get(t);if(n){var o=t;if(Wt){var a=o.v;return(!(o.f&_e)&&o.reactions!==null||xo(o))&&(a=vi(o)),Bt.set(o,a),a}var l=(o.f&He)===0&&!st&&X!==null&&(_s||(X.f&He)!==0),u=(o.f&Jt)===0;es(o)&&(l&&(o.f|=He),Jr(o)),l&&!u&&(Qr(o),To(o))}if(Ie!=null&&Ie.has(t))return Ie.get(t);if(t.f&Dt)throw t.v;return t.v}function To(t){if(t.f|=He,t.deps!==null)for(const e of t.deps)(e.reactions??(e.reactions=[])).push(t),e.f&xe&&!(e.f&He)&&(Qr(e),To(e))}function xo(t){if(t.v===Te)return!0;if(t.deps===null)return!1;for(const e of t.deps)if(Bt.has(e)||e.f&xe&&xo(e))return!0;return!1}function ns(t){var e=st;try{return st=!0,t()}finally{st=e}}const an=Symbol("events"),Eo=new Set,Ti=new Set;function Dc(t,e,n,s={}){function i(r){if(s.capture||xi.call(e,r),!r.cancelBubble)return ys(()=>n==null?void 0:n.call(this,r))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Mt(()=>{e.addEventListener(t,i,s)}):e.addEventListener(t,i,s),i}function xt(t,e,n,s,i){var r={capture:s,passive:i},o=Dc(t,e,n,r);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&yi(()=>{e.removeEventListener(t,o,r)})}function ln(t,e,n){(e[an]??(e[an]={}))[t]=n}function ks(t){for(var e=0;e<t.length;e++)Eo.add(t[e]);for(var n of Ti)n(t)}let Io=null;function xi(t){var S,T;var e=this,n=e.ownerDocument,s=t.type,i=((S=t.composedPath)==null?void 0:S.call(t))||[],r=i[0]||t.target;Io=t;var o=0,a=Io===t&&t[an];if(a){var l=i.indexOf(a);if(l!==-1&&(e===document||e===window)){t[an]=e;return}var u=i.indexOf(e);if(u===-1)return;l<=u&&(o=l)}if(r=i[o]||t.target,r!==e){Cl(t,"currentTarget",{configurable:!0,get(){return r||n}});var c=X,h=$;Ve(null),ut(null);try{for(var d,p=[];r!==null;){var f=r.assignedSlot||r.parentNode||r.host||null;try{var m=(T=r[an])==null?void 0:T[s];m!=null&&(!r.disabled||t.target===r)&&m.call(r,t)}catch(x){d?p.push(x):d=x}if(t.cancelBubble||f===e||f===null)break;r=f}if(d){for(let x of p)queueMicrotask(()=>{throw x});throw d}}finally{t[an]=e,delete t.currentTarget,Ve(c),ut(h)}}}const Ei=((fl=globalThis==null?void 0:globalThis.window)==null?void 0:fl.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Oc(t){return(Ei==null?void 0:Ei.createHTML(t))??t}function Co(t){var e=ao("template");return e.innerHTML=Oc(t.replaceAll("<!>","<!---->")),e.content}function ss(t,e){var n=$;n.nodes===null&&(n.nodes={start:t,end:e,a:null,t:null})}function G(t,e){var n=(e&xl)!==0,s=(e&El)!==0,i,r=!t.startsWith("<!>");return()=>{i===void 0&&(i=Co(r?t:"<!>"+t),n||(i=kn(i)));var o=s||so?document.importNode(i,!0):i.cloneNode(!0);if(n){var a=kn(o),l=o.lastChild;ss(a,l)}else ss(o,o);return o}}function Ac(t,e,n="svg"){var s=!t.startsWith("<!>"),i=`<${n}>${s?t:"<!>"+t}</${n}>`,r;return()=>{if(!r){var o=Co(i),a=kn(o);r=kn(a)}var l=r.cloneNode(!0);return ss(l,l),l}}function Ts(t,e){return Ac(t,e,"svg")}function xs(t=""){{var e=kt(t+"");return ss(e,e),e}}function Es(){var t=document.createDocumentFragment(),e=document.createComment(""),n=kt();return t.append(e,n),ss(e,n),t}function M(t,e){t!==null&&t.before(e)}const Mc=["touchstart","touchmove"];function Pc(t){return Mc.includes(t)}function ee(t,e){var n=e==null?"":typeof e=="object"?`${e}`:e;n!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=n,t.nodeValue=`${n}`)}function Lc(t,e){return Bc(t,e)}const Is=new Map;function Bc(t,{target:e,anchor:n,props:s={},events:i,context:r,intro:o=!0,transformError:a}){wc();var l=void 0,u=Tc(()=>{var c=n??e.appendChild(kt());oc(c,{pending:()=>{}},p=>{Ot({});var f=we;r&&(f.c=r),i&&(s.$$events=i),l=t(p,s)||{},At()},a);var h=new Set,d=p=>{for(var f=0;f<p.length;f++){var m=p[f];if(!h.has(m)){h.add(m);var S=Pc(m);for(const I of[e,document]){var T=Is.get(I);T===void 0&&(T=new Map,Is.set(I,T));var x=T.get(m);x===void 0?(I.addEventListener(m,xi,{passive:S}),T.set(m,1)):T.set(m,x+1)}}}};return d(gs(Eo)),Ti.add(d),()=>{var S;for(var p of h)for(const T of[e,document]){var f=Is.get(T),m=f.get(p);--m==0?(T.removeEventListener(p,xi),f.delete(p),f.size===0&&Is.delete(T)):f.set(p,m)}Ti.delete(d),c!==n&&((S=c.parentNode)==null||S.removeChild(c))}});return Fc.set(l,u),l}let Fc=new WeakMap;class No{constructor(e,n=!0){yt(this,"anchor");V(this,lt,new Map);V(this,wt,new Map);V(this,je,new Map);V(this,gn,new Set);V(this,hs,!0);V(this,ds,()=>{var e=z;if(w(this,lt).has(e)){var n=w(this,lt).get(e),s=w(this,wt).get(n);if(s)ki(s),w(this,gn).delete(n);else{var i=w(this,je).get(n);i&&(w(this,wt).set(n,i.effect),w(this,je).delete(n),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),s=i.effect)}for(const[r,o]of w(this,lt)){if(w(this,lt).delete(r),r===e)break;const a=w(this,je).get(o);a&&(De(a.effect),w(this,je).delete(o))}for(const[r,o]of w(this,wt)){if(r===n||w(this,gn).has(r))continue;const a=()=>{if(Array.from(w(this,lt).values()).includes(r)){var u=document.createDocumentFragment();mo(o,u),u.append(kt()),w(this,je).set(r,{effect:o,fragment:u})}else De(o);w(this,gn).delete(r),w(this,wt).delete(r)};w(this,hs)||!s?(w(this,gn).add(r),sn(o,a,!1)):a()}}});V(this,ni,e=>{w(this,lt).delete(e);const n=Array.from(w(this,lt).values());for(const[s,i]of w(this,je))n.includes(s)||(De(i.effect),w(this,je).delete(s))});this.anchor=e,W(this,hs,n)}ensure(e,n){var s=z,i=oo();if(n&&!w(this,wt).has(e)&&!w(this,je).has(e))if(i){var r=document.createDocumentFragment(),o=kt();r.append(o),w(this,je).set(e,{effect:qe(()=>n(o)),fragment:r})}else w(this,wt).set(e,qe(()=>n(this.anchor)));if(w(this,lt).set(s,e),i){for(const[a,l]of w(this,wt))a===e?s.unskip_effect(l):s.skip_effect(l);for(const[a,l]of w(this,je))a===e?s.unskip_effect(l.effect):s.skip_effect(l.effect);s.oncommit(w(this,ds)),s.ondiscard(w(this,ni))}else w(this,ds).call(this)}}lt=new WeakMap,wt=new WeakMap,je=new WeakMap,gn=new WeakMap,hs=new WeakMap,ds=new WeakMap,ni=new WeakMap;function Ii(t){we===null&&Bl(),yn&&we.l!==null?Wc(we).m.push(t):$n(()=>{const e=ns(t);if(typeof e=="function")return e})}function Wc(t){var e=t.l;return e.u??(e.u={a:[],b:[],m:[]})}function ue(t,e,n=!1){var s=new No(t),i=n?Qt:0;function r(o,a){s.ensure(o,a)}Ss(()=>{var o=!1;e((a,l=0)=>{o=!0,r(l,a)}),o||r(!1,null)},i)}function xn(t,e){return e}function zc(t,e,n){for(var s=[],i=e.length,r,o=e.length,a=0;a<i;a++){let h=e[a];sn(h,()=>{if(r){if(r.pending.delete(h),r.done.add(h),r.pending.size===0){var d=t.outrogroups;Ci(gs(r.done)),d.delete(r),d.size===0&&(t.outrogroups=null)}}else o-=1},!1)}if(o===0){var l=s.length===0&&n!==null;if(l){var u=n,c=u.parentNode;bc(c),c.append(u),t.items.clear()}Ci(e,!l)}else r={pending:new Set(e),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(r)}function Ci(t,e=!0){for(var n=0;n<t.length;n++)De(t[n],e)}var Ro;function En(t,e,n,s,i,r=null){var o=t,a=new Map;{var l=t;o=l.appendChild(kt())}var u=null,c=mi(()=>{var S=n();return li(S)?S:S==null?[]:gs(S)}),h,d=!0;function p(){m.fallback=u,jc(m,h,o,e,s),u!==null&&(h.length===0?u.f&Rt?(u.f^=Rt,rs(u,null,o)):ki(u):sn(u,()=>{u=null}))}var f=Ss(()=>{h=v(c);for(var S=h.length,T=new Set,x=z,I=oo(),g=0;g<S;g+=1){var b=h[g],_=s(b,g),k=d?null:a.get(_);k?(k.v&&_n(k.v,b),k.i&&_n(k.i,g),I&&x.unskip_effect(k.e)):(k=Uc(a,d?o:Ro??(Ro=kt()),b,_,g,i,e,n),d||(k.e.f|=Rt),a.set(_,k)),T.add(_)}if(S===0&&r&&!u&&(d?u=qe(()=>r(o)):(u=qe(()=>r(Ro??(Ro=kt()))),u.f|=Rt)),S>T.size&&Wl(),!d)if(I){for(const[y,E]of a)T.has(y)||x.skip_effect(E.e);x.oncommit(p),x.ondiscard(()=>{})}else p();v(c)}),m={effect:f,items:a,outrogroups:null,fallback:u};d=!1}function is(t){for(;t!==null&&!(t.f&$e);)t=t.next;return t}function jc(t,e,n,s,i){var y;var r=e.length,o=t.items,a=is(t.effect.first),l,u=null,c=[],h=[],d,p,f,m;for(m=0;m<r;m+=1){if(d=e[m],p=i(d,m),f=o.get(p).e,t.outrogroups!==null)for(const E of t.outrogroups)E.pending.delete(f),E.done.delete(f);if(f.f&Rt)if(f.f^=Rt,f===a)rs(f,null,n);else{var S=u?u.next:a;f===t.effect.last&&(t.effect.last=f.prev),f.prev&&(f.prev.next=f.next),f.next&&(f.next.prev=f.prev),zt(t,u,f),zt(t,f,S),rs(f,S,n),u=f,c=[],h=[],a=is(u.next);continue}if(f.f&Le&&ki(f),f!==a){if(l!==void 0&&l.has(f)){if(c.length<h.length){var T=h[0],x;u=T.prev;var I=c[0],g=c[c.length-1];for(x=0;x<c.length;x+=1)rs(c[x],T,n);for(x=0;x<h.length;x+=1)l.delete(h[x]);zt(t,I.prev,g.next),zt(t,u,I),zt(t,g,T),a=T,u=g,m-=1,c=[],h=[]}else l.delete(f),rs(f,a,n),zt(t,f.prev,f.next),zt(t,f,u===null?t.effect.first:u.next),zt(t,u,f),u=f;continue}for(c=[],h=[];a!==null&&a!==f;)(l??(l=new Set)).add(a),h.push(a),a=is(a.next);if(a===null)continue}f.f&Rt||c.push(f),u=f,a=is(f.next)}if(t.outrogroups!==null){for(const E of t.outrogroups)E.pending.size===0&&(Ci(gs(E.done)),(y=t.outrogroups)==null||y.delete(E));t.outrogroups.size===0&&(t.outrogroups=null)}if(a!==null||l!==void 0){var b=[];if(l!==void 0)for(f of l)f.f&Le||b.push(f);for(;a!==null;)!(a.f&Le)&&a!==t.fallback&&b.push(a),a=is(a.next);var _=b.length;if(_>0){var k=r===0?n:null;zc(t,b,k)}}}function Uc(t,e,n,s,i,r,o,a){var l=o&re?o&ps?nn(n):gc(n,!1,!1):null,u=o&ye?nn(i):null;return{v:l,i:u,e:qe(()=>(r(e,l??n,u??i,a),()=>{t.delete(s)}))}}function rs(t,e,n){if(t.nodes)for(var s=t.nodes.start,i=t.nodes.end,r=e&&!(e.f&Rt)?e.nodes.start:n;s!==null;){var o=Zn(s);if(r.before(s),s===i)return;s=o}}function zt(t,e,n){e===null?t.effect.first=n:e.next=n,n===null?t.effect.last=e:n.prev=e}function Do(t,e,n,s,i){var a;var r=(a=e.$$slots)==null?void 0:a[n],o=!1;r===!0&&(r=e.children,o=!0),r===void 0||r(t,o?()=>s:s)}function Oo(t,e,n){var s=new No(t);Ss(()=>{var i=e()??null;s.ensure(i,i&&(r=>n(r,i)))},Qt)}function jt(t,e){uo(()=>{var n=t.getRootNode(),s=n.host?n:n.head??n.ownerDocument.head;if(!s.querySelector("#"+e.hash)){const i=ao("style");i.id=e.hash,i.textContent=e.code,s.appendChild(i)}})}function Ao(t){var e,n,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(e=0;e<i;e++)t[e]&&(n=Ao(t[e]))&&(s&&(s+=" "),s+=n)}else for(n in t)t[n]&&(s&&(s+=" "),s+=n);return s}function Hc(){for(var t,e,n=0,s="",i=arguments.length;n<i;n++)(t=arguments[n])&&(e=Ao(t))&&(s&&(s+=" "),s+=e);return s}function In(t){return typeof t=="object"?Hc(t):t??""}function qc(t,e,n){var s=t==null?"":""+t;return e&&(s=s?s+" "+e:e),s===""?null:s}function Ut(t,e,n,s,i,r){var o=t.__className;if(o!==n||o===void 0){var a=qc(n,s);a==null?t.removeAttribute("class"):e?t.className=a:t.setAttribute("class",a),t.__className=n}return r}function Mo(t,e,n=!1){if(t.multiple){if(e==null)return;if(!li(e))return Yl();for(var s of t.options)s.selected=e.includes(Po(s));return}for(s of t.options){var i=Po(s);if(vc(i,e)){s.selected=!0;return}}(!n||e!==void 0)&&(t.selectedIndex=-1)}function Vc(t){var e=new MutationObserver(()=>{Mo(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),yi(()=>{e.disconnect()})}function Po(t){return"__value"in t?t.__value:t.value}const Gc=Symbol("is custom element"),Kc=Symbol("is html");function Xc(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function Ce(t,e,n,s){var i=Yc(t);i[e]!==(i[e]=n)&&(e==="loading"&&(t[Ll]=n),n==null?t.removeAttribute(e):typeof n!="string"&&Jc(t).includes(e)?t[e]=n:t.setAttribute(e,n))}function Yc(t){return t.__attributes??(t.__attributes={[Gc]:t.nodeName.includes("-"),[Kc]:t.namespaceURI===Or})}var Lo=new Map;function Jc(t){var e=t.getAttribute("is")||t.nodeName,n=Lo.get(e);if(n)return n;Lo.set(e,n=[]);for(var s,i=t,r=Element.prototype;r!==i;){s=Nl(i);for(var o in s)s[o].set&&n.push(o);i=Ar(i)}return n}function Qc(t,e,n=e){var s=new WeakSet;Sc(t,"input",async i=>{var r=i?t.defaultValue:t.value;if(r=Ni(t)?Ri(r):r,n(r),z!==null&&s.add(z),await Rc(),r!==(r=e())){var o=t.selectionStart,a=t.selectionEnd,l=t.value.length;if(t.value=r??"",a!==null){var u=t.value.length;o===a&&a===l&&u>l?(t.selectionStart=u,t.selectionEnd=u):(t.selectionStart=o,t.selectionEnd=Math.min(a,u))}}}),ns(e)==null&&t.value&&(n(Ni(t)?Ri(t.value):t.value),z!==null&&s.add(z)),Si(()=>{var i=e();if(t===document.activeElement){var r=fi??z;if(s.has(r))return}Ni(t)&&i===Ri(t.value)||t.type==="date"&&!i&&!t.value||i!==t.value&&(t.value=i??"")})}function Ni(t){var e=t.type;return e==="number"||e==="range"}function Ri(t){return t===""?null:+t}function Bo(t,e){return t===e||(t==null?void 0:t[$t])===e}function Zc(t={},e,n,s){return uo(()=>{var i,r;return Si(()=>{i=r,r=[],ns(()=>{t!==n(...r)&&(e(t,...r),i&&Bo(n(...i),t)&&e(null,...i))})}),()=>{Mt(()=>{r&&Bo(n(...r),t)&&e(null,...r)})}}),t}let Cs=!1;function $c(t){var e=Cs;try{return Cs=!1,[t(),Cs]}finally{Cs=e}}function Fe(t,e,n,s){var I;var i=!yn||(n&Sl)!==0,r=(n&kl)!==0,o=(n&Tl)!==0,a=s,l=!0,u=()=>(l&&(l=!1,a=o?ns(s):s),a),c;if(r){var h=$t in t||Pl in t;c=((I=wn(t,e))==null?void 0:I.set)??(h&&e in t?g=>t[e]=g:void 0)}var d,p=!1;r?[d,p]=$c(()=>t[e]):d=t[e],d===void 0&&s!==void 0&&(d=u(),c&&(i&&ql(),c(d)));var f;if(i?f=()=>{var g=t[e];return g===void 0?u():(l=!0,g)}:f=()=>{var g=t[e];return g!==void 0&&(a=void 0),g===void 0?a:g},i&&!(n&_l))return f;if(c){var m=t.$$legacy;return function(g,b){return arguments.length>0?((!i||!b||m||p)&&c(b?f():g),g):f()}}var S=!1,T=(n&yl?bs:mi)(()=>(S=!1,f()));r&&v(T);var x=$;return function(g,b){if(arguments.length>0){const _=b?v(T):i&&r?ct(g):g;return D(T,_),S=!0,a!==void 0&&(a=_),g}return Wt&&S||x.f&_t?T.v:v(T)}}function Fo(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Di(t,e,n){let s="";if(n){const i=new Date;i.setTime(i.getTime()+n*24*60*60*1e3),s="; expires="+i.toUTCString()}document.cookie=t+"="+(e||"")+s+"; path=/; secure; samesite=strict"}function Oi(t){const e=t+"=",n=document.cookie.split(";");for(let s=0;s<n.length;s++){let i=n[s];for(;i.charAt(0)===" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return i.substring(e.length,i.length)}return null}function Wo(){const t="uniqueUserID";let e=Oi(t);return e||(e=Fo(),Di(t,e,365)),e}function it(t,e,n={},s={}){const i="https://admin-api.wineater.com/api/widget-events";let r=Oi("uniqueUserID");r||(r=Wo());const o={user_agent:navigator.userAgent,screen_width:window.screen.width,screen_height:window.screen.height,language:navigator.language,platform:navigator.platform},a=new Date().toISOString();let l=Oi("sessionID");l||(l=Fo(),Di("sessionID",l,1));const u={event_type:t,store_id:e,session_id:l,event_time:a,data:n,meta:{...s,user_id:r},device_info:o,region:navigator.language.split("-")[1]||null,language:navigator.language.split("-")[0]||"en"};return fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}).then(c=>c.ok?c.json():c.json().then(h=>{throw new Error(h.message||"Failed to track widget event")})).catch(c=>{throw console.error("Widget event tracking error:",c),c})}var zo={},eu=function(t,e,n,s,i){var r=new Worker(zo[e]||(zo[e]=URL.createObjectURL(new Blob([t+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return r.onmessage=function(o){var a=o.data,l=a.$e$;if(l){var u=new Error(l[0]);u.code=l[1],u.stack=l[2],i(u,null)}else i(null,a)},r.postMessage(n,s),r},Xe=Uint8Array,Ae=Uint16Array,Ns=Int32Array,Rs=new Xe([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]),Ds=new Xe([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]),Ai=new Xe([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),jo=function(t,e){for(var n=new Ae(31),s=0;s<31;++s)n[s]=e+=1<<t[s-1];for(var i=new Ns(n[30]),s=1;s<30;++s)for(var r=n[s];r<n[s+1];++r)i[r]=r-n[s]<<5|s;return{b:n,r:i}},Uo=jo(Rs,2),tu=Uo.b,Os=Uo.r;tu[28]=258,Os[258]=28;for(var nu=jo(Ds,0),Mi=nu.r,As=new Ae(32768),le=0;le<32768;++le){var Ht=(le&43690)>>1|(le&21845)<<1;Ht=(Ht&52428)>>2|(Ht&13107)<<2,Ht=(Ht&61680)>>4|(Ht&3855)<<4,As[le]=((Ht&65280)>>8|(Ht&255)<<8)>>1}for(var Cn=function(t,e,n){for(var s=t.length,i=0,r=new Ae(e);i<s;++i)t[i]&&++r[t[i]-1];var o=new Ae(e);for(i=1;i<e;++i)o[i]=o[i-1]+r[i-1]<<1;var a;if(n){a=new Ae(1<<e);var l=15-e;for(i=0;i<s;++i)if(t[i])for(var u=i<<4|t[i],c=e-t[i],h=o[t[i]-1]++<<c,d=h|(1<<c)-1;h<=d;++h)a[As[h]>>l]=u}else for(a=new Ae(s),i=0;i<s;++i)t[i]&&(a[i]=As[o[t[i]-1]++]>>15-t[i]);return a},qt=new Xe(288),le=0;le<144;++le)qt[le]=8;for(var le=144;le<256;++le)qt[le]=9;for(var le=256;le<280;++le)qt[le]=7;for(var le=280;le<288;++le)qt[le]=8;for(var os=new Xe(32),le=0;le<32;++le)os[le]=5;var Ho=Cn(qt,9,0),qo=Cn(os,5,0),Pi=function(t){return(t+7)/8|0},Vo=function(t,e,n){return(e==null||e<0)&&(e=0),(n==null||n>t.length)&&(n=t.length),new Xe(t.subarray(e,n))},su=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Go=function(t,e,n){var s=new Error(e||su[t]);if(s.code=t,Error.captureStackTrace&&Error.captureStackTrace(s,Go),!n)throw s;return s},ht=function(t,e,n){n<<=e&7;var s=e/8|0;t[s]|=n,t[s+1]|=n>>8},Nn=function(t,e,n){n<<=e&7;var s=e/8|0;t[s]|=n,t[s+1]|=n>>8,t[s+2]|=n>>16},Ms=function(t,e){for(var n=[],s=0;s<t.length;++s)t[s]&&n.push({s,f:t[s]});var i=n.length,r=n.slice();if(!i)return{t:Wi,l:0};if(i==1){var o=new Xe(n[0].s+1);return o[n[0].s]=1,{t:o,l:1}}n.sort(function(b,_){return b.f-_.f}),n.push({s:-1,f:25001});var a=n[0],l=n[1],u=0,c=1,h=2;for(n[0]={s:-1,f:a.f+l.f,l:a,r:l};c!=i-1;)a=n[n[u].f<n[h].f?u++:h++],l=n[u!=c&&n[u].f<n[h].f?u++:h++],n[c++]={s:-1,f:a.f+l.f,l:a,r:l};for(var d=r[0].s,s=1;s<i;++s)r[s].s>d&&(d=r[s].s);var p=new Ae(d+1),f=Ps(n[c-1],p,0);if(f>e){var s=0,m=0,S=f-e,T=1<<S;for(r.sort(function(_,k){return p[k.s]-p[_.s]||_.f-k.f});s<i;++s){var x=r[s].s;if(p[x]>e)m+=T-(1<<f-p[x]),p[x]=e;else break}for(m>>=S;m>0;){var I=r[s].s;p[I]<e?m-=1<<e-p[I]++-1:++s}for(;s>=0&&m;--s){var g=r[s].s;p[g]==e&&(--p[g],++m)}f=e}return{t:new Xe(p),l:f}},Ps=function(t,e,n){return t.s==-1?Math.max(Ps(t.l,e,n+1),Ps(t.r,e,n+1)):e[t.s]=n},Li=function(t){for(var e=t.length;e&&!t[--e];);for(var n=new Ae(++e),s=0,i=t[0],r=1,o=function(l){n[s++]=l},a=1;a<=e;++a)if(t[a]==i&&a!=e)++r;else{if(!i&&r>2){for(;r>138;r-=138)o(32754);r>2&&(o(r>10?r-11<<5|28690:r-3<<5|12305),r=0)}else if(r>3){for(o(i),--r;r>6;r-=6)o(8304);r>2&&(o(r-3<<5|8208),r=0)}for(;r--;)o(i);r=1,i=t[a]}return{c:n.subarray(0,s),n:e}},Rn=function(t,e){for(var n=0,s=0;s<e.length;++s)n+=t[s]*e[s];return n},Bi=function(t,e,n){var s=n.length,i=Pi(e+2);t[i]=s&255,t[i+1]=s>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var r=0;r<s;++r)t[i+r+4]=n[r];return(i+4+s)*8},Fi=function(t,e,n,s,i,r,o,a,l,u,c){ht(e,c++,n),++i[256];for(var h=Ms(i,15),d=h.t,p=h.l,f=Ms(r,15),m=f.t,S=f.l,T=Li(d),x=T.c,I=T.n,g=Li(m),b=g.c,_=g.n,k=new Ae(19),y=0;y<x.length;++y)++k[x[y]&31];for(var y=0;y<b.length;++y)++k[b[y]&31];for(var E=Ms(k,7),P=E.t,j=E.l,L=19;L>4&&!P[Ai[L-1]];--L);var Q=u+5<<3,U=Rn(i,qt)+Rn(r,os)+o,B=Rn(i,d)+Rn(r,m)+o+14+3*L+Rn(k,P)+2*k[16]+3*k[17]+7*k[18];if(l>=0&&Q<=U&&Q<=B)return Bi(e,c,t.subarray(l,l+u));var J,te,R,Z;if(ht(e,c,1+(B<U)),c+=2,B<U){J=Cn(d,p,0),te=d,R=Cn(m,S,0),Z=m;var C=Cn(P,j,0);ht(e,c,I-257),ht(e,c+5,_-1),ht(e,c+10,L-4),c+=14;for(var y=0;y<L;++y)ht(e,c+3*y,P[Ai[y]]);c+=3*L;for(var A=[x,b],ie=0;ie<2;++ie)for(var ae=A[ie],y=0;y<ae.length;++y){var he=ae[y]&31;ht(e,c,C[he]),c+=P[he],he>15&&(ht(e,c,ae[y]>>5&127),c+=ae[y]>>12)}}else J=Ho,te=qt,R=qo,Z=os;for(var y=0;y<a;++y){var H=s[y];if(H>255){var he=H>>18&31;Nn(e,c,J[he+257]),c+=te[he+257],he>7&&(ht(e,c,H>>23&31),c+=Rs[he]);var N=H&31;Nn(e,c,R[N]),c+=Z[N],N>3&&(Nn(e,c,H>>5&8191),c+=Ds[N])}else Nn(e,c,J[H]),c+=te[H]}return Nn(e,c,J[256]),c+te[256]},Ko=new Ns([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Wi=new Xe(0),Xo=function(t,e,n,s,i,r){var o=r.z||t.length,a=new Xe(s+o+5*(1+Math.ceil(o/7e3))+i),l=a.subarray(s,a.length-i),u=r.l,c=(r.r||0)&7;if(e){c&&(l[0]=r.r>>3);for(var h=Ko[e-1],d=h>>13,p=h&8191,f=(1<<n)-1,m=r.p||new Ae(32768),S=r.h||new Ae(f+1),T=Math.ceil(n/3),x=2*T,I=function(Xt){return(t[Xt]^t[Xt+1]<<T^t[Xt+2]<<x)&f},g=new Ns(25e3),b=new Ae(288),_=new Ae(32),k=0,y=0,E=r.i||0,P=0,j=r.w||0,L=0;E+2<o;++E){var Q=I(E),U=E&32767,B=S[Q];if(m[U]=B,S[Q]=U,j<=E){var J=o-E;if((k>7e3||P>24576)&&(J>423||!u)){c=Fi(t,l,0,g,b,_,y,P,L,E-L,c),P=k=y=0,L=E;for(var te=0;te<286;++te)b[te]=0;for(var te=0;te<30;++te)_[te]=0}var R=2,Z=0,C=p,A=U-B&32767;if(J>2&&Q==I(E-A))for(var ie=Math.min(d,J)-1,ae=Math.min(32767,E),he=Math.min(258,J);A<=ae&&--C&&U!=B;){if(t[E+R]==t[E+R-A]){for(var H=0;H<he&&t[E+H]==t[E+H-A];++H);if(H>R){if(R=H,Z=A,H>ie)break;for(var N=Math.min(A,H-2),F=0,te=0;te<N;++te){var ne=E-A+te&32767,Qe=m[ne],Pe=ne-Qe&32767;Pe>F&&(F=Pe,B=ne)}}}U=B,B=m[U],A+=U-B&32767}if(Z){g[P++]=268435456|Os[R]<<18|Mi[Z];var bt=Os[R]&31,Ze=Mi[Z]&31;y+=Rs[bt]+Ds[Ze],++b[257+bt],++_[Ze],j=E+R,++k}else g[P++]=t[E],++b[t[E]]}}for(E=Math.max(E,j);E<o;++E)g[P++]=t[E],++b[t[E]];c=Fi(t,l,u,g,b,_,y,P,L,E-L,c),u||(r.r=c&7|l[c/8|0]<<3,c-=7,r.h=S,r.p=m,r.i=E,r.w=j)}else{for(var E=r.w||0;E<o+u;E+=65535){var Kn=E+65535;Kn>=o&&(l[c/8|0]=u,Kn=o),c=Bi(l,c+1,t.subarray(E,Kn))}r.i=o}return Vo(a,0,s+Pi(c)+i)},Yo=function(){for(var t=new Int32Array(256),e=0;e<256;++e){for(var n=e,s=9;--s;)n=(n&1&&-306674912)^n>>>1;t[e]=n}return t}(),Jo=function(){var t=-1;return{p:function(e){for(var n=t,s=0;s<e.length;++s)n=Yo[n&255^e[s]]^n>>>8;t=n},d:function(){return~t}}},zi=function(t,e,n,s,i){if(!i&&(i={l:1},e.dictionary)){var r=e.dictionary.subarray(-32768),o=new Xe(r.length+t.length);o.set(r),o.set(t,r.length),t=o,i.w=r.length}return Xo(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,n,s,i)},iu=function(t,e){var n={};for(var s in t)n[s]=t[s];for(var s in e)n[s]=e[s];return n},Qo=function(t,e,n){for(var s=t(),i=t.toString(),r=i.slice(i.indexOf("[")+1,i.lastIndexOf("]")).replace(/\s+/g,"").split(","),o=0;o<s.length;++o){var a=s[o],l=r[o];if(typeof a=="function"){e+=";"+l+"=";var u=a.toString();if(a.prototype)if(u.indexOf("[native code]")!=-1){var c=u.indexOf(" ",8)+1;e+=u.slice(c,u.indexOf("(",c))}else{e+=u;for(var h in a.prototype)e+=";"+l+".prototype."+h+"="+a.prototype[h].toString()}else e+=u}else n[l]=a}return e},Ls=[],ru=function(t){var e=[];for(var n in t)t[n].buffer&&e.push((t[n]=new t[n].constructor(t[n])).buffer);return e},ou=function(t,e,n,s){if(!Ls[n]){for(var i="",r={},o=t.length-1,a=0;a<o;++a)i=Qo(t[a],i,r);Ls[n]={c:Qo(t[o],i,r),e:r}}var l=iu({},Ls[n].e);return eu(Ls[n].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+e.toString()+"}",n,l,ru(l),s)},au=function(){return[Xe,Ae,Ns,Rs,Ds,Ai,Os,Mi,Ho,qt,qo,os,As,Ko,Wi,Cn,ht,Nn,Ms,Ps,Li,Rn,Bi,Fi,Pi,Vo,Xo,zi,uu,Zo]},lu=function(){return[$o,ea,Bs,Jo,Yo]},Zo=function(t){return postMessage(t,[t.buffer])},cu=function(t,e,n,s,i,r){var o=ou(n,s,i,function(a,l){o.terminate(),r(a,l)});return o.postMessage([t,e],e.consume?[t.buffer]:[]),function(){o.terminate()}},Bs=function(t,e,n){for(;n;++e)t[e]=n,n>>>=8},$o=function(t,e){var n=e.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=e.level<2?4:e.level==9?2:0,t[9]=3,e.mtime!=0&&Bs(t,4,Math.floor(new Date(e.mtime||Date.now())/1e3)),n){t[3]=8;for(var s=0;s<=n.length;++s)t[s+10]=n.charCodeAt(s)}},ea=function(t){return 10+(t.filename?t.filename.length+1:0)};function uu(t,e){return zi(t,e||{},0,0)}function hu(t,e,n){return n||(n=e,e={}),typeof n!="function"&&Go(7),cu(t,e,[au,lu,function(){return[ta]}],function(s){return Zo(ta(s.data[0],s.data[1]))},2,n)}function ta(t,e){e||(e={});var n=Jo(),s=t.length;n.p(t);var i=zi(t,e,ea(e),8),r=i.length;return $o(i,e),Bs(i,r-8,n.d()),Bs(i,r-4,s),i}var du=typeof TextDecoder<"u"&&new TextDecoder,fu=0;try{du.decode(Wi,{stream:!0}),fu=1}catch{}class na{constructor(){this.idx=1,this.backDict={}}getKey(e){let n=!1;return this.backDict[e]||(n=!0,this.backDict[e]=this.idx++),[this.backDict[e],n]}}class pu{constructor(e){this.dict=new na,this.app=e.app,this.isDictDisabled=e.isDictDisabled}sendSetAttribute(e,n,s){if(this.isDictDisabled){const i=[12,e,n,s];return this.app.send(i)}else{const i=[51,e,this.applyDict(n),this.applyDict(s)];return this.app.send(i)}}applyDict(e){const[n,s]=this.dict.getKey(e);return s&&this.app.send([50,n,e]),n}clear(){this.dict=new na}}class gu{constructor(e,n){this.app=e,this.startParams=n,this.conditions=[],this.hasStarted=!1,this.createConditionFromFilter=s=>{if(s.value.length){const i=mu(s);if(i.type)return i}},this.durationInt=null}setConditions(e){this.conditions=e}async fetchConditions(e,n){try{const s=await fetch(`${this.app.options.ingestPoint}/v1/web/conditions/${e}`,{method:"GET",headers:{Authorization:`Bearer ${n}`}}),{conditions:i}=await s.json(),r=[];i.forEach(o=>{o.filters.forEach(l=>{let u;l.type==="fetch"?(u={type:"network_request",subConditions:[],name:o.name},l.filters.forEach(c=>{const h=this.createConditionFromFilter(c);h&&u.subConditions.push(h)})):u=this.createConditionFromFilter(l),u&&(u.type==="session_duration"&&this.processDuration(u.value[0],o.name),r.push({...u,name:o.name}))})}),this.conditions=r}catch{this.app.debug.error("Critical: cannot fetch start conditions")}}trigger(e){if(!this.hasStarted)try{this.hasStarted=!0,this.app.start(this.startParams,void 0,e)}catch(n){this.app.debug.error(n)}}processMessage(e){if(!this.hasStarted)switch(e[0]){case 78:this.jsExceptionEvent(e);break;case 27:this.customEvent(e);break;case 68:this.clickEvent(e);break;case 122:this.pageLocationEvent(e);break;case 83:this.networkRequest(e);break}}processFlags(e){const n=this.conditions.filter(s=>s.type==="feature_flag");n.length&&n.forEach(s=>{const i=Dn[s.operator];i&&e.find(r=>i(r.key,s.value))&&this.trigger(s.name)})}processDuration(e,n){this.durationInt=setInterval(()=>{performance.now()>e&&this.trigger(n)},1e3),this.app.attachStopCallback(()=>{this.durationInt&&clearInterval(this.durationInt)})}networkRequest(e){const n=this.conditions.filter(s=>s.type==="network_request");n.length&&n.forEach(s=>{const i=s.subConditions.filter(r=>r.operator!=="isAny");i.length?i.every(o=>{let a;switch(o.key){case"url":a=e[3];break;case"status":a=e[6];break;case"method":a=e[2];break;case"duration":a=e[8];break}const l=Dn[o.operator];if(l&&l(a,o.value))return!0})&&this.trigger(s.name):i.length===0&&s.subConditions.length&&this.trigger(s.name)})}customEvent(e){const n=this.conditions.filter(s=>s.type==="custom_event");n.length&&n.forEach(s=>{const i=Dn[s.operator];i&&(i(e[1],s.value)||i(e[2],s.value))&&this.trigger(s.name)})}clickEvent(e){const n=this.conditions.filter(s=>s.type==="click");n.length&&n.forEach(s=>{const i=Dn[s.operator];i&&(i(e[3],s.value)||i(e[4],s.value))&&this.trigger(s.name)})}pageLocationEvent(e){const n=this.conditions.filter(s=>s.type==="visited_url");n&&n.forEach(s=>{const i=Dn[s.operator];i&&i(e[1],s.value)&&this.trigger(s.name)})}jsExceptionEvent(e){const n=[e[1],e[2],e[3]],s=this.conditions.filter(i=>i.type==="exception");s&&s.forEach(i=>{const r=Dn[i.operator];r&&n.some(o=>r(o,i.value))&&this.trigger(i.name)})}}const Dn={is:(t,e)=>e.some(n=>t.includes(n)),isAny:()=>!0,isNot:(t,e)=>!e.some(n=>t.includes(n)),contains:(t,e)=>e.some(n=>t.includes(n)),notContains:(t,e)=>!e.some(n=>t.includes(n)),startsWith:(t,e)=>e.some(n=>t.startsWith(n)),endsWith:(t,e)=>e.some(n=>t.endsWith(n)),greaterThan:(t,e)=>t>e,greaterOrEqual:(t,e)=>t>=e,lessOrEqual:(t,e)=>t<=e,lessThan:(t,e)=>t<e},mu=t=>{const e={on:"is",notOn:"isNot",">":"greaterThan","<":"lessThan","=":"is","<=":"lessOrEqual",">=":"greaterOrEqual"},n=i=>{if(Object.keys(e).includes(i))return e[i]};let s={type:"",operator:"",value:t.value,key:""};switch(t.type){case"click":s={type:"click",operator:n(t.operator),value:t.value,key:""};break;case"location":s={type:"visited_url",operator:t.operator,value:t.value,key:""};break;case"custom":s={type:"custom_event",operator:t.operator,value:t.value,key:""};break;case"metadata":s={type:t.source==="featureFlag"?"feature_flag":t.type,operator:t.operator,value:t.value,key:""};break;case"error":s={type:"exception",operator:t.operator,value:t.value,key:""};break;case"duration":s={type:"session_duration",value:t.value[0],key:""};break;case"fetchUrl":s={type:"network_request",key:"url",operator:t.operator,value:t.value};break;case"fetchStatusCode":s={type:"network_request",key:"status",operator:n(t.operator),value:t.value};break;case"fetchMethod":s={type:"network_request",key:"method",operator:n(t.operator),value:t.value};break;case"fetchDuration":s={type:"network_request",key:"duration",operator:n(t.operator),value:t.value};break}return s};class vu{constructor(e){this.app=e,this.flags=[],this.storageKey="__openreplay_flags";const n=this.app.sessionStorage.getItem(this.storageKey);if(n){const s=n.split(";").filter(Boolean);this.flags=s.map(i=>JSON.parse(i))}}getFeatureFlag(e){return this.flags.find(n=>n.key===e)}isFlagEnabled(e){return this.flags.findIndex(n=>n.key===e)!==-1}onFlagsLoad(e){this.onFlagsCb=e}async reloadFlags(e){const n=this.app.sessionStorage.getItem(this.storageKey),s={};n&&n.split(";").filter(Boolean).forEach(c=>{const h=JSON.parse(c);s[h.key]={key:h.key,value:h.value}});const i=this.app.session.getInfo(),r=this.app.session.userInfo,o={projectID:i.projectID,userID:i.userID,metadata:i.metadata,referrer:document.referrer,os:r.userOS,device:r.userDevice,country:r.userCountry,state:r.userState,city:r.userCity,browser:r.userBrowser,persistFlags:s},a=e??this.app.session.getSessionToken(),l=await fetch(this.app.options.ingestPoint+"/v1/web/feature-flags",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify(o)});if(l.status===200){const u=await l.json();return this.handleFlags(u.flags)}}handleFlags(e){var r;const n=[];e.forEach(o=>{o.is_persist&&n.push(o)});let s="";return this.diffPersist(n).forEach(o=>{s+=`${JSON.stringify(o)};`}),this.app.sessionStorage.setItem(this.storageKey,s),this.flags=e,(r=this.onFlagsCb)==null?void 0:r.call(this,e)}clearPersistFlags(){this.app.sessionStorage.removeItem(this.storageKey)}diffPersist(e){const n=this.app.sessionStorage.getItem(this.storageKey);if(!n)return e;const i=n.split(";").filter(Boolean).map(r=>JSON.parse(r));return e.filter(r=>i.findIndex(o=>o.key===r.key)===-1)}}const sa={htmlmasked:"hidden",masked:"obscured"},dt=!(typeof window>"u"),wu=dt&&navigator.userAgent.match(/firefox|fxios/i),bu=1e5;let ji=dt?Date.now()-performance.now():0;function Ui(){ji=Date.now()-performance.now()}function On(){return ji}const rt=dt&&performance.now?()=>Math.round(performance.now()+ji):()=>Date.now(),Hi="repeat"in String.prototype?t=>"*".repeat(t.length):t=>t.replace(/./g,"*");function ia(t){return t.trim().replace(/\s+/g," ")}function ra(t){return t.startsWith("https://")||t.startsWith("http://")}const Fs="https://docs.openreplay.com",oa={};function Vt(t,e,n="/"){oa[t]||(console.warn(`OpenReplay: ${t} is deprecated. ${e?`Please, use ${e} instead.`:""} Visit ${Fs}${n} for more information.`),oa[t]=!0)}function qi(t){let e=t.getAttribute("data-openreplay-label");return e!==null||(e=t.getAttribute("data-asayer-label"),e!==null&&Vt('"data-asayer-label" attribute','"data-openreplay-label" attribute',"/")),e}function cn(t,e){const n=`data-openreplay-${e}`;return t.hasAttribute(n)?(sa[e]&&Vt(`"${n}" attribute`,`"${sa[e]}" attribute`,"/installation/sanitize-data"),!0):!1}function yu(t){try{return!!t.contentDocument}catch{return!1}}function aa(t){try{return t instanceof HTMLIFrameElement?t.contentDocument:t instanceof Window?t.document:t instanceof Document?t.defaultView:"nodeType"in t?t.nodeType:"addEventListener"in t&&t.addEventListener,!0}catch(e){if(e instanceof DOMException&&e.name==="SecurityError")return!1}return!0}function la(t){return t.toString(16).padStart(2,"0")}function Su(t){const e=new Uint8Array(t/2),n=window.crypto||window.msCrypto;return n?(n.getRandomValues(e),Array.from(e,la).join("")):Array.from({length:t},()=>la(Math.floor(Math.random()*16))).join("")}function ca(){try{return window.self&&window.top&&window.self!==window.top}catch{return!0}}function Vi(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}function ua(t,e){if(e)return new MutationObserver(t);{const n=Vi("MutationObserver");return new window[n](t)}}function ha(t,e,n,s,i){if(!aa(t))return;let r="addEventListener";i||(r=Vi("addEventListener"));try{t[r]?t[r](e,n,s):t.addEventListener(e,n,s)}catch(o){const a=o.message;console.error(`Openreplay: ${a}; if this error is caused by an IframeObserver, ignore it`,e,t)}}function da(t,e,n,s,i){if(!aa(t))return;let r="removeEventListener";i||(r=Vi("removeEventListener"));try{t[r]?t[r](e,n,s):t.removeEventListener(e,n,s)}catch(o){const a=o.message;console.error(`Openreplay: ${a}; if this error is caused by an IframeObserver, ignore it`,e,t)}}class _u{constructor(){this.taskQueue=[],this.isRunning=!1}addTask(e){this.taskQueue.push(e),this.runTasks()}runTasks(){if(this.isRunning||this.taskQueue.length===0)return;this.isRunning=!0;const e=()=>{if(this.taskQueue.length===0){this.isRunning=!1;return}const n=this.taskQueue.shift();Promise.resolve(n()).then(()=>{requestAnimationFrame(()=>e())})};e()}}const ku=new _u;function Tu(t){ku.addTask(t)}function fa(t,e){const n={...t};for(const s in e)if(e.hasOwnProperty(s)){const i=e[s],r=t[s];typeof i=="object"&&!Array.isArray(i)&&i!==null?n[s]=fa(r||{},i):n[s]=i}return n}function un(t){return[0,t]}function xu(t,e){return[5,t,e]}function Eu(t,e){return[6,t,e]}function Iu(){return[7]}function Cu(t,e,n,s,i){return[8,t,e,n,s,i]}function Nu(t,e,n){return[9,t,e,n]}function Ru(t,e,n){return[10,t,e,n]}function Du(t){return[11,t]}function pa(t,e){return[13,t,e]}function Ou(t,e){return[14,t,e]}function Au(t,e,n){return[16,t,e,n]}function Mu(t,e,n){return[18,t,e,n]}function Pu(t,e){return[19,t,e]}function Lu(t,e){return[20,t,e]}function Bu(t,e){return[22,t,e]}function Fu(t,e,n,s,i,r,o,a,l){return[23,t,e,n,s,i,r,o,a,l]}function Wu(t,e,n){return[24,t,e,n]}function zu(t,e){return[27,t,e]}function ju(t){return[28,t]}function Uu(t){return[29,t]}function ga(t,e){return[30,t,e]}function Hu(t,e,n,s){return[49,t,e,n,s]}function qu(t,e){return[54,t,e]}function Vu(t){return[55,t]}function ma(t,e,n,s){return[57,t,e,n,s]}function va(t){return[58,t]}function Gi(t,e,n,s){return[60,t,e,n,s]}function Gu(t,e,n){return[61,t,e,n]}function Ku(t,e){return[63,t,e]}function Xu(t,e){return[64,t,e]}function Yu(t,e,n,s,i,r){return[68,t,e,n,s,i,r]}function Ki(t,e){return[70,t,e]}function wa(t,e,n){return[71,t,e,n]}function Xi(t,e,n,s){return[73,t,e,n,s]}function ba(t,e){return[75,t,e]}function ya(t,e){return[76,t,e]}function Ju(t,e){return[77,t,e]}function Yi(t,e,n,s){return[78,t,e,n,s]}function Ws(t,e,n,s,i,r,o,a,l){return[83,t,e,n,s,i,r,o,a,l]}function Qu(t,e,n,s,i,r){return[84,t,e,n,s,i,r]}function Zu(t,e,n,s,i,r){return[112,t,e,n,s,i,r]}function Sa(t,e,n){return[113,t,e,n]}function $u(t){return[114,t]}function _a(t){return[115,t]}function ka(t,e,n,s,i,r,o,a,l,u){return[116,t,e,n,s,i,r,o,a,l,u]}function zs(t){return[117,t]}function hn(t){return[118,t]}function eh(t,e){return[119,t,e]}function th(t){return[120,t]}function nh(t,e,n,s){return[122,t,e,n,s]}const Ji=dt&&"performance"in window&&"memory"in performance?performance:{memory:{}},Qi=dt?(navigator.deviceMemory||0)*1024:0,Zi=Ji.memory.jsHeapSizeLimit||0;function sh(t,e){if(!Object.assign({capturePerformance:!0},e).capturePerformance)return;let s,i;const r=()=>{s===void 0||s===-1||(s++,requestAnimationFrame(r))};t.ticker.attach(()=>{i===void 0||i===-1||i++},0,!1);const o=()=>{s===void 0||i===void 0||(t.send(Hu(s,i,Ji.memory.totalJSHeapSize||0,Ji.memory.usedJSHeapSize||0)),i=s=document.hidden?-1:0)};t.attachStartCallback(()=>{i=s=-1,o(),r()}),t.attachStopCallback(()=>{i=s=void 0}),t.ticker.attach(o,40,!1),document.hidden!==void 0&&t.attachEventListener(document,"visibilitychange",o,!1,!1)}const Ta="__or__watched_tags__";class ih{constructor(e){this.intervals={},this.tags=[],this.sessionStorage=e.sessionStorage,this.errLog=e.errLog,this.onTag=e.onTag;const n=JSON.parse(e.sessionStorage.getItem(Ta)??"[]");this.setTags(n),this.observer=new IntersectionObserver(s=>{s.forEach(i=>{if(i.isIntersecting&&i.target){const r=i.target.__or_watcher_tagname;r&&this.onTagRendered(r),this.observer.unobserve(i.target)}})})}async fetchTags(e,n){return fetch(`${e}/v1/web/tags`,{method:"GET",headers:{Authorization:`Bearer ${n}`}}).then(s=>s.json()).then(({tags:s})=>{if(s&&s.length){this.setTags(s);const i=JSON.stringify(s);this.sessionStorage.setItem(Ta,i||"")}}).catch(s=>this.errLog(s))}setTags(e){this.tags=e,this.intervals={},e.forEach(n=>{this.intervals[n.id]=setInterval(()=>{const s=document.querySelectorAll(n.selector);if(s.length>0){const i=s[0];i.__or_watcher_tagname=n.id,this.observer.observe(i)}},500)})}onTagRendered(e){this.intervals[e]&&clearInterval(this.intervals[e]),this.onTag(e)}clear(){this.tags.forEach(e=>{clearInterval(this.intervals[e.id])}),this.tags=[],this.intervals={},this.observer.disconnect()}}const rh={position:"fixed",top:0,left:0,width:"100vw",height:"100vh",background:"rgba(0, 0, 0, 0.40)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:999999,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},oh={display:"flex",flexDirection:"column",gap:"2rem",alignItems:"center",padding:"1.5rem",borderRadius:"2px",border:"1px solid #D9D9D9",background:"#FFF",width:"22rem"},js={display:"flex","flex-direction":"column",gap:"unset","align-items":"center",padding:"unset",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',"border-radius":"2px",border:"1px solid #D9D9D9",background:"rgba(255, 255, 255, 0.75)",width:"22rem"},ah={fontFamily:"Verdana, sans-serif",fontSize:"1.25rem",fontStyle:"normal",fontWeight:"500",lineHeight:"1.75rem",color:"rgba(0, 0, 0, 0.85)"},lh={borderTop:"1px solid rgba(0, 0, 0, 0.06)",borderBottom:"1px solid rgba(0, 0, 0, 0.06)",padding:"1.25rem 0rem",color:"rgba(0, 0, 0, 0.85)",fontFamily:"Verdana, sans-serif",fontSize:"13px",fontStyle:"normal",fontWeight:"400",lineHeight:"auto",whiteSpace:"pre-wrap"},ch={display:"flex",padding:"0.4rem 0.9375rem",justifyContent:"center",alignItems:"center",gap:"0.625rem",borderRadius:"0.25rem",border:"1px solid #394EFF",background:"#394EFF",boxShadow:"0px 2px 0px 0px rgba(0, 0, 0, 0.04)",color:"#FFF",textAlign:"center",fontFamily:"Verdana, sans-serif",fontSize:"1rem",fontStyle:"normal",fontWeight:"500",lineHeight:"1.5rem",cursor:"pointer"},xa={fontFamily:"Verdana, sans-serif",fontSize:"13px",fontWeight:"500",lineHeight:"auto",display:"flex",justifyContent:"space-between",width:"100%",cursor:"pointer"},An={display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"0.625rem",fontSize:"13px",lineHeight:"auto"},uh={padding:"0.5rem",gap:"0.5rem",fontFamily:"Verdana, sans-serif",fontSize:"16px",fontStyle:"normal",fontWeight:"500",lineHeight:"auto",color:"white",display:"flex",alignItems:"center",width:"100%",borderRadius:"2px",background:"rgba(0, 0, 0, 0.75)",boxSizing:"border-box"},Mn={boxSizing:"border-box",display:"block",width:"100%",borderBottom:"1px solid #D9D9D9",background:"#FFF",padding:"0.65rem",alignSelf:"stretch",color:"#000",fontFamily:"Verdana, sans-serif",fontStyle:"normal",fontWeight:"400"},hh={...Mn,display:"flex",flexDirection:"column",alignItems:"center",gap:"0.625rem"},Ea={fontSize:"1.25rem",fontWeight:"500",cursor:"pointer",color:"#394EFF"},Ia={display:"flex",padding:"0.4rem 0.9375rem",justifyContent:"center",alignItems:"center",gap:"0.625rem",borderRadius:"0.25rem",border:"1px solid #394EFF",background:"#394EFF",boxShadow:"0px 2px 0px 0px rgba(0, 0, 0, 0.04)",color:"#FFF",textAlign:"center",fontFamily:"Verdana, sans-serif",fontSize:"1rem",fontStyle:"normal",fontWeight:"500",lineHeight:"1.5rem",width:"100%",boxSizing:"border-box",cursor:"pointer"},Ca={marginTop:"1rem",marginBottom:"1rem",cursor:"pointer",display:"block",fontWeight:"500",fontSize:"13px!important",lineHeight:"auto"},dh={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"1rem",padding:"0.5rem",width:"100%",boxSizing:"border-box"},Na={display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",borderRadius:"6.25em",outline:"1px solid #394EFF",fontSize:"13px",height:"24px",width:"24px"},fh={display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",borderRadius:"6.25em",outline:"1px solid #D2DFFF",boxShadow:"0px 2px 0px 0px rgba(0, 0, 0, 0.04)",background:"#D2DFFF",fontSize:"13px",height:"24px",width:"24px"},Ra={borderRadius:"0.375rem",border:"1px solid rgba(0, 0, 0, 0.06)",background:"#F5F7FF",boxShadow:"0px 2px 0px 0px rgba(0, 0, 0, 0.04)",display:"flex",flexDirection:"column",padding:"0.625rem 0.9375rem",gap:"0.5rem",alignSelf:"stretch"},Da={fontWeight:"bold"},ph={fontSize:"13px",lineHeight:"auto"},Oa={marginRight:"0.5rem",cursor:"pointer",color:"#394EFF",textAlign:"center",fontFamily:"Verdana, sans-serif",fontSize:"13px",fontStyle:"normal",fontWeight:"500",lineHeight:"auto"},gh={...Oa,display:"flex",padding:"0.25rem 0.9375rem",justifyContent:"center",alignItems:"center",gap:"0.5rem",borderRadius:"0.25rem",border:"1px solid #394EFF"},mh={display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",boxSizing:"border-box"},vh={border:"4px solid rgba(255, 255, 255, 0.4)",width:"16px",height:"16px",borderRadius:"50%",borderLeftColor:"#fff",animation:"spin 0.5s linear infinite"},Aa={Standard:{width:1280,height:720}};class wh{constructor(e){this.app=e,this.mediaRecorder=null,this.recordedChunks=[],this.stream=null,this.recStartTs=null}async startRecording(e,n,s,i){this.recStartTs=this.app.timestamp();const r=n;try{this.stream=await navigator.mediaDevices.getUserMedia({video:i?{...r,frameRate:{ideal:e}}:!1,audio:s}),this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:"video/webm;codecs=vp9"}),this.recordedChunks=[],this.mediaRecorder.ondataavailable=o=>{o.data.size>0&&this.recordedChunks.push(o.data)},this.mediaRecorder.start()}catch(o){console.error(o)}}async stopRecording(){return new Promise(e=>{this.mediaRecorder&&(this.mediaRecorder.onstop=()=>{const n=new Blob(this.recordedChunks,{type:"video/webm"});e(n)},this.mediaRecorder.stop())})}async sendToAPI(){const e=await this.stopRecording();return fetch(`${this.app.options.ingestPoint}/v1/web/uxt/upload-url`,{headers:{Authorization:`Bearer ${this.app.session.getSessionToken()}`}}).then(n=>{if(n.ok)return n.json();throw new Error("Failed to get upload url")}).then(({url:n})=>fetch(n,{method:"PUT",headers:{"Content-Type":"video/webm"},body:e})).catch(console.error).finally(()=>{this.discard()})}async saveToFile(e="recorded-video.webm"){const n=await this.stopRecording(),s=URL.createObjectURL(n),i=document.createElement("a");i.style.display="none",i.href=s,i.download=e,document.body.appendChild(i),i.click(),window.URL.revokeObjectURL(s),document.body.removeChild(i)}discard(){var e,n;(e=this.mediaRecorder)==null||e.stop(),(n=this.stream)==null||n.getTracks().forEach(s=>s.stop())}}function bh(t,e){e.onmousedown=function(n){const s=t.getBoundingClientRect(),i=n.clientX-s.left,r=n.clientY-s.top;t.style.position="fixed",t.style.zIndex=99999999999999,o(n.pageX,n.pageY);function o(u,c){let h=u-i,d=c-r;h<=5&&(h=5),d<=5&&(d=5),h>=window.innerWidth-s.width&&(h=window.innerWidth-s.width),d>=window.innerHeight-s.height&&(d=window.innerHeight-s.height),t.style.left=`${h}px`,t.style.top=`${d}px`}function a(u){o(u.pageX,u.pageY)}document.addEventListener("mousemove",a);const l=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",l)};document.addEventListener("mouseup",l)},e.ondragstart=function(){return!1}}function yh(){const t=document.createElement("div");t.className="grid";for(let e=0;e<16;e++){const n=document.createElement("div");Object.assign(n.style,{width:"2px",height:"2px",borderRadius:"10px",background:"white"}),n.className="cell",t.appendChild(n)}return Object.assign(t.style,{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gridTemplateRows:"repeat(4, 1fr)",gap:"2px",cursor:"grab"}),t}function Sh(){const t=document.createElement("div");Object.assign(t.style,{width:"0",height:"0",borderLeft:"7px solid transparent",borderRight:"7px solid transparent",borderBottom:"7px solid white"});const e=document.createElement("div");return e.appendChild(t),Object.assign(e.style,{display:"flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",cursor:"pointer",marginLeft:"auto",transform:"rotate(180deg)"}),e}function _h(){const t=document.createElement("style");t.type="text/css",t.innerText=`@keyframes spin {
|
|
2
2
|
0% { transform: rotate(0deg); }
|
|
3
3
|
100% { transform: rotate(360deg); }
|
|
4
|
-
}`,document.head.appendChild(t)}function
|
|
4
|
+
}`,document.head.appendChild(t)}function kh(){_h();const t=document.createElement("div");return t.classList.add("spinner"),Object.assign(t.style,vh),t}function Y(t,e,n,s,i){const r=document.createElement(t);return r.className=e,Object.assign(r.style,n),s&&(r.textContent=s),i&&(r.id=i),r}const Us="or_uxt_test_start",$i="or_uxt_task_index",er="or_uxt_session_id",Th="or_uxt_test_id";class xh{constructor(e,n,s,i,r,o,a,l,u){this.ingestPoint=e,this.getTimestamp=n,this.token=s,this.testId=i,this.storageKey=r,this.setStorageKey=o,this.removeStorageKey=a,this.getStorageKey=l,this.getSessionId=u,this.durations={testStart:0,tasks:[]},this.getDurations=()=>this.durations,this.setDurations=h=>{this.durations.testStart=h.testStart,this.durations.tasks=h.tasks},this.signalTask=(h,d,p)=>{if(!h)return console.error("User Testing: No Task ID Given");const f=this.durations.tasks.find(T=>T.taskId===h),m=this.getTimestamp(),S=f?m-f.started:0;return fetch(`${this.ingestPoint}/v1/web/uxt/signals/task`,{method:"POST",headers:{Authorization:`Bearer ${this.token}`},body:JSON.stringify({testId:this.testId,taskId:h,status:d,duration:S,timestamp:m,taskAnswer:p})})},this.signalTest=h=>{const d=this.getTimestamp();if(h==="begin"&&this.testId){const m=this.getSessionId();this.setStorageKey(er,m),this.setStorageKey(this.storageKey,this.testId.toString()),this.setStorageKey(Us,d.toString())}else this.removeStorageKey(this.storageKey),this.removeStorageKey($i),this.removeStorageKey(Us);const p=this.durations.testStart||d,f=d-p;return fetch(`${this.ingestPoint}/v1/web/uxt/signals/test`,{method:"POST",headers:{Authorization:`Bearer ${this.token}`},body:JSON.stringify({testId:this.testId,status:h,duration:f,timestamp:d})})};const c=this.getStorageKey(Us);c&&(this.durations.testStart=parseInt(c,10))}}class Eh{constructor(e,n){this.app=e,this.storageKey=n,this.bg=Y("div","bg",rh,void 0,"__or_ut_bg"),this.container=Y("div","container",oh,void 0,"__or_ut_ct"),this.widgetGuidelinesVisible=!0,this.widgetTasksVisible=!1,this.widgetVisible=!0,this.isActive=!1,this.descriptionSection=null,this.taskSection=null,this.endSection=null,this.stopButton=null,this.stopButtonContainer=null,this.test=null,this.testId=null,this.signalManager=null,this.getTest=(o,a,l)=>{this.testId=o;const u=this.app.options.ingestPoint;return fetch(`${u}/v1/web/uxt/test/${o}`,{headers:{Authorization:`Bearer ${a}`}}).then(c=>c.json()).then(({test:c})=>{this.isActive=!0,this.test=c,this.signalManager=new xh(this.app.options.ingestPoint,()=>this.app.timestamp(),a,o,this.storageKey,(h,d)=>this.app.localStorage.setItem(h,d),h=>this.app.localStorage.removeItem(h),h=>this.app.localStorage.getItem(h),()=>this.app.getSessionID()),this.createGreeting(c.title,c.reqMic,c.reqCamera),l&&((c.reqMic||c.reqCamera)&&this.userRecorder.startRecording(30,Aa.Standard,c.reqMic,c.reqCamera),this.showWidget(c.description,c.tasks,!0),this.showTaskSection())}).then(()=>o).catch(c=>{console.log("OR: Error fetching test",c)})},this.hideTaskSection=()=>!1,this.showTaskSection=()=>!0,this.collapseWidget=()=>!1,this.removeGreeting=()=>!1,this.toggleDescriptionVisibility=()=>{},this.currentTaskIndex=0,this.userRecorder=new wh(e);const s=this.app.getSessionID(),i=this.app.localStorage.getItem(er);s!==i&&(this.app.localStorage.removeItem(this.storageKey),this.app.localStorage.removeItem(er),this.app.localStorage.removeItem(Th),this.app.localStorage.removeItem($i),this.app.localStorage.removeItem(Us));const r=this.app.localStorage.getItem($i);r&&(this.currentTaskIndex=parseInt(r,10))}getTestId(){return this.testId}createGreeting(e,n,s){const i=Y("div","title",ah,e),r=Y("div","description",lh,`Welcome, you're here to help us improve, not to be judged. Your insights matter!
|
|
5
5
|
|
|
6
6
|
📹 We're recording this browser tab to learn from your experience.
|
|
7
|
-
🎤 Please enable mic and camera if asked, to give us a complete picture.`),o=
|
|
7
|
+
🎤 Please enable mic and camera if asked, to give us a complete picture.`),o=Y("div","button",ch,"Read guidelines to begin");this.removeGreeting=()=>((n||s)&&this.userRecorder.startRecording(30,Aa.Standard,n,s),this.container.removeChild(o),this.container.removeChild(r),this.container.removeChild(i),!1),o.onclick=()=>{var l,u,c,h;this.removeGreeting();const a=(l=this.signalManager)==null?void 0:l.getDurations();a&&this.signalManager&&(a.testStart=this.app.timestamp(),this.signalManager.setDurations(a)),(u=this.signalManager)==null||u.signalTest("begin"),this.container.style.fontFamily='-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',Object.assign(this.container.style,js),this.showWidget(((c=this.test)==null?void 0:c.guidelines)||"",((h=this.test)==null?void 0:h.tasks)||[])},this.container.append(i,r,o),this.bg.appendChild(this.container),document.body.appendChild(this.bg)}showWidget(e,n,s){this.container.innerHTML="",Object.assign(this.bg.style,{position:"fixed",zIndex:99999999999999,right:"8px",left:"unset",width:"fit-content",top:"8px",height:"fit-content",background:"unset",display:"unset",alignItems:"unset",justifyContent:"unset"});const i=this.createTitleSection();this.container.style.fontFamily='-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',Object.assign(this.container.style,js);const r=this.createDescriptionSection(e),o=this.createTasksSection(n),a=Y("div","stop_bn_or",Ca,"Abort Session"),l=Y("div","stop_ct_or",{fontSize:"13px!important"});l.style.fontSize="13px",l.append(a),this.container.append(i,r,o,l),this.taskSection=o,this.descriptionSection=r,this.stopButton=a,this.stopButtonContainer=l,a.onclick=()=>{var u;this.userRecorder.discard(),(u=this.signalManager)==null||u.signalTest("skipped"),document.body.removeChild(this.bg),window.close()},s?this.toggleDescriptionVisibility():this.hideTaskSection()}createTitleSection(){var a;const e=Y("div","title",uh),n=yh(),s=Y("div","title_text",{maxWidth:"19rem",overflow:"hidden",textOverflow:"ellipsis",width:"100%",fontSize:16,lineHeight:"auto",cursor:"pointer"},(a=this.test)==null?void 0:a.title),i=Sh();e.append(n,s,i);const r=l=>(this.widgetVisible=l,this.container.style.fontFamily='-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',Object.assign(this.container.style,this.widgetVisible?js:{border:"none",background:"none",padding:0}),this.taskSection&&Object.assign(this.taskSection.style,this.widgetVisible?Mn:{display:"none"}),this.descriptionSection&&Object.assign(this.descriptionSection.style,this.widgetVisible?Mn:{display:"none"}),this.endSection&&Object.assign(this.endSection.style,this.widgetVisible?Mn:{display:"none"}),this.stopButton&&Object.assign(this.stopButton.style,this.widgetVisible?Ca:{display:"none"}),l),o=()=>{Object.assign(i.style,{transform:this.widgetVisible?"rotate(0deg)":"rotate(180deg)"}),r(!this.widgetVisible)};return s.onclick=o,i.onclick=o,bh(this.bg,n),this.collapseWidget=()=>r(!1),e}createDescriptionSection(e){const n=Y("div","description_section_or",Mn),s=Y("div","description_s_title_or",xa),i=Y("div","title",{fontSize:13,fontWeight:500,lineHeight:"auto"},"Introduction & Guidelines"),r=Y("div","icon",Ea,"-"),o=Y("div","content",An),a=Y("div","text_description",{maxHeight:"250px",overflowY:"auto",whiteSpace:"pre-wrap",fontSize:13,color:"#454545",lineHeight:"auto"});a.innerHTML=e;const l=Y("div","button_begin_or",Ia,"Begin Test");s.append(i,r),o.append(a,l),n.append(s,o);const u=()=>{this.widgetGuidelinesVisible=!this.widgetGuidelinesVisible,r.textContent=this.widgetGuidelinesVisible?"-":"+",Object.assign(o.style,this.widgetGuidelinesVisible?An:{display:"none"})};return s.onclick=u,this.toggleDescriptionVisibility=()=>{this.widgetGuidelinesVisible=!1,r.textContent=this.widgetGuidelinesVisible?"-":"+",Object.assign(o.style,this.widgetGuidelinesVisible?An:{display:"none"}),o.removeChild(l)},l.onclick=()=>{var c,h,d;if(u(),this.test){const p=(c=this.signalManager)==null?void 0:c.getDurations(),f=p?p.tasks.findIndex(m=>this.test&&m.taskId===this.test.tasks[0].task_id):null;p&&f===-1&&(p.tasks.push({taskId:this.test.tasks[0].task_id,started:this.app.timestamp()}),(h=this.signalManager)==null||h.setDurations(p)),(d=this.signalManager)==null||d.signalTask(this.test.tasks[0].task_id,"begin")}this.showTaskSection(),o.removeChild(l)},n}createTasksSection(e){this.container.style.fontFamily='-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',Object.assign(this.container.style,js);const n=Y("div","task_section_or",Mn),s=Y("div","description_t_title_or",xa),i=Y("div","title",{fontSize:"13px",fontWeight:"500",lineHeight:"auto"},"Tasks"),r=Y("div","icon",Ea,"-"),o=Y("div","content",An),a=Y("div","pagination",dh),l=Y("div","taskCard",Ra),u=Y("div","taskText",Da),c=Y("div","taskDescription",ph),h=Y("div","taskButtons",mh),d=Y("div","taskText",Da);d.textContent="Your answer";const p=Y("textarea","taskDescription",{resize:"vertical"}),f=Y("div","inputArea",Ra);f.append(d,p);const m=Y("div","closePanelButton",Oa,"Collapse Panel"),S=Y("div","nextButton",gh,"Done, Next");s.append(i,r),l.append(u,c),h.append(m,S),o.append(a,l,f,h),n.append(s,o);const T=()=>{const g=e[this.currentTaskIndex];u.textContent=g.title,c.textContent=g.description,g.allow_typing?f.style.display="flex":f.style.display="none"};e.forEach((g,b)=>{const _=Y("span",`or_task_${b}`,{outline:"1px solid #efefef",fontSize:"13px",height:"24px",width:"24px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",borderRadius:"6.25em"},(b+1).toString());_.id=`or_task_${b}`,a.append(_)});const x=()=>{this.widgetTasksVisible=!this.widgetTasksVisible,r.textContent=this.widgetTasksVisible?"-":"+",Object.assign(o.style,this.widgetTasksVisible?An:{display:"none"})};this.hideTaskSection=()=>(r.textContent="+",Object.assign(o.style,{display:"none"}),this.widgetTasksVisible=!1,!1),this.showTaskSection=()=>(r.textContent="-",Object.assign(o.style,An),this.widgetTasksVisible=!0,!0);const I=()=>{const g=document.getElementById(`or_task_${this.currentTaskIndex}`);g&&Object.assign(g.style,Na);for(let b=0;b<this.currentTaskIndex;b++){const _=document.getElementById(`or_task_${b}`);_&&Object.assign(_.style,fh)}};return s.onclick=x,m.onclick=this.collapseWidget,S.onclick=()=>{var b,_,k,y;const g=e[this.currentTaskIndex].allow_typing?p.value:void 0;if(p.value="",(b=this.signalManager)==null||b.signalTask(e[this.currentTaskIndex].task_id,"done",g),this.currentTaskIndex<e.length-1){this.currentTaskIndex++,T();const E=(_=this.signalManager)==null?void 0:_.getDurations();E&&E.tasks.findIndex(P=>P.taskId===e[this.currentTaskIndex].task_id)===-1&&(E.tasks.push({taskId:e[this.currentTaskIndex].task_id,started:this.app.timestamp()}),(k=this.signalManager)==null||k.setDurations(E)),(y=this.signalManager)==null||y.signalTask(e[this.currentTaskIndex].task_id,"begin"),I()}else this.showEndSection();this.app.localStorage.setItem("or_uxt_task_index",this.currentTaskIndex.toString())},setTimeout(()=>{const g=document.getElementById("or_task_0");g&&Object.assign(g.style,Na),T(),I()},1),n}showEndSection(){var a,l,u,c;let e=!0;(a=this.signalManager)==null||a.signalTest("done");const n=Y("div","end_section_or",hh),s=Y("div","end_title_or",{fontSize:"1.25rem",fontWeight:"500"},"Thank you! 👍"),i=Y("div","end_description_or",{},((l=this.test)==null?void 0:l.conclusion)??`Thank you for participating in our usability test. Your feedback has been captured and will be used to enhance our website.
|
|
8
8
|
|
|
9
|
-
We appreciate your time and valuable input.`),r=X("div","end_button_or",Ea,"Submitting Feedback"),o=_h();r.appendChild(o),(u=this.test)!=null&&u.reqMic||(c=this.test)!=null&&c.reqCamera?this.userRecorder.sendToAPI().then(()=>{r.removeChild(o),r.textContent="End Session",e=!1}).catch(h=>{console.error(h),r.removeChild(o),r.textContent="End Session",e=!1}):(r.removeChild(o),r.textContent="End Session",e=!1),this.taskSection&&this.container.removeChild(this.taskSection),this.descriptionSection&&this.container.removeChild(this.descriptionSection),this.stopButton&&this.stopButtonContainer&&this.container.removeChild(this.stopButtonContainer),r.onclick=()=>{e||(window.close(),document.body.removeChild(this.bg))},n.append(s,i,r),this.endSection=n,this.container.append(n)}}function Aa(t){return!!t&&t.nodeType!=null}function tr(t){return t.namespaceURI==="http://www.w3.org/2000/svg"}function xt(t){return t.nodeType===Node.ELEMENT_NODE}function Eh(t){return t.nodeType===Node.COMMENT_NODE}function nr(t){return t.nodeType===Node.TEXT_NODE}function Hs(t){return t.nodeType===Node.DOCUMENT_NODE}function qs(t){return t.nodeType===Node.DOCUMENT_NODE||t.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function we(t,e){return t.localName===e}class Ih{constructor(e,n){this.app=e,this.options=n,this.snapshots={},this.intervals=[],this.restartTracking=()=>{this.clear(),this.app.nodes.scanTree(this.captureCanvas)},this.captureCanvas=s=>{const i=this.app.nodes.getID(s);if(!i||!we(s,"canvas")||this.app.sanitizer.isObscured(i)||this.app.sanitizer.isHidden(i)||!we(s,"canvas")||this.snapshots[i])return;new IntersectionObserver(a=>{a.forEach(l=>{l.isIntersecting&&(l.target?this.snapshots[i]&&this.snapshots[i].createdAt?this.snapshots[i].paused=!1:this.recordCanvas(l.target,i):this.snapshots[i]&&(this.snapshots[i].paused=!0))})}).observe(s)},this.recordCanvas=(s,i)=>{const r=this.app.timestamp();this.snapshots[i]={images:[],createdAt:r,paused:!1,dummy:document.createElement("canvas")};const o=$u(i.toString(),r);this.app.send(o);const a=u=>{Ch(u,this.options.quality,this.snapshots[i].dummy,this.options.fixedScaling,this.fileExt,c=>{if(c){if(!this.snapshots[i])return this.app.debug.warn("Canvas not present in snapshots after capture:",this.snapshots,i);this.snapshots[i].images.push({id:this.app.timestamp(),data:c}),this.snapshots[i].images.length>9&&(this.sendSnaps(this.snapshots[i].images,i,this.snapshots[i].createdAt),this.snapshots[i].images=[])}})},l=setInterval(()=>{const u=this.app.nodes.getID(s),c=u?this.app.nodes.getNode(u):void 0;if(!this.snapshots[i]){this.app.debug.log("Canvas is not present in {snapshots}"),clearInterval(l);return}if(!c||!we(c,"canvas")||c!==s){this.app.debug.log("Canvas element not in sync",c,s),clearInterval(l);return}else this.snapshots[i].paused||(this.options.useAnimationFrame?requestAnimationFrame(()=>{a(c)}):a(c))},this.interval);this.intervals.push(l)},this.fileExt=n.fileExt??"webp",this.interval=1e3/n.fps}startTracking(){setTimeout(()=>{this.app.nodes.scanTree(this.captureCanvas),this.app.nodes.attachNodeCallback(this.captureCanvas)},250)}sendSnaps(e,n,s){if(Object.keys(this.snapshots).length===0)return;const i=new FormData;e.forEach(o=>{const a=o.data;a&&(i.append("snapshot",a,`${s}_${n}_${o.id}.${this.fileExt}`),this.options.isDebug&&Nh(a,`${s}_${n}_${o.id}.${this.fileExt}`))});const r=()=>{this.app.debug.log("Restarting tracker; token expired"),this.app.stop(!1),setTimeout(()=>{this.app.start({},!0)},250)};fetch(this.app.options.ingestPoint+"/v1/web/images",{method:"POST",headers:{Authorization:`Bearer ${this.app.session.getSessionToken()??""}`},body:i}).then(o=>o.status===401?r():!0).catch(o=>{this.app.debug.error("error saving canvas",o)})}clear(){this.intervals.forEach(e=>clearInterval(e)),this.snapshots={}}}const Ma={low:.35,medium:.55,high:.8};function Ch(t,e="medium",n,s=!1,i,r){const o=`image/${i}`;if(s){const a=window.devicePixelRatio||1;n.width=t.width/a,n.height=t.height/a;const l=n.getContext("2d");if(!l)return"";l.clearRect(0,0,n.width,n.height),l.drawImage(t,0,0,n.width,n.height),n.toBlob(r,o,Ma[e])}else t.toBlob(r,o,Ma[e])}function Nh(t,e){const n=URL.createObjectURL(t),s=document.createElement("a");s.href=n,s.download=e,s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}const Pn={Verbose:5,Log:4,Warnings:3,Errors:2,Silent:0};class Rh{constructor(e=Pn.Silent){this.shouldLog=n=>this.level>=n,this.info=(...n)=>{this.shouldLog(Pn.Verbose)&&console.info(...n)},this.log=(...n)=>{this.shouldLog(Pn.Log)&&console.log(...n)},this.warn=(...n)=>{this.shouldLog(Pn.Warnings)&&console.warn(...n)},this.error=(...n)=>{this.shouldLog(Pn.Errors)&&console.error(...n)},this.level=e}}const Dh=1e3;function Oh(t,e,n){const s=t.entries();function i(){const r=[];let o=s.next();for(;!o.done&&r.length<e;)r.push(o.value),o=s.next();r.length>0&&(r.forEach(([a,l])=>{l&&n(l)}),setTimeout(i,50))}i()}function Ah(t){var e;try{if(!t.isConnected)return[!1,"not connected"];const n=t.nodeType===Node.DOCUMENT_NODE,s=n?t.defaultView:(e=t.ownerDocument)==null?void 0:e.defaultView,i=n?t:t.ownerDocument;return s?s.closed?[!1,"window closed"]:i!=null&&i.documentElement.isConnected?[!0,"ok"]:[!1,"documentElement not connected"]:[!1,"no window"]}catch(n){return[!1,n]}}const Mh={interval:Dh*30,batchSize:2500,enabled:!0};class Ph{constructor(e,n,s){this.nodes=e,this.unregisterNode=n,this.start=()=>{this.options.enabled&&(this.stop(),this.interval=setInterval(()=>{Oh(this.nodes,this.options.batchSize,i=>{Ah(i)[0]||this.unregisterNode(i)})},this.options.interval))},this.stop=()=>{this.interval&&clearInterval(this.interval)},this.options={...Mh,...s}}}class Lh{constructor(e){this.nodes=new Map,this.totalNodeAmount=0,this.nodeCallbacks=[],this.elementListeners=new Map,this.nextNodeId=0,this.scanTree=n=>{this.nodes.forEach(s=>s?n(s):void 0)},this.attachNodeListener=(n,s,i,r=!0)=>{const o=this.getID(n);if(o===void 0)return;ua(n,s,i,r,this.forceNgOff);let a=this.elementListeners.get(o);a===void 0&&(a=[],this.elementListeners.set(o,a)),a.push([s,i,r])},this.unregisterNode=n=>{const s=n[this.node_id];if(s!==void 0){n[this.node_id]=void 0,delete n[this.node_id],this.nodes.delete(s);const i=this.elementListeners.get(s);i!==void 0&&(this.elementListeners.delete(s),i.forEach(r=>ha(n,r[0],r[1],r[2],this.forceNgOff))),this.totalNodeAmount--}return s},this.node_id=e.node_id,this.forceNgOff=e.forceNgOff,this.maintainer=new Ph(this.nodes,this.unregisterNode,e.maintainer),this.maintainer.start()}syntheticMode(e){const n=Number.MAX_SAFE_INTEGER,i=99999999*e;if(i>n)throw new Error("Placeholder id overflow");this.nextNodeId=i}attachNodeCallback(e){return this.nodeCallbacks.push(e)}registerNode(e){let n=e[this.node_id];const s=n===void 0;return s&&(n=this.nextNodeId,this.totalNodeAmount++,this.nextNodeId++,this.nodes.set(n,e),e[this.node_id]=n),[n,s]}cleanTree(){for(const[e,n]of this.nodes)n&&!document.contains(n)&&this.unregisterNode(n)}callNodeCallbacks(e,n){this.nodeCallbacks.forEach(s=>s(e,n))}getID(e){if(e)return e[this.node_id]}getNode(e){return this.nodes.get(e)}getNodeCount(){return this.totalNodeAmount}clear(){for(const[e,n]of this.nodes)n&&this.unregisterNode(n);this.nextNodeId=0,this.nodes.clear()}}function Vs(t){if(Eh(t))return!0;if(nr(t))return!1;if(!xt(t))return!0;const e=t.tagName.toUpperCase();if(e==="LINK"){const n=t.getAttribute("rel"),s=t.getAttribute("as");return!(n!=null&&n.includes("stylesheet")||s==="style"||s==="font")}return e==="SCRIPT"||e==="NOSCRIPT"||e==="META"||e==="TITLE"||e==="BASE"}function sr(t){return qs(t)?!0:!Vs(t)}var dt;(function(t){t[t.New=0]="New",t[t.Removed=1]="Removed",t[t.Changed=2]="Changed"})(dt||(dt={}));class ir{constructor(e,n=!1){this.app=e,this.isTopContext=n,this.commited=[],this.recents=new Map,this.indexes=[],this.attributesMap=new Map,this.textSet=new Set,this.observer=ca(this.app.safe(s=>{for(const i of s){const r=i.target,o=i.type;if(!sr(r))continue;if(o==="childList"){for(let l=0;l<i.removedNodes.length;l++)sr(i.removedNodes[l])&&this.bindNode(i.removedNodes[l]);for(let l=0;l<i.addedNodes.length;l++)this.bindTree(i.addedNodes[l]);continue}const a=this.app.nodes.getID(r);if(a!==void 0){if(this.recents.has(a)||this.recents.set(a,dt.Changed),o==="attributes"){const l=i.attributeName;if(l===null)continue;let u=this.attributesMap.get(a);u===void 0&&this.attributesMap.set(a,u=new Set),u.add(l);continue}o==="characterData"&&this.textSet.add(a)}}this.commitNodes()}),this.app.options.forceNgOff)}clear(){this.commited.length=0,this.recents.clear(),this.indexes.length=1,this.attributesMap.clear(),this.textSet.clear()}handleIframeSrcChange(e){const n=e.contentDocument;if(n&&this.app.nodes.getID(n)!==void 0){const i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_TEXT,{acceptNode:l=>Vs(l)||this.app.nodes.getID(l)===void 0?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},!1);let r=0;const o=this.app.nodes.getNodeCount();for(;i.nextNode();)e.contentDocument.contains(i.currentNode)||(r+=1,this.app.nodes.unregisterNode(i.currentNode));const a=Math.floor(r/o*100);a>30&&this.app.send(Sa(a))}}sendNodeAttribute(e,n,s,i){if(tr(n)){s.substring(0,6)==="xlink:"&&(s=s.substring(6)),i===null?this.app.send(fa(e,s)):s==="href"?(i.length>1e5&&(i=""),this.app.send(Gi(e,s,i,this.app.getBaseHref()))):this.app.attributeSender.sendSetAttribute(e,s,i);return}if(!(s==="src"||s==="srcset"||s==="integrity"||s==="crossorigin"||s==="autocomplete"||s.substring(0,2)==="on")&&!(s==="value"&&we(n,"input")&&n.type!=="button"&&n.type!=="reset"&&n.type!=="submit")){if(i===null){this.app.send(fa(e,s));return}if(s==="style"||s==="href"&&we(n,"link")){this.app.send(Gi(e,s,i,this.app.getBaseHref()));return}(s==="href"||i.length>1e5)&&(i=""),this.app.attributeSender.sendSetAttribute(e,s,i)}}sendNodeData(e,n,s){if(we(n,"style")){this.app.send(Vu(e,s,this.app.getBaseHref()));return}s=this.app.sanitizer.sanitize(e,s),this.app.send(Du(e,s))}bindNode(e){const[n,s]=this.app.nodes.registerNode(e);s?this.recents.set(n,dt.New):this.recents.get(n)!==dt.New&&this.recents.set(n,dt.Removed)}bindTree(e){if(!sr(e))return;this.bindNode(e);const n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_TEXT,{acceptNode:s=>(this.app.nodes.getID(s)!==void 0&&this.app.debug.error("! Node is already bound",s),Vs(s)||this.app.nodes.getID(s)!==void 0?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT)},!1);for(;n.nextNode();)this.bindNode(n.currentNode)}unbindTree(e){const n=this.app.nodes.unregisterNode(e);if(n!==void 0&&this.recents.get(n)===dt.Removed){this.app.send(Ru(n));const s=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_TEXT,{acceptNode:a=>Vs(a)||this.app.nodes.getID(a)===void 0?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},!1);let i=0;const r=this.app.nodes.getNodeCount();for(;s.nextNode();)i+=1,this.app.nodes.unregisterNode(s.currentNode);const o=Math.floor(i/r*100);o>30&&this.app.send(Sa(o))}}_commitNode(e,n){if(qs(n))return!0;const s=n.parentNode;let i;if(!we(n,"html")||!this.isTopContext){if(s===null)return this.unbindTree(n),!1;if(i=this.app.nodes.getID(s),i===void 0)return this.unbindTree(n),!1;if(!this.commitNode(i))return this.unbindTree(n),!1;if(this.app.sanitizer.handleNode(e,i,n),this.app.sanitizer.isHidden(i))return!1}let r=n.previousSibling;for(;r!==null;){const c=this.app.nodes.getID(r);if(c!==void 0){this.commitNode(c),this.indexes[e]=this.indexes[c]+1;break}r=r.previousSibling}r===null&&(this.indexes[e]=0);const o=this.recents.get(e),a=o===dt.New,l=this.indexes[e];if(l===void 0)throw"commitNode: missing node index";if(a){if(xt(n)){let c=n;if(i!==void 0){if(this.app.sanitizer.isHidden(e)){const h=c.clientWidth,d=c.clientHeight;c=n.cloneNode(),c.style.width=`${h}px`,c.style.height=`${d}px`}this.app.send(Iu(e,i,l,c.tagName,tr(n)))}for(let h=0;h<c.attributes.length;h++){const d=c.attributes[h];this.sendNodeAttribute(e,c,d.nodeName,d.value)}}else nr(n)&&(this.app.send(Cu(e,i,l)),this.sendNodeData(e,s,n.data));return!0}o===dt.Removed&&i!==void 0&&this.app.send(Nu(e,i,l));const u=this.attributesMap.get(e);if(u!==void 0){if(!xt(n))throw"commitNode: node is not an element";for(const c of u)this.sendNodeAttribute(e,n,c,n.getAttribute(c))}if(this.textSet.has(e)){if(!nr(n))throw"commitNode: node is not a text";this.sendNodeData(e,s,n.data)}return!0}commitNode(e){const n=this.app.nodes.getNode(e);if(n===void 0)return!1;const s=this.commited[e];return s!==void 0?s:this.commited[e]=this._commitNode(e,n)}commitNodes(e=!1){let n;this.recents.forEach((s,i)=>{this.commitNode(i),s===dt.New&&(n=this.app.nodes.getNode(i))&&this.app.nodes.callNodeCallbacks(n,e)}),this.clear()}observeRoot(e,n,s=e){this.observer.observe(e,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!1,characterDataOldValue:!1}),this.bindTree(s),n(this.app.nodes.getID(e)),this.commitNodes(!0)}disconnect(){this.observer.disconnect(),this.clear()}}class Pa extends ir{observe(e){const n=e.contentDocument,s=this.app.nodes.getID(e);!n||s===void 0||this.observeRoot(n,i=>{if(i===void 0){this.app.debug.log("OpenReplay: Iframe document not bound");return}this.docId=i,this.app.send(Ki(s,i))})}syntheticObserve(e,n){this.observeRoot(n,s=>{if(s===void 0){this.app.debug.log("OpenReplay: Iframe document not bound");return}this.app.send(Ki(e,s))})}}class Bh extends ir{observe(e){const n=e.shadowRoot,s=this.app.nodes.getID(e);!n||s===void 0||this.observeRoot(n,i=>{if(i===void 0){this.app.debug.error("OpenReplay: Shadow Root was not bound");return}this.app.send(Ki(s,i))})}}class Fh{constructor(){this.states=new WeakMap}calcOffset(e){let n=0,s=0;if(e.parent&&([n,s]=this.calcOffset(e.parent)),!e.offset){const{left:o,top:a}=e.iFrame.getBoundingClientRect();e.offset=[o,a]}const[i,r]=e.offset;return[n+i,s+r]}getDocumentOffset(e){const n=this.states.get(e);return n?this.calcOffset(n):[0,0]}observe(e){var a;const n=e.contentDocument;if(!n)return;const s=e.ownerDocument,i=this.states.get(s),r={offset:null,iFrame:e,parent:i||null,clear:()=>{var l;s.removeEventListener("scroll",o),(l=s.defaultView)==null||l.removeEventListener("resize",o)}},o=()=>{r.offset=null};s.addEventListener("scroll",o),(a=s.defaultView)==null||a.addEventListener("resize",o),this.states.set(n,r)}clear(){this.states=new WeakMap}}const rr=ht?Element.prototype.attachShadow:()=>new ShadowRoot;class Wh extends ir{constructor(e){super(e.app,!0),this.iframeOffsets=new Fh,this.contextCallbacks=[],this.contextsSet=new WeakSet,this.iframeObserversArr=[],this.iframeObservers=new WeakMap,this.docObservers=new WeakMap,this.shadowRootObservers=new WeakMap,this.app=e.app,this.options=Object.assign({captureIFrames:!0},e.options),this.app.nodes.attachNodeCallback(n=>{we(n,"iframe")&&(this.options.captureIFrames&&!an(n,"obscured")||an(n,"capture"))&&this.handleIframe(n)}),this.app.nodes.attachNodeCallback(n=>{xt(n)&&n.shadowRoot!==null&&this.handleShadowRoot(n.shadowRoot)})}attachContextCallback(e){this.contextCallbacks.push(e)}getDocumentOffset(e){return this.iframeOffsets.getDocumentOffset(e)}handleIframe(e){const n=this.app.safe(()=>setTimeout(()=>{const s=this.app.nodes.getID(e);if(s===void 0||!bu(e))return;const i=e.contentWindow,r=e.contentDocument;if(!r){this.app.debug.warn("no doc for iframe found",e);return}if(r&&this.docObservers.has(r)){this.app.debug.info("doc already observed for",s);return}const o=new Pa(this.app);this.iframeObservers.set(e,o),this.docObservers.set(r,o),this.iframeObserversArr.push(o),o.observe(e),this.iframeOffsets.observe(e),i&&i===i.window&&!this.contextsSet.has(i)&&(this.contextsSet.add(i),this.contextCallbacks.forEach(a=>a(i)))},250));e.addEventListener("load",n),n()}handleShadowRoot(e){const n=new Bh(this.app);this.shadowRootObservers.set(e,n),n.observe(e.host)}observe(){const e=this;Element.prototype.attachShadow=function(){const n=rr.apply(this,arguments);return e.handleShadowRoot(n),n},this.app.nodes.clear(),this.observeRoot(window.document,()=>{this.app.send(Eu()),this.app.nodes.callNodeCallbacks(document,!0)},window.document.documentElement)}crossdomainObserve(e,n){const s=this;Element.prototype.attachShadow=function(){const r=rr.apply(this,arguments);return s.handleShadowRoot(r),r},this.app.nodes.clear(),this.app.nodes.syntheticMode(n);const i=new Pa(this.app);this.iframeObservers.set(window.document,i),i.syntheticObserve(e,window.document)}disconnect(){this.iframeOffsets.clear(),Element.prototype.attachShadow=rr,this.iframeObserversArr.forEach(e=>e.disconnect()),this.iframeObserversArr=[],this.iframeObservers=new WeakMap,this.shadowRootObservers=new WeakMap,this.docObservers=new WeakMap,super.disconnect()}}var Gs;(function(t){t[t.Plain=0]="Plain",t[t.Obscured=1]="Obscured",t[t.Hidden=2]="Hidden"})(Gs||(Gs={}));const zh=t=>t.trim().replace(/[^\f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]/g,"█");class jh{constructor(e){this.obscured=new Set,this.hidden=new Set,this.app=e.app,this.options=Object.assign({obscureTextEmails:!0,obscureTextNumbers:!1},e.options)}handleNode(e,n,s){if((this.obscured.has(n)||xt(s)&&(an(s,"masked")||an(s,"obscured")))&&this.obscured.add(e),(this.hidden.has(n)||xt(s)&&(an(s,"htmlmasked")||an(s,"hidden")))&&this.hidden.add(e),this.options.domSanitizer!==void 0&&xt(s)){const i=this.options.domSanitizer(s);i===Gs.Obscured&&this.obscured.add(e),i===Gs.Hidden&&this.hidden.add(e)}}sanitize(e,n){return this.obscured.has(e)?zh(n):(this.options.obscureTextNumbers&&(n=n.replace(/\d/g,"0")),this.options.obscureTextEmails&&(n=n.replace(/^\w+([+.-]\w+)*@\w+([.-]\w+)*\.\w{2,3}$/g,s=>{const[i,r]=s.split("@"),[o,a]=r.split(".");return`${Hi(i)}@${Hi(o)}.${Hi(a)}`})),n)}isObscured(e){return this.obscured.has(e)}isHidden(e){return this.hidden.has(e)}getInnerTextSecure(e){const n=this.app.nodes.getID(e);return n?this.sanitize(n,e.innerText):""}clear(){this.obscured.clear(),this.hidden.clear()}}class Uh{constructor(e){this.metadata={},this.userID=null,this.callbacks=[],this.timestamp=0,this.app=e.app,this.options=e.options,this.createTabId()}attachUpdateCallback(e){this.callbacks.push(e)}handleUpdate(e){e.userID==null&&delete e.userID,e.sessionID==null&&delete e.sessionID,this.callbacks.forEach(n=>n(e))}assign(e){e.userID!==void 0&&(this.userID=e.userID),e.metadata!==void 0&&Object.entries(e.metadata).forEach(([n,s])=>this.metadata[n]=s),e.sessionID!==void 0&&(this.sessionID=e.sessionID),e.timestamp!==void 0&&(this.timestamp=e.timestamp),e.projectID!==void 0&&(this.projectID=e.projectID),this.handleUpdate(e)}setMetadata(e,n){this.metadata[e]=n,this.handleUpdate({metadata:{[e]:n}})}setUserID(e){this.userID=e,this.handleUpdate({userID:e})}setUserInfo(e){this.userInfo=e}getPageNumber(){const e=this.app.sessionStorage.getItem(this.options.session_pageno_key);if(e!=null)return parseInt(e)}incPageNo(){let e=this.getPageNumber();return e===void 0?e=0:e++,this.app.sessionStorage.setItem(this.options.session_pageno_key,e.toString()),e}getSessionToken(){return this.token||this.app.sessionStorage.getItem(this.options.session_token_key)||void 0}setSessionToken(e){this.token=e,this.app.sessionStorage.setItem(this.options.session_token_key,e)}applySessionHash(e){const n=decodeURI(e).split("&");let s=e,i="100500";n.length==2&&([i,s]=n),!(!i||!s)&&(this.app.sessionStorage.setItem(this.options.session_token_key,s),this.app.sessionStorage.setItem(this.options.session_pageno_key,i))}getSessionHash(){const e=this.getPageNumber(),n=this.getSessionToken();if(!(e===void 0||n===void 0))return encodeURI(String(e)+"&"+n)}getTabId(){return this.tabId||this.createTabId(),this.tabId}regenerateTabId(){const e=yu(12);this.app.sessionStorage.setItem(this.options.session_tabid_key,e),this.tabId=e}createTabId(){const e=this.app.sessionStorage.getItem(this.options.session_tabid_key);e?this.tabId=e:this.regenerateTabId()}getInfo(){return{sessionID:this.sessionID,metadata:this.metadata,userID:this.userID,timestamp:this.timestamp,projectID:this.projectID}}reset(){this.app.sessionStorage.removeItem(this.options.session_token_key),this.metadata={},this.userID=null,this.sessionID=void 0,this.timestamp=0}}function Hh(t,e){let n=0;return()=>{n++>=e&&(n=0,t())}}class qh{constructor(e){this.app=e,this.timer=null,this.callbacks=[]}attach(e,n=0,s=!0,i){i&&(e=e.bind(i)),s&&(e=this.app.safe(e)),this.callbacks.unshift(n?Hh(e,n):e)-1}start(){this.timer===null&&(this.timer=setInterval(()=>this.callbacks.forEach(e=>{e&&e()}),30))}stop(){this.timer!==null&&(clearInterval(this.timer),this.timer=null)}}const Vh='!function(){"use strict";class t{constructor(t,s,i,e=10,n=250,h,r){this.onUnauthorised=s,this.onFailure=i,this.MAX_ATTEMPTS_COUNT=e,this.ATTEMPT_TIMEOUT=n,this.onCompress=h,this.pageNo=r,this.attemptsCount=0,this.busy=!1,this.queue=[],this.token=null,this.lastBatchNum=0,this.ingestURL=t+"/v1/web/i",this.isCompressing=void 0!==h}getQueueStatus(){return 0===this.queue.length&&!this.busy}authorise(t){this.token=t,this.busy||this.sendNext()}push(t){if(this.busy||!this.token)this.queue.push(t);else if(this.busy=!0,this.isCompressing&&this.onCompress)this.onCompress(t);else{const s=++this.lastBatchNum;this.sendBatch(t,!1,s)}}sendNext(){const t=this.queue.shift();if(t)if(this.busy=!0,this.isCompressing&&this.onCompress)this.onCompress(t);else{const s=++this.lastBatchNum;this.sendBatch(t,!1,s)}else this.busy=!1}retry(t,s,i){this.attemptsCount>=this.MAX_ATTEMPTS_COUNT?this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`):(this.attemptsCount++,setTimeout((()=>this.sendBatch(t,s,i)),this.ATTEMPT_TIMEOUT*this.attemptsCount))}sendBatch(t,s,i){var e;const n=null==i?void 0:i.toString().replace(/^([^_]+)_([^_]+).*/,"$1_$2_$3");this.busy=!0;const h={Authorization:`Bearer ${this.token}`};s&&(h["Content-Encoding"]="gzip"),null!==this.token?fetch(`${this.ingestURL}?batch=${null!==(e=this.pageNo)&&void 0!==e?e:"noPageNum"}_${null!=n?n:"noBatchNum"}`,{body:t,method:"POST",headers:h,keepalive:t.length<65536}).then((e=>{if(401===e.status)return this.busy=!1,void this.onUnauthorised();e.status>=400?this.retry(t,s,`${null!=i?i:"noBatchNum"}_network:${e.status}`):(this.attemptsCount=0,this.sendNext())})).catch((e=>{console.warn("OpenReplay:",e),this.retry(t,s,`${null!=i?i:"noBatchNum"}_reject:${e.message}`)})):setTimeout((()=>{this.sendBatch(t,s,`${null!=i?i:"noBatchNum"}_newToken`)}),500)}sendCompressed(t){const s=++this.lastBatchNum;this.sendBatch(t,!0,s)}sendUncompressed(t){const s=++this.lastBatchNum;this.sendBatch(t,!1,s)}clean(){this.sendNext(),setTimeout((()=>{this.token=null,this.queue.length=0}),10)}}const s="function"==typeof TextEncoder?new TextEncoder:{encode(t){const s=t.length,i=new Uint8Array(3*s);let e=-1;for(let n=0,h=0,r=0;r!==s;){if(n=t.charCodeAt(r),r+=1,n>=55296&&n<=56319){if(r===s){i[e+=1]=239,i[e+=1]=191,i[e+=1]=189;break}if(h=t.charCodeAt(r),!(h>=56320&&h<=57343)){i[e+=1]=239,i[e+=1]=191,i[e+=1]=189;continue}if(n=1024*(n-55296)+h-56320+65536,r+=1,n>65535){i[e+=1]=240|n>>>18,i[e+=1]=128|n>>>12&63,i[e+=1]=128|n>>>6&63,i[e+=1]=128|63&n;continue}}n<=127?i[e+=1]=0|n:n<=2047?(i[e+=1]=192|n>>>6,i[e+=1]=128|63&n):(i[e+=1]=224|n>>>12,i[e+=1]=128|n>>>6&63,i[e+=1]=128|63&n)}return i.subarray(0,e+1)}};class i{constructor(t){this.size=t,this.offset=0,this.checkpointOffset=0,this.data=new Uint8Array(t)}getCurrentOffset(){return this.offset}checkpoint(){this.checkpointOffset=this.offset}get isEmpty(){return 0===this.offset}skip(t){return this.offset+=t,this.offset<=this.size}set(t,s){this.data.set(t,s)}boolean(t){return this.data[this.offset++]=+t,this.offset<=this.size}uint(t){for((t<0||t>Number.MAX_SAFE_INTEGER)&&(t=0);t>=128;)this.data[this.offset++]=t%256|128,t=Math.floor(t/128);return this.data[this.offset++]=t,this.offset<=this.size}int(t){return t=Math.round(t),this.uint(t>=0?2*t:-2*t-1)}string(t){const i=s.encode(t),e=i.byteLength;return!(!this.uint(e)||this.offset+e>this.size)&&(this.data.set(i,this.offset),this.offset+=e,!0)}reset(){this.offset=0,this.checkpointOffset=0}flush(){const t=this.data.slice(0,this.checkpointOffset);return this.reset(),t}}class e extends i{encode(t){switch(t[0]){case 0:case 11:case 114:case 115:return this.uint(t[1]);case 4:case 44:case 47:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 5:case 20:case 38:case 70:case 75:case 76:case 77:case 82:return this.uint(t[1])&&this.uint(t[2]);case 6:return this.int(t[1])&&this.int(t[2]);case 7:return!0;case 8:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.string(t[4])&&this.boolean(t[5]);case 9:case 10:case 24:case 51:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 12:case 61:case 71:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 13:case 14:case 17:case 50:case 54:return this.uint(t[1])&&this.string(t[2]);case 16:return this.uint(t[1])&&this.int(t[2])&&this.int(t[3]);case 18:return this.uint(t[1])&&this.string(t[2])&&this.int(t[3]);case 19:return this.uint(t[1])&&this.boolean(t[2]);case 21:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.string(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8]);case 22:case 27:case 30:case 41:case 45:case 46:case 63:case 64:case 79:return this.string(t[1])&&this.string(t[2]);case 23:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 28:case 29:case 42:case 117:case 118:return this.string(t[1]);case 37:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3]);case 39:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7]);case 40:return this.string(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 48:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.int(t[5]);case 49:return this.int(t[1])&&this.int(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 53:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8]);case 55:return this.boolean(t[1]);case 57:case 60:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 58:case 120:return this.int(t[1]);case 59:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6])&&this.string(t[7]);case 67:case 73:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 68:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6]);case 69:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 78:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 81:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.int(t[4])&&this.string(t[5]);case 83:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.string(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 84:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6]);case 112:return this.uint(t[1])&&this.string(t[2])&&this.boolean(t[3])&&this.string(t[4])&&this.int(t[5])&&this.int(t[6]);case 113:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3]);case 116:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8])&&this.uint(t[9])&&this.boolean(t[10]);case 119:return this.string(t[1])&&this.uint(t[2]);case 121:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 122:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 123:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])}}}class n{constructor(t,s,i,n,h,r){this.pageNo=t,this.timestamp=s,this.url=i,this.onBatch=n,this.tabId=h,this.onOfflineEnd=r,this.nextIndex=0,this.beaconSize=2e5,this.encoder=new e(this.beaconSize),this.sizeBuffer=new Uint8Array(3),this.isEmpty=!0,this.beaconSizeLimit=1e6,this.prepare()}writeType(t){return this.encoder.uint(t[0])}writeFields(t){return this.encoder.encode(t)}writeSizeAt(t,s){for(let s=0;s<3;s++)this.sizeBuffer[s]=t>>8*s;this.encoder.set(this.sizeBuffer,s)}prepare(){if(!this.encoder.isEmpty)return;const t=[81,1,this.pageNo,this.nextIndex,this.timestamp,this.url],s=[118,this.tabId];this.writeType(t),this.writeFields(t),this.writeWithSize(s),this.isEmpty=!0}writeWithSize(t){const s=this.encoder;if(!this.writeType(t)||!s.skip(3))return!1;const i=s.getCurrentOffset(),e=this.writeFields(t);if(e){const e=s.getCurrentOffset()-i;if(e>16777215)return console.warn("OpenReplay: max message size overflow."),!1;this.writeSizeAt(e,i-3),s.checkpoint(),this.isEmpty=this.isEmpty&&0===t[0],this.nextIndex++}return e}setBeaconSizeLimit(t){this.beaconSizeLimit=t}writeMessage(t){if("q_end"===t[0])return this.finaliseBatch(),this.onOfflineEnd();0===t[0]&&(this.timestamp=t[1]),122===t[0]&&(this.url=t[1]),this.writeWithSize(t)||(this.finaliseBatch(),this.writeWithSize(t)||(this.encoder=new e(this.beaconSizeLimit),this.prepare(),this.writeWithSize(t)?this.finaliseBatch():console.warn("OpenReplay: beacon size overflow. Skipping large message.",t,this),this.encoder=new e(this.beaconSize),this.prepare()))}finaliseBatch(){if(this.isEmpty)return;const t=this.encoder.flush();this.onBatch(t),this.prepare()}clean(){this.encoder.reset()}}var h;!function(t){t[t.NotActive=0]="NotActive",t[t.Starting=1]="Starting",t[t.Stopping=2]="Stopping",t[t.Active=3]="Active",t[t.Stopped=4]="Stopped"}(h||(h={}));let r=null,u=null,a=h.NotActive;function o(){u&&u.finaliseBatch()}function c(){return new Promise((t=>{a=h.Stopping,null!==p&&(clearInterval(p),p=null),u&&(u.clean(),u=null),r&&(r.clean(),setTimeout((()=>{r=null}),20)),setTimeout((()=>{a=h.NotActive,t(null)}),100)}))}function g(){[h.Stopped,h.Stopping].includes(a)||(postMessage("a_stop"),c().then((()=>{postMessage("a_start")})))}let l,p=null;self.onmessage=({data:s})=>{if(null!=s){if("stop"===s)return o(),void c().then((()=>{a=h.Stopped}));if("forceFlushBatch"!==s){if(!Array.isArray(s)){if("compressed"===s.type){if(!r)return console.debug("OR WebWorker: sender not initialised. Compressed batch."),void g();s.batch&&r.sendCompressed(s.batch)}if("uncompressed"===s.type){if(!r)return console.debug("OR WebWorker: sender not initialised. Uncompressed batch."),void g();s.batch&&r.sendUncompressed(s.batch)}return"start"===s.type?(a=h.Starting,r=new t(s.ingestPoint,(()=>{g()}),(t=>{!function(t){postMessage({type:"failure",reason:t}),c()}(t)}),s.connAttemptCount,s.connAttemptGap,(t=>{postMessage({type:"compress",batch:t},[t.buffer])}),s.pageNo),u=new n(s.pageNo,s.timestamp,s.url,(t=>{r&&r.push(t)}),s.tabId,(()=>postMessage({type:"queue_empty"}))),null===p&&(p=setInterval(o,1e4)),a=h.Active):"auth"===s.type?r?u?(r.authorise(s.token),void(s.beaconSizeLimit&&u.setBeaconSizeLimit(s.beaconSizeLimit))):(console.debug("OR WebWorker: writer not initialised. Received auth."),void g()):(console.debug("OR WebWorker: sender not initialised. Received auth."),void g()):void 0}if(u){const t=u;s.forEach((s=>{55===s[0]&&(s[1]?l=setTimeout((()=>g()),18e5):clearTimeout(l)),t.writeMessage(s)}))}else postMessage("not_init"),g()}else o()}else o()}}();\n',os="canceled",La="or_uxt_active",or="or_buffer_1",Et=t=>({reason:t,success:!1}),Ba=t=>({...t,success:!0});var pe;(function(t){t[t.NotActive=0]="NotActive",t[t.Starting=1]="Starting",t[t.Active=2]="Active",t[t.ColdStart=3]="ColdStart"})(pe||(pe={}));const Fa="https://api.openreplay.com/ingest";function ar(){const t=new Date().getTimezoneOffset()*-1,e=t>=0?"+":"-",n=Math.floor(Math.abs(t)/60),s=Math.abs(t)%60;return`UTC${e}${String(n).padStart(2,"0")}:${String(s).padStart(2,"0")}`}const Gh=t=>new Promise(e=>setTimeout(e,t)),ge={ask:"never-gonna-give-you-up",resp:"never-gonna-let-you-down",reg:"never-gonna-run-around-and-desert-you",iframeSignal:"tracker inside a child iframe",iframeId:"getting node id for child iframe",iframeBatch:"batch of messages from an iframe window",parentAlive:"signal that parent is live",killIframe:"stop tracker inside frame",startIframe:"start tracker inside frame",polling:"hello-how-are-you-im-under-the-water-please-help-me"};let Kh=class{constructor(e,n,s,i,r){var l,u;this.signalError=i,this.insideIframe=r,this.messages=[],this.bufferedMessages1=[],this.bufferedMessages2=[],this.startCallbacks=[],this.stopCallbacks=[],this.commitCallbacks=[],this.activityState=pe.NotActive,this.version="14.0.14",this.socketMode=!1,this.compressionThreshold=24*1e3,this.bc=null,this.canvasRecorder=null,this.conditionsManager=null,this.canStart=!1,this.rootId=null,this.pageFrames=[],this.frameOderNumber=0,this.features={"feature-flags":!0,"usability-test":!0},this.parentActive=!1,this.checkStatus=()=>this.parentActive,this.parentCrossDomainFrameListener=c=>{const{data:h}=c;if(!(!h||c.source===window)){if(h.line===ge.startIframe){if(this.active())return;try{this.allowAppStart(),this.start()}catch(d){console.error("children frame restart failed:",d)}}h.line===ge.parentAlive&&(this.parentActive=!0),h.line===ge.iframeId&&(this.parentActive=!0,this.rootId=h.id,this.session.setSessionToken(h.token),this.frameOderNumber=h.frameOrderNumber,this.debug.log("starting iframe tracking",h),this.allowAppStart()),h.line===ge.killIframe&&this.active()&&this.stop()}},this.trackedFrames=[],this.crossDomainIframeListener=c=>{var d,p;if(!this.active()||c.source===window)return;const{data:h}=c;if(h){if(h.line===ge.iframeSignal&&((d=c.source)==null||d.postMessage({ping:!0,line:ge.parentAlive},"*"),(async()=>{var S;if(c.source===null)return console.error("Couldnt connect to event.source for child iframe tracking");const m=await this.checkNodeId(c.source);if(!m){this.debug.log("Couldnt get node id for iframe",c.source);return}try{this.trackedFrames.includes(h.context)?this.debug.log("Trying to observe already added iframe; ignore if its a restart"):this.trackedFrames.push(h.context),await this.waitStarted();const T=this.session.getSessionToken(),x=this.trackedFrames.findIndex(g=>g===h.context)+1;x===0&&this.debug.error("Couldnt get order number for iframe",h.context,this.trackedFrames);const I={line:ge.iframeId,id:m,token:T,frameOrderNumber:x};this.debug.log("Got child frame signal; nodeId",m,c.source,I),(S=c.source)==null||S.postMessage(I,"*")}catch(T){console.error(T)}})()),h.line===ge.iframeBatch){const m=h.messages.map(S=>{if(S[0]===20){let T=S;return this.pageFrames.forEach(x=>{if(x.contentWindow===c.source){const[I,g,b]=S,{left:_,top:k}=x.getBoundingClientRect();T=[I,g+_,b+k]}}),T}if(S[0]===68){let T=S;return this.pageFrames.forEach(x=>{if(x.contentWindow===c.source){const[I,g,b,_,k,y,E]=S,{left:P,top:j,width:L,height:J}=x.getBoundingClientRect(),U=document.documentElement.scrollWidth,B=document.documentElement.scrollHeight,Y=y/100*L+P,ee=E/100*J+j,R=Y/U,Q=ee/B;T=[I,g,b,_,k,Math.round(R*1e3)/10,Math.round(Q*1e3)/10]}}),T}return S});this.messages.push(...m)}if(h.line===ge.polling){if(!this.pollingQueue.order.length)return;const f=this.pollingQueue.order[0];if(f&&this.pollingQueue[f].length===0){this.pollingQueue.order=this.pollingQueue.order.filter(m=>m!==f);return}this.pollingQueue[f].includes(h.context)&&(this.pollingQueue[f]=this.pollingQueue[f].filter(m=>m!==h.context),(p=c.source)==null||p.postMessage({line:f},"*"),this.pollingQueue[f].length===0&&this.pollingQueue.order.shift())}}},this.pollingQueue={order:[]},this.addCommand=c=>{this.pollingQueue.order.push(c),this.pollingQueue[c]=[...this.trackedFrames]},this.bootChildrenFrames=async()=>{await this.waitStarted(),this.addCommand(ge.startIframe)},this.killChildrenFrames=()=>{this.addCommand(ge.killIframe)},this.signalIframeTracker=()=>{var T;const c=this.session.getTabId();window.parent.postMessage({line:ge.iframeSignal,source:c,context:this.contextId},((T=this.options.crossdomain)==null?void 0:T.parentDomain)??"*");const h=10;let d=0,p=250,f=0,m=!1;const S=()=>{var x;if(m||this.checkStatus()){m=!0;return}window.parent.postMessage({line:ge.iframeSignal,source:c,context:this.contextId},((x=this.options.crossdomain)==null?void 0:x.parentDomain)??"*"),this.debug.info("Trying to signal to parent, attempt:",d+1),d++};for(let x=0;x<h;x++){if(this.checkStatus()){m=!0;break}f+=p,setTimeout(()=>{S()},f),p*=1.5}},this.startTimeout=null,this.coldStartCommitN=0,this.delay=0,this.attachStartCallback=(c,h=!1)=>{h&&(c=this.safe(c)),this.startCallbacks.push(c)},this.attachStopCallback=(c,h=!1)=>{h&&(c=this.safe(c)),this.stopCallbacks.push(c)},this.attachEventListener=(c,h,d,p=!0,f=!0)=>{p&&(d=this.safe(d));const m=()=>c?ua(c,h,d,f,this.options.forceNgOff):null,S=()=>c?ha(c,h,d,f,this.options.forceNgOff):null;this.attachStartCallback(m,p),this.attachStopCallback(S,p)},this.coldInterval=null,this.orderNumber=0,this.coldStartTs=0,this.singleBuffer=!1,this.onSessionSent=()=>{},this.prevOpts={},this.restartCanvasTracking=()=>{var c;(c=this.canvasRecorder)==null||c.restartTracking()},this.flushBuffer=async c=>new Promise(h=>{let d=!1;const p=[c.shift()];for(;!d;){const f=c[0];!f||f[0]===0?d=!0:p.push(c.shift())}this.postToWorker(p),h(null)}),this.onUxtCb=[],this.contextId=Math.random().toString(36).slice(2),this.projectKey=e,Object.keys(s).findIndex(c=>["fixedCanvasScaling","disableCanvas"].includes(c))!==-1&&(console.warn('Openreplay: canvas options are moving to separate key "canvas" in next update. Please update your configuration.'),s={...s,canvas:{__save_canvas_locally:s.__save_canvas_locally,fixedCanvasScaling:s.fixedCanvasScaling,disableCanvas:s.disableCanvas}}),this.networkOptions=s.network;const o={revID:"",node_id:"__openreplay_id",session_token_key:"__openreplay_token",session_pageno_key:"__openreplay_pageno",session_reset_key:"__openreplay_reset",session_tabid_key:"__openreplay_tabid",local_uuid_key:"__openreplay_uuid",ingestPoint:Fa,resourceBaseHref:null,__is_snippet:!1,__debug_report_edp:null,__debug__:Pn.Silent,__save_canvas_locally:!1,localStorage:null,sessionStorage:null,disableStringDict:!1,forceSingleTab:!1,assistSocketHost:"",fixedCanvasScaling:!1,disableCanvas:!1,captureIFrames:!0,obscureTextEmails:!0,obscureTextNumbers:!1,crossdomain:{parentDomain:"*"},canvas:{disableCanvas:!1,fixedCanvasScaling:!1,__save_canvas_locally:!1,useAnimationFrame:!1},forceNgOff:!1};if(this.options=da(o,s),!this.insideIframe&&!this.options.forceSingleTab&&globalThis&&"BroadcastChannel"in globalThis){const c=location.hostname.split(".").slice(-2).join("_");this.bc=new BroadcastChannel(`rick_${c}`)}this.revID=this.options.revID,this.localStorage=this.options.localStorage??window.localStorage,this.sessionStorage=this.options.sessionStorage??window.sessionStorage,this.sanitizer=new jh({app:this,options:s}),this.nodes=new Lh({node_id:this.options.node_id,forceNgOff:!!s.forceNgOff,maintainer:(l=this.options.nodes)==null?void 0:l.maintainer}),this.observer=new Wh({app:this,options:s}),this.ticker=new qh(this),this.ticker.attach(()=>this.commit()),this.debug=new Rh(this.options.__debug__),this.session=new Uh({app:this,options:this.options}),this.attributeSender=new fu({app:this,isDictDisabled:!!(this.options.disableStringDict||(u=this.options.crossdomain)!=null&&u.enabled)}),this.featureFlags=new mu(this),this.tagWatcher=new sh({sessionStorage:this.sessionStorage,errLog:this.debug.error,onTag:c=>this.send(eh(c))}),this.session.attachUpdateCallback(({userID:c,metadata:h})=>{c!=null&&this.send(zu(c)),h!=null&&Object.entries(h).forEach(([d,p])=>this.send(pa(d,p)))}),n!=null&&this.session.applySessionHash(n);const a=this.session.getTabId();this.insideIframe?(window.addEventListener("message",this.parentCrossDomainFrameListener),setInterval(()=>{var c;document.hidden||window.parent.postMessage({line:ge.polling,context:this.contextId},((c=s.crossdomain)==null?void 0:c.parentDomain)??"*")},250)):(this.initWorker(),window.addEventListener("message",this.crossDomainIframeListener)),this.bc!==null&&(this.bc.postMessage({line:ge.ask,source:a,context:this.contextId}),this.startTimeout=setTimeout(()=>{this.allowAppStart()},250),this.bc.onmessage=c=>{if(c.data.context!==this.contextId){if(c.data.line===ge.resp){const h=c.data.token;this.session.setSessionToken(h),this.allowAppStart()}if(c.data.line===ge.reg){const h=c.data.token;this.session.regenerateTabId(),this.session.setSessionToken(h),this.allowAppStart()}if(c.data.line===ge.ask){const h=this.session.getSessionToken();h&&this.bc&&this.bc.postMessage({line:c.data.source===a?ge.reg:ge.resp,token:h,source:a,context:this.contextId})}}})}allowAppStart(){this.canStart=!0,this.startTimeout&&(clearTimeout(this.startTimeout),this.startTimeout=null)}async checkNodeId(e){let n;if(this.pageFrames.length>0&&(n=this.pageFrames.find(i=>i.contentWindow===e)),!n||!this.pageFrames.length){const i=Array.from(document.querySelectorAll("iframe"));this.pageFrames=i,n=i.find(r=>r.contentWindow===e)}if(!n)return null;let s=0;for(;s<100;){const i=n[this.options.node_id];if(i!==void 0)return s=100,i;s++,await Gh(100)}return null}initWorker(){try{this.worker=new Worker(URL.createObjectURL(new Blob([Vh],{type:"text/javascript"}))),this.worker.onerror=n=>{this._debug("webworker_error",n)},this.worker.onmessage=({data:n})=>{this.handleWorkerMsg(n)};const e=()=>{this.worker&&this.worker.postMessage(null)};this.attachEventListener(window,"beforeunload",e,!1),this.attachEventListener(document.body,"mouseleave",e,!1,!1),this.attachEventListener(document,"visibilitychange",e,!1)}catch(e){this._debug("worker_start",e)}}handleWorkerMsg(e){var n;if(e==="a_stop")this.stop(!1);else if(e==="a_start")this.waitStatus(pe.NotActive).then(()=>{this.allowAppStart(),this.start(this.prevOpts,!0).then(s=>{this.debug.info("Worker restarted, session was too long",s)}).catch(s=>{this.debug.error("Worker restart failed",s)})});else if(e==="not_init")this.debug.warn("OR WebWorker: writer not initialised. Restarting tracker");else if(e.type==="failure")this.stop(!1),this.debug.error("worker_failed",e.reason),this._debug("worker_failed",e.reason);else if(e.type==="compress"){const s=e.batch;s.byteLength>this.compressionThreshold?uu(e.batch,{mtime:0},(r,o)=>{var a,l;r?(this.debug.error("Openreplay compression error:",r),(a=this.worker)==null||a.postMessage({type:"uncompressed",batch:s})):(l=this.worker)==null||l.postMessage({type:"compressed",batch:o})}):(n=this.worker)==null||n.postMessage({type:"uncompressed",batch:s})}else e.type==="queue_empty"&&this.onSessionSent()}_debug(e,n){this.options.__debug_report_edp!==null&&fetch(this.options.__debug_report_edp,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({context:e,error:`${n}`})}),this.debug.error("OpenReplay error: ",e,n)}send(e,n=!1){var s;this.activityState!==pe.NotActive&&(this.activityState===pe.ColdStart?(this.bufferedMessages1.push(e),this.singleBuffer||this.bufferedMessages2.push(e),(s=this.conditionsManager)==null||s.processMessage(e)):this.messages.push(e),this.activityState===pe.Active&&n&&this.commit())}_nCommit(){var e;if(this.socketMode){this.messages.unshift(cn(this.session.getTabId())),this.messages.unshift(ln(this.timestamp())),this.commitCallbacks.forEach(n=>n(this.messages)),this.messages.length=0;return}if(this.insideIframe){window.parent.postMessage({line:ge.iframeBatch,messages:this.messages},((e=this.options.crossdomain)==null?void 0:e.parentDomain)??"*"),this.commitCallbacks.forEach(n=>n(this.messages)),this.messages.length=0;return}if(!(this.worker===void 0||!this.messages.length))try{ku(()=>{var n;this.messages.unshift(cn(this.session.getTabId())),this.messages.unshift(ln(this.timestamp())),(n=this.worker)==null||n.postMessage(this.messages),this.commitCallbacks.forEach(s=>s(this.messages)),this.messages.length=0})}catch(n){this._debug("worker_commit",n),this.stop(!0),setTimeout(()=>{this.start()},500)}}_cStartCommit(){this.coldStartCommitN+=1,this.coldStartCommitN===2&&(this.bufferedMessages1.push(ln(this.timestamp())),this.bufferedMessages1.push(cn(this.session.getTabId())),this.bufferedMessages2.push(ln(this.timestamp())),this.bufferedMessages2.push(cn(this.session.getTabId())),this.coldStartCommitN=0)}commit(){this.activityState===pe.ColdStart?this._cStartCommit():this._nCommit()}postToWorker(e){var n;(n=this.worker)==null||n.postMessage(e),this.commitCallbacks.forEach(s=>s(e)),e.length=0}timestamp(){return it()+this.delay}safe(e){const n=this;return function(...s){try{e.apply(this,s)}catch(i){n._debug("safe_fn_call",i)}}}attachCommitCallback(e){this.commitCallbacks.push(e)}checkRequiredVersion(e){const n=e.split(/[.-]/),s=this.version.split(/[.-]/);for(let i=0;i<3;i++){if(isNaN(Number(s[i]))||isNaN(Number(n[i])))return!1;if(Number(s[i])>Number(n[i]))return!0;if(Number(s[i])<Number(n[i]))return!1}return!0}getTrackerInfo(){return{userUUID:this.localStorage.getItem(this.options.local_uuid_key),projectKey:this.projectKey,revID:this.revID,trackerVersion:this.version,isSnippet:this.options.__is_snippet}}getSessionInfo(){return{...this.session.getInfo(),...this.getTrackerInfo()}}getSessionToken(){return this.session.getSessionToken()}getSessionID(){return this.session.getInfo().sessionID||void 0}getSessionURL(e){const{projectID:n,sessionID:s,timestamp:i}=this.session.getInfo();if(!n||!s){this.debug.error("OpenReplay error: Unable to build session URL");return}const r=this.options.ingestPoint,l=(/api\.openreplay\.com/.test(r)?"https://app.openreplay.com/ingest":r).replace(/ingest$/,`${n}/session/${s}`);if(e!=null&&e.withCurrentTime){const u=it()-i;return`${l}?jumpto=${u}`}return l}getHost(){return new URL(this.options.ingestPoint).host}getProjectKey(){return this.projectKey}getBaseHref(){var e,n;return typeof this.options.resourceBaseHref=="string"?this.options.resourceBaseHref:(this.options.resourceBaseHref,document.baseURI?document.baseURI:((n=(e=document.head)==null?void 0:e.getElementsByTagName("base")[0])==null?void 0:n.getAttribute("href"))||location.origin+location.pathname)}resolveResourceURL(e){const n=new URL(this.getBaseHref());return n.pathname+="/"+new URL(e).pathname,n.pathname.replace(/\/+/g,"/"),n.toString()}isServiceURL(e){return e.startsWith(this.options.ingestPoint)}active(){return this.activityState===pe.Active}resetNextPageSession(e){e?this.sessionStorage.setItem(this.options.session_reset_key,"t"):this.sessionStorage.removeItem(this.options.session_reset_key)}checkSessionToken(e){const n=this.sessionStorage.getItem(this.options.session_reset_key)!==null,s=e||n,i=this.session.getSessionToken();return s||!i}async coldStart(e={},n){this.singleBuffer=!1;const s=1e3,i=this.checkSessionToken(e.forceNew);n&&await this.setupConditionalStart(e);const r=()=>{this.orderNumber+=1,Ui(),this.coldStartTs=it(),this.orderNumber%2===0?(this.bufferedMessages1.length=0,this.bufferedMessages1.push(ln(this.timestamp())),this.bufferedMessages1.push(cn(this.session.getTabId()))):(this.bufferedMessages2.length=0,this.bufferedMessages2.push(ln(this.timestamp())),this.bufferedMessages2.push(cn(this.session.getTabId()))),this.stop(!1),this.activityState=pe.ColdStart,e.sessionHash&&this.session.applySessionHash(e.sessionHash),e.forceNew&&this.session.reset(),this.session.assign({userID:e.userID,metadata:e.metadata}),i||(this.debug.log("continuing session on new tab",this.session.getTabId()),this.send(zs(this.session.getTabId()))),this.observer.observe(),this.ticker.start()};this.coldInterval=setInterval(()=>{r()},30*s),r()}async setupConditionalStart(e){var p,f;this.conditionsManager=new pu(this,e);const n=await fetch(this.options.ingestPoint+"/v1/web/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.getTrackerInfo(),timestamp:it(),doNotRecord:!0,bufferDiff:0,userID:this.session.getInfo().userID,token:void 0,deviceMemory:Qi,jsHeapSizeLimit:Zi,timezone:ar(),width:window.screen.width,height:window.screen.height})}),{token:s,userBrowser:i,userCity:r,userCountry:o,userDevice:a,userOS:l,userState:u,projectID:c,features:h}=await n.json();this.features=h||this.features,this.session.assign({projectID:c}),this.session.setUserInfo({userBrowser:i,userCity:r,userCountry:o,userDevice:a,userOS:l,userState:u});const d={sessionToken:s,userUUID:"",sessionID:""};this.startCallbacks.forEach(m=>m(d)),await((p=this.conditionsManager)==null?void 0:p.fetchConditions(c,s)),this.features["feature-flags"]&&(await this.featureFlags.reloadFlags(s),(f=this.conditionsManager)==null||f.processFlags(this.featureFlags.flags)),await this.tagWatcher.fetchTags(this.options.ingestPoint,s)}offlineRecording(e={},n){this.onSessionSent=n,this.singleBuffer=!0;const s=this.checkSessionToken(e.forceNew);Ui(),this.coldStartTs=it();const i=this.localStorage.getItem(or);if(i){const o=JSON.parse(i);this.bufferedMessages1=Array.isArray(o)?o:this.bufferedMessages1,this.localStorage.removeItem(or)}this.bufferedMessages1.push(ln(this.timestamp())),this.bufferedMessages1.push(cn(this.session.getTabId())),this.activityState=pe.ColdStart,e.sessionHash&&this.session.applySessionHash(e.sessionHash),e.forceNew&&this.session.reset(),this.session.assign({userID:e.userID,metadata:e.metadata});const r={sessionToken:"",userUUID:"",sessionID:""};return this.startCallbacks.forEach(o=>o(r)),s||this.send(zs(this.session.getTabId())),this.observer.observe(),this.ticker.start(),{saveBuffer:this.saveBuffer,getBuffer:this.getBuffer,setBuffer:this.setBuffer}}saveBuffer(){this.localStorage.setItem(or,JSON.stringify(this.bufferedMessages1))}getBuffer(){return this.bufferedMessages1}setBuffer(e){this.bufferedMessages1=e}async uploadOfflineRecording(){var d,p;this.stop(!1);const e=it();(d=this.worker)==null||d.postMessage({type:"start",pageNo:this.session.incPageNo(),ingestPoint:this.options.ingestPoint,timestamp:this.coldStartTs,url:document.URL,connAttemptCount:this.options.connAttemptCount,connAttemptGap:this.options.connAttemptGap,tabId:this.session.getTabId()});const n=await fetch(this.options.ingestPoint+"/v1/web/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.getTrackerInfo(),timestamp:e,doNotRecord:!1,bufferDiff:e-this.coldStartTs,userID:this.session.getInfo().userID,token:void 0,deviceMemory:Qi,jsHeapSizeLimit:Zi,timezone:ar()})}),{token:s,userBrowser:i,userCity:r,userCountry:o,userDevice:a,userOS:l,userState:u,beaconSizeLimit:c,projectID:h}=await n.json();for((p=this.worker)==null||p.postMessage({type:"auth",token:s,beaconSizeLimit:c}),this.session.assign({projectID:h}),this.session.setUserInfo({userBrowser:i,userCity:r,userCountry:o,userDevice:a,userOS:l,userState:u});this.bufferedMessages1.length>0;)await this.flushBuffer(this.bufferedMessages1);this.postToWorker([["q_end"]]),this.clearBuffers()}async _start(e={},n=!1,s){var l,u,c,h,d;Object.keys(e).length!==0&&(this.prevOpts=e);const i=this.activityState===pe.ColdStart;if(i&&this.coldInterval&&clearInterval(this.coldInterval),!this.worker&&!this.insideIframe){const p="No worker found: perhaps, CSP is not set.";return this.signalError(p,[]),Promise.resolve(Et(p))}if(this.activityState===pe.Active||this.activityState===pe.Starting)return Promise.resolve(Et("OpenReplay: trying to call `start()` on the instance that has been started already."));this.activityState=pe.Starting,i||Ui(),e.sessionHash&&this.session.applySessionHash(e.sessionHash),e.forceNew&&this.session.reset(),this.session.assign({userID:e.userID,metadata:e.metadata});const r=it();(l=this.worker)==null||l.postMessage({type:"start",pageNo:this.session.incPageNo(),ingestPoint:this.options.ingestPoint,timestamp:i?this.coldStartTs:r,url:document.URL,connAttemptCount:this.options.connAttemptCount,connAttemptGap:this.options.connAttemptGap,tabId:this.session.getTabId()});const o=this.session.getSessionToken(),a=this.checkSessionToken(e.forceNew);this.sessionStorage.removeItem(this.options.session_reset_key),this.debug.log("OpenReplay: starting session; need new session id?",a,"session token: ",o);try{const p=await window.fetch(this.options.ingestPoint+"/v1/web/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.getTrackerInfo(),timestamp:r,doNotRecord:!1,bufferDiff:r-this.coldStartTs,userID:this.session.getInfo().userID,token:a?void 0:o,deviceMemory:Qi,jsHeapSizeLimit:Zi,timezone:ar(),condition:s,assistOnly:e.assistOnly??this.socketMode,width:window.screen.width,height:window.screen.height})});if(p.status!==200){const R=await p.text(),Q=R===os?os:`Server error: ${p.status}. ${R}`;return Et(Q)}if(!this.worker&&!this.insideIframe){const R="no worker found after start request (this should not happen in real world)";return this.signalError(R,[]),Et(R)}const{token:f,userUUID:m,projectID:S,beaconSizeLimit:T,compressionThreshold:x,delay:I,sessionID:g,startTimestamp:b,userBrowser:_,userCity:k,userCountry:y,userDevice:E,userOS:P,userState:j,canvasEnabled:L,canvasQuality:J,canvasFPS:U,assistOnly:B,features:Y}=await p.json();if(this.features=Y||this.features,typeof f!="string"||typeof m!="string"||typeof b!="number"&&typeof b<"u"||typeof g!="string"||typeof I!="number"||typeof T!="number"&&typeof T<"u"){const R=`Incorrect server response: ${JSON.stringify(p)}`;return this.signalError(R,[]),Et(R)}this.delay=I,this.session.setSessionToken(f),this.session.setUserInfo({userBrowser:_,userCity:k,userCountry:y,userDevice:E,userOS:P,userState:j}),this.session.assign({sessionID:g,timestamp:b||r,projectID:S}),B?(this.socketMode=!0,(u=this.worker)==null||u.postMessage("stop")):(c=this.worker)==null||c.postMessage({type:"auth",token:f,beaconSizeLimit:T}),!a&&f===o&&(this.debug.log("continuing session on new tab",this.session.getTabId()),this.send(zs(this.session.getTabId()))),Object.entries(this.session.getInfo().metadata).forEach(([R,Q])=>this.send(pa(R,Q))),this.localStorage.setItem(this.options.local_uuid_key,m),this.compressionThreshold=x;const ee={sessionToken:f,userUUID:m,sessionID:g};if(this.startCallbacks.forEach(R=>R(ee)),e.startCallback&&e.startCallback(Ba(ee)),this.features["feature-flags"]&&this.featureFlags.reloadFlags(),await this.tagWatcher.fetchTags(this.options.ingestPoint,f),this.activityState=pe.Active,(h=this.options.crossdomain)!=null&&h.enabled&&!this.insideIframe&&this.bootChildrenFrames(),L&&!this.options.canvas.disableCanvas&&(this.canvasRecorder=this.canvasRecorder??new Ih(this,{fps:U,quality:J,isDebug:this.options.canvas.__save_canvas_locally,fixedScaling:this.options.canvas.fixedCanvasScaling,useAnimationFrame:this.options.canvas.useAnimationFrame})),i){const R=this.bufferedMessages1.length>this.bufferedMessages2.length?this.bufferedMessages1:this.bufferedMessages2;for(;R.length>0;)await this.flushBuffer(R);this.clearBuffers(),this.commit()}else this.insideIframe&&this.rootId?this.observer.crossdomainObserve(this.rootId,this.frameOderNumber):this.observer.observe(),this.ticker.start();if((d=this.canvasRecorder)==null||d.startTracking(),this.features["usability-test"]&&!this.insideIframe){this.uxtManager=this.uxtManager?this.uxtManager:new xh(this,La);let R;const Q=this.localStorage.getItem(La);if(Q&&(R=parseInt(Q,10)),location!=null&&location.search){const N=new URLSearchParams(location.search);if(N.has("oruxt")){const A=N.get("oruxt");R=A?parseInt(A,10):void 0}}R&&(this.uxtManager.isActive?this.onUxtCb.forEach(N=>N(R)):this.uxtManager.getTest(R,f,!!Q).then(N=>{N&&this.onUxtCb.forEach(A=>A(N))}))}return Ba(ee)}catch(p){if(this.stop(),this.session.reset(),!p)return console.error("Unknown error during start"),this.signalError("Unknown error",[]),Et("Unknown error");if(p===os)return this.signalError(os,[]),Et(os);this._debug("session_start",p);const f=p instanceof Error?p.message:p.toString();return this.signalError(f,[]),Et(f)}}addOnUxtCb(e){this.onUxtCb.push(e)}getUxtId(){var e;return(e=this.uxtManager)==null?void 0:e.getTestId()}async waitStart(){return new Promise(e=>{const n=setInterval(()=>{this.canStart&&(clearInterval(n),e(!0))},100)})}async waitStarted(){return this.waitStatus(pe.Active)}async waitStatus(e){return new Promise(n=>{const s=()=>{this.activityState===e?n(!0):setTimeout(s,25)};s()})}async start(...e){return this.activityState===pe.Active||this.activityState===pe.Starting?Promise.resolve(Et("OpenReplay: trying to call `start()` on the instance that has been started already.")):(this.insideIframe&&this.signalIframeTracker(),document.hidden?new Promise(n=>{const s=async()=>{document.hidden||(await this.waitStart(),document.removeEventListener("visibilitychange",s),n(this._start(...e)))};document.addEventListener("visibilitychange",s)}):(await this.waitStart(),this._start(...e)))}forceFlushBatch(){var e;(e=this.worker)==null||e.postMessage("forceFlushBatch")}getTabId(){return this.session.getTabId()}clearBuffers(){this.bufferedMessages1.length=0,this.bufferedMessages2.length=0}trackWs(e){const n=e;return(s,i,r="down")=>{typeof s!="string"||typeof i!="string"||i.length>5*1024*1024||s.length>255||this.send(Ju("websocket",n,i,this.timestamp(),r,s))}}stop(e=!0){var n,s;if(this.activityState!==pe.NotActive)try{!this.insideIframe&&((n=this.options.crossdomain)!=null&&n.enabled)&&this.killChildrenFrames(),this.attributeSender.clear(),this.sanitizer.clear(),this.observer.disconnect(),this.nodes.clear(),this.ticker.stop(),this.stopCallbacks.forEach(i=>i()),this.tagWatcher.clear(),this.worker&&e&&this.worker.postMessage("stop"),(s=this.canvasRecorder)==null||s.clear(),this.messages.length=0,this.parentActive=!1}finally{this.activityState=pe.NotActive,this.debug.log("OpenReplay tracking stopped.")}}};function Xh(t){const e=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(e===void 0)return;const n=()=>t.send(Hu(Math.round(e.downlink*1e3),e.type||"unknown"));n(),e.addEventListener("change",n)}const Wa=ht&&"InstallTrigger"in window?t=>t.message+`
|
|
10
|
-
`+t.stack:t=>t.stack||t.message;function lr(t){return t===void 0?"undefined":t===null?"null":t instanceof Error?
|
|
11
|
-
`).filter(s=>!!s.match(
|
|
12
|
-
`).filter(s=>!s.match(
|
|
9
|
+
We appreciate your time and valuable input.`),r=Y("div","end_button_or",Ia,"Submitting Feedback"),o=kh();r.appendChild(o),(u=this.test)!=null&&u.reqMic||(c=this.test)!=null&&c.reqCamera?this.userRecorder.sendToAPI().then(()=>{r.removeChild(o),r.textContent="End Session",e=!1}).catch(h=>{console.error(h),r.removeChild(o),r.textContent="End Session",e=!1}):(r.removeChild(o),r.textContent="End Session",e=!1),this.taskSection&&this.container.removeChild(this.taskSection),this.descriptionSection&&this.container.removeChild(this.descriptionSection),this.stopButton&&this.stopButtonContainer&&this.container.removeChild(this.stopButtonContainer),r.onclick=()=>{e||(window.close(),document.body.removeChild(this.bg))},n.append(s,i,r),this.endSection=n,this.container.append(n)}}function Ma(t){return!!t&&t.nodeType!=null}function tr(t){return t.namespaceURI==="http://www.w3.org/2000/svg"}function Et(t){return t.nodeType===Node.ELEMENT_NODE}function Ih(t){return t.nodeType===Node.COMMENT_NODE}function nr(t){return t.nodeType===Node.TEXT_NODE}function Hs(t){return t.nodeType===Node.DOCUMENT_NODE}function qs(t){return t.nodeType===Node.DOCUMENT_NODE||t.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function be(t,e){return t.localName===e}class Ch{constructor(e,n){this.app=e,this.options=n,this.snapshots={},this.intervals=[],this.restartTracking=()=>{this.clear(),this.app.nodes.scanTree(this.captureCanvas)},this.captureCanvas=s=>{const i=this.app.nodes.getID(s);if(!i||!be(s,"canvas")||this.app.sanitizer.isObscured(i)||this.app.sanitizer.isHidden(i)||!be(s,"canvas")||this.snapshots[i])return;new IntersectionObserver(a=>{a.forEach(l=>{l.isIntersecting&&(l.target?this.snapshots[i]&&this.snapshots[i].createdAt?this.snapshots[i].paused=!1:this.recordCanvas(l.target,i):this.snapshots[i]&&(this.snapshots[i].paused=!0))})}).observe(s)},this.recordCanvas=(s,i)=>{const r=this.app.timestamp();this.snapshots[i]={images:[],createdAt:r,paused:!1,dummy:document.createElement("canvas")};const o=eh(i.toString(),r);this.app.send(o);const a=u=>{Nh(u,this.options.quality,this.snapshots[i].dummy,this.options.fixedScaling,this.fileExt,c=>{if(c){if(!this.snapshots[i])return this.app.debug.warn("Canvas not present in snapshots after capture:",this.snapshots,i);this.snapshots[i].images.push({id:this.app.timestamp(),data:c}),this.snapshots[i].images.length>9&&(this.sendSnaps(this.snapshots[i].images,i,this.snapshots[i].createdAt),this.snapshots[i].images=[])}})},l=setInterval(()=>{const u=this.app.nodes.getID(s),c=u?this.app.nodes.getNode(u):void 0;if(!this.snapshots[i]){this.app.debug.log("Canvas is not present in {snapshots}"),clearInterval(l);return}if(!c||!be(c,"canvas")||c!==s){this.app.debug.log("Canvas element not in sync",c,s),clearInterval(l);return}else this.snapshots[i].paused||(this.options.useAnimationFrame?requestAnimationFrame(()=>{a(c)}):a(c))},this.interval);this.intervals.push(l)},this.fileExt=n.fileExt??"webp",this.interval=1e3/n.fps}startTracking(){setTimeout(()=>{this.app.nodes.scanTree(this.captureCanvas),this.app.nodes.attachNodeCallback(this.captureCanvas)},250)}sendSnaps(e,n,s){if(Object.keys(this.snapshots).length===0)return;const i=new FormData;e.forEach(o=>{const a=o.data;a&&(i.append("snapshot",a,`${s}_${n}_${o.id}.${this.fileExt}`),this.options.isDebug&&Rh(a,`${s}_${n}_${o.id}.${this.fileExt}`))});const r=()=>{this.app.debug.log("Restarting tracker; token expired"),this.app.stop(!1),setTimeout(()=>{this.app.start({},!0)},250)};fetch(this.app.options.ingestPoint+"/v1/web/images",{method:"POST",headers:{Authorization:`Bearer ${this.app.session.getSessionToken()??""}`},body:i}).then(o=>o.status===401?r():!0).catch(o=>{this.app.debug.error("error saving canvas",o)})}clear(){this.intervals.forEach(e=>clearInterval(e)),this.snapshots={}}}const Pa={low:.35,medium:.55,high:.8};function Nh(t,e="medium",n,s=!1,i,r){const o=`image/${i}`;if(s){const a=window.devicePixelRatio||1;n.width=t.width/a,n.height=t.height/a;const l=n.getContext("2d");if(!l)return"";l.clearRect(0,0,n.width,n.height),l.drawImage(t,0,0,n.width,n.height),n.toBlob(r,o,Pa[e])}else t.toBlob(r,o,Pa[e])}function Rh(t,e){const n=URL.createObjectURL(t),s=document.createElement("a");s.href=n,s.download=e,s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}const Pn={Verbose:5,Log:4,Warnings:3,Errors:2,Silent:0};class Dh{constructor(e=Pn.Silent){this.shouldLog=n=>this.level>=n,this.info=(...n)=>{this.shouldLog(Pn.Verbose)&&console.info(...n)},this.log=(...n)=>{this.shouldLog(Pn.Log)&&console.log(...n)},this.warn=(...n)=>{this.shouldLog(Pn.Warnings)&&console.warn(...n)},this.error=(...n)=>{this.shouldLog(Pn.Errors)&&console.error(...n)},this.level=e}}const Oh=1e3;function Ah(t,e,n){const s=t.entries();function i(){const r=[];let o=s.next();for(;!o.done&&r.length<e;)r.push(o.value),o=s.next();r.length>0&&(r.forEach(([a,l])=>{l&&n(l)}),setTimeout(i,50))}i()}function Mh(t){var e;try{if(!t.isConnected)return[!1,"not connected"];const n=t.nodeType===Node.DOCUMENT_NODE,s=n?t.defaultView:(e=t.ownerDocument)==null?void 0:e.defaultView,i=n?t:t.ownerDocument;return s?s.closed?[!1,"window closed"]:i!=null&&i.documentElement.isConnected?[!0,"ok"]:[!1,"documentElement not connected"]:[!1,"no window"]}catch(n){return[!1,n]}}const Ph={interval:Oh*30,batchSize:2500,enabled:!0};class Lh{constructor(e,n,s){this.nodes=e,this.unregisterNode=n,this.start=()=>{this.options.enabled&&(this.stop(),this.interval=setInterval(()=>{Ah(this.nodes,this.options.batchSize,i=>{Mh(i)[0]||this.unregisterNode(i)})},this.options.interval))},this.stop=()=>{this.interval&&clearInterval(this.interval)},this.options={...Ph,...s}}}class Bh{constructor(e){this.nodes=new Map,this.totalNodeAmount=0,this.nodeCallbacks=[],this.elementListeners=new Map,this.nextNodeId=0,this.scanTree=n=>{this.nodes.forEach(s=>s?n(s):void 0)},this.attachNodeListener=(n,s,i,r=!0)=>{const o=this.getID(n);if(o===void 0)return;ha(n,s,i,r,this.forceNgOff);let a=this.elementListeners.get(o);a===void 0&&(a=[],this.elementListeners.set(o,a)),a.push([s,i,r])},this.unregisterNode=n=>{const s=n[this.node_id];if(s!==void 0){n[this.node_id]=void 0,delete n[this.node_id],this.nodes.delete(s);const i=this.elementListeners.get(s);i!==void 0&&(this.elementListeners.delete(s),i.forEach(r=>da(n,r[0],r[1],r[2],this.forceNgOff))),this.totalNodeAmount--}return s},this.node_id=e.node_id,this.forceNgOff=e.forceNgOff,this.maintainer=new Lh(this.nodes,this.unregisterNode,e.maintainer),this.maintainer.start()}syntheticMode(e){const n=Number.MAX_SAFE_INTEGER,i=99999999*e;if(i>n)throw new Error("Placeholder id overflow");this.nextNodeId=i}attachNodeCallback(e){return this.nodeCallbacks.push(e)}registerNode(e){let n=e[this.node_id];const s=n===void 0;return s&&(n=this.nextNodeId,this.totalNodeAmount++,this.nextNodeId++,this.nodes.set(n,e),e[this.node_id]=n),[n,s]}cleanTree(){for(const[e,n]of this.nodes)n&&!document.contains(n)&&this.unregisterNode(n)}callNodeCallbacks(e,n){this.nodeCallbacks.forEach(s=>s(e,n))}getID(e){if(e)return e[this.node_id]}getNode(e){return this.nodes.get(e)}getNodeCount(){return this.totalNodeAmount}clear(){for(const[e,n]of this.nodes)n&&this.unregisterNode(n);this.nextNodeId=0,this.nodes.clear()}}function Vs(t){if(Ih(t))return!0;if(nr(t))return!1;if(!Et(t))return!0;const e=t.tagName.toUpperCase();if(e==="LINK"){const n=t.getAttribute("rel"),s=t.getAttribute("as");return!(n!=null&&n.includes("stylesheet")||s==="style"||s==="font")}return e==="SCRIPT"||e==="NOSCRIPT"||e==="META"||e==="TITLE"||e==="BASE"}function sr(t){return qs(t)?!0:!Vs(t)}var ft;(function(t){t[t.New=0]="New",t[t.Removed=1]="Removed",t[t.Changed=2]="Changed"})(ft||(ft={}));class ir{constructor(e,n=!1){this.app=e,this.isTopContext=n,this.commited=[],this.recents=new Map,this.indexes=[],this.attributesMap=new Map,this.textSet=new Set,this.observer=ua(this.app.safe(s=>{for(const i of s){const r=i.target,o=i.type;if(!sr(r))continue;if(o==="childList"){for(let l=0;l<i.removedNodes.length;l++)sr(i.removedNodes[l])&&this.bindNode(i.removedNodes[l]);for(let l=0;l<i.addedNodes.length;l++)this.bindTree(i.addedNodes[l]);continue}const a=this.app.nodes.getID(r);if(a!==void 0){if(this.recents.has(a)||this.recents.set(a,ft.Changed),o==="attributes"){const l=i.attributeName;if(l===null)continue;let u=this.attributesMap.get(a);u===void 0&&this.attributesMap.set(a,u=new Set),u.add(l);continue}o==="characterData"&&this.textSet.add(a)}}this.commitNodes()}),this.app.options.forceNgOff)}clear(){this.commited.length=0,this.recents.clear(),this.indexes.length=1,this.attributesMap.clear(),this.textSet.clear()}handleIframeSrcChange(e){const n=e.contentDocument;if(n&&this.app.nodes.getID(n)!==void 0){const i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_TEXT,{acceptNode:l=>Vs(l)||this.app.nodes.getID(l)===void 0?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},!1);let r=0;const o=this.app.nodes.getNodeCount();for(;i.nextNode();)e.contentDocument.contains(i.currentNode)||(r+=1,this.app.nodes.unregisterNode(i.currentNode));const a=Math.floor(r/o*100);a>30&&this.app.send(_a(a))}}sendNodeAttribute(e,n,s,i){if(tr(n)){s.substring(0,6)==="xlink:"&&(s=s.substring(6)),i===null?this.app.send(pa(e,s)):s==="href"?(i.length>1e5&&(i=""),this.app.send(Gi(e,s,i,this.app.getBaseHref()))):this.app.attributeSender.sendSetAttribute(e,s,i);return}if(!(s==="src"||s==="srcset"||s==="integrity"||s==="crossorigin"||s==="autocomplete"||s.substring(0,2)==="on")&&!(s==="value"&&be(n,"input")&&n.type!=="button"&&n.type!=="reset"&&n.type!=="submit")){if(i===null){this.app.send(pa(e,s));return}if(s==="style"||s==="href"&&be(n,"link")){this.app.send(Gi(e,s,i,this.app.getBaseHref()));return}(s==="href"||i.length>1e5)&&(i=""),this.app.attributeSender.sendSetAttribute(e,s,i)}}sendNodeData(e,n,s){if(be(n,"style")){this.app.send(Gu(e,s,this.app.getBaseHref()));return}s=this.app.sanitizer.sanitize(e,s),this.app.send(Ou(e,s))}bindNode(e){const[n,s]=this.app.nodes.registerNode(e);s?this.recents.set(n,ft.New):this.recents.get(n)!==ft.New&&this.recents.set(n,ft.Removed)}bindTree(e){if(!sr(e))return;this.bindNode(e);const n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_TEXT,{acceptNode:s=>(this.app.nodes.getID(s)!==void 0&&this.app.debug.error("! Node is already bound",s),Vs(s)||this.app.nodes.getID(s)!==void 0?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT)},!1);for(;n.nextNode();)this.bindNode(n.currentNode)}unbindTree(e){const n=this.app.nodes.unregisterNode(e);if(n!==void 0&&this.recents.get(n)===ft.Removed){this.app.send(Du(n));const s=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_TEXT,{acceptNode:a=>Vs(a)||this.app.nodes.getID(a)===void 0?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},!1);let i=0;const r=this.app.nodes.getNodeCount();for(;s.nextNode();)i+=1,this.app.nodes.unregisterNode(s.currentNode);const o=Math.floor(i/r*100);o>30&&this.app.send(_a(o))}}_commitNode(e,n){if(qs(n))return!0;const s=n.parentNode;let i;if(!be(n,"html")||!this.isTopContext){if(s===null)return this.unbindTree(n),!1;if(i=this.app.nodes.getID(s),i===void 0)return this.unbindTree(n),!1;if(!this.commitNode(i))return this.unbindTree(n),!1;if(this.app.sanitizer.handleNode(e,i,n),this.app.sanitizer.isHidden(i))return!1}let r=n.previousSibling;for(;r!==null;){const c=this.app.nodes.getID(r);if(c!==void 0){this.commitNode(c),this.indexes[e]=this.indexes[c]+1;break}r=r.previousSibling}r===null&&(this.indexes[e]=0);const o=this.recents.get(e),a=o===ft.New,l=this.indexes[e];if(l===void 0)throw"commitNode: missing node index";if(a){if(Et(n)){let c=n;if(i!==void 0){if(this.app.sanitizer.isHidden(e)){const h=c.clientWidth,d=c.clientHeight;c=n.cloneNode(),c.style.width=`${h}px`,c.style.height=`${d}px`}this.app.send(Cu(e,i,l,c.tagName,tr(n)))}for(let h=0;h<c.attributes.length;h++){const d=c.attributes[h];this.sendNodeAttribute(e,c,d.nodeName,d.value)}}else nr(n)&&(this.app.send(Nu(e,i,l)),this.sendNodeData(e,s,n.data));return!0}o===ft.Removed&&i!==void 0&&this.app.send(Ru(e,i,l));const u=this.attributesMap.get(e);if(u!==void 0){if(!Et(n))throw"commitNode: node is not an element";for(const c of u)this.sendNodeAttribute(e,n,c,n.getAttribute(c))}if(this.textSet.has(e)){if(!nr(n))throw"commitNode: node is not a text";this.sendNodeData(e,s,n.data)}return!0}commitNode(e){const n=this.app.nodes.getNode(e);if(n===void 0)return!1;const s=this.commited[e];return s!==void 0?s:this.commited[e]=this._commitNode(e,n)}commitNodes(e=!1){let n;this.recents.forEach((s,i)=>{this.commitNode(i),s===ft.New&&(n=this.app.nodes.getNode(i))&&this.app.nodes.callNodeCallbacks(n,e)}),this.clear()}observeRoot(e,n,s=e){this.observer.observe(e,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!1,characterDataOldValue:!1}),this.bindTree(s),n(this.app.nodes.getID(e)),this.commitNodes(!0)}disconnect(){this.observer.disconnect(),this.clear()}}class La extends ir{observe(e){const n=e.contentDocument,s=this.app.nodes.getID(e);!n||s===void 0||this.observeRoot(n,i=>{if(i===void 0){this.app.debug.log("OpenReplay: Iframe document not bound");return}this.docId=i,this.app.send(Ki(s,i))})}syntheticObserve(e,n){this.observeRoot(n,s=>{if(s===void 0){this.app.debug.log("OpenReplay: Iframe document not bound");return}this.app.send(Ki(e,s))})}}class Fh extends ir{observe(e){const n=e.shadowRoot,s=this.app.nodes.getID(e);!n||s===void 0||this.observeRoot(n,i=>{if(i===void 0){this.app.debug.error("OpenReplay: Shadow Root was not bound");return}this.app.send(Ki(s,i))})}}class Wh{constructor(){this.states=new WeakMap}calcOffset(e){let n=0,s=0;if(e.parent&&([n,s]=this.calcOffset(e.parent)),!e.offset){const{left:o,top:a}=e.iFrame.getBoundingClientRect();e.offset=[o,a]}const[i,r]=e.offset;return[n+i,s+r]}getDocumentOffset(e){const n=this.states.get(e);return n?this.calcOffset(n):[0,0]}observe(e){var a;const n=e.contentDocument;if(!n)return;const s=e.ownerDocument,i=this.states.get(s),r={offset:null,iFrame:e,parent:i||null,clear:()=>{var l;s.removeEventListener("scroll",o),(l=s.defaultView)==null||l.removeEventListener("resize",o)}},o=()=>{r.offset=null};s.addEventListener("scroll",o),(a=s.defaultView)==null||a.addEventListener("resize",o),this.states.set(n,r)}clear(){this.states=new WeakMap}}const rr=dt?Element.prototype.attachShadow:()=>new ShadowRoot;class zh extends ir{constructor(e){super(e.app,!0),this.iframeOffsets=new Wh,this.contextCallbacks=[],this.contextsSet=new WeakSet,this.iframeObserversArr=[],this.iframeObservers=new WeakMap,this.docObservers=new WeakMap,this.shadowRootObservers=new WeakMap,this.app=e.app,this.options=Object.assign({captureIFrames:!0},e.options),this.app.nodes.attachNodeCallback(n=>{be(n,"iframe")&&(this.options.captureIFrames&&!cn(n,"obscured")||cn(n,"capture"))&&this.handleIframe(n)}),this.app.nodes.attachNodeCallback(n=>{Et(n)&&n.shadowRoot!==null&&this.handleShadowRoot(n.shadowRoot)})}attachContextCallback(e){this.contextCallbacks.push(e)}getDocumentOffset(e){return this.iframeOffsets.getDocumentOffset(e)}handleIframe(e){const n=this.app.safe(()=>setTimeout(()=>{const s=this.app.nodes.getID(e);if(s===void 0||!yu(e))return;const i=e.contentWindow,r=e.contentDocument;if(!r){this.app.debug.warn("no doc for iframe found",e);return}if(r&&this.docObservers.has(r)){this.app.debug.info("doc already observed for",s);return}const o=new La(this.app);this.iframeObservers.set(e,o),this.docObservers.set(r,o),this.iframeObserversArr.push(o),o.observe(e),this.iframeOffsets.observe(e),i&&i===i.window&&!this.contextsSet.has(i)&&(this.contextsSet.add(i),this.contextCallbacks.forEach(a=>a(i)))},250));e.addEventListener("load",n),n()}handleShadowRoot(e){const n=new Fh(this.app);this.shadowRootObservers.set(e,n),n.observe(e.host)}observe(){const e=this;Element.prototype.attachShadow=function(){const n=rr.apply(this,arguments);return e.handleShadowRoot(n),n},this.app.nodes.clear(),this.observeRoot(window.document,()=>{this.app.send(Iu()),this.app.nodes.callNodeCallbacks(document,!0)},window.document.documentElement)}crossdomainObserve(e,n){const s=this;Element.prototype.attachShadow=function(){const r=rr.apply(this,arguments);return s.handleShadowRoot(r),r},this.app.nodes.clear(),this.app.nodes.syntheticMode(n);const i=new La(this.app);this.iframeObservers.set(window.document,i),i.syntheticObserve(e,window.document)}disconnect(){this.iframeOffsets.clear(),Element.prototype.attachShadow=rr,this.iframeObserversArr.forEach(e=>e.disconnect()),this.iframeObserversArr=[],this.iframeObservers=new WeakMap,this.shadowRootObservers=new WeakMap,this.docObservers=new WeakMap,super.disconnect()}}var Gs;(function(t){t[t.Plain=0]="Plain",t[t.Obscured=1]="Obscured",t[t.Hidden=2]="Hidden"})(Gs||(Gs={}));const jh=t=>t.trim().replace(/[^\f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]/g,"█");class Uh{constructor(e){this.obscured=new Set,this.hidden=new Set,this.app=e.app,this.options=Object.assign({obscureTextEmails:!0,obscureTextNumbers:!1},e.options)}handleNode(e,n,s){if((this.obscured.has(n)||Et(s)&&(cn(s,"masked")||cn(s,"obscured")))&&this.obscured.add(e),(this.hidden.has(n)||Et(s)&&(cn(s,"htmlmasked")||cn(s,"hidden")))&&this.hidden.add(e),this.options.domSanitizer!==void 0&&Et(s)){const i=this.options.domSanitizer(s);i===Gs.Obscured&&this.obscured.add(e),i===Gs.Hidden&&this.hidden.add(e)}}sanitize(e,n){return this.obscured.has(e)?jh(n):(this.options.obscureTextNumbers&&(n=n.replace(/\d/g,"0")),this.options.obscureTextEmails&&(n=n.replace(/^\w+([+.-]\w+)*@\w+([.-]\w+)*\.\w{2,3}$/g,s=>{const[i,r]=s.split("@"),[o,a]=r.split(".");return`${Hi(i)}@${Hi(o)}.${Hi(a)}`})),n)}isObscured(e){return this.obscured.has(e)}isHidden(e){return this.hidden.has(e)}getInnerTextSecure(e){const n=this.app.nodes.getID(e);return n?this.sanitize(n,e.innerText):""}clear(){this.obscured.clear(),this.hidden.clear()}}class Hh{constructor(e){this.metadata={},this.userID=null,this.callbacks=[],this.timestamp=0,this.app=e.app,this.options=e.options,this.createTabId()}attachUpdateCallback(e){this.callbacks.push(e)}handleUpdate(e){e.userID==null&&delete e.userID,e.sessionID==null&&delete e.sessionID,this.callbacks.forEach(n=>n(e))}assign(e){e.userID!==void 0&&(this.userID=e.userID),e.metadata!==void 0&&Object.entries(e.metadata).forEach(([n,s])=>this.metadata[n]=s),e.sessionID!==void 0&&(this.sessionID=e.sessionID),e.timestamp!==void 0&&(this.timestamp=e.timestamp),e.projectID!==void 0&&(this.projectID=e.projectID),this.handleUpdate(e)}setMetadata(e,n){this.metadata[e]=n,this.handleUpdate({metadata:{[e]:n}})}setUserID(e){this.userID=e,this.handleUpdate({userID:e})}setUserInfo(e){this.userInfo=e}getPageNumber(){const e=this.app.sessionStorage.getItem(this.options.session_pageno_key);if(e!=null)return parseInt(e)}incPageNo(){let e=this.getPageNumber();return e===void 0?e=0:e++,this.app.sessionStorage.setItem(this.options.session_pageno_key,e.toString()),e}getSessionToken(){return this.token||this.app.sessionStorage.getItem(this.options.session_token_key)||void 0}setSessionToken(e){this.token=e,this.app.sessionStorage.setItem(this.options.session_token_key,e)}applySessionHash(e){const n=decodeURI(e).split("&");let s=e,i="100500";n.length==2&&([i,s]=n),!(!i||!s)&&(this.app.sessionStorage.setItem(this.options.session_token_key,s),this.app.sessionStorage.setItem(this.options.session_pageno_key,i))}getSessionHash(){const e=this.getPageNumber(),n=this.getSessionToken();if(!(e===void 0||n===void 0))return encodeURI(String(e)+"&"+n)}getTabId(){return this.tabId||this.createTabId(),this.tabId}regenerateTabId(){const e=Su(12);this.app.sessionStorage.setItem(this.options.session_tabid_key,e),this.tabId=e}createTabId(){const e=this.app.sessionStorage.getItem(this.options.session_tabid_key);e?this.tabId=e:this.regenerateTabId()}getInfo(){return{sessionID:this.sessionID,metadata:this.metadata,userID:this.userID,timestamp:this.timestamp,projectID:this.projectID}}reset(){this.app.sessionStorage.removeItem(this.options.session_token_key),this.metadata={},this.userID=null,this.sessionID=void 0,this.timestamp=0}}function qh(t,e){let n=0;return()=>{n++>=e&&(n=0,t())}}class Vh{constructor(e){this.app=e,this.timer=null,this.callbacks=[]}attach(e,n=0,s=!0,i){i&&(e=e.bind(i)),s&&(e=this.app.safe(e)),this.callbacks.unshift(n?qh(e,n):e)-1}start(){this.timer===null&&(this.timer=setInterval(()=>this.callbacks.forEach(e=>{e&&e()}),30))}stop(){this.timer!==null&&(clearInterval(this.timer),this.timer=null)}}const Gh='!function(){"use strict";class t{constructor(t,s,i,e=10,n=250,h,r){this.onUnauthorised=s,this.onFailure=i,this.MAX_ATTEMPTS_COUNT=e,this.ATTEMPT_TIMEOUT=n,this.onCompress=h,this.pageNo=r,this.attemptsCount=0,this.busy=!1,this.queue=[],this.token=null,this.lastBatchNum=0,this.ingestURL=t+"/v1/web/i",this.isCompressing=void 0!==h}getQueueStatus(){return 0===this.queue.length&&!this.busy}authorise(t){this.token=t,this.busy||this.sendNext()}push(t){if(this.busy||!this.token)this.queue.push(t);else if(this.busy=!0,this.isCompressing&&this.onCompress)this.onCompress(t);else{const s=++this.lastBatchNum;this.sendBatch(t,!1,s)}}sendNext(){const t=this.queue.shift();if(t)if(this.busy=!0,this.isCompressing&&this.onCompress)this.onCompress(t);else{const s=++this.lastBatchNum;this.sendBatch(t,!1,s)}else this.busy=!1}retry(t,s,i){this.attemptsCount>=this.MAX_ATTEMPTS_COUNT?this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`):(this.attemptsCount++,setTimeout((()=>this.sendBatch(t,s,i)),this.ATTEMPT_TIMEOUT*this.attemptsCount))}sendBatch(t,s,i){var e;const n=null==i?void 0:i.toString().replace(/^([^_]+)_([^_]+).*/,"$1_$2_$3");this.busy=!0;const h={Authorization:`Bearer ${this.token}`};s&&(h["Content-Encoding"]="gzip"),null!==this.token?fetch(`${this.ingestURL}?batch=${null!==(e=this.pageNo)&&void 0!==e?e:"noPageNum"}_${null!=n?n:"noBatchNum"}`,{body:t,method:"POST",headers:h,keepalive:t.length<65536}).then((e=>{if(401===e.status)return this.busy=!1,void this.onUnauthorised();e.status>=400?this.retry(t,s,`${null!=i?i:"noBatchNum"}_network:${e.status}`):(this.attemptsCount=0,this.sendNext())})).catch((e=>{console.warn("OpenReplay:",e),this.retry(t,s,`${null!=i?i:"noBatchNum"}_reject:${e.message}`)})):setTimeout((()=>{this.sendBatch(t,s,`${null!=i?i:"noBatchNum"}_newToken`)}),500)}sendCompressed(t){const s=++this.lastBatchNum;this.sendBatch(t,!0,s)}sendUncompressed(t){const s=++this.lastBatchNum;this.sendBatch(t,!1,s)}clean(){this.sendNext(),setTimeout((()=>{this.token=null,this.queue.length=0}),10)}}const s="function"==typeof TextEncoder?new TextEncoder:{encode(t){const s=t.length,i=new Uint8Array(3*s);let e=-1;for(let n=0,h=0,r=0;r!==s;){if(n=t.charCodeAt(r),r+=1,n>=55296&&n<=56319){if(r===s){i[e+=1]=239,i[e+=1]=191,i[e+=1]=189;break}if(h=t.charCodeAt(r),!(h>=56320&&h<=57343)){i[e+=1]=239,i[e+=1]=191,i[e+=1]=189;continue}if(n=1024*(n-55296)+h-56320+65536,r+=1,n>65535){i[e+=1]=240|n>>>18,i[e+=1]=128|n>>>12&63,i[e+=1]=128|n>>>6&63,i[e+=1]=128|63&n;continue}}n<=127?i[e+=1]=0|n:n<=2047?(i[e+=1]=192|n>>>6,i[e+=1]=128|63&n):(i[e+=1]=224|n>>>12,i[e+=1]=128|n>>>6&63,i[e+=1]=128|63&n)}return i.subarray(0,e+1)}};class i{constructor(t){this.size=t,this.offset=0,this.checkpointOffset=0,this.data=new Uint8Array(t)}getCurrentOffset(){return this.offset}checkpoint(){this.checkpointOffset=this.offset}get isEmpty(){return 0===this.offset}skip(t){return this.offset+=t,this.offset<=this.size}set(t,s){this.data.set(t,s)}boolean(t){return this.data[this.offset++]=+t,this.offset<=this.size}uint(t){for((t<0||t>Number.MAX_SAFE_INTEGER)&&(t=0);t>=128;)this.data[this.offset++]=t%256|128,t=Math.floor(t/128);return this.data[this.offset++]=t,this.offset<=this.size}int(t){return t=Math.round(t),this.uint(t>=0?2*t:-2*t-1)}string(t){const i=s.encode(t),e=i.byteLength;return!(!this.uint(e)||this.offset+e>this.size)&&(this.data.set(i,this.offset),this.offset+=e,!0)}reset(){this.offset=0,this.checkpointOffset=0}flush(){const t=this.data.slice(0,this.checkpointOffset);return this.reset(),t}}class e extends i{encode(t){switch(t[0]){case 0:case 11:case 114:case 115:return this.uint(t[1]);case 4:case 44:case 47:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3]);case 5:case 20:case 38:case 70:case 75:case 76:case 77:case 82:return this.uint(t[1])&&this.uint(t[2]);case 6:return this.int(t[1])&&this.int(t[2]);case 7:return!0;case 8:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.string(t[4])&&this.boolean(t[5]);case 9:case 10:case 24:case 51:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3]);case 12:case 61:case 71:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3]);case 13:case 14:case 17:case 50:case 54:return this.uint(t[1])&&this.string(t[2]);case 16:return this.uint(t[1])&&this.int(t[2])&&this.int(t[3]);case 18:return this.uint(t[1])&&this.string(t[2])&&this.int(t[3]);case 19:return this.uint(t[1])&&this.boolean(t[2]);case 21:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.string(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8]);case 22:case 27:case 30:case 41:case 45:case 46:case 63:case 64:case 79:return this.string(t[1])&&this.string(t[2]);case 23:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 28:case 29:case 42:case 117:case 118:return this.string(t[1]);case 37:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3]);case 39:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.uint(t[7]);case 40:return this.string(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 48:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.int(t[5]);case 49:return this.int(t[1])&&this.int(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 53:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8]);case 55:return this.boolean(t[1]);case 57:case 60:return this.uint(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 58:case 120:return this.int(t[1]);case 59:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6])&&this.string(t[7]);case 67:case 73:return this.uint(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 68:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])&&this.uint(t[6]);case 69:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3])&&this.string(t[4]);case 78:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4]);case 81:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.int(t[4])&&this.string(t[5]);case 83:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.string(t[5])&&this.uint(t[6])&&this.uint(t[7])&&this.uint(t[8])&&this.uint(t[9]);case 84:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.uint(t[4])&&this.string(t[5])&&this.string(t[6]);case 112:return this.uint(t[1])&&this.string(t[2])&&this.boolean(t[3])&&this.string(t[4])&&this.int(t[5])&&this.int(t[6]);case 113:return this.uint(t[1])&&this.uint(t[2])&&this.string(t[3]);case 116:return this.uint(t[1])&&this.uint(t[2])&&this.uint(t[3])&&this.uint(t[4])&&this.uint(t[5])&&this.uint(t[6])&&this.string(t[7])&&this.string(t[8])&&this.uint(t[9])&&this.boolean(t[10]);case 119:return this.string(t[1])&&this.uint(t[2]);case 121:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.uint(t[4]);case 122:return this.string(t[1])&&this.string(t[2])&&this.uint(t[3])&&this.string(t[4]);case 123:return this.string(t[1])&&this.string(t[2])&&this.string(t[3])&&this.string(t[4])&&this.uint(t[5])}}}class n{constructor(t,s,i,n,h,r){this.pageNo=t,this.timestamp=s,this.url=i,this.onBatch=n,this.tabId=h,this.onOfflineEnd=r,this.nextIndex=0,this.beaconSize=2e5,this.encoder=new e(this.beaconSize),this.sizeBuffer=new Uint8Array(3),this.isEmpty=!0,this.beaconSizeLimit=1e6,this.prepare()}writeType(t){return this.encoder.uint(t[0])}writeFields(t){return this.encoder.encode(t)}writeSizeAt(t,s){for(let s=0;s<3;s++)this.sizeBuffer[s]=t>>8*s;this.encoder.set(this.sizeBuffer,s)}prepare(){if(!this.encoder.isEmpty)return;const t=[81,1,this.pageNo,this.nextIndex,this.timestamp,this.url],s=[118,this.tabId];this.writeType(t),this.writeFields(t),this.writeWithSize(s),this.isEmpty=!0}writeWithSize(t){const s=this.encoder;if(!this.writeType(t)||!s.skip(3))return!1;const i=s.getCurrentOffset(),e=this.writeFields(t);if(e){const e=s.getCurrentOffset()-i;if(e>16777215)return console.warn("OpenReplay: max message size overflow."),!1;this.writeSizeAt(e,i-3),s.checkpoint(),this.isEmpty=this.isEmpty&&0===t[0],this.nextIndex++}return e}setBeaconSizeLimit(t){this.beaconSizeLimit=t}writeMessage(t){if("q_end"===t[0])return this.finaliseBatch(),this.onOfflineEnd();0===t[0]&&(this.timestamp=t[1]),122===t[0]&&(this.url=t[1]),this.writeWithSize(t)||(this.finaliseBatch(),this.writeWithSize(t)||(this.encoder=new e(this.beaconSizeLimit),this.prepare(),this.writeWithSize(t)?this.finaliseBatch():console.warn("OpenReplay: beacon size overflow. Skipping large message.",t,this),this.encoder=new e(this.beaconSize),this.prepare()))}finaliseBatch(){if(this.isEmpty)return;const t=this.encoder.flush();this.onBatch(t),this.prepare()}clean(){this.encoder.reset()}}var h;!function(t){t[t.NotActive=0]="NotActive",t[t.Starting=1]="Starting",t[t.Stopping=2]="Stopping",t[t.Active=3]="Active",t[t.Stopped=4]="Stopped"}(h||(h={}));let r=null,u=null,a=h.NotActive;function o(){u&&u.finaliseBatch()}function c(){return new Promise((t=>{a=h.Stopping,null!==p&&(clearInterval(p),p=null),u&&(u.clean(),u=null),r&&(r.clean(),setTimeout((()=>{r=null}),20)),setTimeout((()=>{a=h.NotActive,t(null)}),100)}))}function g(){[h.Stopped,h.Stopping].includes(a)||(postMessage("a_stop"),c().then((()=>{postMessage("a_start")})))}let l,p=null;self.onmessage=({data:s})=>{if(null!=s){if("stop"===s)return o(),void c().then((()=>{a=h.Stopped}));if("forceFlushBatch"!==s){if(!Array.isArray(s)){if("compressed"===s.type){if(!r)return console.debug("OR WebWorker: sender not initialised. Compressed batch."),void g();s.batch&&r.sendCompressed(s.batch)}if("uncompressed"===s.type){if(!r)return console.debug("OR WebWorker: sender not initialised. Uncompressed batch."),void g();s.batch&&r.sendUncompressed(s.batch)}return"start"===s.type?(a=h.Starting,r=new t(s.ingestPoint,(()=>{g()}),(t=>{!function(t){postMessage({type:"failure",reason:t}),c()}(t)}),s.connAttemptCount,s.connAttemptGap,(t=>{postMessage({type:"compress",batch:t},[t.buffer])}),s.pageNo),u=new n(s.pageNo,s.timestamp,s.url,(t=>{r&&r.push(t)}),s.tabId,(()=>postMessage({type:"queue_empty"}))),null===p&&(p=setInterval(o,1e4)),a=h.Active):"auth"===s.type?r?u?(r.authorise(s.token),void(s.beaconSizeLimit&&u.setBeaconSizeLimit(s.beaconSizeLimit))):(console.debug("OR WebWorker: writer not initialised. Received auth."),void g()):(console.debug("OR WebWorker: sender not initialised. Received auth."),void g()):void 0}if(u){const t=u;s.forEach((s=>{55===s[0]&&(s[1]?l=setTimeout((()=>g()),18e5):clearTimeout(l)),t.writeMessage(s)}))}else postMessage("not_init"),g()}else o()}else o()}}();\n',as="canceled",Ba="or_uxt_active",or="or_buffer_1",It=t=>({reason:t,success:!1}),Fa=t=>({...t,success:!0});var ge;(function(t){t[t.NotActive=0]="NotActive",t[t.Starting=1]="Starting",t[t.Active=2]="Active",t[t.ColdStart=3]="ColdStart"})(ge||(ge={}));const Wa="https://api.openreplay.com/ingest";function ar(){const t=new Date().getTimezoneOffset()*-1,e=t>=0?"+":"-",n=Math.floor(Math.abs(t)/60),s=Math.abs(t)%60;return`UTC${e}${String(n).padStart(2,"0")}:${String(s).padStart(2,"0")}`}const Kh=t=>new Promise(e=>setTimeout(e,t)),me={ask:"never-gonna-give-you-up",resp:"never-gonna-let-you-down",reg:"never-gonna-run-around-and-desert-you",iframeSignal:"tracker inside a child iframe",iframeId:"getting node id for child iframe",iframeBatch:"batch of messages from an iframe window",parentAlive:"signal that parent is live",killIframe:"stop tracker inside frame",startIframe:"start tracker inside frame",polling:"hello-how-are-you-im-under-the-water-please-help-me"};let Xh=class{constructor(e,n,s,i,r){var l,u;this.signalError=i,this.insideIframe=r,this.messages=[],this.bufferedMessages1=[],this.bufferedMessages2=[],this.startCallbacks=[],this.stopCallbacks=[],this.commitCallbacks=[],this.activityState=ge.NotActive,this.version="14.0.14",this.socketMode=!1,this.compressionThreshold=24*1e3,this.bc=null,this.canvasRecorder=null,this.conditionsManager=null,this.canStart=!1,this.rootId=null,this.pageFrames=[],this.frameOderNumber=0,this.features={"feature-flags":!0,"usability-test":!0},this.parentActive=!1,this.checkStatus=()=>this.parentActive,this.parentCrossDomainFrameListener=c=>{const{data:h}=c;if(!(!h||c.source===window)){if(h.line===me.startIframe){if(this.active())return;try{this.allowAppStart(),this.start()}catch(d){console.error("children frame restart failed:",d)}}h.line===me.parentAlive&&(this.parentActive=!0),h.line===me.iframeId&&(this.parentActive=!0,this.rootId=h.id,this.session.setSessionToken(h.token),this.frameOderNumber=h.frameOrderNumber,this.debug.log("starting iframe tracking",h),this.allowAppStart()),h.line===me.killIframe&&this.active()&&this.stop()}},this.trackedFrames=[],this.crossDomainIframeListener=c=>{var d,p;if(!this.active()||c.source===window)return;const{data:h}=c;if(h){if(h.line===me.iframeSignal&&((d=c.source)==null||d.postMessage({ping:!0,line:me.parentAlive},"*"),(async()=>{var S;if(c.source===null)return console.error("Couldnt connect to event.source for child iframe tracking");const m=await this.checkNodeId(c.source);if(!m){this.debug.log("Couldnt get node id for iframe",c.source);return}try{this.trackedFrames.includes(h.context)?this.debug.log("Trying to observe already added iframe; ignore if its a restart"):this.trackedFrames.push(h.context),await this.waitStarted();const T=this.session.getSessionToken(),x=this.trackedFrames.findIndex(g=>g===h.context)+1;x===0&&this.debug.error("Couldnt get order number for iframe",h.context,this.trackedFrames);const I={line:me.iframeId,id:m,token:T,frameOrderNumber:x};this.debug.log("Got child frame signal; nodeId",m,c.source,I),(S=c.source)==null||S.postMessage(I,"*")}catch(T){console.error(T)}})()),h.line===me.iframeBatch){const m=h.messages.map(S=>{if(S[0]===20){let T=S;return this.pageFrames.forEach(x=>{if(x.contentWindow===c.source){const[I,g,b]=S,{left:_,top:k}=x.getBoundingClientRect();T=[I,g+_,b+k]}}),T}if(S[0]===68){let T=S;return this.pageFrames.forEach(x=>{if(x.contentWindow===c.source){const[I,g,b,_,k,y,E]=S,{left:P,top:j,width:L,height:Q}=x.getBoundingClientRect(),U=document.documentElement.scrollWidth,B=document.documentElement.scrollHeight,J=y/100*L+P,te=E/100*Q+j,R=J/U,Z=te/B;T=[I,g,b,_,k,Math.round(R*1e3)/10,Math.round(Z*1e3)/10]}}),T}return S});this.messages.push(...m)}if(h.line===me.polling){if(!this.pollingQueue.order.length)return;const f=this.pollingQueue.order[0];if(f&&this.pollingQueue[f].length===0){this.pollingQueue.order=this.pollingQueue.order.filter(m=>m!==f);return}this.pollingQueue[f].includes(h.context)&&(this.pollingQueue[f]=this.pollingQueue[f].filter(m=>m!==h.context),(p=c.source)==null||p.postMessage({line:f},"*"),this.pollingQueue[f].length===0&&this.pollingQueue.order.shift())}}},this.pollingQueue={order:[]},this.addCommand=c=>{this.pollingQueue.order.push(c),this.pollingQueue[c]=[...this.trackedFrames]},this.bootChildrenFrames=async()=>{await this.waitStarted(),this.addCommand(me.startIframe)},this.killChildrenFrames=()=>{this.addCommand(me.killIframe)},this.signalIframeTracker=()=>{var T;const c=this.session.getTabId();window.parent.postMessage({line:me.iframeSignal,source:c,context:this.contextId},((T=this.options.crossdomain)==null?void 0:T.parentDomain)??"*");const h=10;let d=0,p=250,f=0,m=!1;const S=()=>{var x;if(m||this.checkStatus()){m=!0;return}window.parent.postMessage({line:me.iframeSignal,source:c,context:this.contextId},((x=this.options.crossdomain)==null?void 0:x.parentDomain)??"*"),this.debug.info("Trying to signal to parent, attempt:",d+1),d++};for(let x=0;x<h;x++){if(this.checkStatus()){m=!0;break}f+=p,setTimeout(()=>{S()},f),p*=1.5}},this.startTimeout=null,this.coldStartCommitN=0,this.delay=0,this.attachStartCallback=(c,h=!1)=>{h&&(c=this.safe(c)),this.startCallbacks.push(c)},this.attachStopCallback=(c,h=!1)=>{h&&(c=this.safe(c)),this.stopCallbacks.push(c)},this.attachEventListener=(c,h,d,p=!0,f=!0)=>{p&&(d=this.safe(d));const m=()=>c?ha(c,h,d,f,this.options.forceNgOff):null,S=()=>c?da(c,h,d,f,this.options.forceNgOff):null;this.attachStartCallback(m,p),this.attachStopCallback(S,p)},this.coldInterval=null,this.orderNumber=0,this.coldStartTs=0,this.singleBuffer=!1,this.onSessionSent=()=>{},this.prevOpts={},this.restartCanvasTracking=()=>{var c;(c=this.canvasRecorder)==null||c.restartTracking()},this.flushBuffer=async c=>new Promise(h=>{let d=!1;const p=[c.shift()];for(;!d;){const f=c[0];!f||f[0]===0?d=!0:p.push(c.shift())}this.postToWorker(p),h(null)}),this.onUxtCb=[],this.contextId=Math.random().toString(36).slice(2),this.projectKey=e,Object.keys(s).findIndex(c=>["fixedCanvasScaling","disableCanvas"].includes(c))!==-1&&(console.warn('Openreplay: canvas options are moving to separate key "canvas" in next update. Please update your configuration.'),s={...s,canvas:{__save_canvas_locally:s.__save_canvas_locally,fixedCanvasScaling:s.fixedCanvasScaling,disableCanvas:s.disableCanvas}}),this.networkOptions=s.network;const o={revID:"",node_id:"__openreplay_id",session_token_key:"__openreplay_token",session_pageno_key:"__openreplay_pageno",session_reset_key:"__openreplay_reset",session_tabid_key:"__openreplay_tabid",local_uuid_key:"__openreplay_uuid",ingestPoint:Wa,resourceBaseHref:null,__is_snippet:!1,__debug_report_edp:null,__debug__:Pn.Silent,__save_canvas_locally:!1,localStorage:null,sessionStorage:null,disableStringDict:!1,forceSingleTab:!1,assistSocketHost:"",fixedCanvasScaling:!1,disableCanvas:!1,captureIFrames:!0,obscureTextEmails:!0,obscureTextNumbers:!1,crossdomain:{parentDomain:"*"},canvas:{disableCanvas:!1,fixedCanvasScaling:!1,__save_canvas_locally:!1,useAnimationFrame:!1},forceNgOff:!1};if(this.options=fa(o,s),!this.insideIframe&&!this.options.forceSingleTab&&globalThis&&"BroadcastChannel"in globalThis){const c=location.hostname.split(".").slice(-2).join("_");this.bc=new BroadcastChannel(`rick_${c}`)}this.revID=this.options.revID,this.localStorage=this.options.localStorage??window.localStorage,this.sessionStorage=this.options.sessionStorage??window.sessionStorage,this.sanitizer=new Uh({app:this,options:s}),this.nodes=new Bh({node_id:this.options.node_id,forceNgOff:!!s.forceNgOff,maintainer:(l=this.options.nodes)==null?void 0:l.maintainer}),this.observer=new zh({app:this,options:s}),this.ticker=new Vh(this),this.ticker.attach(()=>this.commit()),this.debug=new Dh(this.options.__debug__),this.session=new Hh({app:this,options:this.options}),this.attributeSender=new pu({app:this,isDictDisabled:!!(this.options.disableStringDict||(u=this.options.crossdomain)!=null&&u.enabled)}),this.featureFlags=new vu(this),this.tagWatcher=new ih({sessionStorage:this.sessionStorage,errLog:this.debug.error,onTag:c=>this.send(th(c))}),this.session.attachUpdateCallback(({userID:c,metadata:h})=>{c!=null&&this.send(ju(c)),h!=null&&Object.entries(h).forEach(([d,p])=>this.send(ga(d,p)))}),n!=null&&this.session.applySessionHash(n);const a=this.session.getTabId();this.insideIframe?(window.addEventListener("message",this.parentCrossDomainFrameListener),setInterval(()=>{var c;document.hidden||window.parent.postMessage({line:me.polling,context:this.contextId},((c=s.crossdomain)==null?void 0:c.parentDomain)??"*")},250)):(this.initWorker(),window.addEventListener("message",this.crossDomainIframeListener)),this.bc!==null&&(this.bc.postMessage({line:me.ask,source:a,context:this.contextId}),this.startTimeout=setTimeout(()=>{this.allowAppStart()},250),this.bc.onmessage=c=>{if(c.data.context!==this.contextId){if(c.data.line===me.resp){const h=c.data.token;this.session.setSessionToken(h),this.allowAppStart()}if(c.data.line===me.reg){const h=c.data.token;this.session.regenerateTabId(),this.session.setSessionToken(h),this.allowAppStart()}if(c.data.line===me.ask){const h=this.session.getSessionToken();h&&this.bc&&this.bc.postMessage({line:c.data.source===a?me.reg:me.resp,token:h,source:a,context:this.contextId})}}})}allowAppStart(){this.canStart=!0,this.startTimeout&&(clearTimeout(this.startTimeout),this.startTimeout=null)}async checkNodeId(e){let n;if(this.pageFrames.length>0&&(n=this.pageFrames.find(i=>i.contentWindow===e)),!n||!this.pageFrames.length){const i=Array.from(document.querySelectorAll("iframe"));this.pageFrames=i,n=i.find(r=>r.contentWindow===e)}if(!n)return null;let s=0;for(;s<100;){const i=n[this.options.node_id];if(i!==void 0)return s=100,i;s++,await Kh(100)}return null}initWorker(){try{this.worker=new Worker(URL.createObjectURL(new Blob([Gh],{type:"text/javascript"}))),this.worker.onerror=n=>{this._debug("webworker_error",n)},this.worker.onmessage=({data:n})=>{this.handleWorkerMsg(n)};const e=()=>{this.worker&&this.worker.postMessage(null)};this.attachEventListener(window,"beforeunload",e,!1),this.attachEventListener(document.body,"mouseleave",e,!1,!1),this.attachEventListener(document,"visibilitychange",e,!1)}catch(e){this._debug("worker_start",e)}}handleWorkerMsg(e){var n;if(e==="a_stop")this.stop(!1);else if(e==="a_start")this.waitStatus(ge.NotActive).then(()=>{this.allowAppStart(),this.start(this.prevOpts,!0).then(s=>{this.debug.info("Worker restarted, session was too long",s)}).catch(s=>{this.debug.error("Worker restart failed",s)})});else if(e==="not_init")this.debug.warn("OR WebWorker: writer not initialised. Restarting tracker");else if(e.type==="failure")this.stop(!1),this.debug.error("worker_failed",e.reason),this._debug("worker_failed",e.reason);else if(e.type==="compress"){const s=e.batch;s.byteLength>this.compressionThreshold?hu(e.batch,{mtime:0},(r,o)=>{var a,l;r?(this.debug.error("Openreplay compression error:",r),(a=this.worker)==null||a.postMessage({type:"uncompressed",batch:s})):(l=this.worker)==null||l.postMessage({type:"compressed",batch:o})}):(n=this.worker)==null||n.postMessage({type:"uncompressed",batch:s})}else e.type==="queue_empty"&&this.onSessionSent()}_debug(e,n){this.options.__debug_report_edp!==null&&fetch(this.options.__debug_report_edp,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({context:e,error:`${n}`})}),this.debug.error("OpenReplay error: ",e,n)}send(e,n=!1){var s;this.activityState!==ge.NotActive&&(this.activityState===ge.ColdStart?(this.bufferedMessages1.push(e),this.singleBuffer||this.bufferedMessages2.push(e),(s=this.conditionsManager)==null||s.processMessage(e)):this.messages.push(e),this.activityState===ge.Active&&n&&this.commit())}_nCommit(){var e;if(this.socketMode){this.messages.unshift(hn(this.session.getTabId())),this.messages.unshift(un(this.timestamp())),this.commitCallbacks.forEach(n=>n(this.messages)),this.messages.length=0;return}if(this.insideIframe){window.parent.postMessage({line:me.iframeBatch,messages:this.messages},((e=this.options.crossdomain)==null?void 0:e.parentDomain)??"*"),this.commitCallbacks.forEach(n=>n(this.messages)),this.messages.length=0;return}if(!(this.worker===void 0||!this.messages.length))try{Tu(()=>{var n;this.messages.unshift(hn(this.session.getTabId())),this.messages.unshift(un(this.timestamp())),(n=this.worker)==null||n.postMessage(this.messages),this.commitCallbacks.forEach(s=>s(this.messages)),this.messages.length=0})}catch(n){this._debug("worker_commit",n),this.stop(!0),setTimeout(()=>{this.start()},500)}}_cStartCommit(){this.coldStartCommitN+=1,this.coldStartCommitN===2&&(this.bufferedMessages1.push(un(this.timestamp())),this.bufferedMessages1.push(hn(this.session.getTabId())),this.bufferedMessages2.push(un(this.timestamp())),this.bufferedMessages2.push(hn(this.session.getTabId())),this.coldStartCommitN=0)}commit(){this.activityState===ge.ColdStart?this._cStartCommit():this._nCommit()}postToWorker(e){var n;(n=this.worker)==null||n.postMessage(e),this.commitCallbacks.forEach(s=>s(e)),e.length=0}timestamp(){return rt()+this.delay}safe(e){const n=this;return function(...s){try{e.apply(this,s)}catch(i){n._debug("safe_fn_call",i)}}}attachCommitCallback(e){this.commitCallbacks.push(e)}checkRequiredVersion(e){const n=e.split(/[.-]/),s=this.version.split(/[.-]/);for(let i=0;i<3;i++){if(isNaN(Number(s[i]))||isNaN(Number(n[i])))return!1;if(Number(s[i])>Number(n[i]))return!0;if(Number(s[i])<Number(n[i]))return!1}return!0}getTrackerInfo(){return{userUUID:this.localStorage.getItem(this.options.local_uuid_key),projectKey:this.projectKey,revID:this.revID,trackerVersion:this.version,isSnippet:this.options.__is_snippet}}getSessionInfo(){return{...this.session.getInfo(),...this.getTrackerInfo()}}getSessionToken(){return this.session.getSessionToken()}getSessionID(){return this.session.getInfo().sessionID||void 0}getSessionURL(e){const{projectID:n,sessionID:s,timestamp:i}=this.session.getInfo();if(!n||!s){this.debug.error("OpenReplay error: Unable to build session URL");return}const r=this.options.ingestPoint,l=(/api\.openreplay\.com/.test(r)?"https://app.openreplay.com/ingest":r).replace(/ingest$/,`${n}/session/${s}`);if(e!=null&&e.withCurrentTime){const u=rt()-i;return`${l}?jumpto=${u}`}return l}getHost(){return new URL(this.options.ingestPoint).host}getProjectKey(){return this.projectKey}getBaseHref(){var e,n;return typeof this.options.resourceBaseHref=="string"?this.options.resourceBaseHref:(this.options.resourceBaseHref,document.baseURI?document.baseURI:((n=(e=document.head)==null?void 0:e.getElementsByTagName("base")[0])==null?void 0:n.getAttribute("href"))||location.origin+location.pathname)}resolveResourceURL(e){const n=new URL(this.getBaseHref());return n.pathname+="/"+new URL(e).pathname,n.pathname.replace(/\/+/g,"/"),n.toString()}isServiceURL(e){return e.startsWith(this.options.ingestPoint)}active(){return this.activityState===ge.Active}resetNextPageSession(e){e?this.sessionStorage.setItem(this.options.session_reset_key,"t"):this.sessionStorage.removeItem(this.options.session_reset_key)}checkSessionToken(e){const n=this.sessionStorage.getItem(this.options.session_reset_key)!==null,s=e||n,i=this.session.getSessionToken();return s||!i}async coldStart(e={},n){this.singleBuffer=!1;const s=1e3,i=this.checkSessionToken(e.forceNew);n&&await this.setupConditionalStart(e);const r=()=>{this.orderNumber+=1,Ui(),this.coldStartTs=rt(),this.orderNumber%2===0?(this.bufferedMessages1.length=0,this.bufferedMessages1.push(un(this.timestamp())),this.bufferedMessages1.push(hn(this.session.getTabId()))):(this.bufferedMessages2.length=0,this.bufferedMessages2.push(un(this.timestamp())),this.bufferedMessages2.push(hn(this.session.getTabId()))),this.stop(!1),this.activityState=ge.ColdStart,e.sessionHash&&this.session.applySessionHash(e.sessionHash),e.forceNew&&this.session.reset(),this.session.assign({userID:e.userID,metadata:e.metadata}),i||(this.debug.log("continuing session on new tab",this.session.getTabId()),this.send(zs(this.session.getTabId()))),this.observer.observe(),this.ticker.start()};this.coldInterval=setInterval(()=>{r()},30*s),r()}async setupConditionalStart(e){var p,f;this.conditionsManager=new gu(this,e);const n=await fetch(this.options.ingestPoint+"/v1/web/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.getTrackerInfo(),timestamp:rt(),doNotRecord:!0,bufferDiff:0,userID:this.session.getInfo().userID,token:void 0,deviceMemory:Qi,jsHeapSizeLimit:Zi,timezone:ar(),width:window.screen.width,height:window.screen.height})}),{token:s,userBrowser:i,userCity:r,userCountry:o,userDevice:a,userOS:l,userState:u,projectID:c,features:h}=await n.json();this.features=h||this.features,this.session.assign({projectID:c}),this.session.setUserInfo({userBrowser:i,userCity:r,userCountry:o,userDevice:a,userOS:l,userState:u});const d={sessionToken:s,userUUID:"",sessionID:""};this.startCallbacks.forEach(m=>m(d)),await((p=this.conditionsManager)==null?void 0:p.fetchConditions(c,s)),this.features["feature-flags"]&&(await this.featureFlags.reloadFlags(s),(f=this.conditionsManager)==null||f.processFlags(this.featureFlags.flags)),await this.tagWatcher.fetchTags(this.options.ingestPoint,s)}offlineRecording(e={},n){this.onSessionSent=n,this.singleBuffer=!0;const s=this.checkSessionToken(e.forceNew);Ui(),this.coldStartTs=rt();const i=this.localStorage.getItem(or);if(i){const o=JSON.parse(i);this.bufferedMessages1=Array.isArray(o)?o:this.bufferedMessages1,this.localStorage.removeItem(or)}this.bufferedMessages1.push(un(this.timestamp())),this.bufferedMessages1.push(hn(this.session.getTabId())),this.activityState=ge.ColdStart,e.sessionHash&&this.session.applySessionHash(e.sessionHash),e.forceNew&&this.session.reset(),this.session.assign({userID:e.userID,metadata:e.metadata});const r={sessionToken:"",userUUID:"",sessionID:""};return this.startCallbacks.forEach(o=>o(r)),s||this.send(zs(this.session.getTabId())),this.observer.observe(),this.ticker.start(),{saveBuffer:this.saveBuffer,getBuffer:this.getBuffer,setBuffer:this.setBuffer}}saveBuffer(){this.localStorage.setItem(or,JSON.stringify(this.bufferedMessages1))}getBuffer(){return this.bufferedMessages1}setBuffer(e){this.bufferedMessages1=e}async uploadOfflineRecording(){var d,p;this.stop(!1);const e=rt();(d=this.worker)==null||d.postMessage({type:"start",pageNo:this.session.incPageNo(),ingestPoint:this.options.ingestPoint,timestamp:this.coldStartTs,url:document.URL,connAttemptCount:this.options.connAttemptCount,connAttemptGap:this.options.connAttemptGap,tabId:this.session.getTabId()});const n=await fetch(this.options.ingestPoint+"/v1/web/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.getTrackerInfo(),timestamp:e,doNotRecord:!1,bufferDiff:e-this.coldStartTs,userID:this.session.getInfo().userID,token:void 0,deviceMemory:Qi,jsHeapSizeLimit:Zi,timezone:ar()})}),{token:s,userBrowser:i,userCity:r,userCountry:o,userDevice:a,userOS:l,userState:u,beaconSizeLimit:c,projectID:h}=await n.json();for((p=this.worker)==null||p.postMessage({type:"auth",token:s,beaconSizeLimit:c}),this.session.assign({projectID:h}),this.session.setUserInfo({userBrowser:i,userCity:r,userCountry:o,userDevice:a,userOS:l,userState:u});this.bufferedMessages1.length>0;)await this.flushBuffer(this.bufferedMessages1);this.postToWorker([["q_end"]]),this.clearBuffers()}async _start(e={},n=!1,s){var l,u,c,h,d;Object.keys(e).length!==0&&(this.prevOpts=e);const i=this.activityState===ge.ColdStart;if(i&&this.coldInterval&&clearInterval(this.coldInterval),!this.worker&&!this.insideIframe){const p="No worker found: perhaps, CSP is not set.";return this.signalError(p,[]),Promise.resolve(It(p))}if(this.activityState===ge.Active||this.activityState===ge.Starting)return Promise.resolve(It("OpenReplay: trying to call `start()` on the instance that has been started already."));this.activityState=ge.Starting,i||Ui(),e.sessionHash&&this.session.applySessionHash(e.sessionHash),e.forceNew&&this.session.reset(),this.session.assign({userID:e.userID,metadata:e.metadata});const r=rt();(l=this.worker)==null||l.postMessage({type:"start",pageNo:this.session.incPageNo(),ingestPoint:this.options.ingestPoint,timestamp:i?this.coldStartTs:r,url:document.URL,connAttemptCount:this.options.connAttemptCount,connAttemptGap:this.options.connAttemptGap,tabId:this.session.getTabId()});const o=this.session.getSessionToken(),a=this.checkSessionToken(e.forceNew);this.sessionStorage.removeItem(this.options.session_reset_key),this.debug.log("OpenReplay: starting session; need new session id?",a,"session token: ",o);try{const p=await window.fetch(this.options.ingestPoint+"/v1/web/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...this.getTrackerInfo(),timestamp:r,doNotRecord:!1,bufferDiff:r-this.coldStartTs,userID:this.session.getInfo().userID,token:a?void 0:o,deviceMemory:Qi,jsHeapSizeLimit:Zi,timezone:ar(),condition:s,assistOnly:e.assistOnly??this.socketMode,width:window.screen.width,height:window.screen.height})});if(p.status!==200){const R=await p.text(),Z=R===as?as:`Server error: ${p.status}. ${R}`;return It(Z)}if(!this.worker&&!this.insideIframe){const R="no worker found after start request (this should not happen in real world)";return this.signalError(R,[]),It(R)}const{token:f,userUUID:m,projectID:S,beaconSizeLimit:T,compressionThreshold:x,delay:I,sessionID:g,startTimestamp:b,userBrowser:_,userCity:k,userCountry:y,userDevice:E,userOS:P,userState:j,canvasEnabled:L,canvasQuality:Q,canvasFPS:U,assistOnly:B,features:J}=await p.json();if(this.features=J||this.features,typeof f!="string"||typeof m!="string"||typeof b!="number"&&typeof b<"u"||typeof g!="string"||typeof I!="number"||typeof T!="number"&&typeof T<"u"){const R=`Incorrect server response: ${JSON.stringify(p)}`;return this.signalError(R,[]),It(R)}this.delay=I,this.session.setSessionToken(f),this.session.setUserInfo({userBrowser:_,userCity:k,userCountry:y,userDevice:E,userOS:P,userState:j}),this.session.assign({sessionID:g,timestamp:b||r,projectID:S}),B?(this.socketMode=!0,(u=this.worker)==null||u.postMessage("stop")):(c=this.worker)==null||c.postMessage({type:"auth",token:f,beaconSizeLimit:T}),!a&&f===o&&(this.debug.log("continuing session on new tab",this.session.getTabId()),this.send(zs(this.session.getTabId()))),Object.entries(this.session.getInfo().metadata).forEach(([R,Z])=>this.send(ga(R,Z))),this.localStorage.setItem(this.options.local_uuid_key,m),this.compressionThreshold=x;const te={sessionToken:f,userUUID:m,sessionID:g};if(this.startCallbacks.forEach(R=>R(te)),e.startCallback&&e.startCallback(Fa(te)),this.features["feature-flags"]&&this.featureFlags.reloadFlags(),await this.tagWatcher.fetchTags(this.options.ingestPoint,f),this.activityState=ge.Active,(h=this.options.crossdomain)!=null&&h.enabled&&!this.insideIframe&&this.bootChildrenFrames(),L&&!this.options.canvas.disableCanvas&&(this.canvasRecorder=this.canvasRecorder??new Ch(this,{fps:U,quality:Q,isDebug:this.options.canvas.__save_canvas_locally,fixedScaling:this.options.canvas.fixedCanvasScaling,useAnimationFrame:this.options.canvas.useAnimationFrame})),i){const R=this.bufferedMessages1.length>this.bufferedMessages2.length?this.bufferedMessages1:this.bufferedMessages2;for(;R.length>0;)await this.flushBuffer(R);this.clearBuffers(),this.commit()}else this.insideIframe&&this.rootId?this.observer.crossdomainObserve(this.rootId,this.frameOderNumber):this.observer.observe(),this.ticker.start();if((d=this.canvasRecorder)==null||d.startTracking(),this.features["usability-test"]&&!this.insideIframe){this.uxtManager=this.uxtManager?this.uxtManager:new Eh(this,Ba);let R;const Z=this.localStorage.getItem(Ba);if(Z&&(R=parseInt(Z,10)),location!=null&&location.search){const C=new URLSearchParams(location.search);if(C.has("oruxt")){const A=C.get("oruxt");R=A?parseInt(A,10):void 0}}R&&(this.uxtManager.isActive?this.onUxtCb.forEach(C=>C(R)):this.uxtManager.getTest(R,f,!!Z).then(C=>{C&&this.onUxtCb.forEach(A=>A(C))}))}return Fa(te)}catch(p){if(this.stop(),this.session.reset(),!p)return console.error("Unknown error during start"),this.signalError("Unknown error",[]),It("Unknown error");if(p===as)return this.signalError(as,[]),It(as);this._debug("session_start",p);const f=p instanceof Error?p.message:p.toString();return this.signalError(f,[]),It(f)}}addOnUxtCb(e){this.onUxtCb.push(e)}getUxtId(){var e;return(e=this.uxtManager)==null?void 0:e.getTestId()}async waitStart(){return new Promise(e=>{const n=setInterval(()=>{this.canStart&&(clearInterval(n),e(!0))},100)})}async waitStarted(){return this.waitStatus(ge.Active)}async waitStatus(e){return new Promise(n=>{const s=()=>{this.activityState===e?n(!0):setTimeout(s,25)};s()})}async start(...e){return this.activityState===ge.Active||this.activityState===ge.Starting?Promise.resolve(It("OpenReplay: trying to call `start()` on the instance that has been started already.")):(this.insideIframe&&this.signalIframeTracker(),document.hidden?new Promise(n=>{const s=async()=>{document.hidden||(await this.waitStart(),document.removeEventListener("visibilitychange",s),n(this._start(...e)))};document.addEventListener("visibilitychange",s)}):(await this.waitStart(),this._start(...e)))}forceFlushBatch(){var e;(e=this.worker)==null||e.postMessage("forceFlushBatch")}getTabId(){return this.session.getTabId()}clearBuffers(){this.bufferedMessages1.length=0,this.bufferedMessages2.length=0}trackWs(e){const n=e;return(s,i,r="down")=>{typeof s!="string"||typeof i!="string"||i.length>5*1024*1024||s.length>255||this.send(Qu("websocket",n,i,this.timestamp(),r,s))}}stop(e=!0){var n,s;if(this.activityState!==ge.NotActive)try{!this.insideIframe&&((n=this.options.crossdomain)!=null&&n.enabled)&&this.killChildrenFrames(),this.attributeSender.clear(),this.sanitizer.clear(),this.observer.disconnect(),this.nodes.clear(),this.ticker.stop(),this.stopCallbacks.forEach(i=>i()),this.tagWatcher.clear(),this.worker&&e&&this.worker.postMessage("stop"),(s=this.canvasRecorder)==null||s.clear(),this.messages.length=0,this.parentActive=!1}finally{this.activityState=ge.NotActive,this.debug.log("OpenReplay tracking stopped.")}}};function Yh(t){const e=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(e===void 0)return;const n=()=>t.send(qu(Math.round(e.downlink*1e3),e.type||"unknown"));n(),e.addEventListener("change",n)}const za=dt&&"InstallTrigger"in window?t=>t.message+`
|
|
10
|
+
`+t.stack:t=>t.stack||t.message;function lr(t){return t===void 0?"undefined":t===null?"null":t instanceof Error?za(t):Array.isArray(t)?`Array(${t.length})`:String(t)}function Jh(t){return typeof t!="number"?"NaN":t.toString()}function Qh(t){return typeof t!="number"?"NaN":Math.floor(t).toString()}function ja(t){if(t===void 0)return"undefined";if(t===null)return"null";if(t instanceof Error)return za(t);if(Array.isArray(t)){const e=t.length,n=t.slice(0,10).map(lr).join(", ");return`Array(${e})[${n}]`}if(typeof t=="object"){const e=[];let n=0;for(const s in t){if(++n===10)break;const i=t[s];e.push(s+": "+lr(i))}return"{"+e.join(", ")+"}"}return t.toString()}function Zh(t){return typeof t[0]=="string"&&t.unshift(t.shift().replace(/%(o|s|f|d|i)/g,(e,n)=>{const s=t.shift();if(s===void 0)return e;switch(n){case"o":return ja(s);case"s":return lr(s);case"f":return Jh(s);case"d":case"i":return Qh(s);default:return e}})),t.map(ja).join(" ")}const Ua=["log","info","warn","error","debug","assert"];function $h(t,e){const n=Object.assign({consoleMethods:Ua,consoleThrottling:30},e);if(!Array.isArray(n.consoleMethods)||n.consoleMethods.length===0)return;const s=t.safe((l,u)=>t.send(Bu(l,Zh(u))));let i=0;const r=()=>{i=0};t.attachStartCallback(r),t.ticker.attach(r,33,!1);const o=(l,u)=>{const c={apply:function(h,d,p){Reflect.apply(h,u,p),i=i+1,!(i>n.consoleThrottling)&&s(h.name,p)}};n.consoleMethods.forEach(h=>{if(Ua.indexOf(h)===-1){t.debug.error(`OpenReplay: unsupported console method "${h}"`);return}const d=u.console[h];l[h]=new Proxy(d,c)})},a=t.safe(l=>o(l.console,l));a(window),t.observer.attachContextCallback(a)}const ed=/(^|@)\S+:\d+/,Ha=/^\s*at .*(\S+:\d+|\(native\))/m,td=/^(eval@)?(\[native code\])?$/;function nd(t,e){if(typeof t.stacktrace<"u"||typeof t["opera#sourceloc"]<"u")return ad(t);if(t.stack&&t.stack.match(Ha))return sd(t);if(t.stack)return rd(t);throw new Error("Cannot parse given Error object")}function cr(t){if(!t.includes(":"))return[t,void 0,void 0];const n=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t.replace(/[()]/g,""));return[n[1],n[2]||void 0,n[3]||void 0]}function ls(t,e){return t}function sd(t,e){return id(t.stack)}function id(t,e){return ls(t.split(`
|
|
11
|
+
`).filter(s=>!!s.match(Ha))).map(s=>{s.includes("(eval ")&&(s=s.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));let i=s.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,"");const r=i.match(/ (\(.+\)$)/);i=r?i.replace(r[0],""):i;const o=cr(r?r[1]:i),a=r&&i||void 0,l=["eval","<anonymous>"].includes(o[0])?void 0:o[0];return{function:a,file:l,line:o[1]?+o[1]:void 0,col:o[2]?+o[2]:void 0,raw:s}})}function rd(t,e){return od(t.stack)}function od(t,e){return ls(t.split(`
|
|
12
|
+
`).filter(s=>!s.match(td))).map(s=>{if(s.includes(" > eval")&&(s=s.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),!s.includes("@")&&!s.includes(":"))return{function:s};{const i=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,r=s.match(i),o=r&&r[1]?r[1]:void 0,a=cr(s.replace(i,""));return{function:o,file:a[0],line:a[1]?+a[1]:void 0,col:a[2]?+a[2]:void 0,raw:s}}})}function ad(t,e){return!t.stacktrace||t.message.includes(`
|
|
13
13
|
`)&&t.message.split(`
|
|
14
14
|
`).length>t.stacktrace.split(`
|
|
15
|
-
`).length?
|
|
16
|
-
`),i=[];for(let r=2,o=s.length;r<o;r+=2){const a=n.exec(s[r]);a&&i.push({file:a[2],line:+a[1],raw:s[r]})}return
|
|
17
|
-
`),i=[];for(let r=0,o=s.length;r<o;r+=2){const a=n.exec(s[r]);a&&i.push({function:a[3]||void 0,file:a[2],line:a[1]?+a[1]:void 0,raw:s[r]})}return
|
|
18
|
-
`).filter(s=>!!s.match($h)&&!s.match(/^Error created at/))).map(s=>{const i=s.split("@"),r=cr(i.pop()),o=i.shift()||"",a=o.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void 0;let l;o.match(/\(([^)]*)\)/)&&(l=o.replace(/^[^(]+\(([^)]*)\)$/,"$1"));const u=l===void 0||l==="[arguments not available]"?void 0:l.split(",");return{function:a,args:u,file:r[0],line:r[1]?+r[1]:void 0,col:r[2]?+r[2]:void 0,raw:s}})}function ud(t){return t.map(e=>({functionName:e.function,args:e.args,fileName:e.file,lineNumber:e.line,columnNumber:e.col,source:e.raw}))}function hd(t,e){return ud(td(t))}function Ha(t){return[{columnNumber:t.colno,lineNumber:t.lineno,fileName:t.filename,functionName:"",source:""}]}function Ks(t,e,n={}){let s=e;try{s=hd(t)}catch{}return Yi(t.name,t.message,JSON.stringify(s),JSON.stringify(n))}function qa(t,e=window,n={}){if(t instanceof ErrorEvent){if(t.error instanceof Error)return Ks(t.error,Ha(t),n);{let[s,i]=t.message.split(":");return i||(s="Error",i=t.message),Yi(s,i,JSON.stringify(Ha(t)),JSON.stringify(n))}}else if("PromiseRejectionEvent"in e&&t instanceof e.PromiseRejectionEvent){if(t.reason instanceof Error)return Ks(t.reason,[],n);{let s;try{s=JSON.stringify(t.reason)}catch{s=String(t.reason)}return Yi("Unhandled Promise Rejection",s,"[]",JSON.stringify(n))}}return null}function dd(t,e){const n=Object.assign({captureExceptions:!0},e);function s(i){function r(o){const a=qa(o,i);a!=null&&t.send(a)}try{t.attachEventListener(i,"unhandledrejection",r),t.attachEventListener(i,"error",r)}catch(o){console.error("Error while attaching to error proto contexts",o)}}n.captureExceptions&&(t.observer.attachContextCallback(s),s(window))}function Va(t,e=document.location){return t=t.trim(),t.startsWith("//")||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:")?t:t.startsWith("/")?e.origin+t:e.origin+e.pathname+t}function fd(t){return vu&&(t.startsWith("data:image/svg+xml")||t.match(/.svg$|/i))}const pd="https://static.openreplay.com/tracker/placeholder.jpeg";function gd(t){function e(a,l){t.attributeSender.sendSetAttribute(a,"src",pd);const{width:u,height:c}=l.getBoundingClientRect();l.hasAttribute("width")||t.attributeSender.sendSetAttribute(a,"width",String(u)),l.hasAttribute("height")||t.attributeSender.sendSetAttribute(a,"height",String(c))}const n=function(a,l){const{srcset:u}=l;if(!u)return;const c=u.split(u.match(/,\s+/)?/,\s+/:",").map(h=>Va(h)).join(", ");t.attributeSender.sendSetAttribute(a,"srcset",c)},s=function(a,l){l.src.length>wu&&e(a,l),t.send(Gi(a,"src",l.src,t.getBaseHref()))},i=t.safe(function(a){const l=Va(a.src||"");ia(l)&&t.send(_a(t.timestamp(),0,0,0,0,0,l,"img",0,!1))}),r=t.safe(function(a){const l=t.nodes.getID(a);l!==void 0&&a.complete&&(a.naturalHeight===0&&a.naturalWidth===0&&!fd(a.src)?i(a):t.sanitizer.isHidden(l)||t.sanitizer.isObscured(l)?e(l,a):(s(l,a),n(l,a)))}),o=ca(t.safe(a=>{for(const l of a)if(l.type==="attributes"){const u=l.target,c=t.nodes.getID(u);if(c===void 0)return;l.attributeName==="src"&&s(c,u),l.attributeName==="srcset"&&n(c,u)}}),t.options.forceNgOff);t.attachStopCallback(()=>{o.disconnect()}),t.nodes.attachNodeCallback(a=>{we(a,"img")&&(t.nodes.attachNodeListener(a,"error",()=>i(a)),t.nodes.attachNodeListener(a,"load",()=>r(a)),r(a),o.observe(a,{attributes:!0,attributeFilter:["src","srcset"]}))})}const md=["text","password","email","search","number","range","date","tel","time"];function vd(t){return we(t,"textarea")?!0:we(t,"input")?md.includes(t.type):!1}function wd(t){if(!we(t,"input"))return!1;const e=t.type;return e==="checkbox"||e==="radio"}const bd=ht&&"labels"in HTMLInputElement.prototype?t=>{let e=t;for(;(e=e.parentNode)!==null;)if(we(e,"label"))return e;const n=t.labels;if(n!==null&&n.length===1)return n[0]}:t=>{let e=t;for(;(e=e.parentNode)!==null;)if(we(e,"label"))return e;const n=t.id;if(n){const s=t.ownerDocument.querySelectorAll('label[for="'+n+'"]');if(s!==null&&s.length===1)return s[0]}};function Ga(t){let e=qi(t);if(e===null){const n=bd(t);e=n&&n.innerText||t.placeholder||t.name||t.id||t.className||t.type}return sa(e).slice(0,100)}const Ln={Plain:0,Obscured:1,Hidden:2};function yd(t,e){const n=Object.assign({obscureInputNumbers:!0,obscureInputEmails:!0,defaultInputMode:Ln.Obscured,obscureInputDates:!1},e);function s(c,h){let d=h.value,p=n.defaultInputMode;h.type==="password"||t.sanitizer.isHidden(c)?p=Ln.Hidden:(t.sanitizer.isObscured(c)||p===Ln.Plain&&(n.obscureInputNumbers&&h.type!=="date"&&/\d\d\d\d/.test(d)||n.obscureInputDates&&h.type==="date"||n.obscureInputEmails&&(h.type==="email"||~d.indexOf("@"))))&&(p=Ln.Obscured);let f=0;switch(p){case Ln.Hidden:f=-1,d="";break;case Ln.Obscured:f=d.length,d="";break}return{value:d,mask:f}}function i(c,h){const{value:d,mask:p}=s(c,h);t.send(Au(c,d,p))}const r=new Map,o=new Map;t.attachStopCallback(()=>{r.clear(),o.clear()});function a(c,h){r.get(c)!==h.value&&(r.set(c,h.value),i(c,h))}function l(c,h){o.get(c)!==h&&(o.set(c,h),t.send(Mu(c,h)))}t.ticker.attach(()=>{r.forEach((c,h)=>{const d=t.nodes.getNode(h);if(!d)return r.delete(h);a(h,d)}),o.forEach((c,h)=>{const d=t.nodes.getNode(h);if(!d)return o.delete(h);l(h,d.checked)})},3);function u(c,h,d,p){const{value:f,mask:m}=s(c,h),S=Ga(h);t.send(Qu(c,f,m!==0,S,d,p))}t.nodes.attachNodeCallback(t.safe(c=>{const h=t.nodes.getID(c);if(h!==void 0){if(we(c,"select")&&(i(h,c),t.nodes.attachNodeListener(c,"change",()=>i(h,c))),vd(c)){a(h,c);let d=0,p=0,f=0;const m=()=>{d=it()},S=()=>{p===0&&d!==0&&(p=it()-d)},T=()=>{d!==0&&(f=it()-d),u(h,c,p,f),p=0,f=0,d=0};t.nodes.attachNodeListener(c,"focus",m),t.nodes.attachNodeListener(c,"input",S),t.nodes.attachNodeListener(c,"change",T);return}if(wd(c)){l(h,c.checked),t.nodes.attachNodeListener(c,"change",()=>l(h,c.checked));return}}}))}let Je,ur,Ka;function Sd(t,e){if(Ka=new Date,t.nodeType!==Node.ELEMENT_NODE)throw new Error("Can't generate CSS selector for non-element node type.");if(t.tagName.toLowerCase()==="html")return"html";const n={root:document.body,idName:i=>!0,className:i=>!0,tagName:i=>!0,attr:(i,r)=>!1,seedMinLength:1,optimizedMinLength:2,threshold:1e3,maxNumberOfTries:1e4,timeoutMs:void 0};Je={...n,...e},ur=_d(Je.root,n);let s=Xs(t,"all",()=>Xs(t,"two",()=>Xs(t,"one",()=>Xs(t,"none"))));if(s){const i=$a(el(s,t));return i.length>0&&(s=i[0]),Ys(s)}else throw new Error("Selector was not found.")}function _d(t,e){return t.nodeType===Node.DOCUMENT_NODE?t:t===e.root?t.ownerDocument:t}function Xs(t,e,n){let s=null,i=[],r=t,o=0;for(;r;){const a=new Date().getTime()-Ka.getTime();if(Je.timeoutMs!==void 0&&a>Je.timeoutMs)throw new Error(`Timeout: Can't find a unique selector after ${a}ms`);let l=Qs(kd(r))||Qs(...Td(r))||Qs(...xd(r))||Qs(Ed(r))||[Qa()];const u=Id(r);if(e=="all")u&&(l=l.concat(l.filter(hr).map(c=>Js(c,u))));else if(e=="two")l=l.slice(0,1),u&&(l=l.concat(l.filter(hr).map(c=>Js(c,u))));else if(e=="one"){const[c]=l=l.slice(0,1);u&&hr(c)&&(l=[Js(c,u)])}else e=="none"&&(l=[Qa()],u&&(l=[Js(l[0],u)]));for(let c of l)c.level=o;if(i.push(l),i.length>=Je.seedMinLength&&(s=Xa(i,n),s))break;r=r.parentElement,o++}return s||(s=Xa(i,n)),!s&&n?n():s}function Xa(t,e){const n=$a(Za(t));if(n.length>Je.threshold)return e?e():null;for(let s of n)if(Ja(s))return s;return null}function Ys(t){let e=t[0],n=e.name;for(let s=1;s<t.length;s++){const i=t[s].level||0;e.level===i-1?n=`${t[s].name} > ${n}`:n=`${t[s].name} ${n}`,e=t[s]}return n}function Ya(t){return t.map(e=>e.penalty).reduce((e,n)=>e+n,0)}function Ja(t){const e=Ys(t);switch(ur.querySelectorAll(e).length){case 0:throw new Error(`Can't select any node with this selector: ${e}`);case 1:return!0;default:return!1}}function kd(t){const e=t.getAttribute("id");return e&&Je.idName(e)?{name:"#"+CSS.escape(e),penalty:0}:null}function Td(t){return Array.from(t.attributes).filter(n=>Je.attr(n.name,n.value)).map(n=>({name:`[${CSS.escape(n.name)}="${CSS.escape(n.value)}"]`,penalty:.5}))}function xd(t){return Array.from(t.classList).filter(Je.className).map(n=>({name:"."+CSS.escape(n),penalty:1}))}function Ed(t){const e=t.tagName.toLowerCase();return Je.tagName(e)?{name:e,penalty:2}:null}function Qa(){return{name:"*",penalty:3}}function Id(t){const e=t.parentNode;if(!e)return null;let n=e.firstChild;if(!n)return null;let s=0;for(;n&&(n.nodeType===Node.ELEMENT_NODE&&s++,n!==t);)n=n.nextSibling;return s}function Js(t,e){return{name:t.name+`:nth-child(${e})`,penalty:t.penalty+1}}function hr(t){return t.name!=="html"&&!t.name.startsWith("#")}function Qs(...t){const e=t.filter(Cd);return e.length>0?e:null}function Cd(t){return t!=null}function*Za(t,e=[]){if(t.length>0)for(let n of t[0])yield*Za(t.slice(1,t.length),e.concat(n));else yield e}function $a(t){return[...t].sort((e,n)=>Ya(e)-Ya(n))}function*el(t,e,n={counter:0,visited:new Map}){if(t.length>2&&t.length>Je.optimizedMinLength)for(let s=1;s<t.length-1;s++){if(n.counter>Je.maxNumberOfTries)return;n.counter+=1;const i=[...t];i.splice(s,1);const r=Ys(i);if(n.visited.has(r))return;Ja(i)&&Nd(i,e)&&(yield i,n.visited.set(r,!0),yield*el(i,e,n))}}function Nd(t,e){return ur.querySelector(Ys(t))===e}function Rd(t,e,n){return Sd(t,{root:e.body,seedMinLength:3,optimizedMinLength:(n==null?void 0:n.minSelectorDepth)||2,threshold:(n==null?void 0:n.nthThreshold)||1e3,maxNumberOfTries:(n==null?void 0:n.maxOptimiseTries)||1e4})}function dr(t){const e=t.tagName.toUpperCase();return e==="BUTTON"||e==="A"||e==="LI"||e==="SELECT"||e==="TR"||e==="TH"||t.onclick!=null||t.getAttribute("role")==="button"}function tl(t,e){return t instanceof Element?Dd(t,e):null}function Dd(t,e){let n=t;for(;n!==null&&n!==e.documentElement;){if(an(n,"masked"))return null;n=n.parentElement}if(tr(t)){let s=t.ownerSVGElement;for(;s!==null;)t=s,s=s.ownerSVGElement}for(n=t;n!==null&&n!==e.documentElement;){const s=n.tagName.toUpperCase();if(s==="LABEL")return null;if(s==="INPUT"||dr(n)||qi(n)!==null)return n;n=n.parentElement}return t===e.documentElement?null:t}function Od(t,e){const{disableClickmaps:n=!1}=e||{};function s(g){const b=qi(g);if(b!==null)return b;if(we(g,"input"))return Ga(g);if(dr(g)){let _="";return g instanceof HTMLElement&&(_=t.sanitizer.getInnerTextSecure(g)),_=_||g.id||g.className,sa(_).slice(0,100)}return""}let i=-1,r=-1,o=!1,a=null,l=0,u={},c=0,h=0,d=0,p=0,f;const m=.008,S=225;function T(){const g=p/S;if(!c){c=g;return}const b=(g-c)/S;d>4&&b>m&&t.send(Zu(it())),p=0,d=0,c=g}t.attachStartCallback(()=>{f=setInterval(()=>T(),S)}),t.attachStopCallback(()=>{i=-1,r=-1,o=!1,a=null,u={},f&&clearInterval(f)});const x=()=>{o&&(t.send(Pu(i,r)),o=!1)},I=(g,b=!1)=>{function _(y,E,P){return u[y]=u[y]||Rd(E,g,P)}const k=b?t.attachEventListener.bind(t):t.nodes.attachNodeListener.bind(t.nodes);k(g.documentElement,"mouseover",y=>{const E=tl(y.target,g);E!==a&&(a=E,l=performance.now())}),k(g,"mousemove",y=>{const[E,P]=t.observer.getDocumentOffset(g);i=y.clientX+E,r=y.clientY+P,o=!0;const j=Math.sign(y.movementX);p+=Math.abs(y.movementX)+Math.abs(y.movementY),j!==h&&(h=j,d++)},!1),k(g,"click",y=>{const E=tl(y.target,g);if(!y.clientX&&!y.clientY||E===null)return;const P=t.nodes.getID(E);if(P!==void 0){const j=y.pageX,L=y.pageY,J=g.documentElement.scrollWidth,U=g.documentElement.scrollHeight,B=nl(j/J),Y=nl(L/U);x(),t.send(Xu(P,a===E?Math.round(performance.now()-l):0,s(E),dr(E)&&!n?_(P,E,e):"",B,Y),!0)}a=null})};t.nodes.attachNodeCallback(g=>{Hs(g)&&I(g)}),I(document,!0),t.ticker.attach(x,(e==null?void 0:e.trackingOffset)||7)}function nl(t){return Math.round(t*1e4)}function Ad(t){const e=[],n=document.getElementsByTagName("*"),s=/url\(("[^"]*"|'[^']*'|[^)]*)\)/i;for(let i=0;i<n.length;i++){const r=n[i];let o="";if(we(r,"img")&&(o=r.currentSrc||r.src),!o){const f=getComputedStyle(r).getPropertyValue("background-image");if(f){const m=s.exec(f);m!==null&&(o=m[1],(o.startsWith('"')||o.startsWith("'"))&&(o=o.substr(1,o.length-2)))}}if(!o)continue;const a=o.substr(0,10)==="data:image"?0:t[o];if(a===void 0)continue;const l=r.getBoundingClientRect(),u=Math.max(l.top,0),c=Math.max(l.left,0),h=Math.min(l.bottom,window.innerHeight||document.documentElement&&document.documentElement.clientHeight||0),d=Math.min(l.right,window.innerWidth||document.documentElement&&document.documentElement.clientWidth||0);if(h<=u||d<=c)continue;const p=(h-u)*(d-c);e.push({time:a,area:p})}return e}function Md(t,e){let n=Math.max(document.documentElement&&document.documentElement.clientWidth||0,window.innerWidth||0)*Math.max(document.documentElement&&document.documentElement.clientHeight||0,window.innerHeight||0)/10,s=n*t;for(let i=0;i<e.length;i++){const{time:r,area:o}=e[i];n+=o,s+=o*(r>t?r:t)}return n===0?0:s/n}function Pd(t,e){const n=Object.assign({captureResourceTimings:!0,capturePageLoadTimings:!0,capturePageRenderTimings:!0,excludedResourceUrls:[]},e);if("PerformanceObserver"in window||(n.captureResourceTimings=!1),!n.captureResourceTimings)return;let s={};function i(u){var h;if(u.duration<0||!ia(u.name)||t.isServiceURL(u.name))return;s!==null&&(s[u.name]=u.startTime+u.duration);let c=!1;(h=n.excludedResourceUrls)==null||h.forEach(d=>{if(u.name.startsWith(d)){c=!0;return}}),!c&&t.send(_a(u.startTime+On(),u.duration,u.responseStart&&u.startTime?u.responseStart-u.startTime:0,u.transferSize>u.encodedBodySize?u.transferSize-u.encodedBodySize:0,u.encodedBodySize||0,u.decodedBodySize||0,u.name,u.initiatorType,u.transferSize,u.responseStatus&&u.responseStatus===304||u.transferSize===0))}const r=new PerformanceObserver(u=>u.getEntries().forEach(i));let o;t.attachStartCallback(function({sessionID:u}){u!==o&&(performance.getEntriesByType("resource").forEach(i),o=u),r.observe({entryTypes:["resource"]})}),t.attachStopCallback(function(){r.disconnect()});let a=0,l=0;if(n.capturePageLoadTimings){let u=!1;t.ticker.attach(()=>{if(!u&&((a===0||l===0)&&performance.getEntriesByType("paint").forEach(c=>{const{name:h,startTime:d}=c;switch(h){case"first-paint":a=d;break;case"first-contentful-paint":l=d;break}}),performance.timing.loadEventEnd||performance.now()>3e4)){u=!0;const{navigationStart:c,requestStart:h,responseStart:d,responseEnd:p,domContentLoadedEventStart:f,domContentLoadedEventEnd:m,loadEventStart:S,loadEventEnd:T}=performance.timing;t.send(Bu(h-c||0,d-c||0,p-c||0,f-c||0,m-c||0,S-c||0,T-c||0,a,l))}},30)}if(n.capturePageRenderTimings){let u=0,c=0,h=0,d=null,p=!1;t.ticker.attach(()=>{if(p)return;const f=performance.now();if(s!==null&&(u=Math.max.apply(null,Object.keys(s).map(m=>s[m])),f-u>1e3&&(d=Ad(s),s=null)),h!==null&&(f-h>50&&(c=f),h=f-c>5e3?null:f),d!==null&&h===null||f>3e4){p=!0,s=null;const m=d===null?0:Md(l||a,d),{domContentLoadedEventEnd:S,navigationStart:T}=performance.timing,x=h===null?Math.max(c,l,S-T||0):0;t.send(Fu(m,l>u?l:u,x))}})}}function fr(t){const e=t.defaultView;return[e&&e.scrollX||t.documentElement&&t.documentElement.scrollLeft||t.body&&t.body.scrollLeft||0,e&&e.scrollY||t.documentElement&&t.documentElement.scrollTop||t.body&&t.body.scrollTop||0]}function Ld(t,e){let n=!1;const s=new Map;function i(a){Aa(a)&&(xt(a)&&s.set(a,[a.scrollLeft,a.scrollTop]),Hs(a)&&s.set(a,fr(a)))}const r=t.safe(()=>{e||t.send(xu(...fr(document)))}),o=t.safe((a,l)=>{const u=t.nodes.getID(l);u!==void 0&&t.send(Ou(u,a[0],a[1]))});t.attachStartCallback(r),t.attachStopCallback(()=>{n=!1,s.clear()}),t.nodes.attachNodeCallback((a,l)=>{l&&(xt(a)&&a.scrollLeft+a.scrollTop>0?s.set(a,[a.scrollLeft,a.scrollTop]):Hs(a)&&s.set(a,fr(a))),qs(a)&&t.nodes.attachNodeListener(a,"scroll",u=>{i(u.target)})}),t.attachEventListener(document,"scroll",a=>{const l=a.target;if(l===document){n=!0;return}i(l)}),t.ticker.attach(()=>{n&&(r(),n=!1),s.forEach(o),s.clear()},5,!1)}function Bd(t){let e,n,s,i,r=document.referrer;const o=t.safe(()=>{const{URL:u}=document;u!==e&&(e=u,t.send(th(e,r,i,document.title)),i=0,r=e)}),a=t.safe(()=>{const{innerWidth:u,innerHeight:c}=window;(u!==n||c!==s)&&(n=u,s=c,t.send(Tu(n,s)))}),l=document.hidden===void 0?Function.prototype:t.safe(()=>t.send(qu(document.hidden)));t.attachStartCallback(()=>{e=null,i=On(),n=s=-1,o(),a(),l()}),document.hidden!==void 0&&t.attachEventListener(document,"visibilitychange",l,!1,!1),t.ticker.attach(o,1,!1),t.ticker.attach(a,5,!1)}function sl(t){return qs(t)&&!!t.adoptedStyleSheets}let Fd=15;function il(){return Fd++}const Zs=new Map;function Wd(t){if(t===null||!sl(document))return;const e=new Map,n=new Map,s=o=>setTimeout(()=>{let a=t.nodes.getID(o);if(o===document&&(a=0),a===void 0)return;let l=n.get(a);l||(l=[]);const u=[],c=o.adoptedStyleSheets;if(c&&Symbol.iterator in c)for(const h of c){let d=e.get(h);const p=!d;if(d||(d=il(),e.set(h,d)),l.includes(d)||t.send(ba(d,a)),p){const f=h.cssRules;for(let m=0;m<f.length;m++)t.send(Xi(d,f[m].cssText,m,t.getBaseHref()))}u.push(d)}if(Symbol.iterator in l)for(const h of l)u.includes(h)||t.send(Yu(h,a));n.set(a,u)},20);function i(o){const a=Object.getOwnPropertyDescriptor(o,"adoptedStyleSheets");a&&Object.defineProperty(o,"adoptedStyleSheets",{...a,set:function(l){const u=a.set.call(this,l);return s(this),u}})}const r=o=>{if(o.__openreplay_adpss_patched__)return;o.__openreplay_adpss_patched__=!0,i(o.Document.prototype),i(o.ShadowRoot.prototype);const{replace:a,replaceSync:l}=o.CSSStyleSheet.prototype;o.CSSStyleSheet.prototype.replace=function(u){return a.call(this,u).then(c=>{const h=e.get(this);return h&&t.send(va(h,u,t.getBaseHref())),c})},o.CSSStyleSheet.prototype.replaceSync=function(u){const c=e.get(this);return c&&t.send(va(c,u,t.getBaseHref())),l.call(this,u)}};r(window),t.observer.attachContextCallback(t.safe(r)),t.attachStopCallback(()=>{e.clear(),n.clear()}),t.attachStartCallback(()=>{s(document)}),t.nodes.attachNodeCallback(o=>{sl(o)&&s(o)})}function zd(t){if(t===null)return;if(!window.CSSStyleSheet){t.send(Gu("no_stylesheet_prototype_in_window",""));return}const e=t.safe((i,r,o)=>{const a=Zs.get(i);a&&(typeof o=="string"?t.send(Xi(a,o,r,t.getBaseHref())):t.send(wa(a,r)))}),n=t.safe(i=>{let r=i;for(;r.parentRule;)r=r.parentRule;const o=r.parentStyleSheet;if(!o){t.debug.warn("No parent StyleSheet found for",r,i);return}const a=Zs.get(o);if(!a){t.debug.warn("No sheedID found for",o,Zs);return}const l=r.cssText,u=o.cssRules,c=Array.from(u).indexOf(r);c>=0?(t.send(Xi(a,l,c,t.getBaseHref())),t.send(wa(a,c+1))):t.debug.warn("Rule index not found in",o,r)}),s=t.safe(i=>{const{insertRule:r,deleteRule:o}=i.CSSStyleSheet.prototype,{insertRule:a,deleteRule:l}=i.CSSGroupingRule.prototype;i.CSSStyleSheet.prototype.insertRule=function(u,c=0){return e(this,c,u),r.call(this,u,c)},i.CSSStyleSheet.prototype.deleteRule=function(u){return e(this,u),o.call(this,u)},i.CSSGroupingRule.prototype.insertRule=function(u,c=0){const h=a.call(this,u,c);return n(this),h},i.CSSGroupingRule.prototype.deleteRule=function(u=0){const c=l.call(this,u);return n(this),c}});s(window),t.observer.attachContextCallback(s),t.nodes.attachNodeCallback(i=>{if(!we(i,"style")||!i.sheet||i.textContent!==null&&i.textContent.trim().length>0)return;const r=t.nodes.getID(i);if(!r)return;const o=i.sheet,a=il();Zs.set(o,a),t.send(ba(a,r));const l=o.cssRules;for(let u=0;u<l.length;u++)e(o,u,l[u].cssText)})}function jd(t){function e(s){const i=t.nodes.getID(s);i!==void 0&&t.send(ma(i))}let n=!1;t.nodes.attachNodeCallback(s=>{we(s,"body")&&(t.nodes.attachNodeListener(s,"focus",i=>{Aa(i.target)&&(e(i.target),n=!1)}),t.nodes.attachNodeListener(s,"blur",i=>{i.relatedTarget===null&&(n=!0,setTimeout(()=>{n&&t.send(ma(-1))},0))}))}),t.attachStartCallback(()=>{let s=document.activeElement;for(;s&&we(s,"iframe")&&s.contentDocument;)s=s.contentDocument.activeElement;s&&s!==s.ownerDocument.body&&e(s)},!0)}function Ud(t){if(!window.FontFace)return;const e=new Map,n=s=>{class i extends s.FontFace{constructor(...o){if(typeof o[1]=="string"){let a="";o[2]&&t.safe(()=>{a=JSON.stringify(o[2])});const l=[o[0],o[1],a],u=e.get(s.document)||[];u.push(l),e.set(s.document,u);const c=s===window?0:t.nodes.getID(s.document);if(c===void 0)return;t.active()&&t.send(ga(c,...l))}super(...o)}}s.FontFace=i};t.observer.attachContextCallback(n),n(window),t.nodes.attachNodeCallback(t.safe(s=>{if(!Hs(s))return;const i=e.get(s);if(!i)return;const r=s.defaultView===window?0:t.nodes.getID(s);r!==void 0&&i.forEach(o=>{t.send(ga(r,...o))})}))}function Hd(t,e,n,s,i){t.debug.log("Openreplay: attaching axios spy to instance",e);function r(d){t.debug.log("Openreplay: capturing axios response data",d);const{headers:p,data:f,method:m,url:S,baseURL:T}=d.config,{data:x,headers:I,status:g,response:b}=d,{data:_,headers:k,status:y}=b||{},E=n.ignoreHeaders,P=Array.isArray(E)?R=>E.includes(R):()=>E;function j(R,Q){P(Q[0])||(R[Q[0]]=Q[1])}let L={},J={};p.toJSON?L=p.toJSON():p instanceof Headers?p.forEach((R,Q)=>j(L,[Q,R])):Array.isArray(p)?p.forEach(R=>j(L,R)):typeof p=="object"&&Object.entries(p).forEach(R=>j(L,R));const U=k||I;U.toJSON?J=U.toJSON():U instanceof Headers?U.forEach((R,Q)=>j(J,[Q,R])):Array.isArray(U)?U.forEach(R=>j(J,R)):typeof U=="object"&&Object.entries(U).forEach(([R,Q])=>{P(R)||(J[R]=Q)});const B=s({url:S,method:m||"",status:g||y||0,request:{headers:L,body:f},response:{headers:J,body:_||x}});if(!B){t.debug.log("Openreplay: empty request/response info, skipping");return}const Y=d.config.__openreplay_timing,ee=performance.now()-Y;t.debug.log("Openreplay: final req object",B),t.send(Ws("xhr",String(m),String(B.url),i(B.request),i(B.response),B.status,Y+On(),ee,0))}function o(d){if(t.debug.log("Openreplay: capturing API request",d),d.__openreplay_timing=performance.now(),n.sessionTokenHeader){const p=typeof n.sessionTokenHeader=="string"?n.sessionTokenHeader:"X-OpenReplay-Session-Token",f=t.getSessionToken();f&&d.headers.set(p,f)}return d}function a(d){return n.failuresOnly||r(d),d}function l(d){return t.debug.log("Openreplay: capturing API request error",d),qd(d)&&d.response?r(d.response):d instanceof Error&&t.send(Ks(d,[])),Promise.reject(d)}function u(d){t.debug.log("Openreplay: failed API request, skipping",d)}const c=e.interceptors.request.use(o,u,{synchronous:!0}),h=e.interceptors.response.use(a,l,{synchronous:!0});t.attachStopCallback(()=>{var d,p,f,m;(p=(d=e.interceptors.request).eject)==null||p.call(d,c),(m=(f=e.interceptors.response).eject)==null||m.call(f,h)})}function qd(t){return Vd(t)&&t.isAxiosError===!0}function Vd(t){return t!==null&&typeof t=="object"}class pr{constructor(e=[],n,s){this.ignoredHeaders=e,this.setSessionTokenHeader=n,this.sanitize=s,this.id="",this.name="",this.method="",this.url="",this.status=0,this.statusText="",this.cancelState=0,this.readyState=0,this.header={},this.responseType="",this.requestType="xhr",this.requestHeader={},this.responseSize=0,this.responseSizeText="",this.startTime=0,this.endTime=0,this.duration=0,this.getData={},this.requestData=null}getMessage(){const{reqHs:e,resHs:n}=this.writeHeaders(),s={headers:e,body:this.method==="GET"?JSON.stringify(this.getData):this.requestData},i={headers:n,body:this.response},r=this.sanitize({url:this.url,method:this.method,status:this.status,request:s,response:i});if(!r)return null;if(r.url.includes("/graphql")&&r.response.body&&typeof r.response.body=="string"){const a=r.response.body.includes("errors");r.status=a?400:200,this.requestType="graphql"}return{requestType:this.requestType,method:r.method,url:r.url,request:JSON.stringify(r.request),response:JSON.stringify(r.response),status:r.status,startTime:this.startTime,duration:this.duration,responseSize:this.responseSize}}writeHeaders(){const e={};Object.entries(this.requestHeader).forEach(([s,i])=>{this.isHeaderIgnored(s)||(e[s]=i)}),this.setSessionTokenHeader((s,i)=>{e[s]=i});const n={};return Object.entries(this.header).forEach(([s,i])=>{this.isHeaderIgnored(s)||(n[s]=i)}),{reqHs:e,resHs:n}}isHeaderIgnored(e){return Array.isArray(this.ignoredHeaders)?this.ignoredHeaders.map(n=>n.toLowerCase()).includes(e.toLowerCase()):this.ignoredHeaders}}const ls=(t,e)=>{let n="";switch(t){case"":case"text":case"json":typeof e=="string"?n=e:mr(e)||Array.isArray(e)?n=JSON.stringify(e):typeof e<"u"&&(n=Object.prototype.toString.call(e));break;case"blob":case"document":case"arraybuffer":default:typeof e<"u"&&(n=Object.prototype.toString.call(e));break}return n},gr=t=>{if(!t)return null;let e;if(typeof t=="string"){(t[0]==="{"||t[0]==="[")&&(e=t);const n=t.split("&");n.length===1?e=t:e=n.join(",")}else if(Kd(t)){const n=[];for(const[s,i]of t)n.push(`${s}=${typeof i=="string"?i:"[object Object]"}`);e=n.join(",")}else t instanceof Blob||t instanceof ReadableStream||t instanceof ArrayBuffer?e="byte data":mr(t)?e=t:e=`can't parse body ${typeof t}`;return e},Gd=(t,e={})=>{mr(e)||(e={});let n=t?t.split("?"):[];if(n.shift(),n.length>0){n=n.join("?").split("&");for(const s of n){const i=s.split("=");try{e[i[0]]=decodeURIComponent(i[1])}catch{e[i[0]]=i[1]}}}return e};function mr(t){return t!==null&&typeof t=="object"}function Kd(t){return t==null||ArrayBuffer.isView(t)?!1:typeof Symbol<"u"&&typeof t[Symbol.iterator]=="function"}function $s(t){return t<=0?"":t>=1e3*1e3?(t/1e3/1e3).toFixed(1)+" MB":t>=1e3?(t/1e3).toFixed(1)+" KB":`${t}B`}const vr=t=>(t.startsWith("//")&&(t=`${new URL(window.location.href).protocol}${t}`),t.startsWith("http")?new URL(t):new URL(t,window.location.href)),Xd=t=>t instanceof Blob?t.type:t instanceof FormData?"multipart/form-data":t instanceof URLSearchParams?"application/x-www-form-urlencoded;charset=UTF-8":"text/plain;charset=UTF-8";class Yd{constructor(e,n,s,i,r){this.ignoredHeaders=e,this.setSessionTokenHeader=n,this.sanitize=s,this.sendMessage=i,this.isServiceUrl=r}apply(e,n,s){const i=s[0],r=s[1],o=new pr(this.ignoredHeaders,this.setSessionTokenHeader,this.sanitize);if(this.isServiceUrl(i))return e.apply(n,s);const a=vr(i);if(o.method="POST",o.url=i,o.name=(a.pathname.split("/").pop()||"")+a.search,o.requestType="beacon",o.requestHeader={"Content-Type":Xd(r)},o.status=0,o.statusText="Pending",a.search&&a.searchParams){o.getData={};for(const[c,h]of a.searchParams)o.getData[c]=h}o.requestData=gr(r),o.startTime||(o.startTime=performance.now());const l=e.apply(n,s);l?(o.endTime=performance.now(),o.duration=o.endTime-(o.startTime||o.endTime),o.status=0,o.statusText="Sent",o.readyState=4):(o.status=500,o.statusText="Unknown");const u=o.getMessage();return u&&this.sendMessage(u),l}}class Jd{static create(e,n,s,i,r,o){if(e)return new Proxy(e,new Yd(n,s,i,r,o))}}var ft;(function(t){t[t.UNSENT=0]="UNSENT",t[t.OPENED=1]="OPENED",t[t.HEADERS_RECEIVED=2]="HEADERS_RECEIVED",t[t.LOADING=3]="LOADING",t[t.DONE=4]="DONE"})(ft||(ft={}));class Qd{constructor(e,n){this.resp=e,this.item=n,this.mockReader()}set(e,n,s){return Reflect.set(e,n,s)}get(e,n){const s=Reflect.get(e,n);switch(n){case"arrayBuffer":case"blob":case"formData":case"json":case"text":return()=>(this.item.responseType=n.toLowerCase(),s.apply(e).then(i=>(this.item.response=ls(this.item.responseType,i),i)))}return typeof s=="function"?s.bind(e):s}mockReader(){let e;if(!this.resp.body||typeof this.resp.body.getReader!="function")return;const n=this.resp.body.getReader;this.resp.body.getReader=()=>{const s=n.apply(this.resp.body);if(this.item.readyState===ft.DONE)return s;const i=s.read,r=s.cancel;return this.item.responseType="arraybuffer",s.read=()=>i.apply(s).then(o=>{if(!e)e=new Uint8Array(o.value);else{const a=new Uint8Array(e.length+o.value.length);a.set(e),a.set(o.value,e.length),e=a}return this.item.endTime=performance.now(),this.item.duration=this.item.endTime-(this.item.startTime||this.item.endTime),this.item.readyState=o.done?4:3,this.item.statusText=o.done?String(this.item.status):"Loading",this.item.responseSize=e.length,this.item.responseSizeText=$s(this.item.responseSize),o.done&&(this.item.response=ls(this.item.responseType,e)),o}),s.cancel=(...o)=>(this.item.cancelState=2,this.item.statusText="Cancel",this.item.endTime=performance.now(),this.item.duration=this.item.endTime-(this.item.startTime||this.item.endTime),this.item.response=ls(this.item.responseType,e),r.apply(s,o)),s}}}class Zd{constructor(e,n,s,i,r,o){this.ignoredHeaders=e,this.setSessionTokenHeader=n,this.sanitize=s,this.sendMessage=i,this.isServiceUrl=r,this.tokenUrlMatcher=o}apply(e,n,s){const i=s[0],r=s[1];if(!i||typeof i!="string"&&!(i!=null&&i.url)||(i instanceof URL||typeof i=="string"?this.isServiceUrl(String(i)):this.isServiceUrl(String(i.url))))return e.apply(window,s);const a=new pr(this.ignoredHeaders,this.setSessionTokenHeader,this.sanitize);return this.beforeFetch(a,i,r),this.setSessionTokenHeader((l,u)=>{if(!(this.tokenUrlMatcher!==void 0&&!this.tokenUrlMatcher(a.url))){if(s[1]===void 0&&s[0]instanceof Request)return s[0].headers.append(l,u);s[1]||(s[1]={}),s[1].headers===void 0&&(s[1]=Object.assign(Object.assign({},s[1]),{headers:{}})),s[1].headers instanceof Headers?s[1].headers.append(l,u):Array.isArray(s[1].headers)?s[1].headers.push([l,u]):s[1].headers[l]=u}}),e.apply(window,s).then(this.afterFetch(a)).catch(l=>{throw a.endTime=performance.now(),a.duration=a.endTime-(a.startTime||a.endTime),l})}beforeFetch(e,n,s){let i,r="GET",o={};if(typeof n=="string"?(r=(s==null?void 0:s.method)||"GET",i=vr(n),o=(s==null?void 0:s.headers)||{}):(r=n.method||"GET",i=vr(n.url),o=n.headers),e.method=r,e.requestType="fetch",e.requestHeader=o,e.url=i.toString(),e.name=(i.pathname.split("/").pop()||"")+i.search,e.status=0,e.statusText="Pending",e.readyState=1,e.startTime||(e.startTime=performance.now()),Object.prototype.toString.call(o)==="[object Headers]"){e.requestHeader={};for(const[a,l]of o)e.requestHeader[a]=l}else e.requestHeader=o;if(i.search&&i.searchParams){e.getData={};for(const[a,l]of i.searchParams)e.getData[a]=l}s!=null&&s.body&&(e.requestData=gr(s.body))}afterFetch(e){return n=>{e.endTime=performance.now(),e.duration=e.endTime-(e.startTime||e.endTime),e.status=n.status,e.statusText=String(n.status);let s=!1;e.header={};for(const[i,r]of n.headers)e.header[i]=r,s=r.toLowerCase().indexOf("chunked")>-1?!0:s;return s?e.readyState=3:(e.readyState=4,this.handleResponseBody(n.clone(),e).then(i=>{e.responseSize=typeof i=="string"?i.length:i.byteLength,e.responseSizeText=$s(e.responseSize),e.response=ls(e.responseType,i);const r=e.getMessage();r&&this.sendMessage(r)}).catch(i=>{if(i.name!=="AbortError")throw i})),new Proxy(n,new Qd(n,e))}}handleResponseBody(e,n){const s=e.headers.get("content-type");return s&&s.includes("application/json")?(n.responseType="json",e.text()):s&&(s.includes("text/html")||s.includes("text/plain"))?(n.responseType="text",e.text()):(n.responseType="arraybuffer",e.arrayBuffer())}}class $d{static create(e,n,s,i,r,o){return new Proxy(fetch,new Zd(e,n,s,i,r,o))}}class ef{constructor(e,n,s,i,r,o,a){this.ignoredHeaders=n,this.setSessionTokenHeader=s,this.sanitize=i,this.sendMessage=r,this.isServiceUrl=o,this.tokenUrlMatcher=a,this.XMLReq=e,this.XMLReq.onreadystatechange=()=>{this.onReadyStateChange()},this.XMLReq.onabort=()=>{this.onAbort()},this.XMLReq.ontimeout=()=>{this.onTimeout()},this.item=new pr(n,s,i),this.item.requestType="xhr"}get(e,n){switch(n){case"open":return this.getOpen(e);case"send":return this.setSessionTokenHeader((i,r)=>{this.tokenUrlMatcher!==void 0&&!this.tokenUrlMatcher(this.item.url)||e.setRequestHeader(i,r)}),this.getSend(e);case"setRequestHeader":return this.getSetRequestHeader(e);default:const s=Reflect.get(e,n);return typeof s=="function"?s.bind(e):s}}set(e,n,s){switch(n){case"onreadystatechange":return this.setOnReadyStateChange(e,n,s);case"onabort":return this.setOnAbort(e,n,s);case"ontimeout":return this.setOnTimeout(e,n,s)}return Reflect.set(e,n,s)}onReadyStateChange(){if(!(this.item.url&&this.isServiceUrl(this.item.url))&&(this.item.readyState=this.XMLReq.readyState,this.item.responseType=this.XMLReq.responseType,this.item.endTime=performance.now(),this.item.duration=this.item.endTime-this.item.startTime,this.updateItemByReadyState(),setTimeout(()=>{this.item.response=ls(this.item.responseType,this.item.response)},0),this.XMLReq.readyState===ft.DONE)){const e=this.item.getMessage();e&&this.sendMessage(e)}}onAbort(){this.item.cancelState=1,this.item.statusText="Abort";const e=this.item.getMessage();e&&this.sendMessage(e)}onTimeout(){this.item.cancelState=3,this.item.statusText="Timeout";const e=this.item.getMessage();e&&this.sendMessage(e)}getOpen(e){const n=Reflect.get(e,"open");return(...s)=>{var i,r,o;const a=s[0],l=s[1];return this.item.method=a?a.toUpperCase():"GET",this.item.url=((i=l.toString)===null||i===void 0?void 0:i.call(l))||"",this.item.name=(o=(r=this.item.url)===null||r===void 0?void 0:r.replace(new RegExp("/*$"),"").split("/").pop())!==null&&o!==void 0?o:"",this.item.getData=Gd(this.item.url,{}),n.apply(e,s)}}getSend(e){const n=Reflect.get(e,"send");return(...s)=>{const i=s[0];return this.item.requestData=gr(i),n.apply(e,s)}}getSetRequestHeader(e){const n=Reflect.get(e,"setRequestHeader");return(...s)=>(this.item.requestHeader||(this.item.requestHeader={}),this.item.requestHeader[s[0]]=s[1],n.apply(e,s))}setOnReadyStateChange(e,n,s){return Reflect.set(e,n,(...i)=>{this.onReadyStateChange(),s==null||s.apply(e,i)})}setOnAbort(e,n,s){return Reflect.set(e,n,(...i)=>{this.onAbort(),s.apply(e,i)})}setOnTimeout(e,n,s){return Reflect.set(e,n,(...i)=>{this.onTimeout(),s.apply(e,i)})}updateItemByReadyState(){switch(this.XMLReq.readyState){case ft.UNSENT:case ft.OPENED:this.item.status=ft.UNSENT,this.item.statusText="Pending",this.item.startTime||(this.item.startTime=performance.now());break;case ft.HEADERS_RECEIVED:this.item.status=this.XMLReq.status,this.item.statusText="Loading",this.item.header={};const e=this.XMLReq.getAllResponseHeaders()||"",n=e.split(`
|
|
19
|
-
`);for(let s=0;s<n.length;s++){const i=n[s];if(!i)continue;const r=i.split(": "),o=r[0];this.item.header[o]=r.slice(1).join(": ")}break;case ft.LOADING:this.item.status=this.XMLReq.status,this.item.statusText="Loading",this.XMLReq.response&&this.XMLReq.response.length&&(this.item.responseSize=this.XMLReq.response.length,this.item.responseSizeText=$s(this.item.responseSize));break;case ft.DONE:this.item.status=this.XMLReq.status||this.item.status||0,this.item.statusText=String(this.item.status),this.item.endTime=performance.now(),this.item.duration=this.item.endTime-(this.item.startTime||this.item.endTime),this.item.response=this.XMLReq.response,this.XMLReq.response&&this.XMLReq.response.length&&(this.item.responseSize=this.XMLReq.response.length,this.item.responseSizeText=$s(this.item.responseSize));break;default:this.item.status=this.XMLReq.status,this.item.statusText="Unknown";break}}}class tf{static create(e,n,s,i,r,o){return new Proxy(XMLHttpRequest,{construct(a){const l=new a;return new Proxy(l,new ef(l,e,n,s,i,r,o))}})}}const rl=t=>{const e=`Openreplay: Can't find ${t} in global context.`;console.warn(e)};function nf(t,e,n,s,i,r,o={xhr:!0,fetch:!0,beacon:!0},a){var l;if(t&&(o.xhr&&(t.XMLHttpRequest?t.XMLHttpRequest=tf.create(e,n,s,i,r,a):rl("XMLHttpRequest")),o.fetch&&(t.fetch?t.fetch=$d.create(e,n,s,i,r,a):rl("fetch")),o.beacon&&!((l=t.navigator)===null||l===void 0)&&l.sendBeacon)){const u=t.navigator.sendBeacon;t.navigator.sendBeacon=Jd.create(u,e,n,s,i,r)}}function wr(t){return t.__or_req_data__||(t.__or_req_data__={body:void 0,headers:{}}),t.__or_req_data__}function ol(t){return typeof t=="string"?t.toUpperCase():"GET"}function sf(t,e={}){const n=Object.assign({failuresOnly:!1,ignoreHeaders:["cookie","set-cookie","authorization"],capturePayload:!1,sessionTokenHeader:!1,captureInIframes:!0,axiosInstances:void 0,useProxy:!0},e);n.useProxy===!1&&t.debug.warn("Network module is migrating to proxy api, to gradually migrate and test it set useProxy to true");const s=n.ignoreHeaders,i=Array.isArray(s)?c=>s.includes(c):()=>s,r=n.sessionTokenHeader===!0?"X-OpenReplay-SessionToken":n.sessionTokenHeader;function o(c){if(r){const h=t.getSessionToken();h&&t.safe(c)(r,h)}}function a(c){if(n.capturePayload||(delete c.request.body,delete c.response.body),n.sanitizer){const h=c.response.body;if(typeof h=="string")try{c.response.body=JSON.parse(h)}catch{}return n.sanitizer(c)}return c}function l(c){if(c&&typeof c.body!="string")try{c.body=JSON.stringify(c.body)}catch{c.body="<unable to stringify>",t.notify.warn("Openreplay fetch couldn't stringify body:",c.body)}return JSON.stringify(c)}const u=c=>{if(n.useProxy)return nf(c,n.ignoreHeaders,o,a,I=>{t.send(Ws(I.requestType,I.method,I.url,I.request,I.response,I.status,I.startTime+On(),I.duration,I.responseSize))},I=>t.isServiceURL(I),{xhr:!0,fetch:!0,beacon:!0},n.tokenUrlMatcher);const h=c.fetch.bind(c),d=(I,g={})=>{if(!(typeof I=="string"||I instanceof URL)||t.isServiceURL(String(I)))return h(I,g);o(function(_,k){g.headers===void 0&&(g.headers={}),g.headers instanceof Headers?g.headers.append(_,k):Array.isArray(g.headers)?g.headers.push([_,k]):g.headers[_]=k});const b=performance.now();return h(I,g).then(_=>{const k=performance.now()-b;if(n.failuresOnly&&_.status<400)return _;const y=_.clone();return y.text().then(E=>{const P={},j={};if(s!==!0){const U=([B,Y])=>{i(B)||(P[B]=Y)};g.headers instanceof Headers?g.headers.forEach((B,Y)=>U([Y,B])):Array.isArray(g.headers)?g.headers.forEach(U):typeof g.headers=="object"&&Object.entries(g.headers).forEach(U),y.headers.forEach((B,Y)=>{i(Y)||(j[Y]=B)})}const L=ol(g.method),J=a({url:String(I),method:L,status:y.status,request:{headers:P,body:g.body||null},response:{headers:j,body:E}});J&&t.send(Ws("fetch",L,String(J.url),l(J.request),l(J.response),y.status,b+On(),k,0))}).catch(E=>t.debug.error("Could not process Fetch response:",E)),_})};c.fetch=d;const p=c.XMLHttpRequest.prototype.open,f=c.XMLHttpRequest.prototype.setRequestHeader,m=c.XMLHttpRequest.prototype.send;function S(I,g){const b=this;o((k,y)=>b.setRequestHeader(k,y));let _=0;return b.addEventListener("loadstart",k=>{_=k.timeStamp}),b.addEventListener("load",t.safe(k=>{const{headers:y,body:E}=wr(b),P=_>0?k.timeStamp-_:0,L=(b.getAllResponseHeaders()||"").trim().split(/[\r\n]+/),J={};L.forEach(function(Y){const ee=Y.split(": "),R=ee.shift();i(R)||(J[R]=ee.join(": "))});const U=ol(I),B=a({url:String(g),method:U,status:b.status,request:{headers:y,body:E||null},response:{headers:J,body:b.response}});B&&t.send(Ws("xhr",U,String(B.url),l(B.request),l(B.response),b.status,_+On(),P,0))})),p.apply(this,arguments)}function T(I){const g=wr(this);return g.body=I,m.apply(this,arguments)}function x(I,g){if(!i(I)){const b=wr(this);b.headers[I]=g}return f.apply(this,arguments)}n.axiosInstances||(c.XMLHttpRequest.prototype.open=S,c.XMLHttpRequest.prototype.send=T,c.XMLHttpRequest.prototype.setRequestHeader=x)};u(window),n.axiosInstances&&n.axiosInstances.forEach(c=>{Hd(t,c,n,a,l)}),n.captureInIframes&&t.observer.attachContextCallback(t.safe(u))}function rf(t){t.attachEventListener(document,"selectionchange",()=>{const e=document.getSelection();if(e!==null&&!e.isCollapsed){const n=t.nodes.getID(e.anchorNode),s=t.nodes.getID(e.focusNode),i=e.toString().replace(/\s+/g," ");n&&s&&t.send(ya(n,s,i))}else t.send(ya(-1,-1,""))})}function of(t){function e(){document.hidden||(t.debug.log("Openreplay: tab change to"+t.session.getTabId()),t.send(zs(t.session.getTabId())))}t.attachEventListener(window,"focus",e,!1,!1)}const ei="/installation/javascript-sdk";function af(t){if(t==null)return console.error(`OpenReplay: invalid options argument type. Please, check documentation on ${Fs}${ei}`),!1;if(typeof t.projectKey!="string")if(typeof t.projectKey!="number"){if(typeof t.projectID!="number")return console.error(`OpenReplay: projectKey is missing or wrong type (string is expected). Please, check ${Fs}${ei} for more information.`),!1;t.projectKey=t.projectID.toString(),qt("`projectID` option","`projectKey` option",ei)}else console.warn("OpenReplay: projectKey is expected to have a string type."),t.projectKey=t.projectKey.toString();return t.sessionToken!=null&&qt("`sessionToken` option","`sessionHash` start() option","/"),!0}const lf=()=>{try{return!!window.top}catch{return!1}};class cf{constructor(e){var a,l;if(this.options=e,this.app=null,this.crossdomainMode=!1,this.checkDoNotTrack=()=>this.options.respectDoNotTrack&&(navigator.doNotTrack=="1"||window.doNotTrack=="1"),this.signalStartIssue=(u,c)=>{const h=this.checkDoNotTrack(),d=new XMLHttpRequest,p=this.options.ingestPoint||Fa;d.open("POST",p+"/v1/web/not-started"),d.send(JSON.stringify({trackerVersion:"14.0.14",projectKey:this.options.projectKey,doNotTrack:h,reason:c.length?`missing api: ${c.join(",")}`:u}))},this.restartCanvasTracking=()=>{this.app!==null&&this.app.restartCanvasTracking()},this.handleError=(u,c={})=>{if(this.app!==null){if(u instanceof Error){const h=Ks(u,[],c);this.app.send(h)}else if(u instanceof ErrorEvent||"PromiseRejectionEvent"in window&&u instanceof PromiseRejectionEvent){const h=qa(u,void 0,c);h!=null&&this.app.send(h)}}},this.crossdomainMode=!!(la()&&((a=e.crossdomain)!=null&&a.enabled)),!ht||!af(e)){console.error("OpenReplay: tracker called in a non-browser environment or with invalid options");return}if(window.__OPENREPLAY__||!this.crossdomainMode&&la()&&lf()&&((l=window.top)!=null&&l.__OPENREPLAY__)){console.error("OpenReplay: one tracker instance has been initialised already");return}if(!e.__DISABLE_SECURE_MODE&&location.protocol!=="https:"){console.error("OpenReplay: Your website must be publicly accessible and running on SSL in order for OpenReplay to properly capture and replay the user session. You can disable this check by setting `__DISABLE_SECURE_MODE` option to `true` if you are testing in localhost. Keep in mind, that asset files on a local machine are not available to the outside world. This might affect tracking if you use css files.");return}const n=this.checkDoNotTrack(),s=[],i=["Map","Set","MutationObserver","performance","timing","startsWith","Blob","Worker"];if(n)s.push("doNotTrack");else for(const u of i)if(u==="timing"){if("performance"in window&&!(u in performance)){s.push(u);break}}else if(u==="startsWith"){if(!(u in String.prototype)){s.push(u);break}}else if(!(u in window)){s.push(u);break}if(s.length>0){const u=s.join(",");console.error(`OpenReplay: browser doesn't support API required for tracking or doNotTrack is set to 1. Reason: ${u}`),this.signalStartIssue("missing_api",s);return}const r=new Kh(e.projectKey,e.sessionToken,e,this.signalStartIssue,this.crossdomainMode);this.app=r,this.crossdomainMode||(Bd(r),Xh(r),nh(r,e),of(r)),Od(r,e.mouse),Ld(r,this.crossdomainMode),zd(r),Wd(r),Zh(r,e),dd(r,e),gd(r),yd(r,e),Pd(r,e),jd(r),Ud(r),sf(r,e.network),rf(r),window.__OPENREPLAY__=this,e.flags&&e.flags.onFlagsLoad&&this.onFlagsLoad(e.flags.onFlagsLoad);const o=window.open;(e.autoResetOnWindowOpen||e.resetTabOnWindowOpen)&&(r.attachStartCallback(()=>{const u=r.getTabId(),c=r.sessionStorage??window.sessionStorage;window.open=function(...h){return e.autoResetOnWindowOpen&&r.resetNextPageSession(!0),e.resetTabOnWindowOpen&&c.removeItem(e.session_tabid_key||"__openreplay_tabid"),r.resetNextPageSession(!1),c.setItem(e.session_tabid_key||"__openreplay_tabid",u),o.call(window,...h)}}),r.attachStopCallback(()=>{window.open=o}))}isFlagEnabled(e){return this.featureFlags.isFlagEnabled(e)}onFlagsLoad(e){var n;(n=this.app)==null||n.featureFlags.onFlagsLoad(e)}clearPersistFlags(){var e;(e=this.app)==null||e.featureFlags.clearPersistFlags()}reloadFlags(){var e;return(e=this.app)==null?void 0:e.featureFlags.reloadFlags()}getFeatureFlag(e){var n;return(n=this.app)==null?void 0:n.featureFlags.getFeatureFlag(e)}getAllFeatureFlags(){var e;return(e=this.app)==null?void 0:e.featureFlags.flags}use(e){return e(this.app,this.options)}isActive(){return this.app===null?!1:this.app.active()}trackWs(e){if(this.app!==null)return this.app.trackWs(e)}start(e){return this.browserEnvCheck()?this.app===null?Promise.reject("Browser doesn't support required api, or doNotTrack is active."):this.app.start(e):Promise.reject("Trying to start not in browser.")}browserEnvCheck(){return ht?!0:(console.error(`OpenReplay: you are trying to start Tracker on a node.js environment. If you want to use OpenReplay with SSR, please, use componentDidMount or useEffect API for placing the \`tracker.start()\` line. Check documentation on ${Fs}${ei}`),!1)}coldStart(e,n){if(this.browserEnvCheck()){if(this.app===null)return Promise.reject("Tracker not initialized");this.app.coldStart(e,n)}else return Promise.reject("Trying to start not in browser.")}startOfflineRecording(e,n){return this.browserEnvCheck()?this.app===null?Promise.reject("Tracker not initialized"):this.app.offlineRecording(e,n):Promise.reject("Trying to start not in browser.")}uploadOfflineRecording(){if(this.app!==null)return this.app.uploadOfflineRecording()}stop(){if(this.app!==null)return this.app.stop(),this.app.session.getSessionHash()}forceFlushBatch(){this.app!==null&&this.app.forceFlushBatch()}getSessionToken(){return this.app===null?null:this.app.getSessionToken()}getSessionInfo(){return this.app===null?null:this.app.session.getInfo()}getSessionID(){return this.app===null?null:this.app.getSessionID()}getTabId(){return this.app===null?null:this.app.getTabId()}getUxId(){return this.app===null?null:this.app.getUxtId()}sessionID(){return qt("'sessionID' method","'getSessionID' method","/"),this.getSessionID()}getSessionURL(e){if(this.app!==null)return this.app.getSessionURL(e)}setUserID(e){typeof e=="string"&&this.app!==null&&this.app.session.setUserID(e)}userID(e){qt("'userID' method","'setUserID' method","/"),this.setUserID(e)}setUserAnonymousID(e){typeof e=="string"&&this.app!==null&&this.app.send(ju(e))}userAnonymousID(e){qt("'userAnonymousID' method","'setUserAnonymousID' method","/"),this.setUserAnonymousID(e)}setMetadata(e,n){typeof e=="string"&&typeof n=="string"&&this.app!==null&&this.app.session.setMetadata(e,n)}metadata(e,n){qt("'metadata' method","'setMetadata' method","/"),this.setMetadata(e,n)}event(e,n=null,s=!1){if(typeof e=="string"&&this.app!==null){if(s)return this.issue(e,n);try{n=JSON.stringify(n)}catch{return}this.app.send(Wu(e,n))}}issue(e,n=null){if(typeof e=="string"&&this.app!==null){try{n=JSON.stringify(n)}catch{return}this.app.send(Ku(e,n))}}}function uf(t){return{id:String(t.ID),appellation:t.Appellation||null,country:t.Country||null,grape:t.Grape,image:t.Image,price:Number(t.Price),producer:t.Producer||null,region:t.Region,score:t.Score?Number(t.Score):null,shortDescription:t["Short Description"]||null,store:t.Store,storeId:t.Store_id||null,tags:Array.isArray(t.Tags)?t.Tags.map(String):[],title:t.Title,type:t.Type,url:t.Url||null,vintage:t.Vintage?Number(t.Vintage):null,pairingRecommendation:t.pairing_recommendation||null,total:t.Total?Number(t.Total):null,itemId:t.item_id||null,isPromote:t.is_promote?!!t.is_promote:null,stock:t.stock?Number(t.stock):null}}function hf(t){return{id:String(t.id),title:String(t.title),description:String(t.description),region:String(t.region),price:Number(t.price),grape:String(t.grape),appellation:t.appellation?String(t.appellation):null,url:t.url?String(t.url):null,store:String(t.store),storeId:t.storeId?String(t.storeId):null,image:String(t.image),country:t.country?String(t.country):null,vintage:t.vintage?Number(t.vintage):null,tags:Array.isArray(t.tags)?t.tags.map(String):[],score:t.score?Number(t.score):null,total:t.total?Number(t.total):null,isPromote:t.is_promote?!!t.is_promote:null,stock:t.stock?Number(t.stock):null,distance:Number(t.distance),reason:String(t.reason),type:String(t.type)}}class df{constructor(e,n="1"){q(this,Vn,"https://api.wineater.com/");q(this,pn);q(this,Gn);W(this,pn,e),W(this,Gn,n)}async getInstantRecommendations(){try{const e=w(this,Gn)==="2"?"dish/recommendations/instant/v2":"dish/recommendations/instant",n=await fetch(`${w(this,Vn)}${e}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${w(this,pn)}`}}),s=await n.json();if(!n.ok)throw new Error(`API call failed with status ${n.status}: ${s.message||"No additional error information"}`);return s.filter(Boolean).map(uf)}catch(e){throw new Error(`Error in getInstantRecommendations: ${e.message}`)}}async getWineRecommendationsSearch(e){try{const n=w(this,Gn)==="2"?"dish/recommendations/search/v2":"dish/recommendations/search",s=await fetch(`${w(this,Vn)}${n}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${w(this,pn)}`},body:JSON.stringify({text:e})}),i=await s.json();if(!s.ok)throw new Error(`API call failed with status ${s.status}: ${i.message||"No additional error information"}`);return i.filter(Boolean).map(hf)}catch(n){throw new Error(`Error in getWineRecommendations: ${n.message}`)}}async getStoreConfig(){try{const e=await fetch(`${w(this,Vn)}stores/store`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${w(this,pn)}`}});if(!e.ok)throw new Error(`HTTP error! Status: ${e.status}`);return await e.json()}catch(e){throw console.error("Error fetching store configuration:",e),e}}}Vn=new WeakMap,pn=new WeakMap,Gn=new WeakMap;const ff=((fl=window==null?void 0:window.wineaterData)==null?void 0:fl.CLIENT_TOKEN)||"HeUw6IXuhvz6tRuXdPEGEbj3SGQ3Q2YtEc1Z8jd41Kg9LtyPb4Epu0to31SYIadG",pf=String(((pl=window==null?void 0:window.wineaterData)==null?void 0:pl.apiVersion)||"1"),br=new df(ff,pf),pt={WIDGET_INITIALIZED:"widget_initialized",WIDGET_LOADED:"widget_loaded",SEARCH_PERFORMED:"search_performed",SEARCH_RESULTS_DISPLAYED:"search_results_displayed",NO_RESULTS_FOUND:"no_results_found",WINE_CARD_HOVER:"wine_card_hover",WINE_CARD_CLICK:"wine_card_click",WINE_DETAILS_VIEWED:"wine_details_viewed",WINE_DETAILS_CLOSED:"wine_details_closed",BUY_BUTTON_CLICKED:"buy_button_clicked",FILTER_APPLIED:"filter_applied",LANGUAGE_CHANGED:"language_changed",ERROR_OCCURRED:"error_occurred",MOBILE_VIEW_ACTIVATED:"mobile_view_activated"},gf={fr:{lang:"fr",welcomeMessage:"Quel plat allez-vous déguster ? Décrivez-le-moi et je vous proposerai le vin qui l'accompagnera parfaitement.",noResultsFound:"Aucun résultat trouvé.",somethingWentWrong:"Désolé, quelque chose a mal tourné.",chatButton1:"Trouvez l'accord parfait",chatButton2:"Associez le vin",chatButton3:"Obtenez des conseils",chatTitle:"Accord Mets & Vins 🍷",chatSubtitle:"Décrivez votre plat et obtenez une recommandation en 30 secondes",inputPlaceholder:"ex., Salade de thon",sendButton:"Accorder",poweredBy:"Propulsé par",price:"Prix",region:"Région",type:"Type",reason:"Suggestion",moreInfo:"Plus d'infos",winePairingIntro:"Pour ce vin, voici quelques suggestions de plats :",askForDinner:"Que voulez-vous manger ce soir?",clearChatButton:"Effacer le chat",widgetTitle:"TROUVEZ VOTRE VIN PARFAIT",widgetSubtitle:"Partagez tout ce que vous avez en tête—votre repas, humeur, budget ou occasion—et notre sommelier IA vous recommandera le vin parfait en quelques secondes",searchPlaceholder:"Entrez un mot-clé ou une description","wineDetails.reason":"Raison","wineDetails.price":"Prix","wineDetails.region":"Région","wineDetails.type":"Type","wineDetails.moreInfo":"Plus d'infos","wineDetails.code":"Code","wineDetails.buy":"Acheter",searchButton:"Rechercher",priceRange:"Gamme de prix",wineColor:"Couleur du vin",intensity:"Intensité",red:"Rouge",white:"Blanc",rose:"Rosé",light:"Léger",medium:"Moyen",full:"Puissant",barTitle:"Sélection du bar",barSubtitle:"Choisissez vos plats ci-dessous et cliquez sur «Envoyer»",barSendButton:"Envoyer",barResetButton:"Réinitialiser",barName:"Nom du bar",barNotesPlaceholder:"Entrez vos souhaits ici...",placeholderSuggestions:["Vin pour les pâtes","Parfait avec du poisson","Recommandé pour une soirée"],headerLine1:"Partagez tout ce qui vous passe par la tête —",headerLine2:"— et obtenez des recommandations de vin parfait en quelques secondes",headerMeal:"repas",headerMood:"humeur",headerBudget:"budget",headerOccasion:"occasion",headerOr:"ou",errorMessage:"Une erreur est survenue. Veuillez réessayer plus tard.",noResultsMessage:"Aucun résultat trouvé pour votre recherche. Veuillez essayer une autre requête.",ai_sommelier:"AI sommelier"},es:{lang:"es",welcomeMessage:"¿Qué vas a comer? Cuéntame tu plato y te recomendaré el maridaje perfecto.",noResultsFound:"No se encontraron resultados.",somethingWentWrong:"Lo sentimos, algo salió mal.",chatButton1:"Encuentra tu maridaje",chatButton2:"Combina vino ya",chatButton3:"Recibe asesoría ahora",chatTitle:"Maridaje de Vinos 🍷",chatSubtitle:"Describe tu comida y obtén una recomendación en 30 segundos",inputPlaceholder:"ej., Ensalada de atún",sendButton:"Combinar",poweredBy:"Desarrollado por",price:"Precio",region:"Región",type:"Tipo",reason:"Sugerencia",moreInfo:"Más info",winePairingIntro:"Para este vino, aquí tienes algunas sugerencias de platos:",askForDinner:"¿Qué te gustaría cenar?",clearChatButton:"Limpiar el chat",widgetTitle:"ENCUENTRA TU VINO PERFECTO",widgetSubtitle:"Comparte cualquier cosa que tengas en mente—tu comida, estado de ánimo, presupuesto o evento—y nuestro sommelier de IA te recomendará el vino perfecto en segundos",searchPlaceholder:"Escribe una palabra clave o descripción","wineDetails.reason":"Razón","wineDetails.price":"Precio","wineDetails.region":"Región","wineDetails.type":"Tipo","wineDetails.code":"Código","wineDetails.moreInfo":"Más información","wineDetails.buy":"Comprar",searchButton:"Buscar",priceRange:"Rango de precios",wineColor:"Color del vino",intensity:"Intensidad",red:"Tinto",white:"Blanco",rose:"Rosado",light:"Ligero",medium:"Medio",full:"Intenso",barTitle:"Platos de Bar",barSubtitle:"Selecciona de la lista y presiona «Enviar»",barSendButton:"Enviar",barResetButton:"Reiniciar",barName:"Nombre del bar",barNotesPlaceholder:"Agrega tus comentarios aquí...",placeholderSuggestions:["Vino para pasta","Perfecto con pescado","Recomendado para una fiesta"],headerLine1:"Comparte cualquier cosa que tengas en mente —",headerLine2:"— y obtén recomendaciones del vino perfecto en cuestión de segundos",headerMeal:"comida",headerMood:"estado de ánimo",headerBudget:"presupuesto",headerOccasion:"ocasión",headerOr:"o",errorMessage:"Algo salió mal. Por favor, inténtalo de nuevo más tarde.",noResultsMessage:"No se encontraron resultados para tu búsqueda. Por favor, intenta con otra consulta.",ai_sommelier:"AI sommelier"},en:{lang:"en",welcomeMessage:"What are you planning to eat? Share your dish and I'll recommend the perfect wine pairing for your meal.",noResultsFound:"No results found.",somethingWentWrong:"Sorry, something went wrong.",chatButton1:"Find Your Pairing",chatButton2:"Pair Wine Now",chatButton3:"Get Wine Advice",chatTitle:"Wine Pairing Assistant 🍷",chatSubtitle:"Describe your meal and get a recommendation in 30 seconds",inputPlaceholder:"e.g., Tuna salad",sendButton:"Match",poweredBy:"Powered by",price:"Price",region:"Region",type:"Type",reason:"Suggestion",moreInfo:"More info",winePairingIntro:"For this wine, here are some suggested dishes:",askForDinner:"What would you like to have for dinner?",clearChatButton:"Clear Chat",widgetTitle:"FIND YOUR PERFECT WINE",widgetSubtitle:"Share anything on your mind—your meal, mood, budget, or occasion—and our AI sommelier will recommend the perfect wine in seconds",searchPlaceholder:"Enter a keyword or description","wineDetails.price":"Price","wineDetails.region":"Region","wineDetails.type":"Type","wineDetails.moreInfo":"More info","wineDetails.reason":"Reason","wineDetails.code":"Code","wineDetails.buy":"Buy",searchButton:"Search",priceRange:"Price Range",wineColor:"Wine Color",intensity:"Intensity",red:"Red",white:"White",rose:"Rosé",light:"Light",medium:"Medium",full:"Full",barTitle:"Bar Dishes",barSubtitle:"Select dishes below and click 'Send'",barSendButton:"Send",barResetButton:"Reset",barName:"Bar Name",barNotesPlaceholder:"Add your wishes here...",placeholderSuggestions:["Wine for pasta","Perfect with fish","Recommended for a party"],headerLine1:"Share anything on your mind —",headerLine2:"— and get recommendations of the perfect wine in seconds",headerMeal:"meal",headerMood:"mood",headerBudget:"budget",headerOccasion:"occasion",headerOr:"or",errorMessage:"Something went wrong. Please try again later.",noResultsMessage:"No results found for your search. Please try a different query.",ai_sommelier:"AI sommelier"},sr:{lang:"sr",welcomeMessage:"Šta planirate da jedete? Podelite svoje jelo i preporučiću vam savršeno vino uz obrok.",noResultsFound:"Nema rezultata.",somethingWentWrong:"Izvinite, nešto je pošlo po zlu.",chatButton1:"Pronađi vino",chatButton2:"Upari vino sada",chatButton3:"Zatraži preporuku",chatTitle:"Asistent za uparivanje vina 🍷",chatSubtitle:"Opišite svoj obrok i dobijte preporuku za 30 sekundi",inputPlaceholder:"npr. Tuna salata",sendButton:"Upari",poweredBy:"Pokreće",price:"Cena",region:"Regija",type:"Tip",reason:"Preporuka",moreInfo:"Više informacija",winePairingIntro:"Za ovo vino, preporučuju se sledeća jela:",askForDinner:"Šta biste želeli za večeru?",clearChatButton:"Obriši razgovor",widgetTitle:"PRONAĐITE SAVRŠENO VINO",widgetSubtitle:"Podelite bilo šta — obrok, raspoloženje, budžet ili priliku — i naš AI somelijer će vam za par sekundi preporučiti vino",searchPlaceholder:"Unesite ključnu reč ili opis","wineDetails.price":"Cena","wineDetails.region":"Regija","wineDetails.type":"Tip","wineDetails.moreInfo":"Više informacija","wineDetails.reason":"Razlog","wineDetails.code":"Šifra","wineDetails.buy":"Kupi",searchButton:"Pretraga",priceRange:"Cenovni raspon",wineColor:"Boja vina",intensity:"Intenzitet",red:"Crveno",white:"Belo",rose:"Roze",light:"Lako",medium:"Srednje",full:"Puno",barTitle:"Jela iz bara",barSubtitle:"Izaberite jela ispod i kliknite 'Pošalji'",barSendButton:"Pošalji",barResetButton:"Resetuj",barName:"Naziv bara",barNotesPlaceholder:"Dodajte svoje želje ovde...",placeholderSuggestions:["Vino uz pastu","Savršeno uz ribu","Preporuka za žurku"],headerLine1:"Podelite bilo šta što vam je na umu —",headerLine2:"— i dobijte preporuke za savršeno vino za par sekundi",headerMeal:"obrok",headerMood:"raspoloženje",headerBudget:"budžet",headerOccasion:"prilika",headerOr:"ili",errorMessage:"Nešto je pošlo po zlu. Molimo pokušajte ponovo kasnije.",noResultsMessage:"Nema rezultata za vašu pretragu. Molimo pokušajte sa drugačijim upitom.",ai_sommelier:"AI sommelier"},de:{lang:"de",welcomeMessage:"Was möchten Sie essen? Beschreiben Sie Ihr Gericht und ich empfehle Ihnen den perfekten Wein dazu.",noResultsFound:"Keine Ergebnisse gefunden.",somethingWentWrong:"Entschuldigung, etwas ist schief gelaufen.",chatButton1:"Finde Dein Pairing",chatButton2:"Wein jetzt wählen",chatButton3:"Erhalte Weinberatung",chatTitle:"Wein & Speisen 🍷",chatSubtitle:"Beschreiben Sie Ihr Gericht und erhalten Sie in 30 Sekunden eine Empfehlung",inputPlaceholder:"z.B., Thunfischsalat",sendButton:"Kombinieren",poweredBy:"Unterstützt von",price:"Preis",region:"Region",type:"Typ",reason:"Anregung",moreInfo:"Mehr Info",winePairingIntro:"Für diesen Wein gibt es folgende Essensvorschläge:",askForDinner:"Was möchten Sie zum Abendessen essen?",clearChatButton:"Chat löschen",widgetTitle:"FINDEN SIE IHREN PERFEKTEN WEIN",widgetSubtitle:"Teilen Sie alles, was Ihnen in den Sinn kommt—Ihre Mahlzeit, Stimmung, Ihr Budget oder Anlass—und unser KI-Sommelier empfiehlt Ihnen in Sekunden den perfekten Wein",placeholderSuggestions:["Wein für Pasta","Perfekt zu Fisch","Empfohlen für eine Party"],searchPlaceholder:"Geben Sie ein Stichwort oder eine Beschreibung ein","wineDetails.price":"Preis","wineDetails.region":"Region","wineDetails.type":"Typ","wineDetails.moreInfo":"Mehr Info","wineDetails.reason":"Grund","wineDetails.code":"Code","wineDetails.buy":"Kaufen",searchButton:"Suche",priceRange:"Preisspanne",wineColor:"Weinfarbe",intensity:"Intensität",red:"Rot",white:"Weiß",rose:"Rosé",light:"Leicht",medium:"Mittel",full:"Voll",barTitle:"Bar-Auswahl",barSubtitle:"Wählen Sie Ihre Gerichte und klicken Sie auf 'Senden'",barSendButton:"Senden",barResetButton:"Zurücksetzen",barName:"Name der Bar",headerLine1:"Teilen Sie alles, was Ihnen durch den Kopf geht —",headerLine2:"— und erhalten Sie in Sekundenschnelle Empfehlungen für den perfekten Wein",headerMeal:"Mahlzeit",headerMood:"Stimmung",headerBudget:"Budget",headerOccasion:"Anlass",headerOr:"oder",errorMessage:"Etwas ist schief gelaufen. Bitte versuchen Sie es später erneut.",noResultsMessage:"Keine Ergebnisse für Ihre Suche gefunden. Bitte versuchen Sie es mit einer anderen Anfrage.",ai_sommelier:"AI sommelier"},ukr:{lang:"ukr",welcomeMessage:"Що ви збираєтесь їсти? Опишіть свою страву, і я порекомендую вам ідеальне вино.",noResultsFound:"Результатів не знайдено.",somethingWentWrong:"Вибачте, щось пішло не так.",chatButton1:"Знайти ідеальне поєднання",chatButton2:"Підібрати вино",chatButton3:"Отримати пораду",chatTitle:"Сомельє-помічник 🍷",chatSubtitle:"Опишіть свою страву і отримайте рекомендацію за 30 секунд",inputPlaceholder:"наприклад, Тунець із салатом",sendButton:"Підібрати",poweredBy:"Розроблено на основі",price:"Ціна",region:"Регіон",type:"Тип",reason:"Рекомендація",moreInfo:"Докладніше",winePairingIntro:"До цього вина підходять такі страви:",askForDinner:"Що ви хочете на вечерю?",clearChatButton:"Очистити чат",widgetTitle:"ЗНАЙДІТЬ ІДЕАЛЬНЕ ВИНО",widgetSubtitle:"Поділіться тим, що у вас на думці—їжа, настрій, бюджет чи подія—і наш AI-сомельє порекомендує вам ідеальне вино за секунди",searchPlaceholder:"Введіть ключове слово або опис","wineDetails.reason":"Причина","wineDetails.price":"Ціна","wineDetails.region":"Регіон","wineDetails.type":"Тип","wineDetails.moreInfo":"Докладніше","wineDetails.code":"Код","wineDetails.buy":"Купити",searchButton:"Пошук",priceRange:"Діапазон цін",wineColor:"Колір вина",intensity:"Інтенсивність",red:"Червоне",white:"Біле",rose:"Рожеве",light:"Легке",medium:"Середнє",full:"Повне",barTitle:"Закуски до вина",barSubtitle:"Виберіть страви нижче та натисніть «Надіслати»",barSendButton:"Надіслати",barResetButton:"Скинути",barName:"Назва бару",barNotesPlaceholder:"Додайте ваші побажання тут...",placeholderSuggestions:["Вино до пасти","Ідеально до риби","Рекомендуємо для вечірки"],headerLine1:"Поділіться будь-якими вашими думками —",headerLine2:"— і отримайте рекомендації щодо ідеального вина за секунди",headerMeal:"страва",headerMood:"настрій",headerBudget:"бюджет",headerOccasion:"подія",headerOr:"або",errorMessage:"Щось пішло не так. Будь ласка, спробуйте пізніше.",noResultsMessage:"За вашим запитом не знайдено результатів. Спробуйте інший запит.",ai_sommelier:"AI sommelier"},ru:{lang:"ru",welcomeMessage:"Что вы планируете поесть? Напишите ваше блюдо, и я подберу идеальное вино к нему.",noResultsFound:"Результаты не найдены.",somethingWentWrong:"Извините, что-то пошло не так.",chatButton1:"Найти сочетание",chatButton2:"Подобрать вино",chatButton3:"Получить совет",chatTitle:"Ассистент по подбору вина 🍷",chatSubtitle:"Опишите ваше блюдо и получите рекомендацию за 30 секунд",inputPlaceholder:"например, Тунец с салатом",sendButton:"Подобрать",poweredBy:"Powered by",price:"Цена",region:"Регион",type:"Тип",reason:"Рекомендация",moreInfo:"Подробнее",winePairingIntro:"К этому вину подходят следующие блюда:",askForDinner:"Что бы вы хотели на ужин?",clearChatButton:"Очистить чат",widgetTitle:"НАЙДИТЬ ИДЕАЛЬНОЕ ВИНО",widgetSubtitle:"Поделитесь вашими предпочтениями — блюдом, настроением, бюджетом или случаем — и наш AI-сомелье подберёт идеальное вино за секунды",searchPlaceholder:"Введите ключевое слово или описание","wineDetails.price":"Цена","wineDetails.region":"Регион","wineDetails.type":"Тип","wineDetails.moreInfo":"Подробнее","wineDetails.reason":"Причина","wineDetails.code":"Код","wineDetails.buy":"Купить",searchButton:"Поиск",priceRange:"Диапазон цен",wineColor:"Цвет вина",intensity:"Интенсивность",red:"Красное",white:"Белое",rose:"Розовое",light:"Лёгкое",medium:"Среднее",full:"Полное",barTitle:"Закуски к вину",barSubtitle:"Выберите блюда ниже и нажмите 'Отправить'",barSendButton:"Отправить",barResetButton:"Сбросить",barName:"Название бара",barNotesPlaceholder:"Добавьте ваши пожелания здесь...",placeholderSuggestions:["Вино для пасты","Идеально к рыбе","Рекомендуем для вечеринки"],headerLine1:"Поделитесь любыми вашими мыслями —",headerLine2:"— и получите рекомендации по идеальному вину за считанные секунды",headerMeal:"блюдо",headerMood:"настроение",headerBudget:"бюджет",headerOccasion:"случай",headerOr:"или",errorMessage:"Что-то пошло не так. Пожалуйста, попробуйте позже.",noResultsMessage:"По вашему запросу не найдено результатов. Попробуйте другой запрос.",ai_sommelier:"AI sommelier"},kk:{lang:"kk",welcomeMessage:"Сіз не жегіңіз келеді? Тағамыңызды сипаттаңыз, мен оған керемет шарап ұсынамын.",noResultsFound:"Нәтижелер табылмады.",somethingWentWrong:"Кешіріңіз, бірдеңе дұрыс болмады.",chatButton1:"Сәйкестік табу",chatButton2:"Шарап таңдау",chatButton3:"Кеңес алу",chatTitle:"Шарап таңдаушы көмекші 🍷",chatSubtitle:"Тағамыңызды сипаттаңыз — 30 секундта ұсыныс алыңыз",inputPlaceholder:"мысалы, тунец салатымен",sendButton:"Таңдау",poweredBy:"Powered by",price:"Бағасы",region:"Өңір",type:"Түрі",reason:"Ұсыныс",moreInfo:"Толығырақ",winePairingIntro:"Бұл шарапқа келесі тағамдар сәйкес келеді:",askForDinner:"Кешкі асқа не қалайсыз?",clearChatButton:"Чатты тазалау",widgetTitle:"КЕРЕМЕТ ШАРАПТЫ ТАБЫҢЫЗ",widgetSubtitle:"Таңдауларыңызды бөлісіңіз — тағам, көңіл-күй, бюджет немесе жағдай — және біздің AI-сомелье сізге бірнеше секундта шарап ұсынады",searchPlaceholder:"Кілт сөзді немесе сипаттаманы енгізіңіз","wineDetails.price":"Бағасы","wineDetails.region":"Өңір","wineDetails.type":"Түрі","wineDetails.moreInfo":"Толығырақ","wineDetails.reason":"Себебі","wineDetails.code":"Код","wineDetails.buy":"Сатып алу",searchButton:"Іздеу",priceRange:"Баға диапазоны",wineColor:"Шарап түсі",intensity:"Қанықтылық",red:"Қызыл",white:"Ақ",rose:"Розалық",light:"Жеңіл",medium:"Орташа",full:"Толық",barTitle:"Шарапқа арналған тіскебасарлар",barSubtitle:"Төмендегі тағамдарды таңдаңыз және 'Жіберу' батырмасын басыңыз",barSendButton:"Жіберу",barResetButton:"Қалпына келтіру",barName:"Бар атауы",barNotesPlaceholder:"Мұнда өз тілектеріңізді жазыңыз...",placeholderSuggestions:["Пастаға арналған шарап","Балыққа тамаша үйлеседі","Кешке ұсынуға болады"],headerLine1:"Ойларыңызбен бөлісіңіз —",headerLine2:"— және бірнеше секундта мінсіз шарап ұсынысын алыңыз",headerMeal:"тағам",headerMood:"көңіл-күй",headerBudget:"бюджет",headerOccasion:"жағдай",headerOr:"немесе",errorMessage:"Бірдеңе дұрыс болмады. Кейінірек қайта көріңіз.",noResultsMessage:"Іздеуіңізге сәйкес нәтиже табылмады. Басқа сұрау қолданып көріңіз.",ai_sommelier:"AI sommelier"},pt:{lang:"pt",welcomeMessage:"O que você planeja comer? Descreva seu prato e eu recomendarei a harmonização perfeita.",noResultsFound:"Nenhum resultado encontrado.",somethingWentWrong:"Desculpe, algo deu errado.",chatButton1:"Encontre sua harmonização",chatButton2:"Harmonizar vinho agora",chatButton3:"Receber conselho de vinho",chatTitle:"Assistente de Harmonização de Vinhos 🍷",chatSubtitle:"Descreva sua refeição e receba uma recomendação em 30 segundos",inputPlaceholder:"ex., Salada de atum",sendButton:"Harmonizar",poweredBy:"Desenvolvido por",price:"Preço",region:"Região",type:"Tipo",reason:"Sugestão",moreInfo:"Mais informações",winePairingIntro:"Para este vinho, aqui estão algumas sugestões de pratos:",askForDinner:"O que você gostaria de jantar?",clearChatButton:"Limpar chat",widgetTitle:"ENCONTRE SEU VINHO PERFEITO",widgetSubtitle:"Compartilhe o que tiver em mente — sua refeição, humor, orçamento ou ocasião — e nosso sommelier de IA recomendará o vinho perfeito em segundos",searchPlaceholder:"Digite uma palavra-chave ou descrição","wineDetails.reason":"Motivo","wineDetails.price":"Preço","wineDetails.region":"Região","wineDetails.type":"Tipo","wineDetails.moreInfo":"Mais informações","wineDetails.code":"Código","wineDetails.buy":"Comprar",searchButton:"Pesquisar",priceRange:"Faixa de preço",wineColor:"Cor do vinho",intensity:"Intensidade",red:"Tinto",white:"Branco",rose:"Rosé",light:"Leve",medium:"Médio",full:"Encorpado",barTitle:"Pratos do bar",barSubtitle:"Selecione os pratos abaixo e clique em 'Enviar'",barSendButton:"Enviar",barResetButton:"Resetar",barName:"Nome do bar",barNotesPlaceholder:"Adicione seus desejos aqui...",placeholderSuggestions:["Vinho para massa","Perfeito com peixe","Recomendado para uma festa"],headerLine1:"Compartilhe o que tiver em mente —",headerLine2:"— e receba recomendações do vinho perfeito em segundos",headerMeal:"refeição",headerMood:"humor",headerBudget:"orçamento",headerOccasion:"ocasião",headerOr:"ou",errorMessage:"Algo deu errado. Por favor, tente novamente mais tarde.",noResultsMessage:"Nenhum resultado encontrado para sua pesquisa. Por favor, tente uma consulta diferente.",ai_sommelier:"AI sommelier"}};function mf(t){return{id:String(t.id),lang:t.lang,available_languages:t.available_languages?t.available_languages:[t.lang],open_ai_key:t.open_ai_key??null,currency:t.currency,title:t.title}}const vf={0:{logoUrl:null,brandColor:"#7B2BEB"},29:{logoUrl:"https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/plou_logo.jpg",brandColor:"#e6c6bb"},25:{logoUrl:null,brandColor:"#000000",wineaterColor:"#000000",buttonUppercase:!0,customCss:`
|
|
15
|
+
`).length?ld(t):t.stack?ud(t):cd(t)}function ld(t,e){const n=/Line (\d+).*script (?:in )?(\S+)/i,s=t.message.split(`
|
|
16
|
+
`),i=[];for(let r=2,o=s.length;r<o;r+=2){const a=n.exec(s[r]);a&&i.push({file:a[2],line:+a[1],raw:s[r]})}return ls(i)}function cd(t,e){const n=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,s=t.stacktrace.split(`
|
|
17
|
+
`),i=[];for(let r=0,o=s.length;r<o;r+=2){const a=n.exec(s[r]);a&&i.push({function:a[3]||void 0,file:a[2],line:a[1]?+a[1]:void 0,raw:s[r]})}return ls(i)}function ud(t,e){return ls(t.stack.split(`
|
|
18
|
+
`).filter(s=>!!s.match(ed)&&!s.match(/^Error created at/))).map(s=>{const i=s.split("@"),r=cr(i.pop()),o=i.shift()||"",a=o.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void 0;let l;o.match(/\(([^)]*)\)/)&&(l=o.replace(/^[^(]+\(([^)]*)\)$/,"$1"));const u=l===void 0||l==="[arguments not available]"?void 0:l.split(",");return{function:a,args:u,file:r[0],line:r[1]?+r[1]:void 0,col:r[2]?+r[2]:void 0,raw:s}})}function hd(t){return t.map(e=>({functionName:e.function,args:e.args,fileName:e.file,lineNumber:e.line,columnNumber:e.col,source:e.raw}))}function dd(t,e){return hd(nd(t))}function qa(t){return[{columnNumber:t.colno,lineNumber:t.lineno,fileName:t.filename,functionName:"",source:""}]}function Ks(t,e,n={}){let s=e;try{s=dd(t)}catch{}return Yi(t.name,t.message,JSON.stringify(s),JSON.stringify(n))}function Va(t,e=window,n={}){if(t instanceof ErrorEvent){if(t.error instanceof Error)return Ks(t.error,qa(t),n);{let[s,i]=t.message.split(":");return i||(s="Error",i=t.message),Yi(s,i,JSON.stringify(qa(t)),JSON.stringify(n))}}else if("PromiseRejectionEvent"in e&&t instanceof e.PromiseRejectionEvent){if(t.reason instanceof Error)return Ks(t.reason,[],n);{let s;try{s=JSON.stringify(t.reason)}catch{s=String(t.reason)}return Yi("Unhandled Promise Rejection",s,"[]",JSON.stringify(n))}}return null}function fd(t,e){const n=Object.assign({captureExceptions:!0},e);function s(i){function r(o){const a=Va(o,i);a!=null&&t.send(a)}try{t.attachEventListener(i,"unhandledrejection",r),t.attachEventListener(i,"error",r)}catch(o){console.error("Error while attaching to error proto contexts",o)}}n.captureExceptions&&(t.observer.attachContextCallback(s),s(window))}function Ga(t,e=document.location){return t=t.trim(),t.startsWith("//")||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:")?t:t.startsWith("/")?e.origin+t:e.origin+e.pathname+t}function pd(t){return wu&&(t.startsWith("data:image/svg+xml")||t.match(/.svg$|/i))}const gd="https://static.openreplay.com/tracker/placeholder.jpeg";function md(t){function e(a,l){t.attributeSender.sendSetAttribute(a,"src",gd);const{width:u,height:c}=l.getBoundingClientRect();l.hasAttribute("width")||t.attributeSender.sendSetAttribute(a,"width",String(u)),l.hasAttribute("height")||t.attributeSender.sendSetAttribute(a,"height",String(c))}const n=function(a,l){const{srcset:u}=l;if(!u)return;const c=u.split(u.match(/,\s+/)?/,\s+/:",").map(h=>Ga(h)).join(", ");t.attributeSender.sendSetAttribute(a,"srcset",c)},s=function(a,l){l.src.length>bu&&e(a,l),t.send(Gi(a,"src",l.src,t.getBaseHref()))},i=t.safe(function(a){const l=Ga(a.src||"");ra(l)&&t.send(ka(t.timestamp(),0,0,0,0,0,l,"img",0,!1))}),r=t.safe(function(a){const l=t.nodes.getID(a);l!==void 0&&a.complete&&(a.naturalHeight===0&&a.naturalWidth===0&&!pd(a.src)?i(a):t.sanitizer.isHidden(l)||t.sanitizer.isObscured(l)?e(l,a):(s(l,a),n(l,a)))}),o=ua(t.safe(a=>{for(const l of a)if(l.type==="attributes"){const u=l.target,c=t.nodes.getID(u);if(c===void 0)return;l.attributeName==="src"&&s(c,u),l.attributeName==="srcset"&&n(c,u)}}),t.options.forceNgOff);t.attachStopCallback(()=>{o.disconnect()}),t.nodes.attachNodeCallback(a=>{be(a,"img")&&(t.nodes.attachNodeListener(a,"error",()=>i(a)),t.nodes.attachNodeListener(a,"load",()=>r(a)),r(a),o.observe(a,{attributes:!0,attributeFilter:["src","srcset"]}))})}const vd=["text","password","email","search","number","range","date","tel","time"];function wd(t){return be(t,"textarea")?!0:be(t,"input")?vd.includes(t.type):!1}function bd(t){if(!be(t,"input"))return!1;const e=t.type;return e==="checkbox"||e==="radio"}const yd=dt&&"labels"in HTMLInputElement.prototype?t=>{let e=t;for(;(e=e.parentNode)!==null;)if(be(e,"label"))return e;const n=t.labels;if(n!==null&&n.length===1)return n[0]}:t=>{let e=t;for(;(e=e.parentNode)!==null;)if(be(e,"label"))return e;const n=t.id;if(n){const s=t.ownerDocument.querySelectorAll('label[for="'+n+'"]');if(s!==null&&s.length===1)return s[0]}};function Ka(t){let e=qi(t);if(e===null){const n=yd(t);e=n&&n.innerText||t.placeholder||t.name||t.id||t.className||t.type}return ia(e).slice(0,100)}const Ln={Plain:0,Obscured:1,Hidden:2};function Sd(t,e){const n=Object.assign({obscureInputNumbers:!0,obscureInputEmails:!0,defaultInputMode:Ln.Obscured,obscureInputDates:!1},e);function s(c,h){let d=h.value,p=n.defaultInputMode;h.type==="password"||t.sanitizer.isHidden(c)?p=Ln.Hidden:(t.sanitizer.isObscured(c)||p===Ln.Plain&&(n.obscureInputNumbers&&h.type!=="date"&&/\d\d\d\d/.test(d)||n.obscureInputDates&&h.type==="date"||n.obscureInputEmails&&(h.type==="email"||~d.indexOf("@"))))&&(p=Ln.Obscured);let f=0;switch(p){case Ln.Hidden:f=-1,d="";break;case Ln.Obscured:f=d.length,d="";break}return{value:d,mask:f}}function i(c,h){const{value:d,mask:p}=s(c,h);t.send(Mu(c,d,p))}const r=new Map,o=new Map;t.attachStopCallback(()=>{r.clear(),o.clear()});function a(c,h){r.get(c)!==h.value&&(r.set(c,h.value),i(c,h))}function l(c,h){o.get(c)!==h&&(o.set(c,h),t.send(Pu(c,h)))}t.ticker.attach(()=>{r.forEach((c,h)=>{const d=t.nodes.getNode(h);if(!d)return r.delete(h);a(h,d)}),o.forEach((c,h)=>{const d=t.nodes.getNode(h);if(!d)return o.delete(h);l(h,d.checked)})},3);function u(c,h,d,p){const{value:f,mask:m}=s(c,h),S=Ka(h);t.send(Zu(c,f,m!==0,S,d,p))}t.nodes.attachNodeCallback(t.safe(c=>{const h=t.nodes.getID(c);if(h!==void 0){if(be(c,"select")&&(i(h,c),t.nodes.attachNodeListener(c,"change",()=>i(h,c))),wd(c)){a(h,c);let d=0,p=0,f=0;const m=()=>{d=rt()},S=()=>{p===0&&d!==0&&(p=rt()-d)},T=()=>{d!==0&&(f=rt()-d),u(h,c,p,f),p=0,f=0,d=0};t.nodes.attachNodeListener(c,"focus",m),t.nodes.attachNodeListener(c,"input",S),t.nodes.attachNodeListener(c,"change",T);return}if(bd(c)){l(h,c.checked),t.nodes.attachNodeListener(c,"change",()=>l(h,c.checked));return}}}))}let Ye,ur,Xa;function _d(t,e){if(Xa=new Date,t.nodeType!==Node.ELEMENT_NODE)throw new Error("Can't generate CSS selector for non-element node type.");if(t.tagName.toLowerCase()==="html")return"html";const n={root:document.body,idName:i=>!0,className:i=>!0,tagName:i=>!0,attr:(i,r)=>!1,seedMinLength:1,optimizedMinLength:2,threshold:1e3,maxNumberOfTries:1e4,timeoutMs:void 0};Ye={...n,...e},ur=kd(Ye.root,n);let s=Xs(t,"all",()=>Xs(t,"two",()=>Xs(t,"one",()=>Xs(t,"none"))));if(s){const i=el(tl(s,t));return i.length>0&&(s=i[0]),Ys(s)}else throw new Error("Selector was not found.")}function kd(t,e){return t.nodeType===Node.DOCUMENT_NODE?t:t===e.root?t.ownerDocument:t}function Xs(t,e,n){let s=null,i=[],r=t,o=0;for(;r;){const a=new Date().getTime()-Xa.getTime();if(Ye.timeoutMs!==void 0&&a>Ye.timeoutMs)throw new Error(`Timeout: Can't find a unique selector after ${a}ms`);let l=Qs(Td(r))||Qs(...xd(r))||Qs(...Ed(r))||Qs(Id(r))||[Za()];const u=Cd(r);if(e=="all")u&&(l=l.concat(l.filter(hr).map(c=>Js(c,u))));else if(e=="two")l=l.slice(0,1),u&&(l=l.concat(l.filter(hr).map(c=>Js(c,u))));else if(e=="one"){const[c]=l=l.slice(0,1);u&&hr(c)&&(l=[Js(c,u)])}else e=="none"&&(l=[Za()],u&&(l=[Js(l[0],u)]));for(let c of l)c.level=o;if(i.push(l),i.length>=Ye.seedMinLength&&(s=Ya(i,n),s))break;r=r.parentElement,o++}return s||(s=Ya(i,n)),!s&&n?n():s}function Ya(t,e){const n=el($a(t));if(n.length>Ye.threshold)return e?e():null;for(let s of n)if(Qa(s))return s;return null}function Ys(t){let e=t[0],n=e.name;for(let s=1;s<t.length;s++){const i=t[s].level||0;e.level===i-1?n=`${t[s].name} > ${n}`:n=`${t[s].name} ${n}`,e=t[s]}return n}function Ja(t){return t.map(e=>e.penalty).reduce((e,n)=>e+n,0)}function Qa(t){const e=Ys(t);switch(ur.querySelectorAll(e).length){case 0:throw new Error(`Can't select any node with this selector: ${e}`);case 1:return!0;default:return!1}}function Td(t){const e=t.getAttribute("id");return e&&Ye.idName(e)?{name:"#"+CSS.escape(e),penalty:0}:null}function xd(t){return Array.from(t.attributes).filter(n=>Ye.attr(n.name,n.value)).map(n=>({name:`[${CSS.escape(n.name)}="${CSS.escape(n.value)}"]`,penalty:.5}))}function Ed(t){return Array.from(t.classList).filter(Ye.className).map(n=>({name:"."+CSS.escape(n),penalty:1}))}function Id(t){const e=t.tagName.toLowerCase();return Ye.tagName(e)?{name:e,penalty:2}:null}function Za(){return{name:"*",penalty:3}}function Cd(t){const e=t.parentNode;if(!e)return null;let n=e.firstChild;if(!n)return null;let s=0;for(;n&&(n.nodeType===Node.ELEMENT_NODE&&s++,n!==t);)n=n.nextSibling;return s}function Js(t,e){return{name:t.name+`:nth-child(${e})`,penalty:t.penalty+1}}function hr(t){return t.name!=="html"&&!t.name.startsWith("#")}function Qs(...t){const e=t.filter(Nd);return e.length>0?e:null}function Nd(t){return t!=null}function*$a(t,e=[]){if(t.length>0)for(let n of t[0])yield*$a(t.slice(1,t.length),e.concat(n));else yield e}function el(t){return[...t].sort((e,n)=>Ja(e)-Ja(n))}function*tl(t,e,n={counter:0,visited:new Map}){if(t.length>2&&t.length>Ye.optimizedMinLength)for(let s=1;s<t.length-1;s++){if(n.counter>Ye.maxNumberOfTries)return;n.counter+=1;const i=[...t];i.splice(s,1);const r=Ys(i);if(n.visited.has(r))return;Qa(i)&&Rd(i,e)&&(yield i,n.visited.set(r,!0),yield*tl(i,e,n))}}function Rd(t,e){return ur.querySelector(Ys(t))===e}function Dd(t,e,n){return _d(t,{root:e.body,seedMinLength:3,optimizedMinLength:(n==null?void 0:n.minSelectorDepth)||2,threshold:(n==null?void 0:n.nthThreshold)||1e3,maxNumberOfTries:(n==null?void 0:n.maxOptimiseTries)||1e4})}function dr(t){const e=t.tagName.toUpperCase();return e==="BUTTON"||e==="A"||e==="LI"||e==="SELECT"||e==="TR"||e==="TH"||t.onclick!=null||t.getAttribute("role")==="button"}function nl(t,e){return t instanceof Element?Od(t,e):null}function Od(t,e){let n=t;for(;n!==null&&n!==e.documentElement;){if(cn(n,"masked"))return null;n=n.parentElement}if(tr(t)){let s=t.ownerSVGElement;for(;s!==null;)t=s,s=s.ownerSVGElement}for(n=t;n!==null&&n!==e.documentElement;){const s=n.tagName.toUpperCase();if(s==="LABEL")return null;if(s==="INPUT"||dr(n)||qi(n)!==null)return n;n=n.parentElement}return t===e.documentElement?null:t}function Ad(t,e){const{disableClickmaps:n=!1}=e||{};function s(g){const b=qi(g);if(b!==null)return b;if(be(g,"input"))return Ka(g);if(dr(g)){let _="";return g instanceof HTMLElement&&(_=t.sanitizer.getInnerTextSecure(g)),_=_||g.id||g.className,ia(_).slice(0,100)}return""}let i=-1,r=-1,o=!1,a=null,l=0,u={},c=0,h=0,d=0,p=0,f;const m=.008,S=225;function T(){const g=p/S;if(!c){c=g;return}const b=(g-c)/S;d>4&&b>m&&t.send($u(rt())),p=0,d=0,c=g}t.attachStartCallback(()=>{f=setInterval(()=>T(),S)}),t.attachStopCallback(()=>{i=-1,r=-1,o=!1,a=null,u={},f&&clearInterval(f)});const x=()=>{o&&(t.send(Lu(i,r)),o=!1)},I=(g,b=!1)=>{function _(y,E,P){return u[y]=u[y]||Dd(E,g,P)}const k=b?t.attachEventListener.bind(t):t.nodes.attachNodeListener.bind(t.nodes);k(g.documentElement,"mouseover",y=>{const E=nl(y.target,g);E!==a&&(a=E,l=performance.now())}),k(g,"mousemove",y=>{const[E,P]=t.observer.getDocumentOffset(g);i=y.clientX+E,r=y.clientY+P,o=!0;const j=Math.sign(y.movementX);p+=Math.abs(y.movementX)+Math.abs(y.movementY),j!==h&&(h=j,d++)},!1),k(g,"click",y=>{const E=nl(y.target,g);if(!y.clientX&&!y.clientY||E===null)return;const P=t.nodes.getID(E);if(P!==void 0){const j=y.pageX,L=y.pageY,Q=g.documentElement.scrollWidth,U=g.documentElement.scrollHeight,B=sl(j/Q),J=sl(L/U);x(),t.send(Yu(P,a===E?Math.round(performance.now()-l):0,s(E),dr(E)&&!n?_(P,E,e):"",B,J),!0)}a=null})};t.nodes.attachNodeCallback(g=>{Hs(g)&&I(g)}),I(document,!0),t.ticker.attach(x,(e==null?void 0:e.trackingOffset)||7)}function sl(t){return Math.round(t*1e4)}function Md(t){const e=[],n=document.getElementsByTagName("*"),s=/url\(("[^"]*"|'[^']*'|[^)]*)\)/i;for(let i=0;i<n.length;i++){const r=n[i];let o="";if(be(r,"img")&&(o=r.currentSrc||r.src),!o){const f=getComputedStyle(r).getPropertyValue("background-image");if(f){const m=s.exec(f);m!==null&&(o=m[1],(o.startsWith('"')||o.startsWith("'"))&&(o=o.substr(1,o.length-2)))}}if(!o)continue;const a=o.substr(0,10)==="data:image"?0:t[o];if(a===void 0)continue;const l=r.getBoundingClientRect(),u=Math.max(l.top,0),c=Math.max(l.left,0),h=Math.min(l.bottom,window.innerHeight||document.documentElement&&document.documentElement.clientHeight||0),d=Math.min(l.right,window.innerWidth||document.documentElement&&document.documentElement.clientWidth||0);if(h<=u||d<=c)continue;const p=(h-u)*(d-c);e.push({time:a,area:p})}return e}function Pd(t,e){let n=Math.max(document.documentElement&&document.documentElement.clientWidth||0,window.innerWidth||0)*Math.max(document.documentElement&&document.documentElement.clientHeight||0,window.innerHeight||0)/10,s=n*t;for(let i=0;i<e.length;i++){const{time:r,area:o}=e[i];n+=o,s+=o*(r>t?r:t)}return n===0?0:s/n}function Ld(t,e){const n=Object.assign({captureResourceTimings:!0,capturePageLoadTimings:!0,capturePageRenderTimings:!0,excludedResourceUrls:[]},e);if("PerformanceObserver"in window||(n.captureResourceTimings=!1),!n.captureResourceTimings)return;let s={};function i(u){var h;if(u.duration<0||!ra(u.name)||t.isServiceURL(u.name))return;s!==null&&(s[u.name]=u.startTime+u.duration);let c=!1;(h=n.excludedResourceUrls)==null||h.forEach(d=>{if(u.name.startsWith(d)){c=!0;return}}),!c&&t.send(ka(u.startTime+On(),u.duration,u.responseStart&&u.startTime?u.responseStart-u.startTime:0,u.transferSize>u.encodedBodySize?u.transferSize-u.encodedBodySize:0,u.encodedBodySize||0,u.decodedBodySize||0,u.name,u.initiatorType,u.transferSize,u.responseStatus&&u.responseStatus===304||u.transferSize===0))}const r=new PerformanceObserver(u=>u.getEntries().forEach(i));let o;t.attachStartCallback(function({sessionID:u}){u!==o&&(performance.getEntriesByType("resource").forEach(i),o=u),r.observe({entryTypes:["resource"]})}),t.attachStopCallback(function(){r.disconnect()});let a=0,l=0;if(n.capturePageLoadTimings){let u=!1;t.ticker.attach(()=>{if(!u&&((a===0||l===0)&&performance.getEntriesByType("paint").forEach(c=>{const{name:h,startTime:d}=c;switch(h){case"first-paint":a=d;break;case"first-contentful-paint":l=d;break}}),performance.timing.loadEventEnd||performance.now()>3e4)){u=!0;const{navigationStart:c,requestStart:h,responseStart:d,responseEnd:p,domContentLoadedEventStart:f,domContentLoadedEventEnd:m,loadEventStart:S,loadEventEnd:T}=performance.timing;t.send(Fu(h-c||0,d-c||0,p-c||0,f-c||0,m-c||0,S-c||0,T-c||0,a,l))}},30)}if(n.capturePageRenderTimings){let u=0,c=0,h=0,d=null,p=!1;t.ticker.attach(()=>{if(p)return;const f=performance.now();if(s!==null&&(u=Math.max.apply(null,Object.keys(s).map(m=>s[m])),f-u>1e3&&(d=Md(s),s=null)),h!==null&&(f-h>50&&(c=f),h=f-c>5e3?null:f),d!==null&&h===null||f>3e4){p=!0,s=null;const m=d===null?0:Pd(l||a,d),{domContentLoadedEventEnd:S,navigationStart:T}=performance.timing,x=h===null?Math.max(c,l,S-T||0):0;t.send(Wu(m,l>u?l:u,x))}})}}function fr(t){const e=t.defaultView;return[e&&e.scrollX||t.documentElement&&t.documentElement.scrollLeft||t.body&&t.body.scrollLeft||0,e&&e.scrollY||t.documentElement&&t.documentElement.scrollTop||t.body&&t.body.scrollTop||0]}function Bd(t,e){let n=!1;const s=new Map;function i(a){Ma(a)&&(Et(a)&&s.set(a,[a.scrollLeft,a.scrollTop]),Hs(a)&&s.set(a,fr(a)))}const r=t.safe(()=>{e||t.send(Eu(...fr(document)))}),o=t.safe((a,l)=>{const u=t.nodes.getID(l);u!==void 0&&t.send(Au(u,a[0],a[1]))});t.attachStartCallback(r),t.attachStopCallback(()=>{n=!1,s.clear()}),t.nodes.attachNodeCallback((a,l)=>{l&&(Et(a)&&a.scrollLeft+a.scrollTop>0?s.set(a,[a.scrollLeft,a.scrollTop]):Hs(a)&&s.set(a,fr(a))),qs(a)&&t.nodes.attachNodeListener(a,"scroll",u=>{i(u.target)})}),t.attachEventListener(document,"scroll",a=>{const l=a.target;if(l===document){n=!0;return}i(l)}),t.ticker.attach(()=>{n&&(r(),n=!1),s.forEach(o),s.clear()},5,!1)}function Fd(t){let e,n,s,i,r=document.referrer;const o=t.safe(()=>{const{URL:u}=document;u!==e&&(e=u,t.send(nh(e,r,i,document.title)),i=0,r=e)}),a=t.safe(()=>{const{innerWidth:u,innerHeight:c}=window;(u!==n||c!==s)&&(n=u,s=c,t.send(xu(n,s)))}),l=document.hidden===void 0?Function.prototype:t.safe(()=>t.send(Vu(document.hidden)));t.attachStartCallback(()=>{e=null,i=On(),n=s=-1,o(),a(),l()}),document.hidden!==void 0&&t.attachEventListener(document,"visibilitychange",l,!1,!1),t.ticker.attach(o,1,!1),t.ticker.attach(a,5,!1)}function il(t){return qs(t)&&!!t.adoptedStyleSheets}let Wd=15;function rl(){return Wd++}const Zs=new Map;function zd(t){if(t===null||!il(document))return;const e=new Map,n=new Map,s=o=>setTimeout(()=>{let a=t.nodes.getID(o);if(o===document&&(a=0),a===void 0)return;let l=n.get(a);l||(l=[]);const u=[],c=o.adoptedStyleSheets;if(c&&Symbol.iterator in c)for(const h of c){let d=e.get(h);const p=!d;if(d||(d=rl(),e.set(h,d)),l.includes(d)||t.send(ya(d,a)),p){const f=h.cssRules;for(let m=0;m<f.length;m++)t.send(Xi(d,f[m].cssText,m,t.getBaseHref()))}u.push(d)}if(Symbol.iterator in l)for(const h of l)u.includes(h)||t.send(Ju(h,a));n.set(a,u)},20);function i(o){const a=Object.getOwnPropertyDescriptor(o,"adoptedStyleSheets");a&&Object.defineProperty(o,"adoptedStyleSheets",{...a,set:function(l){const u=a.set.call(this,l);return s(this),u}})}const r=o=>{if(o.__openreplay_adpss_patched__)return;o.__openreplay_adpss_patched__=!0,i(o.Document.prototype),i(o.ShadowRoot.prototype);const{replace:a,replaceSync:l}=o.CSSStyleSheet.prototype;o.CSSStyleSheet.prototype.replace=function(u){return a.call(this,u).then(c=>{const h=e.get(this);return h&&t.send(wa(h,u,t.getBaseHref())),c})},o.CSSStyleSheet.prototype.replaceSync=function(u){const c=e.get(this);return c&&t.send(wa(c,u,t.getBaseHref())),l.call(this,u)}};r(window),t.observer.attachContextCallback(t.safe(r)),t.attachStopCallback(()=>{e.clear(),n.clear()}),t.attachStartCallback(()=>{s(document)}),t.nodes.attachNodeCallback(o=>{il(o)&&s(o)})}function jd(t){if(t===null)return;if(!window.CSSStyleSheet){t.send(Ku("no_stylesheet_prototype_in_window",""));return}const e=t.safe((i,r,o)=>{const a=Zs.get(i);a&&(typeof o=="string"?t.send(Xi(a,o,r,t.getBaseHref())):t.send(ba(a,r)))}),n=t.safe(i=>{let r=i;for(;r.parentRule;)r=r.parentRule;const o=r.parentStyleSheet;if(!o){t.debug.warn("No parent StyleSheet found for",r,i);return}const a=Zs.get(o);if(!a){t.debug.warn("No sheedID found for",o,Zs);return}const l=r.cssText,u=o.cssRules,c=Array.from(u).indexOf(r);c>=0?(t.send(Xi(a,l,c,t.getBaseHref())),t.send(ba(a,c+1))):t.debug.warn("Rule index not found in",o,r)}),s=t.safe(i=>{const{insertRule:r,deleteRule:o}=i.CSSStyleSheet.prototype,{insertRule:a,deleteRule:l}=i.CSSGroupingRule.prototype;i.CSSStyleSheet.prototype.insertRule=function(u,c=0){return e(this,c,u),r.call(this,u,c)},i.CSSStyleSheet.prototype.deleteRule=function(u){return e(this,u),o.call(this,u)},i.CSSGroupingRule.prototype.insertRule=function(u,c=0){const h=a.call(this,u,c);return n(this),h},i.CSSGroupingRule.prototype.deleteRule=function(u=0){const c=l.call(this,u);return n(this),c}});s(window),t.observer.attachContextCallback(s),t.nodes.attachNodeCallback(i=>{if(!be(i,"style")||!i.sheet||i.textContent!==null&&i.textContent.trim().length>0)return;const r=t.nodes.getID(i);if(!r)return;const o=i.sheet,a=rl();Zs.set(o,a),t.send(ya(a,r));const l=o.cssRules;for(let u=0;u<l.length;u++)e(o,u,l[u].cssText)})}function Ud(t){function e(s){const i=t.nodes.getID(s);i!==void 0&&t.send(va(i))}let n=!1;t.nodes.attachNodeCallback(s=>{be(s,"body")&&(t.nodes.attachNodeListener(s,"focus",i=>{Ma(i.target)&&(e(i.target),n=!1)}),t.nodes.attachNodeListener(s,"blur",i=>{i.relatedTarget===null&&(n=!0,setTimeout(()=>{n&&t.send(va(-1))},0))}))}),t.attachStartCallback(()=>{let s=document.activeElement;for(;s&&be(s,"iframe")&&s.contentDocument;)s=s.contentDocument.activeElement;s&&s!==s.ownerDocument.body&&e(s)},!0)}function Hd(t){if(!window.FontFace)return;const e=new Map,n=s=>{class i extends s.FontFace{constructor(...o){if(typeof o[1]=="string"){let a="";o[2]&&t.safe(()=>{a=JSON.stringify(o[2])});const l=[o[0],o[1],a],u=e.get(s.document)||[];u.push(l),e.set(s.document,u);const c=s===window?0:t.nodes.getID(s.document);if(c===void 0)return;t.active()&&t.send(ma(c,...l))}super(...o)}}s.FontFace=i};t.observer.attachContextCallback(n),n(window),t.nodes.attachNodeCallback(t.safe(s=>{if(!Hs(s))return;const i=e.get(s);if(!i)return;const r=s.defaultView===window?0:t.nodes.getID(s);r!==void 0&&i.forEach(o=>{t.send(ma(r,...o))})}))}function qd(t,e,n,s,i){t.debug.log("Openreplay: attaching axios spy to instance",e);function r(d){t.debug.log("Openreplay: capturing axios response data",d);const{headers:p,data:f,method:m,url:S,baseURL:T}=d.config,{data:x,headers:I,status:g,response:b}=d,{data:_,headers:k,status:y}=b||{},E=n.ignoreHeaders,P=Array.isArray(E)?R=>E.includes(R):()=>E;function j(R,Z){P(Z[0])||(R[Z[0]]=Z[1])}let L={},Q={};p.toJSON?L=p.toJSON():p instanceof Headers?p.forEach((R,Z)=>j(L,[Z,R])):Array.isArray(p)?p.forEach(R=>j(L,R)):typeof p=="object"&&Object.entries(p).forEach(R=>j(L,R));const U=k||I;U.toJSON?Q=U.toJSON():U instanceof Headers?U.forEach((R,Z)=>j(Q,[Z,R])):Array.isArray(U)?U.forEach(R=>j(Q,R)):typeof U=="object"&&Object.entries(U).forEach(([R,Z])=>{P(R)||(Q[R]=Z)});const B=s({url:S,method:m||"",status:g||y||0,request:{headers:L,body:f},response:{headers:Q,body:_||x}});if(!B){t.debug.log("Openreplay: empty request/response info, skipping");return}const J=d.config.__openreplay_timing,te=performance.now()-J;t.debug.log("Openreplay: final req object",B),t.send(Ws("xhr",String(m),String(B.url),i(B.request),i(B.response),B.status,J+On(),te,0))}function o(d){if(t.debug.log("Openreplay: capturing API request",d),d.__openreplay_timing=performance.now(),n.sessionTokenHeader){const p=typeof n.sessionTokenHeader=="string"?n.sessionTokenHeader:"X-OpenReplay-Session-Token",f=t.getSessionToken();f&&d.headers.set(p,f)}return d}function a(d){return n.failuresOnly||r(d),d}function l(d){return t.debug.log("Openreplay: capturing API request error",d),Vd(d)&&d.response?r(d.response):d instanceof Error&&t.send(Ks(d,[])),Promise.reject(d)}function u(d){t.debug.log("Openreplay: failed API request, skipping",d)}const c=e.interceptors.request.use(o,u,{synchronous:!0}),h=e.interceptors.response.use(a,l,{synchronous:!0});t.attachStopCallback(()=>{var d,p,f,m;(p=(d=e.interceptors.request).eject)==null||p.call(d,c),(m=(f=e.interceptors.response).eject)==null||m.call(f,h)})}function Vd(t){return Gd(t)&&t.isAxiosError===!0}function Gd(t){return t!==null&&typeof t=="object"}class pr{constructor(e=[],n,s){this.ignoredHeaders=e,this.setSessionTokenHeader=n,this.sanitize=s,this.id="",this.name="",this.method="",this.url="",this.status=0,this.statusText="",this.cancelState=0,this.readyState=0,this.header={},this.responseType="",this.requestType="xhr",this.requestHeader={},this.responseSize=0,this.responseSizeText="",this.startTime=0,this.endTime=0,this.duration=0,this.getData={},this.requestData=null}getMessage(){const{reqHs:e,resHs:n}=this.writeHeaders(),s={headers:e,body:this.method==="GET"?JSON.stringify(this.getData):this.requestData},i={headers:n,body:this.response},r=this.sanitize({url:this.url,method:this.method,status:this.status,request:s,response:i});if(!r)return null;if(r.url.includes("/graphql")&&r.response.body&&typeof r.response.body=="string"){const a=r.response.body.includes("errors");r.status=a?400:200,this.requestType="graphql"}return{requestType:this.requestType,method:r.method,url:r.url,request:JSON.stringify(r.request),response:JSON.stringify(r.response),status:r.status,startTime:this.startTime,duration:this.duration,responseSize:this.responseSize}}writeHeaders(){const e={};Object.entries(this.requestHeader).forEach(([s,i])=>{this.isHeaderIgnored(s)||(e[s]=i)}),this.setSessionTokenHeader((s,i)=>{e[s]=i});const n={};return Object.entries(this.header).forEach(([s,i])=>{this.isHeaderIgnored(s)||(n[s]=i)}),{reqHs:e,resHs:n}}isHeaderIgnored(e){return Array.isArray(this.ignoredHeaders)?this.ignoredHeaders.map(n=>n.toLowerCase()).includes(e.toLowerCase()):this.ignoredHeaders}}const cs=(t,e)=>{let n="";switch(t){case"":case"text":case"json":typeof e=="string"?n=e:mr(e)||Array.isArray(e)?n=JSON.stringify(e):typeof e<"u"&&(n=Object.prototype.toString.call(e));break;case"blob":case"document":case"arraybuffer":default:typeof e<"u"&&(n=Object.prototype.toString.call(e));break}return n},gr=t=>{if(!t)return null;let e;if(typeof t=="string"){(t[0]==="{"||t[0]==="[")&&(e=t);const n=t.split("&");n.length===1?e=t:e=n.join(",")}else if(Xd(t)){const n=[];for(const[s,i]of t)n.push(`${s}=${typeof i=="string"?i:"[object Object]"}`);e=n.join(",")}else t instanceof Blob||t instanceof ReadableStream||t instanceof ArrayBuffer?e="byte data":mr(t)?e=t:e=`can't parse body ${typeof t}`;return e},Kd=(t,e={})=>{mr(e)||(e={});let n=t?t.split("?"):[];if(n.shift(),n.length>0){n=n.join("?").split("&");for(const s of n){const i=s.split("=");try{e[i[0]]=decodeURIComponent(i[1])}catch{e[i[0]]=i[1]}}}return e};function mr(t){return t!==null&&typeof t=="object"}function Xd(t){return t==null||ArrayBuffer.isView(t)?!1:typeof Symbol<"u"&&typeof t[Symbol.iterator]=="function"}function $s(t){return t<=0?"":t>=1e3*1e3?(t/1e3/1e3).toFixed(1)+" MB":t>=1e3?(t/1e3).toFixed(1)+" KB":`${t}B`}const vr=t=>(t.startsWith("//")&&(t=`${new URL(window.location.href).protocol}${t}`),t.startsWith("http")?new URL(t):new URL(t,window.location.href)),Yd=t=>t instanceof Blob?t.type:t instanceof FormData?"multipart/form-data":t instanceof URLSearchParams?"application/x-www-form-urlencoded;charset=UTF-8":"text/plain;charset=UTF-8";class Jd{constructor(e,n,s,i,r){this.ignoredHeaders=e,this.setSessionTokenHeader=n,this.sanitize=s,this.sendMessage=i,this.isServiceUrl=r}apply(e,n,s){const i=s[0],r=s[1],o=new pr(this.ignoredHeaders,this.setSessionTokenHeader,this.sanitize);if(this.isServiceUrl(i))return e.apply(n,s);const a=vr(i);if(o.method="POST",o.url=i,o.name=(a.pathname.split("/").pop()||"")+a.search,o.requestType="beacon",o.requestHeader={"Content-Type":Yd(r)},o.status=0,o.statusText="Pending",a.search&&a.searchParams){o.getData={};for(const[c,h]of a.searchParams)o.getData[c]=h}o.requestData=gr(r),o.startTime||(o.startTime=performance.now());const l=e.apply(n,s);l?(o.endTime=performance.now(),o.duration=o.endTime-(o.startTime||o.endTime),o.status=0,o.statusText="Sent",o.readyState=4):(o.status=500,o.statusText="Unknown");const u=o.getMessage();return u&&this.sendMessage(u),l}}class Qd{static create(e,n,s,i,r,o){if(e)return new Proxy(e,new Jd(n,s,i,r,o))}}var pt;(function(t){t[t.UNSENT=0]="UNSENT",t[t.OPENED=1]="OPENED",t[t.HEADERS_RECEIVED=2]="HEADERS_RECEIVED",t[t.LOADING=3]="LOADING",t[t.DONE=4]="DONE"})(pt||(pt={}));class Zd{constructor(e,n){this.resp=e,this.item=n,this.mockReader()}set(e,n,s){return Reflect.set(e,n,s)}get(e,n){const s=Reflect.get(e,n);switch(n){case"arrayBuffer":case"blob":case"formData":case"json":case"text":return()=>(this.item.responseType=n.toLowerCase(),s.apply(e).then(i=>(this.item.response=cs(this.item.responseType,i),i)))}return typeof s=="function"?s.bind(e):s}mockReader(){let e;if(!this.resp.body||typeof this.resp.body.getReader!="function")return;const n=this.resp.body.getReader;this.resp.body.getReader=()=>{const s=n.apply(this.resp.body);if(this.item.readyState===pt.DONE)return s;const i=s.read,r=s.cancel;return this.item.responseType="arraybuffer",s.read=()=>i.apply(s).then(o=>{if(!e)e=new Uint8Array(o.value);else{const a=new Uint8Array(e.length+o.value.length);a.set(e),a.set(o.value,e.length),e=a}return this.item.endTime=performance.now(),this.item.duration=this.item.endTime-(this.item.startTime||this.item.endTime),this.item.readyState=o.done?4:3,this.item.statusText=o.done?String(this.item.status):"Loading",this.item.responseSize=e.length,this.item.responseSizeText=$s(this.item.responseSize),o.done&&(this.item.response=cs(this.item.responseType,e)),o}),s.cancel=(...o)=>(this.item.cancelState=2,this.item.statusText="Cancel",this.item.endTime=performance.now(),this.item.duration=this.item.endTime-(this.item.startTime||this.item.endTime),this.item.response=cs(this.item.responseType,e),r.apply(s,o)),s}}}class $d{constructor(e,n,s,i,r,o){this.ignoredHeaders=e,this.setSessionTokenHeader=n,this.sanitize=s,this.sendMessage=i,this.isServiceUrl=r,this.tokenUrlMatcher=o}apply(e,n,s){const i=s[0],r=s[1];if(!i||typeof i!="string"&&!(i!=null&&i.url)||(i instanceof URL||typeof i=="string"?this.isServiceUrl(String(i)):this.isServiceUrl(String(i.url))))return e.apply(window,s);const a=new pr(this.ignoredHeaders,this.setSessionTokenHeader,this.sanitize);return this.beforeFetch(a,i,r),this.setSessionTokenHeader((l,u)=>{if(!(this.tokenUrlMatcher!==void 0&&!this.tokenUrlMatcher(a.url))){if(s[1]===void 0&&s[0]instanceof Request)return s[0].headers.append(l,u);s[1]||(s[1]={}),s[1].headers===void 0&&(s[1]=Object.assign(Object.assign({},s[1]),{headers:{}})),s[1].headers instanceof Headers?s[1].headers.append(l,u):Array.isArray(s[1].headers)?s[1].headers.push([l,u]):s[1].headers[l]=u}}),e.apply(window,s).then(this.afterFetch(a)).catch(l=>{throw a.endTime=performance.now(),a.duration=a.endTime-(a.startTime||a.endTime),l})}beforeFetch(e,n,s){let i,r="GET",o={};if(typeof n=="string"?(r=(s==null?void 0:s.method)||"GET",i=vr(n),o=(s==null?void 0:s.headers)||{}):(r=n.method||"GET",i=vr(n.url),o=n.headers),e.method=r,e.requestType="fetch",e.requestHeader=o,e.url=i.toString(),e.name=(i.pathname.split("/").pop()||"")+i.search,e.status=0,e.statusText="Pending",e.readyState=1,e.startTime||(e.startTime=performance.now()),Object.prototype.toString.call(o)==="[object Headers]"){e.requestHeader={};for(const[a,l]of o)e.requestHeader[a]=l}else e.requestHeader=o;if(i.search&&i.searchParams){e.getData={};for(const[a,l]of i.searchParams)e.getData[a]=l}s!=null&&s.body&&(e.requestData=gr(s.body))}afterFetch(e){return n=>{e.endTime=performance.now(),e.duration=e.endTime-(e.startTime||e.endTime),e.status=n.status,e.statusText=String(n.status);let s=!1;e.header={};for(const[i,r]of n.headers)e.header[i]=r,s=r.toLowerCase().indexOf("chunked")>-1?!0:s;return s?e.readyState=3:(e.readyState=4,this.handleResponseBody(n.clone(),e).then(i=>{e.responseSize=typeof i=="string"?i.length:i.byteLength,e.responseSizeText=$s(e.responseSize),e.response=cs(e.responseType,i);const r=e.getMessage();r&&this.sendMessage(r)}).catch(i=>{if(i.name!=="AbortError")throw i})),new Proxy(n,new Zd(n,e))}}handleResponseBody(e,n){const s=e.headers.get("content-type");return s&&s.includes("application/json")?(n.responseType="json",e.text()):s&&(s.includes("text/html")||s.includes("text/plain"))?(n.responseType="text",e.text()):(n.responseType="arraybuffer",e.arrayBuffer())}}class ef{static create(e,n,s,i,r,o){return new Proxy(fetch,new $d(e,n,s,i,r,o))}}class tf{constructor(e,n,s,i,r,o,a){this.ignoredHeaders=n,this.setSessionTokenHeader=s,this.sanitize=i,this.sendMessage=r,this.isServiceUrl=o,this.tokenUrlMatcher=a,this.XMLReq=e,this.XMLReq.onreadystatechange=()=>{this.onReadyStateChange()},this.XMLReq.onabort=()=>{this.onAbort()},this.XMLReq.ontimeout=()=>{this.onTimeout()},this.item=new pr(n,s,i),this.item.requestType="xhr"}get(e,n){switch(n){case"open":return this.getOpen(e);case"send":return this.setSessionTokenHeader((i,r)=>{this.tokenUrlMatcher!==void 0&&!this.tokenUrlMatcher(this.item.url)||e.setRequestHeader(i,r)}),this.getSend(e);case"setRequestHeader":return this.getSetRequestHeader(e);default:const s=Reflect.get(e,n);return typeof s=="function"?s.bind(e):s}}set(e,n,s){switch(n){case"onreadystatechange":return this.setOnReadyStateChange(e,n,s);case"onabort":return this.setOnAbort(e,n,s);case"ontimeout":return this.setOnTimeout(e,n,s)}return Reflect.set(e,n,s)}onReadyStateChange(){if(!(this.item.url&&this.isServiceUrl(this.item.url))&&(this.item.readyState=this.XMLReq.readyState,this.item.responseType=this.XMLReq.responseType,this.item.endTime=performance.now(),this.item.duration=this.item.endTime-this.item.startTime,this.updateItemByReadyState(),setTimeout(()=>{this.item.response=cs(this.item.responseType,this.item.response)},0),this.XMLReq.readyState===pt.DONE)){const e=this.item.getMessage();e&&this.sendMessage(e)}}onAbort(){this.item.cancelState=1,this.item.statusText="Abort";const e=this.item.getMessage();e&&this.sendMessage(e)}onTimeout(){this.item.cancelState=3,this.item.statusText="Timeout";const e=this.item.getMessage();e&&this.sendMessage(e)}getOpen(e){const n=Reflect.get(e,"open");return(...s)=>{var i,r,o;const a=s[0],l=s[1];return this.item.method=a?a.toUpperCase():"GET",this.item.url=((i=l.toString)===null||i===void 0?void 0:i.call(l))||"",this.item.name=(o=(r=this.item.url)===null||r===void 0?void 0:r.replace(new RegExp("/*$"),"").split("/").pop())!==null&&o!==void 0?o:"",this.item.getData=Kd(this.item.url,{}),n.apply(e,s)}}getSend(e){const n=Reflect.get(e,"send");return(...s)=>{const i=s[0];return this.item.requestData=gr(i),n.apply(e,s)}}getSetRequestHeader(e){const n=Reflect.get(e,"setRequestHeader");return(...s)=>(this.item.requestHeader||(this.item.requestHeader={}),this.item.requestHeader[s[0]]=s[1],n.apply(e,s))}setOnReadyStateChange(e,n,s){return Reflect.set(e,n,(...i)=>{this.onReadyStateChange(),s==null||s.apply(e,i)})}setOnAbort(e,n,s){return Reflect.set(e,n,(...i)=>{this.onAbort(),s.apply(e,i)})}setOnTimeout(e,n,s){return Reflect.set(e,n,(...i)=>{this.onTimeout(),s.apply(e,i)})}updateItemByReadyState(){switch(this.XMLReq.readyState){case pt.UNSENT:case pt.OPENED:this.item.status=pt.UNSENT,this.item.statusText="Pending",this.item.startTime||(this.item.startTime=performance.now());break;case pt.HEADERS_RECEIVED:this.item.status=this.XMLReq.status,this.item.statusText="Loading",this.item.header={};const e=this.XMLReq.getAllResponseHeaders()||"",n=e.split(`
|
|
19
|
+
`);for(let s=0;s<n.length;s++){const i=n[s];if(!i)continue;const r=i.split(": "),o=r[0];this.item.header[o]=r.slice(1).join(": ")}break;case pt.LOADING:this.item.status=this.XMLReq.status,this.item.statusText="Loading",this.XMLReq.response&&this.XMLReq.response.length&&(this.item.responseSize=this.XMLReq.response.length,this.item.responseSizeText=$s(this.item.responseSize));break;case pt.DONE:this.item.status=this.XMLReq.status||this.item.status||0,this.item.statusText=String(this.item.status),this.item.endTime=performance.now(),this.item.duration=this.item.endTime-(this.item.startTime||this.item.endTime),this.item.response=this.XMLReq.response,this.XMLReq.response&&this.XMLReq.response.length&&(this.item.responseSize=this.XMLReq.response.length,this.item.responseSizeText=$s(this.item.responseSize));break;default:this.item.status=this.XMLReq.status,this.item.statusText="Unknown";break}}}class nf{static create(e,n,s,i,r,o){return new Proxy(XMLHttpRequest,{construct(a){const l=new a;return new Proxy(l,new tf(l,e,n,s,i,r,o))}})}}const ol=t=>{const e=`Openreplay: Can't find ${t} in global context.`;console.warn(e)};function sf(t,e,n,s,i,r,o={xhr:!0,fetch:!0,beacon:!0},a){var l;if(t&&(o.xhr&&(t.XMLHttpRequest?t.XMLHttpRequest=nf.create(e,n,s,i,r,a):ol("XMLHttpRequest")),o.fetch&&(t.fetch?t.fetch=ef.create(e,n,s,i,r,a):ol("fetch")),o.beacon&&!((l=t.navigator)===null||l===void 0)&&l.sendBeacon)){const u=t.navigator.sendBeacon;t.navigator.sendBeacon=Qd.create(u,e,n,s,i,r)}}function wr(t){return t.__or_req_data__||(t.__or_req_data__={body:void 0,headers:{}}),t.__or_req_data__}function al(t){return typeof t=="string"?t.toUpperCase():"GET"}function rf(t,e={}){const n=Object.assign({failuresOnly:!1,ignoreHeaders:["cookie","set-cookie","authorization"],capturePayload:!1,sessionTokenHeader:!1,captureInIframes:!0,axiosInstances:void 0,useProxy:!0},e);n.useProxy===!1&&t.debug.warn("Network module is migrating to proxy api, to gradually migrate and test it set useProxy to true");const s=n.ignoreHeaders,i=Array.isArray(s)?c=>s.includes(c):()=>s,r=n.sessionTokenHeader===!0?"X-OpenReplay-SessionToken":n.sessionTokenHeader;function o(c){if(r){const h=t.getSessionToken();h&&t.safe(c)(r,h)}}function a(c){if(n.capturePayload||(delete c.request.body,delete c.response.body),n.sanitizer){const h=c.response.body;if(typeof h=="string")try{c.response.body=JSON.parse(h)}catch{}return n.sanitizer(c)}return c}function l(c){if(c&&typeof c.body!="string")try{c.body=JSON.stringify(c.body)}catch{c.body="<unable to stringify>",t.notify.warn("Openreplay fetch couldn't stringify body:",c.body)}return JSON.stringify(c)}const u=c=>{if(n.useProxy)return sf(c,n.ignoreHeaders,o,a,I=>{t.send(Ws(I.requestType,I.method,I.url,I.request,I.response,I.status,I.startTime+On(),I.duration,I.responseSize))},I=>t.isServiceURL(I),{xhr:!0,fetch:!0,beacon:!0},n.tokenUrlMatcher);const h=c.fetch.bind(c),d=(I,g={})=>{if(!(typeof I=="string"||I instanceof URL)||t.isServiceURL(String(I)))return h(I,g);o(function(_,k){g.headers===void 0&&(g.headers={}),g.headers instanceof Headers?g.headers.append(_,k):Array.isArray(g.headers)?g.headers.push([_,k]):g.headers[_]=k});const b=performance.now();return h(I,g).then(_=>{const k=performance.now()-b;if(n.failuresOnly&&_.status<400)return _;const y=_.clone();return y.text().then(E=>{const P={},j={};if(s!==!0){const U=([B,J])=>{i(B)||(P[B]=J)};g.headers instanceof Headers?g.headers.forEach((B,J)=>U([J,B])):Array.isArray(g.headers)?g.headers.forEach(U):typeof g.headers=="object"&&Object.entries(g.headers).forEach(U),y.headers.forEach((B,J)=>{i(J)||(j[J]=B)})}const L=al(g.method),Q=a({url:String(I),method:L,status:y.status,request:{headers:P,body:g.body||null},response:{headers:j,body:E}});Q&&t.send(Ws("fetch",L,String(Q.url),l(Q.request),l(Q.response),y.status,b+On(),k,0))}).catch(E=>t.debug.error("Could not process Fetch response:",E)),_})};c.fetch=d;const p=c.XMLHttpRequest.prototype.open,f=c.XMLHttpRequest.prototype.setRequestHeader,m=c.XMLHttpRequest.prototype.send;function S(I,g){const b=this;o((k,y)=>b.setRequestHeader(k,y));let _=0;return b.addEventListener("loadstart",k=>{_=k.timeStamp}),b.addEventListener("load",t.safe(k=>{const{headers:y,body:E}=wr(b),P=_>0?k.timeStamp-_:0,L=(b.getAllResponseHeaders()||"").trim().split(/[\r\n]+/),Q={};L.forEach(function(J){const te=J.split(": "),R=te.shift();i(R)||(Q[R]=te.join(": "))});const U=al(I),B=a({url:String(g),method:U,status:b.status,request:{headers:y,body:E||null},response:{headers:Q,body:b.response}});B&&t.send(Ws("xhr",U,String(B.url),l(B.request),l(B.response),b.status,_+On(),P,0))})),p.apply(this,arguments)}function T(I){const g=wr(this);return g.body=I,m.apply(this,arguments)}function x(I,g){if(!i(I)){const b=wr(this);b.headers[I]=g}return f.apply(this,arguments)}n.axiosInstances||(c.XMLHttpRequest.prototype.open=S,c.XMLHttpRequest.prototype.send=T,c.XMLHttpRequest.prototype.setRequestHeader=x)};u(window),n.axiosInstances&&n.axiosInstances.forEach(c=>{qd(t,c,n,a,l)}),n.captureInIframes&&t.observer.attachContextCallback(t.safe(u))}function of(t){t.attachEventListener(document,"selectionchange",()=>{const e=document.getSelection();if(e!==null&&!e.isCollapsed){const n=t.nodes.getID(e.anchorNode),s=t.nodes.getID(e.focusNode),i=e.toString().replace(/\s+/g," ");n&&s&&t.send(Sa(n,s,i))}else t.send(Sa(-1,-1,""))})}function af(t){function e(){document.hidden||(t.debug.log("Openreplay: tab change to"+t.session.getTabId()),t.send(zs(t.session.getTabId())))}t.attachEventListener(window,"focus",e,!1,!1)}const ei="/installation/javascript-sdk";function lf(t){if(t==null)return console.error(`OpenReplay: invalid options argument type. Please, check documentation on ${Fs}${ei}`),!1;if(typeof t.projectKey!="string")if(typeof t.projectKey!="number"){if(typeof t.projectID!="number")return console.error(`OpenReplay: projectKey is missing or wrong type (string is expected). Please, check ${Fs}${ei} for more information.`),!1;t.projectKey=t.projectID.toString(),Vt("`projectID` option","`projectKey` option",ei)}else console.warn("OpenReplay: projectKey is expected to have a string type."),t.projectKey=t.projectKey.toString();return t.sessionToken!=null&&Vt("`sessionToken` option","`sessionHash` start() option","/"),!0}const cf=()=>{try{return!!window.top}catch{return!1}};class uf{constructor(e){var a,l;if(this.options=e,this.app=null,this.crossdomainMode=!1,this.checkDoNotTrack=()=>this.options.respectDoNotTrack&&(navigator.doNotTrack=="1"||window.doNotTrack=="1"),this.signalStartIssue=(u,c)=>{const h=this.checkDoNotTrack(),d=new XMLHttpRequest,p=this.options.ingestPoint||Wa;d.open("POST",p+"/v1/web/not-started"),d.send(JSON.stringify({trackerVersion:"14.0.14",projectKey:this.options.projectKey,doNotTrack:h,reason:c.length?`missing api: ${c.join(",")}`:u}))},this.restartCanvasTracking=()=>{this.app!==null&&this.app.restartCanvasTracking()},this.handleError=(u,c={})=>{if(this.app!==null){if(u instanceof Error){const h=Ks(u,[],c);this.app.send(h)}else if(u instanceof ErrorEvent||"PromiseRejectionEvent"in window&&u instanceof PromiseRejectionEvent){const h=Va(u,void 0,c);h!=null&&this.app.send(h)}}},this.crossdomainMode=!!(ca()&&((a=e.crossdomain)!=null&&a.enabled)),!dt||!lf(e)){console.error("OpenReplay: tracker called in a non-browser environment or with invalid options");return}if(window.__OPENREPLAY__||!this.crossdomainMode&&ca()&&cf()&&((l=window.top)!=null&&l.__OPENREPLAY__)){console.error("OpenReplay: one tracker instance has been initialised already");return}if(!e.__DISABLE_SECURE_MODE&&location.protocol!=="https:"){console.error("OpenReplay: Your website must be publicly accessible and running on SSL in order for OpenReplay to properly capture and replay the user session. You can disable this check by setting `__DISABLE_SECURE_MODE` option to `true` if you are testing in localhost. Keep in mind, that asset files on a local machine are not available to the outside world. This might affect tracking if you use css files.");return}const n=this.checkDoNotTrack(),s=[],i=["Map","Set","MutationObserver","performance","timing","startsWith","Blob","Worker"];if(n)s.push("doNotTrack");else for(const u of i)if(u==="timing"){if("performance"in window&&!(u in performance)){s.push(u);break}}else if(u==="startsWith"){if(!(u in String.prototype)){s.push(u);break}}else if(!(u in window)){s.push(u);break}if(s.length>0){const u=s.join(",");console.error(`OpenReplay: browser doesn't support API required for tracking or doNotTrack is set to 1. Reason: ${u}`),this.signalStartIssue("missing_api",s);return}const r=new Xh(e.projectKey,e.sessionToken,e,this.signalStartIssue,this.crossdomainMode);this.app=r,this.crossdomainMode||(Fd(r),Yh(r),sh(r,e),af(r)),Ad(r,e.mouse),Bd(r,this.crossdomainMode),jd(r),zd(r),$h(r,e),fd(r,e),md(r),Sd(r,e),Ld(r,e),Ud(r),Hd(r),rf(r,e.network),of(r),window.__OPENREPLAY__=this,e.flags&&e.flags.onFlagsLoad&&this.onFlagsLoad(e.flags.onFlagsLoad);const o=window.open;(e.autoResetOnWindowOpen||e.resetTabOnWindowOpen)&&(r.attachStartCallback(()=>{const u=r.getTabId(),c=r.sessionStorage??window.sessionStorage;window.open=function(...h){return e.autoResetOnWindowOpen&&r.resetNextPageSession(!0),e.resetTabOnWindowOpen&&c.removeItem(e.session_tabid_key||"__openreplay_tabid"),r.resetNextPageSession(!1),c.setItem(e.session_tabid_key||"__openreplay_tabid",u),o.call(window,...h)}}),r.attachStopCallback(()=>{window.open=o}))}isFlagEnabled(e){return this.featureFlags.isFlagEnabled(e)}onFlagsLoad(e){var n;(n=this.app)==null||n.featureFlags.onFlagsLoad(e)}clearPersistFlags(){var e;(e=this.app)==null||e.featureFlags.clearPersistFlags()}reloadFlags(){var e;return(e=this.app)==null?void 0:e.featureFlags.reloadFlags()}getFeatureFlag(e){var n;return(n=this.app)==null?void 0:n.featureFlags.getFeatureFlag(e)}getAllFeatureFlags(){var e;return(e=this.app)==null?void 0:e.featureFlags.flags}use(e){return e(this.app,this.options)}isActive(){return this.app===null?!1:this.app.active()}trackWs(e){if(this.app!==null)return this.app.trackWs(e)}start(e){return this.browserEnvCheck()?this.app===null?Promise.reject("Browser doesn't support required api, or doNotTrack is active."):this.app.start(e):Promise.reject("Trying to start not in browser.")}browserEnvCheck(){return dt?!0:(console.error(`OpenReplay: you are trying to start Tracker on a node.js environment. If you want to use OpenReplay with SSR, please, use componentDidMount or useEffect API for placing the \`tracker.start()\` line. Check documentation on ${Fs}${ei}`),!1)}coldStart(e,n){if(this.browserEnvCheck()){if(this.app===null)return Promise.reject("Tracker not initialized");this.app.coldStart(e,n)}else return Promise.reject("Trying to start not in browser.")}startOfflineRecording(e,n){return this.browserEnvCheck()?this.app===null?Promise.reject("Tracker not initialized"):this.app.offlineRecording(e,n):Promise.reject("Trying to start not in browser.")}uploadOfflineRecording(){if(this.app!==null)return this.app.uploadOfflineRecording()}stop(){if(this.app!==null)return this.app.stop(),this.app.session.getSessionHash()}forceFlushBatch(){this.app!==null&&this.app.forceFlushBatch()}getSessionToken(){return this.app===null?null:this.app.getSessionToken()}getSessionInfo(){return this.app===null?null:this.app.session.getInfo()}getSessionID(){return this.app===null?null:this.app.getSessionID()}getTabId(){return this.app===null?null:this.app.getTabId()}getUxId(){return this.app===null?null:this.app.getUxtId()}sessionID(){return Vt("'sessionID' method","'getSessionID' method","/"),this.getSessionID()}getSessionURL(e){if(this.app!==null)return this.app.getSessionURL(e)}setUserID(e){typeof e=="string"&&this.app!==null&&this.app.session.setUserID(e)}userID(e){Vt("'userID' method","'setUserID' method","/"),this.setUserID(e)}setUserAnonymousID(e){typeof e=="string"&&this.app!==null&&this.app.send(Uu(e))}userAnonymousID(e){Vt("'userAnonymousID' method","'setUserAnonymousID' method","/"),this.setUserAnonymousID(e)}setMetadata(e,n){typeof e=="string"&&typeof n=="string"&&this.app!==null&&this.app.session.setMetadata(e,n)}metadata(e,n){Vt("'metadata' method","'setMetadata' method","/"),this.setMetadata(e,n)}event(e,n=null,s=!1){if(typeof e=="string"&&this.app!==null){if(s)return this.issue(e,n);try{n=JSON.stringify(n)}catch{return}this.app.send(zu(e,n))}}issue(e,n=null){if(typeof e=="string"&&this.app!==null){try{n=JSON.stringify(n)}catch{return}this.app.send(Xu(e,n))}}}function hf(t){return{id:String(t.ID),appellation:t.Appellation||null,country:t.Country||null,grape:t.Grape,image:t.Image,price:Number(t.Price),producer:t.Producer||null,region:t.Region,score:t.Score?Number(t.Score):null,shortDescription:t["Short Description"]||null,store:t.Store,storeId:t.Store_id||null,tags:Array.isArray(t.Tags)?t.Tags.map(String):[],title:t.Title,type:t.Type,url:t.Url||null,vintage:t.Vintage?Number(t.Vintage):null,pairingRecommendation:t.pairing_recommendation||null,total:t.Total?Number(t.Total):null,itemId:t.item_id||null,isPromote:t.is_promote?!!t.is_promote:null,stock:t.stock?Number(t.stock):null}}function df(t){return{id:String(t.id),title:String(t.title),description:String(t.description),region:String(t.region),price:Number(t.price),grape:String(t.grape),appellation:t.appellation?String(t.appellation):null,url:t.url?String(t.url):null,store:String(t.store),storeId:t.storeId?String(t.storeId):null,image:String(t.image),country:t.country?String(t.country):null,vintage:t.vintage?Number(t.vintage):null,tags:Array.isArray(t.tags)?t.tags.map(String):[],score:t.score?Number(t.score):null,total:t.total?Number(t.total):null,isPromote:t.is_promote?!!t.is_promote:null,stock:t.stock?Number(t.stock):null,distance:Number(t.distance),reason:String(t.reason),type:String(t.type)}}class ff{constructor(e,n="1"){V(this,Vn,"https://api.wineater.com/");V(this,mn);V(this,Gn);W(this,mn,e),W(this,Gn,n)}async getInstantRecommendations(){try{const e=w(this,Gn)==="2"?"dish/recommendations/instant/v2":"dish/recommendations/instant",n=await fetch(`${w(this,Vn)}${e}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${w(this,mn)}`}}),s=await n.json();if(!n.ok)throw new Error(`API call failed with status ${n.status}: ${s.message||"No additional error information"}`);return s.filter(Boolean).map(hf)}catch(e){throw new Error(`Error in getInstantRecommendations: ${e.message}`)}}async getWineRecommendationsSearch(e){try{const n=w(this,Gn)==="2"?"dish/recommendations/search/v2":"dish/recommendations/search",s=await fetch(`${w(this,Vn)}${n}`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${w(this,mn)}`},body:JSON.stringify({text:e})}),i=await s.json();if(!s.ok)throw new Error(`API call failed with status ${s.status}: ${i.message||"No additional error information"}`);return i.filter(Boolean).map(df)}catch(n){throw new Error(`Error in getWineRecommendations: ${n.message}`)}}async getStoreConfig(){try{const e=await fetch(`${w(this,Vn)}stores/store`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${w(this,mn)}`}});if(!e.ok)throw new Error(`HTTP error! Status: ${e.status}`);return await e.json()}catch(e){throw console.error("Error fetching store configuration:",e),e}}}Vn=new WeakMap,mn=new WeakMap,Gn=new WeakMap;const pf=((pl=window==null?void 0:window.wineaterData)==null?void 0:pl.CLIENT_TOKEN)||"HeUw6IXuhvz6tRuXdPEGEbj3SGQ3Q2YtEc1Z8jd41Kg9LtyPb4Epu0to31SYIadG",gf=String(((gl=window==null?void 0:window.wineaterData)==null?void 0:gl.apiVersion)||"1"),br=new ff(pf,gf),ot={WIDGET_INITIALIZED:"widget_initialized",WIDGET_LOADED:"widget_loaded",SEARCH_PERFORMED:"search_performed",SEARCH_RESULTS_DISPLAYED:"search_results_displayed",NO_RESULTS_FOUND:"no_results_found",WINE_CARD_HOVER:"wine_card_hover",WINE_CARD_CLICK:"wine_card_click",WINE_DETAILS_VIEWED:"wine_details_viewed",WINE_DETAILS_CLOSED:"wine_details_closed",BUY_BUTTON_CLICKED:"buy_button_clicked",FILTER_APPLIED:"filter_applied",LANGUAGE_CHANGED:"language_changed",ERROR_OCCURRED:"error_occurred",MOBILE_VIEW_ACTIVATED:"mobile_view_activated"},mf={fr:{lang:"fr",welcomeMessage:"Quel plat allez-vous déguster ? Décrivez-le-moi et je vous proposerai le vin qui l'accompagnera parfaitement.",noResultsFound:"Aucun résultat trouvé.",somethingWentWrong:"Désolé, quelque chose a mal tourné.",chatButton1:"Trouvez l'accord parfait",chatButton2:"Associez le vin",chatButton3:"Obtenez des conseils",chatTitle:"Accord Mets & Vins 🍷",chatSubtitle:"Décrivez votre plat et obtenez une recommandation en 30 secondes",inputPlaceholder:"ex., Salade de thon",sendButton:"Accorder",poweredBy:"Propulsé par",price:"Prix",region:"Région",type:"Type",reason:"Suggestion",moreInfo:"Plus d'infos",winePairingIntro:"Pour ce vin, voici quelques suggestions de plats :",askForDinner:"Que voulez-vous manger ce soir?",clearChatButton:"Effacer le chat",widgetTitle:"TROUVEZ VOTRE VIN PARFAIT",widgetSubtitle:"Partagez tout ce que vous avez en tête—votre repas, humeur, budget ou occasion—et notre sommelier IA vous recommandera le vin parfait en quelques secondes",searchPlaceholder:"Entrez un mot-clé ou une description","wineDetails.reason":"Raison","wineDetails.price":"Prix","wineDetails.region":"Région","wineDetails.type":"Type","wineDetails.moreInfo":"Plus d'infos","wineDetails.code":"Code","wineDetails.buy":"Acheter",searchButton:"Rechercher",priceRange:"Gamme de prix",wineColor:"Couleur du vin",intensity:"Intensité",red:"Rouge",white:"Blanc",rose:"Rosé",light:"Léger",medium:"Moyen",full:"Puissant",barTitle:"Sélection du bar",barSubtitle:"Choisissez vos plats ci-dessous et cliquez sur «Envoyer»",barSendButton:"Envoyer",barResetButton:"Réinitialiser",barName:"Nom du bar",barNotesPlaceholder:"Entrez vos souhaits ici...",placeholderSuggestions:["Vin pour les pâtes","Parfait avec du poisson","Recommandé pour une soirée"],headerLine1:"Partagez tout ce qui vous passe par la tête —",headerLine2:"— et obtenez des recommandations de vin parfait en quelques secondes",headerMeal:"repas",headerMood:"humeur",headerBudget:"budget",headerOccasion:"occasion",headerOr:"ou",errorMessage:"Une erreur est survenue. Veuillez réessayer plus tard.",noResultsMessage:"Aucun résultat trouvé pour votre recherche. Veuillez essayer une autre requête.",ai_sommelier:"AI sommelier"},es:{lang:"es",welcomeMessage:"¿Qué vas a comer? Cuéntame tu plato y te recomendaré el maridaje perfecto.",noResultsFound:"No se encontraron resultados.",somethingWentWrong:"Lo sentimos, algo salió mal.",chatButton1:"Encuentra tu maridaje",chatButton2:"Combina vino ya",chatButton3:"Recibe asesoría ahora",chatTitle:"Maridaje de Vinos 🍷",chatSubtitle:"Describe tu comida y obtén una recomendación en 30 segundos",inputPlaceholder:"ej., Ensalada de atún",sendButton:"Combinar",poweredBy:"Desarrollado por",price:"Precio",region:"Región",type:"Tipo",reason:"Sugerencia",moreInfo:"Más info",winePairingIntro:"Para este vino, aquí tienes algunas sugerencias de platos:",askForDinner:"¿Qué te gustaría cenar?",clearChatButton:"Limpiar el chat",widgetTitle:"ENCUENTRA TU VINO PERFECTO",widgetSubtitle:"Comparte cualquier cosa que tengas en mente—tu comida, estado de ánimo, presupuesto o evento—y nuestro sommelier de IA te recomendará el vino perfecto en segundos",searchPlaceholder:"Escribe una palabra clave o descripción","wineDetails.reason":"Razón","wineDetails.price":"Precio","wineDetails.region":"Región","wineDetails.type":"Tipo","wineDetails.code":"Código","wineDetails.moreInfo":"Más información","wineDetails.buy":"Comprar",searchButton:"Buscar",priceRange:"Rango de precios",wineColor:"Color del vino",intensity:"Intensidad",red:"Tinto",white:"Blanco",rose:"Rosado",light:"Ligero",medium:"Medio",full:"Intenso",barTitle:"Platos de Bar",barSubtitle:"Selecciona de la lista y presiona «Enviar»",barSendButton:"Enviar",barResetButton:"Reiniciar",barName:"Nombre del bar",barNotesPlaceholder:"Agrega tus comentarios aquí...",placeholderSuggestions:["Vino para pasta","Perfecto con pescado","Recomendado para una fiesta"],headerLine1:"Comparte cualquier cosa que tengas en mente —",headerLine2:"— y obtén recomendaciones del vino perfecto en cuestión de segundos",headerMeal:"comida",headerMood:"estado de ánimo",headerBudget:"presupuesto",headerOccasion:"ocasión",headerOr:"o",errorMessage:"Algo salió mal. Por favor, inténtalo de nuevo más tarde.",noResultsMessage:"No se encontraron resultados para tu búsqueda. Por favor, intenta con otra consulta.",ai_sommelier:"AI sommelier"},en:{lang:"en",welcomeMessage:"What are you planning to eat? Share your dish and I'll recommend the perfect wine pairing for your meal.",noResultsFound:"No results found.",somethingWentWrong:"Sorry, something went wrong.",chatButton1:"Find Your Pairing",chatButton2:"Pair Wine Now",chatButton3:"Get Wine Advice",chatTitle:"Wine Pairing Assistant 🍷",chatSubtitle:"Describe your meal and get a recommendation in 30 seconds",inputPlaceholder:"e.g., Tuna salad",sendButton:"Match",poweredBy:"Powered by",price:"Price",region:"Region",type:"Type",reason:"Suggestion",moreInfo:"More info",winePairingIntro:"For this wine, here are some suggested dishes:",askForDinner:"What would you like to have for dinner?",clearChatButton:"Clear Chat",widgetTitle:"FIND YOUR PERFECT WINE",widgetSubtitle:"Share anything on your mind—your meal, mood, budget, or occasion—and our AI sommelier will recommend the perfect wine in seconds",searchPlaceholder:"Enter a keyword or description","wineDetails.price":"Price","wineDetails.region":"Region","wineDetails.type":"Type","wineDetails.moreInfo":"More info","wineDetails.reason":"Reason","wineDetails.code":"Code","wineDetails.buy":"Buy",searchButton:"Search",priceRange:"Price Range",wineColor:"Wine Color",intensity:"Intensity",red:"Red",white:"White",rose:"Rosé",light:"Light",medium:"Medium",full:"Full",barTitle:"Bar Dishes",barSubtitle:"Select dishes below and click 'Send'",barSendButton:"Send",barResetButton:"Reset",barName:"Bar Name",barNotesPlaceholder:"Add your wishes here...",placeholderSuggestions:["Wine for pasta","Perfect with fish","Recommended for a party"],headerLine1:"Share anything on your mind —",headerLine2:"— and get recommendations of the perfect wine in seconds",headerMeal:"meal",headerMood:"mood",headerBudget:"budget",headerOccasion:"occasion",headerOr:"or",errorMessage:"Something went wrong. Please try again later.",noResultsMessage:"No results found for your search. Please try a different query.",ai_sommelier:"AI sommelier"},sr:{lang:"sr",welcomeMessage:"Šta planirate da jedete? Podelite svoje jelo i preporučiću vam savršeno vino uz obrok.",noResultsFound:"Nema rezultata.",somethingWentWrong:"Izvinite, nešto je pošlo po zlu.",chatButton1:"Pronađi vino",chatButton2:"Upari vino sada",chatButton3:"Zatraži preporuku",chatTitle:"Asistent za uparivanje vina 🍷",chatSubtitle:"Opišite svoj obrok i dobijte preporuku za 30 sekundi",inputPlaceholder:"npr. Tuna salata",sendButton:"Upari",poweredBy:"Pokreće",price:"Cena",region:"Regija",type:"Tip",reason:"Preporuka",moreInfo:"Više informacija",winePairingIntro:"Za ovo vino, preporučuju se sledeća jela:",askForDinner:"Šta biste želeli za večeru?",clearChatButton:"Obriši razgovor",widgetTitle:"PRONAĐITE SAVRŠENO VINO",widgetSubtitle:"Podelite bilo šta — obrok, raspoloženje, budžet ili priliku — i naš AI somelijer će vam za par sekundi preporučiti vino",searchPlaceholder:"Unesite ključnu reč ili opis","wineDetails.price":"Cena","wineDetails.region":"Regija","wineDetails.type":"Tip","wineDetails.moreInfo":"Više informacija","wineDetails.reason":"Razlog","wineDetails.code":"Šifra","wineDetails.buy":"Kupi",searchButton:"Pretraga",priceRange:"Cenovni raspon",wineColor:"Boja vina",intensity:"Intenzitet",red:"Crveno",white:"Belo",rose:"Roze",light:"Lako",medium:"Srednje",full:"Puno",barTitle:"Jela iz bara",barSubtitle:"Izaberite jela ispod i kliknite 'Pošalji'",barSendButton:"Pošalji",barResetButton:"Resetuj",barName:"Naziv bara",barNotesPlaceholder:"Dodajte svoje želje ovde...",placeholderSuggestions:["Vino uz pastu","Savršeno uz ribu","Preporuka za žurku"],headerLine1:"Podelite bilo šta što vam je na umu —",headerLine2:"— i dobijte preporuke za savršeno vino za par sekundi",headerMeal:"obrok",headerMood:"raspoloženje",headerBudget:"budžet",headerOccasion:"prilika",headerOr:"ili",errorMessage:"Nešto je pošlo po zlu. Molimo pokušajte ponovo kasnije.",noResultsMessage:"Nema rezultata za vašu pretragu. Molimo pokušajte sa drugačijim upitom.",ai_sommelier:"AI sommelier"},de:{lang:"de",welcomeMessage:"Was möchten Sie essen? Beschreiben Sie Ihr Gericht und ich empfehle Ihnen den perfekten Wein dazu.",noResultsFound:"Keine Ergebnisse gefunden.",somethingWentWrong:"Entschuldigung, etwas ist schief gelaufen.",chatButton1:"Finde Dein Pairing",chatButton2:"Wein jetzt wählen",chatButton3:"Erhalte Weinberatung",chatTitle:"Wein & Speisen 🍷",chatSubtitle:"Beschreiben Sie Ihr Gericht und erhalten Sie in 30 Sekunden eine Empfehlung",inputPlaceholder:"z.B., Thunfischsalat",sendButton:"Kombinieren",poweredBy:"Unterstützt von",price:"Preis",region:"Region",type:"Typ",reason:"Anregung",moreInfo:"Mehr Info",winePairingIntro:"Für diesen Wein gibt es folgende Essensvorschläge:",askForDinner:"Was möchten Sie zum Abendessen essen?",clearChatButton:"Chat löschen",widgetTitle:"FINDEN SIE IHREN PERFEKTEN WEIN",widgetSubtitle:"Teilen Sie alles, was Ihnen in den Sinn kommt—Ihre Mahlzeit, Stimmung, Ihr Budget oder Anlass—und unser KI-Sommelier empfiehlt Ihnen in Sekunden den perfekten Wein",placeholderSuggestions:["Wein für Pasta","Perfekt zu Fisch","Empfohlen für eine Party"],searchPlaceholder:"Geben Sie ein Stichwort oder eine Beschreibung ein","wineDetails.price":"Preis","wineDetails.region":"Region","wineDetails.type":"Typ","wineDetails.moreInfo":"Mehr Info","wineDetails.reason":"Grund","wineDetails.code":"Code","wineDetails.buy":"Kaufen",searchButton:"Suche",priceRange:"Preisspanne",wineColor:"Weinfarbe",intensity:"Intensität",red:"Rot",white:"Weiß",rose:"Rosé",light:"Leicht",medium:"Mittel",full:"Voll",barTitle:"Bar-Auswahl",barSubtitle:"Wählen Sie Ihre Gerichte und klicken Sie auf 'Senden'",barSendButton:"Senden",barResetButton:"Zurücksetzen",barName:"Name der Bar",headerLine1:"Teilen Sie alles, was Ihnen durch den Kopf geht —",headerLine2:"— und erhalten Sie in Sekundenschnelle Empfehlungen für den perfekten Wein",headerMeal:"Mahlzeit",headerMood:"Stimmung",headerBudget:"Budget",headerOccasion:"Anlass",headerOr:"oder",errorMessage:"Etwas ist schief gelaufen. Bitte versuchen Sie es später erneut.",noResultsMessage:"Keine Ergebnisse für Ihre Suche gefunden. Bitte versuchen Sie es mit einer anderen Anfrage.",ai_sommelier:"AI sommelier"},ukr:{lang:"ukr",welcomeMessage:"Що ви збираєтесь їсти? Опишіть свою страву, і я порекомендую вам ідеальне вино.",noResultsFound:"Результатів не знайдено.",somethingWentWrong:"Вибачте, щось пішло не так.",chatButton1:"Знайти ідеальне поєднання",chatButton2:"Підібрати вино",chatButton3:"Отримати пораду",chatTitle:"Сомельє-помічник 🍷",chatSubtitle:"Опишіть свою страву і отримайте рекомендацію за 30 секунд",inputPlaceholder:"наприклад, Тунець із салатом",sendButton:"Підібрати",poweredBy:"Розроблено на основі",price:"Ціна",region:"Регіон",type:"Тип",reason:"Рекомендація",moreInfo:"Докладніше",winePairingIntro:"До цього вина підходять такі страви:",askForDinner:"Що ви хочете на вечерю?",clearChatButton:"Очистити чат",widgetTitle:"ЗНАЙДІТЬ ІДЕАЛЬНЕ ВИНО",widgetSubtitle:"Поділіться тим, що у вас на думці—їжа, настрій, бюджет чи подія—і наш AI-сомельє порекомендує вам ідеальне вино за секунди",searchPlaceholder:"Введіть ключове слово або опис","wineDetails.reason":"Причина","wineDetails.price":"Ціна","wineDetails.region":"Регіон","wineDetails.type":"Тип","wineDetails.moreInfo":"Докладніше","wineDetails.code":"Код","wineDetails.buy":"Купити",searchButton:"Пошук",priceRange:"Діапазон цін",wineColor:"Колір вина",intensity:"Інтенсивність",red:"Червоне",white:"Біле",rose:"Рожеве",light:"Легке",medium:"Середнє",full:"Повне",barTitle:"Закуски до вина",barSubtitle:"Виберіть страви нижче та натисніть «Надіслати»",barSendButton:"Надіслати",barResetButton:"Скинути",barName:"Назва бару",barNotesPlaceholder:"Додайте ваші побажання тут...",placeholderSuggestions:["Вино до пасти","Ідеально до риби","Рекомендуємо для вечірки"],headerLine1:"Поділіться будь-якими вашими думками —",headerLine2:"— і отримайте рекомендації щодо ідеального вина за секунди",headerMeal:"страва",headerMood:"настрій",headerBudget:"бюджет",headerOccasion:"подія",headerOr:"або",errorMessage:"Щось пішло не так. Будь ласка, спробуйте пізніше.",noResultsMessage:"За вашим запитом не знайдено результатів. Спробуйте інший запит.",ai_sommelier:"AI sommelier"},ru:{lang:"ru",welcomeMessage:"Что вы планируете поесть? Напишите ваше блюдо, и я подберу идеальное вино к нему.",noResultsFound:"Результаты не найдены.",somethingWentWrong:"Извините, что-то пошло не так.",chatButton1:"Найти сочетание",chatButton2:"Подобрать вино",chatButton3:"Получить совет",chatTitle:"Ассистент по подбору вина 🍷",chatSubtitle:"Опишите ваше блюдо и получите рекомендацию за 30 секунд",inputPlaceholder:"например, Тунец с салатом",sendButton:"Подобрать",poweredBy:"Powered by",price:"Цена",region:"Регион",type:"Тип",reason:"Рекомендация",moreInfo:"Подробнее",winePairingIntro:"К этому вину подходят следующие блюда:",askForDinner:"Что бы вы хотели на ужин?",clearChatButton:"Очистить чат",widgetTitle:"НАЙДИТЬ ИДЕАЛЬНОЕ ВИНО",widgetSubtitle:"Поделитесь вашими предпочтениями — блюдом, настроением, бюджетом или случаем — и наш AI-сомелье подберёт идеальное вино за секунды",searchPlaceholder:"Введите ключевое слово или описание","wineDetails.price":"Цена","wineDetails.region":"Регион","wineDetails.type":"Тип","wineDetails.moreInfo":"Подробнее","wineDetails.reason":"Причина","wineDetails.code":"Код","wineDetails.buy":"Купить",searchButton:"Поиск",priceRange:"Диапазон цен",wineColor:"Цвет вина",intensity:"Интенсивность",red:"Красное",white:"Белое",rose:"Розовое",light:"Лёгкое",medium:"Среднее",full:"Полное",barTitle:"Закуски к вину",barSubtitle:"Выберите блюда ниже и нажмите 'Отправить'",barSendButton:"Отправить",barResetButton:"Сбросить",barName:"Название бара",barNotesPlaceholder:"Добавьте ваши пожелания здесь...",placeholderSuggestions:["Вино для пасты","Идеально к рыбе","Рекомендуем для вечеринки"],headerLine1:"Поделитесь любыми вашими мыслями —",headerLine2:"— и получите рекомендации по идеальному вину за считанные секунды",headerMeal:"блюдо",headerMood:"настроение",headerBudget:"бюджет",headerOccasion:"случай",headerOr:"или",errorMessage:"Что-то пошло не так. Пожалуйста, попробуйте позже.",noResultsMessage:"По вашему запросу не найдено результатов. Попробуйте другой запрос.",ai_sommelier:"AI sommelier"},kk:{lang:"kk",welcomeMessage:"Сіз не жегіңіз келеді? Тағамыңызды сипаттаңыз, мен оған керемет шарап ұсынамын.",noResultsFound:"Нәтижелер табылмады.",somethingWentWrong:"Кешіріңіз, бірдеңе дұрыс болмады.",chatButton1:"Сәйкестік табу",chatButton2:"Шарап таңдау",chatButton3:"Кеңес алу",chatTitle:"Шарап таңдаушы көмекші 🍷",chatSubtitle:"Тағамыңызды сипаттаңыз — 30 секундта ұсыныс алыңыз",inputPlaceholder:"мысалы, тунец салатымен",sendButton:"Таңдау",poweredBy:"Powered by",price:"Бағасы",region:"Өңір",type:"Түрі",reason:"Ұсыныс",moreInfo:"Толығырақ",winePairingIntro:"Бұл шарапқа келесі тағамдар сәйкес келеді:",askForDinner:"Кешкі асқа не қалайсыз?",clearChatButton:"Чатты тазалау",widgetTitle:"КЕРЕМЕТ ШАРАПТЫ ТАБЫҢЫЗ",widgetSubtitle:"Таңдауларыңызды бөлісіңіз — тағам, көңіл-күй, бюджет немесе жағдай — және біздің AI-сомелье сізге бірнеше секундта шарап ұсынады",searchPlaceholder:"Кілт сөзді немесе сипаттаманы енгізіңіз","wineDetails.price":"Бағасы","wineDetails.region":"Өңір","wineDetails.type":"Түрі","wineDetails.moreInfo":"Толығырақ","wineDetails.reason":"Себебі","wineDetails.code":"Код","wineDetails.buy":"Сатып алу",searchButton:"Іздеу",priceRange:"Баға диапазоны",wineColor:"Шарап түсі",intensity:"Қанықтылық",red:"Қызыл",white:"Ақ",rose:"Розалық",light:"Жеңіл",medium:"Орташа",full:"Толық",barTitle:"Шарапқа арналған тіскебасарлар",barSubtitle:"Төмендегі тағамдарды таңдаңыз және 'Жіберу' батырмасын басыңыз",barSendButton:"Жіберу",barResetButton:"Қалпына келтіру",barName:"Бар атауы",barNotesPlaceholder:"Мұнда өз тілектеріңізді жазыңыз...",placeholderSuggestions:["Пастаға арналған шарап","Балыққа тамаша үйлеседі","Кешке ұсынуға болады"],headerLine1:"Ойларыңызбен бөлісіңіз —",headerLine2:"— және бірнеше секундта мінсіз шарап ұсынысын алыңыз",headerMeal:"тағам",headerMood:"көңіл-күй",headerBudget:"бюджет",headerOccasion:"жағдай",headerOr:"немесе",errorMessage:"Бірдеңе дұрыс болмады. Кейінірек қайта көріңіз.",noResultsMessage:"Іздеуіңізге сәйкес нәтиже табылмады. Басқа сұрау қолданып көріңіз.",ai_sommelier:"AI sommelier"},pt:{lang:"pt",welcomeMessage:"O que você planeja comer? Descreva seu prato e eu recomendarei a harmonização perfeita.",noResultsFound:"Nenhum resultado encontrado.",somethingWentWrong:"Desculpe, algo deu errado.",chatButton1:"Encontre sua harmonização",chatButton2:"Harmonizar vinho agora",chatButton3:"Receber conselho de vinho",chatTitle:"Assistente de Harmonização de Vinhos 🍷",chatSubtitle:"Descreva sua refeição e receba uma recomendação em 30 segundos",inputPlaceholder:"ex., Salada de atum",sendButton:"Harmonizar",poweredBy:"Desenvolvido por",price:"Preço",region:"Região",type:"Tipo",reason:"Sugestão",moreInfo:"Mais informações",winePairingIntro:"Para este vinho, aqui estão algumas sugestões de pratos:",askForDinner:"O que você gostaria de jantar?",clearChatButton:"Limpar chat",widgetTitle:"ENCONTRE SEU VINHO PERFEITO",widgetSubtitle:"Compartilhe o que tiver em mente — sua refeição, humor, orçamento ou ocasião — e nosso sommelier de IA recomendará o vinho perfeito em segundos",searchPlaceholder:"Digite uma palavra-chave ou descrição","wineDetails.reason":"Motivo","wineDetails.price":"Preço","wineDetails.region":"Região","wineDetails.type":"Tipo","wineDetails.moreInfo":"Mais informações","wineDetails.code":"Código","wineDetails.buy":"Comprar",searchButton:"Pesquisar",priceRange:"Faixa de preço",wineColor:"Cor do vinho",intensity:"Intensidade",red:"Tinto",white:"Branco",rose:"Rosé",light:"Leve",medium:"Médio",full:"Encorpado",barTitle:"Pratos do bar",barSubtitle:"Selecione os pratos abaixo e clique em 'Enviar'",barSendButton:"Enviar",barResetButton:"Resetar",barName:"Nome do bar",barNotesPlaceholder:"Adicione seus desejos aqui...",placeholderSuggestions:["Vinho para massa","Perfeito com peixe","Recomendado para uma festa"],headerLine1:"Compartilhe o que tiver em mente —",headerLine2:"— e receba recomendações do vinho perfeito em segundos",headerMeal:"refeição",headerMood:"humor",headerBudget:"orçamento",headerOccasion:"ocasião",headerOr:"ou",errorMessage:"Algo deu errado. Por favor, tente novamente mais tarde.",noResultsMessage:"Nenhum resultado encontrado para sua pesquisa. Por favor, tente uma consulta diferente.",ai_sommelier:"AI sommelier"}};function vf(t){return{id:String(t.id),lang:t.lang,available_languages:t.available_languages?t.available_languages:[t.lang],open_ai_key:t.open_ai_key??null,currency:t.currency,title:t.title}}const wf={0:{logoUrl:null,brandColor:"#7B2BEB"},29:{logoUrl:"https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/plou_logo.jpg",brandColor:"#e6c6bb"},25:{logoUrl:null,brandColor:"#000000",wineaterColor:"#000000",buttonUppercase:!0,customCss:`
|
|
20
20
|
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700&display=swap');
|
|
21
21
|
:root { --wineater-font-primary: 'Roboto', sans-serif; }
|
|
22
22
|
#wr-Custom {
|
|
@@ -117,10 +117,10 @@ We appreciate your time and valuable input.`),r=X("div","end_button_or",Ea,"Subm
|
|
|
117
117
|
background-color: #8bae98;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
`}};function
|
|
120
|
+
`}};function bf(t){const e={logoUrl:null,brandColor:"#7B2BEB",wineaterColor:"#7B2BEB",customCss:`
|
|
121
121
|
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&display=swap');
|
|
122
122
|
:root { --wineater-font-primary: 'Bricolage Grotesque', serif; }
|
|
123
|
-
`},n=
|
|
123
|
+
`},n=wf[t]||{};return{...e,...n}}let fe=ct({storeConfig:null,currentLanguage:"en",isConfigLoaded:!1,uiConfig:null});const ve={getLanguageFromURL(){return new URLSearchParams(window.location.search).get("lang")},getAppLanguage(){return(fe==null?void 0:fe.currentLanguage)??"en"},getStoreLanguage(){var t;return((t=fe.storeConfig)==null?void 0:t.lang)??null},getApiKey(){var t;return((t=fe.storeConfig)==null?void 0:t.open_ai_key)??null},getStoreId(){var t;return((t=fe.storeConfig)==null?void 0:t.id)??null},setStoreLanguage(t){if(fe.storeConfig&&fe.storeConfig.available_languages.includes(t)){fe.currentLanguage=t;const e=new URLSearchParams(window.location.search);e.set("lang",t);const n=`${window.location.pathname}?${e.toString()}`;window.history.replaceState({},"",n)}else throw new Error(`Language ${t} is not available in store configuration.`)},getSupportedLanguages(){var t;return((t=fe.storeConfig)==null?void 0:t.available_languages)??["en"]},getCurrency(){var t;return((t=fe.storeConfig)==null?void 0:t.currency)??"USD"},async initializeStore(){try{const t=await br.getStoreConfig();fe.storeConfig=vf(t),fe.currentLanguage=fe.storeConfig.lang;const e=this.getLanguageFromURL();e&&fe.storeConfig.available_languages.includes(e)?this.setStoreLanguage(e):this.setStoreLanguage(fe.storeConfig.lang),this.setUiConfig(bf(fe.storeConfig.id)),fe.isConfigLoaded=!0}catch(t){console.error("Failed to initialize store:",t),fe.isConfigLoaded=!1}},isInitialized(){return fe.isConfigLoaded},getUiConfig(){return fe.uiConfig},setUiConfig(t){fe.uiConfig=t}},yf={en:"en-US",de:"de-DE",fr:"fr-FR",es:"es-ES",it:"it-IT",ja:"ja-JP",zh:"zh-CN",ru:"ru-RU",kk:"kk-KZ",pt:"pt-PT"};function Sf(t,e,n="en"){try{return new Intl.NumberFormat(yf[n]||"en-US",{style:"currency",currency:e,currencyDisplay:"narrowSymbol"}).format(t)}catch{return t.toString()}}function Ne({key:t,lang:e}){const n=mf,s=ve.getUiConfig(),i=(s==null?void 0:s.translations)||{};if(i[e]&&i[e][t])return i[e][t];if(n[e]&&n[e][t])return n[e][t];throw new Error(`Translation for key "${t}" not found in language "${e}".`)}async function _f({sourceLang:t,targetLang:e,texts:n,apiKey:s}){var u,c,h,d;if(!s||!t||!e||t===e)return n;const i="https://api.openai.com/v1/chat/completions",r={"Content-Type":"application/json",Authorization:`Bearer ${s}`},o=Object.entries(n).map(([p,f])=>({key:p,text:f})),a=`
|
|
124
124
|
You are a professional translator.
|
|
125
125
|
|
|
126
126
|
The input texts are written in language with code "${t}". Your task is to translate them strictly to the target language with code "${e}".
|
|
@@ -145,18 +145,18 @@ Output:
|
|
|
145
145
|
|
|
146
146
|
Now translate the following input:
|
|
147
147
|
${JSON.stringify(o,null,2)}
|
|
148
|
-
`,l=JSON.stringify({model:"gpt-3.5-turbo",messages:[{role:"system",content:"You are a professional translator."},{role:"user",content:a}],temperature:.2,max_tokens:1e3});try{const f=await(await fetch(i,{method:"POST",headers:r,body:l})).json(),m=(d=(h=(c=(u=f==null?void 0:f.choices)==null?void 0:u[0])==null?void 0:c.message)==null?void 0:h.content)==null?void 0:d.trim();if(!m)throw new Error("No response from OpenAI");const S=JSON.parse(m),T={};return S.forEach(x=>{x.key&&x.text!==void 0&&(T[x.key]=x.text)}),{...n,...T}}catch(p){return console.error("Error translating texts:",p),n}}
|
|
148
|
+
`,l=JSON.stringify({model:"gpt-3.5-turbo",messages:[{role:"system",content:"You are a professional translator."},{role:"user",content:a}],temperature:.2,max_tokens:1e3});try{const f=await(await fetch(i,{method:"POST",headers:r,body:l})).json(),m=(d=(h=(c=(u=f==null?void 0:f.choices)==null?void 0:u[0])==null?void 0:c.message)==null?void 0:h.content)==null?void 0:d.trim();if(!m)throw new Error("No response from OpenAI");const S=JSON.parse(m),T={};return S.forEach(x=>{x.key&&x.text!==void 0&&(T[x.key]=x.text)}),{...n,...T}}catch(p){return console.error("Error translating texts:",p),n}}$l();var kf=Ts('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38" fill="none"><path d="M10.036 4.96326H28.2826L34.3648 14.0865L19.1593 33.8537L3.95381 14.0865L10.036 4.96326Z" stroke="currentColor" stroke-width="3.0411" stroke-linecap="round" stroke-linejoin="round"></path><path d="M17.6388 4.96326L13.0771 14.0865L19.1593 33.8537L25.2415 14.0865L20.6799 4.96326" stroke="currentColor" stroke-width="3.0411" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.95381 14.0867H34.3648" stroke="currentColor" stroke-width="3.0411" stroke-linecap="round" stroke-linejoin="round"></path></svg>');function ll(t,e){let n=Fe(e,"className",8,""),s=Fe(e,"size",8,20);var i=kf();K(()=>{Ut(i,0,In(n())),Ce(i,"width",s()),Ce(i,"height",s())}),M(t,i)}var Tf=Ts('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38" fill="none"><path d="M29.533 21.4034C31.7986 19.1834 34.0946 16.5224 34.0946 13.0404C34.0946 10.8224 33.2135 8.69521 31.6451 7.12684C30.0768 5.55847 27.9496 4.67737 25.7316 4.67737C23.0554 4.67737 21.1699 5.43764 18.8891 7.71847C16.6083 5.43764 14.7228 4.67737 12.0467 4.67737C9.82865 4.67737 7.70148 5.55847 6.13311 7.12684C4.56474 8.69521 3.68364 10.8224 3.68364 13.0404C3.68364 16.5376 5.96446 19.1986 8.24528 21.4034L18.8891 32.0472L29.533 21.4034Z" stroke="currentColor" stroke-width="3.0411" stroke-linecap="round" stroke-linejoin="round"></path><path d="M18.8891 19.8829L17.3686 18.3623L20.4097 15.3212L15.848 10.7596L18.8891 7.71851" stroke="currentColor" stroke-width="3.0411" stroke-linecap="round" stroke-linejoin="round"></path></svg>');function cl(t,e){let n=Fe(e,"className",8,""),s=Fe(e,"size",8,20);var i=Tf();K(()=>{Ut(i,0,In(n())),Ce(i,"width",s()),Ce(i,"height",s())}),M(t,i)}var xf=Ts('<svg viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.041" d="M19.57 17.655a3.801 3.801 0 1 0 0-7.602 3.801 3.801 0 0 0 0 7.602Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.041" d="M19.57 3.97a9.884 9.884 0 0 0-9.458 6.995c-1.673 4.76-1.186 5.93-4.835 9.245a4.562 4.562 0 0 0 2.889 8.09c6.082 0 12.772-2.738 17.334-6.54a9.885 9.885 0 0 0-5.93-17.79Z"></path><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.041" d="m28.693 10.053 3.33 6.842c.316.983.475 2.009.471 3.041a9.867 9.867 0 0 1-3.953 7.907c-4.562 3.801-11.252 6.538-17.334 6.538a4.562 4.562 0 0 1-4.075-2.524l-2.92-5.839"></path></svg>');function yr(t,e){let n=Fe(e,"className",8,""),s=Fe(e,"size",8,20);var i=xf();K(()=>{Ut(i,0,In(n())),Ce(i,"width",s()),Ce(i,"height",s())}),M(t,i)}var Ef=Ts('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 34" fill="none"><path d="M9.03846 17.0001C10.3456 12.1888 15.9077 8.65686 20.858 8.65686C25.8083 8.65686 29.2846 12.1888 30.5917 17.0001C29.2846 21.8252 25.8083 25.3432 20.858 25.3432C15.9077 25.3432 10.3456 21.8252 9.03846 17.0001Z" stroke="currentColor" stroke-width="2.78106" stroke-linecap="round" stroke-linejoin="round"></path><path d="M25.0296 17V17.6953" stroke="currentColor" stroke-width="2.78106" stroke-linecap="round" stroke-linejoin="round"></path><path d="M22.2485 25.2457C20.4397 22.8774 19.4599 19.98 19.4599 16.9999C19.4599 14.0198 20.4397 11.1224 22.2485 8.75403" stroke="currentColor" stroke-width="2.78106" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9.73372 15.1506C9.73372 11.4379 7.75916 8.6151 3.79615 7.96155C2.40562 10.0473 2.40562 14.9142 4.11597 17C2.39171 19.0858 2.39171 23.9527 3.79615 26.0385C7.75916 25.3849 9.73372 22.5621 9.73372 18.8494" stroke="currentColor" stroke-width="2.78106" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14.545 10.4089C14.1834 8.48998 12.7512 6.20951 11.1243 4.48525H19.1893C19.8491 4.4828 20.4883 4.71502 20.9927 5.14042C21.497 5.56582 21.8337 6.15668 21.9426 6.80744L22.2624 8.75418" stroke="currentColor" stroke-width="2.78106" stroke-linecap="round" stroke-linejoin="round"></path><path d="M22.2624 25.2459L21.9426 27.1926C21.8337 27.8434 21.497 28.4342 20.9927 28.8596C20.4883 29.285 19.8491 29.5172 19.1893 29.5148H13.2101C14.5573 27.9873 15.2948 26.0172 15.2819 23.9805" stroke="currentColor" stroke-width="2.78106" stroke-linecap="round" stroke-linejoin="round"></path></svg>');function ul(t,e){let n=Fe(e,"className",8,""),s=Fe(e,"size",8,20);var i=Ef();K(()=>{Ut(i,0,In(n())),Ce(i,"width",s()),Ce(i,"height",s())}),M(t,i)}var If=G('<span><!></span><span class="wr-Header-label svelte-oiwvqb"> </span>',1),Cf=G('<!><span class="wr-Header-label svelte-oiwvqb"> </span>',1),Nf=G('<!><span class="wr-Header-label svelte-oiwvqb"> </span>',1),Rf=G('<h1 class="wr-Header-title svelte-oiwvqb"></h1>'),Df=G('<h1 class="wr-Header-title svelte-oiwvqb"> <span><!></span> <span class="wr-Header-label svelte-oiwvqb"> </span>, <!> <span class="wr-Header-label svelte-oiwvqb"> </span> <br/> <!> <span class="wr-Header-label svelte-oiwvqb"> </span> </h1>'),Of=G('<div class="wr-Header"><!></div>');const Af={hash:"svelte-oiwvqb",code:`.wr-Header-title.svelte-oiwvqb {font-weight:600;font-size:24px;margin:0 auto;line-height:1.3;color:#333;text-align:center;
|
|
149
149
|
|
|
150
150
|
/* TODO: add wineater-color to svg */}.wr-Header-icon {display:inline-block;vertical-align:middle;color:var(--wr-wineater-color);}.wr-Header-label.svelte-oiwvqb {color:var(--wr-wineater-color);font-weight:500;}
|
|
151
151
|
|
|
152
152
|
@media screen and (max-width: 768px) {.wr-Header-title.svelte-oiwvqb {display:none;}
|
|
153
|
-
}`};function
|
|
153
|
+
}`};function Mf(t,e){Ot(e,!0),jt(t,Af);let n=oe(()=>ve.getAppLanguage()),s=oe(()=>ve.getUiConfig()),i=oe(()=>{var d,p;return((d=window==null?void 0:window.wineaterData)==null?void 0:d.TITLE_TEXT)||((p=v(s))==null?void 0:p.titleText)||null}),r=ce(ct(yr));function o(d){return d.split(/(meal|mood|occasion)/gi).map(p=>({keyword:/^(meal|mood|occasion)$/i.test(p)?p.toLowerCase():null,text:p}))}let a=oe(()=>v(i)?o(v(i)):null);var l=Of(),u=O(l);{var c=d=>{var p=Rf();En(p,21,()=>v(a),xn,(f,m)=>{var S=Es(),T=Ft(S);{var x=_=>{var k=If(),y=Ft(k),E=O(y);Oo(E,()=>v(r),(L,Q)=>{Q(L,{className:"wr-Header-icon",size:"28"})});var P=q(y),j=O(P);K(()=>ee(j,v(m).text)),xt("mouseenter",y,()=>D(r,ul,!0)),xt("mouseleave",y,()=>D(r,yr,!0)),M(_,k)},I=_=>{var k=Cf(),y=Ft(k);cl(y,{className:"wr-Header-icon",size:"28"});var E=q(y),P=O(E);K(()=>ee(P,v(m).text)),M(_,k)},g=_=>{var k=Nf(),y=Ft(k);ll(y,{className:"wr-Header-icon",size:"28"});var E=q(y),P=O(E);K(()=>ee(P,v(m).text)),M(_,k)},b=_=>{var k=xs();K(()=>ee(k,v(m).text)),M(_,k)};ue(T,_=>{v(m).keyword==="meal"?_(x):v(m).keyword==="mood"?_(I,1):v(m).keyword==="occasion"?_(g,2):_(b,!1)})}M(f,S)}),M(d,p)},h=d=>{var p=Df(),f=O(p),m=q(f),S=O(m);Oo(S,()=>v(r),(j,L)=>{L(j,{className:"wr-Header-icon",size:"28"})});var T=q(m,2),x=O(T),I=q(T,2);cl(I,{className:"wr-Header-icon",size:"28"});var g=q(I,2),b=O(g),_=q(g,3),k=q(_);ll(k,{className:"wr-Header-icon",size:"28"});var y=q(k,2),E=O(y),P=q(y);K((j,L,Q,U,B,J)=>{ee(f,`${j??""} `),ee(x,L),ee(b,Q),ee(_,` ${U??""} `),ee(E,B),ee(P,` ${J??""}`)},[()=>Ne({key:"headerLine1",lang:v(n)}),()=>Ne({key:"headerMeal",lang:v(n)}),()=>Ne({key:"headerMood",lang:v(n)}),()=>Ne({key:"headerOr",lang:v(n)}),()=>Ne({key:"headerOccasion",lang:v(n)}),()=>Ne({key:"headerLine2",lang:v(n)})]),xt("mouseenter",m,()=>D(r,ul,!0)),xt("mouseleave",m,()=>D(r,yr,!0)),M(d,p)};ue(u,d=>{v(a)?d(c):d(h,!1)})}M(t,l),At()}var Pf=G('<option class="wr-Footer-lang"> </option>'),Lf=G('<select class="wr-Footer-dropdown svelte-1sr6y3t"></select>'),Bf=G('<footer class="wr-Footer svelte-1sr6y3t"><div class="wr-Footer-center svelte-1sr6y3t"><a href="https://wineater.com" class="wr-Footer-link svelte-1sr6y3t" target="_blank"><span class="wr-Footer-text"> </span> <img class="wr-Footer-logo svelte-1sr6y3t" alt="Wineater Logo"/> <span class="wr-Footer-text wr-Footer-text--sommelier svelte-1sr6y3t"> </span></a></div> <!></footer>');const Ff={hash:"svelte-1sr6y3t",code:`.wr-Footer.svelte-1sr6y3t {position:relative;border-top:2px solid #f6f7fd;font-weight:200;padding:12px 24px;min-height:40px;}.wr-Footer-center.svelte-1sr6y3t {position:absolute;left:50%;transform:translateX(-50%);text-align:center;}.wr-Footer-dropdown.svelte-1sr6y3t {position:absolute;right:0px;top:50%;transform:translateY(-50%);padding:4px;border-radius:6px;border:2px solid var(--wr-brand-color);background-color:white;color:var(--wr-brand-color);font-weight:500;font-size:12px;cursor:pointer;transition:all 0.2s ease;}.wr-Footer-dropdown.svelte-1sr6y3t:hover {box-shadow:0 4px 8px rgba(123, 43, 235, 0.2);}.wr-Footer-link.svelte-1sr6y3t {text-decoration:none;display:flex;align-items:center;white-space:nowrap;gap:8px;color:#a8a8a8;font-size:12px;line-height:16px;transition:opacity 0.2s ease;}.wr-Footer-link.svelte-1sr6y3t:hover {opacity:0.8;}.wr-Footer-logo.svelte-1sr6y3t {height:16px;width:auto;color:#a8a8a8;}
|
|
154
154
|
|
|
155
155
|
@media screen and (max-width: 768px) {.wr-Footer-text--sommelier.svelte-1sr6y3t {display:none;}
|
|
156
|
-
}`};function
|
|
156
|
+
}`};function Wf(t,e){Ot(e,!0),jt(t,Ff);let n=Fe(e,"countryCode",3,null),s=oe(()=>ve.getAppLanguage()),i=oe(()=>ve.getSupportedLanguages()),r=oe(()=>ve.getStoreId());function o(T){const I=T.target.value;it(ot.LANGUAGE_CHANGED,v(r),{from_language:v(s),to_language:I}),ve.setStoreLanguage(I)}var a=Bf(),l=O(a),u=O(l),c=O(u),h=O(c),d=q(c,2),p=q(d,2),f=O(p),m=q(l,2);{var S=T=>{var x=Lf();En(x,21,()=>v(i),xn,(g,b)=>{var _=Pf(),k=O(_),y={};K(E=>{Xc(_,v(b)===v(s)),ee(k,E),y!==(y=v(b))&&(_.value=(_.__value=v(b))??"")},[()=>v(b).toUpperCase()]),M(g,_)});var I;Vc(x),K(()=>{I!==(I=v(s))&&(x.value=(x.__value=v(s))??"",Mo(x,v(s)))}),ln("change",x,o),M(T,x)};ue(m,T=>{v(i).length>1&&T(S)})}K((T,x)=>{ee(h,T),Ce(d,"src",n()==="ru"?"https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/divino_logo.svg?x=5":"https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/logo_medium_gray.svg"),ee(f,x)},[()=>Ne({key:"poweredBy",lang:v(s)}),()=>Ne({key:"ai_sommelier",lang:v(s)})]),M(t,a),At()}ks(["change"]);var zf=G('<a rel="noopener noreferrer"><!></a>'),jf=G("<button><!></button>");const Uf={hash:"svelte-8cxv3l",code:`.wr-Action.svelte-8cxv3l {background:transparent;border:none;font-family:inherit;cursor:pointer;display:block;text-decoration:none;transition:background 0.2s,
|
|
157
157
|
color 0.2s,
|
|
158
|
-
box-shadow 0.2s;}.wr-Action.primary.svelte-8cxv3l {background:var(--wr-brand-color);color:#fff;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;&:hover {opacity:0.8;}}.wr-Action.outlined.svelte-8cxv3l {background:transparent;color:var(--wr-brand-color);border:2px solid var(--wr-brand-color);border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;&:hover {box-shadow:0 4px 8px rgba(123, 43, 235, 0.25);background-color:var(--wr-brand-color);color:#fff;}}.wr-Action--uppercase.svelte-8cxv3l {text-transform:uppercase;}`};function Sr(t,e){
|
|
159
|
-
opacity 0.3s ease-in-out;}.wr-Search-input.svelte-1wah7ro:focus {border-color:var(--wr-brand-color);}.wr-Search-input.svelte-1wah7ro:focus::placeholder {opacity:0.5;}`};function
|
|
158
|
+
box-shadow 0.2s;}.wr-Action.primary.svelte-8cxv3l {background:var(--wr-brand-color);color:#fff;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;&:hover {opacity:0.8;}}.wr-Action.outlined.svelte-8cxv3l {background:transparent;color:var(--wr-brand-color);border:2px solid var(--wr-brand-color);border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;&:hover {box-shadow:0 4px 8px rgba(123, 43, 235, 0.25);background-color:var(--wr-brand-color);color:#fff;}}.wr-Action--uppercase.svelte-8cxv3l {text-transform:uppercase;}`};function Sr(t,e){Ot(e,!0),jt(t,Uf);let n=Fe(e,"type",3,"button"),s=Fe(e,"variant",3,"primary"),i=Fe(e,"target",3,"_self"),r=ve.getUiConfig(),o=`wr-Action ${s()} ${e.className||""} ${r.buttonUppercase?"wr-Action--uppercase":""}`.trim();var a=Es(),l=Ft(a);{var u=h=>{var d=zf(),p=O(d);Do(p,e,"default",{}),K(()=>{Ut(d,1,In(o),"svelte-8cxv3l"),Ce(d,"href",e.href),Ce(d,"id",e.id),Ce(d,"target",i())}),ln("click",d,function(...f){var m;(m=e.handleClick)==null||m.apply(this,f)}),M(h,d)},c=h=>{var d=jf(),p=O(d);Do(p,e,"default",{}),K(()=>{Ut(d,1,In(o),"svelte-8cxv3l"),Ce(d,"type",n()),Ce(d,"id",e.id)}),ln("click",d,function(...f){var m;(m=e.handleClick)==null||m.apply(this,f)}),M(h,d)};ue(l,h=>{e.href?h(u):h(c,!1)})}M(t,a),At()}ks(["click"]);var Hf=G('<form class="wr-Search svelte-1wah7ro"><span class="wr-Search-icon svelte-1wah7ro"></span> <input class="wr-Search-input svelte-1wah7ro" type="text"/> <!></form>');const qf={hash:"svelte-1wah7ro",code:`.wr-Search.svelte-1wah7ro {position:relative;margin:12px auto;padding:0 6px;display:flex;align-items:center;border:2px solid #d5d9ee;border-radius:10px;}.wr-Search-icon.svelte-1wah7ro {left:12px;width:24px;height:24px;flex:0 0 auto;background-image:url('https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media//search.svg?x=1');background-repeat:no-repeat;background-size:contain;z-index:2;}.wr-Search-input.svelte-1wah7ro {flex:1 1 0%;min-width:0;padding:12px;font-size:16px;border:none;border-radius:10px;outline:none;transition:border 0.2s ease;}.wr-Search-input.svelte-1wah7ro::placeholder {color:var(--wr-wineater-color);opacity:1;transition:color 0.3s ease,
|
|
159
|
+
opacity 0.3s ease-in-out;}.wr-Search-input.svelte-1wah7ro:focus {border-color:var(--wr-brand-color);}.wr-Search-input.svelte-1wah7ro:focus::placeholder {opacity:0.5;}`};function Vf(t,e){Ot(e,!0),jt(t,qf);let n=Fe(e,"searchQuery",15),s,i=ce(!1),r=ce(0),o=ce(0),a=ce(!0),l=ce(!1),u=oe(()=>ve.getAppLanguage()),c=0;function h(){return s}function d(){const g=++c,b=Ne({key:"placeholderSuggestions",lang:v(u)});if(!s||!b.length)return;D(l,!0);const _=()=>{if(g!==c||!s||!v(l)||v(i)||n().length)return;const k=b[v(r)];if(v(a)){if(s.placeholder=k.substring(0,$r(o)),v(o)>k.length){D(a,!1),setTimeout(_,1600);return}setTimeout(_,90)}else{if(s.placeholder=k.substring(0,$r(o,-1)),v(o)<0){D(a,!0),D(r,(v(r)+1)%b.length),setTimeout(_,450);return}setTimeout(_,45)}};_()}function p(){D(l,!1)}function f(){D(i,!0),p(),s&&(s.placeholder="")}function m(){D(i,!1),D(o,0),D(a,!0),D(l,!1)}$n(()=>{if(!s||n().length>0)return;c++,D(l,!1),D(r,0),D(o,0),D(a,!0);const g=Ne({key:"placeholderSuggestions",lang:v(u)});g&&g.length?s.placeholder=g[0]:s.placeholder=Ne({key:"searchPlaceholder",lang:v(u)})}),$n(()=>{s&&e.initialized&&!v(i)&&!n().length&&!v(l)&&d(),n().length>0&&v(l)&&(D(l,!1),c++)}),Ii(()=>{});var S={getSearchElement:h},T=Hf(),x=q(O(T),2);Zc(x,g=>s=g,()=>s);var I=q(x,2);return Sr(I,{className:"wr-Search-button",type:"submit",variant:"primary",children:(g,b)=>{var _=xs();K(k=>ee(_,k),[()=>Ne({key:"searchButton",lang:v(u)})]),M(g,_)},$$slots:{default:!0}}),xt("submit",T,function(...g){var b;(b=e.onSubmit)==null||b.apply(this,g)}),xt("focus",x,f),xt("blur",x,m),Qc(x,n),M(t,T),At(S)}var Gf=G('<div class="wr-Loader svelte-li6gfl"><div class="wr-Loader-indicator svelte-li6gfl"><span class="svelte-li6gfl"></span> <span class="svelte-li6gfl"></span> <span class="svelte-li6gfl"></span></div></div>');const Kf={hash:"svelte-li6gfl",code:`.wr-Loader.svelte-li6gfl {position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:10000;text-align:center;}.wr-Loader-indicator.svelte-li6gfl {display:flex;justify-content:center;align-items:center;height:40px;visibility:visible;background-color:white;}.wr-Loader-indicator.svelte-li6gfl span:where(.svelte-li6gfl) {display:block;width:8px;height:8px;margin:0 3px;border-radius:50%;background:linear-gradient(90deg, var(--wr-brand-color), var(--wineater-corp-color));opacity:0.7;
|
|
160
160
|
animation: svelte-li6gfl-typing 1s infinite;}
|
|
161
161
|
|
|
162
162
|
@keyframes svelte-li6gfl-typing {
|
|
@@ -169,7 +169,7 @@ ${JSON.stringify(o,null,2)}
|
|
|
169
169
|
transform: translateY(-8px);
|
|
170
170
|
opacity: 1;
|
|
171
171
|
}
|
|
172
|
-
}.wr-Loader-indicator.svelte-li6gfl span:where(.svelte-li6gfl):nth-child(1) {animation-delay:0s;}.wr-Loader-indicator.svelte-li6gfl span:where(.svelte-li6gfl):nth-child(2) {animation-delay:0.15s;}.wr-Loader-indicator.svelte-li6gfl span:where(.svelte-li6gfl):nth-child(3) {animation-delay:0.3s;}`};function
|
|
172
|
+
}.wr-Loader-indicator.svelte-li6gfl span:where(.svelte-li6gfl):nth-child(1) {animation-delay:0s;}.wr-Loader-indicator.svelte-li6gfl span:where(.svelte-li6gfl):nth-child(2) {animation-delay:0.15s;}.wr-Loader-indicator.svelte-li6gfl span:where(.svelte-li6gfl):nth-child(3) {animation-delay:0.3s;}`};function Xf(t){jt(t,Kf);var e=Gf();M(t,e)}var Yf=G('<p class="wr-WinePopup-desc wr-WinePopup-text svelte-17gehox"> </p>'),Jf=G('<div class="wr-WinePopup-reason svelte-17gehox"> </div>'),Qf=G('<p class="wr-WinePopup-pairing wr-WinePopup-text svelte-17gehox"> </p>'),Zf=G('<span class="wr-WinePopup-tag svelte-17gehox"> </span>'),$f=G('<div class="wr-WinePopup-tags svelte-17gehox"></div>'),ep=G('<div class="wr-WinePopupMobile svelte-17gehox"><div class="wr-WinePopupMobile-overlay svelte-17gehox"></div> <div class="wr-WinePopupMobile-wrapper svelte-17gehox"><div class="wr-WinePopup js-WinePopup svelte-17gehox"><div class="wr-WinePopup-header svelte-17gehox"><h2 class="wr-WinePopup-title svelte-17gehox"> </h2> <button class="wr-WinePopup-close js-WinePopupClose svelte-17gehox">×</button></div> <!> <!> <!></div></div></div>'),tp=G('<p class="wr-WinePopup-desc wr-WinePopup-text svelte-17gehox"> </p>'),np=G('<div class="wr-WinePopup-reason svelte-17gehox"> </div>'),sp=G('<p class="wr-WinePopup-pairing wr-WinePopup-text svelte-17gehox"> </p>'),ip=G('<span class="wr-WinePopup-tag svelte-17gehox"> </span>'),rp=G('<div class="wr-WinePopup-tags svelte-17gehox"></div>'),op=G('<div class="wr-WinePopup svelte-17gehox"><div class="wr-WinePopup-header svelte-17gehox"><h2 class="wr-WinePopup-title svelte-17gehox"> </h2> <button class="wr-WinePopup-close svelte-17gehox">×</button></div> <!> <!> <!></div>');const ap={hash:"svelte-17gehox",code:".wr-WinePopup.svelte-17gehox {position:absolute;width:100%;background-color:white;padding:16px;border-radius:16px;box-shadow:0 6px 30px rgba(0, 0, 0, 0.2);text-align:left;font-size:14px;box-sizing:border-box;display:flex;flex-direction:column;}.wr-WinePopup-text.svelte-17gehox {margin:5px 0;}.wr-WinePopup-header.svelte-17gehox {display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}.wr-WinePopup-title.svelte-17gehox {font-size:16px;font-weight:600;margin:0;flex:1;line-height:1.3;}.wr-WinePopup-close.svelte-17gehox {font-size:20px;font-weight:bold;cursor:pointer;color:#999;border:none;background:transparent;line-height:1;}.wr-WinePopup-close.svelte-17gehox:hover {color:#000;}.wr-WinePopup-desc.svelte-17gehox {margin-top:8px;}.wr-WinePopup-reason.svelte-17gehox {font-size:14px;font-weight:400;color:#333;margin-top:8px;}.wr-WinePopup-pairing.svelte-17gehox {margin-top:8px;}.wr-WinePopup-tags.svelte-17gehox {display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;justify-content:center;}.wr-WinePopup-tag.svelte-17gehox {display:inline-block;padding:4px 8px;border-radius:12px;background-color:#f5f0ff;border:1px solid #ddd;font-size:13px;color:#333;text-transform:capitalize;}.wr-WinePopupMobile.svelte-17gehox {position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;}.wr-WinePopupMobile-overlay.svelte-17gehox {position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.5);}.wr-WinePopupMobile-wrapper.svelte-17gehox {position:absolute;width:100%;height:100%;top:50%;left:50%;transform:translate(-50%, -50%);max-width:90%;max-height:80%;overflow-y:auto;background:transparent;}"};function hl(t,e){Ot(e,!0),jt(t,ap);const n=!!e.isMobile;var s=Es(),i=Ft(s);{var r=a=>{var l=ep(),u=O(l),c=q(u,2),h=O(c),d=O(h),p=O(d),f=O(p),m=q(p,2),S=q(d,2);{var T=k=>{var y=Yf(),E=O(y);K(()=>ee(E,e.shortDescription)),M(k,y)};ue(S,k=>{e.shortDescription&&k(T)})}var x=q(S,2);{var I=k=>{var y=Jf(),E=O(y);K(()=>ee(E,e.reason)),M(k,y)},g=k=>{var y=Qf(),E=O(y);K(()=>ee(E,e.pairing)),M(k,y)};ue(x,k=>{e.reason?k(I):e.pairing&&k(g,1)})}var b=q(x,2);{var _=k=>{var y=$f();En(y,21,()=>e.tags,xn,(E,P)=>{var j=Zf(),L=O(j);K(()=>ee(L,v(P))),M(E,j)}),M(k,y)};ue(b,k=>{e.tags&&e.tags.length&&k(_)})}K(()=>ee(f,e.title)),ln("click",u,function(...k){var y;(y=e.onClose)==null||y.apply(this,k)}),ln("click",m,function(...k){var y;(y=e.onClose)==null||y.apply(this,k)}),M(a,l)},o=a=>{var l=op(),u=O(l),c=O(u),h=O(c),d=q(c,2),p=q(u,2);{var f=g=>{var b=tp(),_=O(b);K(()=>ee(_,e.shortDescription)),M(g,b)};ue(p,g=>{e.shortDescription&&g(f)})}var m=q(p,2);{var S=g=>{var b=np(),_=O(b);K(()=>ee(_,e.reason)),M(g,b)},T=g=>{var b=sp(),_=O(b);K(()=>ee(_,e.pairing)),M(g,b)};ue(m,g=>{e.reason?g(S):e.pairing&&g(T,1)})}var x=q(m,2);{var I=g=>{var b=rp();En(b,21,()=>e.tags,xn,(_,k)=>{var y=ip(),E=O(y);K(()=>ee(E,v(k))),M(_,y)}),M(g,b)};ue(x,g=>{e.tags&&e.tags.length&&g(I)})}K(()=>ee(h,e.title)),ln("click",d,function(...g){var b;(b=e.onClose)==null||b.apply(this,g)}),M(a,l)};ue(i,a=>{n?a(r):a(o,!1)})}M(t,s),At()}ks(["click"]);var lp=G('<img class="wr-WineTile-image svelte-yk3emv"/>'),cp=G('<div class="wr-WineTile-price svelte-yk3emv"> </div>'),up=G('<div class="wr-WineTile-params svelte-yk3emv"> </div>'),hp=G('<div class="wr-WineTilePopup-reason svelte-yk3emv"> </div>'),dp=G('<span class="wr-WineTilePopup-tag svelte-yk3emv"> </span>'),fp=G('<div class="wr-WineTilePopup-tags svelte-yk3emv"></div>'),pp=G("<div><!> <!></div>"),gp=G('<article><header class="wr-WineTile-header svelte-yk3emv"><!> <!> <h3 class="wr-WineTile-title svelte-yk3emv"> </h3></header> <!> <footer class="wr-WineTile-footer svelte-yk3emv"><div class="wr-WineTile-actions svelte-yk3emv"><!></div></footer> <!> <!></article> <!>',1);const mp={hash:"svelte-yk3emv",code:`.wr-WineTile.svelte-yk3emv {display:flex;flex-direction:column;align-items:center;text-align:center;box-sizing:border-box;padding:16px 8px;border-right:2px solid #f6f7fd;position:relative;transform:translateY(0);opacity:1;transition:transform 180ms cubic-bezier(0.22, 0.61, 0.36, 1),
|
|
173
173
|
opacity 180ms cubic-bezier(0.22, 0.61, 0.36, 1);will-change:transform, opacity;}.wr-WineTile.svelte-yk3emv:last-child {border-right:none;}.wr-WineTile.ww-slide-up.svelte-yk3emv {transform:translateY(-28px);opacity:0;}.wr-WineTile-header.svelte-yk3emv {display:flex;flex-direction:column;align-items:center;justify-content:flex-start;}.wr-WineTile-image.svelte-yk3emv {height:200px;width:100%;max-width:100%;object-fit:contain;margin:0 auto 16px;display:block;}.wr-WineTile-title.svelte-yk3emv {font-size:15px;font-weight:500;margin:0 0 8px;min-height:3rem;line-height:1.2;text-align:center;color:#000;}.wr-WineTile-params.svelte-yk3emv {font-size:14px;color:#666;white-space:normal;text-align:center;}.wr-WineTile-footer.svelte-yk3emv {margin-top:auto;display:flex;align-items:center;gap:12px;justify-content:center;}.wr-WineTile-price.svelte-yk3emv {font-size:16px;font-weight:400;margin-bottom:8px;color:#333;}.wr-WineTile-actions.svelte-yk3emv {margin:16px auto 0;}
|
|
174
174
|
|
|
175
175
|
/* Hover popup inside tile */.wr-WineTilePopup.svelte-yk3emv {display:none;position:absolute;top:0;left:0;width:100%;padding:12px;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 16px rgba(0, 0, 0, 0.1);transition:transform 0.3s ease;z-index:999;}.wr-WineTilePopup.visible.svelte-yk3emv {display:block;}.wr-WineTilePopup.slide-in.svelte-yk3emv {
|
|
@@ -187,7 +187,7 @@ ${JSON.stringify(o,null,2)}
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
@media screen and (max-width: 768px) {.wr-WineTile.svelte-yk3emv {flex:0 0 auto;scroll-snap-align:center;width:240px;text-align:center;}
|
|
190
|
-
}`};function
|
|
190
|
+
}`};function vp(t,e){Ot(e,!0),jt(t,mp);let n=oe(()=>ve.getAppLanguage());const s=(C,A)=>C[A]||C[A.charAt(0).toUpperCase()+A.slice(1)],i=(C,A)=>A.map(ie=>s(C,ie)).filter(Boolean).join(" • ");function r(C){var A;return Sf(C,((A=ve.getCurrency)==null?void 0:A.call(ve))||"USD",v(n))}function o(C){return e.selectedWineId===C}function a(C){return!!(C.reason||C.shortDescription||C.tags)}function l(C,A){let ie=(C==null?void 0:C.tags)||A.tags;return ie?(Array.isArray(ie)&&(ie=ie.join(",")),typeof ie!="string"?[]:ie.split(",").map(ae=>ae.trim()).filter(Boolean)):[]}let u=ce(!1);Ii(()=>{const C=()=>{D(u,window.innerWidth<=768)};return C(),window.addEventListener("resize",C),()=>{window.removeEventListener("resize",C)}});var c=gp(),h=Ft(c),d=O(h),p=O(d);{var f=C=>{var A=lp();K(()=>{Ce(A,"src",e.wine.image),Ce(A,"alt",e.wine.title)}),M(C,A)};ue(p,C=>{e.wine.image&&C(f)})}var m=q(p,2);{var S=C=>{var A=cp(),ie=O(A);K(ae=>ee(ie,ae),[()=>r(e.wine.total)]),M(C,A)};ue(m,C=>{e.wine.total&&C(S)})}var T=q(m,2),x=O(T),I=q(d,2);{var g=C=>{var A=up(),ie=O(A);K(ae=>ee(ie,ae),[()=>i(e.wine,["type","country","region","grape"])]),M(C,A)},b=oe(()=>i(e.wine,["type","country","region","grape"]));ue(I,C=>{v(b)&&C(g)})}var _=q(I,2),k=O(_),y=O(k);{var E=C=>{Sr(C,{get href(){return e.wine.url},handleClick:()=>e.onBuyLinkClick(e.wine,e.index),className:"wr-WineTile-action wr-WineTile-action--link js-WineTileAction",target:"_blank",variant:"outlined",children:(A,ie)=>{var ae=xs();K(he=>ee(ae,he),[()=>Ne({key:"wineDetails.buy",lang:v(n)})]),M(A,ae)},$$slots:{default:!0}})},P=C=>{Sr(C,{handleClick:()=>e.onBuyClick(e.wine,e.index),variant:"outlined",className:"wr-WineTile-action wr-WineTile-action--button js-WineTileAction",children:(A,ie)=>{var ae=xs();K(he=>ee(ae,he),[()=>Ne({key:"moreInfo",lang:v(n)})]),M(A,ae)},$$slots:{default:!0}})};ue(y,C=>{e.wine.url?C(E):C(P,!1)})}var j=q(_,2);{var L=C=>{{let A=oe(()=>{var H;return((H=e.translatedPopup)==null?void 0:H.shortDescription)||e.wine.shortDescription}),ie=oe(()=>{var H;return((H=e.translatedPopup)==null?void 0:H.reason)||e.wine.reason}),ae=oe(()=>{var H;return((H=e.translatedPopup)==null?void 0:H.pairingRecommendation)||e.wine.pairingRecommendation}),he=oe(()=>l(e.translatedPopup,e.wine));hl(C,{get title(){return e.wine.title},get shortDescription(){return v(A)},get reason(){return v(ie)},get pairing(){return v(ae)},get tags(){return v(he)},get onClose(){return e.onPopupClose},isMobile:!1})}},Q=oe(()=>o(e.wine.id)&&!v(u));ue(j,C=>{v(Q)&&C(L)})}var U=q(j,2);{var B=C=>{var A=pp(),ie=O(A);{var ae=N=>{var F=hp(),ne=O(F);K(()=>{var Qe,Pe;return ee(ne,((Qe=e.translatedPopup)==null?void 0:Qe.reason)||((Pe=e.translatedPopup)==null?void 0:Pe.shortDescription)||e.wine.reason||e.wine.shortDescription)}),M(N,F)};ue(ie,N=>{var F,ne;((F=e.translatedPopup)!=null&&F.reason||(ne=e.translatedPopup)!=null&&ne.shortDescription||e.wine.reason||e.wine.shortDescription)&&N(ae)})}var he=q(ie,2);{var H=N=>{var F=fp();En(F,21,()=>l(e.translatedPopup,e.wine),xn,(ne,Qe)=>{var Pe=dp(),bt=O(Pe);K(()=>ee(bt,v(Qe))),M(ne,Pe)}),M(N,F)};ue(he,N=>{var F,ne;((F=e.translatedPopup)!=null&&F.tags||(ne=e.translatedPopup)!=null&&ne.Tags||e.wine.tags)&&N(H)})}K(()=>Ut(A,1,`wr-WineTilePopup ${e.hoveredWineId===e.wine.id?"slide-in visible":""}`,"svelte-yk3emv")),M(C,A)},J=oe(()=>a(e.wine));ue(U,C=>{v(J)&&C(B)})}var te=q(h,2);{var R=C=>{{let A=oe(()=>{var H;return((H=e.translatedPopup)==null?void 0:H.shortDescription)||e.wine.shortDescription}),ie=oe(()=>{var H;return((H=e.translatedPopup)==null?void 0:H.reason)||e.wine.reason}),ae=oe(()=>{var H;return((H=e.translatedPopup)==null?void 0:H.pairingRecommendation)||e.wine.pairingRecommendation}),he=oe(()=>l(e.translatedPopup,e.wine));hl(C,{get title(){return e.wine.title},get shortDescription(){return v(A)},get reason(){return v(ie)},get pairing(){return v(ae)},get tags(){return v(he)},get onClose(){return e.onPopupClose},isMobile:!0})}},Z=oe(()=>o(e.wine.id)&&v(u));ue(te,C=>{v(Z)&&C(R)})}K(()=>{Ut(h,1,`wr-WineTile ${e.isAnimating?"ww-slide-up":""}`,"svelte-yk3emv"),ee(x,`${(e.wine.producer?e.wine.producer:"")??""} ${e.wine.title??""}`)}),xt("mouseenter",h,()=>e.onTileEnter(e.wine)),xt("mouseleave",h,()=>e.onTileLeave(e.wine)),ln("click",h,C=>e.onTileClick(C,e.wine)),M(t,c),At()}ks(["click"]);function wp(t){if(!t)return"";const e="custom-ui-config-style";if(document.getElementById(e))return;const n=document.createElement("style");return n.id=e,n.innerHTML=t,document.head.appendChild(n),e}var bp=G('<div class="wr-App-picture svelte-1n46o8q"><img class="wr-App-logo svelte-1n46o8q" alt=""/></div>'),yp=G('<div class="wr-App-error svelte-1n46o8q"><p> </p></div>'),Sp=G('<div class="wr-App-placeholder svelte-1n46o8q"></div>'),_p=G('<div id="wr-Custom" class="wr-App svelte-1n46o8q"><!> <!> <!> <!> <div class="wr-App-content svelte-1n46o8q"><!></div> <!></div>');const kp={hash:"svelte-1n46o8q",code:`
|
|
191
191
|
/* ===================== 1) CSS Variables ===================== */:root {--wineater-corp-color: #0044ff;
|
|
192
192
|
/* --wr-brand-color is set dynamically from uiConfig.brandColor */--wr-brand-color: #7b2beb; /* fallback value */}
|
|
193
193
|
|
|
@@ -199,4 +199,4 @@ ${JSON.stringify(o,null,2)}
|
|
|
199
199
|
|
|
200
200
|
/* ===================== 13) Mobile Styles ===================== */
|
|
201
201
|
@media screen and (max-width: 768px) {.wr-App.svelte-1n46o8q {flex-direction:column;padding:0px 16px;min-width:100vw;}.wr-App-placeholder.svelte-1n46o8q {display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0;width:calc(100vw - 32px);min-width:calc(100vw - 32px);}
|
|
202
|
-
}`};function
|
|
202
|
+
}`};function Tp(t,e){var ae,he,H;Ot(e,!0),jt(t,kp);function n(){var N;Di("chatbotToken",((N=window.wineaterData)==null?void 0:N.CLIENT_TOKEN)||s,365),Wo()}const s="HeUw6IXuhvz6tRuXdPEGEbj3SGQ3Q2YtEc1Z8jd41Kg9LtyPb4Epu0to31SYIadG";new uf({projectKey:"PA8j9fAi49i6g2QnvpNs",__DISABLE_SECURE_MODE:!0}).start(),n();const r=((ae=window==null?void 0:window.wineaterData)==null?void 0:ae.WIDGET_TYPE)||"store",o=((he=window==null?void 0:window.wineaterData)==null?void 0:he.COUNTRY_CODE)||null;(H=window==null?void 0:window.wineaterData)!=null&&H.WIDGET_WRAPPER;let a=ce(!1),l=ce(!1),u=ce(ct([])),c=ce(null),h=ce(""),d=ce(null),p=ce(!1),f=ce(null),m=ce(ct([])),S=oe(()=>ve.getAppLanguage()),T=oe(()=>ve.getStoreLanguage()),x=oe(()=>ve.getApiKey()),I=oe(()=>ve.getStoreId()),g=oe(()=>ve.isInitialized()),b=oe(()=>ve.getUiConfig());function _(){D(d,Ne({key:"errorMessage",lang:v(S)}),!0)}const k=()=>D(d,null);async function y(N){if(v(S)===v(T)||r!=="bar")return N.map(()=>({}));const F=["shortDescription","reason","pairingRecommendation","tags"],ne=N[0];if(!ne)return N.map(()=>({}));const Qe=F.filter(Ze=>Ze in ne),Pe=4,bt=[];for(let Ze=0;Ze<N.length;Ze+=Pe){const Xt=N.slice(Ze,Ze+Pe).map(async si=>{const ii=Qe.map(de=>{const Ue=si[de]||si[de.toLowerCase()];return Ue?{key:de,text:Array.isArray(Ue)?Ue.join(", "):Ue}:null}).filter(Boolean);return ii.length===0?{}:await _f({sourceLang:v(T),targetLang:v(S),texts:Object.fromEntries(ii.map(de=>[de.key,de.text])),apiKey:v(x)})}),Tr=await Promise.all(Xt);bt.push(...Tr)}return bt}async function E(){D(l,!0);try{D(u,await br.getInstantRecommendations(),!0)}catch(N){console.error("[wineater] instant recommendations error:",N),_()}finally{D(l,!1)}}function P(N=220){return!v(u)||v(u).length===0?Promise.resolve():(D(p,!0),new Promise(F=>{setTimeout(()=>{F()},N)}))}async function j(N){N.preventDefault();let F="";try{D(l,!0),k(),await P(220),D(u,[],!0),D(p,!1),F=v(h).trim()+";";try{it(ot.SEARCH_PERFORMED,v(I),{query:F})}catch(Qe){console.error("Error tracking search event:",Qe)}const ne=await br.getWineRecommendationsSearch(F);!ne||ne.length===0?(D(u,[],!0),D(m,[],!0),D(d,Ne({key:"noResultsMessage",lang:v(S)}),!0),it(ot.NO_RESULTS_FOUND,v(I),{query:F})):(D(u,ne,!0),it(ot.SEARCH_RESULTS_DISPLAYED,v(I),{results_count:ne.length,results:ne,query:F}))}catch(ne){D(u,[],!0),console.error("[wineater] search error:",ne),it(ot.ERROR_OCCURRED,v(I),{error_message:ne==null?void 0:ne.message,query:F}),_()}finally{D(l,!1)}}$n(async()=>{if(!v(u)||v(u).length===0){D(m,[],!0);return}try{const N=await y(v(u));v(u)&&v(u).length>0&&D(m,N,!0)}catch(N){console.error("translatePopupContent failed",N)}});function L(N,F){v(c)&&v(c)!==N.id&&D(c,null),D(c,N.id,!0),it(ot.WINE_DETAILS_VIEWED,v(I),{wine_id:N.id,wine_title:N.title,is_mobile:window.innerWidth<=768})}function Q(N,F){it(ot.BUY_BUTTON_CLICKED,v(I),{wine_id:N.id,wine_title:N.title,wine_url:N.url,is_mobile:window.innerWidth<=768})}function U(){const N=v(u).find(F=>F.id===v(c));it(ot.WINE_DETAILS_CLOSED,v(I),{wine_id:v(c),wine_title:N.title}),D(c,null)}function B(N){return!!(N.reason||N.shortDescription||N.tags)}function J(N){r==="store"&&B(N)&&(D(f,N.id,!0),it(ot.WINE_CARD_HOVER,v(I),{wine_id:N.id,wine_title:N.title}))}function te(N){r==="store"&&v(f)===N.id&&D(f,null)}function R(N,F){N.target.closest(".js-WineTileAction")||N.target.closest(".js-WinePopupClose")||it(ot.WINE_CARD_CLICK,v(I),{wine_id:F.id,wine_title:F.title})}function Z(N){const F=N.target;F.closest(".js-WinePopup")||F.closest(".js-WineTileAction")||D(c,null)}$n(()=>{var N,F;(N=v(b))!=null&&N.brandColor&&document.documentElement.style.setProperty("--wr-brand-color",v(b).brandColor),(F=v(b))!=null&&F.wineaterColor&&document.documentElement.style.setProperty("--wr-wineater-color",v(b).wineaterColor)}),Ii(async()=>{if(await ve.initializeStore(),!!v(g))return D(b,ve.getUiConfig()),v(b).customCss&&wp(v(b).customCss),await E(),it(ot.WIDGET_INITIALIZED,v(I)),D(a,!0),document.addEventListener("click",Z),()=>{document.removeEventListener("click",Z)}});var C=Es(),A=Ft(C);{var ie=N=>{var F=_p(),ne=O(F);{var Qe=de=>{var Ue=bp(),fs=O(Ue);K(()=>Ce(fs,"src",v(b).logoUrl)),M(de,Ue)};ue(ne,de=>{v(b).logoUrl&&de(Qe)})}var Pe=q(ne,2);Mf(Pe,{});var bt=q(Pe,2);Vf(bt,{onSubmit:j,get initialized(){return v(a)},get searchQuery(){return v(h)},set searchQuery(de){D(h,de,!0)}});var Ze=q(bt,2);{var Kn=de=>{Xf(de)};ue(Ze,de=>{v(l)&&de(Kn)})}var Xt=q(Ze,2),Tr=O(Xt);{var si=de=>{var Ue=yp(),fs=O(Ue),xr=O(fs);K(()=>ee(xr,v(d))),M(de,Ue)},ii=de=>{var Ue=Sp();En(Ue,21,()=>v(u),xn,(fs,xr,vl)=>{vp(fs,{get wine(){return v(xr)},index:vl,get hoveredWineId(){return v(f)},get selectedWineId(){return v(c)},get isAnimating(){return v(p)},get translatedPopup(){return v(m)[vl]},onBuyClick:L,onBuyLinkClick:Q,onPopupClose:U,onTileEnter:J,onTileLeave:te,onTileClick:R})}),M(de,Ue)};ue(Tr,de=>{v(d)?de(si):v(u)&&v(u).length>0&&de(ii,1)})}var ml=q(Xt,2);Wf(ml,{get countryCode(){return o}}),M(N,F)};ue(A,N=>{v(g)&&N(ie)})}M(t,C),At()}return Lc(Tp,{target:document.getElementById("wineater-widget-conteiner")})});
|